diff --git a/.gitignore b/.gitignore index ec7a1292..bc473f65 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ .gobincache .go-helpers-installed /descriptor_set.pb +/experimentgen +/experimental-lint diff --git a/.gitmodules b/.gitmodules index c4a68cc4..ce7adf11 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,7 @@ [submodule "proto/api"] path = proto/api url = https://github.com/temporalio/api + branch = stephanos/experimental-apis [submodule "proto/api-cloud"] path = proto/api-cloud url = https://github.com/temporalio/api-cloud diff --git a/Makefile b/Makefile index b05efe1a..9144c566 100644 --- a/Makefile +++ b/Makefile @@ -25,9 +25,13 @@ PINNED_DEPENDENCIES := \ PROTO_ROOT := proto/api PROTO_OUT := . +API_NEXT_PROTO_ROOT := $(PROTO_ROOT)/temporal/api_next +API_NEXT_OUT := api_next +API_NEXT_SOURCE_ROOT := $(API_NEXT_OUT)/.source PROTO_IMPORTS = \ -I=$(PROTO_ROOT) PROTO_PATHS = paths=source_relative:$(PROTO_OUT) +API_NEXT_PROTO_PATHS = paths=source_relative:$(API_NEXT_OUT) OAPI_ROOT := $(PROTO_ROOT)/openapi OAPI_OUT := temporalproto/openapi @@ -41,7 +45,11 @@ update-proto-submodule: git -c protocol.file.allow=always submodule update --init --force --remote $(PROTO_ROOT) ##### Compile proto files for go ##### -grpc: http-api-docs go-grpc copy-helpers +stable-api: + printf $(COLOR) "Generate stable temporal/api protos from temporal/api_next..." + (cd $(PROTO_ROOT)/cmd/generate-stable-api && go run .) + +grpc: stable-api http-api-docs go-grpc copy-helpers api-next # Only install helper when its source has changed HELPER_FILES = $(shell find ./cmd/protoc-gen-go-helpers) @@ -50,7 +58,7 @@ HELPER_FILES = $(shell find ./cmd/protoc-gen-go-helpers) @go install ./cmd/protoc-gen-go-helpers @touch $@ -go-grpc: clean .go-helpers-installed $(PROTO_OUT) +go-grpc: stable-api clean .go-helpers-installed $(PROTO_OUT) printf $(COLOR) "Compile for go-gRPC..." go run ./cmd/protogen \ --root=$(PROTO_ROOT) \ @@ -63,7 +71,6 @@ go-grpc: clean .go-helpers-installed $(PROTO_OUT) # cp is safer than mv because mv cannot merge into existing directories cp -rf $(PROTO_OUT)/temporal/api/* $(PROTO_OUT) && rm -rf $(PROTO_OUT)/temporal - http-api-docs: go-grpc go run cmd/encode-openapi-spec/main.go \ -v2=$(OAPI_ROOT)/openapiv2.json \ @@ -93,17 +100,45 @@ goimports: printf $(COLOR) "Run goimports..." goimports -w $(PROTO_OUT) -gen-proto-desc: +gen-proto-desc: stable-api printf $(COLOR) "Generating proto descriptors..." go run ./cmd/protogen \ --root=$(PROTO_ROOT) \ --output=$(PROTO_OUT) \ --exclude=internal \ --exclude=proto/api/google \ - --no-rewrite-enum-const \ --no-rewrite-enum-string \ --output-descriptor=$(PROTO_OUT)/descriptor_set.pb +api-next: stable-api .go-helpers-installed mockgen-install + printf $(COLOR) "Compile api_next module..." + rm -rf $(API_NEXT_OUT) + mkdir -p $(API_NEXT_OUT) $(API_NEXT_SOURCE_ROOT)/temporal + cp -R $(API_NEXT_PROTO_ROOT) $(API_NEXT_SOURCE_ROOT)/temporal/api + find $(API_NEXT_SOURCE_ROOT) -name "*.proto" -exec perl -pi -e 's#temporal/api_next/#temporal/api/#g' {} + + go run ./cmd/protogen \ + --root=$(API_NEXT_SOURCE_ROOT)/temporal/api \ + --output=$(API_NEXT_OUT) \ + -I=$(API_NEXT_SOURCE_ROOT) \ + -I=$(PROTO_ROOT) \ + --exclude=internal \ + --no-rewrite-enum-string \ + -p go-grpc_out=$(API_NEXT_PROTO_PATHS) \ + -p grpc-gateway_out=allow_patch_feature=false,$(API_NEXT_PROTO_PATHS) \ + -p go-helpers_out=$(API_NEXT_PROTO_PATHS) + cp -rf $(API_NEXT_OUT)/temporal/api/* $(API_NEXT_OUT) && rm -rf $(API_NEXT_OUT)/temporal $(API_NEXT_SOURCE_ROOT) + cp -R internal serviceerror temporalproto proxy workflowservicemock operatorservicemock $(API_NEXT_OUT)/ + cp common/v1/payload_json.go $(API_NEXT_OUT)/common/v1/ + find $(API_NEXT_OUT) -name "*_test.go" -delete + printf "module go.temporal.io/api\n\ngo $$(awk '/^go / { print $$2 }' go.mod)\n\nrequire (\\n\tgoogle.golang.org/grpc v1.66.0\\n\tgoogle.golang.org/protobuf v1.36.5\\n)\\n" > $(API_NEXT_OUT)/go.mod + (cd $(API_NEXT_OUT) && mockgen -package operatorservicemock -imports operatorservice=go.temporal.io/api/operatorservice/v1 -source operatorservice/v1/service_grpc.pb.go -destination operatorservicemock/v1/service_grpc.pb.mock.go) + (cd $(API_NEXT_OUT) && mockgen -package workflowservicemock -imports workflowservice=go.temporal.io/api/workflowservice/v1 -source workflowservice/v1/service_grpc.pb.go -destination workflowservicemock/v1/service_grpc.pb.mock.go) + perl -pi -e 's#v1 "go.temporal.io/api/operatorservice/v1"#operatorservice "go.temporal.io/api/operatorservice/v1"#; s/v1\./operatorservice./g' $(API_NEXT_OUT)/operatorservicemock/v1/service_grpc.pb.mock.go + perl -pi -e 's#v1 "go.temporal.io/api/workflowservice/v1"#workflowservice "go.temporal.io/api/workflowservice/v1"#; s/v1\./workflowservice./g' $(API_NEXT_OUT)/workflowservicemock/v1/service_grpc.pb.mock.go + go run ./cmd/mockgen-fix OperatorService $(API_NEXT_OUT)/operatorservicemock/v1/service_grpc.pb.mock.go + go run ./cmd/mockgen-fix WorkflowService $(API_NEXT_OUT)/workflowservicemock/v1/service_grpc.pb.mock.go + (cd $(API_NEXT_OUT) && go mod tidy) + ##### Plugins & tools ##### grpc-install: @printf $(COLOR) "Install/update grpc and plugins..." diff --git a/api_next/activity/v1/message.go-helpers.pb.go b/api_next/activity/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..8f6056e7 --- /dev/null +++ b/api_next/activity/v1/message.go-helpers.pb.go @@ -0,0 +1,191 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package activity + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ActivityExecutionOutcome to the protobuf v3 wire format +func (val *ActivityExecutionOutcome) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityExecutionOutcome from the protobuf v3 wire format +func (val *ActivityExecutionOutcome) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityExecutionOutcome) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityExecutionOutcome values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityExecutionOutcome) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityExecutionOutcome + switch t := that.(type) { + case *ActivityExecutionOutcome: + that1 = t + case ActivityExecutionOutcome: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityOptions to the protobuf v3 wire format +func (val *ActivityOptions) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityOptions from the protobuf v3 wire format +func (val *ActivityOptions) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityOptions) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityOptions values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityOptions) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityOptions + switch t := that.(type) { + case *ActivityOptions: + that1 = t + case ActivityOptions: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityExecutionInfo to the protobuf v3 wire format +func (val *ActivityExecutionInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityExecutionInfo from the protobuf v3 wire format +func (val *ActivityExecutionInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityExecutionInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityExecutionInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityExecutionInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityExecutionInfo + switch t := that.(type) { + case *ActivityExecutionInfo: + that1 = t + case ActivityExecutionInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityExecutionListInfo to the protobuf v3 wire format +func (val *ActivityExecutionListInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityExecutionListInfo from the protobuf v3 wire format +func (val *ActivityExecutionListInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityExecutionListInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityExecutionListInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityExecutionListInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityExecutionListInfo + switch t := that.(type) { + case *ActivityExecutionListInfo: + that1 = t + case ActivityExecutionListInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CallbackInfo to the protobuf v3 wire format +func (val *CallbackInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CallbackInfo from the protobuf v3 wire format +func (val *CallbackInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CallbackInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CallbackInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CallbackInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CallbackInfo + switch t := that.(type) { + case *CallbackInfo: + that1 = t + case CallbackInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/activity/v1/message.pb.go b/api_next/activity/v1/message.pb.go new file mode 100644 index 00000000..6b3917ac --- /dev/null +++ b/api_next/activity/v1/message.pb.go @@ -0,0 +1,1094 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/activity/v1/message.proto + +package activity + +import ( + v16 "go.temporal.io/api/callback/v1" + v1 "go.temporal.io/api/common/v1" + v14 "go.temporal.io/api/deployment/v1" + v13 "go.temporal.io/api/enums/v1" + v11 "go.temporal.io/api/failure/v1" + v15 "go.temporal.io/api/sdk/v1" + v12 "go.temporal.io/api/taskqueue/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The outcome of a completed activity execution: either a successful result or a failure. +type ActivityExecutionOutcome struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Value: + // + // *ActivityExecutionOutcome_Result + // *ActivityExecutionOutcome_Failure + Value isActivityExecutionOutcome_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityExecutionOutcome) Reset() { + *x = ActivityExecutionOutcome{} + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityExecutionOutcome) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityExecutionOutcome) ProtoMessage() {} + +func (x *ActivityExecutionOutcome) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityExecutionOutcome.ProtoReflect.Descriptor instead. +func (*ActivityExecutionOutcome) Descriptor() ([]byte, []int) { + return file_temporal_api_activity_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *ActivityExecutionOutcome) GetValue() isActivityExecutionOutcome_Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *ActivityExecutionOutcome) GetResult() *v1.Payloads { + if x != nil { + if x, ok := x.Value.(*ActivityExecutionOutcome_Result); ok { + return x.Result + } + } + return nil +} + +func (x *ActivityExecutionOutcome) GetFailure() *v11.Failure { + if x != nil { + if x, ok := x.Value.(*ActivityExecutionOutcome_Failure); ok { + return x.Failure + } + } + return nil +} + +type isActivityExecutionOutcome_Value interface { + isActivityExecutionOutcome_Value() +} + +type ActivityExecutionOutcome_Result struct { + // The result if the activity completed successfully. + Result *v1.Payloads `protobuf:"bytes,1,opt,name=result,proto3,oneof"` +} + +type ActivityExecutionOutcome_Failure struct { + // The failure if the activity completed unsuccessfully. + Failure *v11.Failure `protobuf:"bytes,2,opt,name=failure,proto3,oneof"` +} + +func (*ActivityExecutionOutcome_Result) isActivityExecutionOutcome_Value() {} + +func (*ActivityExecutionOutcome_Failure) isActivityExecutionOutcome_Value() {} + +type ActivityOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + TaskQueue *v12.TaskQueue `protobuf:"bytes,1,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Indicates how long the caller is willing to wait for an activity completion. Limits how long + // retries will be attempted. Either this or `start_to_close_timeout` must be specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Limits time an activity task can stay in a task queue before a worker picks it up. This + // timeout is always non retryable, as all a retry would achieve is to put it back into the same + // queue. Defaults to `schedule_to_close_timeout` or workflow execution timeout if not + // specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,3,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Maximum time an activity is allowed to execute after being picked up by a worker. This + // timeout is always retryable. Either this or `schedule_to_close_timeout` must be + // specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,4,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + // Maximum permitted time between successful worker heartbeats. + HeartbeatTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=heartbeat_timeout,json=heartbeatTimeout,proto3" json:"heartbeat_timeout,omitempty"` + // The retry policy for the activity. Will never exceed `schedule_to_close_timeout`. + RetryPolicy *v1.RetryPolicy `protobuf:"bytes,6,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // Priority metadata. If this message is not present, or any fields are not + // present, they inherit the values from the workflow. + Priority *v1.Priority `protobuf:"bytes,7,opt,name=priority,proto3" json:"priority,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityOptions) Reset() { + *x = ActivityOptions{} + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityOptions) ProtoMessage() {} + +func (x *ActivityOptions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityOptions.ProtoReflect.Descriptor instead. +func (*ActivityOptions) Descriptor() ([]byte, []int) { + return file_temporal_api_activity_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *ActivityOptions) GetTaskQueue() *v12.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *ActivityOptions) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *ActivityOptions) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *ActivityOptions) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +func (x *ActivityOptions) GetHeartbeatTimeout() *durationpb.Duration { + if x != nil { + return x.HeartbeatTimeout + } + return nil +} + +func (x *ActivityOptions) GetRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *ActivityOptions) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +// Information about a standalone activity. +type ActivityExecutionInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unique identifier of this activity within its namespace along with run ID (below). + ActivityId string `protobuf:"bytes,1,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The type of the activity, a string that maps to a registered activity on a worker. + ActivityType *v1.ActivityType `protobuf:"bytes,3,opt,name=activity_type,json=activityType,proto3" json:"activity_type,omitempty"` + // A general status for this activity, indicates whether it is currently running or in one of the terminal statuses. + Status v13.ActivityExecutionStatus `protobuf:"varint,4,opt,name=status,proto3,enum=temporal.api.enums.v1.ActivityExecutionStatus" json:"status,omitempty"` + // More detailed breakdown of ACTIVITY_EXECUTION_STATUS_RUNNING. + RunState v13.PendingActivityState `protobuf:"varint,5,opt,name=run_state,json=runState,proto3,enum=temporal.api.enums.v1.PendingActivityState" json:"run_state,omitempty"` + TaskQueue string `protobuf:"bytes,6,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Indicates how long the caller is willing to wait for an activity completion. Limits how long + // retries will be attempted. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Limits time an activity task can stay in a task queue before a worker picks it up. This + // timeout is always non retryable, as all a retry would achieve is to put it back into the same + // queue. Defaults to `schedule_to_close_timeout`. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Maximum time a single activity attempt is allowed to execute after being picked up by a worker. This + // timeout is always retryable. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,9,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + // Maximum permitted time between successful worker heartbeats. + HeartbeatTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=heartbeat_timeout,json=heartbeatTimeout,proto3" json:"heartbeat_timeout,omitempty"` + // The retry policy for the activity. Will never exceed `schedule_to_close_timeout`. + RetryPolicy *v1.RetryPolicy `protobuf:"bytes,11,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // Details provided in the last recorded activity heartbeat. + HeartbeatDetails *v1.Payloads `protobuf:"bytes,12,opt,name=heartbeat_details,json=heartbeatDetails,proto3" json:"heartbeat_details,omitempty"` + // Time the last heartbeat was recorded. + LastHeartbeatTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=last_heartbeat_time,json=lastHeartbeatTime,proto3" json:"last_heartbeat_time,omitempty"` + // Time the last attempt was started. + LastStartedTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=last_started_time,json=lastStartedTime,proto3" json:"last_started_time,omitempty"` + // The attempt this activity is currently on. Incremented each time a new attempt is scheduled. + Attempt int32 `protobuf:"varint,15,opt,name=attempt,proto3" json:"attempt,omitempty"` + // How long this activity has been running for, including all attempts and backoff between attempts. + ExecutionDuration *durationpb.Duration `protobuf:"bytes,16,opt,name=execution_duration,json=executionDuration,proto3" json:"execution_duration,omitempty"` + // Time the activity was originally scheduled via a StartActivityExecution request. + ScheduleTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"` + // Scheduled time + schedule to close timeout. + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + // Time when the activity transitioned to a closed state. + CloseTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"` + // Failure details from the last failed attempt. + LastFailure *v11.Failure `protobuf:"bytes,20,opt,name=last_failure,json=lastFailure,proto3" json:"last_failure,omitempty"` + LastWorkerIdentity string `protobuf:"bytes,21,opt,name=last_worker_identity,json=lastWorkerIdentity,proto3" json:"last_worker_identity,omitempty"` + // Time from the last attempt failure to the next activity retry. + // If the activity is currently running, this represents the next retry interval in case the attempt fails. + // If activity is currently backing off between attempt, this represents the current retry interval. + // If there is no next retry allowed, this field will be null. + // This interval is typically calculated from the specified retry policy, but may be modified if an activity fails + // with a retryable application failure specifying a retry delay. + CurrentRetryInterval *durationpb.Duration `protobuf:"bytes,22,opt,name=current_retry_interval,json=currentRetryInterval,proto3" json:"current_retry_interval,omitempty"` + // The time when the last activity attempt completed. If activity has not been completed yet, it will be null. + LastAttemptCompleteTime *timestamppb.Timestamp `protobuf:"bytes,23,opt,name=last_attempt_complete_time,json=lastAttemptCompleteTime,proto3" json:"last_attempt_complete_time,omitempty"` + // The time when the next activity attempt will be scheduled. + // If activity is currently scheduled or started, this field will be null. + NextAttemptScheduleTime *timestamppb.Timestamp `protobuf:"bytes,24,opt,name=next_attempt_schedule_time,json=nextAttemptScheduleTime,proto3" json:"next_attempt_schedule_time,omitempty"` + // The Worker Deployment Version this activity was dispatched to most recently. + // If nil, the activity has not yet been dispatched or was last dispatched to an unversioned worker. + LastDeploymentVersion *v14.WorkerDeploymentVersion `protobuf:"bytes,25,opt,name=last_deployment_version,json=lastDeploymentVersion,proto3" json:"last_deployment_version,omitempty"` + // Priority metadata. + Priority *v1.Priority `protobuf:"bytes,26,opt,name=priority,proto3" json:"priority,omitempty"` + // Incremented each time the activity's state is mutated in persistence. + StateTransitionCount int64 `protobuf:"varint,27,opt,name=state_transition_count,json=stateTransitionCount,proto3" json:"state_transition_count,omitempty"` + // Updated once on scheduled and once on terminal status. + StateSizeBytes int64 `protobuf:"varint,28,opt,name=state_size_bytes,json=stateSizeBytes,proto3" json:"state_size_bytes,omitempty"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,29,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + Header *v1.Header `protobuf:"bytes,30,opt,name=header,proto3" json:"header,omitempty"` + // Metadata for use by user interfaces to display the fixed as-of-start summary and details of the activity. + UserMetadata *v15.UserMetadata `protobuf:"bytes,31,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + // Set if activity cancelation was requested. + CanceledReason string `protobuf:"bytes,32,opt,name=canceled_reason,json=canceledReason,proto3" json:"canceled_reason,omitempty"` + // Links to related entities, such as the entity that started this activity. + Links []*v1.Link `protobuf:"bytes,33,rep,name=links,proto3" json:"links,omitempty"` + // Total number of heartbeats recorded across all attempts of this activity, including retries. + TotalHeartbeatCount int64 `protobuf:"varint,34,opt,name=total_heartbeat_count,json=totalHeartbeatCount,proto3" json:"total_heartbeat_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityExecutionInfo) Reset() { + *x = ActivityExecutionInfo{} + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityExecutionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityExecutionInfo) ProtoMessage() {} + +func (x *ActivityExecutionInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityExecutionInfo.ProtoReflect.Descriptor instead. +func (*ActivityExecutionInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_activity_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *ActivityExecutionInfo) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *ActivityExecutionInfo) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *ActivityExecutionInfo) GetActivityType() *v1.ActivityType { + if x != nil { + return x.ActivityType + } + return nil +} + +func (x *ActivityExecutionInfo) GetStatus() v13.ActivityExecutionStatus { + if x != nil { + return x.Status + } + return v13.ActivityExecutionStatus(0) +} + +func (x *ActivityExecutionInfo) GetRunState() v13.PendingActivityState { + if x != nil { + return x.RunState + } + return v13.PendingActivityState(0) +} + +func (x *ActivityExecutionInfo) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *ActivityExecutionInfo) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *ActivityExecutionInfo) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *ActivityExecutionInfo) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +func (x *ActivityExecutionInfo) GetHeartbeatTimeout() *durationpb.Duration { + if x != nil { + return x.HeartbeatTimeout + } + return nil +} + +func (x *ActivityExecutionInfo) GetRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *ActivityExecutionInfo) GetHeartbeatDetails() *v1.Payloads { + if x != nil { + return x.HeartbeatDetails + } + return nil +} + +func (x *ActivityExecutionInfo) GetLastHeartbeatTime() *timestamppb.Timestamp { + if x != nil { + return x.LastHeartbeatTime + } + return nil +} + +func (x *ActivityExecutionInfo) GetLastStartedTime() *timestamppb.Timestamp { + if x != nil { + return x.LastStartedTime + } + return nil +} + +func (x *ActivityExecutionInfo) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *ActivityExecutionInfo) GetExecutionDuration() *durationpb.Duration { + if x != nil { + return x.ExecutionDuration + } + return nil +} + +func (x *ActivityExecutionInfo) GetScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduleTime + } + return nil +} + +func (x *ActivityExecutionInfo) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *ActivityExecutionInfo) GetCloseTime() *timestamppb.Timestamp { + if x != nil { + return x.CloseTime + } + return nil +} + +func (x *ActivityExecutionInfo) GetLastFailure() *v11.Failure { + if x != nil { + return x.LastFailure + } + return nil +} + +func (x *ActivityExecutionInfo) GetLastWorkerIdentity() string { + if x != nil { + return x.LastWorkerIdentity + } + return "" +} + +func (x *ActivityExecutionInfo) GetCurrentRetryInterval() *durationpb.Duration { + if x != nil { + return x.CurrentRetryInterval + } + return nil +} + +func (x *ActivityExecutionInfo) GetLastAttemptCompleteTime() *timestamppb.Timestamp { + if x != nil { + return x.LastAttemptCompleteTime + } + return nil +} + +func (x *ActivityExecutionInfo) GetNextAttemptScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.NextAttemptScheduleTime + } + return nil +} + +func (x *ActivityExecutionInfo) GetLastDeploymentVersion() *v14.WorkerDeploymentVersion { + if x != nil { + return x.LastDeploymentVersion + } + return nil +} + +func (x *ActivityExecutionInfo) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *ActivityExecutionInfo) GetStateTransitionCount() int64 { + if x != nil { + return x.StateTransitionCount + } + return 0 +} + +func (x *ActivityExecutionInfo) GetStateSizeBytes() int64 { + if x != nil { + return x.StateSizeBytes + } + return 0 +} + +func (x *ActivityExecutionInfo) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *ActivityExecutionInfo) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *ActivityExecutionInfo) GetUserMetadata() *v15.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +func (x *ActivityExecutionInfo) GetCanceledReason() string { + if x != nil { + return x.CanceledReason + } + return "" +} + +func (x *ActivityExecutionInfo) GetLinks() []*v1.Link { + if x != nil { + return x.Links + } + return nil +} + +func (x *ActivityExecutionInfo) GetTotalHeartbeatCount() int64 { + if x != nil { + return x.TotalHeartbeatCount + } + return 0 +} + +// Limited activity information returned in the list response. +// When adding fields here, ensure that it is also present in ActivityExecutionInfo (note that it +// may already be present in ActivityExecutionInfo but not at the top-level). +type ActivityExecutionListInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A unique identifier of this activity within its namespace along with run ID (below). + ActivityId string `protobuf:"bytes,1,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // The run ID of the standalone activity. + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The type of the activity, a string that maps to a registered activity on a worker. + ActivityType *v1.ActivityType `protobuf:"bytes,3,opt,name=activity_type,json=activityType,proto3" json:"activity_type,omitempty"` + // Time the activity was originally scheduled via a StartActivityExecution request. + ScheduleTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"` + // If the activity is in a terminal status, this field represents the time the activity transitioned to that status. + CloseTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"` + // Only scheduled and terminal statuses appear here. More detailed information in PendingActivityInfo but not + // available in the list response. + Status v13.ActivityExecutionStatus `protobuf:"varint,6,opt,name=status,proto3,enum=temporal.api.enums.v1.ActivityExecutionStatus" json:"status,omitempty"` + // Search attributes from the start request. + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,7,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // The task queue this activity was scheduled on when it was originally started, updated on activity options update. + TaskQueue string `protobuf:"bytes,8,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Updated on terminal status. + StateTransitionCount int64 `protobuf:"varint,9,opt,name=state_transition_count,json=stateTransitionCount,proto3" json:"state_transition_count,omitempty"` + // Updated once on scheduled and once on terminal status. + StateSizeBytes int64 `protobuf:"varint,10,opt,name=state_size_bytes,json=stateSizeBytes,proto3" json:"state_size_bytes,omitempty"` + // The difference between close time and scheduled time. + // This field is only populated if the activity is closed. + ExecutionDuration *durationpb.Duration `protobuf:"bytes,11,opt,name=execution_duration,json=executionDuration,proto3" json:"execution_duration,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityExecutionListInfo) Reset() { + *x = ActivityExecutionListInfo{} + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityExecutionListInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityExecutionListInfo) ProtoMessage() {} + +func (x *ActivityExecutionListInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityExecutionListInfo.ProtoReflect.Descriptor instead. +func (*ActivityExecutionListInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_activity_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *ActivityExecutionListInfo) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *ActivityExecutionListInfo) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *ActivityExecutionListInfo) GetActivityType() *v1.ActivityType { + if x != nil { + return x.ActivityType + } + return nil +} + +func (x *ActivityExecutionListInfo) GetScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduleTime + } + return nil +} + +func (x *ActivityExecutionListInfo) GetCloseTime() *timestamppb.Timestamp { + if x != nil { + return x.CloseTime + } + return nil +} + +func (x *ActivityExecutionListInfo) GetStatus() v13.ActivityExecutionStatus { + if x != nil { + return x.Status + } + return v13.ActivityExecutionStatus(0) +} + +func (x *ActivityExecutionListInfo) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *ActivityExecutionListInfo) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *ActivityExecutionListInfo) GetStateTransitionCount() int64 { + if x != nil { + return x.StateTransitionCount + } + return 0 +} + +func (x *ActivityExecutionListInfo) GetStateSizeBytes() int64 { + if x != nil { + return x.StateSizeBytes + } + return 0 +} + +func (x *ActivityExecutionListInfo) GetExecutionDuration() *durationpb.Duration { + if x != nil { + return x.ExecutionDuration + } + return nil +} + +// CallbackInfo contains the state of an attached activity callback. +type CallbackInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Trigger for this callback. + Trigger *CallbackInfo_Trigger `protobuf:"bytes,1,opt,name=trigger,proto3" json:"trigger,omitempty"` + // Common callback info. + Info *v16.CallbackInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallbackInfo) Reset() { + *x = CallbackInfo{} + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallbackInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallbackInfo) ProtoMessage() {} + +func (x *CallbackInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallbackInfo.ProtoReflect.Descriptor instead. +func (*CallbackInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_activity_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *CallbackInfo) GetTrigger() *CallbackInfo_Trigger { + if x != nil { + return x.Trigger + } + return nil +} + +func (x *CallbackInfo) GetInfo() *v16.CallbackInfo { + if x != nil { + return x.Info + } + return nil +} + +// Trigger for when the activity is closed. +type CallbackInfo_ActivityClosed struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallbackInfo_ActivityClosed) Reset() { + *x = CallbackInfo_ActivityClosed{} + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallbackInfo_ActivityClosed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallbackInfo_ActivityClosed) ProtoMessage() {} + +func (x *CallbackInfo_ActivityClosed) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallbackInfo_ActivityClosed.ProtoReflect.Descriptor instead. +func (*CallbackInfo_ActivityClosed) Descriptor() ([]byte, []int) { + return file_temporal_api_activity_v1_message_proto_rawDescGZIP(), []int{4, 0} +} + +type CallbackInfo_Trigger struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Variant: + // + // *CallbackInfo_Trigger_ActivityClosed + Variant isCallbackInfo_Trigger_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallbackInfo_Trigger) Reset() { + *x = CallbackInfo_Trigger{} + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallbackInfo_Trigger) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallbackInfo_Trigger) ProtoMessage() {} + +func (x *CallbackInfo_Trigger) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_activity_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallbackInfo_Trigger.ProtoReflect.Descriptor instead. +func (*CallbackInfo_Trigger) Descriptor() ([]byte, []int) { + return file_temporal_api_activity_v1_message_proto_rawDescGZIP(), []int{4, 1} +} + +func (x *CallbackInfo_Trigger) GetVariant() isCallbackInfo_Trigger_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *CallbackInfo_Trigger) GetActivityClosed() *CallbackInfo_ActivityClosed { + if x != nil { + if x, ok := x.Variant.(*CallbackInfo_Trigger_ActivityClosed); ok { + return x.ActivityClosed + } + } + return nil +} + +type isCallbackInfo_Trigger_Variant interface { + isCallbackInfo_Trigger_Variant() +} + +type CallbackInfo_Trigger_ActivityClosed struct { + ActivityClosed *CallbackInfo_ActivityClosed `protobuf:"bytes,1,opt,name=activity_closed,json=activityClosed,proto3,oneof"` +} + +func (*CallbackInfo_Trigger_ActivityClosed) isCallbackInfo_Trigger_Variant() {} + +var File_temporal_api_activity_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_activity_v1_message_proto_rawDesc = "" + + "\n" + + "&temporal/api/activity/v1/message.proto\x12\x18temporal.api.activity.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a(temporal/api/deployment/v1/message.proto\x1a$temporal/api/enums/v1/activity.proto\x1a&temporal/api/callback/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/api/failure/v1/message.proto\x1a'temporal/api/taskqueue/v1/message.proto\x1a'temporal/api/sdk/v1/user_metadata.proto\"\x9d\x01\n" + + "\x18ActivityExecutionOutcome\x12:\n" + + "\x06result\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsH\x00R\x06result\x12<\n" + + "\afailure\x18\x02 \x01(\v2 .temporal.api.failure.v1.FailureH\x00R\afailureB\a\n" + + "\x05value\"\xa0\x04\n" + + "\x0fActivityOptions\x12C\n" + + "\n" + + "task_queue\x18\x01 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x12T\n" + + "\x19schedule_to_close_timeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12T\n" + + "\x19schedule_to_start_timeout\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x12F\n" + + "\x11heartbeat_timeout\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\x10heartbeatTimeout\x12F\n" + + "\fretry_policy\x18\x06 \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12<\n" + + "\bpriority\x18\a \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\"\xcc\x11\n" + + "\x15ActivityExecutionInfo\x12\x1f\n" + + "\vactivity_id\x18\x01 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x02 \x01(\tR\x05runId\x12I\n" + + "\ractivity_type\x18\x03 \x01(\v2$.temporal.api.common.v1.ActivityTypeR\factivityType\x12F\n" + + "\x06status\x18\x04 \x01(\x0e2..temporal.api.enums.v1.ActivityExecutionStatusR\x06status\x12H\n" + + "\trun_state\x18\x05 \x01(\x0e2+.temporal.api.enums.v1.PendingActivityStateR\brunState\x12\x1d\n" + + "\n" + + "task_queue\x18\x06 \x01(\tR\ttaskQueue\x12T\n" + + "\x19schedule_to_close_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12T\n" + + "\x19schedule_to_start_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\t \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x12F\n" + + "\x11heartbeat_timeout\x18\n" + + " \x01(\v2\x19.google.protobuf.DurationR\x10heartbeatTimeout\x12F\n" + + "\fretry_policy\x18\v \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12M\n" + + "\x11heartbeat_details\x18\f \x01(\v2 .temporal.api.common.v1.PayloadsR\x10heartbeatDetails\x12J\n" + + "\x13last_heartbeat_time\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\x11lastHeartbeatTime\x12F\n" + + "\x11last_started_time\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\x0flastStartedTime\x12\x18\n" + + "\aattempt\x18\x0f \x01(\x05R\aattempt\x12H\n" + + "\x12execution_duration\x18\x10 \x01(\v2\x19.google.protobuf.DurationR\x11executionDuration\x12?\n" + + "\rschedule_time\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\fscheduleTime\x12C\n" + + "\x0fexpiration_time\x18\x12 \x01(\v2\x1a.google.protobuf.TimestampR\x0eexpirationTime\x129\n" + + "\n" + + "close_time\x18\x13 \x01(\v2\x1a.google.protobuf.TimestampR\tcloseTime\x12C\n" + + "\flast_failure\x18\x14 \x01(\v2 .temporal.api.failure.v1.FailureR\vlastFailure\x120\n" + + "\x14last_worker_identity\x18\x15 \x01(\tR\x12lastWorkerIdentity\x12O\n" + + "\x16current_retry_interval\x18\x16 \x01(\v2\x19.google.protobuf.DurationR\x14currentRetryInterval\x12W\n" + + "\x1alast_attempt_complete_time\x18\x17 \x01(\v2\x1a.google.protobuf.TimestampR\x17lastAttemptCompleteTime\x12W\n" + + "\x1anext_attempt_schedule_time\x18\x18 \x01(\v2\x1a.google.protobuf.TimestampR\x17nextAttemptScheduleTime\x12k\n" + + "\x17last_deployment_version\x18\x19 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x15lastDeploymentVersion\x12<\n" + + "\bpriority\x18\x1a \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x124\n" + + "\x16state_transition_count\x18\x1b \x01(\x03R\x14stateTransitionCount\x12(\n" + + "\x10state_size_bytes\x18\x1c \x01(\x03R\x0estateSizeBytes\x12U\n" + + "\x11search_attributes\x18\x1d \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x126\n" + + "\x06header\x18\x1e \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12F\n" + + "\ruser_metadata\x18\x1f \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\x12'\n" + + "\x0fcanceled_reason\x18 \x01(\tR\x0ecanceledReason\x122\n" + + "\x05links\x18! \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\x122\n" + + "\x15total_heartbeat_count\x18\" \x01(\x03R\x13totalHeartbeatCount\"\x82\x05\n" + + "\x19ActivityExecutionListInfo\x12\x1f\n" + + "\vactivity_id\x18\x01 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x02 \x01(\tR\x05runId\x12I\n" + + "\ractivity_type\x18\x03 \x01(\v2$.temporal.api.common.v1.ActivityTypeR\factivityType\x12?\n" + + "\rschedule_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\fscheduleTime\x129\n" + + "\n" + + "close_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcloseTime\x12F\n" + + "\x06status\x18\x06 \x01(\x0e2..temporal.api.enums.v1.ActivityExecutionStatusR\x06status\x12U\n" + + "\x11search_attributes\x18\a \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12\x1d\n" + + "\n" + + "task_queue\x18\b \x01(\tR\ttaskQueue\x124\n" + + "\x16state_transition_count\x18\t \x01(\x03R\x14stateTransitionCount\x12(\n" + + "\x10state_size_bytes\x18\n" + + " \x01(\x03R\x0estateSizeBytes\x12H\n" + + "\x12execution_duration\x18\v \x01(\v2\x19.google.protobuf.DurationR\x11executionDuration\"\x9e\x02\n" + + "\fCallbackInfo\x12H\n" + + "\atrigger\x18\x01 \x01(\v2..temporal.api.activity.v1.CallbackInfo.TriggerR\atrigger\x12:\n" + + "\x04info\x18\x02 \x01(\v2&.temporal.api.callback.v1.CallbackInfoR\x04info\x1a\x10\n" + + "\x0eActivityClosed\x1av\n" + + "\aTrigger\x12`\n" + + "\x0factivity_closed\x18\x01 \x01(\v25.temporal.api.activity.v1.CallbackInfo.ActivityClosedH\x00R\x0eactivityClosedB\t\n" + + "\avariantB\x93\x01\n" + + "\x1bio.temporal.api.activity.v1B\fMessageProtoP\x01Z'go.temporal.io/api/activity/v1;activity\xaa\x02\x1aTemporalio.Api.Activity.V1\xea\x02\x1dTemporalio::Api::Activity::V1b\x06proto3" + +var ( + file_temporal_api_activity_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_activity_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_activity_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_activity_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_activity_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_activity_v1_message_proto_rawDesc), len(file_temporal_api_activity_v1_message_proto_rawDesc))) + }) + return file_temporal_api_activity_v1_message_proto_rawDescData +} + +var file_temporal_api_activity_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_temporal_api_activity_v1_message_proto_goTypes = []any{ + (*ActivityExecutionOutcome)(nil), // 0: temporal.api.activity.v1.ActivityExecutionOutcome + (*ActivityOptions)(nil), // 1: temporal.api.activity.v1.ActivityOptions + (*ActivityExecutionInfo)(nil), // 2: temporal.api.activity.v1.ActivityExecutionInfo + (*ActivityExecutionListInfo)(nil), // 3: temporal.api.activity.v1.ActivityExecutionListInfo + (*CallbackInfo)(nil), // 4: temporal.api.activity.v1.CallbackInfo + (*CallbackInfo_ActivityClosed)(nil), // 5: temporal.api.activity.v1.CallbackInfo.ActivityClosed + (*CallbackInfo_Trigger)(nil), // 6: temporal.api.activity.v1.CallbackInfo.Trigger + (*v1.Payloads)(nil), // 7: temporal.api.common.v1.Payloads + (*v11.Failure)(nil), // 8: temporal.api.failure.v1.Failure + (*v12.TaskQueue)(nil), // 9: temporal.api.taskqueue.v1.TaskQueue + (*durationpb.Duration)(nil), // 10: google.protobuf.Duration + (*v1.RetryPolicy)(nil), // 11: temporal.api.common.v1.RetryPolicy + (*v1.Priority)(nil), // 12: temporal.api.common.v1.Priority + (*v1.ActivityType)(nil), // 13: temporal.api.common.v1.ActivityType + (v13.ActivityExecutionStatus)(0), // 14: temporal.api.enums.v1.ActivityExecutionStatus + (v13.PendingActivityState)(0), // 15: temporal.api.enums.v1.PendingActivityState + (*timestamppb.Timestamp)(nil), // 16: google.protobuf.Timestamp + (*v14.WorkerDeploymentVersion)(nil), // 17: temporal.api.deployment.v1.WorkerDeploymentVersion + (*v1.SearchAttributes)(nil), // 18: temporal.api.common.v1.SearchAttributes + (*v1.Header)(nil), // 19: temporal.api.common.v1.Header + (*v15.UserMetadata)(nil), // 20: temporal.api.sdk.v1.UserMetadata + (*v1.Link)(nil), // 21: temporal.api.common.v1.Link + (*v16.CallbackInfo)(nil), // 22: temporal.api.callback.v1.CallbackInfo +} +var file_temporal_api_activity_v1_message_proto_depIdxs = []int32{ + 7, // 0: temporal.api.activity.v1.ActivityExecutionOutcome.result:type_name -> temporal.api.common.v1.Payloads + 8, // 1: temporal.api.activity.v1.ActivityExecutionOutcome.failure:type_name -> temporal.api.failure.v1.Failure + 9, // 2: temporal.api.activity.v1.ActivityOptions.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 10, // 3: temporal.api.activity.v1.ActivityOptions.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 10, // 4: temporal.api.activity.v1.ActivityOptions.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 10, // 5: temporal.api.activity.v1.ActivityOptions.start_to_close_timeout:type_name -> google.protobuf.Duration + 10, // 6: temporal.api.activity.v1.ActivityOptions.heartbeat_timeout:type_name -> google.protobuf.Duration + 11, // 7: temporal.api.activity.v1.ActivityOptions.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 12, // 8: temporal.api.activity.v1.ActivityOptions.priority:type_name -> temporal.api.common.v1.Priority + 13, // 9: temporal.api.activity.v1.ActivityExecutionInfo.activity_type:type_name -> temporal.api.common.v1.ActivityType + 14, // 10: temporal.api.activity.v1.ActivityExecutionInfo.status:type_name -> temporal.api.enums.v1.ActivityExecutionStatus + 15, // 11: temporal.api.activity.v1.ActivityExecutionInfo.run_state:type_name -> temporal.api.enums.v1.PendingActivityState + 10, // 12: temporal.api.activity.v1.ActivityExecutionInfo.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 10, // 13: temporal.api.activity.v1.ActivityExecutionInfo.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 10, // 14: temporal.api.activity.v1.ActivityExecutionInfo.start_to_close_timeout:type_name -> google.protobuf.Duration + 10, // 15: temporal.api.activity.v1.ActivityExecutionInfo.heartbeat_timeout:type_name -> google.protobuf.Duration + 11, // 16: temporal.api.activity.v1.ActivityExecutionInfo.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 7, // 17: temporal.api.activity.v1.ActivityExecutionInfo.heartbeat_details:type_name -> temporal.api.common.v1.Payloads + 16, // 18: temporal.api.activity.v1.ActivityExecutionInfo.last_heartbeat_time:type_name -> google.protobuf.Timestamp + 16, // 19: temporal.api.activity.v1.ActivityExecutionInfo.last_started_time:type_name -> google.protobuf.Timestamp + 10, // 20: temporal.api.activity.v1.ActivityExecutionInfo.execution_duration:type_name -> google.protobuf.Duration + 16, // 21: temporal.api.activity.v1.ActivityExecutionInfo.schedule_time:type_name -> google.protobuf.Timestamp + 16, // 22: temporal.api.activity.v1.ActivityExecutionInfo.expiration_time:type_name -> google.protobuf.Timestamp + 16, // 23: temporal.api.activity.v1.ActivityExecutionInfo.close_time:type_name -> google.protobuf.Timestamp + 8, // 24: temporal.api.activity.v1.ActivityExecutionInfo.last_failure:type_name -> temporal.api.failure.v1.Failure + 10, // 25: temporal.api.activity.v1.ActivityExecutionInfo.current_retry_interval:type_name -> google.protobuf.Duration + 16, // 26: temporal.api.activity.v1.ActivityExecutionInfo.last_attempt_complete_time:type_name -> google.protobuf.Timestamp + 16, // 27: temporal.api.activity.v1.ActivityExecutionInfo.next_attempt_schedule_time:type_name -> google.protobuf.Timestamp + 17, // 28: temporal.api.activity.v1.ActivityExecutionInfo.last_deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 12, // 29: temporal.api.activity.v1.ActivityExecutionInfo.priority:type_name -> temporal.api.common.v1.Priority + 18, // 30: temporal.api.activity.v1.ActivityExecutionInfo.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 19, // 31: temporal.api.activity.v1.ActivityExecutionInfo.header:type_name -> temporal.api.common.v1.Header + 20, // 32: temporal.api.activity.v1.ActivityExecutionInfo.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 21, // 33: temporal.api.activity.v1.ActivityExecutionInfo.links:type_name -> temporal.api.common.v1.Link + 13, // 34: temporal.api.activity.v1.ActivityExecutionListInfo.activity_type:type_name -> temporal.api.common.v1.ActivityType + 16, // 35: temporal.api.activity.v1.ActivityExecutionListInfo.schedule_time:type_name -> google.protobuf.Timestamp + 16, // 36: temporal.api.activity.v1.ActivityExecutionListInfo.close_time:type_name -> google.protobuf.Timestamp + 14, // 37: temporal.api.activity.v1.ActivityExecutionListInfo.status:type_name -> temporal.api.enums.v1.ActivityExecutionStatus + 18, // 38: temporal.api.activity.v1.ActivityExecutionListInfo.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 10, // 39: temporal.api.activity.v1.ActivityExecutionListInfo.execution_duration:type_name -> google.protobuf.Duration + 6, // 40: temporal.api.activity.v1.CallbackInfo.trigger:type_name -> temporal.api.activity.v1.CallbackInfo.Trigger + 22, // 41: temporal.api.activity.v1.CallbackInfo.info:type_name -> temporal.api.callback.v1.CallbackInfo + 5, // 42: temporal.api.activity.v1.CallbackInfo.Trigger.activity_closed:type_name -> temporal.api.activity.v1.CallbackInfo.ActivityClosed + 43, // [43:43] is the sub-list for method output_type + 43, // [43:43] is the sub-list for method input_type + 43, // [43:43] is the sub-list for extension type_name + 43, // [43:43] is the sub-list for extension extendee + 0, // [0:43] is the sub-list for field type_name +} + +func init() { file_temporal_api_activity_v1_message_proto_init() } +func file_temporal_api_activity_v1_message_proto_init() { + if File_temporal_api_activity_v1_message_proto != nil { + return + } + file_temporal_api_activity_v1_message_proto_msgTypes[0].OneofWrappers = []any{ + (*ActivityExecutionOutcome_Result)(nil), + (*ActivityExecutionOutcome_Failure)(nil), + } + file_temporal_api_activity_v1_message_proto_msgTypes[6].OneofWrappers = []any{ + (*CallbackInfo_Trigger_ActivityClosed)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_activity_v1_message_proto_rawDesc), len(file_temporal_api_activity_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_activity_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_activity_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_activity_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_activity_v1_message_proto = out.File + file_temporal_api_activity_v1_message_proto_goTypes = nil + file_temporal_api_activity_v1_message_proto_depIdxs = nil +} diff --git a/api_next/batch/v1/message.go-helpers.pb.go b/api_next/batch/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..bce7fc4e --- /dev/null +++ b/api_next/batch/v1/message.go-helpers.pb.go @@ -0,0 +1,413 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package batch + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type BatchOperationInfo to the protobuf v3 wire format +func (val *BatchOperationInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationInfo from the protobuf v3 wire format +func (val *BatchOperationInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationInfo + switch t := that.(type) { + case *BatchOperationInfo: + that1 = t + case BatchOperationInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationTermination to the protobuf v3 wire format +func (val *BatchOperationTermination) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationTermination from the protobuf v3 wire format +func (val *BatchOperationTermination) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationTermination) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationTermination values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationTermination) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationTermination + switch t := that.(type) { + case *BatchOperationTermination: + that1 = t + case BatchOperationTermination: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationSignal to the protobuf v3 wire format +func (val *BatchOperationSignal) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationSignal from the protobuf v3 wire format +func (val *BatchOperationSignal) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationSignal) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationSignal values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationSignal) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationSignal + switch t := that.(type) { + case *BatchOperationSignal: + that1 = t + case BatchOperationSignal: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationCancellation to the protobuf v3 wire format +func (val *BatchOperationCancellation) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationCancellation from the protobuf v3 wire format +func (val *BatchOperationCancellation) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationCancellation) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationCancellation values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationCancellation) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationCancellation + switch t := that.(type) { + case *BatchOperationCancellation: + that1 = t + case BatchOperationCancellation: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationDeletion to the protobuf v3 wire format +func (val *BatchOperationDeletion) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationDeletion from the protobuf v3 wire format +func (val *BatchOperationDeletion) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationDeletion) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationDeletion values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationDeletion) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationDeletion + switch t := that.(type) { + case *BatchOperationDeletion: + that1 = t + case BatchOperationDeletion: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationReset to the protobuf v3 wire format +func (val *BatchOperationReset) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationReset from the protobuf v3 wire format +func (val *BatchOperationReset) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationReset) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationReset values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationReset) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationReset + switch t := that.(type) { + case *BatchOperationReset: + that1 = t + case BatchOperationReset: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationUpdateWorkflowExecutionOptions to the protobuf v3 wire format +func (val *BatchOperationUpdateWorkflowExecutionOptions) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationUpdateWorkflowExecutionOptions from the protobuf v3 wire format +func (val *BatchOperationUpdateWorkflowExecutionOptions) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationUpdateWorkflowExecutionOptions) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationUpdateWorkflowExecutionOptions values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationUpdateWorkflowExecutionOptions) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationUpdateWorkflowExecutionOptions + switch t := that.(type) { + case *BatchOperationUpdateWorkflowExecutionOptions: + that1 = t + case BatchOperationUpdateWorkflowExecutionOptions: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationUnpauseActivities to the protobuf v3 wire format +func (val *BatchOperationUnpauseActivities) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationUnpauseActivities from the protobuf v3 wire format +func (val *BatchOperationUnpauseActivities) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationUnpauseActivities) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationUnpauseActivities values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationUnpauseActivities) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationUnpauseActivities + switch t := that.(type) { + case *BatchOperationUnpauseActivities: + that1 = t + case BatchOperationUnpauseActivities: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationTriggerWorkflowRule to the protobuf v3 wire format +func (val *BatchOperationTriggerWorkflowRule) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationTriggerWorkflowRule from the protobuf v3 wire format +func (val *BatchOperationTriggerWorkflowRule) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationTriggerWorkflowRule) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationTriggerWorkflowRule values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationTriggerWorkflowRule) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationTriggerWorkflowRule + switch t := that.(type) { + case *BatchOperationTriggerWorkflowRule: + that1 = t + case BatchOperationTriggerWorkflowRule: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationResetActivities to the protobuf v3 wire format +func (val *BatchOperationResetActivities) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationResetActivities from the protobuf v3 wire format +func (val *BatchOperationResetActivities) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationResetActivities) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationResetActivities values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationResetActivities) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationResetActivities + switch t := that.(type) { + case *BatchOperationResetActivities: + that1 = t + case BatchOperationResetActivities: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BatchOperationUpdateActivityOptions to the protobuf v3 wire format +func (val *BatchOperationUpdateActivityOptions) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BatchOperationUpdateActivityOptions from the protobuf v3 wire format +func (val *BatchOperationUpdateActivityOptions) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BatchOperationUpdateActivityOptions) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BatchOperationUpdateActivityOptions values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BatchOperationUpdateActivityOptions) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BatchOperationUpdateActivityOptions + switch t := that.(type) { + case *BatchOperationUpdateActivityOptions: + that1 = t + case BatchOperationUpdateActivityOptions: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/batch/v1/message.pb.go b/api_next/batch/v1/message.pb.go new file mode 100644 index 00000000..927ddbd6 --- /dev/null +++ b/api_next/batch/v1/message.pb.go @@ -0,0 +1,1150 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/batch/v1/message.proto + +package batch + +import ( + v14 "go.temporal.io/api/activity/v1" + v11 "go.temporal.io/api/common/v1" + v1 "go.temporal.io/api/enums/v1" + v13 "go.temporal.io/api/rules/v1" + v12 "go.temporal.io/api/workflow/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type BatchOperationInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Batch job ID + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // Batch operation state + State v1.BatchOperationState `protobuf:"varint,2,opt,name=state,proto3,enum=temporal.api.enums.v1.BatchOperationState" json:"state,omitempty"` + // Batch operation start time + StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Batch operation close time + CloseTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationInfo) Reset() { + *x = BatchOperationInfo{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationInfo) ProtoMessage() {} + +func (x *BatchOperationInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationInfo.ProtoReflect.Descriptor instead. +func (*BatchOperationInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *BatchOperationInfo) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + +func (x *BatchOperationInfo) GetState() v1.BatchOperationState { + if x != nil { + return x.State + } + return v1.BatchOperationState(0) +} + +func (x *BatchOperationInfo) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *BatchOperationInfo) GetCloseTime() *timestamppb.Timestamp { + if x != nil { + return x.CloseTime + } + return nil +} + +// BatchOperationTermination sends terminate requests to batch workflows. +// Keep the parameter in sync with temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest. +// Ignore first_execution_run_id because this is used for single workflow operation. +type BatchOperationTermination struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Serialized value(s) to provide to the termination event + Details *v11.Payloads `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationTermination) Reset() { + *x = BatchOperationTermination{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationTermination) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationTermination) ProtoMessage() {} + +func (x *BatchOperationTermination) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationTermination.ProtoReflect.Descriptor instead. +func (*BatchOperationTermination) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *BatchOperationTermination) GetDetails() *v11.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *BatchOperationTermination) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +// BatchOperationSignal sends signals to batch workflows. +// Keep the parameter in sync with temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest. +type BatchOperationSignal struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The workflow author-defined name of the signal to send to the workflow + Signal string `protobuf:"bytes,1,opt,name=signal,proto3" json:"signal,omitempty"` + // Serialized value(s) to provide with the signal + Input *v11.Payloads `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"` + // Headers that are passed with the signal to the processing workflow. + // These can include things like auth or tracing tokens. + Header *v11.Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationSignal) Reset() { + *x = BatchOperationSignal{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationSignal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationSignal) ProtoMessage() {} + +func (x *BatchOperationSignal) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationSignal.ProtoReflect.Descriptor instead. +func (*BatchOperationSignal) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *BatchOperationSignal) GetSignal() string { + if x != nil { + return x.Signal + } + return "" +} + +func (x *BatchOperationSignal) GetInput() *v11.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *BatchOperationSignal) GetHeader() *v11.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *BatchOperationSignal) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +// BatchOperationCancellation sends cancel requests to batch workflows. +// Keep the parameter in sync with temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest. +// Ignore first_execution_run_id because this is used for single workflow operation. +type BatchOperationCancellation struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the worker/client + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationCancellation) Reset() { + *x = BatchOperationCancellation{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationCancellation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationCancellation) ProtoMessage() {} + +func (x *BatchOperationCancellation) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationCancellation.ProtoReflect.Descriptor instead. +func (*BatchOperationCancellation) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *BatchOperationCancellation) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +// BatchOperationDeletion sends deletion requests to batch workflows. +// Keep the parameter in sync with temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest. +type BatchOperationDeletion struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the worker/client + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationDeletion) Reset() { + *x = BatchOperationDeletion{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationDeletion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationDeletion) ProtoMessage() {} + +func (x *BatchOperationDeletion) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationDeletion.ProtoReflect.Descriptor instead. +func (*BatchOperationDeletion) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *BatchOperationDeletion) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +// BatchOperationReset sends reset requests to batch workflows. +// Keep the parameter in sync with temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest. +type BatchOperationReset struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the worker/client. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // Describes what to reset to and how. If set, `reset_type` and `reset_reapply_type` are ignored. + Options *v11.ResetOptions `protobuf:"bytes,4,opt,name=options,proto3" json:"options,omitempty"` + // Deprecated. Use `options`. + // + // Deprecated: Marked as deprecated in temporal/api/batch/v1/message.proto. + ResetType v1.ResetType `protobuf:"varint,1,opt,name=reset_type,json=resetType,proto3,enum=temporal.api.enums.v1.ResetType" json:"reset_type,omitempty"` + // Deprecated. Use `options`. + // + // Deprecated: Marked as deprecated in temporal/api/batch/v1/message.proto. + ResetReapplyType v1.ResetReapplyType `protobuf:"varint,2,opt,name=reset_reapply_type,json=resetReapplyType,proto3,enum=temporal.api.enums.v1.ResetReapplyType" json:"reset_reapply_type,omitempty"` + // Operations to perform after the workflow has been reset. These operations will be applied + // to the *new* run of the workflow execution in the order they are provided. + // All operations are applied to the workflow before the first new workflow task is generated + PostResetOperations []*v12.PostResetOperation `protobuf:"bytes,5,rep,name=post_reset_operations,json=postResetOperations,proto3" json:"post_reset_operations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationReset) Reset() { + *x = BatchOperationReset{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationReset) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationReset) ProtoMessage() {} + +func (x *BatchOperationReset) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationReset.ProtoReflect.Descriptor instead. +func (*BatchOperationReset) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *BatchOperationReset) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *BatchOperationReset) GetOptions() *v11.ResetOptions { + if x != nil { + return x.Options + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/batch/v1/message.proto. +func (x *BatchOperationReset) GetResetType() v1.ResetType { + if x != nil { + return x.ResetType + } + return v1.ResetType(0) +} + +// Deprecated: Marked as deprecated in temporal/api/batch/v1/message.proto. +func (x *BatchOperationReset) GetResetReapplyType() v1.ResetReapplyType { + if x != nil { + return x.ResetReapplyType + } + return v1.ResetReapplyType(0) +} + +func (x *BatchOperationReset) GetPostResetOperations() []*v12.PostResetOperation { + if x != nil { + return x.PostResetOperations + } + return nil +} + +// BatchOperationUpdateWorkflowExecutionOptions sends UpdateWorkflowExecutionOptions requests to batch workflows. +// Keep the parameters in sync with temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest. +type BatchOperationUpdateWorkflowExecutionOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the worker/client. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // Update Workflow options that were originally specified via StartWorkflowExecution. Partial updates are accepted and controlled by update_mask. + WorkflowExecutionOptions *v12.WorkflowExecutionOptions `protobuf:"bytes,2,opt,name=workflow_execution_options,json=workflowExecutionOptions,proto3" json:"workflow_execution_options,omitempty"` + // Controls which fields from `workflow_execution_options` will be applied. + // To unset a field, set it to null and use the update mask to indicate that it should be mutated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationUpdateWorkflowExecutionOptions) Reset() { + *x = BatchOperationUpdateWorkflowExecutionOptions{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationUpdateWorkflowExecutionOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationUpdateWorkflowExecutionOptions) ProtoMessage() {} + +func (x *BatchOperationUpdateWorkflowExecutionOptions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationUpdateWorkflowExecutionOptions.ProtoReflect.Descriptor instead. +func (*BatchOperationUpdateWorkflowExecutionOptions) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *BatchOperationUpdateWorkflowExecutionOptions) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *BatchOperationUpdateWorkflowExecutionOptions) GetWorkflowExecutionOptions() *v12.WorkflowExecutionOptions { + if x != nil { + return x.WorkflowExecutionOptions + } + return nil +} + +func (x *BatchOperationUpdateWorkflowExecutionOptions) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// BatchOperationUnpauseActivities sends unpause requests to batch workflows. +type BatchOperationUnpauseActivities struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the worker/client. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // The activity to unpause. If match_all is set to true, all activities will be unpaused. + // + // Types that are valid to be assigned to Activity: + // + // *BatchOperationUnpauseActivities_Type + // *BatchOperationUnpauseActivities_MatchAll + Activity isBatchOperationUnpauseActivities_Activity `protobuf_oneof:"activity"` + // Setting this flag will also reset the number of attempts. + ResetAttempts bool `protobuf:"varint,4,opt,name=reset_attempts,json=resetAttempts,proto3" json:"reset_attempts,omitempty"` + // Setting this flag will also reset the heartbeat details. + ResetHeartbeat bool `protobuf:"varint,5,opt,name=reset_heartbeat,json=resetHeartbeat,proto3" json:"reset_heartbeat,omitempty"` + // If set, the activity will start at a random time within the specified jitter + // duration, introducing variability to the start time. + Jitter *durationpb.Duration `protobuf:"bytes,6,opt,name=jitter,proto3" json:"jitter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationUnpauseActivities) Reset() { + *x = BatchOperationUnpauseActivities{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationUnpauseActivities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationUnpauseActivities) ProtoMessage() {} + +func (x *BatchOperationUnpauseActivities) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationUnpauseActivities.ProtoReflect.Descriptor instead. +func (*BatchOperationUnpauseActivities) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *BatchOperationUnpauseActivities) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *BatchOperationUnpauseActivities) GetActivity() isBatchOperationUnpauseActivities_Activity { + if x != nil { + return x.Activity + } + return nil +} + +func (x *BatchOperationUnpauseActivities) GetType() string { + if x != nil { + if x, ok := x.Activity.(*BatchOperationUnpauseActivities_Type); ok { + return x.Type + } + } + return "" +} + +func (x *BatchOperationUnpauseActivities) GetMatchAll() bool { + if x != nil { + if x, ok := x.Activity.(*BatchOperationUnpauseActivities_MatchAll); ok { + return x.MatchAll + } + } + return false +} + +func (x *BatchOperationUnpauseActivities) GetResetAttempts() bool { + if x != nil { + return x.ResetAttempts + } + return false +} + +func (x *BatchOperationUnpauseActivities) GetResetHeartbeat() bool { + if x != nil { + return x.ResetHeartbeat + } + return false +} + +func (x *BatchOperationUnpauseActivities) GetJitter() *durationpb.Duration { + if x != nil { + return x.Jitter + } + return nil +} + +type isBatchOperationUnpauseActivities_Activity interface { + isBatchOperationUnpauseActivities_Activity() +} + +type BatchOperationUnpauseActivities_Type struct { + Type string `protobuf:"bytes,2,opt,name=type,proto3,oneof"` +} + +type BatchOperationUnpauseActivities_MatchAll struct { + MatchAll bool `protobuf:"varint,3,opt,name=match_all,json=matchAll,proto3,oneof"` +} + +func (*BatchOperationUnpauseActivities_Type) isBatchOperationUnpauseActivities_Activity() {} + +func (*BatchOperationUnpauseActivities_MatchAll) isBatchOperationUnpauseActivities_Activity() {} + +// BatchOperationTriggerWorkflowRule sends TriggerWorkflowRule requests to batch workflows. +type BatchOperationTriggerWorkflowRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the worker/client. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // Types that are valid to be assigned to Rule: + // + // *BatchOperationTriggerWorkflowRule_Id + // *BatchOperationTriggerWorkflowRule_Spec + Rule isBatchOperationTriggerWorkflowRule_Rule `protobuf_oneof:"rule"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationTriggerWorkflowRule) Reset() { + *x = BatchOperationTriggerWorkflowRule{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationTriggerWorkflowRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationTriggerWorkflowRule) ProtoMessage() {} + +func (x *BatchOperationTriggerWorkflowRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationTriggerWorkflowRule.ProtoReflect.Descriptor instead. +func (*BatchOperationTriggerWorkflowRule) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *BatchOperationTriggerWorkflowRule) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *BatchOperationTriggerWorkflowRule) GetRule() isBatchOperationTriggerWorkflowRule_Rule { + if x != nil { + return x.Rule + } + return nil +} + +func (x *BatchOperationTriggerWorkflowRule) GetId() string { + if x != nil { + if x, ok := x.Rule.(*BatchOperationTriggerWorkflowRule_Id); ok { + return x.Id + } + } + return "" +} + +func (x *BatchOperationTriggerWorkflowRule) GetSpec() *v13.WorkflowRuleSpec { + if x != nil { + if x, ok := x.Rule.(*BatchOperationTriggerWorkflowRule_Spec); ok { + return x.Spec + } + } + return nil +} + +type isBatchOperationTriggerWorkflowRule_Rule interface { + isBatchOperationTriggerWorkflowRule_Rule() +} + +type BatchOperationTriggerWorkflowRule_Id struct { + // ID of existing rule. + Id string `protobuf:"bytes,2,opt,name=id,proto3,oneof"` +} + +type BatchOperationTriggerWorkflowRule_Spec struct { + // Rule specification to be applied to the workflow without creating a new rule. + Spec *v13.WorkflowRuleSpec `protobuf:"bytes,3,opt,name=spec,proto3,oneof"` +} + +func (*BatchOperationTriggerWorkflowRule_Id) isBatchOperationTriggerWorkflowRule_Rule() {} + +func (*BatchOperationTriggerWorkflowRule_Spec) isBatchOperationTriggerWorkflowRule_Rule() {} + +// BatchOperationResetActivities sends activity reset requests in a batch. +// NOTE: keep in sync with temporal.api.workflowservice.v1.ResetActivityRequest +type BatchOperationResetActivities struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the worker/client. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // The activities to reset. If match_all is set to true, all activities will be reset. + // + // Types that are valid to be assigned to Activity: + // + // *BatchOperationResetActivities_Type + // *BatchOperationResetActivities_MatchAll + Activity isBatchOperationResetActivities_Activity `protobuf_oneof:"activity"` + // Setting this flag will also reset the number of attempts. + ResetAttempts bool `protobuf:"varint,4,opt,name=reset_attempts,json=resetAttempts,proto3" json:"reset_attempts,omitempty"` + // Setting this flag will also reset the heartbeat details. + ResetHeartbeat bool `protobuf:"varint,5,opt,name=reset_heartbeat,json=resetHeartbeat,proto3" json:"reset_heartbeat,omitempty"` + // If activity is paused, it will remain paused after reset + KeepPaused bool `protobuf:"varint,6,opt,name=keep_paused,json=keepPaused,proto3" json:"keep_paused,omitempty"` + // If set, the activity will start at a random time within the specified jitter + // duration, introducing variability to the start time. + Jitter *durationpb.Duration `protobuf:"bytes,7,opt,name=jitter,proto3" json:"jitter,omitempty"` + // If set, the activity options will be restored to the defaults. + // Default options are then options activity was created with. + // They are part of the first ActivityTaskScheduled event. + RestoreOriginalOptions bool `protobuf:"varint,8,opt,name=restore_original_options,json=restoreOriginalOptions,proto3" json:"restore_original_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationResetActivities) Reset() { + *x = BatchOperationResetActivities{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationResetActivities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationResetActivities) ProtoMessage() {} + +func (x *BatchOperationResetActivities) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationResetActivities.ProtoReflect.Descriptor instead. +func (*BatchOperationResetActivities) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *BatchOperationResetActivities) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *BatchOperationResetActivities) GetActivity() isBatchOperationResetActivities_Activity { + if x != nil { + return x.Activity + } + return nil +} + +func (x *BatchOperationResetActivities) GetType() string { + if x != nil { + if x, ok := x.Activity.(*BatchOperationResetActivities_Type); ok { + return x.Type + } + } + return "" +} + +func (x *BatchOperationResetActivities) GetMatchAll() bool { + if x != nil { + if x, ok := x.Activity.(*BatchOperationResetActivities_MatchAll); ok { + return x.MatchAll + } + } + return false +} + +func (x *BatchOperationResetActivities) GetResetAttempts() bool { + if x != nil { + return x.ResetAttempts + } + return false +} + +func (x *BatchOperationResetActivities) GetResetHeartbeat() bool { + if x != nil { + return x.ResetHeartbeat + } + return false +} + +func (x *BatchOperationResetActivities) GetKeepPaused() bool { + if x != nil { + return x.KeepPaused + } + return false +} + +func (x *BatchOperationResetActivities) GetJitter() *durationpb.Duration { + if x != nil { + return x.Jitter + } + return nil +} + +func (x *BatchOperationResetActivities) GetRestoreOriginalOptions() bool { + if x != nil { + return x.RestoreOriginalOptions + } + return false +} + +type isBatchOperationResetActivities_Activity interface { + isBatchOperationResetActivities_Activity() +} + +type BatchOperationResetActivities_Type struct { + Type string `protobuf:"bytes,2,opt,name=type,proto3,oneof"` +} + +type BatchOperationResetActivities_MatchAll struct { + MatchAll bool `protobuf:"varint,3,opt,name=match_all,json=matchAll,proto3,oneof"` +} + +func (*BatchOperationResetActivities_Type) isBatchOperationResetActivities_Activity() {} + +func (*BatchOperationResetActivities_MatchAll) isBatchOperationResetActivities_Activity() {} + +// BatchOperationUpdateActivityOptions sends an update-activity-options requests in a batch. +// NOTE: keep in sync with temporal.api.workflowservice.v1.UpdateActivityRequest +type BatchOperationUpdateActivityOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the worker/client. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // The activity to update. If match_all is set to true, all activities will be updated. + // + // Types that are valid to be assigned to Activity: + // + // *BatchOperationUpdateActivityOptions_Type + // *BatchOperationUpdateActivityOptions_MatchAll + Activity isBatchOperationUpdateActivityOptions_Activity `protobuf_oneof:"activity"` + // Update Activity options. Partial updates are accepted and controlled by update_mask. + ActivityOptions *v14.ActivityOptions `protobuf:"bytes,4,opt,name=activity_options,json=activityOptions,proto3" json:"activity_options,omitempty"` + // Controls which fields from `activity_options` will be applied + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // If set, the activity options will be restored to the default. + // Default options are then options activity was created with. + // They are part of the first ActivityTaskScheduled event. + // This flag cannot be combined with any other option; if you supply + // restore_original together with other options, the request will be rejected. + RestoreOriginal bool `protobuf:"varint,6,opt,name=restore_original,json=restoreOriginal,proto3" json:"restore_original,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BatchOperationUpdateActivityOptions) Reset() { + *x = BatchOperationUpdateActivityOptions{} + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BatchOperationUpdateActivityOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BatchOperationUpdateActivityOptions) ProtoMessage() {} + +func (x *BatchOperationUpdateActivityOptions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_batch_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BatchOperationUpdateActivityOptions.ProtoReflect.Descriptor instead. +func (*BatchOperationUpdateActivityOptions) Descriptor() ([]byte, []int) { + return file_temporal_api_batch_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *BatchOperationUpdateActivityOptions) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *BatchOperationUpdateActivityOptions) GetActivity() isBatchOperationUpdateActivityOptions_Activity { + if x != nil { + return x.Activity + } + return nil +} + +func (x *BatchOperationUpdateActivityOptions) GetType() string { + if x != nil { + if x, ok := x.Activity.(*BatchOperationUpdateActivityOptions_Type); ok { + return x.Type + } + } + return "" +} + +func (x *BatchOperationUpdateActivityOptions) GetMatchAll() bool { + if x != nil { + if x, ok := x.Activity.(*BatchOperationUpdateActivityOptions_MatchAll); ok { + return x.MatchAll + } + } + return false +} + +func (x *BatchOperationUpdateActivityOptions) GetActivityOptions() *v14.ActivityOptions { + if x != nil { + return x.ActivityOptions + } + return nil +} + +func (x *BatchOperationUpdateActivityOptions) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *BatchOperationUpdateActivityOptions) GetRestoreOriginal() bool { + if x != nil { + return x.RestoreOriginal + } + return false +} + +type isBatchOperationUpdateActivityOptions_Activity interface { + isBatchOperationUpdateActivityOptions_Activity() +} + +type BatchOperationUpdateActivityOptions_Type struct { + Type string `protobuf:"bytes,2,opt,name=type,proto3,oneof"` +} + +type BatchOperationUpdateActivityOptions_MatchAll struct { + MatchAll bool `protobuf:"varint,3,opt,name=match_all,json=matchAll,proto3,oneof"` +} + +func (*BatchOperationUpdateActivityOptions_Type) isBatchOperationUpdateActivityOptions_Activity() {} + +func (*BatchOperationUpdateActivityOptions_MatchAll) isBatchOperationUpdateActivityOptions_Activity() { +} + +var File_temporal_api_batch_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_batch_v1_message_proto_rawDesc = "" + + "\n" + + "#temporal/api/batch/v1/message.proto\x12\x15temporal.api.batch.v1\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a&temporal/api/activity/v1/message.proto\x1a$temporal/api/common/v1/message.proto\x1a+temporal/api/enums/v1/batch_operation.proto\x1a!temporal/api/enums/v1/reset.proto\x1a#temporal/api/rules/v1/message.proto\x1a&temporal/api/workflow/v1/message.proto\"\xe3\x01\n" + + "\x12BatchOperationInfo\x12\x15\n" + + "\x06job_id\x18\x01 \x01(\tR\x05jobId\x12@\n" + + "\x05state\x18\x02 \x01(\x0e2*.temporal.api.enums.v1.BatchOperationStateR\x05state\x129\n" + + "\n" + + "start_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x129\n" + + "\n" + + "close_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcloseTime\"s\n" + + "\x19BatchOperationTermination\x12:\n" + + "\adetails\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\"\xba\x01\n" + + "\x14BatchOperationSignal\x12\x16\n" + + "\x06signal\x18\x01 \x01(\tR\x06signal\x126\n" + + "\x05input\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x126\n" + + "\x06header\x18\x03 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\"8\n" + + "\x1aBatchOperationCancellation\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\"4\n" + + "\x16BatchOperationDeletion\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\"\xf3\x02\n" + + "\x13BatchOperationReset\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12>\n" + + "\aoptions\x18\x04 \x01(\v2$.temporal.api.common.v1.ResetOptionsR\aoptions\x12C\n" + + "\n" + + "reset_type\x18\x01 \x01(\x0e2 .temporal.api.enums.v1.ResetTypeB\x02\x18\x01R\tresetType\x12Y\n" + + "\x12reset_reapply_type\x18\x02 \x01(\x0e2'.temporal.api.enums.v1.ResetReapplyTypeB\x02\x18\x01R\x10resetReapplyType\x12`\n" + + "\x15post_reset_operations\x18\x05 \x03(\v2,.temporal.api.workflow.v1.PostResetOperationR\x13postResetOperations\"\xf9\x01\n" + + ",BatchOperationUpdateWorkflowExecutionOptions\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12p\n" + + "\x1aworkflow_execution_options\x18\x02 \x01(\v22.temporal.api.workflow.v1.WorkflowExecutionOptionsR\x18workflowExecutionOptions\x12;\n" + + "\vupdate_mask\x18\x03 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" + + "updateMask\"\x81\x02\n" + + "\x1fBatchOperationUnpauseActivities\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x14\n" + + "\x04type\x18\x02 \x01(\tH\x00R\x04type\x12\x1d\n" + + "\tmatch_all\x18\x03 \x01(\bH\x00R\bmatchAll\x12%\n" + + "\x0ereset_attempts\x18\x04 \x01(\bR\rresetAttempts\x12'\n" + + "\x0freset_heartbeat\x18\x05 \x01(\bR\x0eresetHeartbeat\x121\n" + + "\x06jitter\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x06jitterB\n" + + "\n" + + "\bactivity\"\x98\x01\n" + + "!BatchOperationTriggerWorkflowRule\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x10\n" + + "\x02id\x18\x02 \x01(\tH\x00R\x02id\x12=\n" + + "\x04spec\x18\x03 \x01(\v2'.temporal.api.rules.v1.WorkflowRuleSpecH\x00R\x04specB\x06\n" + + "\x04rule\"\xda\x02\n" + + "\x1dBatchOperationResetActivities\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x14\n" + + "\x04type\x18\x02 \x01(\tH\x00R\x04type\x12\x1d\n" + + "\tmatch_all\x18\x03 \x01(\bH\x00R\bmatchAll\x12%\n" + + "\x0ereset_attempts\x18\x04 \x01(\bR\rresetAttempts\x12'\n" + + "\x0freset_heartbeat\x18\x05 \x01(\bR\x0eresetHeartbeat\x12\x1f\n" + + "\vkeep_paused\x18\x06 \x01(\bR\n" + + "keepPaused\x121\n" + + "\x06jitter\x18\a \x01(\v2\x19.google.protobuf.DurationR\x06jitter\x128\n" + + "\x18restore_original_options\x18\b \x01(\bR\x16restoreOriginalOptionsB\n" + + "\n" + + "\bactivity\"\xc0\x02\n" + + "#BatchOperationUpdateActivityOptions\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x14\n" + + "\x04type\x18\x02 \x01(\tH\x00R\x04type\x12\x1d\n" + + "\tmatch_all\x18\x03 \x01(\bH\x00R\bmatchAll\x12T\n" + + "\x10activity_options\x18\x04 \x01(\v2).temporal.api.activity.v1.ActivityOptionsR\x0factivityOptions\x12;\n" + + "\vupdate_mask\x18\x05 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" + + "updateMask\x12)\n" + + "\x10restore_original\x18\x06 \x01(\bR\x0frestoreOriginalB\n" + + "\n" + + "\bactivityB\x84\x01\n" + + "\x18io.temporal.api.batch.v1B\fMessageProtoP\x01Z!go.temporal.io/api/batch/v1;batch\xaa\x02\x17Temporalio.Api.Batch.V1\xea\x02\x1aTemporalio::Api::Batch::V1b\x06proto3" + +var ( + file_temporal_api_batch_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_batch_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_batch_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_batch_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_batch_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_batch_v1_message_proto_rawDesc), len(file_temporal_api_batch_v1_message_proto_rawDesc))) + }) + return file_temporal_api_batch_v1_message_proto_rawDescData +} + +var file_temporal_api_batch_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 11) +var file_temporal_api_batch_v1_message_proto_goTypes = []any{ + (*BatchOperationInfo)(nil), // 0: temporal.api.batch.v1.BatchOperationInfo + (*BatchOperationTermination)(nil), // 1: temporal.api.batch.v1.BatchOperationTermination + (*BatchOperationSignal)(nil), // 2: temporal.api.batch.v1.BatchOperationSignal + (*BatchOperationCancellation)(nil), // 3: temporal.api.batch.v1.BatchOperationCancellation + (*BatchOperationDeletion)(nil), // 4: temporal.api.batch.v1.BatchOperationDeletion + (*BatchOperationReset)(nil), // 5: temporal.api.batch.v1.BatchOperationReset + (*BatchOperationUpdateWorkflowExecutionOptions)(nil), // 6: temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions + (*BatchOperationUnpauseActivities)(nil), // 7: temporal.api.batch.v1.BatchOperationUnpauseActivities + (*BatchOperationTriggerWorkflowRule)(nil), // 8: temporal.api.batch.v1.BatchOperationTriggerWorkflowRule + (*BatchOperationResetActivities)(nil), // 9: temporal.api.batch.v1.BatchOperationResetActivities + (*BatchOperationUpdateActivityOptions)(nil), // 10: temporal.api.batch.v1.BatchOperationUpdateActivityOptions + (v1.BatchOperationState)(0), // 11: temporal.api.enums.v1.BatchOperationState + (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp + (*v11.Payloads)(nil), // 13: temporal.api.common.v1.Payloads + (*v11.Header)(nil), // 14: temporal.api.common.v1.Header + (*v11.ResetOptions)(nil), // 15: temporal.api.common.v1.ResetOptions + (v1.ResetType)(0), // 16: temporal.api.enums.v1.ResetType + (v1.ResetReapplyType)(0), // 17: temporal.api.enums.v1.ResetReapplyType + (*v12.PostResetOperation)(nil), // 18: temporal.api.workflow.v1.PostResetOperation + (*v12.WorkflowExecutionOptions)(nil), // 19: temporal.api.workflow.v1.WorkflowExecutionOptions + (*fieldmaskpb.FieldMask)(nil), // 20: google.protobuf.FieldMask + (*durationpb.Duration)(nil), // 21: google.protobuf.Duration + (*v13.WorkflowRuleSpec)(nil), // 22: temporal.api.rules.v1.WorkflowRuleSpec + (*v14.ActivityOptions)(nil), // 23: temporal.api.activity.v1.ActivityOptions +} +var file_temporal_api_batch_v1_message_proto_depIdxs = []int32{ + 11, // 0: temporal.api.batch.v1.BatchOperationInfo.state:type_name -> temporal.api.enums.v1.BatchOperationState + 12, // 1: temporal.api.batch.v1.BatchOperationInfo.start_time:type_name -> google.protobuf.Timestamp + 12, // 2: temporal.api.batch.v1.BatchOperationInfo.close_time:type_name -> google.protobuf.Timestamp + 13, // 3: temporal.api.batch.v1.BatchOperationTermination.details:type_name -> temporal.api.common.v1.Payloads + 13, // 4: temporal.api.batch.v1.BatchOperationSignal.input:type_name -> temporal.api.common.v1.Payloads + 14, // 5: temporal.api.batch.v1.BatchOperationSignal.header:type_name -> temporal.api.common.v1.Header + 15, // 6: temporal.api.batch.v1.BatchOperationReset.options:type_name -> temporal.api.common.v1.ResetOptions + 16, // 7: temporal.api.batch.v1.BatchOperationReset.reset_type:type_name -> temporal.api.enums.v1.ResetType + 17, // 8: temporal.api.batch.v1.BatchOperationReset.reset_reapply_type:type_name -> temporal.api.enums.v1.ResetReapplyType + 18, // 9: temporal.api.batch.v1.BatchOperationReset.post_reset_operations:type_name -> temporal.api.workflow.v1.PostResetOperation + 19, // 10: temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions.workflow_execution_options:type_name -> temporal.api.workflow.v1.WorkflowExecutionOptions + 20, // 11: temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions.update_mask:type_name -> google.protobuf.FieldMask + 21, // 12: temporal.api.batch.v1.BatchOperationUnpauseActivities.jitter:type_name -> google.protobuf.Duration + 22, // 13: temporal.api.batch.v1.BatchOperationTriggerWorkflowRule.spec:type_name -> temporal.api.rules.v1.WorkflowRuleSpec + 21, // 14: temporal.api.batch.v1.BatchOperationResetActivities.jitter:type_name -> google.protobuf.Duration + 23, // 15: temporal.api.batch.v1.BatchOperationUpdateActivityOptions.activity_options:type_name -> temporal.api.activity.v1.ActivityOptions + 20, // 16: temporal.api.batch.v1.BatchOperationUpdateActivityOptions.update_mask:type_name -> google.protobuf.FieldMask + 17, // [17:17] is the sub-list for method output_type + 17, // [17:17] is the sub-list for method input_type + 17, // [17:17] is the sub-list for extension type_name + 17, // [17:17] is the sub-list for extension extendee + 0, // [0:17] is the sub-list for field type_name +} + +func init() { file_temporal_api_batch_v1_message_proto_init() } +func file_temporal_api_batch_v1_message_proto_init() { + if File_temporal_api_batch_v1_message_proto != nil { + return + } + file_temporal_api_batch_v1_message_proto_msgTypes[7].OneofWrappers = []any{ + (*BatchOperationUnpauseActivities_Type)(nil), + (*BatchOperationUnpauseActivities_MatchAll)(nil), + } + file_temporal_api_batch_v1_message_proto_msgTypes[8].OneofWrappers = []any{ + (*BatchOperationTriggerWorkflowRule_Id)(nil), + (*BatchOperationTriggerWorkflowRule_Spec)(nil), + } + file_temporal_api_batch_v1_message_proto_msgTypes[9].OneofWrappers = []any{ + (*BatchOperationResetActivities_Type)(nil), + (*BatchOperationResetActivities_MatchAll)(nil), + } + file_temporal_api_batch_v1_message_proto_msgTypes[10].OneofWrappers = []any{ + (*BatchOperationUpdateActivityOptions_Type)(nil), + (*BatchOperationUpdateActivityOptions_MatchAll)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_batch_v1_message_proto_rawDesc), len(file_temporal_api_batch_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 11, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_batch_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_batch_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_batch_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_batch_v1_message_proto = out.File + file_temporal_api_batch_v1_message_proto_goTypes = nil + file_temporal_api_batch_v1_message_proto_depIdxs = nil +} diff --git a/api_next/callback/v1/message.go-helpers.pb.go b/api_next/callback/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..6020123d --- /dev/null +++ b/api_next/callback/v1/message.go-helpers.pb.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package callback + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type CallbackInfo to the protobuf v3 wire format +func (val *CallbackInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CallbackInfo from the protobuf v3 wire format +func (val *CallbackInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CallbackInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CallbackInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CallbackInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CallbackInfo + switch t := that.(type) { + case *CallbackInfo: + that1 = t + case CallbackInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/callback/v1/message.pb.go b/api_next/callback/v1/message.pb.go new file mode 100644 index 00000000..e0bb03b2 --- /dev/null +++ b/api_next/callback/v1/message.pb.go @@ -0,0 +1,210 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/callback/v1/message.proto + +package callback + +import ( + v1 "go.temporal.io/api/common/v1" + v11 "go.temporal.io/api/enums/v1" + v12 "go.temporal.io/api/failure/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Common callback information. Specific CallbackInfo messages should embed this and may include additional fields. +type CallbackInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Information on how this callback should be invoked (e.g. its URL and type). + Callback *v1.Callback `protobuf:"bytes,1,opt,name=callback,proto3" json:"callback,omitempty"` + // The time when the callback was registered. + RegistrationTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=registration_time,json=registrationTime,proto3" json:"registration_time,omitempty"` + // The current state of the callback. + State v11.CallbackState `protobuf:"varint,3,opt,name=state,proto3,enum=temporal.api.enums.v1.CallbackState" json:"state,omitempty"` + // The number of attempts made to deliver the callback. + // This number represents a minimum bound since the attempt is incremented after the callback request completes. + Attempt int32 `protobuf:"varint,4,opt,name=attempt,proto3" json:"attempt,omitempty"` + // The time when the last attempt completed. + LastAttemptCompleteTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_attempt_complete_time,json=lastAttemptCompleteTime,proto3" json:"last_attempt_complete_time,omitempty"` + // The last attempt's failure, if any. + LastAttemptFailure *v12.Failure `protobuf:"bytes,6,opt,name=last_attempt_failure,json=lastAttemptFailure,proto3" json:"last_attempt_failure,omitempty"` + // The time when the next attempt is scheduled. + NextAttemptScheduleTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=next_attempt_schedule_time,json=nextAttemptScheduleTime,proto3" json:"next_attempt_schedule_time,omitempty"` + // If the state is BLOCKED, blocked reason provides additional information. + BlockedReason string `protobuf:"bytes,8,opt,name=blocked_reason,json=blockedReason,proto3" json:"blocked_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallbackInfo) Reset() { + *x = CallbackInfo{} + mi := &file_temporal_api_callback_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallbackInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallbackInfo) ProtoMessage() {} + +func (x *CallbackInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_callback_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallbackInfo.ProtoReflect.Descriptor instead. +func (*CallbackInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_callback_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *CallbackInfo) GetCallback() *v1.Callback { + if x != nil { + return x.Callback + } + return nil +} + +func (x *CallbackInfo) GetRegistrationTime() *timestamppb.Timestamp { + if x != nil { + return x.RegistrationTime + } + return nil +} + +func (x *CallbackInfo) GetState() v11.CallbackState { + if x != nil { + return x.State + } + return v11.CallbackState(0) +} + +func (x *CallbackInfo) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *CallbackInfo) GetLastAttemptCompleteTime() *timestamppb.Timestamp { + if x != nil { + return x.LastAttemptCompleteTime + } + return nil +} + +func (x *CallbackInfo) GetLastAttemptFailure() *v12.Failure { + if x != nil { + return x.LastAttemptFailure + } + return nil +} + +func (x *CallbackInfo) GetNextAttemptScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.NextAttemptScheduleTime + } + return nil +} + +func (x *CallbackInfo) GetBlockedReason() string { + if x != nil { + return x.BlockedReason + } + return "" +} + +var File_temporal_api_callback_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_callback_v1_message_proto_rawDesc = "" + + "\n" + + "&temporal/api/callback/v1/message.proto\x12\x18temporal.api.callback.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a\"temporal/api/enums/v1/common.proto\x1a%temporal/api/failure/v1/message.proto\"\x98\x04\n" + + "\fCallbackInfo\x12<\n" + + "\bcallback\x18\x01 \x01(\v2 .temporal.api.common.v1.CallbackR\bcallback\x12G\n" + + "\x11registration_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x10registrationTime\x12:\n" + + "\x05state\x18\x03 \x01(\x0e2$.temporal.api.enums.v1.CallbackStateR\x05state\x12\x18\n" + + "\aattempt\x18\x04 \x01(\x05R\aattempt\x12W\n" + + "\x1alast_attempt_complete_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x17lastAttemptCompleteTime\x12R\n" + + "\x14last_attempt_failure\x18\x06 \x01(\v2 .temporal.api.failure.v1.FailureR\x12lastAttemptFailure\x12W\n" + + "\x1anext_attempt_schedule_time\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\x17nextAttemptScheduleTime\x12%\n" + + "\x0eblocked_reason\x18\b \x01(\tR\rblockedReasonB\x93\x01\n" + + "\x1bio.temporal.api.callback.v1B\fMessageProtoP\x01Z'go.temporal.io/api/callback/v1;callback\xaa\x02\x1aTemporalio.Api.Callback.V1\xea\x02\x1dTemporalio::Api::Callback::V1b\x06proto3" + +var ( + file_temporal_api_callback_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_callback_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_callback_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_callback_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_callback_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_callback_v1_message_proto_rawDesc), len(file_temporal_api_callback_v1_message_proto_rawDesc))) + }) + return file_temporal_api_callback_v1_message_proto_rawDescData +} + +var file_temporal_api_callback_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_temporal_api_callback_v1_message_proto_goTypes = []any{ + (*CallbackInfo)(nil), // 0: temporal.api.callback.v1.CallbackInfo + (*v1.Callback)(nil), // 1: temporal.api.common.v1.Callback + (*timestamppb.Timestamp)(nil), // 2: google.protobuf.Timestamp + (v11.CallbackState)(0), // 3: temporal.api.enums.v1.CallbackState + (*v12.Failure)(nil), // 4: temporal.api.failure.v1.Failure +} +var file_temporal_api_callback_v1_message_proto_depIdxs = []int32{ + 1, // 0: temporal.api.callback.v1.CallbackInfo.callback:type_name -> temporal.api.common.v1.Callback + 2, // 1: temporal.api.callback.v1.CallbackInfo.registration_time:type_name -> google.protobuf.Timestamp + 3, // 2: temporal.api.callback.v1.CallbackInfo.state:type_name -> temporal.api.enums.v1.CallbackState + 2, // 3: temporal.api.callback.v1.CallbackInfo.last_attempt_complete_time:type_name -> google.protobuf.Timestamp + 4, // 4: temporal.api.callback.v1.CallbackInfo.last_attempt_failure:type_name -> temporal.api.failure.v1.Failure + 2, // 5: temporal.api.callback.v1.CallbackInfo.next_attempt_schedule_time:type_name -> google.protobuf.Timestamp + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_temporal_api_callback_v1_message_proto_init() } +func file_temporal_api_callback_v1_message_proto_init() { + if File_temporal_api_callback_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_callback_v1_message_proto_rawDesc), len(file_temporal_api_callback_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_callback_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_callback_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_callback_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_callback_v1_message_proto = out.File + file_temporal_api_callback_v1_message_proto_goTypes = nil + file_temporal_api_callback_v1_message_proto_depIdxs = nil +} diff --git a/api_next/command/v1/message.go-helpers.pb.go b/api_next/command/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..6717163d --- /dev/null +++ b/api_next/command/v1/message.go-helpers.pb.go @@ -0,0 +1,672 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package command + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ScheduleActivityTaskCommandAttributes to the protobuf v3 wire format +func (val *ScheduleActivityTaskCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScheduleActivityTaskCommandAttributes from the protobuf v3 wire format +func (val *ScheduleActivityTaskCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScheduleActivityTaskCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScheduleActivityTaskCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScheduleActivityTaskCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScheduleActivityTaskCommandAttributes + switch t := that.(type) { + case *ScheduleActivityTaskCommandAttributes: + that1 = t + case ScheduleActivityTaskCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelActivityTaskCommandAttributes to the protobuf v3 wire format +func (val *RequestCancelActivityTaskCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelActivityTaskCommandAttributes from the protobuf v3 wire format +func (val *RequestCancelActivityTaskCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelActivityTaskCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelActivityTaskCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelActivityTaskCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelActivityTaskCommandAttributes + switch t := that.(type) { + case *RequestCancelActivityTaskCommandAttributes: + that1 = t + case RequestCancelActivityTaskCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartTimerCommandAttributes to the protobuf v3 wire format +func (val *StartTimerCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartTimerCommandAttributes from the protobuf v3 wire format +func (val *StartTimerCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartTimerCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartTimerCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartTimerCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartTimerCommandAttributes + switch t := that.(type) { + case *StartTimerCommandAttributes: + that1 = t + case StartTimerCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CompleteWorkflowExecutionCommandAttributes to the protobuf v3 wire format +func (val *CompleteWorkflowExecutionCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CompleteWorkflowExecutionCommandAttributes from the protobuf v3 wire format +func (val *CompleteWorkflowExecutionCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CompleteWorkflowExecutionCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CompleteWorkflowExecutionCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CompleteWorkflowExecutionCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CompleteWorkflowExecutionCommandAttributes + switch t := that.(type) { + case *CompleteWorkflowExecutionCommandAttributes: + that1 = t + case CompleteWorkflowExecutionCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type FailWorkflowExecutionCommandAttributes to the protobuf v3 wire format +func (val *FailWorkflowExecutionCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type FailWorkflowExecutionCommandAttributes from the protobuf v3 wire format +func (val *FailWorkflowExecutionCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *FailWorkflowExecutionCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two FailWorkflowExecutionCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *FailWorkflowExecutionCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *FailWorkflowExecutionCommandAttributes + switch t := that.(type) { + case *FailWorkflowExecutionCommandAttributes: + that1 = t + case FailWorkflowExecutionCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CancelTimerCommandAttributes to the protobuf v3 wire format +func (val *CancelTimerCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CancelTimerCommandAttributes from the protobuf v3 wire format +func (val *CancelTimerCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CancelTimerCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CancelTimerCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CancelTimerCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CancelTimerCommandAttributes + switch t := that.(type) { + case *CancelTimerCommandAttributes: + that1 = t + case CancelTimerCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CancelWorkflowExecutionCommandAttributes to the protobuf v3 wire format +func (val *CancelWorkflowExecutionCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CancelWorkflowExecutionCommandAttributes from the protobuf v3 wire format +func (val *CancelWorkflowExecutionCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CancelWorkflowExecutionCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CancelWorkflowExecutionCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CancelWorkflowExecutionCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CancelWorkflowExecutionCommandAttributes + switch t := that.(type) { + case *CancelWorkflowExecutionCommandAttributes: + that1 = t + case CancelWorkflowExecutionCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelExternalWorkflowExecutionCommandAttributes to the protobuf v3 wire format +func (val *RequestCancelExternalWorkflowExecutionCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelExternalWorkflowExecutionCommandAttributes from the protobuf v3 wire format +func (val *RequestCancelExternalWorkflowExecutionCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelExternalWorkflowExecutionCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelExternalWorkflowExecutionCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelExternalWorkflowExecutionCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelExternalWorkflowExecutionCommandAttributes + switch t := that.(type) { + case *RequestCancelExternalWorkflowExecutionCommandAttributes: + that1 = t + case RequestCancelExternalWorkflowExecutionCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SignalExternalWorkflowExecutionCommandAttributes to the protobuf v3 wire format +func (val *SignalExternalWorkflowExecutionCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SignalExternalWorkflowExecutionCommandAttributes from the protobuf v3 wire format +func (val *SignalExternalWorkflowExecutionCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SignalExternalWorkflowExecutionCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SignalExternalWorkflowExecutionCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SignalExternalWorkflowExecutionCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SignalExternalWorkflowExecutionCommandAttributes + switch t := that.(type) { + case *SignalExternalWorkflowExecutionCommandAttributes: + that1 = t + case SignalExternalWorkflowExecutionCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpsertWorkflowSearchAttributesCommandAttributes to the protobuf v3 wire format +func (val *UpsertWorkflowSearchAttributesCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpsertWorkflowSearchAttributesCommandAttributes from the protobuf v3 wire format +func (val *UpsertWorkflowSearchAttributesCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpsertWorkflowSearchAttributesCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpsertWorkflowSearchAttributesCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpsertWorkflowSearchAttributesCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpsertWorkflowSearchAttributesCommandAttributes + switch t := that.(type) { + case *UpsertWorkflowSearchAttributesCommandAttributes: + that1 = t + case UpsertWorkflowSearchAttributesCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ModifyWorkflowPropertiesCommandAttributes to the protobuf v3 wire format +func (val *ModifyWorkflowPropertiesCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ModifyWorkflowPropertiesCommandAttributes from the protobuf v3 wire format +func (val *ModifyWorkflowPropertiesCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ModifyWorkflowPropertiesCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ModifyWorkflowPropertiesCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ModifyWorkflowPropertiesCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ModifyWorkflowPropertiesCommandAttributes + switch t := that.(type) { + case *ModifyWorkflowPropertiesCommandAttributes: + that1 = t + case ModifyWorkflowPropertiesCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RecordMarkerCommandAttributes to the protobuf v3 wire format +func (val *RecordMarkerCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RecordMarkerCommandAttributes from the protobuf v3 wire format +func (val *RecordMarkerCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RecordMarkerCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RecordMarkerCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RecordMarkerCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RecordMarkerCommandAttributes + switch t := that.(type) { + case *RecordMarkerCommandAttributes: + that1 = t + case RecordMarkerCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ContinueAsNewWorkflowExecutionCommandAttributes to the protobuf v3 wire format +func (val *ContinueAsNewWorkflowExecutionCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ContinueAsNewWorkflowExecutionCommandAttributes from the protobuf v3 wire format +func (val *ContinueAsNewWorkflowExecutionCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ContinueAsNewWorkflowExecutionCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ContinueAsNewWorkflowExecutionCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ContinueAsNewWorkflowExecutionCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ContinueAsNewWorkflowExecutionCommandAttributes + switch t := that.(type) { + case *ContinueAsNewWorkflowExecutionCommandAttributes: + that1 = t + case ContinueAsNewWorkflowExecutionCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartChildWorkflowExecutionCommandAttributes to the protobuf v3 wire format +func (val *StartChildWorkflowExecutionCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartChildWorkflowExecutionCommandAttributes from the protobuf v3 wire format +func (val *StartChildWorkflowExecutionCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartChildWorkflowExecutionCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartChildWorkflowExecutionCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartChildWorkflowExecutionCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartChildWorkflowExecutionCommandAttributes + switch t := that.(type) { + case *StartChildWorkflowExecutionCommandAttributes: + that1 = t + case StartChildWorkflowExecutionCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ProtocolMessageCommandAttributes to the protobuf v3 wire format +func (val *ProtocolMessageCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ProtocolMessageCommandAttributes from the protobuf v3 wire format +func (val *ProtocolMessageCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ProtocolMessageCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ProtocolMessageCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ProtocolMessageCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ProtocolMessageCommandAttributes + switch t := that.(type) { + case *ProtocolMessageCommandAttributes: + that1 = t + case ProtocolMessageCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScheduleNexusOperationCommandAttributes to the protobuf v3 wire format +func (val *ScheduleNexusOperationCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScheduleNexusOperationCommandAttributes from the protobuf v3 wire format +func (val *ScheduleNexusOperationCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScheduleNexusOperationCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScheduleNexusOperationCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScheduleNexusOperationCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScheduleNexusOperationCommandAttributes + switch t := that.(type) { + case *ScheduleNexusOperationCommandAttributes: + that1 = t + case ScheduleNexusOperationCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelNexusOperationCommandAttributes to the protobuf v3 wire format +func (val *RequestCancelNexusOperationCommandAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelNexusOperationCommandAttributes from the protobuf v3 wire format +func (val *RequestCancelNexusOperationCommandAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelNexusOperationCommandAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelNexusOperationCommandAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelNexusOperationCommandAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelNexusOperationCommandAttributes + switch t := that.(type) { + case *RequestCancelNexusOperationCommandAttributes: + that1 = t + case RequestCancelNexusOperationCommandAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Command to the protobuf v3 wire format +func (val *Command) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Command from the protobuf v3 wire format +func (val *Command) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Command) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Command values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Command) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Command + switch t := that.(type) { + case *Command: + that1 = t + case Command: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/command/v1/message.pb.go b/api_next/command/v1/message.pb.go new file mode 100644 index 00000000..0a75301e --- /dev/null +++ b/api_next/command/v1/message.pb.go @@ -0,0 +1,2132 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/command/v1/message.proto + +package command + +import ( + v1 "go.temporal.io/api/common/v1" + v13 "go.temporal.io/api/enums/v1" + v12 "go.temporal.io/api/failure/v1" + v14 "go.temporal.io/api/sdk/v1" + v11 "go.temporal.io/api/taskqueue/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type ScheduleActivityTaskCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActivityId string `protobuf:"bytes,1,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + ActivityType *v1.ActivityType `protobuf:"bytes,2,opt,name=activity_type,json=activityType,proto3" json:"activity_type,omitempty"` + TaskQueue *v11.TaskQueue `protobuf:"bytes,4,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + Header *v1.Header `protobuf:"bytes,5,opt,name=header,proto3" json:"header,omitempty"` + Input *v1.Payloads `protobuf:"bytes,6,opt,name=input,proto3" json:"input,omitempty"` + // Indicates how long the caller is willing to wait for activity completion. The "schedule" time + // is when the activity is initially scheduled, not when the most recent retry is scheduled. + // Limits how long retries will be attempted. Either this or `start_to_close_timeout` must be + // specified. When not specified, defaults to the workflow execution timeout. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Limits the time an activity task can stay in a task queue before a worker picks it up. The + // "schedule" time is when the most recent retry is scheduled. This timeout should usually not + // be set: it's useful in specific scenarios like worker-specific task queues. This timeout is + // always non retryable, as all a retry would achieve is to put it back into the same queue. + // Defaults to `schedule_to_close_timeout` or workflow execution timeout if that is not + // specified. More info: + // https://docs.temporal.io/docs/content/what-is-a-schedule-to-start-timeout/ + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Maximum time an activity is allowed to execute after being picked up by a worker. This + // timeout is always retryable. Either this or `schedule_to_close_timeout` must be specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,9,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + // Maximum permitted time between successful worker heartbeats. + HeartbeatTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=heartbeat_timeout,json=heartbeatTimeout,proto3" json:"heartbeat_timeout,omitempty"` + // Activities are provided by a default retry policy which is controlled through the service's + // dynamic configuration. Retries will be attempted until `schedule_to_close_timeout` has + // elapsed. To disable retries set retry_policy.maximum_attempts to 1. + RetryPolicy *v1.RetryPolicy `protobuf:"bytes,11,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // Request to start the activity directly bypassing matching service and worker polling + // The slot for executing the activity should be reserved when setting this field to true. + RequestEagerExecution bool `protobuf:"varint,12,opt,name=request_eager_execution,json=requestEagerExecution,proto3" json:"request_eager_execution,omitempty"` + // If this is set, the activity would be assigned to the Build ID of the workflow. Otherwise, + // Assignment rules of the activity's Task Queue will be used to determine the Build ID. + UseWorkflowBuildId bool `protobuf:"varint,13,opt,name=use_workflow_build_id,json=useWorkflowBuildId,proto3" json:"use_workflow_build_id,omitempty"` + // Priority metadata. If this message is not present, or any fields are not + // present, they inherit the values from the workflow. + Priority *v1.Priority `protobuf:"bytes,14,opt,name=priority,proto3" json:"priority,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleActivityTaskCommandAttributes) Reset() { + *x = ScheduleActivityTaskCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleActivityTaskCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleActivityTaskCommandAttributes) ProtoMessage() {} + +func (x *ScheduleActivityTaskCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleActivityTaskCommandAttributes.ProtoReflect.Descriptor instead. +func (*ScheduleActivityTaskCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *ScheduleActivityTaskCommandAttributes) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *ScheduleActivityTaskCommandAttributes) GetActivityType() *v1.ActivityType { + if x != nil { + return x.ActivityType + } + return nil +} + +func (x *ScheduleActivityTaskCommandAttributes) GetTaskQueue() *v11.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *ScheduleActivityTaskCommandAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *ScheduleActivityTaskCommandAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *ScheduleActivityTaskCommandAttributes) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *ScheduleActivityTaskCommandAttributes) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *ScheduleActivityTaskCommandAttributes) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +func (x *ScheduleActivityTaskCommandAttributes) GetHeartbeatTimeout() *durationpb.Duration { + if x != nil { + return x.HeartbeatTimeout + } + return nil +} + +func (x *ScheduleActivityTaskCommandAttributes) GetRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *ScheduleActivityTaskCommandAttributes) GetRequestEagerExecution() bool { + if x != nil { + return x.RequestEagerExecution + } + return false +} + +func (x *ScheduleActivityTaskCommandAttributes) GetUseWorkflowBuildId() bool { + if x != nil { + return x.UseWorkflowBuildId + } + return false +} + +func (x *ScheduleActivityTaskCommandAttributes) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +type RequestCancelActivityTaskCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The `ACTIVITY_TASK_SCHEDULED` event id for the activity being cancelled. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelActivityTaskCommandAttributes) Reset() { + *x = RequestCancelActivityTaskCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelActivityTaskCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelActivityTaskCommandAttributes) ProtoMessage() {} + +func (x *RequestCancelActivityTaskCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelActivityTaskCommandAttributes.ProtoReflect.Descriptor instead. +func (*RequestCancelActivityTaskCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *RequestCancelActivityTaskCommandAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +type StartTimerCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // An id for the timer, currently live timers must have different ids. Typically autogenerated + // by the SDK. + TimerId string `protobuf:"bytes,1,opt,name=timer_id,json=timerId,proto3" json:"timer_id,omitempty"` + // How long until the timer fires, producing a `TIMER_FIRED` event. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToFireTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=start_to_fire_timeout,json=startToFireTimeout,proto3" json:"start_to_fire_timeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartTimerCommandAttributes) Reset() { + *x = StartTimerCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartTimerCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartTimerCommandAttributes) ProtoMessage() {} + +func (x *StartTimerCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartTimerCommandAttributes.ProtoReflect.Descriptor instead. +func (*StartTimerCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *StartTimerCommandAttributes) GetTimerId() string { + if x != nil { + return x.TimerId + } + return "" +} + +func (x *StartTimerCommandAttributes) GetStartToFireTimeout() *durationpb.Duration { + if x != nil { + return x.StartToFireTimeout + } + return nil +} + +type CompleteWorkflowExecutionCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + Result *v1.Payloads `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CompleteWorkflowExecutionCommandAttributes) Reset() { + *x = CompleteWorkflowExecutionCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CompleteWorkflowExecutionCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompleteWorkflowExecutionCommandAttributes) ProtoMessage() {} + +func (x *CompleteWorkflowExecutionCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompleteWorkflowExecutionCommandAttributes.ProtoReflect.Descriptor instead. +func (*CompleteWorkflowExecutionCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *CompleteWorkflowExecutionCommandAttributes) GetResult() *v1.Payloads { + if x != nil { + return x.Result + } + return nil +} + +type FailWorkflowExecutionCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + Failure *v12.Failure `protobuf:"bytes,1,opt,name=failure,proto3" json:"failure,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FailWorkflowExecutionCommandAttributes) Reset() { + *x = FailWorkflowExecutionCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FailWorkflowExecutionCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FailWorkflowExecutionCommandAttributes) ProtoMessage() {} + +func (x *FailWorkflowExecutionCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FailWorkflowExecutionCommandAttributes.ProtoReflect.Descriptor instead. +func (*FailWorkflowExecutionCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *FailWorkflowExecutionCommandAttributes) GetFailure() *v12.Failure { + if x != nil { + return x.Failure + } + return nil +} + +type CancelTimerCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The same timer id from the start timer command + TimerId string `protobuf:"bytes,1,opt,name=timer_id,json=timerId,proto3" json:"timer_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelTimerCommandAttributes) Reset() { + *x = CancelTimerCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelTimerCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelTimerCommandAttributes) ProtoMessage() {} + +func (x *CancelTimerCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelTimerCommandAttributes.ProtoReflect.Descriptor instead. +func (*CancelTimerCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *CancelTimerCommandAttributes) GetTimerId() string { + if x != nil { + return x.TimerId + } + return "" +} + +type CancelWorkflowExecutionCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + Details *v1.Payloads `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelWorkflowExecutionCommandAttributes) Reset() { + *x = CancelWorkflowExecutionCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelWorkflowExecutionCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelWorkflowExecutionCommandAttributes) ProtoMessage() {} + +func (x *CancelWorkflowExecutionCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelWorkflowExecutionCommandAttributes.ProtoReflect.Descriptor instead. +func (*CancelWorkflowExecutionCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *CancelWorkflowExecutionCommandAttributes) GetDetails() *v1.Payloads { + if x != nil { + return x.Details + } + return nil +} + +type RequestCancelExternalWorkflowExecutionCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated. Cross-namespace operations are disabled by default as of server 1.30.1. + // + // Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. + Control string `protobuf:"bytes,4,opt,name=control,proto3" json:"control,omitempty"` + // Set this to true if the workflow being cancelled is a child of the workflow originating this + // command. The request will be rejected if it is set to true and the target workflow is *not* + // a child of the requesting workflow. + ChildWorkflowOnly bool `protobuf:"varint,5,opt,name=child_workflow_only,json=childWorkflowOnly,proto3" json:"child_workflow_only,omitempty"` + // Reason for requesting the cancellation + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelExternalWorkflowExecutionCommandAttributes) Reset() { + *x = RequestCancelExternalWorkflowExecutionCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelExternalWorkflowExecutionCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelExternalWorkflowExecutionCommandAttributes) ProtoMessage() {} + +func (x *RequestCancelExternalWorkflowExecutionCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelExternalWorkflowExecutionCommandAttributes.ProtoReflect.Descriptor instead. +func (*RequestCancelExternalWorkflowExecutionCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{7} +} + +// Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. +func (x *RequestCancelExternalWorkflowExecutionCommandAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RequestCancelExternalWorkflowExecutionCommandAttributes) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *RequestCancelExternalWorkflowExecutionCommandAttributes) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. +func (x *RequestCancelExternalWorkflowExecutionCommandAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +func (x *RequestCancelExternalWorkflowExecutionCommandAttributes) GetChildWorkflowOnly() bool { + if x != nil { + return x.ChildWorkflowOnly + } + return false +} + +func (x *RequestCancelExternalWorkflowExecutionCommandAttributes) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type SignalExternalWorkflowExecutionCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated. Cross-namespace operations are disabled by default as of server 1.30.1. + // + // Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Execution *v1.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + // The workflow author-defined name of the signal to send to the workflow. + SignalName string `protobuf:"bytes,3,opt,name=signal_name,json=signalName,proto3" json:"signal_name,omitempty"` + // Serialized value(s) to provide with the signal. + Input *v1.Payloads `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` + // Deprecated + // + // Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. + Control string `protobuf:"bytes,5,opt,name=control,proto3" json:"control,omitempty"` + // Set this to true if the workflow being cancelled is a child of the workflow originating this + // command. The request will be rejected if it is set to true and the target workflow is *not* + // a child of the requesting workflow. + ChildWorkflowOnly bool `protobuf:"varint,6,opt,name=child_workflow_only,json=childWorkflowOnly,proto3" json:"child_workflow_only,omitempty"` + // Headers that are passed by the workflow that is sending a signal to the external + // workflow that is receiving this signal. + Header *v1.Header `protobuf:"bytes,7,opt,name=header,proto3" json:"header,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignalExternalWorkflowExecutionCommandAttributes) Reset() { + *x = SignalExternalWorkflowExecutionCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignalExternalWorkflowExecutionCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignalExternalWorkflowExecutionCommandAttributes) ProtoMessage() {} + +func (x *SignalExternalWorkflowExecutionCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignalExternalWorkflowExecutionCommandAttributes.ProtoReflect.Descriptor instead. +func (*SignalExternalWorkflowExecutionCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{8} +} + +// Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. +func (x *SignalExternalWorkflowExecutionCommandAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *SignalExternalWorkflowExecutionCommandAttributes) GetExecution() *v1.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *SignalExternalWorkflowExecutionCommandAttributes) GetSignalName() string { + if x != nil { + return x.SignalName + } + return "" +} + +func (x *SignalExternalWorkflowExecutionCommandAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. +func (x *SignalExternalWorkflowExecutionCommandAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +func (x *SignalExternalWorkflowExecutionCommandAttributes) GetChildWorkflowOnly() bool { + if x != nil { + return x.ChildWorkflowOnly + } + return false +} + +func (x *SignalExternalWorkflowExecutionCommandAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +type UpsertWorkflowSearchAttributesCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,1,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertWorkflowSearchAttributesCommandAttributes) Reset() { + *x = UpsertWorkflowSearchAttributesCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertWorkflowSearchAttributesCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertWorkflowSearchAttributesCommandAttributes) ProtoMessage() {} + +func (x *UpsertWorkflowSearchAttributesCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertWorkflowSearchAttributesCommandAttributes.ProtoReflect.Descriptor instead. +func (*UpsertWorkflowSearchAttributesCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *UpsertWorkflowSearchAttributesCommandAttributes) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +type ModifyWorkflowPropertiesCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If set, update the workflow memo with the provided values. The values will be merged with + // the existing memo. If the user wants to delete values, a default/empty Payload should be + // used as the value for the key being deleted. + UpsertedMemo *v1.Memo `protobuf:"bytes,1,opt,name=upserted_memo,json=upsertedMemo,proto3" json:"upserted_memo,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ModifyWorkflowPropertiesCommandAttributes) Reset() { + *x = ModifyWorkflowPropertiesCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ModifyWorkflowPropertiesCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ModifyWorkflowPropertiesCommandAttributes) ProtoMessage() {} + +func (x *ModifyWorkflowPropertiesCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ModifyWorkflowPropertiesCommandAttributes.ProtoReflect.Descriptor instead. +func (*ModifyWorkflowPropertiesCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *ModifyWorkflowPropertiesCommandAttributes) GetUpsertedMemo() *v1.Memo { + if x != nil { + return x.UpsertedMemo + } + return nil +} + +type RecordMarkerCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + MarkerName string `protobuf:"bytes,1,opt,name=marker_name,json=markerName,proto3" json:"marker_name,omitempty"` + Details map[string]*v1.Payloads `protobuf:"bytes,2,rep,name=details,proto3" json:"details,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Header *v1.Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"` + Failure *v12.Failure `protobuf:"bytes,4,opt,name=failure,proto3" json:"failure,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecordMarkerCommandAttributes) Reset() { + *x = RecordMarkerCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecordMarkerCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordMarkerCommandAttributes) ProtoMessage() {} + +func (x *RecordMarkerCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordMarkerCommandAttributes.ProtoReflect.Descriptor instead. +func (*RecordMarkerCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{11} +} + +func (x *RecordMarkerCommandAttributes) GetMarkerName() string { + if x != nil { + return x.MarkerName + } + return "" +} + +func (x *RecordMarkerCommandAttributes) GetDetails() map[string]*v1.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *RecordMarkerCommandAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *RecordMarkerCommandAttributes) GetFailure() *v12.Failure { + if x != nil { + return x.Failure + } + return nil +} + +type ContinueAsNewWorkflowExecutionCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,1,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + TaskQueue *v11.TaskQueue `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + Input *v1.Payloads `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` + // Timeout of a single workflow run. + WorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,4,opt,name=workflow_run_timeout,json=workflowRunTimeout,proto3" json:"workflow_run_timeout,omitempty"` + // Timeout of a single workflow task. + WorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=workflow_task_timeout,json=workflowTaskTimeout,proto3" json:"workflow_task_timeout,omitempty"` + // How long the workflow start will be delayed - not really a "backoff" in the traditional sense. + BackoffStartInterval *durationpb.Duration `protobuf:"bytes,6,opt,name=backoff_start_interval,json=backoffStartInterval,proto3" json:"backoff_start_interval,omitempty"` + RetryPolicy *v1.RetryPolicy `protobuf:"bytes,7,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // Should be removed + Initiator v13.ContinueAsNewInitiator `protobuf:"varint,8,opt,name=initiator,proto3,enum=temporal.api.enums.v1.ContinueAsNewInitiator" json:"initiator,omitempty"` + // Should be removed + Failure *v12.Failure `protobuf:"bytes,9,opt,name=failure,proto3" json:"failure,omitempty"` + // Should be removed + LastCompletionResult *v1.Payloads `protobuf:"bytes,10,opt,name=last_completion_result,json=lastCompletionResult,proto3" json:"last_completion_result,omitempty"` + // Should be removed. Not necessarily unused but unclear and not exposed by SDKs. + CronSchedule string `protobuf:"bytes,11,opt,name=cron_schedule,json=cronSchedule,proto3" json:"cron_schedule,omitempty"` + Header *v1.Header `protobuf:"bytes,12,opt,name=header,proto3" json:"header,omitempty"` + Memo *v1.Memo `protobuf:"bytes,13,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,14,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // If this is set, the new execution inherits the Build ID of the current execution. Otherwise, + // the assignment rules will be used to independently assign a Build ID to the new execution. + // Deprecated. Only considered for versioning v0.2. + // + // Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. + InheritBuildId bool `protobuf:"varint,15,opt,name=inherit_build_id,json=inheritBuildId,proto3" json:"inherit_build_id,omitempty"` + // Experimental. Optionally decide the versioning behavior that the first task of the new run should use. + // For example, choose to AutoUpgrade on continue-as-new instead of inheriting the pinned version + // of the previous run. + InitialVersioningBehavior v13.ContinueAsNewVersioningBehavior `protobuf:"varint,16,opt,name=initial_versioning_behavior,json=initialVersioningBehavior,proto3,enum=temporal.api.enums.v1.ContinueAsNewVersioningBehavior" json:"initial_versioning_behavior,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) Reset() { + *x = ContinueAsNewWorkflowExecutionCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ContinueAsNewWorkflowExecutionCommandAttributes) ProtoMessage() {} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ContinueAsNewWorkflowExecutionCommandAttributes.ProtoReflect.Descriptor instead. +func (*ContinueAsNewWorkflowExecutionCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{12} +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetTaskQueue() *v11.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowRunTimeout + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowTaskTimeout + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetBackoffStartInterval() *durationpb.Duration { + if x != nil { + return x.BackoffStartInterval + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetInitiator() v13.ContinueAsNewInitiator { + if x != nil { + return x.Initiator + } + return v13.ContinueAsNewInitiator(0) +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetFailure() *v12.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetLastCompletionResult() *v1.Payloads { + if x != nil { + return x.LastCompletionResult + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetCronSchedule() string { + if x != nil { + return x.CronSchedule + } + return "" +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetMemo() *v1.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetInheritBuildId() bool { + if x != nil { + return x.InheritBuildId + } + return false +} + +func (x *ContinueAsNewWorkflowExecutionCommandAttributes) GetInitialVersioningBehavior() v13.ContinueAsNewVersioningBehavior { + if x != nil { + return x.InitialVersioningBehavior + } + return v13.ContinueAsNewVersioningBehavior(0) +} + +type StartChildWorkflowExecutionCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated. Cross-namespace operations are disabled by default as of server 1.30.1. + // + // Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + TaskQueue *v11.TaskQueue `protobuf:"bytes,4,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + Input *v1.Payloads `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"` + // Total workflow execution timeout including retries and continue as new. + WorkflowExecutionTimeout *durationpb.Duration `protobuf:"bytes,6,opt,name=workflow_execution_timeout,json=workflowExecutionTimeout,proto3" json:"workflow_execution_timeout,omitempty"` + // Timeout of a single workflow run. + WorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=workflow_run_timeout,json=workflowRunTimeout,proto3" json:"workflow_run_timeout,omitempty"` + // Timeout of a single workflow task. + WorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=workflow_task_timeout,json=workflowTaskTimeout,proto3" json:"workflow_task_timeout,omitempty"` + // Default: PARENT_CLOSE_POLICY_TERMINATE. + ParentClosePolicy v13.ParentClosePolicy `protobuf:"varint,9,opt,name=parent_close_policy,json=parentClosePolicy,proto3,enum=temporal.api.enums.v1.ParentClosePolicy" json:"parent_close_policy,omitempty"` + Control string `protobuf:"bytes,10,opt,name=control,proto3" json:"control,omitempty"` + // Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE. + WorkflowIdReusePolicy v13.WorkflowIdReusePolicy `protobuf:"varint,11,opt,name=workflow_id_reuse_policy,json=workflowIdReusePolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdReusePolicy" json:"workflow_id_reuse_policy,omitempty"` + RetryPolicy *v1.RetryPolicy `protobuf:"bytes,12,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // Establish a cron schedule for the child workflow. + CronSchedule string `protobuf:"bytes,13,opt,name=cron_schedule,json=cronSchedule,proto3" json:"cron_schedule,omitempty"` + Header *v1.Header `protobuf:"bytes,14,opt,name=header,proto3" json:"header,omitempty"` + Memo *v1.Memo `protobuf:"bytes,15,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,16,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // If this is set, the child workflow inherits the Build ID of the parent. Otherwise, the assignment + // rules of the child's Task Queue will be used to independently assign a Build ID to it. + // Deprecated. Only considered for versioning v0.2. + // + // Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. + InheritBuildId bool `protobuf:"varint,17,opt,name=inherit_build_id,json=inheritBuildId,proto3" json:"inherit_build_id,omitempty"` + // Priority metadata. If this message is not present, or any fields are not + // present, they inherit the values from the workflow. + Priority *v1.Priority `protobuf:"bytes,18,opt,name=priority,proto3" json:"priority,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartChildWorkflowExecutionCommandAttributes) Reset() { + *x = StartChildWorkflowExecutionCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartChildWorkflowExecutionCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartChildWorkflowExecutionCommandAttributes) ProtoMessage() {} + +func (x *StartChildWorkflowExecutionCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartChildWorkflowExecutionCommandAttributes.ProtoReflect.Descriptor instead. +func (*StartChildWorkflowExecutionCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{13} +} + +// Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. +func (x *StartChildWorkflowExecutionCommandAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetTaskQueue() *v11.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetWorkflowExecutionTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowExecutionTimeout + } + return nil +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowRunTimeout + } + return nil +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowTaskTimeout + } + return nil +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetParentClosePolicy() v13.ParentClosePolicy { + if x != nil { + return x.ParentClosePolicy + } + return v13.ParentClosePolicy(0) +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetWorkflowIdReusePolicy() v13.WorkflowIdReusePolicy { + if x != nil { + return x.WorkflowIdReusePolicy + } + return v13.WorkflowIdReusePolicy(0) +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetCronSchedule() string { + if x != nil { + return x.CronSchedule + } + return "" +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetMemo() *v1.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/command/v1/message.proto. +func (x *StartChildWorkflowExecutionCommandAttributes) GetInheritBuildId() bool { + if x != nil { + return x.InheritBuildId + } + return false +} + +func (x *StartChildWorkflowExecutionCommandAttributes) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +type ProtocolMessageCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The message ID of the message to which this command is a pointer. + MessageId string `protobuf:"bytes,1,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ProtocolMessageCommandAttributes) Reset() { + *x = ProtocolMessageCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ProtocolMessageCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ProtocolMessageCommandAttributes) ProtoMessage() {} + +func (x *ProtocolMessageCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ProtocolMessageCommandAttributes.ProtoReflect.Descriptor instead. +func (*ProtocolMessageCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{14} +} + +func (x *ProtocolMessageCommandAttributes) GetMessageId() string { + if x != nil { + return x.MessageId + } + return "" +} + +type ScheduleNexusOperationCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Endpoint name, must exist in the endpoint registry or this command will fail. + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Service name. + Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` + // Operation name. + Operation string `protobuf:"bytes,3,opt,name=operation,proto3" json:"operation,omitempty"` + // Input for the operation. The server converts this into Nexus request content and the appropriate content headers + // internally when sending the StartOperation request. On the handler side, if it is also backed by Temporal, the + // content is transformed back to the original Payload sent in this command. + Input *v1.Payload `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` + // Schedule-to-close timeout for this operation. + // Indicates how long the caller is willing to wait for operation completion. + // Calls are retried internally by the server. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Header to attach to the Nexus request. + // Users are responsible for encrypting sensitive data in this header as it is stored in workflow history and + // transmitted to external services as-is. + // This is useful for propagating tracing information. + // Note these headers are not the same as Temporal headers on internal activities and child workflows, these are + // transmitted to Nexus operations that may be external and are not traditional payloads. + NexusHeader map[string]string `protobuf:"bytes,6,rep,name=nexus_header,json=nexusHeader,proto3" json:"nexus_header,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Schedule-to-start timeout for this operation. + // Indicates how long the caller is willing to wait for the operation to be started (or completed if synchronous) + // by the handler. If the operation is not started within this timeout, it will fail with + // TIMEOUT_TYPE_SCHEDULE_TO_START. + // If not set or zero, no schedule-to-start timeout is enforced. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + // + // Requires server version 1.31.0 or later. + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Start-to-close timeout for this operation. + // Indicates how long the caller is willing to wait for an asynchronous operation to complete after it has been + // started. If the operation does not complete within this timeout after starting, it will fail with + // TIMEOUT_TYPE_START_TO_CLOSE. + // Only applies to asynchronous operations. Synchronous operations ignore this timeout. + // If not set or zero, no start-to-close timeout is enforced. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + // + // Requires server version 1.31.0 or later. + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleNexusOperationCommandAttributes) Reset() { + *x = ScheduleNexusOperationCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleNexusOperationCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleNexusOperationCommandAttributes) ProtoMessage() {} + +func (x *ScheduleNexusOperationCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleNexusOperationCommandAttributes.ProtoReflect.Descriptor instead. +func (*ScheduleNexusOperationCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{15} +} + +func (x *ScheduleNexusOperationCommandAttributes) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *ScheduleNexusOperationCommandAttributes) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *ScheduleNexusOperationCommandAttributes) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +func (x *ScheduleNexusOperationCommandAttributes) GetInput() *v1.Payload { + if x != nil { + return x.Input + } + return nil +} + +func (x *ScheduleNexusOperationCommandAttributes) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *ScheduleNexusOperationCommandAttributes) GetNexusHeader() map[string]string { + if x != nil { + return x.NexusHeader + } + return nil +} + +func (x *ScheduleNexusOperationCommandAttributes) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *ScheduleNexusOperationCommandAttributes) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +type RequestCancelNexusOperationCommandAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The `NEXUS_OPERATION_SCHEDULED` event ID (a unique identifier) for the operation to be canceled. + // The operation may ignore cancellation and end up with any completion state. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelNexusOperationCommandAttributes) Reset() { + *x = RequestCancelNexusOperationCommandAttributes{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelNexusOperationCommandAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelNexusOperationCommandAttributes) ProtoMessage() {} + +func (x *RequestCancelNexusOperationCommandAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelNexusOperationCommandAttributes.ProtoReflect.Descriptor instead. +func (*RequestCancelNexusOperationCommandAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{16} +} + +func (x *RequestCancelNexusOperationCommandAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +type Command struct { + state protoimpl.MessageState `protogen:"open.v1"` + CommandType v13.CommandType `protobuf:"varint,1,opt,name=command_type,json=commandType,proto3,enum=temporal.api.enums.v1.CommandType" json:"command_type,omitempty"` + // Metadata on the command. This is sometimes carried over to the history event if one is + // created as a result of the command. Most commands won't have this information, and how this + // information is used is dependent upon the interface that reads it. + // + // Current well-known uses: + // - start_child_workflow_execution_command_attributes - populates + // temporal.api.workflow.v1.WorkflowExecutionInfo.user_metadata where the summary and details + // are used by user interfaces to show fixed as-of-start workflow summary and details. + // - start_timer_command_attributes - populates temporal.api.history.v1.HistoryEvent for timer + // started where the summary is used to identify the timer. + UserMetadata *v14.UserMetadata `protobuf:"bytes,301,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + // The command details. The type must match that in `command_type`. + // + // Types that are valid to be assigned to Attributes: + // + // *Command_ScheduleActivityTaskCommandAttributes + // *Command_StartTimerCommandAttributes + // *Command_CompleteWorkflowExecutionCommandAttributes + // *Command_FailWorkflowExecutionCommandAttributes + // *Command_RequestCancelActivityTaskCommandAttributes + // *Command_CancelTimerCommandAttributes + // *Command_CancelWorkflowExecutionCommandAttributes + // *Command_RequestCancelExternalWorkflowExecutionCommandAttributes + // *Command_RecordMarkerCommandAttributes + // *Command_ContinueAsNewWorkflowExecutionCommandAttributes + // *Command_StartChildWorkflowExecutionCommandAttributes + // *Command_SignalExternalWorkflowExecutionCommandAttributes + // *Command_UpsertWorkflowSearchAttributesCommandAttributes + // *Command_ProtocolMessageCommandAttributes + // *Command_ModifyWorkflowPropertiesCommandAttributes + // *Command_ScheduleNexusOperationCommandAttributes + // *Command_RequestCancelNexusOperationCommandAttributes + Attributes isCommand_Attributes `protobuf_oneof:"attributes"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Command) Reset() { + *x = Command{} + mi := &file_temporal_api_command_v1_message_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Command) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Command) ProtoMessage() {} + +func (x *Command) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_command_v1_message_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Command.ProtoReflect.Descriptor instead. +func (*Command) Descriptor() ([]byte, []int) { + return file_temporal_api_command_v1_message_proto_rawDescGZIP(), []int{17} +} + +func (x *Command) GetCommandType() v13.CommandType { + if x != nil { + return x.CommandType + } + return v13.CommandType(0) +} + +func (x *Command) GetUserMetadata() *v14.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +func (x *Command) GetAttributes() isCommand_Attributes { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *Command) GetScheduleActivityTaskCommandAttributes() *ScheduleActivityTaskCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_ScheduleActivityTaskCommandAttributes); ok { + return x.ScheduleActivityTaskCommandAttributes + } + } + return nil +} + +func (x *Command) GetStartTimerCommandAttributes() *StartTimerCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_StartTimerCommandAttributes); ok { + return x.StartTimerCommandAttributes + } + } + return nil +} + +func (x *Command) GetCompleteWorkflowExecutionCommandAttributes() *CompleteWorkflowExecutionCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_CompleteWorkflowExecutionCommandAttributes); ok { + return x.CompleteWorkflowExecutionCommandAttributes + } + } + return nil +} + +func (x *Command) GetFailWorkflowExecutionCommandAttributes() *FailWorkflowExecutionCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_FailWorkflowExecutionCommandAttributes); ok { + return x.FailWorkflowExecutionCommandAttributes + } + } + return nil +} + +func (x *Command) GetRequestCancelActivityTaskCommandAttributes() *RequestCancelActivityTaskCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_RequestCancelActivityTaskCommandAttributes); ok { + return x.RequestCancelActivityTaskCommandAttributes + } + } + return nil +} + +func (x *Command) GetCancelTimerCommandAttributes() *CancelTimerCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_CancelTimerCommandAttributes); ok { + return x.CancelTimerCommandAttributes + } + } + return nil +} + +func (x *Command) GetCancelWorkflowExecutionCommandAttributes() *CancelWorkflowExecutionCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_CancelWorkflowExecutionCommandAttributes); ok { + return x.CancelWorkflowExecutionCommandAttributes + } + } + return nil +} + +func (x *Command) GetRequestCancelExternalWorkflowExecutionCommandAttributes() *RequestCancelExternalWorkflowExecutionCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_RequestCancelExternalWorkflowExecutionCommandAttributes); ok { + return x.RequestCancelExternalWorkflowExecutionCommandAttributes + } + } + return nil +} + +func (x *Command) GetRecordMarkerCommandAttributes() *RecordMarkerCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_RecordMarkerCommandAttributes); ok { + return x.RecordMarkerCommandAttributes + } + } + return nil +} + +func (x *Command) GetContinueAsNewWorkflowExecutionCommandAttributes() *ContinueAsNewWorkflowExecutionCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_ContinueAsNewWorkflowExecutionCommandAttributes); ok { + return x.ContinueAsNewWorkflowExecutionCommandAttributes + } + } + return nil +} + +func (x *Command) GetStartChildWorkflowExecutionCommandAttributes() *StartChildWorkflowExecutionCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_StartChildWorkflowExecutionCommandAttributes); ok { + return x.StartChildWorkflowExecutionCommandAttributes + } + } + return nil +} + +func (x *Command) GetSignalExternalWorkflowExecutionCommandAttributes() *SignalExternalWorkflowExecutionCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_SignalExternalWorkflowExecutionCommandAttributes); ok { + return x.SignalExternalWorkflowExecutionCommandAttributes + } + } + return nil +} + +func (x *Command) GetUpsertWorkflowSearchAttributesCommandAttributes() *UpsertWorkflowSearchAttributesCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_UpsertWorkflowSearchAttributesCommandAttributes); ok { + return x.UpsertWorkflowSearchAttributesCommandAttributes + } + } + return nil +} + +func (x *Command) GetProtocolMessageCommandAttributes() *ProtocolMessageCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_ProtocolMessageCommandAttributes); ok { + return x.ProtocolMessageCommandAttributes + } + } + return nil +} + +func (x *Command) GetModifyWorkflowPropertiesCommandAttributes() *ModifyWorkflowPropertiesCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_ModifyWorkflowPropertiesCommandAttributes); ok { + return x.ModifyWorkflowPropertiesCommandAttributes + } + } + return nil +} + +func (x *Command) GetScheduleNexusOperationCommandAttributes() *ScheduleNexusOperationCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_ScheduleNexusOperationCommandAttributes); ok { + return x.ScheduleNexusOperationCommandAttributes + } + } + return nil +} + +func (x *Command) GetRequestCancelNexusOperationCommandAttributes() *RequestCancelNexusOperationCommandAttributes { + if x != nil { + if x, ok := x.Attributes.(*Command_RequestCancelNexusOperationCommandAttributes); ok { + return x.RequestCancelNexusOperationCommandAttributes + } + } + return nil +} + +type isCommand_Attributes interface { + isCommand_Attributes() +} + +type Command_ScheduleActivityTaskCommandAttributes struct { + ScheduleActivityTaskCommandAttributes *ScheduleActivityTaskCommandAttributes `protobuf:"bytes,2,opt,name=schedule_activity_task_command_attributes,json=scheduleActivityTaskCommandAttributes,proto3,oneof"` +} + +type Command_StartTimerCommandAttributes struct { + StartTimerCommandAttributes *StartTimerCommandAttributes `protobuf:"bytes,3,opt,name=start_timer_command_attributes,json=startTimerCommandAttributes,proto3,oneof"` +} + +type Command_CompleteWorkflowExecutionCommandAttributes struct { + CompleteWorkflowExecutionCommandAttributes *CompleteWorkflowExecutionCommandAttributes `protobuf:"bytes,4,opt,name=complete_workflow_execution_command_attributes,json=completeWorkflowExecutionCommandAttributes,proto3,oneof"` +} + +type Command_FailWorkflowExecutionCommandAttributes struct { + FailWorkflowExecutionCommandAttributes *FailWorkflowExecutionCommandAttributes `protobuf:"bytes,5,opt,name=fail_workflow_execution_command_attributes,json=failWorkflowExecutionCommandAttributes,proto3,oneof"` +} + +type Command_RequestCancelActivityTaskCommandAttributes struct { + RequestCancelActivityTaskCommandAttributes *RequestCancelActivityTaskCommandAttributes `protobuf:"bytes,6,opt,name=request_cancel_activity_task_command_attributes,json=requestCancelActivityTaskCommandAttributes,proto3,oneof"` +} + +type Command_CancelTimerCommandAttributes struct { + CancelTimerCommandAttributes *CancelTimerCommandAttributes `protobuf:"bytes,7,opt,name=cancel_timer_command_attributes,json=cancelTimerCommandAttributes,proto3,oneof"` +} + +type Command_CancelWorkflowExecutionCommandAttributes struct { + CancelWorkflowExecutionCommandAttributes *CancelWorkflowExecutionCommandAttributes `protobuf:"bytes,8,opt,name=cancel_workflow_execution_command_attributes,json=cancelWorkflowExecutionCommandAttributes,proto3,oneof"` +} + +type Command_RequestCancelExternalWorkflowExecutionCommandAttributes struct { + RequestCancelExternalWorkflowExecutionCommandAttributes *RequestCancelExternalWorkflowExecutionCommandAttributes `protobuf:"bytes,9,opt,name=request_cancel_external_workflow_execution_command_attributes,json=requestCancelExternalWorkflowExecutionCommandAttributes,proto3,oneof"` +} + +type Command_RecordMarkerCommandAttributes struct { + RecordMarkerCommandAttributes *RecordMarkerCommandAttributes `protobuf:"bytes,10,opt,name=record_marker_command_attributes,json=recordMarkerCommandAttributes,proto3,oneof"` +} + +type Command_ContinueAsNewWorkflowExecutionCommandAttributes struct { + ContinueAsNewWorkflowExecutionCommandAttributes *ContinueAsNewWorkflowExecutionCommandAttributes `protobuf:"bytes,11,opt,name=continue_as_new_workflow_execution_command_attributes,json=continueAsNewWorkflowExecutionCommandAttributes,proto3,oneof"` +} + +type Command_StartChildWorkflowExecutionCommandAttributes struct { + StartChildWorkflowExecutionCommandAttributes *StartChildWorkflowExecutionCommandAttributes `protobuf:"bytes,12,opt,name=start_child_workflow_execution_command_attributes,json=startChildWorkflowExecutionCommandAttributes,proto3,oneof"` +} + +type Command_SignalExternalWorkflowExecutionCommandAttributes struct { + SignalExternalWorkflowExecutionCommandAttributes *SignalExternalWorkflowExecutionCommandAttributes `protobuf:"bytes,13,opt,name=signal_external_workflow_execution_command_attributes,json=signalExternalWorkflowExecutionCommandAttributes,proto3,oneof"` +} + +type Command_UpsertWorkflowSearchAttributesCommandAttributes struct { + UpsertWorkflowSearchAttributesCommandAttributes *UpsertWorkflowSearchAttributesCommandAttributes `protobuf:"bytes,14,opt,name=upsert_workflow_search_attributes_command_attributes,json=upsertWorkflowSearchAttributesCommandAttributes,proto3,oneof"` +} + +type Command_ProtocolMessageCommandAttributes struct { + ProtocolMessageCommandAttributes *ProtocolMessageCommandAttributes `protobuf:"bytes,15,opt,name=protocol_message_command_attributes,json=protocolMessageCommandAttributes,proto3,oneof"` +} + +type Command_ModifyWorkflowPropertiesCommandAttributes struct { + // 16 is available for use - it was used as part of a prototype that never made it into a release + ModifyWorkflowPropertiesCommandAttributes *ModifyWorkflowPropertiesCommandAttributes `protobuf:"bytes,17,opt,name=modify_workflow_properties_command_attributes,json=modifyWorkflowPropertiesCommandAttributes,proto3,oneof"` +} + +type Command_ScheduleNexusOperationCommandAttributes struct { + ScheduleNexusOperationCommandAttributes *ScheduleNexusOperationCommandAttributes `protobuf:"bytes,18,opt,name=schedule_nexus_operation_command_attributes,json=scheduleNexusOperationCommandAttributes,proto3,oneof"` +} + +type Command_RequestCancelNexusOperationCommandAttributes struct { + RequestCancelNexusOperationCommandAttributes *RequestCancelNexusOperationCommandAttributes `protobuf:"bytes,19,opt,name=request_cancel_nexus_operation_command_attributes,json=requestCancelNexusOperationCommandAttributes,proto3,oneof"` +} + +func (*Command_ScheduleActivityTaskCommandAttributes) isCommand_Attributes() {} + +func (*Command_StartTimerCommandAttributes) isCommand_Attributes() {} + +func (*Command_CompleteWorkflowExecutionCommandAttributes) isCommand_Attributes() {} + +func (*Command_FailWorkflowExecutionCommandAttributes) isCommand_Attributes() {} + +func (*Command_RequestCancelActivityTaskCommandAttributes) isCommand_Attributes() {} + +func (*Command_CancelTimerCommandAttributes) isCommand_Attributes() {} + +func (*Command_CancelWorkflowExecutionCommandAttributes) isCommand_Attributes() {} + +func (*Command_RequestCancelExternalWorkflowExecutionCommandAttributes) isCommand_Attributes() {} + +func (*Command_RecordMarkerCommandAttributes) isCommand_Attributes() {} + +func (*Command_ContinueAsNewWorkflowExecutionCommandAttributes) isCommand_Attributes() {} + +func (*Command_StartChildWorkflowExecutionCommandAttributes) isCommand_Attributes() {} + +func (*Command_SignalExternalWorkflowExecutionCommandAttributes) isCommand_Attributes() {} + +func (*Command_UpsertWorkflowSearchAttributesCommandAttributes) isCommand_Attributes() {} + +func (*Command_ProtocolMessageCommandAttributes) isCommand_Attributes() {} + +func (*Command_ModifyWorkflowPropertiesCommandAttributes) isCommand_Attributes() {} + +func (*Command_ScheduleNexusOperationCommandAttributes) isCommand_Attributes() {} + +func (*Command_RequestCancelNexusOperationCommandAttributes) isCommand_Attributes() {} + +var File_temporal_api_command_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_command_v1_message_proto_rawDesc = "" + + "\n" + + "%temporal/api/command/v1/message.proto\x12\x17temporal.api.command.v1\x1a\x1egoogle/protobuf/duration.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a(temporal/api/enums/v1/command_type.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a'temporal/api/taskqueue/v1/message.proto\x1a'temporal/api/sdk/v1/user_metadata.proto\"\x83\a\n" + + "%ScheduleActivityTaskCommandAttributes\x12\x1f\n" + + "\vactivity_id\x18\x01 \x01(\tR\n" + + "activityId\x12I\n" + + "\ractivity_type\x18\x02 \x01(\v2$.temporal.api.common.v1.ActivityTypeR\factivityType\x12C\n" + + "\n" + + "task_queue\x18\x04 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x06header\x18\x05 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x126\n" + + "\x05input\x18\x06 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12T\n" + + "\x19schedule_to_close_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12T\n" + + "\x19schedule_to_start_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\t \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x12F\n" + + "\x11heartbeat_timeout\x18\n" + + " \x01(\v2\x19.google.protobuf.DurationR\x10heartbeatTimeout\x12F\n" + + "\fretry_policy\x18\v \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x126\n" + + "\x17request_eager_execution\x18\f \x01(\bR\x15requestEagerExecution\x121\n" + + "\x15use_workflow_build_id\x18\r \x01(\bR\x12useWorkflowBuildId\x12<\n" + + "\bpriority\x18\x0e \x01(\v2 .temporal.api.common.v1.PriorityR\bpriorityJ\x04\b\x03\x10\x04\"Z\n" + + "*RequestCancelActivityTaskCommandAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\"\x86\x01\n" + + "\x1bStartTimerCommandAttributes\x12\x19\n" + + "\btimer_id\x18\x01 \x01(\tR\atimerId\x12L\n" + + "\x15start_to_fire_timeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x12startToFireTimeout\"f\n" + + "*CompleteWorkflowExecutionCommandAttributes\x128\n" + + "\x06result\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\x06result\"d\n" + + "&FailWorkflowExecutionCommandAttributes\x12:\n" + + "\afailure\x18\x01 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\"9\n" + + "\x1cCancelTimerCommandAttributes\x12\x19\n" + + "\btimer_id\x18\x01 \x01(\tR\atimerId\"f\n" + + "(CancelWorkflowExecutionCommandAttributes\x12:\n" + + "\adetails\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\"\xf9\x01\n" + + "7RequestCancelExternalWorkflowExecutionCommandAttributes\x12 \n" + + "\tnamespace\x18\x01 \x01(\tB\x02\x18\x01R\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1c\n" + + "\acontrol\x18\x04 \x01(\tB\x02\x18\x01R\acontrol\x12.\n" + + "\x13child_workflow_only\x18\x05 \x01(\bR\x11childWorkflowOnly\x12\x16\n" + + "\x06reason\x18\x06 \x01(\tR\x06reason\"\xfc\x02\n" + + "0SignalExternalWorkflowExecutionCommandAttributes\x12 \n" + + "\tnamespace\x18\x01 \x01(\tB\x02\x18\x01R\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x12\x1f\n" + + "\vsignal_name\x18\x03 \x01(\tR\n" + + "signalName\x126\n" + + "\x05input\x18\x04 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12\x1c\n" + + "\acontrol\x18\x05 \x01(\tB\x02\x18\x01R\acontrol\x12.\n" + + "\x13child_workflow_only\x18\x06 \x01(\bR\x11childWorkflowOnly\x126\n" + + "\x06header\x18\a \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\"\x88\x01\n" + + "/UpsertWorkflowSearchAttributesCommandAttributes\x12U\n" + + "\x11search_attributes\x18\x01 \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\"n\n" + + ")ModifyWorkflowPropertiesCommandAttributes\x12A\n" + + "\rupserted_memo\x18\x01 \x01(\v2\x1c.temporal.api.common.v1.MemoR\fupsertedMemo\"\xf1\x02\n" + + "\x1dRecordMarkerCommandAttributes\x12\x1f\n" + + "\vmarker_name\x18\x01 \x01(\tR\n" + + "markerName\x12]\n" + + "\adetails\x18\x02 \x03(\v2C.temporal.api.command.v1.RecordMarkerCommandAttributes.DetailsEntryR\adetails\x126\n" + + "\x06header\x18\x03 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12:\n" + + "\afailure\x18\x04 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x1a\\\n" + + "\fDetailsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x126\n" + + "\x05value\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05value:\x028\x01\"\x9b\t\n" + + "/ContinueAsNewWorkflowExecutionCommandAttributes\x12I\n" + + "\rworkflow_type\x18\x01 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12C\n" + + "\n" + + "task_queue\x18\x02 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x05input\x18\x03 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12K\n" + + "\x14workflow_run_timeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x12workflowRunTimeout\x12M\n" + + "\x15workflow_task_timeout\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\x13workflowTaskTimeout\x12O\n" + + "\x16backoff_start_interval\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x14backoffStartInterval\x12F\n" + + "\fretry_policy\x18\a \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12K\n" + + "\tinitiator\x18\b \x01(\x0e2-.temporal.api.enums.v1.ContinueAsNewInitiatorR\tinitiator\x12:\n" + + "\afailure\x18\t \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12V\n" + + "\x16last_completion_result\x18\n" + + " \x01(\v2 .temporal.api.common.v1.PayloadsR\x14lastCompletionResult\x12#\n" + + "\rcron_schedule\x18\v \x01(\tR\fcronSchedule\x126\n" + + "\x06header\x18\f \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x120\n" + + "\x04memo\x18\r \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\x0e \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12,\n" + + "\x10inherit_build_id\x18\x0f \x01(\bB\x02\x18\x01R\x0einheritBuildId\x12v\n" + + "\x1binitial_versioning_behavior\x18\x10 \x01(\x0e26.temporal.api.enums.v1.ContinueAsNewVersioningBehaviorR\x19initialVersioningBehavior\"\xa3\t\n" + + ",StartChildWorkflowExecutionCommandAttributes\x12 \n" + + "\tnamespace\x18\x01 \x01(\tB\x02\x18\x01R\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12C\n" + + "\n" + + "task_queue\x18\x04 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x05input\x18\x05 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12W\n" + + "\x1aworkflow_execution_timeout\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x18workflowExecutionTimeout\x12K\n" + + "\x14workflow_run_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x12workflowRunTimeout\x12M\n" + + "\x15workflow_task_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x13workflowTaskTimeout\x12X\n" + + "\x13parent_close_policy\x18\t \x01(\x0e2(.temporal.api.enums.v1.ParentClosePolicyR\x11parentClosePolicy\x12\x18\n" + + "\acontrol\x18\n" + + " \x01(\tR\acontrol\x12e\n" + + "\x18workflow_id_reuse_policy\x18\v \x01(\x0e2,.temporal.api.enums.v1.WorkflowIdReusePolicyR\x15workflowIdReusePolicy\x12F\n" + + "\fretry_policy\x18\f \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12#\n" + + "\rcron_schedule\x18\r \x01(\tR\fcronSchedule\x126\n" + + "\x06header\x18\x0e \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x120\n" + + "\x04memo\x18\x0f \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\x10 \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12,\n" + + "\x10inherit_build_id\x18\x11 \x01(\bB\x02\x18\x01R\x0einheritBuildId\x12<\n" + + "\bpriority\x18\x12 \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\"A\n" + + " ProtocolMessageCommandAttributes\x12\x1d\n" + + "\n" + + "message_id\x18\x01 \x01(\tR\tmessageId\"\xe6\x04\n" + + "'ScheduleNexusOperationCommandAttributes\x12\x1a\n" + + "\bendpoint\x18\x01 \x01(\tR\bendpoint\x12\x18\n" + + "\aservice\x18\x02 \x01(\tR\aservice\x12\x1c\n" + + "\toperation\x18\x03 \x01(\tR\toperation\x125\n" + + "\x05input\x18\x04 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05input\x12T\n" + + "\x19schedule_to_close_timeout\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12t\n" + + "\fnexus_header\x18\x06 \x03(\v2Q.temporal.api.command.v1.ScheduleNexusOperationCommandAttributes.NexusHeaderEntryR\vnexusHeader\x12T\n" + + "\x19schedule_to_start_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x1a>\n" + + "\x10NexusHeaderEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\\\n" + + ",RequestCancelNexusOperationCommandAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\"\xb0\x17\n" + + "\aCommand\x12E\n" + + "\fcommand_type\x18\x01 \x01(\x0e2\".temporal.api.enums.v1.CommandTypeR\vcommandType\x12G\n" + + "\ruser_metadata\x18\xad\x02 \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\x12\x9a\x01\n" + + ")schedule_activity_task_command_attributes\x18\x02 \x01(\v2>.temporal.api.command.v1.ScheduleActivityTaskCommandAttributesH\x00R%scheduleActivityTaskCommandAttributes\x12{\n" + + "\x1estart_timer_command_attributes\x18\x03 \x01(\v24.temporal.api.command.v1.StartTimerCommandAttributesH\x00R\x1bstartTimerCommandAttributes\x12\xa9\x01\n" + + ".complete_workflow_execution_command_attributes\x18\x04 \x01(\v2C.temporal.api.command.v1.CompleteWorkflowExecutionCommandAttributesH\x00R*completeWorkflowExecutionCommandAttributes\x12\x9d\x01\n" + + "*fail_workflow_execution_command_attributes\x18\x05 \x01(\v2?.temporal.api.command.v1.FailWorkflowExecutionCommandAttributesH\x00R&failWorkflowExecutionCommandAttributes\x12\xaa\x01\n" + + "/request_cancel_activity_task_command_attributes\x18\x06 \x01(\v2C.temporal.api.command.v1.RequestCancelActivityTaskCommandAttributesH\x00R*requestCancelActivityTaskCommandAttributes\x12~\n" + + "\x1fcancel_timer_command_attributes\x18\a \x01(\v25.temporal.api.command.v1.CancelTimerCommandAttributesH\x00R\x1ccancelTimerCommandAttributes\x12\xa3\x01\n" + + ",cancel_workflow_execution_command_attributes\x18\b \x01(\v2A.temporal.api.command.v1.CancelWorkflowExecutionCommandAttributesH\x00R(cancelWorkflowExecutionCommandAttributes\x12\xd2\x01\n" + + "=request_cancel_external_workflow_execution_command_attributes\x18\t \x01(\v2P.temporal.api.command.v1.RequestCancelExternalWorkflowExecutionCommandAttributesH\x00R7requestCancelExternalWorkflowExecutionCommandAttributes\x12\x81\x01\n" + + " record_marker_command_attributes\x18\n" + + " \x01(\v26.temporal.api.command.v1.RecordMarkerCommandAttributesH\x00R\x1drecordMarkerCommandAttributes\x12\xba\x01\n" + + "5continue_as_new_workflow_execution_command_attributes\x18\v \x01(\v2H.temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributesH\x00R/continueAsNewWorkflowExecutionCommandAttributes\x12\xb0\x01\n" + + "1start_child_workflow_execution_command_attributes\x18\f \x01(\v2E.temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributesH\x00R,startChildWorkflowExecutionCommandAttributes\x12\xbc\x01\n" + + "5signal_external_workflow_execution_command_attributes\x18\r \x01(\v2I.temporal.api.command.v1.SignalExternalWorkflowExecutionCommandAttributesH\x00R0signalExternalWorkflowExecutionCommandAttributes\x12\xb9\x01\n" + + "4upsert_workflow_search_attributes_command_attributes\x18\x0e \x01(\v2H.temporal.api.command.v1.UpsertWorkflowSearchAttributesCommandAttributesH\x00R/upsertWorkflowSearchAttributesCommandAttributes\x12\x8a\x01\n" + + "#protocol_message_command_attributes\x18\x0f \x01(\v29.temporal.api.command.v1.ProtocolMessageCommandAttributesH\x00R protocolMessageCommandAttributes\x12\xa6\x01\n" + + "-modify_workflow_properties_command_attributes\x18\x11 \x01(\v2B.temporal.api.command.v1.ModifyWorkflowPropertiesCommandAttributesH\x00R)modifyWorkflowPropertiesCommandAttributes\x12\xa0\x01\n" + + "+schedule_nexus_operation_command_attributes\x18\x12 \x01(\v2@.temporal.api.command.v1.ScheduleNexusOperationCommandAttributesH\x00R'scheduleNexusOperationCommandAttributes\x12\xb0\x01\n" + + "1request_cancel_nexus_operation_command_attributes\x18\x13 \x01(\v2E.temporal.api.command.v1.RequestCancelNexusOperationCommandAttributesH\x00R,requestCancelNexusOperationCommandAttributesB\f\n" + + "\n" + + "attributesB\x8e\x01\n" + + "\x1aio.temporal.api.command.v1B\fMessageProtoP\x01Z%go.temporal.io/api/command/v1;command\xaa\x02\x19Temporalio.Api.Command.V1\xea\x02\x1cTemporalio::Api::Command::V1b\x06proto3" + +var ( + file_temporal_api_command_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_command_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_command_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_command_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_command_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_command_v1_message_proto_rawDesc), len(file_temporal_api_command_v1_message_proto_rawDesc))) + }) + return file_temporal_api_command_v1_message_proto_rawDescData +} + +var file_temporal_api_command_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 20) +var file_temporal_api_command_v1_message_proto_goTypes = []any{ + (*ScheduleActivityTaskCommandAttributes)(nil), // 0: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes + (*RequestCancelActivityTaskCommandAttributes)(nil), // 1: temporal.api.command.v1.RequestCancelActivityTaskCommandAttributes + (*StartTimerCommandAttributes)(nil), // 2: temporal.api.command.v1.StartTimerCommandAttributes + (*CompleteWorkflowExecutionCommandAttributes)(nil), // 3: temporal.api.command.v1.CompleteWorkflowExecutionCommandAttributes + (*FailWorkflowExecutionCommandAttributes)(nil), // 4: temporal.api.command.v1.FailWorkflowExecutionCommandAttributes + (*CancelTimerCommandAttributes)(nil), // 5: temporal.api.command.v1.CancelTimerCommandAttributes + (*CancelWorkflowExecutionCommandAttributes)(nil), // 6: temporal.api.command.v1.CancelWorkflowExecutionCommandAttributes + (*RequestCancelExternalWorkflowExecutionCommandAttributes)(nil), // 7: temporal.api.command.v1.RequestCancelExternalWorkflowExecutionCommandAttributes + (*SignalExternalWorkflowExecutionCommandAttributes)(nil), // 8: temporal.api.command.v1.SignalExternalWorkflowExecutionCommandAttributes + (*UpsertWorkflowSearchAttributesCommandAttributes)(nil), // 9: temporal.api.command.v1.UpsertWorkflowSearchAttributesCommandAttributes + (*ModifyWorkflowPropertiesCommandAttributes)(nil), // 10: temporal.api.command.v1.ModifyWorkflowPropertiesCommandAttributes + (*RecordMarkerCommandAttributes)(nil), // 11: temporal.api.command.v1.RecordMarkerCommandAttributes + (*ContinueAsNewWorkflowExecutionCommandAttributes)(nil), // 12: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes + (*StartChildWorkflowExecutionCommandAttributes)(nil), // 13: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes + (*ProtocolMessageCommandAttributes)(nil), // 14: temporal.api.command.v1.ProtocolMessageCommandAttributes + (*ScheduleNexusOperationCommandAttributes)(nil), // 15: temporal.api.command.v1.ScheduleNexusOperationCommandAttributes + (*RequestCancelNexusOperationCommandAttributes)(nil), // 16: temporal.api.command.v1.RequestCancelNexusOperationCommandAttributes + (*Command)(nil), // 17: temporal.api.command.v1.Command + nil, // 18: temporal.api.command.v1.RecordMarkerCommandAttributes.DetailsEntry + nil, // 19: temporal.api.command.v1.ScheduleNexusOperationCommandAttributes.NexusHeaderEntry + (*v1.ActivityType)(nil), // 20: temporal.api.common.v1.ActivityType + (*v11.TaskQueue)(nil), // 21: temporal.api.taskqueue.v1.TaskQueue + (*v1.Header)(nil), // 22: temporal.api.common.v1.Header + (*v1.Payloads)(nil), // 23: temporal.api.common.v1.Payloads + (*durationpb.Duration)(nil), // 24: google.protobuf.Duration + (*v1.RetryPolicy)(nil), // 25: temporal.api.common.v1.RetryPolicy + (*v1.Priority)(nil), // 26: temporal.api.common.v1.Priority + (*v12.Failure)(nil), // 27: temporal.api.failure.v1.Failure + (*v1.WorkflowExecution)(nil), // 28: temporal.api.common.v1.WorkflowExecution + (*v1.SearchAttributes)(nil), // 29: temporal.api.common.v1.SearchAttributes + (*v1.Memo)(nil), // 30: temporal.api.common.v1.Memo + (*v1.WorkflowType)(nil), // 31: temporal.api.common.v1.WorkflowType + (v13.ContinueAsNewInitiator)(0), // 32: temporal.api.enums.v1.ContinueAsNewInitiator + (v13.ContinueAsNewVersioningBehavior)(0), // 33: temporal.api.enums.v1.ContinueAsNewVersioningBehavior + (v13.ParentClosePolicy)(0), // 34: temporal.api.enums.v1.ParentClosePolicy + (v13.WorkflowIdReusePolicy)(0), // 35: temporal.api.enums.v1.WorkflowIdReusePolicy + (*v1.Payload)(nil), // 36: temporal.api.common.v1.Payload + (v13.CommandType)(0), // 37: temporal.api.enums.v1.CommandType + (*v14.UserMetadata)(nil), // 38: temporal.api.sdk.v1.UserMetadata +} +var file_temporal_api_command_v1_message_proto_depIdxs = []int32{ + 20, // 0: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.activity_type:type_name -> temporal.api.common.v1.ActivityType + 21, // 1: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 22, // 2: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.header:type_name -> temporal.api.common.v1.Header + 23, // 3: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.input:type_name -> temporal.api.common.v1.Payloads + 24, // 4: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 24, // 5: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 24, // 6: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.start_to_close_timeout:type_name -> google.protobuf.Duration + 24, // 7: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.heartbeat_timeout:type_name -> google.protobuf.Duration + 25, // 8: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 26, // 9: temporal.api.command.v1.ScheduleActivityTaskCommandAttributes.priority:type_name -> temporal.api.common.v1.Priority + 24, // 10: temporal.api.command.v1.StartTimerCommandAttributes.start_to_fire_timeout:type_name -> google.protobuf.Duration + 23, // 11: temporal.api.command.v1.CompleteWorkflowExecutionCommandAttributes.result:type_name -> temporal.api.common.v1.Payloads + 27, // 12: temporal.api.command.v1.FailWorkflowExecutionCommandAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 23, // 13: temporal.api.command.v1.CancelWorkflowExecutionCommandAttributes.details:type_name -> temporal.api.common.v1.Payloads + 28, // 14: temporal.api.command.v1.SignalExternalWorkflowExecutionCommandAttributes.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 23, // 15: temporal.api.command.v1.SignalExternalWorkflowExecutionCommandAttributes.input:type_name -> temporal.api.common.v1.Payloads + 22, // 16: temporal.api.command.v1.SignalExternalWorkflowExecutionCommandAttributes.header:type_name -> temporal.api.common.v1.Header + 29, // 17: temporal.api.command.v1.UpsertWorkflowSearchAttributesCommandAttributes.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 30, // 18: temporal.api.command.v1.ModifyWorkflowPropertiesCommandAttributes.upserted_memo:type_name -> temporal.api.common.v1.Memo + 18, // 19: temporal.api.command.v1.RecordMarkerCommandAttributes.details:type_name -> temporal.api.command.v1.RecordMarkerCommandAttributes.DetailsEntry + 22, // 20: temporal.api.command.v1.RecordMarkerCommandAttributes.header:type_name -> temporal.api.common.v1.Header + 27, // 21: temporal.api.command.v1.RecordMarkerCommandAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 31, // 22: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 21, // 23: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 23, // 24: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.input:type_name -> temporal.api.common.v1.Payloads + 24, // 25: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.workflow_run_timeout:type_name -> google.protobuf.Duration + 24, // 26: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.workflow_task_timeout:type_name -> google.protobuf.Duration + 24, // 27: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.backoff_start_interval:type_name -> google.protobuf.Duration + 25, // 28: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 32, // 29: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.initiator:type_name -> temporal.api.enums.v1.ContinueAsNewInitiator + 27, // 30: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 23, // 31: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.last_completion_result:type_name -> temporal.api.common.v1.Payloads + 22, // 32: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.header:type_name -> temporal.api.common.v1.Header + 30, // 33: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.memo:type_name -> temporal.api.common.v1.Memo + 29, // 34: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 33, // 35: temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes.initial_versioning_behavior:type_name -> temporal.api.enums.v1.ContinueAsNewVersioningBehavior + 31, // 36: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 21, // 37: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 23, // 38: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.input:type_name -> temporal.api.common.v1.Payloads + 24, // 39: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.workflow_execution_timeout:type_name -> google.protobuf.Duration + 24, // 40: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.workflow_run_timeout:type_name -> google.protobuf.Duration + 24, // 41: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.workflow_task_timeout:type_name -> google.protobuf.Duration + 34, // 42: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.parent_close_policy:type_name -> temporal.api.enums.v1.ParentClosePolicy + 35, // 43: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.workflow_id_reuse_policy:type_name -> temporal.api.enums.v1.WorkflowIdReusePolicy + 25, // 44: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 22, // 45: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.header:type_name -> temporal.api.common.v1.Header + 30, // 46: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.memo:type_name -> temporal.api.common.v1.Memo + 29, // 47: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 26, // 48: temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes.priority:type_name -> temporal.api.common.v1.Priority + 36, // 49: temporal.api.command.v1.ScheduleNexusOperationCommandAttributes.input:type_name -> temporal.api.common.v1.Payload + 24, // 50: temporal.api.command.v1.ScheduleNexusOperationCommandAttributes.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 19, // 51: temporal.api.command.v1.ScheduleNexusOperationCommandAttributes.nexus_header:type_name -> temporal.api.command.v1.ScheduleNexusOperationCommandAttributes.NexusHeaderEntry + 24, // 52: temporal.api.command.v1.ScheduleNexusOperationCommandAttributes.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 24, // 53: temporal.api.command.v1.ScheduleNexusOperationCommandAttributes.start_to_close_timeout:type_name -> google.protobuf.Duration + 37, // 54: temporal.api.command.v1.Command.command_type:type_name -> temporal.api.enums.v1.CommandType + 38, // 55: temporal.api.command.v1.Command.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 0, // 56: temporal.api.command.v1.Command.schedule_activity_task_command_attributes:type_name -> temporal.api.command.v1.ScheduleActivityTaskCommandAttributes + 2, // 57: temporal.api.command.v1.Command.start_timer_command_attributes:type_name -> temporal.api.command.v1.StartTimerCommandAttributes + 3, // 58: temporal.api.command.v1.Command.complete_workflow_execution_command_attributes:type_name -> temporal.api.command.v1.CompleteWorkflowExecutionCommandAttributes + 4, // 59: temporal.api.command.v1.Command.fail_workflow_execution_command_attributes:type_name -> temporal.api.command.v1.FailWorkflowExecutionCommandAttributes + 1, // 60: temporal.api.command.v1.Command.request_cancel_activity_task_command_attributes:type_name -> temporal.api.command.v1.RequestCancelActivityTaskCommandAttributes + 5, // 61: temporal.api.command.v1.Command.cancel_timer_command_attributes:type_name -> temporal.api.command.v1.CancelTimerCommandAttributes + 6, // 62: temporal.api.command.v1.Command.cancel_workflow_execution_command_attributes:type_name -> temporal.api.command.v1.CancelWorkflowExecutionCommandAttributes + 7, // 63: temporal.api.command.v1.Command.request_cancel_external_workflow_execution_command_attributes:type_name -> temporal.api.command.v1.RequestCancelExternalWorkflowExecutionCommandAttributes + 11, // 64: temporal.api.command.v1.Command.record_marker_command_attributes:type_name -> temporal.api.command.v1.RecordMarkerCommandAttributes + 12, // 65: temporal.api.command.v1.Command.continue_as_new_workflow_execution_command_attributes:type_name -> temporal.api.command.v1.ContinueAsNewWorkflowExecutionCommandAttributes + 13, // 66: temporal.api.command.v1.Command.start_child_workflow_execution_command_attributes:type_name -> temporal.api.command.v1.StartChildWorkflowExecutionCommandAttributes + 8, // 67: temporal.api.command.v1.Command.signal_external_workflow_execution_command_attributes:type_name -> temporal.api.command.v1.SignalExternalWorkflowExecutionCommandAttributes + 9, // 68: temporal.api.command.v1.Command.upsert_workflow_search_attributes_command_attributes:type_name -> temporal.api.command.v1.UpsertWorkflowSearchAttributesCommandAttributes + 14, // 69: temporal.api.command.v1.Command.protocol_message_command_attributes:type_name -> temporal.api.command.v1.ProtocolMessageCommandAttributes + 10, // 70: temporal.api.command.v1.Command.modify_workflow_properties_command_attributes:type_name -> temporal.api.command.v1.ModifyWorkflowPropertiesCommandAttributes + 15, // 71: temporal.api.command.v1.Command.schedule_nexus_operation_command_attributes:type_name -> temporal.api.command.v1.ScheduleNexusOperationCommandAttributes + 16, // 72: temporal.api.command.v1.Command.request_cancel_nexus_operation_command_attributes:type_name -> temporal.api.command.v1.RequestCancelNexusOperationCommandAttributes + 23, // 73: temporal.api.command.v1.RecordMarkerCommandAttributes.DetailsEntry.value:type_name -> temporal.api.common.v1.Payloads + 74, // [74:74] is the sub-list for method output_type + 74, // [74:74] is the sub-list for method input_type + 74, // [74:74] is the sub-list for extension type_name + 74, // [74:74] is the sub-list for extension extendee + 0, // [0:74] is the sub-list for field type_name +} + +func init() { file_temporal_api_command_v1_message_proto_init() } +func file_temporal_api_command_v1_message_proto_init() { + if File_temporal_api_command_v1_message_proto != nil { + return + } + file_temporal_api_command_v1_message_proto_msgTypes[17].OneofWrappers = []any{ + (*Command_ScheduleActivityTaskCommandAttributes)(nil), + (*Command_StartTimerCommandAttributes)(nil), + (*Command_CompleteWorkflowExecutionCommandAttributes)(nil), + (*Command_FailWorkflowExecutionCommandAttributes)(nil), + (*Command_RequestCancelActivityTaskCommandAttributes)(nil), + (*Command_CancelTimerCommandAttributes)(nil), + (*Command_CancelWorkflowExecutionCommandAttributes)(nil), + (*Command_RequestCancelExternalWorkflowExecutionCommandAttributes)(nil), + (*Command_RecordMarkerCommandAttributes)(nil), + (*Command_ContinueAsNewWorkflowExecutionCommandAttributes)(nil), + (*Command_StartChildWorkflowExecutionCommandAttributes)(nil), + (*Command_SignalExternalWorkflowExecutionCommandAttributes)(nil), + (*Command_UpsertWorkflowSearchAttributesCommandAttributes)(nil), + (*Command_ProtocolMessageCommandAttributes)(nil), + (*Command_ModifyWorkflowPropertiesCommandAttributes)(nil), + (*Command_ScheduleNexusOperationCommandAttributes)(nil), + (*Command_RequestCancelNexusOperationCommandAttributes)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_command_v1_message_proto_rawDesc), len(file_temporal_api_command_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 20, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_command_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_command_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_command_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_command_v1_message_proto = out.File + file_temporal_api_command_v1_message_proto_goTypes = nil + file_temporal_api_command_v1_message_proto_depIdxs = nil +} diff --git a/api_next/common/v1/message.go-helpers.pb.go b/api_next/common/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..06a10e6e --- /dev/null +++ b/api_next/common/v1/message.go-helpers.pb.go @@ -0,0 +1,746 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package common + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type DataBlob to the protobuf v3 wire format +func (val *DataBlob) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DataBlob from the protobuf v3 wire format +func (val *DataBlob) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DataBlob) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DataBlob values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DataBlob) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DataBlob + switch t := that.(type) { + case *DataBlob: + that1 = t + case DataBlob: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Payloads to the protobuf v3 wire format +func (val *Payloads) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Payloads from the protobuf v3 wire format +func (val *Payloads) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Payloads) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Payloads values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Payloads) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Payloads + switch t := that.(type) { + case *Payloads: + that1 = t + case Payloads: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Payload to the protobuf v3 wire format +func (val *Payload) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Payload from the protobuf v3 wire format +func (val *Payload) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Payload) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Payload values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Payload) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Payload + switch t := that.(type) { + case *Payload: + that1 = t + case Payload: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SearchAttributes to the protobuf v3 wire format +func (val *SearchAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SearchAttributes from the protobuf v3 wire format +func (val *SearchAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SearchAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SearchAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SearchAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SearchAttributes + switch t := that.(type) { + case *SearchAttributes: + that1 = t + case SearchAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Memo to the protobuf v3 wire format +func (val *Memo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Memo from the protobuf v3 wire format +func (val *Memo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Memo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Memo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Memo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Memo + switch t := that.(type) { + case *Memo: + that1 = t + case Memo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Header to the protobuf v3 wire format +func (val *Header) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Header from the protobuf v3 wire format +func (val *Header) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Header) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Header values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Header) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Header + switch t := that.(type) { + case *Header: + that1 = t + case Header: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecution to the protobuf v3 wire format +func (val *WorkflowExecution) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecution from the protobuf v3 wire format +func (val *WorkflowExecution) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecution) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecution values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecution) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecution + switch t := that.(type) { + case *WorkflowExecution: + that1 = t + case WorkflowExecution: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowType to the protobuf v3 wire format +func (val *WorkflowType) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowType from the protobuf v3 wire format +func (val *WorkflowType) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowType) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowType values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowType) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowType + switch t := that.(type) { + case *WorkflowType: + that1 = t + case WorkflowType: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityType to the protobuf v3 wire format +func (val *ActivityType) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityType from the protobuf v3 wire format +func (val *ActivityType) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityType) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityType values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityType) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityType + switch t := that.(type) { + case *ActivityType: + that1 = t + case ActivityType: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RetryPolicy to the protobuf v3 wire format +func (val *RetryPolicy) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RetryPolicy from the protobuf v3 wire format +func (val *RetryPolicy) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RetryPolicy) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RetryPolicy values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RetryPolicy) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RetryPolicy + switch t := that.(type) { + case *RetryPolicy: + that1 = t + case RetryPolicy: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type MeteringMetadata to the protobuf v3 wire format +func (val *MeteringMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type MeteringMetadata from the protobuf v3 wire format +func (val *MeteringMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *MeteringMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two MeteringMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *MeteringMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *MeteringMetadata + switch t := that.(type) { + case *MeteringMetadata: + that1 = t + case MeteringMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerVersionStamp to the protobuf v3 wire format +func (val *WorkerVersionStamp) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerVersionStamp from the protobuf v3 wire format +func (val *WorkerVersionStamp) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerVersionStamp) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerVersionStamp values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerVersionStamp) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerVersionStamp + switch t := that.(type) { + case *WorkerVersionStamp: + that1 = t + case WorkerVersionStamp: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerVersionCapabilities to the protobuf v3 wire format +func (val *WorkerVersionCapabilities) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerVersionCapabilities from the protobuf v3 wire format +func (val *WorkerVersionCapabilities) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerVersionCapabilities) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerVersionCapabilities values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerVersionCapabilities) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerVersionCapabilities + switch t := that.(type) { + case *WorkerVersionCapabilities: + that1 = t + case WorkerVersionCapabilities: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetOptions to the protobuf v3 wire format +func (val *ResetOptions) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetOptions from the protobuf v3 wire format +func (val *ResetOptions) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetOptions) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetOptions values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetOptions) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetOptions + switch t := that.(type) { + case *ResetOptions: + that1 = t + case ResetOptions: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Callback to the protobuf v3 wire format +func (val *Callback) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Callback from the protobuf v3 wire format +func (val *Callback) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Callback) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Callback values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Callback) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Callback + switch t := that.(type) { + case *Callback: + that1 = t + case Callback: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Link to the protobuf v3 wire format +func (val *Link) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Link from the protobuf v3 wire format +func (val *Link) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Link) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Link values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Link) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Link + switch t := that.(type) { + case *Link: + that1 = t + case Link: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Principal to the protobuf v3 wire format +func (val *Principal) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Principal from the protobuf v3 wire format +func (val *Principal) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Principal) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Principal values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Principal) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Principal + switch t := that.(type) { + case *Principal: + that1 = t + case Principal: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Priority to the protobuf v3 wire format +func (val *Priority) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Priority from the protobuf v3 wire format +func (val *Priority) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Priority) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Priority values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Priority) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Priority + switch t := that.(type) { + case *Priority: + that1 = t + case Priority: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerSelector to the protobuf v3 wire format +func (val *WorkerSelector) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerSelector from the protobuf v3 wire format +func (val *WorkerSelector) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerSelector) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerSelector values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerSelector) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerSelector + switch t := that.(type) { + case *WorkerSelector: + that1 = t + case WorkerSelector: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type OnConflictOptions to the protobuf v3 wire format +func (val *OnConflictOptions) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type OnConflictOptions from the protobuf v3 wire format +func (val *OnConflictOptions) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *OnConflictOptions) Size() int { + return proto.Size(val) +} + +// Equal returns whether two OnConflictOptions values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *OnConflictOptions) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *OnConflictOptions + switch t := that.(type) { + case *OnConflictOptions: + that1 = t + case OnConflictOptions: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/common/v1/message.pb.go b/api_next/common/v1/message.pb.go new file mode 100644 index 00000000..ba0ffe9a --- /dev/null +++ b/api_next/common/v1/message.pb.go @@ -0,0 +1,2245 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/common/v1/message.proto + +package common + +import ( + v1 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + emptypb "google.golang.org/protobuf/types/known/emptypb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type DataBlob struct { + state protoimpl.MessageState `protogen:"open.v1"` + EncodingType v1.EncodingType `protobuf:"varint,1,opt,name=encoding_type,json=encodingType,proto3,enum=temporal.api.enums.v1.EncodingType" json:"encoding_type,omitempty"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DataBlob) Reset() { + *x = DataBlob{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DataBlob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DataBlob) ProtoMessage() {} + +func (x *DataBlob) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DataBlob.ProtoReflect.Descriptor instead. +func (*DataBlob) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *DataBlob) GetEncodingType() v1.EncodingType { + if x != nil { + return x.EncodingType + } + return v1.EncodingType(0) +} + +func (x *DataBlob) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +// See `Payload` +type Payloads struct { + state protoimpl.MessageState `protogen:"open.v1"` + Payloads []*Payload `protobuf:"bytes,1,rep,name=payloads,proto3" json:"payloads,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Payloads) Reset() { + *x = Payloads{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Payloads) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Payloads) ProtoMessage() {} + +func (x *Payloads) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Payloads.ProtoReflect.Descriptor instead. +func (*Payloads) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *Payloads) GetPayloads() []*Payload { + if x != nil { + return x.Payloads + } + return nil +} + +// Represents some binary (byte array) data (ex: activity input parameters or workflow result) with +// metadata which describes this binary data (format, encoding, encryption, etc). Serialization +// of the data may be user-defined. +type Payload struct { + state protoimpl.MessageState `protogen:"open.v1"` + Metadata map[string][]byte `protobuf:"bytes,1,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"` + // Details about externally stored payloads associated with this payload. + ExternalPayloads []*Payload_ExternalPayloadDetails `protobuf:"bytes,3,rep,name=external_payloads,json=externalPayloads,proto3" json:"external_payloads,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Payload) Reset() { + *x = Payload{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Payload) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Payload) ProtoMessage() {} + +func (x *Payload) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Payload.ProtoReflect.Descriptor instead. +func (*Payload) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *Payload) GetMetadata() map[string][]byte { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Payload) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +func (x *Payload) GetExternalPayloads() []*Payload_ExternalPayloadDetails { + if x != nil { + return x.ExternalPayloads + } + return nil +} + +// A user-defined set of *indexed* fields that are used/exposed when listing/searching workflows. +// The payload is not serialized in a user-defined way. +type SearchAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + IndexedFields map[string]*Payload `protobuf:"bytes,1,rep,name=indexed_fields,json=indexedFields,proto3" json:"indexed_fields,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SearchAttributes) Reset() { + *x = SearchAttributes{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SearchAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SearchAttributes) ProtoMessage() {} + +func (x *SearchAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SearchAttributes.ProtoReflect.Descriptor instead. +func (*SearchAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *SearchAttributes) GetIndexedFields() map[string]*Payload { + if x != nil { + return x.IndexedFields + } + return nil +} + +// A user-defined set of *unindexed* fields that are exposed when listing/searching workflows +type Memo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Fields map[string]*Payload `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Memo) Reset() { + *x = Memo{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Memo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Memo) ProtoMessage() {} + +func (x *Memo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Memo.ProtoReflect.Descriptor instead. +func (*Memo) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *Memo) GetFields() map[string]*Payload { + if x != nil { + return x.Fields + } + return nil +} + +// Contains metadata that can be attached to a variety of requests, like starting a workflow, and +// can be propagated between, for example, workflows and activities. +type Header struct { + state protoimpl.MessageState `protogen:"open.v1"` + Fields map[string]*Payload `protobuf:"bytes,1,rep,name=fields,proto3" json:"fields,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Header) Reset() { + *x = Header{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Header) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Header) ProtoMessage() {} + +func (x *Header) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Header.ProtoReflect.Descriptor instead. +func (*Header) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *Header) GetFields() map[string]*Payload { + if x != nil { + return x.Fields + } + return nil +} + +// Identifies a specific workflow within a namespace. Practically speaking, because run_id is a +// uuid, a workflow execution is globally unique. Note that many commands allow specifying an empty +// run id as a way of saying "target the latest run of the workflow". +type WorkflowExecution struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowId string `protobuf:"bytes,1,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecution) Reset() { + *x = WorkflowExecution{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecution) ProtoMessage() {} + +func (x *WorkflowExecution) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecution.ProtoReflect.Descriptor instead. +func (*WorkflowExecution) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *WorkflowExecution) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *WorkflowExecution) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +// Represents the identifier used by a workflow author to define the workflow. Typically, the +// name of a function. This is sometimes referred to as the workflow's "name" +type WorkflowType struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowType) Reset() { + *x = WorkflowType{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowType) ProtoMessage() {} + +func (x *WorkflowType) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowType.ProtoReflect.Descriptor instead. +func (*WorkflowType) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *WorkflowType) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Represents the identifier used by a activity author to define the activity. Typically, the +// name of a function. This is sometimes referred to as the activity's "name" +type ActivityType struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityType) Reset() { + *x = ActivityType{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityType) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityType) ProtoMessage() {} + +func (x *ActivityType) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityType.ProtoReflect.Descriptor instead. +func (*ActivityType) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *ActivityType) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// How retries ought to be handled, usable by both workflows and activities +type RetryPolicy struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Interval of the first retry. If retryBackoffCoefficient is 1.0 then it is used for all retries. + InitialInterval *durationpb.Duration `protobuf:"bytes,1,opt,name=initial_interval,json=initialInterval,proto3" json:"initial_interval,omitempty"` + // Coefficient used to calculate the next retry interval. + // The next retry interval is previous interval multiplied by the coefficient. + // Must be 1 or larger. + BackoffCoefficient float64 `protobuf:"fixed64,2,opt,name=backoff_coefficient,json=backoffCoefficient,proto3" json:"backoff_coefficient,omitempty"` + // Maximum interval between retries. Exponential backoff leads to interval increase. + // This value is the cap of the increase. Default is 100x of the initial interval. + MaximumInterval *durationpb.Duration `protobuf:"bytes,3,opt,name=maximum_interval,json=maximumInterval,proto3" json:"maximum_interval,omitempty"` + // Maximum number of attempts. When exceeded the retries stop even if not expired yet. + // 1 disables retries. 0 means unlimited (up to the timeouts) + MaximumAttempts int32 `protobuf:"varint,4,opt,name=maximum_attempts,json=maximumAttempts,proto3" json:"maximum_attempts,omitempty"` + // Non-Retryable errors types. Will stop retrying if the error type matches this list. Note that + // this is not a substring match, the error *type* (not message) must match exactly. + NonRetryableErrorTypes []string `protobuf:"bytes,5,rep,name=non_retryable_error_types,json=nonRetryableErrorTypes,proto3" json:"non_retryable_error_types,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RetryPolicy) Reset() { + *x = RetryPolicy{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RetryPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RetryPolicy) ProtoMessage() {} + +func (x *RetryPolicy) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RetryPolicy.ProtoReflect.Descriptor instead. +func (*RetryPolicy) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *RetryPolicy) GetInitialInterval() *durationpb.Duration { + if x != nil { + return x.InitialInterval + } + return nil +} + +func (x *RetryPolicy) GetBackoffCoefficient() float64 { + if x != nil { + return x.BackoffCoefficient + } + return 0 +} + +func (x *RetryPolicy) GetMaximumInterval() *durationpb.Duration { + if x != nil { + return x.MaximumInterval + } + return nil +} + +func (x *RetryPolicy) GetMaximumAttempts() int32 { + if x != nil { + return x.MaximumAttempts + } + return 0 +} + +func (x *RetryPolicy) GetNonRetryableErrorTypes() []string { + if x != nil { + return x.NonRetryableErrorTypes + } + return nil +} + +// Metadata relevant for metering purposes +type MeteringMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Count of local activities which have begun an execution attempt during this workflow task, + // and whose first attempt occurred in some previous task. This is used for metering + // purposes, and does not affect workflow state. + // + // (-- api-linter: core::0141::forbidden-types=disabled + // + // aip.dev/not-precedent: Negative values make no sense to represent. --) + NonfirstLocalActivityExecutionAttempts uint32 `protobuf:"varint,13,opt,name=nonfirst_local_activity_execution_attempts,json=nonfirstLocalActivityExecutionAttempts,proto3" json:"nonfirst_local_activity_execution_attempts,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MeteringMetadata) Reset() { + *x = MeteringMetadata{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MeteringMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MeteringMetadata) ProtoMessage() {} + +func (x *MeteringMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MeteringMetadata.ProtoReflect.Descriptor instead. +func (*MeteringMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *MeteringMetadata) GetNonfirstLocalActivityExecutionAttempts() uint32 { + if x != nil { + return x.NonfirstLocalActivityExecutionAttempts + } + return 0 +} + +// Deprecated. This message is replaced with `Deployment` and `VersioningBehavior`. +// Identifies the version(s) of a worker that processed a task +type WorkerVersionStamp struct { + state protoimpl.MessageState `protogen:"open.v1"` + // An opaque whole-worker identifier. Replaces the deprecated `binary_checksum` field when this + // message is included in requests which previously used that. + BuildId string `protobuf:"bytes,1,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` + // If set, the worker is opting in to worker versioning. Otherwise, this is used only as a + // marker for workflow reset points and the BuildIDs search attribute. + UseVersioning bool `protobuf:"varint,3,opt,name=use_versioning,json=useVersioning,proto3" json:"use_versioning,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerVersionStamp) Reset() { + *x = WorkerVersionStamp{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerVersionStamp) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerVersionStamp) ProtoMessage() {} + +func (x *WorkerVersionStamp) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerVersionStamp.ProtoReflect.Descriptor instead. +func (*WorkerVersionStamp) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{11} +} + +func (x *WorkerVersionStamp) GetBuildId() string { + if x != nil { + return x.BuildId + } + return "" +} + +func (x *WorkerVersionStamp) GetUseVersioning() bool { + if x != nil { + return x.UseVersioning + } + return false +} + +// Identifies the version that a worker is compatible with when polling or identifying itself, +// and whether or not this worker is opting into the build-id based versioning feature. This is +// used by matching to determine which workers ought to receive what tasks. +// Deprecated. Use WorkerDeploymentOptions instead. +type WorkerVersionCapabilities struct { + state protoimpl.MessageState `protogen:"open.v1"` + // An opaque whole-worker identifier + BuildId string `protobuf:"bytes,1,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` + // If set, the worker is opting in to worker versioning, and wishes to only receive appropriate + // tasks. + UseVersioning bool `protobuf:"varint,2,opt,name=use_versioning,json=useVersioning,proto3" json:"use_versioning,omitempty"` + // Must be sent if user has set a deployment series name (versioning-3). + DeploymentSeriesName string `protobuf:"bytes,4,opt,name=deployment_series_name,json=deploymentSeriesName,proto3" json:"deployment_series_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerVersionCapabilities) Reset() { + *x = WorkerVersionCapabilities{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerVersionCapabilities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerVersionCapabilities) ProtoMessage() {} + +func (x *WorkerVersionCapabilities) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerVersionCapabilities.ProtoReflect.Descriptor instead. +func (*WorkerVersionCapabilities) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{12} +} + +func (x *WorkerVersionCapabilities) GetBuildId() string { + if x != nil { + return x.BuildId + } + return "" +} + +func (x *WorkerVersionCapabilities) GetUseVersioning() bool { + if x != nil { + return x.UseVersioning + } + return false +} + +func (x *WorkerVersionCapabilities) GetDeploymentSeriesName() string { + if x != nil { + return x.DeploymentSeriesName + } + return "" +} + +// Describes where and how to reset a workflow, used for batch reset currently +// and may be used for single-workflow reset later. +type ResetOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Which workflow task to reset to. + // + // Types that are valid to be assigned to Target: + // + // *ResetOptions_FirstWorkflowTask + // *ResetOptions_LastWorkflowTask + // *ResetOptions_WorkflowTaskId + // *ResetOptions_BuildId + Target isResetOptions_Target `protobuf_oneof:"target"` + // Deprecated. Use `options`. + // Default: RESET_REAPPLY_TYPE_SIGNAL + // + // Deprecated: Marked as deprecated in temporal/api/common/v1/message.proto. + ResetReapplyType v1.ResetReapplyType `protobuf:"varint,10,opt,name=reset_reapply_type,json=resetReapplyType,proto3,enum=temporal.api.enums.v1.ResetReapplyType" json:"reset_reapply_type,omitempty"` + // If true, limit the reset to only within the current run. (Applies to build_id targets and + // possibly others in the future.) + CurrentRunOnly bool `protobuf:"varint,11,opt,name=current_run_only,json=currentRunOnly,proto3" json:"current_run_only,omitempty"` + // Event types not to be reapplied + ResetReapplyExcludeTypes []v1.ResetReapplyExcludeType `protobuf:"varint,12,rep,packed,name=reset_reapply_exclude_types,json=resetReapplyExcludeTypes,proto3,enum=temporal.api.enums.v1.ResetReapplyExcludeType" json:"reset_reapply_exclude_types,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetOptions) Reset() { + *x = ResetOptions{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetOptions) ProtoMessage() {} + +func (x *ResetOptions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetOptions.ProtoReflect.Descriptor instead. +func (*ResetOptions) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{13} +} + +func (x *ResetOptions) GetTarget() isResetOptions_Target { + if x != nil { + return x.Target + } + return nil +} + +func (x *ResetOptions) GetFirstWorkflowTask() *emptypb.Empty { + if x != nil { + if x, ok := x.Target.(*ResetOptions_FirstWorkflowTask); ok { + return x.FirstWorkflowTask + } + } + return nil +} + +func (x *ResetOptions) GetLastWorkflowTask() *emptypb.Empty { + if x != nil { + if x, ok := x.Target.(*ResetOptions_LastWorkflowTask); ok { + return x.LastWorkflowTask + } + } + return nil +} + +func (x *ResetOptions) GetWorkflowTaskId() int64 { + if x != nil { + if x, ok := x.Target.(*ResetOptions_WorkflowTaskId); ok { + return x.WorkflowTaskId + } + } + return 0 +} + +func (x *ResetOptions) GetBuildId() string { + if x != nil { + if x, ok := x.Target.(*ResetOptions_BuildId); ok { + return x.BuildId + } + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/common/v1/message.proto. +func (x *ResetOptions) GetResetReapplyType() v1.ResetReapplyType { + if x != nil { + return x.ResetReapplyType + } + return v1.ResetReapplyType(0) +} + +func (x *ResetOptions) GetCurrentRunOnly() bool { + if x != nil { + return x.CurrentRunOnly + } + return false +} + +func (x *ResetOptions) GetResetReapplyExcludeTypes() []v1.ResetReapplyExcludeType { + if x != nil { + return x.ResetReapplyExcludeTypes + } + return nil +} + +type isResetOptions_Target interface { + isResetOptions_Target() +} + +type ResetOptions_FirstWorkflowTask struct { + // Resets to the first workflow task completed or started event. + FirstWorkflowTask *emptypb.Empty `protobuf:"bytes,1,opt,name=first_workflow_task,json=firstWorkflowTask,proto3,oneof"` +} + +type ResetOptions_LastWorkflowTask struct { + // Resets to the last workflow task completed or started event. + LastWorkflowTask *emptypb.Empty `protobuf:"bytes,2,opt,name=last_workflow_task,json=lastWorkflowTask,proto3,oneof"` +} + +type ResetOptions_WorkflowTaskId struct { + // The id of a specific `WORKFLOW_TASK_COMPLETED`,`WORKFLOW_TASK_TIMED_OUT`, `WORKFLOW_TASK_FAILED`, or + // `WORKFLOW_TASK_STARTED` event to reset to. + // Note that this option doesn't make sense when used as part of a batch request. + WorkflowTaskId int64 `protobuf:"varint,3,opt,name=workflow_task_id,json=workflowTaskId,proto3,oneof"` +} + +type ResetOptions_BuildId struct { + // Resets to the first workflow task processed by this build id. + // If the workflow was not processed by the build id, or the workflow task can't be + // determined, no reset will be performed. + // Note that by default, this reset is allowed to be to a prior run in a chain of + // continue-as-new. + BuildId string `protobuf:"bytes,4,opt,name=build_id,json=buildId,proto3,oneof"` +} + +func (*ResetOptions_FirstWorkflowTask) isResetOptions_Target() {} + +func (*ResetOptions_LastWorkflowTask) isResetOptions_Target() {} + +func (*ResetOptions_WorkflowTaskId) isResetOptions_Target() {} + +func (*ResetOptions_BuildId) isResetOptions_Target() {} + +// Callback to attach to various events in the system, e.g. workflow run completion. +type Callback struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Variant: + // + // *Callback_Nexus_ + // *Callback_Internal_ + Variant isCallback_Variant `protobuf_oneof:"variant"` + // Links associated with the callback. It can be used to link to underlying resources of the + // callback. + Links []*Link `protobuf:"bytes,100,rep,name=links,proto3" json:"links,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Callback) Reset() { + *x = Callback{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Callback) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Callback) ProtoMessage() {} + +func (x *Callback) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Callback.ProtoReflect.Descriptor instead. +func (*Callback) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{14} +} + +func (x *Callback) GetVariant() isCallback_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *Callback) GetNexus() *Callback_Nexus { + if x != nil { + if x, ok := x.Variant.(*Callback_Nexus_); ok { + return x.Nexus + } + } + return nil +} + +func (x *Callback) GetInternal() *Callback_Internal { + if x != nil { + if x, ok := x.Variant.(*Callback_Internal_); ok { + return x.Internal + } + } + return nil +} + +func (x *Callback) GetLinks() []*Link { + if x != nil { + return x.Links + } + return nil +} + +type isCallback_Variant interface { + isCallback_Variant() +} + +type Callback_Nexus_ struct { + Nexus *Callback_Nexus `protobuf:"bytes,2,opt,name=nexus,proto3,oneof"` +} + +type Callback_Internal_ struct { + Internal *Callback_Internal `protobuf:"bytes,3,opt,name=internal,proto3,oneof"` +} + +func (*Callback_Nexus_) isCallback_Variant() {} + +func (*Callback_Internal_) isCallback_Variant() {} + +// Link can be associated with history events. It might contain information about an external entity +// related to the history event. For example, workflow A makes a Nexus call that starts workflow B: +// in this case, a history event in workflow A could contain a Link to the workflow started event in +// workflow B, and vice-versa. +type Link struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Variant: + // + // *Link_WorkflowEvent_ + // *Link_BatchJob_ + // *Link_Activity_ + // *Link_NexusOperation_ + Variant isLink_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Link) Reset() { + *x = Link{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Link) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Link) ProtoMessage() {} + +func (x *Link) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Link.ProtoReflect.Descriptor instead. +func (*Link) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{15} +} + +func (x *Link) GetVariant() isLink_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *Link) GetWorkflowEvent() *Link_WorkflowEvent { + if x != nil { + if x, ok := x.Variant.(*Link_WorkflowEvent_); ok { + return x.WorkflowEvent + } + } + return nil +} + +func (x *Link) GetBatchJob() *Link_BatchJob { + if x != nil { + if x, ok := x.Variant.(*Link_BatchJob_); ok { + return x.BatchJob + } + } + return nil +} + +func (x *Link) GetActivity() *Link_Activity { + if x != nil { + if x, ok := x.Variant.(*Link_Activity_); ok { + return x.Activity + } + } + return nil +} + +func (x *Link) GetNexusOperation() *Link_NexusOperation { + if x != nil { + if x, ok := x.Variant.(*Link_NexusOperation_); ok { + return x.NexusOperation + } + } + return nil +} + +type isLink_Variant interface { + isLink_Variant() +} + +type Link_WorkflowEvent_ struct { + WorkflowEvent *Link_WorkflowEvent `protobuf:"bytes,1,opt,name=workflow_event,json=workflowEvent,proto3,oneof"` +} + +type Link_BatchJob_ struct { + BatchJob *Link_BatchJob `protobuf:"bytes,2,opt,name=batch_job,json=batchJob,proto3,oneof"` +} + +type Link_Activity_ struct { + Activity *Link_Activity `protobuf:"bytes,3,opt,name=activity,proto3,oneof"` +} + +type Link_NexusOperation_ struct { + NexusOperation *Link_NexusOperation `protobuf:"bytes,4,opt,name=nexus_operation,json=nexusOperation,proto3,oneof"` +} + +func (*Link_WorkflowEvent_) isLink_Variant() {} + +func (*Link_BatchJob_) isLink_Variant() {} + +func (*Link_Activity_) isLink_Variant() {} + +func (*Link_NexusOperation_) isLink_Variant() {} + +// Principal is an authenticated caller identity computed by the server from trusted +// authentication context. +type Principal struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Low-cardinality category of the principal (e.g., "jwt", "users"). + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Identifier within that category (e.g., sub JWT claim, email address). + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Principal) Reset() { + *x = Principal{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Principal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Principal) ProtoMessage() {} + +func (x *Principal) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Principal.ProtoReflect.Descriptor instead. +func (*Principal) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{16} +} + +func (x *Principal) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *Principal) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +// Priority contains metadata that controls relative ordering of task processing +// when tasks are backed up in a queue. Initially, Priority will be used in +// matching (workflow and activity) task queues. Later it may be used in history +// task queues and in rate limiting decisions. +// +// Priority is attached to workflows and activities. By default, activities +// inherit Priority from the workflow that created them, but may override fields +// when an activity is started or modified. +// +// Despite being named "Priority", this message also contains fields that +// control "fairness" mechanisms. +// +// For all fields, the field not present or equal to zero/empty string means to +// inherit the value from the calling workflow, or if there is no calling +// workflow, then use the default value. +// +// For all fields other than fairness_key, the zero value isn't meaningful so +// there's no confusion between inherit/default and a meaningful value. For +// fairness_key, the empty string will be interpreted as "inherit". This means +// that if a workflow has a non-empty fairness key, you can't override the +// fairness key of its activity to the empty string. +// +// The overall semantics of Priority are: +// 1. First, consider "priority": higher priority (lower number) goes first. +// 2. Then, consider fairness: try to dispatch tasks for different fairness keys +// in proportion to their weight. +// +// Applications may use any subset of mechanisms that are useful to them and +// leave the other fields to use default values. +// +// Not all queues in the system may support the "full" semantics of all priority +// fields. (Currently only support in matching task queues is planned.) +type Priority struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Priority key is a positive integer from 1 to n, where smaller integers + // correspond to higher priorities (tasks run sooner). In general, tasks in + // a queue should be processed in close to priority order, although small + // deviations are possible. + // + // The maximum priority value (minimum priority) is determined by server + // configuration, and defaults to 5. + // + // If priority is not present (or zero), then the effective priority will be + // the default priority, which is calculated by (min+max)/2. With the + // default max of 5, and min of 1, that comes out to 3. + PriorityKey int32 `protobuf:"varint,1,opt,name=priority_key,json=priorityKey,proto3" json:"priority_key,omitempty"` + // Fairness key is a short string that's used as a key for a fairness + // balancing mechanism. It may correspond to a tenant id, or to a fixed + // string like "high" or "low". The default is the empty string. + // + // The fairness mechanism attempts to dispatch tasks for a given key in + // proportion to its weight. For example, using a thousand distinct tenant + // ids, each with a weight of 1.0 (the default) will result in each tenant + // getting a roughly equal share of task dispatch throughput. + // + // (Note: this does not imply equal share of worker capacity! Fairness + // decisions are made based on queue statistics, not + // current worker load.) + // + // As another example, using keys "high" and "low" with weight 9.0 and 1.0 + // respectively will prefer dispatching "high" tasks over "low" tasks at a + // 9:1 ratio, while allowing either key to use all worker capacity if the + // other is not present. + // + // All fairness mechanisms, including rate limits, are best-effort and + // probabilistic. The results may not match what a "perfect" algorithm with + // infinite resources would produce. The more unique keys are used, the less + // accurate the results will be. + // + // Fairness keys are limited to 64 bytes. + FairnessKey string `protobuf:"bytes,2,opt,name=fairness_key,json=fairnessKey,proto3" json:"fairness_key,omitempty"` + // Fairness weight for a task can come from multiple sources for + // flexibility. From highest to lowest precedence: + // 1. Weights for a small set of keys can be overridden in task queue + // configuration with an API. + // 2. It can be attached to the workflow/activity in this field. + // 3. The default weight of 1.0 will be used. + // + // Weight values are clamped to the range [0.001, 1000]. + FairnessWeight float32 `protobuf:"fixed32,3,opt,name=fairness_weight,json=fairnessWeight,proto3" json:"fairness_weight,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Priority) Reset() { + *x = Priority{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Priority) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Priority) ProtoMessage() {} + +func (x *Priority) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Priority.ProtoReflect.Descriptor instead. +func (*Priority) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{17} +} + +func (x *Priority) GetPriorityKey() int32 { + if x != nil { + return x.PriorityKey + } + return 0 +} + +func (x *Priority) GetFairnessKey() string { + if x != nil { + return x.FairnessKey + } + return "" +} + +func (x *Priority) GetFairnessWeight() float32 { + if x != nil { + return x.FairnessWeight + } + return 0 +} + +// This is used to send commands to a specific worker or a group of workers. +// Right now, it is used to send commands to a specific worker instance. +// Will be extended to be able to send command to multiple workers. +type WorkerSelector struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Options are: + // - query (will be used as query to ListWorkers, same format as in ListWorkersRequest.query) + // - task queue (just a shortcut. Same as query=' "TaskQueue"="my-task-queue" ') + // - etc. + // All but 'query' are shortcuts, can be replaced with a query, but it is not convenient. + // + // string query = 5; + // string task_queue = 6; + // ... + // + // Types that are valid to be assigned to Selector: + // + // *WorkerSelector_WorkerInstanceKey + Selector isWorkerSelector_Selector `protobuf_oneof:"selector"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerSelector) Reset() { + *x = WorkerSelector{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerSelector) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerSelector) ProtoMessage() {} + +func (x *WorkerSelector) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerSelector.ProtoReflect.Descriptor instead. +func (*WorkerSelector) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{18} +} + +func (x *WorkerSelector) GetSelector() isWorkerSelector_Selector { + if x != nil { + return x.Selector + } + return nil +} + +func (x *WorkerSelector) GetWorkerInstanceKey() string { + if x != nil { + if x, ok := x.Selector.(*WorkerSelector_WorkerInstanceKey); ok { + return x.WorkerInstanceKey + } + } + return "" +} + +type isWorkerSelector_Selector interface { + isWorkerSelector_Selector() +} + +type WorkerSelector_WorkerInstanceKey struct { + // Worker instance key to which the command should be sent. + WorkerInstanceKey string `protobuf:"bytes,1,opt,name=worker_instance_key,json=workerInstanceKey,proto3,oneof"` +} + +func (*WorkerSelector_WorkerInstanceKey) isWorkerSelector_Selector() {} + +// When starting an execution with a conflict policy that uses an existing execution and there is already an existing +// running execution, OnConflictOptions defines actions to be taken on the existing running execution. +type OnConflictOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Attaches the request ID to the running execution. + AttachRequestId bool `protobuf:"varint,1,opt,name=attach_request_id,json=attachRequestId,proto3" json:"attach_request_id,omitempty"` + // Attaches the completion callbacks to the running execution. + AttachCompletionCallbacks bool `protobuf:"varint,2,opt,name=attach_completion_callbacks,json=attachCompletionCallbacks,proto3" json:"attach_completion_callbacks,omitempty"` + // Attaches the links to the running execution. + AttachLinks bool `protobuf:"varint,3,opt,name=attach_links,json=attachLinks,proto3" json:"attach_links,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OnConflictOptions) Reset() { + *x = OnConflictOptions{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OnConflictOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OnConflictOptions) ProtoMessage() {} + +func (x *OnConflictOptions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OnConflictOptions.ProtoReflect.Descriptor instead. +func (*OnConflictOptions) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{19} +} + +func (x *OnConflictOptions) GetAttachRequestId() bool { + if x != nil { + return x.AttachRequestId + } + return false +} + +func (x *OnConflictOptions) GetAttachCompletionCallbacks() bool { + if x != nil { + return x.AttachCompletionCallbacks + } + return false +} + +func (x *OnConflictOptions) GetAttachLinks() bool { + if x != nil { + return x.AttachLinks + } + return false +} + +// Describes an externally stored object referenced by this payload. +type Payload_ExternalPayloadDetails struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Size in bytes of the externally stored payload + SizeBytes int64 `protobuf:"varint,1,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Payload_ExternalPayloadDetails) Reset() { + *x = Payload_ExternalPayloadDetails{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Payload_ExternalPayloadDetails) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Payload_ExternalPayloadDetails) ProtoMessage() {} + +func (x *Payload_ExternalPayloadDetails) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Payload_ExternalPayloadDetails.ProtoReflect.Descriptor instead. +func (*Payload_ExternalPayloadDetails) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *Payload_ExternalPayloadDetails) GetSizeBytes() int64 { + if x != nil { + return x.SizeBytes + } + return 0 +} + +type Callback_Nexus struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Callback URL. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + // Header to attach to callback request. + Header map[string]string `protobuf:"bytes,2,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Callback_Nexus) Reset() { + *x = Callback_Nexus{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Callback_Nexus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Callback_Nexus) ProtoMessage() {} + +func (x *Callback_Nexus) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Callback_Nexus.ProtoReflect.Descriptor instead. +func (*Callback_Nexus) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{14, 0} +} + +func (x *Callback_Nexus) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *Callback_Nexus) GetHeader() map[string]string { + if x != nil { + return x.Header + } + return nil +} + +// Callbacks to be delivered internally within the system. +// This variant is not settable in the API and will be rejected by the service with an INVALID_ARGUMENT error. +// The only reason that this is exposed is because callbacks are replicated across clusters via the +// WorkflowExecutionStarted event, which is defined in the public API. +type Callback_Internal struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Opaque internal data. + Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Callback_Internal) Reset() { + *x = Callback_Internal{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Callback_Internal) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Callback_Internal) ProtoMessage() {} + +func (x *Callback_Internal) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Callback_Internal.ProtoReflect.Descriptor instead. +func (*Callback_Internal) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{14, 1} +} + +func (x *Callback_Internal) GetData() []byte { + if x != nil { + return x.Data + } + return nil +} + +type Link_WorkflowEvent struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Additional information about the workflow event. + // Eg: the caller workflow can send the history event details that made the Nexus call. + // + // Types that are valid to be assigned to Reference: + // + // *Link_WorkflowEvent_EventRef + // *Link_WorkflowEvent_RequestIdRef + Reference isLink_WorkflowEvent_Reference `protobuf_oneof:"reference"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Link_WorkflowEvent) Reset() { + *x = Link_WorkflowEvent{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Link_WorkflowEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Link_WorkflowEvent) ProtoMessage() {} + +func (x *Link_WorkflowEvent) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Link_WorkflowEvent.ProtoReflect.Descriptor instead. +func (*Link_WorkflowEvent) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{15, 0} +} + +func (x *Link_WorkflowEvent) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *Link_WorkflowEvent) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *Link_WorkflowEvent) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *Link_WorkflowEvent) GetReference() isLink_WorkflowEvent_Reference { + if x != nil { + return x.Reference + } + return nil +} + +func (x *Link_WorkflowEvent) GetEventRef() *Link_WorkflowEvent_EventReference { + if x != nil { + if x, ok := x.Reference.(*Link_WorkflowEvent_EventRef); ok { + return x.EventRef + } + } + return nil +} + +func (x *Link_WorkflowEvent) GetRequestIdRef() *Link_WorkflowEvent_RequestIdReference { + if x != nil { + if x, ok := x.Reference.(*Link_WorkflowEvent_RequestIdRef); ok { + return x.RequestIdRef + } + } + return nil +} + +type isLink_WorkflowEvent_Reference interface { + isLink_WorkflowEvent_Reference() +} + +type Link_WorkflowEvent_EventRef struct { + EventRef *Link_WorkflowEvent_EventReference `protobuf:"bytes,100,opt,name=event_ref,json=eventRef,proto3,oneof"` +} + +type Link_WorkflowEvent_RequestIdRef struct { + RequestIdRef *Link_WorkflowEvent_RequestIdReference `protobuf:"bytes,101,opt,name=request_id_ref,json=requestIdRef,proto3,oneof"` +} + +func (*Link_WorkflowEvent_EventRef) isLink_WorkflowEvent_Reference() {} + +func (*Link_WorkflowEvent_RequestIdRef) isLink_WorkflowEvent_Reference() {} + +// A link to a built-in batch job. +// Batch jobs can be used to perform operations on a set of workflows (e.g. terminate, signal, cancel, etc). +// This link can be put on workflow history events generated by actions taken by a batch job. +type Link_BatchJob struct { + state protoimpl.MessageState `protogen:"open.v1"` + JobId string `protobuf:"bytes,1,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Link_BatchJob) Reset() { + *x = Link_BatchJob{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Link_BatchJob) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Link_BatchJob) ProtoMessage() {} + +func (x *Link_BatchJob) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Link_BatchJob.ProtoReflect.Descriptor instead. +func (*Link_BatchJob) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{15, 1} +} + +func (x *Link_BatchJob) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + +// A link to an activity. +type Link_Activity struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + ActivityId string `protobuf:"bytes,2,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Link_Activity) Reset() { + *x = Link_Activity{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Link_Activity) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Link_Activity) ProtoMessage() {} + +func (x *Link_Activity) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Link_Activity.ProtoReflect.Descriptor instead. +func (*Link_Activity) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{15, 2} +} + +func (x *Link_Activity) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *Link_Activity) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *Link_Activity) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +// A link to a standalone Nexus operation. +type Link_NexusOperation struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Link_NexusOperation) Reset() { + *x = Link_NexusOperation{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Link_NexusOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Link_NexusOperation) ProtoMessage() {} + +func (x *Link_NexusOperation) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Link_NexusOperation.ProtoReflect.Descriptor instead. +func (*Link_NexusOperation) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{15, 3} +} + +func (x *Link_NexusOperation) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *Link_NexusOperation) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *Link_NexusOperation) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +// EventReference is a direct reference to a history event through the event ID. +type Link_WorkflowEvent_EventReference struct { + state protoimpl.MessageState `protogen:"open.v1"` + EventId int64 `protobuf:"varint,1,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` + EventType v1.EventType `protobuf:"varint,2,opt,name=event_type,json=eventType,proto3,enum=temporal.api.enums.v1.EventType" json:"event_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Link_WorkflowEvent_EventReference) Reset() { + *x = Link_WorkflowEvent_EventReference{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Link_WorkflowEvent_EventReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Link_WorkflowEvent_EventReference) ProtoMessage() {} + +func (x *Link_WorkflowEvent_EventReference) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Link_WorkflowEvent_EventReference.ProtoReflect.Descriptor instead. +func (*Link_WorkflowEvent_EventReference) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{15, 0, 0} +} + +func (x *Link_WorkflowEvent_EventReference) GetEventId() int64 { + if x != nil { + return x.EventId + } + return 0 +} + +func (x *Link_WorkflowEvent_EventReference) GetEventType() v1.EventType { + if x != nil { + return x.EventType + } + return v1.EventType(0) +} + +// RequestIdReference is a indirect reference to a history event through the request ID. +type Link_WorkflowEvent_RequestIdReference struct { + state protoimpl.MessageState `protogen:"open.v1"` + RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + EventType v1.EventType `protobuf:"varint,2,opt,name=event_type,json=eventType,proto3,enum=temporal.api.enums.v1.EventType" json:"event_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Link_WorkflowEvent_RequestIdReference) Reset() { + *x = Link_WorkflowEvent_RequestIdReference{} + mi := &file_temporal_api_common_v1_message_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Link_WorkflowEvent_RequestIdReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Link_WorkflowEvent_RequestIdReference) ProtoMessage() {} + +func (x *Link_WorkflowEvent_RequestIdReference) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_common_v1_message_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Link_WorkflowEvent_RequestIdReference.ProtoReflect.Descriptor instead. +func (*Link_WorkflowEvent_RequestIdReference) Descriptor() ([]byte, []int) { + return file_temporal_api_common_v1_message_proto_rawDescGZIP(), []int{15, 0, 1} +} + +func (x *Link_WorkflowEvent_RequestIdReference) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *Link_WorkflowEvent_RequestIdReference) GetEventType() v1.EventType { + if x != nil { + return x.EventType + } + return v1.EventType(0) +} + +var File_temporal_api_common_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_common_v1_message_proto_rawDesc = "" + + "\n" + + "$temporal/api/common/v1/message.proto\x12\x16temporal.api.common.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\"temporal/api/enums/v1/common.proto\x1a&temporal/api/enums/v1/event_type.proto\x1a!temporal/api/enums/v1/reset.proto\"h\n" + + "\bDataBlob\x12H\n" + + "\rencoding_type\x18\x01 \x01(\x0e2#.temporal.api.enums.v1.EncodingTypeR\fencodingType\x12\x12\n" + + "\x04data\x18\x02 \x01(\fR\x04data\"G\n" + + "\bPayloads\x12;\n" + + "\bpayloads\x18\x01 \x03(\v2\x1f.temporal.api.common.v1.PayloadR\bpayloads\"\xc3\x02\n" + + "\aPayload\x12I\n" + + "\bmetadata\x18\x01 \x03(\v2-.temporal.api.common.v1.Payload.MetadataEntryR\bmetadata\x12\x12\n" + + "\x04data\x18\x02 \x01(\fR\x04data\x12c\n" + + "\x11external_payloads\x18\x03 \x03(\v26.temporal.api.common.v1.Payload.ExternalPayloadDetailsR\x10externalPayloads\x1a;\n" + + "\rMetadataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\fR\x05value:\x028\x01\x1a7\n" + + "\x16ExternalPayloadDetails\x12\x1d\n" + + "\n" + + "size_bytes\x18\x01 \x01(\x03R\tsizeBytes\"\xd9\x01\n" + + "\x10SearchAttributes\x12b\n" + + "\x0eindexed_fields\x18\x01 \x03(\v2;.temporal.api.common.v1.SearchAttributes.IndexedFieldsEntryR\rindexedFields\x1aa\n" + + "\x12IndexedFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x125\n" + + "\x05value\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05value:\x028\x01\"\xa4\x01\n" + + "\x04Memo\x12@\n" + + "\x06fields\x18\x01 \x03(\v2(.temporal.api.common.v1.Memo.FieldsEntryR\x06fields\x1aZ\n" + + "\vFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x125\n" + + "\x05value\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05value:\x028\x01\"\xa8\x01\n" + + "\x06Header\x12B\n" + + "\x06fields\x18\x01 \x03(\v2*.temporal.api.common.v1.Header.FieldsEntryR\x06fields\x1aZ\n" + + "\vFieldsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x125\n" + + "\x05value\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05value:\x028\x01\"K\n" + + "\x11WorkflowExecution\x12\x1f\n" + + "\vworkflow_id\x18\x01 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x02 \x01(\tR\x05runId\"\"\n" + + "\fWorkflowType\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\"\n" + + "\fActivityType\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\xb0\x02\n" + + "\vRetryPolicy\x12D\n" + + "\x10initial_interval\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\x0finitialInterval\x12/\n" + + "\x13backoff_coefficient\x18\x02 \x01(\x01R\x12backoffCoefficient\x12D\n" + + "\x10maximum_interval\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x0fmaximumInterval\x12)\n" + + "\x10maximum_attempts\x18\x04 \x01(\x05R\x0fmaximumAttempts\x129\n" + + "\x19non_retryable_error_types\x18\x05 \x03(\tR\x16nonRetryableErrorTypes\"n\n" + + "\x10MeteringMetadata\x12Z\n" + + "*nonfirst_local_activity_execution_attempts\x18\r \x01(\rR&nonfirstLocalActivityExecutionAttempts\"V\n" + + "\x12WorkerVersionStamp\x12\x19\n" + + "\bbuild_id\x18\x01 \x01(\tR\abuildId\x12%\n" + + "\x0euse_versioning\x18\x03 \x01(\bR\ruseVersioning\"\x93\x01\n" + + "\x19WorkerVersionCapabilities\x12\x19\n" + + "\bbuild_id\x18\x01 \x01(\tR\abuildId\x12%\n" + + "\x0euse_versioning\x18\x02 \x01(\bR\ruseVersioning\x124\n" + + "\x16deployment_series_name\x18\x04 \x01(\tR\x14deploymentSeriesName\"\xe7\x03\n" + + "\fResetOptions\x12H\n" + + "\x13first_workflow_task\x18\x01 \x01(\v2\x16.google.protobuf.EmptyH\x00R\x11firstWorkflowTask\x12F\n" + + "\x12last_workflow_task\x18\x02 \x01(\v2\x16.google.protobuf.EmptyH\x00R\x10lastWorkflowTask\x12*\n" + + "\x10workflow_task_id\x18\x03 \x01(\x03H\x00R\x0eworkflowTaskId\x12\x1b\n" + + "\bbuild_id\x18\x04 \x01(\tH\x00R\abuildId\x12Y\n" + + "\x12reset_reapply_type\x18\n" + + " \x01(\x0e2'.temporal.api.enums.v1.ResetReapplyTypeB\x02\x18\x01R\x10resetReapplyType\x12(\n" + + "\x10current_run_only\x18\v \x01(\bR\x0ecurrentRunOnly\x12m\n" + + "\x1breset_reapply_exclude_types\x18\f \x03(\x0e2..temporal.api.enums.v1.ResetReapplyExcludeTypeR\x18resetReapplyExcludeTypesB\b\n" + + "\x06target\"\x9b\x03\n" + + "\bCallback\x12>\n" + + "\x05nexus\x18\x02 \x01(\v2&.temporal.api.common.v1.Callback.NexusH\x00R\x05nexus\x12G\n" + + "\binternal\x18\x03 \x01(\v2).temporal.api.common.v1.Callback.InternalH\x00R\binternal\x122\n" + + "\x05links\x18d \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\x1a\xa0\x01\n" + + "\x05Nexus\x12\x10\n" + + "\x03url\x18\x01 \x01(\tR\x03url\x12J\n" + + "\x06header\x18\x02 \x03(\v22.temporal.api.common.v1.Callback.Nexus.HeaderEntryR\x06header\x1a9\n" + + "\vHeaderEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\x1e\n" + + "\bInternal\x12\x12\n" + + "\x04data\x18\x01 \x01(\fR\x04dataB\t\n" + + "\avariantJ\x04\b\x01\x10\x02\"\xd2\b\n" + + "\x04Link\x12S\n" + + "\x0eworkflow_event\x18\x01 \x01(\v2*.temporal.api.common.v1.Link.WorkflowEventH\x00R\rworkflowEvent\x12D\n" + + "\tbatch_job\x18\x02 \x01(\v2%.temporal.api.common.v1.Link.BatchJobH\x00R\bbatchJob\x12C\n" + + "\bactivity\x18\x03 \x01(\v2%.temporal.api.common.v1.Link.ActivityH\x00R\bactivity\x12V\n" + + "\x0fnexus_operation\x18\x04 \x01(\v2+.temporal.api.common.v1.Link.NexusOperationH\x00R\x0enexusOperation\x1a\x97\x04\n" + + "\rWorkflowEvent\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12X\n" + + "\tevent_ref\x18d \x01(\v29.temporal.api.common.v1.Link.WorkflowEvent.EventReferenceH\x00R\beventRef\x12e\n" + + "\x0erequest_id_ref\x18e \x01(\v2=.temporal.api.common.v1.Link.WorkflowEvent.RequestIdReferenceH\x00R\frequestIdRef\x1al\n" + + "\x0eEventReference\x12\x19\n" + + "\bevent_id\x18\x01 \x01(\x03R\aeventId\x12?\n" + + "\n" + + "event_type\x18\x02 \x01(\x0e2 .temporal.api.enums.v1.EventTypeR\teventType\x1at\n" + + "\x12RequestIdReference\x12\x1d\n" + + "\n" + + "request_id\x18\x01 \x01(\tR\trequestId\x12?\n" + + "\n" + + "event_type\x18\x02 \x01(\x0e2 .temporal.api.enums.v1.EventTypeR\teventTypeB\v\n" + + "\treference\x1a!\n" + + "\bBatchJob\x12\x15\n" + + "\x06job_id\x18\x01 \x01(\tR\x05jobId\x1a`\n" + + "\bActivity\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vactivity_id\x18\x02 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x1ah\n" + + "\x0eNexusOperation\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\foperation_id\x18\x02 \x01(\tR\voperationId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runIdB\t\n" + + "\avariant\"3\n" + + "\tPrincipal\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\"y\n" + + "\bPriority\x12!\n" + + "\fpriority_key\x18\x01 \x01(\x05R\vpriorityKey\x12!\n" + + "\ffairness_key\x18\x02 \x01(\tR\vfairnessKey\x12'\n" + + "\x0ffairness_weight\x18\x03 \x01(\x02R\x0efairnessWeight\"N\n" + + "\x0eWorkerSelector\x120\n" + + "\x13worker_instance_key\x18\x01 \x01(\tH\x00R\x11workerInstanceKeyB\n" + + "\n" + + "\bselector\"\xa2\x01\n" + + "\x11OnConflictOptions\x12*\n" + + "\x11attach_request_id\x18\x01 \x01(\bR\x0fattachRequestId\x12>\n" + + "\x1battach_completion_callbacks\x18\x02 \x01(\bR\x19attachCompletionCallbacks\x12!\n" + + "\fattach_links\x18\x03 \x01(\bR\vattachLinksB\x89\x01\n" + + "\x19io.temporal.api.common.v1B\fMessageProtoP\x01Z#go.temporal.io/api/common/v1;common\xaa\x02\x18Temporalio.Api.Common.V1\xea\x02\x1bTemporalio::Api::Common::V1b\x06proto3" + +var ( + file_temporal_api_common_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_common_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_common_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_common_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_common_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_common_v1_message_proto_rawDesc), len(file_temporal_api_common_v1_message_proto_rawDesc))) + }) + return file_temporal_api_common_v1_message_proto_rawDescData +} + +var file_temporal_api_common_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 34) +var file_temporal_api_common_v1_message_proto_goTypes = []any{ + (*DataBlob)(nil), // 0: temporal.api.common.v1.DataBlob + (*Payloads)(nil), // 1: temporal.api.common.v1.Payloads + (*Payload)(nil), // 2: temporal.api.common.v1.Payload + (*SearchAttributes)(nil), // 3: temporal.api.common.v1.SearchAttributes + (*Memo)(nil), // 4: temporal.api.common.v1.Memo + (*Header)(nil), // 5: temporal.api.common.v1.Header + (*WorkflowExecution)(nil), // 6: temporal.api.common.v1.WorkflowExecution + (*WorkflowType)(nil), // 7: temporal.api.common.v1.WorkflowType + (*ActivityType)(nil), // 8: temporal.api.common.v1.ActivityType + (*RetryPolicy)(nil), // 9: temporal.api.common.v1.RetryPolicy + (*MeteringMetadata)(nil), // 10: temporal.api.common.v1.MeteringMetadata + (*WorkerVersionStamp)(nil), // 11: temporal.api.common.v1.WorkerVersionStamp + (*WorkerVersionCapabilities)(nil), // 12: temporal.api.common.v1.WorkerVersionCapabilities + (*ResetOptions)(nil), // 13: temporal.api.common.v1.ResetOptions + (*Callback)(nil), // 14: temporal.api.common.v1.Callback + (*Link)(nil), // 15: temporal.api.common.v1.Link + (*Principal)(nil), // 16: temporal.api.common.v1.Principal + (*Priority)(nil), // 17: temporal.api.common.v1.Priority + (*WorkerSelector)(nil), // 18: temporal.api.common.v1.WorkerSelector + (*OnConflictOptions)(nil), // 19: temporal.api.common.v1.OnConflictOptions + nil, // 20: temporal.api.common.v1.Payload.MetadataEntry + (*Payload_ExternalPayloadDetails)(nil), // 21: temporal.api.common.v1.Payload.ExternalPayloadDetails + nil, // 22: temporal.api.common.v1.SearchAttributes.IndexedFieldsEntry + nil, // 23: temporal.api.common.v1.Memo.FieldsEntry + nil, // 24: temporal.api.common.v1.Header.FieldsEntry + (*Callback_Nexus)(nil), // 25: temporal.api.common.v1.Callback.Nexus + (*Callback_Internal)(nil), // 26: temporal.api.common.v1.Callback.Internal + nil, // 27: temporal.api.common.v1.Callback.Nexus.HeaderEntry + (*Link_WorkflowEvent)(nil), // 28: temporal.api.common.v1.Link.WorkflowEvent + (*Link_BatchJob)(nil), // 29: temporal.api.common.v1.Link.BatchJob + (*Link_Activity)(nil), // 30: temporal.api.common.v1.Link.Activity + (*Link_NexusOperation)(nil), // 31: temporal.api.common.v1.Link.NexusOperation + (*Link_WorkflowEvent_EventReference)(nil), // 32: temporal.api.common.v1.Link.WorkflowEvent.EventReference + (*Link_WorkflowEvent_RequestIdReference)(nil), // 33: temporal.api.common.v1.Link.WorkflowEvent.RequestIdReference + (v1.EncodingType)(0), // 34: temporal.api.enums.v1.EncodingType + (*durationpb.Duration)(nil), // 35: google.protobuf.Duration + (*emptypb.Empty)(nil), // 36: google.protobuf.Empty + (v1.ResetReapplyType)(0), // 37: temporal.api.enums.v1.ResetReapplyType + (v1.ResetReapplyExcludeType)(0), // 38: temporal.api.enums.v1.ResetReapplyExcludeType + (v1.EventType)(0), // 39: temporal.api.enums.v1.EventType +} +var file_temporal_api_common_v1_message_proto_depIdxs = []int32{ + 34, // 0: temporal.api.common.v1.DataBlob.encoding_type:type_name -> temporal.api.enums.v1.EncodingType + 2, // 1: temporal.api.common.v1.Payloads.payloads:type_name -> temporal.api.common.v1.Payload + 20, // 2: temporal.api.common.v1.Payload.metadata:type_name -> temporal.api.common.v1.Payload.MetadataEntry + 21, // 3: temporal.api.common.v1.Payload.external_payloads:type_name -> temporal.api.common.v1.Payload.ExternalPayloadDetails + 22, // 4: temporal.api.common.v1.SearchAttributes.indexed_fields:type_name -> temporal.api.common.v1.SearchAttributes.IndexedFieldsEntry + 23, // 5: temporal.api.common.v1.Memo.fields:type_name -> temporal.api.common.v1.Memo.FieldsEntry + 24, // 6: temporal.api.common.v1.Header.fields:type_name -> temporal.api.common.v1.Header.FieldsEntry + 35, // 7: temporal.api.common.v1.RetryPolicy.initial_interval:type_name -> google.protobuf.Duration + 35, // 8: temporal.api.common.v1.RetryPolicy.maximum_interval:type_name -> google.protobuf.Duration + 36, // 9: temporal.api.common.v1.ResetOptions.first_workflow_task:type_name -> google.protobuf.Empty + 36, // 10: temporal.api.common.v1.ResetOptions.last_workflow_task:type_name -> google.protobuf.Empty + 37, // 11: temporal.api.common.v1.ResetOptions.reset_reapply_type:type_name -> temporal.api.enums.v1.ResetReapplyType + 38, // 12: temporal.api.common.v1.ResetOptions.reset_reapply_exclude_types:type_name -> temporal.api.enums.v1.ResetReapplyExcludeType + 25, // 13: temporal.api.common.v1.Callback.nexus:type_name -> temporal.api.common.v1.Callback.Nexus + 26, // 14: temporal.api.common.v1.Callback.internal:type_name -> temporal.api.common.v1.Callback.Internal + 15, // 15: temporal.api.common.v1.Callback.links:type_name -> temporal.api.common.v1.Link + 28, // 16: temporal.api.common.v1.Link.workflow_event:type_name -> temporal.api.common.v1.Link.WorkflowEvent + 29, // 17: temporal.api.common.v1.Link.batch_job:type_name -> temporal.api.common.v1.Link.BatchJob + 30, // 18: temporal.api.common.v1.Link.activity:type_name -> temporal.api.common.v1.Link.Activity + 31, // 19: temporal.api.common.v1.Link.nexus_operation:type_name -> temporal.api.common.v1.Link.NexusOperation + 2, // 20: temporal.api.common.v1.SearchAttributes.IndexedFieldsEntry.value:type_name -> temporal.api.common.v1.Payload + 2, // 21: temporal.api.common.v1.Memo.FieldsEntry.value:type_name -> temporal.api.common.v1.Payload + 2, // 22: temporal.api.common.v1.Header.FieldsEntry.value:type_name -> temporal.api.common.v1.Payload + 27, // 23: temporal.api.common.v1.Callback.Nexus.header:type_name -> temporal.api.common.v1.Callback.Nexus.HeaderEntry + 32, // 24: temporal.api.common.v1.Link.WorkflowEvent.event_ref:type_name -> temporal.api.common.v1.Link.WorkflowEvent.EventReference + 33, // 25: temporal.api.common.v1.Link.WorkflowEvent.request_id_ref:type_name -> temporal.api.common.v1.Link.WorkflowEvent.RequestIdReference + 39, // 26: temporal.api.common.v1.Link.WorkflowEvent.EventReference.event_type:type_name -> temporal.api.enums.v1.EventType + 39, // 27: temporal.api.common.v1.Link.WorkflowEvent.RequestIdReference.event_type:type_name -> temporal.api.enums.v1.EventType + 28, // [28:28] is the sub-list for method output_type + 28, // [28:28] is the sub-list for method input_type + 28, // [28:28] is the sub-list for extension type_name + 28, // [28:28] is the sub-list for extension extendee + 0, // [0:28] is the sub-list for field type_name +} + +func init() { file_temporal_api_common_v1_message_proto_init() } +func file_temporal_api_common_v1_message_proto_init() { + if File_temporal_api_common_v1_message_proto != nil { + return + } + file_temporal_api_common_v1_message_proto_msgTypes[13].OneofWrappers = []any{ + (*ResetOptions_FirstWorkflowTask)(nil), + (*ResetOptions_LastWorkflowTask)(nil), + (*ResetOptions_WorkflowTaskId)(nil), + (*ResetOptions_BuildId)(nil), + } + file_temporal_api_common_v1_message_proto_msgTypes[14].OneofWrappers = []any{ + (*Callback_Nexus_)(nil), + (*Callback_Internal_)(nil), + } + file_temporal_api_common_v1_message_proto_msgTypes[15].OneofWrappers = []any{ + (*Link_WorkflowEvent_)(nil), + (*Link_BatchJob_)(nil), + (*Link_Activity_)(nil), + (*Link_NexusOperation_)(nil), + } + file_temporal_api_common_v1_message_proto_msgTypes[18].OneofWrappers = []any{ + (*WorkerSelector_WorkerInstanceKey)(nil), + } + file_temporal_api_common_v1_message_proto_msgTypes[28].OneofWrappers = []any{ + (*Link_WorkflowEvent_EventRef)(nil), + (*Link_WorkflowEvent_RequestIdRef)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_common_v1_message_proto_rawDesc), len(file_temporal_api_common_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 34, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_common_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_common_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_common_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_common_v1_message_proto = out.File + file_temporal_api_common_v1_message_proto_goTypes = nil + file_temporal_api_common_v1_message_proto_depIdxs = nil +} diff --git a/api_next/common/v1/payload_json.go b/api_next/common/v1/payload_json.go new file mode 100644 index 00000000..0de0b471 --- /dev/null +++ b/api_next/common/v1/payload_json.go @@ -0,0 +1,605 @@ +package common + +import ( + //"bytes" + + "encoding" + "encoding/base64" + gojson "encoding/json" + "fmt" + "reflect" + "sort" + "strconv" + "strings" + + "go.temporal.io/api/internal/protojson" + "go.temporal.io/api/internal/protojson/json" + // "google.golang.org/protobuf/encoding/protojson" +) + +const ( + payloadMetadataKey = "metadata" + payloadDataKey = "data" + shorthandMessageTypeKey = "_protoMessageType" + binaryNullBase64 = "YmluYXJ5L251bGw=" +) + +var _ protojson.ProtoJSONMaybeMarshaler = (*Payload)(nil) +var _ protojson.ProtoJSONMaybeMarshaler = (*Payloads)(nil) +var _ protojson.ProtoJSONMaybeUnmarshaler = (*Payload)(nil) +var _ protojson.ProtoJSONMaybeUnmarshaler = (*Payloads)(nil) + +// !!! This file is copied from internal/temporalcommonv1 to common/v1. +// !!! DO NOT EDIT at common/v1/payload_json.go. +func marshalSingular(enc *json.Encoder, value interface{}) error { + switch vv := value.(type) { + case string: + return enc.WriteString(vv) + case bool: + enc.WriteBool(vv) + case int: + enc.WriteInt(int64(vv)) + case int64: + enc.WriteInt(vv) + case uint: + enc.WriteUint(uint64(vv)) + case uint64: + enc.WriteUint(vv) + case float32: + enc.WriteFloat(float64(vv), 32) + case float64: + enc.WriteFloat(vv, 64) + default: + return fmt.Errorf("cannot marshal type %[1]T value %[1]v", vv) + } + return nil +} + +func marshalStruct(enc *json.Encoder, vv reflect.Value) error { + enc.StartObject() + defer enc.EndObject() + ty := vv.Type() + +Loop: + for i, n := 0, vv.NumField(); i < n; i++ { + f := vv.Field(i) + name := f.String() + // lowercase. private field + if name[0] >= 'a' && name[0] <= 'z' { + continue + } + + // Handle encoding/json struct tags + tag, present := ty.Field(i).Tag.Lookup("json") + if present { + opts := strings.Split(tag, ",") + for j := range opts { + if opts[j] == "omitempty" && vv.IsZero() { + continue Loop + } else if opts[j] == "-" { + continue Loop + } + // name overridden + name = opts[j] + } + } + if err := enc.WriteName(name); err != nil { + return fmt.Errorf("unable to write name %s: %w", name, err) + } + if err := marshalSingular(enc, f.Interface()); err != nil { + return fmt.Errorf("unable to marshal value for name %s: %w", name, err) + } + } + return nil +} + +type keyVal struct { + k string + v reflect.Value +} + +// Map keys must be either strings or integers. We don't use encoding.TextMarshaler so we don't care +func marshalMap(enc *json.Encoder, vv reflect.Value) error { + enc.StartObject() + defer enc.EndObject() + + sv := make([]keyVal, vv.Len()) + iter := vv.MapRange() + for i := 0; iter.Next(); i++ { + k := iter.Key() + sv[i].v = iter.Value() + + if k.Kind() == reflect.String { + sv[i].k = k.String() + } else if tm, ok := k.Interface().(encoding.TextMarshaler); ok { + if k.Kind() == reflect.Pointer && k.IsNil() { + return nil + } + buf, err := tm.MarshalText() + sv[i].k = string(buf) + if err != nil { + return err + } + } else { + switch k.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + sv[i].k = strconv.FormatInt(k.Int(), 10) + return nil + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + sv[i].k = strconv.FormatUint(k.Uint(), 10) + return nil + default: + return fmt.Errorf("map key type %T not supported", k) + } + } + } + // Sort keys just like encoding/json + sort.Slice(sv, func(i, j int) bool { return sv[i].k < sv[j].k }) + + for i := 0; i < len(sv); i++ { + if err := enc.WriteName(sv[i].k); err != nil { + return fmt.Errorf("unable to write name %s: %w", sv[i].k, err) + } + if err := marshalValue(enc, sv[i].v); err != nil { + return fmt.Errorf("unable to marshal value for name %s: %w", sv[i].k, err) + } + } + return nil +} + +func marshalValue(enc *json.Encoder, vv reflect.Value) error { + switch vv.Kind() { + case reflect.Slice, reflect.Array: + if vv.IsNil() || vv.Len() == 0 { + enc.WriteNull() + return nil + } + enc.StartArray() + defer enc.EndArray() + for i := 0; i < vv.Len(); i++ { + if err := marshalValue(enc, vv.Index(i)); err != nil { + return err + } + } + case reflect.Interface, reflect.Pointer: + if vv.IsNil() { + enc.WriteNull() + } else { + marshalValue(enc, vv.Elem()) + } + case reflect.Struct: + marshalStruct(enc, vv) + case reflect.Map: + if vv.IsNil() || vv.Len() == 0 { + enc.StartObject() + enc.EndObject() + return nil + } + marshalMap(enc, vv) + case reflect.Bool, + reflect.String, + reflect.Int, + reflect.Int8, + reflect.Int16, + reflect.Int32, + reflect.Int64, + reflect.Uint, + reflect.Uint8, + reflect.Uint16, + reflect.Uint32, + reflect.Uint64, + reflect.Uintptr, + reflect.Float32, + reflect.Float64, + reflect.Complex64, + reflect.Complex128: + marshalSingular(enc, vv.Interface()) + default: + return fmt.Errorf("cannot marshal %[1]T value %[1]v", vv.Interface()) + } + + return nil +} + +func marshal(enc *json.Encoder, value interface{}) error { + if value == nil { + // nil data means we send the binary/null encoding + enc.StartObject() + defer enc.EndObject() + if err := enc.WriteName("metadata"); err != nil { + return err + } + + enc.StartObject() + defer enc.EndObject() + if err := enc.WriteName("encoding"); err != nil { + return err + } + // base64(binary/null) + return enc.WriteString(binaryNullBase64) + } + return marshalValue(enc, reflect.ValueOf(value)) +} + +// Key on the marshaler metadata specifying whether shorthand is enabled. +// +// WARNING: This is internal API and should not be called externally. +const EnablePayloadShorthandMetadataKey = "__temporal_enable_payload_shorthand" + +// MaybeMarshalProtoJSON implements +// [go.temporal.io/api/internal/temporaljsonpb.ProtoJSONMaybeMarshaler.MaybeMarshalProtoJSON]. +// +// WARNING: This is internal API and should not be called externally. +func (p *Payloads) MaybeMarshalProtoJSON(meta map[string]interface{}, enc *json.Encoder) (handled bool, err error) { + // If this is nil, ignore + if p == nil { + return false, nil + } + + // Skip unless explicitly enabled + if _, enabled := meta[EnablePayloadShorthandMetadataKey].(bool); !enabled { + return false, nil + } + + // We only support marshalling to shorthand if all payloads are handled or + // there are no payloads, so check if all can be handled first. + vals := make([]any, len(p.Payloads)) + for i, payload := range p.Payloads { + handled, vals[i], err = payload.toJSONShorthand() + if !handled || err != nil { + return handled, err + } + } + + enc.StartArray() + defer enc.EndArray() + + for _, val := range vals { + if err = marshal(enc, val); err != nil { + return true, err + } + } + return true, err +} + +// MaybeUnmarshalProtoJSON implements +// [go.temporal.io/api/internal/temporaljsonpb.ProtoJSONMaybeUnmarshaler.MaybeUnmarshalProtoJSON]. +// +// WARNING: This is internal API and should not be called externally. +func (p *Payloads) MaybeUnmarshalProtoJSON(meta map[string]interface{}, dec *json.Decoder) (handled bool, err error) { + // If this is nil, ignore (should never be) + if p == nil { + return false, nil + } + // Skip unless explicitly enabled + if _, enabled := meta[EnablePayloadShorthandMetadataKey].(bool); !enabled { + return false, nil + } + tok, err := dec.Peek() + if err != nil { + return true, err + } + + if tok.Kind() == json.Null { + // Null is accepted as empty list + _, _ = dec.Read() + return true, nil + } else if tok.Kind() != json.ArrayOpen { + // If this isn't an array, then it's not shorthand + return false, nil + } + _, _ = dec.Read() + for { + tok, err := dec.Peek() + if err != nil { + return true, err + } + if tok.Kind() == json.ArrayClose { + _, _ = dec.Read() + break + } + var pl Payload + if err := pl.fromJSONMaybeShorthand(dec); err != nil { + return true, fmt.Errorf("unable to unmarshal payload: %w", err) + } + p.Payloads = append(p.Payloads, &pl) + } + + return true, nil +} + +// MaybeMarshalProtoJSON implements +// [go.temporal.io/api/internal/temporaljsonpb.ProtoJSONMaybeMarshaler.MaybeMarshalProtoJSON]. +// +// WARNING: This is internal API and should not be called externally. +func (p *Payload) MaybeMarshalProtoJSON(meta map[string]interface{}, enc *json.Encoder) (handled bool, err error) { + // If this is nil, ignore + if p == nil { + return false, nil + } + // Skip unless explicitly enabled + if _, enabled := meta[EnablePayloadShorthandMetadataKey].(bool); !enabled { + return false, nil + } + // If any are not handled or there is an error, return + handled, val, err := p.toJSONShorthand() + if !handled || err != nil { + return handled, err + } + return true, marshal(enc, val) +} + +// MaybeUnmarshalProtoJSON implements +// [go.temporal.io/api/internal/temporaljsonpb.ProtoJSONMaybeUnmarshaler.MaybeUnmarshalProtoJSON]. +// +// WARNING: This is internal API and should not be called externally. +func (p *Payload) MaybeUnmarshalProtoJSON(meta map[string]interface{}, dec *json.Decoder) (handled bool, err error) { + // If this is nil, ignore (should never be) + if p == nil { + return false, nil + } + // Skip unless explicitly enabled + if _, enabled := meta[EnablePayloadShorthandMetadataKey].(bool); !enabled { + return false, nil + } + // Always considered handled, unmarshaler ignored (unknown fields always + // disallowed for non-shorthand payloads at this time) + p.fromJSONMaybeShorthand(dec) + return true, nil +} + +func (p *Payload) toJSONShorthand() (handled bool, value interface{}, err error) { + // Only support binary null, plain JSON and proto JSON + switch string(p.Metadata["encoding"]) { + case "binary/null": + // Leave value as nil + handled = true + case "json/plain": + // Must only have this single metadata + if len(p.Metadata) != 1 { + return false, nil, nil + } + // We unmarshal because we may have to indent. We let this error fail the + // marshaller. + handled = true + err = gojson.Unmarshal(p.Data, &value) + case "json/protobuf": + // Must have the message type and no other metadata + msgType := string(p.Metadata["messageType"]) + if msgType == "" || len(p.Metadata) != 2 { + return false, nil, nil + } + // Since this is a proto object, this must unmarshal to a object. We let + // this error fail the marshaller. + var valueMap map[string]interface{} + handled = true + err = gojson.Unmarshal(p.Data, &valueMap) + // Put the message type on the object + if valueMap != nil { + valueMap[shorthandMessageTypeKey] = msgType + } + value = valueMap + default: + return false, nil, fmt.Errorf("unsupported encoding %s", string(p.Metadata["encoding"])) + } + return +} + +func unmarshalArray(dec *json.Decoder) (interface{}, error) { + var arr []interface{} + for { + tok, err := dec.Read() + if err != nil { + return nil, err + } + if tok.Kind() == json.ArrayClose { + return arr, nil + } + obj, err := unmarshalValue(dec, tok) + if err != nil { + return nil, err + } + arr = append(arr, obj) + } + +} + +func unmarshalValue(dec *json.Decoder, tok json.Token) (interface{}, error) { + switch tok.Kind() { + case json.Null: + return nil, nil + case json.Bool: + return tok.Bool(), nil + case json.Number: + i64, ok := tok.Int(64) + if ok { + return i64, nil + } + f64, ok := tok.Float(64) + if ok { + return f64, nil + } + return nil, fmt.Errorf("unable to parse number from %s", tok.Kind()) + case json.String: + return tok.ParsedString(), nil + case json.ObjectOpen: + out := map[string]interface{}{} + if err := unmarshalMap(dec, out); err != nil { + return nil, err + } + return out, nil + case json.ArrayOpen: + return unmarshalArray(dec) + default: + return nil, fmt.Errorf("unexpected %s token %v", tok.Kind(), tok) + } +} + +// Payloads are a map of string to things. All keys are strings however, so we can take shortcuts here. +func unmarshalMap(dec *json.Decoder, out map[string]interface{}) error { + for { + tok, err := dec.Read() + if err != nil { + return err + } + switch tok.Kind() { + default: + return fmt.Errorf("unexpected %s token", tok.Kind()) + case json.ObjectClose: + return nil + case json.Name: + key := tok.Name() + tok, err = dec.Read() + if err != nil { + return fmt.Errorf("unexpected error unmarshalling value for map key %q: %w", key, err) + } + val, err := unmarshalValue(dec, tok) + if err != nil { + return fmt.Errorf("unable to unmarshal value for map key %q: %w", key, err) + } + out[key] = val + } + } +} + +// Protojson marshals bytes as base64-encoded strings +func unmarshalBytes(s string) ([]byte, bool) { + enc := base64.StdEncoding + if strings.ContainsAny(s, "-_") { + enc = base64.URLEncoding + } + if len(s)%4 != 0 { + enc = enc.WithPadding(base64.NoPadding) + } + b, err := enc.DecodeString(s) + if err != nil { + return nil, false + } + return b, true +} + +// Attempt to unmarshal a standard payload from this map. Returns true if successful +func (p *Payload) unmarshalPayload(valueMap map[string]interface{}) bool { + md, mdOk := valueMap[payloadMetadataKey] + if !mdOk { + return false + } + + mdm, ok := md.(map[string]interface{}) + if !ok { + return false + } + + // Payloads must have an encoding + enc, ok := mdm["encoding"] + if !ok { + return false + } + + d, dataOk := valueMap[payloadDataKey] + // It's ok to have no data key if the encoding is binary/null + if mdOk && !dataOk && enc == binaryNullBase64 { + p.Metadata = map[string][]byte{ + "encoding": []byte("binary/null"), + } + return true + } else if !mdOk && !dataOk { + return false + } else if len(valueMap) > 2 { + // If we change the schema of the Payload type we'll need to update this + } + + // By this point payloads must have both data and metadata keys and no others + if !(dataOk && mdOk && len(valueMap) == 2) { + return false + } + + // We're probably a payload by this point + ds, ok := d.(string) + if !ok { + return false + } + + dataBytes, ok := unmarshalBytes(ds) + if !ok { + return false + } + mdbm := make(map[string][]byte, len(mdm)) + for k, v := range mdm { + vs, ok := v.(string) + // metadata keys will be encoded as base64 strings so we can reject everything else + if !ok { + return false + } + vb, ok := unmarshalBytes(vs) + if !ok { + return false + } + mdbm[k] = vb + } + + p.Metadata = mdbm + p.Data = dataBytes + return true +} + +func (p *Payload) fromJSONMaybeShorthand(dec *json.Decoder) error { + // We need to try to deserialize into the regular payload first. If it works + // and there is metadata _and_ data actually present (or null with a null + // metadata encoding), we assume it's a non-shorthand payload. If it fails + // (which it will if not an object or there is an unknown field or if + // 'metadata' is not string + base64 or if 'data' is not base64), we assume + // shorthand. We are ok disallowing unknown fields for payloads here even if + // the outer unmarshaler allows them. + tok, err := dec.Read() + if err != nil { + return err + } + val, err := unmarshalValue(dec, tok) + if err != nil { + return err + } + switch tv := val.(type) { + default: + // take it as-is + p.Metadata = map[string][]byte{"encoding": []byte("json/plain")} + p.Data, err = gojson.Marshal(val) + return err + case nil: + p.Data = nil + p.Metadata = map[string][]byte{"encoding": []byte("binary/null")} + return nil + case map[string]interface{}: + if handled := p.unmarshalPayload(tv); handled { + // Standard payload + return nil + } + + // Now that we know it is shorthand, it might be a proto JSON with a message + // type. If it does have the message type, we need to remove it and + // re-serialize it to data. So the quickest way to check whether it has the + // message type is to search for the key. + if maybeMsgType, found := tv[shorthandMessageTypeKey]; found { + msgType, ok := maybeMsgType.(string) + if !ok { + return fmt.Errorf("internal key %q should have type string, not %T", shorthandMessageTypeKey, maybeMsgType) + } + // Now we know it's a proto JSON, so remove the key and re-serialize + delete(tv, "_protoMessageType") + // This won't error. The resulting JSON payload data may not be exactly + // what user passed in sans message type (e.g. user may have indented or + // did not have same field order), but that is acceptable when going + // from shorthand to non-shorthand. + p.Data, _ = gojson.Marshal(tv) + p.Metadata = map[string][]byte{ + "encoding": []byte("json/protobuf"), + "messageType": []byte(msgType), + } + } else { + p.Metadata = map[string][]byte{"encoding": []byte("json/plain")} + p.Data, err = gojson.Marshal(val) + return err + } + return nil + } +} diff --git a/api_next/compute/v1/config.go-helpers.pb.go b/api_next/compute/v1/config.go-helpers.pb.go new file mode 100644 index 00000000..8e310b2d --- /dev/null +++ b/api_next/compute/v1/config.go-helpers.pb.go @@ -0,0 +1,191 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package compute + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ComputeConfigScalingGroup to the protobuf v3 wire format +func (val *ComputeConfigScalingGroup) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ComputeConfigScalingGroup from the protobuf v3 wire format +func (val *ComputeConfigScalingGroup) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ComputeConfigScalingGroup) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ComputeConfigScalingGroup values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ComputeConfigScalingGroup) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ComputeConfigScalingGroup + switch t := that.(type) { + case *ComputeConfigScalingGroup: + that1 = t + case ComputeConfigScalingGroup: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ComputeConfig to the protobuf v3 wire format +func (val *ComputeConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ComputeConfig from the protobuf v3 wire format +func (val *ComputeConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ComputeConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ComputeConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ComputeConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ComputeConfig + switch t := that.(type) { + case *ComputeConfig: + that1 = t + case ComputeConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ComputeConfigScalingGroupUpdate to the protobuf v3 wire format +func (val *ComputeConfigScalingGroupUpdate) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ComputeConfigScalingGroupUpdate from the protobuf v3 wire format +func (val *ComputeConfigScalingGroupUpdate) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ComputeConfigScalingGroupUpdate) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ComputeConfigScalingGroupUpdate values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ComputeConfigScalingGroupUpdate) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ComputeConfigScalingGroupUpdate + switch t := that.(type) { + case *ComputeConfigScalingGroupUpdate: + that1 = t + case ComputeConfigScalingGroupUpdate: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ComputeConfigSummary to the protobuf v3 wire format +func (val *ComputeConfigSummary) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ComputeConfigSummary from the protobuf v3 wire format +func (val *ComputeConfigSummary) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ComputeConfigSummary) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ComputeConfigSummary values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ComputeConfigSummary) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ComputeConfigSummary + switch t := that.(type) { + case *ComputeConfigSummary: + that1 = t + case ComputeConfigSummary: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ComputeConfigScalingGroupSummary to the protobuf v3 wire format +func (val *ComputeConfigScalingGroupSummary) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ComputeConfigScalingGroupSummary from the protobuf v3 wire format +func (val *ComputeConfigScalingGroupSummary) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ComputeConfigScalingGroupSummary) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ComputeConfigScalingGroupSummary values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ComputeConfigScalingGroupSummary) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ComputeConfigScalingGroupSummary + switch t := that.(type) { + case *ComputeConfigScalingGroupSummary: + that1 = t + case ComputeConfigScalingGroupSummary: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/compute/v1/config.pb.go b/api_next/compute/v1/config.pb.go new file mode 100644 index 00000000..d2c5e1e4 --- /dev/null +++ b/api_next/compute/v1/config.pb.go @@ -0,0 +1,399 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/compute/v1/config.proto + +package compute + +import ( + v1 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type ComputeConfigScalingGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Optional. The set of task queue types this scaling group serves. + // If not provided, this scaling group serves all not otherwise defined + // task types. + TaskQueueTypes []v1.TaskQueueType `protobuf:"varint,1,rep,packed,name=task_queue_types,json=taskQueueTypes,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_types,omitempty"` + // Stores instructions for a worker control plane controller how to respond + // to worker lifeycle events. + Provider *ComputeProvider `protobuf:"bytes,3,opt,name=provider,proto3" json:"provider,omitempty"` + // Informs a worker lifecycle controller *when* and *how often* to perform + // certain worker lifecycle actions like starting a serverless worker. + Scaler *ComputeScaler `protobuf:"bytes,4,opt,name=scaler,proto3" json:"scaler,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ComputeConfigScalingGroup) Reset() { + *x = ComputeConfigScalingGroup{} + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ComputeConfigScalingGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeConfigScalingGroup) ProtoMessage() {} + +func (x *ComputeConfigScalingGroup) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeConfigScalingGroup.ProtoReflect.Descriptor instead. +func (*ComputeConfigScalingGroup) Descriptor() ([]byte, []int) { + return file_temporal_api_compute_v1_config_proto_rawDescGZIP(), []int{0} +} + +func (x *ComputeConfigScalingGroup) GetTaskQueueTypes() []v1.TaskQueueType { + if x != nil { + return x.TaskQueueTypes + } + return nil +} + +func (x *ComputeConfigScalingGroup) GetProvider() *ComputeProvider { + if x != nil { + return x.Provider + } + return nil +} + +func (x *ComputeConfigScalingGroup) GetScaler() *ComputeScaler { + if x != nil { + return x.Scaler + } + return nil +} + +// ComputeConfig stores configuration that helps a worker control plane +// controller understand *when* and *how* to respond to worker lifecycle +// events. +type ComputeConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Each scaling group describes a compute config for a specific subset of the worker + // deployment version: covering a specific set of task types and/or regions. + // Having different configurations for different task types, allows independent + // tuning of activity and workflow task processing (for example). + // + // The key of the map is the ID of the scaling group used to reference it in subsequent + // update calls. + ScalingGroups map[string]*ComputeConfigScalingGroup `protobuf:"bytes,1,rep,name=scaling_groups,json=scalingGroups,proto3" json:"scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ComputeConfig) Reset() { + *x = ComputeConfig{} + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ComputeConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeConfig) ProtoMessage() {} + +func (x *ComputeConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeConfig.ProtoReflect.Descriptor instead. +func (*ComputeConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_compute_v1_config_proto_rawDescGZIP(), []int{1} +} + +func (x *ComputeConfig) GetScalingGroups() map[string]*ComputeConfigScalingGroup { + if x != nil { + return x.ScalingGroups + } + return nil +} + +type ComputeConfigScalingGroupUpdate struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScalingGroup *ComputeConfigScalingGroup `protobuf:"bytes,1,opt,name=scaling_group,json=scalingGroup,proto3" json:"scaling_group,omitempty"` + // Controls which fields from `scaling_group` will be applied. Semantics: + // - Mask is ignored for new scaling groups (only applicable when scaling group already exists). + // - Empty mask for an existing scaling group is no-op: no change. + // - Non-empty mask for an existing scaling group will update/unset only to the fields + // mentioned in the mask. + // - Accepted paths: "task_queue_types", "provider", "provider.type", "provider.details", + // "provider.nexus_endpoint", "scaler", "scaler.type", "scaler.details" + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ComputeConfigScalingGroupUpdate) Reset() { + *x = ComputeConfigScalingGroupUpdate{} + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ComputeConfigScalingGroupUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeConfigScalingGroupUpdate) ProtoMessage() {} + +func (x *ComputeConfigScalingGroupUpdate) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeConfigScalingGroupUpdate.ProtoReflect.Descriptor instead. +func (*ComputeConfigScalingGroupUpdate) Descriptor() ([]byte, []int) { + return file_temporal_api_compute_v1_config_proto_rawDescGZIP(), []int{2} +} + +func (x *ComputeConfigScalingGroupUpdate) GetScalingGroup() *ComputeConfigScalingGroup { + if x != nil { + return x.ScalingGroup + } + return nil +} + +func (x *ComputeConfigScalingGroupUpdate) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +// A subset of information in ComputeConfig optimized for list views. +type ComputeConfigSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScalingGroups map[string]*ComputeConfigScalingGroupSummary `protobuf:"bytes,1,rep,name=scaling_groups,json=scalingGroups,proto3" json:"scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ComputeConfigSummary) Reset() { + *x = ComputeConfigSummary{} + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ComputeConfigSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeConfigSummary) ProtoMessage() {} + +func (x *ComputeConfigSummary) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeConfigSummary.ProtoReflect.Descriptor instead. +func (*ComputeConfigSummary) Descriptor() ([]byte, []int) { + return file_temporal_api_compute_v1_config_proto_rawDescGZIP(), []int{3} +} + +func (x *ComputeConfigSummary) GetScalingGroups() map[string]*ComputeConfigScalingGroupSummary { + if x != nil { + return x.ScalingGroups + } + return nil +} + +type ComputeConfigScalingGroupSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + TaskQueueTypes []v1.TaskQueueType `protobuf:"varint,1,rep,packed,name=task_queue_types,json=taskQueueTypes,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_types,omitempty"` + ProviderType string `protobuf:"bytes,2,opt,name=provider_type,json=providerType,proto3" json:"provider_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ComputeConfigScalingGroupSummary) Reset() { + *x = ComputeConfigScalingGroupSummary{} + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ComputeConfigScalingGroupSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeConfigScalingGroupSummary) ProtoMessage() {} + +func (x *ComputeConfigScalingGroupSummary) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_compute_v1_config_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeConfigScalingGroupSummary.ProtoReflect.Descriptor instead. +func (*ComputeConfigScalingGroupSummary) Descriptor() ([]byte, []int) { + return file_temporal_api_compute_v1_config_proto_rawDescGZIP(), []int{4} +} + +func (x *ComputeConfigScalingGroupSummary) GetTaskQueueTypes() []v1.TaskQueueType { + if x != nil { + return x.TaskQueueTypes + } + return nil +} + +func (x *ComputeConfigScalingGroupSummary) GetProviderType() string { + if x != nil { + return x.ProviderType + } + return "" +} + +var File_temporal_api_compute_v1_config_proto protoreflect.FileDescriptor + +const file_temporal_api_compute_v1_config_proto_rawDesc = "" + + "\n" + + "$temporal/api/compute/v1/config.proto\x12\x17temporal.api.compute.v1\x1a&temporal/api/compute/v1/provider.proto\x1a$temporal/api/compute/v1/scaler.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a google/protobuf/field_mask.proto\"\xf1\x01\n" + + "\x19ComputeConfigScalingGroup\x12N\n" + + "\x10task_queue_types\x18\x01 \x03(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\x0etaskQueueTypes\x12D\n" + + "\bprovider\x18\x03 \x01(\v2(.temporal.api.compute.v1.ComputeProviderR\bprovider\x12>\n" + + "\x06scaler\x18\x04 \x01(\v2&.temporal.api.compute.v1.ComputeScalerR\x06scaler\"\xe7\x01\n" + + "\rComputeConfig\x12`\n" + + "\x0escaling_groups\x18\x01 \x03(\v29.temporal.api.compute.v1.ComputeConfig.ScalingGroupsEntryR\rscalingGroups\x1at\n" + + "\x12ScalingGroupsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12H\n" + + "\x05value\x18\x02 \x01(\v22.temporal.api.compute.v1.ComputeConfigScalingGroupR\x05value:\x028\x01\"\xb7\x01\n" + + "\x1fComputeConfigScalingGroupUpdate\x12W\n" + + "\rscaling_group\x18\x01 \x01(\v22.temporal.api.compute.v1.ComputeConfigScalingGroupR\fscalingGroup\x12;\n" + + "\vupdate_mask\x18\x02 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" + + "updateMask\"\xfc\x01\n" + + "\x14ComputeConfigSummary\x12g\n" + + "\x0escaling_groups\x18\x01 \x03(\v2@.temporal.api.compute.v1.ComputeConfigSummary.ScalingGroupsEntryR\rscalingGroups\x1a{\n" + + "\x12ScalingGroupsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12O\n" + + "\x05value\x18\x02 \x01(\v29.temporal.api.compute.v1.ComputeConfigScalingGroupSummaryR\x05value:\x028\x01\"\x97\x01\n" + + " ComputeConfigScalingGroupSummary\x12N\n" + + "\x10task_queue_types\x18\x01 \x03(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\x0etaskQueueTypes\x12#\n" + + "\rprovider_type\x18\x02 \x01(\tR\fproviderTypeB\x8d\x01\n" + + "\x1aio.temporal.api.compute.v1B\vConfigProtoP\x01Z%go.temporal.io/api/compute/v1;compute\xaa\x02\x19Temporalio.Api.Compute.V1\xea\x02\x1cTemporalio::Api::Compute::V1b\x06proto3" + +var ( + file_temporal_api_compute_v1_config_proto_rawDescOnce sync.Once + file_temporal_api_compute_v1_config_proto_rawDescData []byte +) + +func file_temporal_api_compute_v1_config_proto_rawDescGZIP() []byte { + file_temporal_api_compute_v1_config_proto_rawDescOnce.Do(func() { + file_temporal_api_compute_v1_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_compute_v1_config_proto_rawDesc), len(file_temporal_api_compute_v1_config_proto_rawDesc))) + }) + return file_temporal_api_compute_v1_config_proto_rawDescData +} + +var file_temporal_api_compute_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 7) +var file_temporal_api_compute_v1_config_proto_goTypes = []any{ + (*ComputeConfigScalingGroup)(nil), // 0: temporal.api.compute.v1.ComputeConfigScalingGroup + (*ComputeConfig)(nil), // 1: temporal.api.compute.v1.ComputeConfig + (*ComputeConfigScalingGroupUpdate)(nil), // 2: temporal.api.compute.v1.ComputeConfigScalingGroupUpdate + (*ComputeConfigSummary)(nil), // 3: temporal.api.compute.v1.ComputeConfigSummary + (*ComputeConfigScalingGroupSummary)(nil), // 4: temporal.api.compute.v1.ComputeConfigScalingGroupSummary + nil, // 5: temporal.api.compute.v1.ComputeConfig.ScalingGroupsEntry + nil, // 6: temporal.api.compute.v1.ComputeConfigSummary.ScalingGroupsEntry + (v1.TaskQueueType)(0), // 7: temporal.api.enums.v1.TaskQueueType + (*ComputeProvider)(nil), // 8: temporal.api.compute.v1.ComputeProvider + (*ComputeScaler)(nil), // 9: temporal.api.compute.v1.ComputeScaler + (*fieldmaskpb.FieldMask)(nil), // 10: google.protobuf.FieldMask +} +var file_temporal_api_compute_v1_config_proto_depIdxs = []int32{ + 7, // 0: temporal.api.compute.v1.ComputeConfigScalingGroup.task_queue_types:type_name -> temporal.api.enums.v1.TaskQueueType + 8, // 1: temporal.api.compute.v1.ComputeConfigScalingGroup.provider:type_name -> temporal.api.compute.v1.ComputeProvider + 9, // 2: temporal.api.compute.v1.ComputeConfigScalingGroup.scaler:type_name -> temporal.api.compute.v1.ComputeScaler + 5, // 3: temporal.api.compute.v1.ComputeConfig.scaling_groups:type_name -> temporal.api.compute.v1.ComputeConfig.ScalingGroupsEntry + 0, // 4: temporal.api.compute.v1.ComputeConfigScalingGroupUpdate.scaling_group:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroup + 10, // 5: temporal.api.compute.v1.ComputeConfigScalingGroupUpdate.update_mask:type_name -> google.protobuf.FieldMask + 6, // 6: temporal.api.compute.v1.ComputeConfigSummary.scaling_groups:type_name -> temporal.api.compute.v1.ComputeConfigSummary.ScalingGroupsEntry + 7, // 7: temporal.api.compute.v1.ComputeConfigScalingGroupSummary.task_queue_types:type_name -> temporal.api.enums.v1.TaskQueueType + 0, // 8: temporal.api.compute.v1.ComputeConfig.ScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroup + 4, // 9: temporal.api.compute.v1.ComputeConfigSummary.ScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroupSummary + 10, // [10:10] is the sub-list for method output_type + 10, // [10:10] is the sub-list for method input_type + 10, // [10:10] is the sub-list for extension type_name + 10, // [10:10] is the sub-list for extension extendee + 0, // [0:10] is the sub-list for field type_name +} + +func init() { file_temporal_api_compute_v1_config_proto_init() } +func file_temporal_api_compute_v1_config_proto_init() { + if File_temporal_api_compute_v1_config_proto != nil { + return + } + file_temporal_api_compute_v1_provider_proto_init() + file_temporal_api_compute_v1_scaler_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_compute_v1_config_proto_rawDesc), len(file_temporal_api_compute_v1_config_proto_rawDesc)), + NumEnums: 0, + NumMessages: 7, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_compute_v1_config_proto_goTypes, + DependencyIndexes: file_temporal_api_compute_v1_config_proto_depIdxs, + MessageInfos: file_temporal_api_compute_v1_config_proto_msgTypes, + }.Build() + File_temporal_api_compute_v1_config_proto = out.File + file_temporal_api_compute_v1_config_proto_goTypes = nil + file_temporal_api_compute_v1_config_proto_depIdxs = nil +} diff --git a/api_next/compute/v1/provider.go-helpers.pb.go b/api_next/compute/v1/provider.go-helpers.pb.go new file mode 100644 index 00000000..92a3fea6 --- /dev/null +++ b/api_next/compute/v1/provider.go-helpers.pb.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package compute + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ComputeProvider to the protobuf v3 wire format +func (val *ComputeProvider) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ComputeProvider from the protobuf v3 wire format +func (val *ComputeProvider) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ComputeProvider) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ComputeProvider values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ComputeProvider) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ComputeProvider + switch t := that.(type) { + case *ComputeProvider: + that1 = t + case ComputeProvider: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/compute/v1/provider.pb.go b/api_next/compute/v1/provider.pb.go new file mode 100644 index 00000000..f4b92d2b --- /dev/null +++ b/api_next/compute/v1/provider.pb.go @@ -0,0 +1,160 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/compute/v1/provider.proto + +package compute + +import ( + v1 "go.temporal.io/api/common/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// ComputeProvider stores information used by a worker control plane controller +// to respond to worker lifecycle events. For example, when a Task is received +// on a TaskQueue that has no active pollers, a serverless worker lifecycle +// controller might need to invoke an AWS Lambda Function that itself ends up +// calling the SDK's worker.New() function. +type ComputeProvider struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Type of the compute provider. This string is implementation-specific and + // can be used by implementations to understand how to interpret the + // contents of the provider_details field. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Contains provider-specific instructions and configuration. + // For server-implemented providers, use the SDK's default content + // converter to ensure the server can understand it. + // For remote-implemented providers, you might use your own content + // converters according to what the remote endpoints understand. + Details *v1.Payload `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // Optional. If the compute provider is a Nexus service, this should point + // there. + NexusEndpoint string `protobuf:"bytes,10,opt,name=nexus_endpoint,json=nexusEndpoint,proto3" json:"nexus_endpoint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ComputeProvider) Reset() { + *x = ComputeProvider{} + mi := &file_temporal_api_compute_v1_provider_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ComputeProvider) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeProvider) ProtoMessage() {} + +func (x *ComputeProvider) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_compute_v1_provider_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeProvider.ProtoReflect.Descriptor instead. +func (*ComputeProvider) Descriptor() ([]byte, []int) { + return file_temporal_api_compute_v1_provider_proto_rawDescGZIP(), []int{0} +} + +func (x *ComputeProvider) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ComputeProvider) GetDetails() *v1.Payload { + if x != nil { + return x.Details + } + return nil +} + +func (x *ComputeProvider) GetNexusEndpoint() string { + if x != nil { + return x.NexusEndpoint + } + return "" +} + +var File_temporal_api_compute_v1_provider_proto protoreflect.FileDescriptor + +const file_temporal_api_compute_v1_provider_proto_rawDesc = "" + + "\n" + + "&temporal/api/compute/v1/provider.proto\x12\x17temporal.api.compute.v1\x1a$temporal/api/common/v1/message.proto\"\x87\x01\n" + + "\x0fComputeProvider\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x129\n" + + "\adetails\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\adetails\x12%\n" + + "\x0enexus_endpoint\x18\n" + + " \x01(\tR\rnexusEndpointB\x8f\x01\n" + + "\x1aio.temporal.api.compute.v1B\rProviderProtoP\x01Z%go.temporal.io/api/compute/v1;compute\xaa\x02\x19Temporalio.Api.Compute.V1\xea\x02\x1cTemporalio::Api::Compute::V1b\x06proto3" + +var ( + file_temporal_api_compute_v1_provider_proto_rawDescOnce sync.Once + file_temporal_api_compute_v1_provider_proto_rawDescData []byte +) + +func file_temporal_api_compute_v1_provider_proto_rawDescGZIP() []byte { + file_temporal_api_compute_v1_provider_proto_rawDescOnce.Do(func() { + file_temporal_api_compute_v1_provider_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_compute_v1_provider_proto_rawDesc), len(file_temporal_api_compute_v1_provider_proto_rawDesc))) + }) + return file_temporal_api_compute_v1_provider_proto_rawDescData +} + +var file_temporal_api_compute_v1_provider_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_temporal_api_compute_v1_provider_proto_goTypes = []any{ + (*ComputeProvider)(nil), // 0: temporal.api.compute.v1.ComputeProvider + (*v1.Payload)(nil), // 1: temporal.api.common.v1.Payload +} +var file_temporal_api_compute_v1_provider_proto_depIdxs = []int32{ + 1, // 0: temporal.api.compute.v1.ComputeProvider.details:type_name -> temporal.api.common.v1.Payload + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_temporal_api_compute_v1_provider_proto_init() } +func file_temporal_api_compute_v1_provider_proto_init() { + if File_temporal_api_compute_v1_provider_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_compute_v1_provider_proto_rawDesc), len(file_temporal_api_compute_v1_provider_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_compute_v1_provider_proto_goTypes, + DependencyIndexes: file_temporal_api_compute_v1_provider_proto_depIdxs, + MessageInfos: file_temporal_api_compute_v1_provider_proto_msgTypes, + }.Build() + File_temporal_api_compute_v1_provider_proto = out.File + file_temporal_api_compute_v1_provider_proto_goTypes = nil + file_temporal_api_compute_v1_provider_proto_depIdxs = nil +} diff --git a/api_next/compute/v1/scaler.go-helpers.pb.go b/api_next/compute/v1/scaler.go-helpers.pb.go new file mode 100644 index 00000000..33f0088c --- /dev/null +++ b/api_next/compute/v1/scaler.go-helpers.pb.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package compute + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ComputeScaler to the protobuf v3 wire format +func (val *ComputeScaler) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ComputeScaler from the protobuf v3 wire format +func (val *ComputeScaler) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ComputeScaler) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ComputeScaler values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ComputeScaler) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ComputeScaler + switch t := that.(type) { + case *ComputeScaler: + that1 = t + case ComputeScaler: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/compute/v1/scaler.pb.go b/api_next/compute/v1/scaler.pb.go new file mode 100644 index 00000000..3a5254ad --- /dev/null +++ b/api_next/compute/v1/scaler.pb.go @@ -0,0 +1,145 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/compute/v1/scaler.proto + +package compute + +import ( + v1 "go.temporal.io/api/common/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// ComputeScaler instructs the Temporal Service when to scale up or down the number of +// Workers that comprise a WorkerDeployment. +type ComputeScaler struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Type of the compute scaler. this string is implementation-specific and + // can be used by implementations to understand how to interpret the + // contents of the scaler_details field. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Contains scaler-specific instructions and configuration. + // For server-implemented scalers, use the SDK's default data + // converter to ensure the server can understand it. + // For remote-implemented scalers, you might use your own data + // converters according to what the remote endpoints understand. + Details *v1.Payload `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ComputeScaler) Reset() { + *x = ComputeScaler{} + mi := &file_temporal_api_compute_v1_scaler_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ComputeScaler) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ComputeScaler) ProtoMessage() {} + +func (x *ComputeScaler) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_compute_v1_scaler_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ComputeScaler.ProtoReflect.Descriptor instead. +func (*ComputeScaler) Descriptor() ([]byte, []int) { + return file_temporal_api_compute_v1_scaler_proto_rawDescGZIP(), []int{0} +} + +func (x *ComputeScaler) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ComputeScaler) GetDetails() *v1.Payload { + if x != nil { + return x.Details + } + return nil +} + +var File_temporal_api_compute_v1_scaler_proto protoreflect.FileDescriptor + +const file_temporal_api_compute_v1_scaler_proto_rawDesc = "" + + "\n" + + "$temporal/api/compute/v1/scaler.proto\x12\x17temporal.api.compute.v1\x1a$temporal/api/common/v1/message.proto\"^\n" + + "\rComputeScaler\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x129\n" + + "\adetails\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\adetailsB\x8d\x01\n" + + "\x1aio.temporal.api.compute.v1B\vScalerProtoP\x01Z%go.temporal.io/api/compute/v1;compute\xaa\x02\x19Temporalio.Api.Compute.V1\xea\x02\x1cTemporalio::Api::Compute::V1b\x06proto3" + +var ( + file_temporal_api_compute_v1_scaler_proto_rawDescOnce sync.Once + file_temporal_api_compute_v1_scaler_proto_rawDescData []byte +) + +func file_temporal_api_compute_v1_scaler_proto_rawDescGZIP() []byte { + file_temporal_api_compute_v1_scaler_proto_rawDescOnce.Do(func() { + file_temporal_api_compute_v1_scaler_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_compute_v1_scaler_proto_rawDesc), len(file_temporal_api_compute_v1_scaler_proto_rawDesc))) + }) + return file_temporal_api_compute_v1_scaler_proto_rawDescData +} + +var file_temporal_api_compute_v1_scaler_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_temporal_api_compute_v1_scaler_proto_goTypes = []any{ + (*ComputeScaler)(nil), // 0: temporal.api.compute.v1.ComputeScaler + (*v1.Payload)(nil), // 1: temporal.api.common.v1.Payload +} +var file_temporal_api_compute_v1_scaler_proto_depIdxs = []int32{ + 1, // 0: temporal.api.compute.v1.ComputeScaler.details:type_name -> temporal.api.common.v1.Payload + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_temporal_api_compute_v1_scaler_proto_init() } +func file_temporal_api_compute_v1_scaler_proto_init() { + if File_temporal_api_compute_v1_scaler_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_compute_v1_scaler_proto_rawDesc), len(file_temporal_api_compute_v1_scaler_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_compute_v1_scaler_proto_goTypes, + DependencyIndexes: file_temporal_api_compute_v1_scaler_proto_depIdxs, + MessageInfos: file_temporal_api_compute_v1_scaler_proto_msgTypes, + }.Build() + File_temporal_api_compute_v1_scaler_proto = out.File + file_temporal_api_compute_v1_scaler_proto_goTypes = nil + file_temporal_api_compute_v1_scaler_proto_depIdxs = nil +} diff --git a/api_next/deployment/v1/message.go-helpers.pb.go b/api_next/deployment/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..6e2ef4d9 --- /dev/null +++ b/api_next/deployment/v1/message.go-helpers.pb.go @@ -0,0 +1,450 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package deployment + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkerDeploymentOptions to the protobuf v3 wire format +func (val *WorkerDeploymentOptions) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerDeploymentOptions from the protobuf v3 wire format +func (val *WorkerDeploymentOptions) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerDeploymentOptions) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerDeploymentOptions values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerDeploymentOptions) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerDeploymentOptions + switch t := that.(type) { + case *WorkerDeploymentOptions: + that1 = t + case WorkerDeploymentOptions: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Deployment to the protobuf v3 wire format +func (val *Deployment) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Deployment from the protobuf v3 wire format +func (val *Deployment) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Deployment) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Deployment values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Deployment) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Deployment + switch t := that.(type) { + case *Deployment: + that1 = t + case Deployment: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeploymentInfo to the protobuf v3 wire format +func (val *DeploymentInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeploymentInfo from the protobuf v3 wire format +func (val *DeploymentInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeploymentInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeploymentInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeploymentInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeploymentInfo + switch t := that.(type) { + case *DeploymentInfo: + that1 = t + case DeploymentInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateDeploymentMetadata to the protobuf v3 wire format +func (val *UpdateDeploymentMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateDeploymentMetadata from the protobuf v3 wire format +func (val *UpdateDeploymentMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateDeploymentMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateDeploymentMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateDeploymentMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateDeploymentMetadata + switch t := that.(type) { + case *UpdateDeploymentMetadata: + that1 = t + case UpdateDeploymentMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeploymentListInfo to the protobuf v3 wire format +func (val *DeploymentListInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeploymentListInfo from the protobuf v3 wire format +func (val *DeploymentListInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeploymentListInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeploymentListInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeploymentListInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeploymentListInfo + switch t := that.(type) { + case *DeploymentListInfo: + that1 = t + case DeploymentListInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerDeploymentVersionInfo to the protobuf v3 wire format +func (val *WorkerDeploymentVersionInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerDeploymentVersionInfo from the protobuf v3 wire format +func (val *WorkerDeploymentVersionInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerDeploymentVersionInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerDeploymentVersionInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerDeploymentVersionInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerDeploymentVersionInfo + switch t := that.(type) { + case *WorkerDeploymentVersionInfo: + that1 = t + case WorkerDeploymentVersionInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type VersionDrainageInfo to the protobuf v3 wire format +func (val *VersionDrainageInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type VersionDrainageInfo from the protobuf v3 wire format +func (val *VersionDrainageInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *VersionDrainageInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two VersionDrainageInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *VersionDrainageInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *VersionDrainageInfo + switch t := that.(type) { + case *VersionDrainageInfo: + that1 = t + case VersionDrainageInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerDeploymentInfo to the protobuf v3 wire format +func (val *WorkerDeploymentInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerDeploymentInfo from the protobuf v3 wire format +func (val *WorkerDeploymentInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerDeploymentInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerDeploymentInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerDeploymentInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerDeploymentInfo + switch t := that.(type) { + case *WorkerDeploymentInfo: + that1 = t + case WorkerDeploymentInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerDeploymentVersion to the protobuf v3 wire format +func (val *WorkerDeploymentVersion) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerDeploymentVersion from the protobuf v3 wire format +func (val *WorkerDeploymentVersion) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerDeploymentVersion) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerDeploymentVersion values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerDeploymentVersion) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerDeploymentVersion + switch t := that.(type) { + case *WorkerDeploymentVersion: + that1 = t + case WorkerDeploymentVersion: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type VersionMetadata to the protobuf v3 wire format +func (val *VersionMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type VersionMetadata from the protobuf v3 wire format +func (val *VersionMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *VersionMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two VersionMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *VersionMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *VersionMetadata + switch t := that.(type) { + case *VersionMetadata: + that1 = t + case VersionMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RoutingConfig to the protobuf v3 wire format +func (val *RoutingConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RoutingConfig from the protobuf v3 wire format +func (val *RoutingConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RoutingConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RoutingConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RoutingConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RoutingConfig + switch t := that.(type) { + case *RoutingConfig: + that1 = t + case RoutingConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type InheritedAutoUpgradeInfo to the protobuf v3 wire format +func (val *InheritedAutoUpgradeInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type InheritedAutoUpgradeInfo from the protobuf v3 wire format +func (val *InheritedAutoUpgradeInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *InheritedAutoUpgradeInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two InheritedAutoUpgradeInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *InheritedAutoUpgradeInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *InheritedAutoUpgradeInfo + switch t := that.(type) { + case *InheritedAutoUpgradeInfo: + that1 = t + case InheritedAutoUpgradeInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/deployment/v1/message.pb.go b/api_next/deployment/v1/message.pb.go new file mode 100644 index 00000000..505ddbfd --- /dev/null +++ b/api_next/deployment/v1/message.pb.go @@ -0,0 +1,1610 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/deployment/v1/message.proto + +package deployment + +import ( + v11 "go.temporal.io/api/common/v1" + v12 "go.temporal.io/api/compute/v1" + v1 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Worker Deployment options set in SDK that need to be sent to server in every poll. +type WorkerDeploymentOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Required when `worker_versioning_mode==VERSIONED`. + DeploymentName string `protobuf:"bytes,1,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` + // The Build ID of the worker. Required when `worker_versioning_mode==VERSIONED`, in which case, + // the worker will be part of a Deployment Version. + BuildId string `protobuf:"bytes,2,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` + // Required. Versioning Mode for this worker. Must be the same for all workers with the + // same `deployment_name` and `build_id` combination, across all Task Queues. + // When `worker_versioning_mode==VERSIONED`, the worker will be part of a Deployment Version. + WorkerVersioningMode v1.WorkerVersioningMode `protobuf:"varint,3,opt,name=worker_versioning_mode,json=workerVersioningMode,proto3,enum=temporal.api.enums.v1.WorkerVersioningMode" json:"worker_versioning_mode,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerDeploymentOptions) Reset() { + *x = WorkerDeploymentOptions{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerDeploymentOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerDeploymentOptions) ProtoMessage() {} + +func (x *WorkerDeploymentOptions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerDeploymentOptions.ProtoReflect.Descriptor instead. +func (*WorkerDeploymentOptions) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkerDeploymentOptions) GetDeploymentName() string { + if x != nil { + return x.DeploymentName + } + return "" +} + +func (x *WorkerDeploymentOptions) GetBuildId() string { + if x != nil { + return x.BuildId + } + return "" +} + +func (x *WorkerDeploymentOptions) GetWorkerVersioningMode() v1.WorkerVersioningMode { + if x != nil { + return x.WorkerVersioningMode + } + return v1.WorkerVersioningMode(0) +} + +// `Deployment` identifies a deployment of Temporal workers. The combination of deployment series +// name + build ID serves as the identifier. User can use `WorkerDeploymentOptions` in their worker +// programs to specify these values. +// Deprecated. +type Deployment struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Different versions of the same worker service/application are related together by having a + // shared series name. + // Out of all deployments of a series, one can be designated as the current deployment, which + // receives new workflow executions and new tasks of workflows with + // `VERSIONING_BEHAVIOR_AUTO_UPGRADE` versioning behavior. + SeriesName string `protobuf:"bytes,1,opt,name=series_name,json=seriesName,proto3" json:"series_name,omitempty"` + // Build ID changes with each version of the worker when the worker program code and/or config + // changes. + BuildId string `protobuf:"bytes,2,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Deployment) Reset() { + *x = Deployment{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[1] + 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_temporal_api_deployment_v1_message_proto_msgTypes[1] + if 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_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *Deployment) GetSeriesName() string { + if x != nil { + return x.SeriesName + } + return "" +} + +func (x *Deployment) GetBuildId() string { + if x != nil { + return x.BuildId + } + return "" +} + +// `DeploymentInfo` holds information about a deployment. Deployment information is tracked +// automatically by server as soon as the first poll from that deployment reaches the server. There +// can be multiple task queue workers in a single deployment which are listed in this message. +// Deprecated. +type DeploymentInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + TaskQueueInfos []*DeploymentInfo_TaskQueueInfo `protobuf:"bytes,3,rep,name=task_queue_infos,json=taskQueueInfos,proto3" json:"task_queue_infos,omitempty"` + // A user-defined set of key-values. Can be updated as part of write operations to the + // deployment, such as `SetCurrentDeployment`. + Metadata map[string]*v11.Payload `protobuf:"bytes,4,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // If this deployment is the current deployment of its deployment series. + IsCurrent bool `protobuf:"varint,5,opt,name=is_current,json=isCurrent,proto3" json:"is_current,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeploymentInfo) Reset() { + *x = DeploymentInfo{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeploymentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentInfo) ProtoMessage() {} + +func (x *DeploymentInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentInfo.ProtoReflect.Descriptor instead. +func (*DeploymentInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *DeploymentInfo) GetDeployment() *Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *DeploymentInfo) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *DeploymentInfo) GetTaskQueueInfos() []*DeploymentInfo_TaskQueueInfo { + if x != nil { + return x.TaskQueueInfos + } + return nil +} + +func (x *DeploymentInfo) GetMetadata() map[string]*v11.Payload { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *DeploymentInfo) GetIsCurrent() bool { + if x != nil { + return x.IsCurrent + } + return false +} + +// Used as part of Deployment write APIs to update metadata attached to a deployment. +// Deprecated. +type UpdateDeploymentMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + UpsertEntries map[string]*v11.Payload `protobuf:"bytes,1,rep,name=upsert_entries,json=upsertEntries,proto3" json:"upsert_entries,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // List of keys to remove from the metadata. + RemoveEntries []string `protobuf:"bytes,2,rep,name=remove_entries,json=removeEntries,proto3" json:"remove_entries,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateDeploymentMetadata) Reset() { + *x = UpdateDeploymentMetadata{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateDeploymentMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateDeploymentMetadata) ProtoMessage() {} + +func (x *UpdateDeploymentMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateDeploymentMetadata.ProtoReflect.Descriptor instead. +func (*UpdateDeploymentMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *UpdateDeploymentMetadata) GetUpsertEntries() map[string]*v11.Payload { + if x != nil { + return x.UpsertEntries + } + return nil +} + +func (x *UpdateDeploymentMetadata) GetRemoveEntries() []string { + if x != nil { + return x.RemoveEntries + } + return nil +} + +// DeploymentListInfo is an abbreviated set of fields from DeploymentInfo that's returned in +// ListDeployments. +// Deprecated. +type DeploymentListInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Deployment *Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // If this deployment is the current deployment of its deployment series. + IsCurrent bool `protobuf:"varint,3,opt,name=is_current,json=isCurrent,proto3" json:"is_current,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeploymentListInfo) Reset() { + *x = DeploymentListInfo{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeploymentListInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentListInfo) ProtoMessage() {} + +func (x *DeploymentListInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentListInfo.ProtoReflect.Descriptor instead. +func (*DeploymentListInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *DeploymentListInfo) GetDeployment() *Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *DeploymentListInfo) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *DeploymentListInfo) GetIsCurrent() bool { + if x != nil { + return x.IsCurrent + } + return false +} + +// A Worker Deployment Version (Version, for short) represents all workers of the same +// code and config within a Deployment. Workers of the same Version are expected to +// behave exactly the same so when executions move between them there are no +// non-determinism issues. +// Worker Deployment Versions are created in Temporal server automatically when +// their first poller arrives to the server. +type WorkerDeploymentVersionInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated. Use `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/deployment/v1/message.proto. + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + // The status of the Worker Deployment Version. + Status v1.WorkerDeploymentVersionStatus `protobuf:"varint,14,opt,name=status,proto3,enum=temporal.api.enums.v1.WorkerDeploymentVersionStatus" json:"status,omitempty"` + // Required. + DeploymentVersion *WorkerDeploymentVersion `protobuf:"bytes,11,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + // Deprecated. User deployment_version.deployment_name. + DeploymentName string `protobuf:"bytes,2,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. + RoutingChangedTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=routing_changed_time,json=routingChangedTime,proto3" json:"routing_changed_time,omitempty"` + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) + // + // Unset if not current. + CurrentSinceTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=current_since_time,json=currentSinceTime,proto3" json:"current_since_time,omitempty"` + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) + // + // Unset if not ramping. Updated when the version first starts ramping, not on each ramp change. + RampingSinceTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=ramping_since_time,json=rampingSinceTime,proto3" json:"ramping_since_time,omitempty"` + // Timestamp when this version first became current or ramping. + FirstActivationTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=first_activation_time,json=firstActivationTime,proto3" json:"first_activation_time,omitempty"` + // Timestamp when this version last became current. + // Can be used to determine whether a version has ever been Current. + LastCurrentTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=last_current_time,json=lastCurrentTime,proto3" json:"last_current_time,omitempty"` + // Timestamp when this version last stopped being current or ramping. + // Cleared if the version becomes current or ramping again. + LastDeactivationTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=last_deactivation_time,json=lastDeactivationTime,proto3" json:"last_deactivation_time,omitempty"` + // Range: [0, 100]. Must be zero if the version is not ramping (i.e. `ramping_since_time` is nil). + // Can be in the range [0, 100] if the version is ramping. + RampPercentage float32 `protobuf:"fixed32,7,opt,name=ramp_percentage,json=rampPercentage,proto3" json:"ramp_percentage,omitempty"` + // All the Task Queues that have ever polled from this Deployment version. + // Deprecated. Use `version_task_queues` in DescribeWorkerDeploymentVersionResponse instead. + TaskQueueInfos []*WorkerDeploymentVersionInfo_VersionTaskQueueInfo `protobuf:"bytes,8,rep,name=task_queue_infos,json=taskQueueInfos,proto3" json:"task_queue_infos,omitempty"` + // Helps user determine when it is safe to decommission the workers of this + // Version. Not present when version is current or ramping. + // Current limitations: + // - Not supported for Unversioned mode. + // - Periodically refreshed, may have delays up to few minutes (consult the + // last_checked_time value). + // - Refreshed only when version is not current or ramping AND the status is not + // "drained" yet. + // - Once the status is changed to "drained", it is not changed until the Version + // becomes Current or Ramping again, at which time the drainage info is cleared. + // This means if the Version is "drained" but new workflows are sent to it via + // Pinned Versioning Override, the status does not account for those Pinned-override + // executions and remains "drained". + DrainageInfo *VersionDrainageInfo `protobuf:"bytes,9,opt,name=drainage_info,json=drainageInfo,proto3" json:"drainage_info,omitempty"` + // Arbitrary user-provided metadata attached to this version. + Metadata *VersionMetadata `protobuf:"bytes,10,opt,name=metadata,proto3" json:"metadata,omitempty"` + // Optional. Contains the new worker compute configuration for the Worker + // Deployment. Used for worker scale management. + ComputeConfig *v12.ComputeConfig `protobuf:"bytes,16,opt,name=compute_config,json=computeConfig,proto3" json:"compute_config,omitempty"` + // Identity of the last client who modified the configuration of this Version. + // As of now, this field only covers changes through the following APIs: + // - `CreateWorkerDeploymentVersion` + // - `UpdateWorkerDeploymentVersionComputeConfig` + // - `UpdateWorkerDeploymentVersionMetadata` + LastModifierIdentity string `protobuf:"bytes,17,opt,name=last_modifier_identity,json=lastModifierIdentity,proto3" json:"last_modifier_identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerDeploymentVersionInfo) Reset() { + *x = WorkerDeploymentVersionInfo{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerDeploymentVersionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerDeploymentVersionInfo) ProtoMessage() {} + +func (x *WorkerDeploymentVersionInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerDeploymentVersionInfo.ProtoReflect.Descriptor instead. +func (*WorkerDeploymentVersionInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{5} +} + +// Deprecated: Marked as deprecated in temporal/api/deployment/v1/message.proto. +func (x *WorkerDeploymentVersionInfo) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *WorkerDeploymentVersionInfo) GetStatus() v1.WorkerDeploymentVersionStatus { + if x != nil { + return x.Status + } + return v1.WorkerDeploymentVersionStatus(0) +} + +func (x *WorkerDeploymentVersionInfo) GetDeploymentVersion() *WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetDeploymentName() string { + if x != nil { + return x.DeploymentName + } + return "" +} + +func (x *WorkerDeploymentVersionInfo) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetRoutingChangedTime() *timestamppb.Timestamp { + if x != nil { + return x.RoutingChangedTime + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetCurrentSinceTime() *timestamppb.Timestamp { + if x != nil { + return x.CurrentSinceTime + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetRampingSinceTime() *timestamppb.Timestamp { + if x != nil { + return x.RampingSinceTime + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetFirstActivationTime() *timestamppb.Timestamp { + if x != nil { + return x.FirstActivationTime + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetLastCurrentTime() *timestamppb.Timestamp { + if x != nil { + return x.LastCurrentTime + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetLastDeactivationTime() *timestamppb.Timestamp { + if x != nil { + return x.LastDeactivationTime + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetRampPercentage() float32 { + if x != nil { + return x.RampPercentage + } + return 0 +} + +func (x *WorkerDeploymentVersionInfo) GetTaskQueueInfos() []*WorkerDeploymentVersionInfo_VersionTaskQueueInfo { + if x != nil { + return x.TaskQueueInfos + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetDrainageInfo() *VersionDrainageInfo { + if x != nil { + return x.DrainageInfo + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetMetadata() *VersionMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetComputeConfig() *v12.ComputeConfig { + if x != nil { + return x.ComputeConfig + } + return nil +} + +func (x *WorkerDeploymentVersionInfo) GetLastModifierIdentity() string { + if x != nil { + return x.LastModifierIdentity + } + return "" +} + +// Information about workflow drainage to help the user determine when it is safe +// to decommission a Version. Not present while version is current or ramping. +type VersionDrainageInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Set to DRAINING when the version first stops accepting new executions (is no longer current or ramping). + // Set to DRAINED when no more open pinned workflows exist on this version. + Status v1.VersionDrainageStatus `protobuf:"varint,1,opt,name=status,proto3,enum=temporal.api.enums.v1.VersionDrainageStatus" json:"status,omitempty"` + // Last time the drainage status changed. + LastChangedTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_changed_time,json=lastChangedTime,proto3" json:"last_changed_time,omitempty"` + // Last time the system checked for drainage of this version. + LastCheckedTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_checked_time,json=lastCheckedTime,proto3" json:"last_checked_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VersionDrainageInfo) Reset() { + *x = VersionDrainageInfo{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VersionDrainageInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionDrainageInfo) ProtoMessage() {} + +func (x *VersionDrainageInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersionDrainageInfo.ProtoReflect.Descriptor instead. +func (*VersionDrainageInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *VersionDrainageInfo) GetStatus() v1.VersionDrainageStatus { + if x != nil { + return x.Status + } + return v1.VersionDrainageStatus(0) +} + +func (x *VersionDrainageInfo) GetLastChangedTime() *timestamppb.Timestamp { + if x != nil { + return x.LastChangedTime + } + return nil +} + +func (x *VersionDrainageInfo) GetLastCheckedTime() *timestamppb.Timestamp { + if x != nil { + return x.LastCheckedTime + } + return nil +} + +// A Worker Deployment (Deployment, for short) represents all workers serving +// a shared set of Task Queues. Typically, a Deployment represents one service or +// application. +// A Deployment contains multiple Deployment Versions, each representing a different +// version of workers. (see documentation of WorkerDeploymentVersionInfo) +// Deployment records are created in Temporal server automatically when their +// first poller arrives to the server. +type WorkerDeploymentInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Identifies a Worker Deployment. Must be unique within the namespace. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Deployment Versions that are currently tracked in this Deployment. A DeploymentVersion will be + // cleaned up automatically if all the following conditions meet: + // - It does not receive new executions (is not current or ramping) + // - It has no active pollers (see WorkerDeploymentVersionInfo.pollers_status) + // - It is drained (see WorkerDeploymentVersionInfo.drainage_status) + VersionSummaries []*WorkerDeploymentInfo_WorkerDeploymentVersionSummary `protobuf:"bytes,2,rep,name=version_summaries,json=versionSummaries,proto3" json:"version_summaries,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + RoutingConfig *RoutingConfig `protobuf:"bytes,4,opt,name=routing_config,json=routingConfig,proto3" json:"routing_config,omitempty"` + // Identity of the last client who modified the configuration of this Deployment. Set to the + // `identity` value sent by APIs such as `SetWorkerDeploymentCurrentVersion` and + // `SetWorkerDeploymentRampingVersion`. + LastModifierIdentity string `protobuf:"bytes,5,opt,name=last_modifier_identity,json=lastModifierIdentity,proto3" json:"last_modifier_identity,omitempty"` + // Identity of the client that has the exclusive right to make changes to this Worker Deployment. + // Empty by default. + // If this is set, clients whose identity does not match `manager_identity` will not be able to make changes + // to this Worker Deployment. They can either set their own identity as the manager or unset the field to proceed. + ManagerIdentity string `protobuf:"bytes,6,opt,name=manager_identity,json=managerIdentity,proto3" json:"manager_identity,omitempty"` + // Indicates whether the routing_config has been fully propagated to all + // relevant task queues and their partitions. + RoutingConfigUpdateState v1.RoutingConfigUpdateState `protobuf:"varint,7,opt,name=routing_config_update_state,json=routingConfigUpdateState,proto3,enum=temporal.api.enums.v1.RoutingConfigUpdateState" json:"routing_config_update_state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerDeploymentInfo) Reset() { + *x = WorkerDeploymentInfo{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerDeploymentInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerDeploymentInfo) ProtoMessage() {} + +func (x *WorkerDeploymentInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerDeploymentInfo.ProtoReflect.Descriptor instead. +func (*WorkerDeploymentInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *WorkerDeploymentInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkerDeploymentInfo) GetVersionSummaries() []*WorkerDeploymentInfo_WorkerDeploymentVersionSummary { + if x != nil { + return x.VersionSummaries + } + return nil +} + +func (x *WorkerDeploymentInfo) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *WorkerDeploymentInfo) GetRoutingConfig() *RoutingConfig { + if x != nil { + return x.RoutingConfig + } + return nil +} + +func (x *WorkerDeploymentInfo) GetLastModifierIdentity() string { + if x != nil { + return x.LastModifierIdentity + } + return "" +} + +func (x *WorkerDeploymentInfo) GetManagerIdentity() string { + if x != nil { + return x.ManagerIdentity + } + return "" +} + +func (x *WorkerDeploymentInfo) GetRoutingConfigUpdateState() v1.RoutingConfigUpdateState { + if x != nil { + return x.RoutingConfigUpdateState + } + return v1.RoutingConfigUpdateState(0) +} + +// A Worker Deployment Version (Version, for short) represents a +// version of workers within a Worker Deployment. (see documentation of WorkerDeploymentVersionInfo) +// Version records are created in Temporal server automatically when their +// first poller arrives to the server. +// Experimental. Worker Deployment Versions are experimental and might significantly change in the future. +type WorkerDeploymentVersion struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A unique identifier for this Version within the Deployment it is a part of. + // Not necessarily unique within the namespace. + // The combination of `deployment_name` and `build_id` uniquely identifies this + // Version within the namespace, because Deployment names are unique within a namespace. + BuildId string `protobuf:"bytes,1,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` + // Identifies the Worker Deployment this Version is part of. + DeploymentName string `protobuf:"bytes,2,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerDeploymentVersion) Reset() { + *x = WorkerDeploymentVersion{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerDeploymentVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerDeploymentVersion) ProtoMessage() {} + +func (x *WorkerDeploymentVersion) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerDeploymentVersion.ProtoReflect.Descriptor instead. +func (*WorkerDeploymentVersion) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *WorkerDeploymentVersion) GetBuildId() string { + if x != nil { + return x.BuildId + } + return "" +} + +func (x *WorkerDeploymentVersion) GetDeploymentName() string { + if x != nil { + return x.DeploymentName + } + return "" +} + +type VersionMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Arbitrary key-values. + Entries map[string]*v11.Payload `protobuf:"bytes,1,rep,name=entries,proto3" json:"entries,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VersionMetadata) Reset() { + *x = VersionMetadata{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VersionMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionMetadata) ProtoMessage() {} + +func (x *VersionMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersionMetadata.ProtoReflect.Descriptor instead. +func (*VersionMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *VersionMetadata) GetEntries() map[string]*v11.Payload { + if x != nil { + return x.Entries + } + return nil +} + +type RoutingConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Specifies which Deployment Version should receive new workflow executions and tasks of + // existing unversioned or AutoUpgrade workflows. + // Nil value means no Version in this Deployment (except Ramping Version, if present) receives traffic other than tasks of previously Pinned workflows. In absence of a Current Version, remaining traffic after any ramp (if set) goes to unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.). + // Note: Current Version is overridden by the Ramping Version for a portion of traffic when ramp percentage + // is non-zero (see `ramping_deployment_version` and `ramping_version_percentage`). + CurrentDeploymentVersion *WorkerDeploymentVersion `protobuf:"bytes,7,opt,name=current_deployment_version,json=currentDeploymentVersion,proto3" json:"current_deployment_version,omitempty"` + // Deprecated. Use `current_deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/deployment/v1/message.proto. + CurrentVersion string `protobuf:"bytes,1,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"` + // When ramp percentage is non-zero, that portion of traffic is shifted from the Current Version to the Ramping Version. + // Must always be different from `current_deployment_version` unless both are nil. + // Nil value represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.) + // Note that it is possible to ramp from one Version to another Version, or from unversioned + // workers to a particular Version, or from a particular Version to unversioned workers. + RampingDeploymentVersion *WorkerDeploymentVersion `protobuf:"bytes,9,opt,name=ramping_deployment_version,json=rampingDeploymentVersion,proto3" json:"ramping_deployment_version,omitempty"` + // Deprecated. Use `ramping_deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/deployment/v1/message.proto. + RampingVersion string `protobuf:"bytes,2,opt,name=ramping_version,json=rampingVersion,proto3" json:"ramping_version,omitempty"` + // Percentage of tasks that are routed to the Ramping Version instead of the Current Version. + // Valid range: [0, 100]. A 100% value means the Ramping Version is receiving full traffic but + // not yet "promoted" to be the Current Version, likely due to pending validations. + // A 0% value means the Ramping Version is receiving no traffic. + RampingVersionPercentage float32 `protobuf:"fixed32,3,opt,name=ramping_version_percentage,json=rampingVersionPercentage,proto3" json:"ramping_version_percentage,omitempty"` + // Last time current version was changed. + CurrentVersionChangedTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=current_version_changed_time,json=currentVersionChangedTime,proto3" json:"current_version_changed_time,omitempty"` + // Last time ramping version was changed. Not updated if only the ramp percentage changes. + RampingVersionChangedTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=ramping_version_changed_time,json=rampingVersionChangedTime,proto3" json:"ramping_version_changed_time,omitempty"` + // Last time ramping version percentage was changed. + // If ramping version is changed, this is also updated, even if the percentage stays the same. + RampingVersionPercentageChangedTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=ramping_version_percentage_changed_time,json=rampingVersionPercentageChangedTime,proto3" json:"ramping_version_percentage_changed_time,omitempty"` + // Monotonically increasing value which is incremented on every mutation + // to any field of this message to achieve eventual consistency between task queues and their partitions. + RevisionNumber int64 `protobuf:"varint,10,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RoutingConfig) Reset() { + *x = RoutingConfig{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RoutingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RoutingConfig) ProtoMessage() {} + +func (x *RoutingConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RoutingConfig.ProtoReflect.Descriptor instead. +func (*RoutingConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *RoutingConfig) GetCurrentDeploymentVersion() *WorkerDeploymentVersion { + if x != nil { + return x.CurrentDeploymentVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/deployment/v1/message.proto. +func (x *RoutingConfig) GetCurrentVersion() string { + if x != nil { + return x.CurrentVersion + } + return "" +} + +func (x *RoutingConfig) GetRampingDeploymentVersion() *WorkerDeploymentVersion { + if x != nil { + return x.RampingDeploymentVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/deployment/v1/message.proto. +func (x *RoutingConfig) GetRampingVersion() string { + if x != nil { + return x.RampingVersion + } + return "" +} + +func (x *RoutingConfig) GetRampingVersionPercentage() float32 { + if x != nil { + return x.RampingVersionPercentage + } + return 0 +} + +func (x *RoutingConfig) GetCurrentVersionChangedTime() *timestamppb.Timestamp { + if x != nil { + return x.CurrentVersionChangedTime + } + return nil +} + +func (x *RoutingConfig) GetRampingVersionChangedTime() *timestamppb.Timestamp { + if x != nil { + return x.RampingVersionChangedTime + } + return nil +} + +func (x *RoutingConfig) GetRampingVersionPercentageChangedTime() *timestamppb.Timestamp { + if x != nil { + return x.RampingVersionPercentageChangedTime + } + return nil +} + +func (x *RoutingConfig) GetRevisionNumber() int64 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +// Used as part of WorkflowExecutionStartedEventAttributes to pass down the AutoUpgrade behavior and source deployment version +// to a workflow execution whose parent/previous workflow has an AutoUpgrade behavior. +// Also used for Upgrade-on-CaN behaviors AutoUpgrade and UseRampingVersion. +type InheritedAutoUpgradeInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The source deployment version of the parent/previous workflow. + SourceDeploymentVersion *WorkerDeploymentVersion `protobuf:"bytes,1,opt,name=source_deployment_version,json=sourceDeploymentVersion,proto3" json:"source_deployment_version,omitempty"` + // The revision number of the source deployment version of the parent/previous workflow. + SourceDeploymentRevisionNumber int64 `protobuf:"varint,2,opt,name=source_deployment_revision_number,json=sourceDeploymentRevisionNumber,proto3" json:"source_deployment_revision_number,omitempty"` + // Experimental. + // If this workflow is the result of a continue-as-new, this field is set to the initial_versioning_behavior + // specified in that command. + // Only used for the initial task of this run and the initial task of any retries of this run. + // Not passed to children or to future continue-as-new. + // + // Note: In the first release of Upgrade-on-CaN, when the only ContinueAsNewVersioningBehavior was AutoUpgrade, + // a non-empty InheritedAutoUpgradeInfo meant that the workflow should start as AutoUpgrade. So for compatibility + // with history events generated during that time, know that an UNSPECIFIED value here is equivalent to AutoUpgrade + // value if the InheritedAutoUpgradeInfo is non-empty. + ContinueAsNewInitialVersioningBehavior v1.ContinueAsNewVersioningBehavior `protobuf:"varint,3,opt,name=continue_as_new_initial_versioning_behavior,json=continueAsNewInitialVersioningBehavior,proto3,enum=temporal.api.enums.v1.ContinueAsNewVersioningBehavior" json:"continue_as_new_initial_versioning_behavior,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *InheritedAutoUpgradeInfo) Reset() { + *x = InheritedAutoUpgradeInfo{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *InheritedAutoUpgradeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*InheritedAutoUpgradeInfo) ProtoMessage() {} + +func (x *InheritedAutoUpgradeInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use InheritedAutoUpgradeInfo.ProtoReflect.Descriptor instead. +func (*InheritedAutoUpgradeInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{11} +} + +func (x *InheritedAutoUpgradeInfo) GetSourceDeploymentVersion() *WorkerDeploymentVersion { + if x != nil { + return x.SourceDeploymentVersion + } + return nil +} + +func (x *InheritedAutoUpgradeInfo) GetSourceDeploymentRevisionNumber() int64 { + if x != nil { + return x.SourceDeploymentRevisionNumber + } + return 0 +} + +func (x *InheritedAutoUpgradeInfo) GetContinueAsNewInitialVersioningBehavior() v1.ContinueAsNewVersioningBehavior { + if x != nil { + return x.ContinueAsNewInitialVersioningBehavior + } + return v1.ContinueAsNewVersioningBehavior(0) +} + +type DeploymentInfo_TaskQueueInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type v1.TaskQueueType `protobuf:"varint,2,opt,name=type,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"type,omitempty"` + // When server saw the first poller for this task queue in this deployment. + FirstPollerTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=first_poller_time,json=firstPollerTime,proto3" json:"first_poller_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeploymentInfo_TaskQueueInfo) Reset() { + *x = DeploymentInfo_TaskQueueInfo{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeploymentInfo_TaskQueueInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentInfo_TaskQueueInfo) ProtoMessage() {} + +func (x *DeploymentInfo_TaskQueueInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentInfo_TaskQueueInfo.ProtoReflect.Descriptor instead. +func (*DeploymentInfo_TaskQueueInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{2, 1} +} + +func (x *DeploymentInfo_TaskQueueInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DeploymentInfo_TaskQueueInfo) GetType() v1.TaskQueueType { + if x != nil { + return x.Type + } + return v1.TaskQueueType(0) +} + +func (x *DeploymentInfo_TaskQueueInfo) GetFirstPollerTime() *timestamppb.Timestamp { + if x != nil { + return x.FirstPollerTime + } + return nil +} + +type WorkerDeploymentVersionInfo_VersionTaskQueueInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type v1.TaskQueueType `protobuf:"varint,2,opt,name=type,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerDeploymentVersionInfo_VersionTaskQueueInfo) Reset() { + *x = WorkerDeploymentVersionInfo_VersionTaskQueueInfo{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerDeploymentVersionInfo_VersionTaskQueueInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerDeploymentVersionInfo_VersionTaskQueueInfo) ProtoMessage() {} + +func (x *WorkerDeploymentVersionInfo_VersionTaskQueueInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerDeploymentVersionInfo_VersionTaskQueueInfo.ProtoReflect.Descriptor instead. +func (*WorkerDeploymentVersionInfo_VersionTaskQueueInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *WorkerDeploymentVersionInfo_VersionTaskQueueInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkerDeploymentVersionInfo_VersionTaskQueueInfo) GetType() v1.TaskQueueType { + if x != nil { + return x.Type + } + return v1.TaskQueueType(0) +} + +type WorkerDeploymentInfo_WorkerDeploymentVersionSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated. Use `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/deployment/v1/message.proto. + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + // The status of the Worker Deployment Version. + Status v1.WorkerDeploymentVersionStatus `protobuf:"varint,11,opt,name=status,proto3,enum=temporal.api.enums.v1.WorkerDeploymentVersionStatus" json:"status,omitempty"` + // Required. + DeploymentVersion *WorkerDeploymentVersion `protobuf:"bytes,4,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Deprecated. Use `drainage_info` instead. + DrainageStatus v1.VersionDrainageStatus `protobuf:"varint,3,opt,name=drainage_status,json=drainageStatus,proto3,enum=temporal.api.enums.v1.VersionDrainageStatus" json:"drainage_status,omitempty"` + // Information about workflow drainage to help the user determine when it is safe + // to decommission a Version. Not present while version is current or ramping + DrainageInfo *VersionDrainageInfo `protobuf:"bytes,5,opt,name=drainage_info,json=drainageInfo,proto3" json:"drainage_info,omitempty"` + // Unset if not current. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) + CurrentSinceTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=current_since_time,json=currentSinceTime,proto3" json:"current_since_time,omitempty"` + // Unset if not ramping. Updated when the version first starts ramping, not on each ramp change. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: 'Since' captures the field semantics despite being a preposition. --) + RampingSinceTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=ramping_since_time,json=rampingSinceTime,proto3" json:"ramping_since_time,omitempty"` + // Last time `current_since_time`, `ramping_since_time, or `ramp_percentage` of this version changed. + RoutingUpdateTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=routing_update_time,json=routingUpdateTime,proto3" json:"routing_update_time,omitempty"` + // Timestamp when this version first became current or ramping. + FirstActivationTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=first_activation_time,json=firstActivationTime,proto3" json:"first_activation_time,omitempty"` + // Timestamp when this version last became current. + // Can be used to determine whether a version has ever been Current. + LastCurrentTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=last_current_time,json=lastCurrentTime,proto3" json:"last_current_time,omitempty"` + // Timestamp when this version last stopped being current or ramping. + // Cleared if the version becomes current or ramping again. + LastDeactivationTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=last_deactivation_time,json=lastDeactivationTime,proto3" json:"last_deactivation_time,omitempty"` + ComputeConfig *v12.ComputeConfigSummary `protobuf:"bytes,13,opt,name=compute_config,json=computeConfig,proto3" json:"compute_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) Reset() { + *x = WorkerDeploymentInfo_WorkerDeploymentVersionSummary{} + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerDeploymentInfo_WorkerDeploymentVersionSummary) ProtoMessage() {} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_deployment_v1_message_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerDeploymentInfo_WorkerDeploymentVersionSummary.ProtoReflect.Descriptor instead. +func (*WorkerDeploymentInfo_WorkerDeploymentVersionSummary) Descriptor() ([]byte, []int) { + return file_temporal_api_deployment_v1_message_proto_rawDescGZIP(), []int{7, 0} +} + +// Deprecated: Marked as deprecated in temporal/api/deployment/v1/message.proto. +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetStatus() v1.WorkerDeploymentVersionStatus { + if x != nil { + return x.Status + } + return v1.WorkerDeploymentVersionStatus(0) +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetDeploymentVersion() *WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetDrainageStatus() v1.VersionDrainageStatus { + if x != nil { + return x.DrainageStatus + } + return v1.VersionDrainageStatus(0) +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetDrainageInfo() *VersionDrainageInfo { + if x != nil { + return x.DrainageInfo + } + return nil +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetCurrentSinceTime() *timestamppb.Timestamp { + if x != nil { + return x.CurrentSinceTime + } + return nil +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetRampingSinceTime() *timestamppb.Timestamp { + if x != nil { + return x.RampingSinceTime + } + return nil +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetRoutingUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.RoutingUpdateTime + } + return nil +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetFirstActivationTime() *timestamppb.Timestamp { + if x != nil { + return x.FirstActivationTime + } + return nil +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetLastCurrentTime() *timestamppb.Timestamp { + if x != nil { + return x.LastCurrentTime + } + return nil +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetLastDeactivationTime() *timestamppb.Timestamp { + if x != nil { + return x.LastDeactivationTime + } + return nil +} + +func (x *WorkerDeploymentInfo_WorkerDeploymentVersionSummary) GetComputeConfig() *v12.ComputeConfigSummary { + if x != nil { + return x.ComputeConfig + } + return nil +} + +var File_temporal_api_deployment_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_deployment_v1_message_proto_rawDesc = "" + + "\n" + + "(temporal/api/deployment/v1/message.proto\x12\x1atemporal.api.deployment.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a&temporal/api/enums/v1/deployment.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a$temporal/api/common/v1/message.proto\x1a$temporal/api/compute/v1/config.proto\"\xc0\x01\n" + + "\x17WorkerDeploymentOptions\x12'\n" + + "\x0fdeployment_name\x18\x01 \x01(\tR\x0edeploymentName\x12\x19\n" + + "\bbuild_id\x18\x02 \x01(\tR\abuildId\x12a\n" + + "\x16worker_versioning_mode\x18\x03 \x01(\x0e2+.temporal.api.enums.v1.WorkerVersioningModeR\x14workerVersioningMode\"H\n" + + "\n" + + "Deployment\x12\x1f\n" + + "\vseries_name\x18\x01 \x01(\tR\n" + + "seriesName\x12\x19\n" + + "\bbuild_id\x18\x02 \x01(\tR\abuildId\"\xf4\x04\n" + + "\x0eDeploymentInfo\x12F\n" + + "\n" + + "deployment\x18\x01 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + + "deployment\x12;\n" + + "\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\x12b\n" + + "\x10task_queue_infos\x18\x03 \x03(\v28.temporal.api.deployment.v1.DeploymentInfo.TaskQueueInfoR\x0etaskQueueInfos\x12T\n" + + "\bmetadata\x18\x04 \x03(\v28.temporal.api.deployment.v1.DeploymentInfo.MetadataEntryR\bmetadata\x12\x1d\n" + + "\n" + + "is_current\x18\x05 \x01(\bR\tisCurrent\x1a\\\n" + + "\rMetadataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x125\n" + + "\x05value\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05value:\x028\x01\x1a\xa5\x01\n" + + "\rTaskQueueInfo\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x128\n" + + "\x04type\x18\x02 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\x04type\x12F\n" + + "\x11first_poller_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x0ffirstPollerTime\"\x94\x02\n" + + "\x18UpdateDeploymentMetadata\x12n\n" + + "\x0eupsert_entries\x18\x01 \x03(\v2G.temporal.api.deployment.v1.UpdateDeploymentMetadata.UpsertEntriesEntryR\rupsertEntries\x12%\n" + + "\x0eremove_entries\x18\x02 \x03(\tR\rremoveEntries\x1aa\n" + + "\x12UpsertEntriesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x125\n" + + "\x05value\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05value:\x028\x01\"\xb8\x01\n" + + "\x12DeploymentListInfo\x12F\n" + + "\n" + + "deployment\x18\x01 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + + "deployment\x12;\n" + + "\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\x12\x1d\n" + + "\n" + + "is_current\x18\x03 \x01(\bR\tisCurrent\"\xca\n" + + "\n" + + "\x1bWorkerDeploymentVersionInfo\x12\x1c\n" + + "\aversion\x18\x01 \x01(\tB\x02\x18\x01R\aversion\x12L\n" + + "\x06status\x18\x0e \x01(\x0e24.temporal.api.enums.v1.WorkerDeploymentVersionStatusR\x06status\x12b\n" + + "\x12deployment_version\x18\v \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12'\n" + + "\x0fdeployment_name\x18\x02 \x01(\tR\x0edeploymentName\x12;\n" + + "\vcreate_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\x12L\n" + + "\x14routing_changed_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x12routingChangedTime\x12H\n" + + "\x12current_since_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x10currentSinceTime\x12H\n" + + "\x12ramping_since_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x10rampingSinceTime\x12N\n" + + "\x15first_activation_time\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\x13firstActivationTime\x12F\n" + + "\x11last_current_time\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\x0flastCurrentTime\x12P\n" + + "\x16last_deactivation_time\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\x14lastDeactivationTime\x12'\n" + + "\x0framp_percentage\x18\a \x01(\x02R\x0erampPercentage\x12v\n" + + "\x10task_queue_infos\x18\b \x03(\v2L.temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfoR\x0etaskQueueInfos\x12T\n" + + "\rdrainage_info\x18\t \x01(\v2/.temporal.api.deployment.v1.VersionDrainageInfoR\fdrainageInfo\x12G\n" + + "\bmetadata\x18\n" + + " \x01(\v2+.temporal.api.deployment.v1.VersionMetadataR\bmetadata\x12M\n" + + "\x0ecompute_config\x18\x10 \x01(\v2&.temporal.api.compute.v1.ComputeConfigR\rcomputeConfig\x124\n" + + "\x16last_modifier_identity\x18\x11 \x01(\tR\x14lastModifierIdentity\x1ad\n" + + "\x14VersionTaskQueueInfo\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x128\n" + + "\x04type\x18\x02 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\x04type\"\xeb\x01\n" + + "\x13VersionDrainageInfo\x12D\n" + + "\x06status\x18\x01 \x01(\x0e2,.temporal.api.enums.v1.VersionDrainageStatusR\x06status\x12F\n" + + "\x11last_changed_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastChangedTime\x12F\n" + + "\x11last_checked_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastCheckedTime\"\x85\f\n" + + "\x14WorkerDeploymentInfo\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12|\n" + + "\x11version_summaries\x18\x02 \x03(\v2O.temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummaryR\x10versionSummaries\x12;\n" + + "\vcreate_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\x12P\n" + + "\x0erouting_config\x18\x04 \x01(\v2).temporal.api.deployment.v1.RoutingConfigR\rroutingConfig\x124\n" + + "\x16last_modifier_identity\x18\x05 \x01(\tR\x14lastModifierIdentity\x12)\n" + + "\x10manager_identity\x18\x06 \x01(\tR\x0fmanagerIdentity\x12n\n" + + "\x1brouting_config_update_state\x18\a \x01(\x0e2/.temporal.api.enums.v1.RoutingConfigUpdateStateR\x18routingConfigUpdateState\x1a\xfa\a\n" + + "\x1eWorkerDeploymentVersionSummary\x12\x1c\n" + + "\aversion\x18\x01 \x01(\tB\x02\x18\x01R\aversion\x12L\n" + + "\x06status\x18\v \x01(\x0e24.temporal.api.enums.v1.WorkerDeploymentVersionStatusR\x06status\x12b\n" + + "\x12deployment_version\x18\x04 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12;\n" + + "\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\x12U\n" + + "\x0fdrainage_status\x18\x03 \x01(\x0e2,.temporal.api.enums.v1.VersionDrainageStatusR\x0edrainageStatus\x12T\n" + + "\rdrainage_info\x18\x05 \x01(\v2/.temporal.api.deployment.v1.VersionDrainageInfoR\fdrainageInfo\x12H\n" + + "\x12current_since_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x10currentSinceTime\x12H\n" + + "\x12ramping_since_time\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\x10rampingSinceTime\x12J\n" + + "\x13routing_update_time\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x11routingUpdateTime\x12N\n" + + "\x15first_activation_time\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x13firstActivationTime\x12F\n" + + "\x11last_current_time\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\x0flastCurrentTime\x12P\n" + + "\x16last_deactivation_time\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\x14lastDeactivationTime\x12T\n" + + "\x0ecompute_config\x18\r \x01(\v2-.temporal.api.compute.v1.ComputeConfigSummaryR\rcomputeConfig\"]\n" + + "\x17WorkerDeploymentVersion\x12\x19\n" + + "\bbuild_id\x18\x01 \x01(\tR\abuildId\x12'\n" + + "\x0fdeployment_name\x18\x02 \x01(\tR\x0edeploymentName\"\xc2\x01\n" + + "\x0fVersionMetadata\x12R\n" + + "\aentries\x18\x01 \x03(\v28.temporal.api.deployment.v1.VersionMetadata.EntriesEntryR\aentries\x1a[\n" + + "\fEntriesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x125\n" + + "\x05value\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05value:\x028\x01\"\xe2\x05\n" + + "\rRoutingConfig\x12q\n" + + "\x1acurrent_deployment_version\x18\a \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x18currentDeploymentVersion\x12+\n" + + "\x0fcurrent_version\x18\x01 \x01(\tB\x02\x18\x01R\x0ecurrentVersion\x12q\n" + + "\x1aramping_deployment_version\x18\t \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x18rampingDeploymentVersion\x12+\n" + + "\x0framping_version\x18\x02 \x01(\tB\x02\x18\x01R\x0erampingVersion\x12<\n" + + "\x1aramping_version_percentage\x18\x03 \x01(\x02R\x18rampingVersionPercentage\x12[\n" + + "\x1ccurrent_version_changed_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x19currentVersionChangedTime\x12[\n" + + "\x1cramping_version_changed_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x19rampingVersionChangedTime\x12p\n" + + "'ramping_version_percentage_changed_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR#rampingVersionPercentageChangedTime\x12'\n" + + "\x0frevision_number\x18\n" + + " \x01(\x03R\x0erevisionNumber\"\xec\x02\n" + + "\x18InheritedAutoUpgradeInfo\x12o\n" + + "\x19source_deployment_version\x18\x01 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x17sourceDeploymentVersion\x12I\n" + + "!source_deployment_revision_number\x18\x02 \x01(\x03R\x1esourceDeploymentRevisionNumber\x12\x93\x01\n" + + "+continue_as_new_initial_versioning_behavior\x18\x03 \x01(\x0e26.temporal.api.enums.v1.ContinueAsNewVersioningBehaviorR&continueAsNewInitialVersioningBehaviorB\x9d\x01\n" + + "\x1dio.temporal.api.deployment.v1B\fMessageProtoP\x01Z+go.temporal.io/api/deployment/v1;deployment\xaa\x02\x1cTemporalio.Api.Deployment.V1\xea\x02\x1fTemporalio::Api::Deployment::V1b\x06proto3" + +var ( + file_temporal_api_deployment_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_deployment_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_deployment_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_deployment_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_deployment_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_deployment_v1_message_proto_rawDesc), len(file_temporal_api_deployment_v1_message_proto_rawDesc))) + }) + return file_temporal_api_deployment_v1_message_proto_rawDescData +} + +var file_temporal_api_deployment_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 18) +var file_temporal_api_deployment_v1_message_proto_goTypes = []any{ + (*WorkerDeploymentOptions)(nil), // 0: temporal.api.deployment.v1.WorkerDeploymentOptions + (*Deployment)(nil), // 1: temporal.api.deployment.v1.Deployment + (*DeploymentInfo)(nil), // 2: temporal.api.deployment.v1.DeploymentInfo + (*UpdateDeploymentMetadata)(nil), // 3: temporal.api.deployment.v1.UpdateDeploymentMetadata + (*DeploymentListInfo)(nil), // 4: temporal.api.deployment.v1.DeploymentListInfo + (*WorkerDeploymentVersionInfo)(nil), // 5: temporal.api.deployment.v1.WorkerDeploymentVersionInfo + (*VersionDrainageInfo)(nil), // 6: temporal.api.deployment.v1.VersionDrainageInfo + (*WorkerDeploymentInfo)(nil), // 7: temporal.api.deployment.v1.WorkerDeploymentInfo + (*WorkerDeploymentVersion)(nil), // 8: temporal.api.deployment.v1.WorkerDeploymentVersion + (*VersionMetadata)(nil), // 9: temporal.api.deployment.v1.VersionMetadata + (*RoutingConfig)(nil), // 10: temporal.api.deployment.v1.RoutingConfig + (*InheritedAutoUpgradeInfo)(nil), // 11: temporal.api.deployment.v1.InheritedAutoUpgradeInfo + nil, // 12: temporal.api.deployment.v1.DeploymentInfo.MetadataEntry + (*DeploymentInfo_TaskQueueInfo)(nil), // 13: temporal.api.deployment.v1.DeploymentInfo.TaskQueueInfo + nil, // 14: temporal.api.deployment.v1.UpdateDeploymentMetadata.UpsertEntriesEntry + (*WorkerDeploymentVersionInfo_VersionTaskQueueInfo)(nil), // 15: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo + (*WorkerDeploymentInfo_WorkerDeploymentVersionSummary)(nil), // 16: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + nil, // 17: temporal.api.deployment.v1.VersionMetadata.EntriesEntry + (v1.WorkerVersioningMode)(0), // 18: temporal.api.enums.v1.WorkerVersioningMode + (*timestamppb.Timestamp)(nil), // 19: google.protobuf.Timestamp + (v1.WorkerDeploymentVersionStatus)(0), // 20: temporal.api.enums.v1.WorkerDeploymentVersionStatus + (*v12.ComputeConfig)(nil), // 21: temporal.api.compute.v1.ComputeConfig + (v1.VersionDrainageStatus)(0), // 22: temporal.api.enums.v1.VersionDrainageStatus + (v1.RoutingConfigUpdateState)(0), // 23: temporal.api.enums.v1.RoutingConfigUpdateState + (v1.ContinueAsNewVersioningBehavior)(0), // 24: temporal.api.enums.v1.ContinueAsNewVersioningBehavior + (*v11.Payload)(nil), // 25: temporal.api.common.v1.Payload + (v1.TaskQueueType)(0), // 26: temporal.api.enums.v1.TaskQueueType + (*v12.ComputeConfigSummary)(nil), // 27: temporal.api.compute.v1.ComputeConfigSummary +} +var file_temporal_api_deployment_v1_message_proto_depIdxs = []int32{ + 18, // 0: temporal.api.deployment.v1.WorkerDeploymentOptions.worker_versioning_mode:type_name -> temporal.api.enums.v1.WorkerVersioningMode + 1, // 1: temporal.api.deployment.v1.DeploymentInfo.deployment:type_name -> temporal.api.deployment.v1.Deployment + 19, // 2: temporal.api.deployment.v1.DeploymentInfo.create_time:type_name -> google.protobuf.Timestamp + 13, // 3: temporal.api.deployment.v1.DeploymentInfo.task_queue_infos:type_name -> temporal.api.deployment.v1.DeploymentInfo.TaskQueueInfo + 12, // 4: temporal.api.deployment.v1.DeploymentInfo.metadata:type_name -> temporal.api.deployment.v1.DeploymentInfo.MetadataEntry + 14, // 5: temporal.api.deployment.v1.UpdateDeploymentMetadata.upsert_entries:type_name -> temporal.api.deployment.v1.UpdateDeploymentMetadata.UpsertEntriesEntry + 1, // 6: temporal.api.deployment.v1.DeploymentListInfo.deployment:type_name -> temporal.api.deployment.v1.Deployment + 19, // 7: temporal.api.deployment.v1.DeploymentListInfo.create_time:type_name -> google.protobuf.Timestamp + 20, // 8: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus + 8, // 9: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 19, // 10: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.create_time:type_name -> google.protobuf.Timestamp + 19, // 11: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.routing_changed_time:type_name -> google.protobuf.Timestamp + 19, // 12: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.current_since_time:type_name -> google.protobuf.Timestamp + 19, // 13: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.ramping_since_time:type_name -> google.protobuf.Timestamp + 19, // 14: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.first_activation_time:type_name -> google.protobuf.Timestamp + 19, // 15: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.last_current_time:type_name -> google.protobuf.Timestamp + 19, // 16: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.last_deactivation_time:type_name -> google.protobuf.Timestamp + 15, // 17: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.task_queue_infos:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo + 6, // 18: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo + 9, // 19: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata + 21, // 20: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.compute_config:type_name -> temporal.api.compute.v1.ComputeConfig + 22, // 21: temporal.api.deployment.v1.VersionDrainageInfo.status:type_name -> temporal.api.enums.v1.VersionDrainageStatus + 19, // 22: temporal.api.deployment.v1.VersionDrainageInfo.last_changed_time:type_name -> google.protobuf.Timestamp + 19, // 23: temporal.api.deployment.v1.VersionDrainageInfo.last_checked_time:type_name -> google.protobuf.Timestamp + 16, // 24: temporal.api.deployment.v1.WorkerDeploymentInfo.version_summaries:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 19, // 25: temporal.api.deployment.v1.WorkerDeploymentInfo.create_time:type_name -> google.protobuf.Timestamp + 10, // 26: temporal.api.deployment.v1.WorkerDeploymentInfo.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 23, // 27: temporal.api.deployment.v1.WorkerDeploymentInfo.routing_config_update_state:type_name -> temporal.api.enums.v1.RoutingConfigUpdateState + 17, // 28: temporal.api.deployment.v1.VersionMetadata.entries:type_name -> temporal.api.deployment.v1.VersionMetadata.EntriesEntry + 8, // 29: temporal.api.deployment.v1.RoutingConfig.current_deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 8, // 30: temporal.api.deployment.v1.RoutingConfig.ramping_deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 19, // 31: temporal.api.deployment.v1.RoutingConfig.current_version_changed_time:type_name -> google.protobuf.Timestamp + 19, // 32: temporal.api.deployment.v1.RoutingConfig.ramping_version_changed_time:type_name -> google.protobuf.Timestamp + 19, // 33: temporal.api.deployment.v1.RoutingConfig.ramping_version_percentage_changed_time:type_name -> google.protobuf.Timestamp + 8, // 34: temporal.api.deployment.v1.InheritedAutoUpgradeInfo.source_deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 24, // 35: temporal.api.deployment.v1.InheritedAutoUpgradeInfo.continue_as_new_initial_versioning_behavior:type_name -> temporal.api.enums.v1.ContinueAsNewVersioningBehavior + 25, // 36: temporal.api.deployment.v1.DeploymentInfo.MetadataEntry.value:type_name -> temporal.api.common.v1.Payload + 26, // 37: temporal.api.deployment.v1.DeploymentInfo.TaskQueueInfo.type:type_name -> temporal.api.enums.v1.TaskQueueType + 19, // 38: temporal.api.deployment.v1.DeploymentInfo.TaskQueueInfo.first_poller_time:type_name -> google.protobuf.Timestamp + 25, // 39: temporal.api.deployment.v1.UpdateDeploymentMetadata.UpsertEntriesEntry.value:type_name -> temporal.api.common.v1.Payload + 26, // 40: temporal.api.deployment.v1.WorkerDeploymentVersionInfo.VersionTaskQueueInfo.type:type_name -> temporal.api.enums.v1.TaskQueueType + 20, // 41: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.status:type_name -> temporal.api.enums.v1.WorkerDeploymentVersionStatus + 8, // 42: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 19, // 43: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.create_time:type_name -> google.protobuf.Timestamp + 22, // 44: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.drainage_status:type_name -> temporal.api.enums.v1.VersionDrainageStatus + 6, // 45: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.drainage_info:type_name -> temporal.api.deployment.v1.VersionDrainageInfo + 19, // 46: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.current_since_time:type_name -> google.protobuf.Timestamp + 19, // 47: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.ramping_since_time:type_name -> google.protobuf.Timestamp + 19, // 48: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.routing_update_time:type_name -> google.protobuf.Timestamp + 19, // 49: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.first_activation_time:type_name -> google.protobuf.Timestamp + 19, // 50: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.last_current_time:type_name -> google.protobuf.Timestamp + 19, // 51: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.last_deactivation_time:type_name -> google.protobuf.Timestamp + 27, // 52: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary.compute_config:type_name -> temporal.api.compute.v1.ComputeConfigSummary + 25, // 53: temporal.api.deployment.v1.VersionMetadata.EntriesEntry.value:type_name -> temporal.api.common.v1.Payload + 54, // [54:54] is the sub-list for method output_type + 54, // [54:54] is the sub-list for method input_type + 54, // [54:54] is the sub-list for extension type_name + 54, // [54:54] is the sub-list for extension extendee + 0, // [0:54] is the sub-list for field type_name +} + +func init() { file_temporal_api_deployment_v1_message_proto_init() } +func file_temporal_api_deployment_v1_message_proto_init() { + if File_temporal_api_deployment_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_deployment_v1_message_proto_rawDesc), len(file_temporal_api_deployment_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 18, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_deployment_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_deployment_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_deployment_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_deployment_v1_message_proto = out.File + file_temporal_api_deployment_v1_message_proto_goTypes = nil + file_temporal_api_deployment_v1_message_proto_depIdxs = nil +} diff --git a/api_next/enums/v1/activity.go-helpers.pb.go b/api_next/enums/v1/activity.go-helpers.pb.go new file mode 100644 index 00000000..4739c0b5 --- /dev/null +++ b/api_next/enums/v1/activity.go-helpers.pb.go @@ -0,0 +1,68 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package enums + +import ( + "fmt" +) + +var ( + ActivityExecutionStatus_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Running": 1, + "Completed": 2, + "Failed": 3, + "Canceled": 4, + "Terminated": 5, + "TimedOut": 6, + } +) + +// ActivityExecutionStatusFromString parses a ActivityExecutionStatus value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to ActivityExecutionStatus +func ActivityExecutionStatusFromString(s string) (ActivityExecutionStatus, error) { + if v, ok := ActivityExecutionStatus_value[s]; ok { + return ActivityExecutionStatus(v), nil + } else if v, ok := ActivityExecutionStatus_shorthandValue[s]; ok { + return ActivityExecutionStatus(v), nil + } + return ActivityExecutionStatus(0), fmt.Errorf("%s is not a valid ActivityExecutionStatus", s) +} + +var ( + ActivityIdReusePolicy_shorthandValue = map[string]int32{ + "Unspecified": 0, + "AllowDuplicate": 1, + "AllowDuplicateFailedOnly": 2, + "RejectDuplicate": 3, + } +) + +// ActivityIdReusePolicyFromString parses a ActivityIdReusePolicy value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to ActivityIdReusePolicy +func ActivityIdReusePolicyFromString(s string) (ActivityIdReusePolicy, error) { + if v, ok := ActivityIdReusePolicy_value[s]; ok { + return ActivityIdReusePolicy(v), nil + } else if v, ok := ActivityIdReusePolicy_shorthandValue[s]; ok { + return ActivityIdReusePolicy(v), nil + } + return ActivityIdReusePolicy(0), fmt.Errorf("%s is not a valid ActivityIdReusePolicy", s) +} + +var ( + ActivityIdConflictPolicy_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Fail": 1, + "UseExisting": 2, + } +) + +// ActivityIdConflictPolicyFromString parses a ActivityIdConflictPolicy value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to ActivityIdConflictPolicy +func ActivityIdConflictPolicyFromString(s string) (ActivityIdConflictPolicy, error) { + if v, ok := ActivityIdConflictPolicy_value[s]; ok { + return ActivityIdConflictPolicy(v), nil + } else if v, ok := ActivityIdConflictPolicy_shorthandValue[s]; ok { + return ActivityIdConflictPolicy(v), nil + } + return ActivityIdConflictPolicy(0), fmt.Errorf("%s is not a valid ActivityIdConflictPolicy", s) +} diff --git a/api_next/enums/v1/activity.pb.go b/api_next/enums/v1/activity.pb.go new file mode 100644 index 00000000..7646b286 --- /dev/null +++ b/api_next/enums/v1/activity.pb.go @@ -0,0 +1,301 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/enums/v1/activity.proto + +package enums + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Status of a standalone activity. +// The status is updated once, when the activity is originally scheduled, and again when the activity reaches a terminal +// status. +// (-- api-linter: core::0216::synonyms=disabled +// +// aip.dev/not-precedent: Named consistently with WorkflowExecutionStatus. --) +type ActivityExecutionStatus int32 + +const ( + ACTIVITY_EXECUTION_STATUS_UNSPECIFIED ActivityExecutionStatus = 0 + // The activity has not reached a terminal status. See PendingActivityState for the run state + // (SCHEDULED, STARTED, or CANCEL_REQUESTED). + ACTIVITY_EXECUTION_STATUS_RUNNING ActivityExecutionStatus = 1 + // The activity completed successfully. An activity can complete even after cancellation is + // requested if the worker calls RespondActivityTaskCompleted before acknowledging cancellation. + ACTIVITY_EXECUTION_STATUS_COMPLETED ActivityExecutionStatus = 2 + // The activity failed. Causes: + // - Worker returned a non-retryable failure + // - RetryPolicy.maximum_attempts exhausted + // - Attempt failed after cancellation was requested (retries blocked) + ACTIVITY_EXECUTION_STATUS_FAILED ActivityExecutionStatus = 3 + // The activity was canceled. Reached when: + // - Cancellation requested while SCHEDULED (immediate), or + // - Cancellation requested while STARTED and worker called RespondActivityTaskCanceled. + // + // Workers discover cancellation requests via heartbeat responses (cancel_requested=true). + // Activities that do not heartbeat will not learn of cancellation and may complete, fail, or + // time out normally. CANCELED requires explicit worker acknowledgment or immediate cancellation + // of a SCHEDULED activity. + ACTIVITY_EXECUTION_STATUS_CANCELED ActivityExecutionStatus = 4 + // The activity was terminated. Immediate; does not wait for worker acknowledgment. + ACTIVITY_EXECUTION_STATUS_TERMINATED ActivityExecutionStatus = 5 + // The activity timed out. See TimeoutType for the specific timeout. + // - SCHEDULE_TO_START and SCHEDULE_TO_CLOSE timeouts always result in TIMED_OUT. + // - START_TO_CLOSE and HEARTBEAT may retry if RetryPolicy permits; TIMED_OUT is + // reached when retry is blocked (RetryPolicy.maximum_attempts exhausted, + // SCHEDULE_TO_CLOSE would be exceeded, or cancellation has been requested). + ACTIVITY_EXECUTION_STATUS_TIMED_OUT ActivityExecutionStatus = 6 +) + +// Enum value maps for ActivityExecutionStatus. +var ( + ActivityExecutionStatus_name = map[int32]string{ + 0: "ACTIVITY_EXECUTION_STATUS_UNSPECIFIED", + 1: "ACTIVITY_EXECUTION_STATUS_RUNNING", + 2: "ACTIVITY_EXECUTION_STATUS_COMPLETED", + 3: "ACTIVITY_EXECUTION_STATUS_FAILED", + 4: "ACTIVITY_EXECUTION_STATUS_CANCELED", + 5: "ACTIVITY_EXECUTION_STATUS_TERMINATED", + 6: "ACTIVITY_EXECUTION_STATUS_TIMED_OUT", + } + ActivityExecutionStatus_value = map[string]int32{ + "ACTIVITY_EXECUTION_STATUS_UNSPECIFIED": 0, + "ACTIVITY_EXECUTION_STATUS_RUNNING": 1, + "ACTIVITY_EXECUTION_STATUS_COMPLETED": 2, + "ACTIVITY_EXECUTION_STATUS_FAILED": 3, + "ACTIVITY_EXECUTION_STATUS_CANCELED": 4, + "ACTIVITY_EXECUTION_STATUS_TERMINATED": 5, + "ACTIVITY_EXECUTION_STATUS_TIMED_OUT": 6, + } +) + +func (x ActivityExecutionStatus) Enum() *ActivityExecutionStatus { + p := new(ActivityExecutionStatus) + *p = x + return p +} + +func (x ActivityExecutionStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ActivityExecutionStatus) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_activity_proto_enumTypes[0].Descriptor() +} + +func (ActivityExecutionStatus) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_activity_proto_enumTypes[0] +} + +func (x ActivityExecutionStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ActivityExecutionStatus.Descriptor instead. +func (ActivityExecutionStatus) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_activity_proto_rawDescGZIP(), []int{0} +} + +// Defines whether to allow re-using an activity ID from a previously *closed* activity. +// If the request is denied, the server returns an `ActivityExecutionAlreadyStarted` error. +// +// See `ActivityIdConflictPolicy` for handling ID duplication with a *running* activity. +type ActivityIdReusePolicy int32 + +const ( + ACTIVITY_ID_REUSE_POLICY_UNSPECIFIED ActivityIdReusePolicy = 0 + // Always allow starting an activity using the same activity ID. + ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE ActivityIdReusePolicy = 1 + // Allow starting an activity using the same ID only when the last activity's final state is one + // of {failed, canceled, terminated, timed out}. + ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY ActivityIdReusePolicy = 2 + // Do not permit re-use of the ID for this activity. Future start requests could potentially change the policy, + // allowing re-use of the ID. + ACTIVITY_ID_REUSE_POLICY_REJECT_DUPLICATE ActivityIdReusePolicy = 3 +) + +// Enum value maps for ActivityIdReusePolicy. +var ( + ActivityIdReusePolicy_name = map[int32]string{ + 0: "ACTIVITY_ID_REUSE_POLICY_UNSPECIFIED", + 1: "ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE", + 2: "ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY", + 3: "ACTIVITY_ID_REUSE_POLICY_REJECT_DUPLICATE", + } + ActivityIdReusePolicy_value = map[string]int32{ + "ACTIVITY_ID_REUSE_POLICY_UNSPECIFIED": 0, + "ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE": 1, + "ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY": 2, + "ACTIVITY_ID_REUSE_POLICY_REJECT_DUPLICATE": 3, + } +) + +func (x ActivityIdReusePolicy) Enum() *ActivityIdReusePolicy { + p := new(ActivityIdReusePolicy) + *p = x + return p +} + +func (x ActivityIdReusePolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ActivityIdReusePolicy) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_activity_proto_enumTypes[1].Descriptor() +} + +func (ActivityIdReusePolicy) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_activity_proto_enumTypes[1] +} + +func (x ActivityIdReusePolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ActivityIdReusePolicy.Descriptor instead. +func (ActivityIdReusePolicy) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_activity_proto_rawDescGZIP(), []int{1} +} + +// Defines what to do when trying to start an activity with the same ID as a *running* activity. +// Note that it is *never* valid to have two running instances of the same activity ID. +// +// See `ActivityIdReusePolicy` for handling activity ID duplication with a *closed* activity. +type ActivityIdConflictPolicy int32 + +const ( + ACTIVITY_ID_CONFLICT_POLICY_UNSPECIFIED ActivityIdConflictPolicy = 0 + // Don't start a new activity; instead return `ActivityExecutionAlreadyStarted` error. + ACTIVITY_ID_CONFLICT_POLICY_FAIL ActivityIdConflictPolicy = 1 + // Don't start a new activity; instead return a handle for the running activity. + ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING ActivityIdConflictPolicy = 2 +) + +// Enum value maps for ActivityIdConflictPolicy. +var ( + ActivityIdConflictPolicy_name = map[int32]string{ + 0: "ACTIVITY_ID_CONFLICT_POLICY_UNSPECIFIED", + 1: "ACTIVITY_ID_CONFLICT_POLICY_FAIL", + 2: "ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING", + } + ActivityIdConflictPolicy_value = map[string]int32{ + "ACTIVITY_ID_CONFLICT_POLICY_UNSPECIFIED": 0, + "ACTIVITY_ID_CONFLICT_POLICY_FAIL": 1, + "ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING": 2, + } +) + +func (x ActivityIdConflictPolicy) Enum() *ActivityIdConflictPolicy { + p := new(ActivityIdConflictPolicy) + *p = x + return p +} + +func (x ActivityIdConflictPolicy) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ActivityIdConflictPolicy) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_activity_proto_enumTypes[2].Descriptor() +} + +func (ActivityIdConflictPolicy) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_activity_proto_enumTypes[2] +} + +func (x ActivityIdConflictPolicy) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ActivityIdConflictPolicy.Descriptor instead. +func (ActivityIdConflictPolicy) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_activity_proto_rawDescGZIP(), []int{2} +} + +var File_temporal_api_enums_v1_activity_proto protoreflect.FileDescriptor + +const file_temporal_api_enums_v1_activity_proto_rawDesc = "" + + "\n" + + "$temporal/api/enums/v1/activity.proto\x12\x15temporal.api.enums.v1*\xb5\x02\n" + + "\x17ActivityExecutionStatus\x12)\n" + + "%ACTIVITY_EXECUTION_STATUS_UNSPECIFIED\x10\x00\x12%\n" + + "!ACTIVITY_EXECUTION_STATUS_RUNNING\x10\x01\x12'\n" + + "#ACTIVITY_EXECUTION_STATUS_COMPLETED\x10\x02\x12$\n" + + " ACTIVITY_EXECUTION_STATUS_FAILED\x10\x03\x12&\n" + + "\"ACTIVITY_EXECUTION_STATUS_CANCELED\x10\x04\x12(\n" + + "$ACTIVITY_EXECUTION_STATUS_TERMINATED\x10\x05\x12'\n" + + "#ACTIVITY_EXECUTION_STATUS_TIMED_OUT\x10\x06*\xd8\x01\n" + + "\x15ActivityIdReusePolicy\x12(\n" + + "$ACTIVITY_ID_REUSE_POLICY_UNSPECIFIED\x10\x00\x12,\n" + + "(ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE\x10\x01\x128\n" + + "4ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE_FAILED_ONLY\x10\x02\x12-\n" + + ")ACTIVITY_ID_REUSE_POLICY_REJECT_DUPLICATE\x10\x03*\x9b\x01\n" + + "\x18ActivityIdConflictPolicy\x12+\n" + + "'ACTIVITY_ID_CONFLICT_POLICY_UNSPECIFIED\x10\x00\x12$\n" + + " ACTIVITY_ID_CONFLICT_POLICY_FAIL\x10\x01\x12,\n" + + "(ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING\x10\x02B\x85\x01\n" + + "\x18io.temporal.api.enums.v1B\rActivityProtoP\x01Z!go.temporal.io/api/enums/v1;enums\xaa\x02\x17Temporalio.Api.Enums.V1\xea\x02\x1aTemporalio::Api::Enums::V1b\x06proto3" + +var ( + file_temporal_api_enums_v1_activity_proto_rawDescOnce sync.Once + file_temporal_api_enums_v1_activity_proto_rawDescData []byte +) + +func file_temporal_api_enums_v1_activity_proto_rawDescGZIP() []byte { + file_temporal_api_enums_v1_activity_proto_rawDescOnce.Do(func() { + file_temporal_api_enums_v1_activity_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_activity_proto_rawDesc), len(file_temporal_api_enums_v1_activity_proto_rawDesc))) + }) + return file_temporal_api_enums_v1_activity_proto_rawDescData +} + +var file_temporal_api_enums_v1_activity_proto_enumTypes = make([]protoimpl.EnumInfo, 3) +var file_temporal_api_enums_v1_activity_proto_goTypes = []any{ + (ActivityExecutionStatus)(0), // 0: temporal.api.enums.v1.ActivityExecutionStatus + (ActivityIdReusePolicy)(0), // 1: temporal.api.enums.v1.ActivityIdReusePolicy + (ActivityIdConflictPolicy)(0), // 2: temporal.api.enums.v1.ActivityIdConflictPolicy +} +var file_temporal_api_enums_v1_activity_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_enums_v1_activity_proto_init() } +func file_temporal_api_enums_v1_activity_proto_init() { + if File_temporal_api_enums_v1_activity_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_activity_proto_rawDesc), len(file_temporal_api_enums_v1_activity_proto_rawDesc)), + NumEnums: 3, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_enums_v1_activity_proto_goTypes, + DependencyIndexes: file_temporal_api_enums_v1_activity_proto_depIdxs, + EnumInfos: file_temporal_api_enums_v1_activity_proto_enumTypes, + }.Build() + File_temporal_api_enums_v1_activity_proto = out.File + file_temporal_api_enums_v1_activity_proto_goTypes = nil + file_temporal_api_enums_v1_activity_proto_depIdxs = nil +} diff --git a/api_next/enums/v1/batch_operation.go-helpers.pb.go b/api_next/enums/v1/batch_operation.go-helpers.pb.go new file mode 100644 index 00000000..231600d8 --- /dev/null +++ b/api_next/enums/v1/batch_operation.go-helpers.pb.go @@ -0,0 +1,52 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package enums + +import ( + "fmt" +) + +var ( + BatchOperationType_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Terminate": 1, + "Cancel": 2, + "Signal": 3, + "Delete": 4, + "Reset": 5, + "UpdateExecutionOptions": 6, + "UnpauseActivity": 7, + "UpdateActivityOptions": 8, + "ResetActivity": 9, + } +) + +// BatchOperationTypeFromString parses a BatchOperationType value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to BatchOperationType +func BatchOperationTypeFromString(s string) (BatchOperationType, error) { + if v, ok := BatchOperationType_value[s]; ok { + return BatchOperationType(v), nil + } else if v, ok := BatchOperationType_shorthandValue[s]; ok { + return BatchOperationType(v), nil + } + return BatchOperationType(0), fmt.Errorf("%s is not a valid BatchOperationType", s) +} + +var ( + BatchOperationState_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Running": 1, + "Completed": 2, + "Failed": 3, + } +) + +// BatchOperationStateFromString parses a BatchOperationState value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to BatchOperationState +func BatchOperationStateFromString(s string) (BatchOperationState, error) { + if v, ok := BatchOperationState_value[s]; ok { + return BatchOperationState(v), nil + } else if v, ok := BatchOperationState_shorthandValue[s]; ok { + return BatchOperationState(v), nil + } + return BatchOperationState(0), fmt.Errorf("%s is not a valid BatchOperationState", s) +} diff --git a/api_next/enums/v1/batch_operation.pb.go b/api_next/enums/v1/batch_operation.pb.go new file mode 100644 index 00000000..a5c6e5e9 --- /dev/null +++ b/api_next/enums/v1/batch_operation.pb.go @@ -0,0 +1,216 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/enums/v1/batch_operation.proto + +package enums + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type BatchOperationType int32 + +const ( + BATCH_OPERATION_TYPE_UNSPECIFIED BatchOperationType = 0 + BATCH_OPERATION_TYPE_TERMINATE BatchOperationType = 1 + BATCH_OPERATION_TYPE_CANCEL BatchOperationType = 2 + BATCH_OPERATION_TYPE_SIGNAL BatchOperationType = 3 + BATCH_OPERATION_TYPE_DELETE BatchOperationType = 4 + BATCH_OPERATION_TYPE_RESET BatchOperationType = 5 + BATCH_OPERATION_TYPE_UPDATE_EXECUTION_OPTIONS BatchOperationType = 6 + BATCH_OPERATION_TYPE_UNPAUSE_ACTIVITY BatchOperationType = 7 + BATCH_OPERATION_TYPE_UPDATE_ACTIVITY_OPTIONS BatchOperationType = 8 + BATCH_OPERATION_TYPE_RESET_ACTIVITY BatchOperationType = 9 +) + +// Enum value maps for BatchOperationType. +var ( + BatchOperationType_name = map[int32]string{ + 0: "BATCH_OPERATION_TYPE_UNSPECIFIED", + 1: "BATCH_OPERATION_TYPE_TERMINATE", + 2: "BATCH_OPERATION_TYPE_CANCEL", + 3: "BATCH_OPERATION_TYPE_SIGNAL", + 4: "BATCH_OPERATION_TYPE_DELETE", + 5: "BATCH_OPERATION_TYPE_RESET", + 6: "BATCH_OPERATION_TYPE_UPDATE_EXECUTION_OPTIONS", + 7: "BATCH_OPERATION_TYPE_UNPAUSE_ACTIVITY", + 8: "BATCH_OPERATION_TYPE_UPDATE_ACTIVITY_OPTIONS", + 9: "BATCH_OPERATION_TYPE_RESET_ACTIVITY", + } + BatchOperationType_value = map[string]int32{ + "BATCH_OPERATION_TYPE_UNSPECIFIED": 0, + "BATCH_OPERATION_TYPE_TERMINATE": 1, + "BATCH_OPERATION_TYPE_CANCEL": 2, + "BATCH_OPERATION_TYPE_SIGNAL": 3, + "BATCH_OPERATION_TYPE_DELETE": 4, + "BATCH_OPERATION_TYPE_RESET": 5, + "BATCH_OPERATION_TYPE_UPDATE_EXECUTION_OPTIONS": 6, + "BATCH_OPERATION_TYPE_UNPAUSE_ACTIVITY": 7, + "BATCH_OPERATION_TYPE_UPDATE_ACTIVITY_OPTIONS": 8, + "BATCH_OPERATION_TYPE_RESET_ACTIVITY": 9, + } +) + +func (x BatchOperationType) Enum() *BatchOperationType { + p := new(BatchOperationType) + *p = x + return p +} + +func (x BatchOperationType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BatchOperationType) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_batch_operation_proto_enumTypes[0].Descriptor() +} + +func (BatchOperationType) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_batch_operation_proto_enumTypes[0] +} + +func (x BatchOperationType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BatchOperationType.Descriptor instead. +func (BatchOperationType) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_batch_operation_proto_rawDescGZIP(), []int{0} +} + +type BatchOperationState int32 + +const ( + BATCH_OPERATION_STATE_UNSPECIFIED BatchOperationState = 0 + BATCH_OPERATION_STATE_RUNNING BatchOperationState = 1 + BATCH_OPERATION_STATE_COMPLETED BatchOperationState = 2 + BATCH_OPERATION_STATE_FAILED BatchOperationState = 3 +) + +// Enum value maps for BatchOperationState. +var ( + BatchOperationState_name = map[int32]string{ + 0: "BATCH_OPERATION_STATE_UNSPECIFIED", + 1: "BATCH_OPERATION_STATE_RUNNING", + 2: "BATCH_OPERATION_STATE_COMPLETED", + 3: "BATCH_OPERATION_STATE_FAILED", + } + BatchOperationState_value = map[string]int32{ + "BATCH_OPERATION_STATE_UNSPECIFIED": 0, + "BATCH_OPERATION_STATE_RUNNING": 1, + "BATCH_OPERATION_STATE_COMPLETED": 2, + "BATCH_OPERATION_STATE_FAILED": 3, + } +) + +func (x BatchOperationState) Enum() *BatchOperationState { + p := new(BatchOperationState) + *p = x + return p +} + +func (x BatchOperationState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (BatchOperationState) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_batch_operation_proto_enumTypes[1].Descriptor() +} + +func (BatchOperationState) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_batch_operation_proto_enumTypes[1] +} + +func (x BatchOperationState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use BatchOperationState.Descriptor instead. +func (BatchOperationState) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_batch_operation_proto_rawDescGZIP(), []int{1} +} + +var File_temporal_api_enums_v1_batch_operation_proto protoreflect.FileDescriptor + +const file_temporal_api_enums_v1_batch_operation_proto_rawDesc = "" + + "\n" + + "+temporal/api/enums/v1/batch_operation.proto\x12\x15temporal.api.enums.v1*\x9a\x03\n" + + "\x12BatchOperationType\x12$\n" + + " BATCH_OPERATION_TYPE_UNSPECIFIED\x10\x00\x12\"\n" + + "\x1eBATCH_OPERATION_TYPE_TERMINATE\x10\x01\x12\x1f\n" + + "\x1bBATCH_OPERATION_TYPE_CANCEL\x10\x02\x12\x1f\n" + + "\x1bBATCH_OPERATION_TYPE_SIGNAL\x10\x03\x12\x1f\n" + + "\x1bBATCH_OPERATION_TYPE_DELETE\x10\x04\x12\x1e\n" + + "\x1aBATCH_OPERATION_TYPE_RESET\x10\x05\x121\n" + + "-BATCH_OPERATION_TYPE_UPDATE_EXECUTION_OPTIONS\x10\x06\x12)\n" + + "%BATCH_OPERATION_TYPE_UNPAUSE_ACTIVITY\x10\a\x120\n" + + ",BATCH_OPERATION_TYPE_UPDATE_ACTIVITY_OPTIONS\x10\b\x12'\n" + + "#BATCH_OPERATION_TYPE_RESET_ACTIVITY\x10\t*\xa6\x01\n" + + "\x13BatchOperationState\x12%\n" + + "!BATCH_OPERATION_STATE_UNSPECIFIED\x10\x00\x12!\n" + + "\x1dBATCH_OPERATION_STATE_RUNNING\x10\x01\x12#\n" + + "\x1fBATCH_OPERATION_STATE_COMPLETED\x10\x02\x12 \n" + + "\x1cBATCH_OPERATION_STATE_FAILED\x10\x03B\x8b\x01\n" + + "\x18io.temporal.api.enums.v1B\x13BatchOperationProtoP\x01Z!go.temporal.io/api/enums/v1;enums\xaa\x02\x17Temporalio.Api.Enums.V1\xea\x02\x1aTemporalio::Api::Enums::V1b\x06proto3" + +var ( + file_temporal_api_enums_v1_batch_operation_proto_rawDescOnce sync.Once + file_temporal_api_enums_v1_batch_operation_proto_rawDescData []byte +) + +func file_temporal_api_enums_v1_batch_operation_proto_rawDescGZIP() []byte { + file_temporal_api_enums_v1_batch_operation_proto_rawDescOnce.Do(func() { + file_temporal_api_enums_v1_batch_operation_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_batch_operation_proto_rawDesc), len(file_temporal_api_enums_v1_batch_operation_proto_rawDesc))) + }) + return file_temporal_api_enums_v1_batch_operation_proto_rawDescData +} + +var file_temporal_api_enums_v1_batch_operation_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_temporal_api_enums_v1_batch_operation_proto_goTypes = []any{ + (BatchOperationType)(0), // 0: temporal.api.enums.v1.BatchOperationType + (BatchOperationState)(0), // 1: temporal.api.enums.v1.BatchOperationState +} +var file_temporal_api_enums_v1_batch_operation_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_enums_v1_batch_operation_proto_init() } +func file_temporal_api_enums_v1_batch_operation_proto_init() { + if File_temporal_api_enums_v1_batch_operation_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_batch_operation_proto_rawDesc), len(file_temporal_api_enums_v1_batch_operation_proto_rawDesc)), + NumEnums: 2, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_enums_v1_batch_operation_proto_goTypes, + DependencyIndexes: file_temporal_api_enums_v1_batch_operation_proto_depIdxs, + EnumInfos: file_temporal_api_enums_v1_batch_operation_proto_enumTypes, + }.Build() + File_temporal_api_enums_v1_batch_operation_proto = out.File + file_temporal_api_enums_v1_batch_operation_proto_goTypes = nil + file_temporal_api_enums_v1_batch_operation_proto_depIdxs = nil +} diff --git a/api_next/enums/v1/command_type.go-helpers.pb.go b/api_next/enums/v1/command_type.go-helpers.pb.go new file mode 100644 index 00000000..ae2303b6 --- /dev/null +++ b/api_next/enums/v1/command_type.go-helpers.pb.go @@ -0,0 +1,40 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package enums + +import ( + "fmt" +) + +var ( + CommandType_shorthandValue = map[string]int32{ + "Unspecified": 0, + "ScheduleActivityTask": 1, + "RequestCancelActivityTask": 2, + "StartTimer": 3, + "CompleteWorkflowExecution": 4, + "FailWorkflowExecution": 5, + "CancelTimer": 6, + "CancelWorkflowExecution": 7, + "RequestCancelExternalWorkflowExecution": 8, + "RecordMarker": 9, + "ContinueAsNewWorkflowExecution": 10, + "StartChildWorkflowExecution": 11, + "SignalExternalWorkflowExecution": 12, + "UpsertWorkflowSearchAttributes": 13, + "ProtocolMessage": 14, + "ModifyWorkflowProperties": 16, + "ScheduleNexusOperation": 17, + "RequestCancelNexusOperation": 18, + } +) + +// CommandTypeFromString parses a CommandType value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to CommandType +func CommandTypeFromString(s string) (CommandType, error) { + if v, ok := CommandType_value[s]; ok { + return CommandType(v), nil + } else if v, ok := CommandType_shorthandValue[s]; ok { + return CommandType(v), nil + } + return CommandType(0), fmt.Errorf("%s is not a valid CommandType", s) +} diff --git a/api_next/enums/v1/command_type.pb.go b/api_next/enums/v1/command_type.pb.go new file mode 100644 index 00000000..96481b69 --- /dev/null +++ b/api_next/enums/v1/command_type.pb.go @@ -0,0 +1,192 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/enums/v1/command_type.proto + +package enums + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Whenever this list of command types is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering. +type CommandType int32 + +const ( + COMMAND_TYPE_UNSPECIFIED CommandType = 0 + COMMAND_TYPE_SCHEDULE_ACTIVITY_TASK CommandType = 1 + COMMAND_TYPE_REQUEST_CANCEL_ACTIVITY_TASK CommandType = 2 + COMMAND_TYPE_START_TIMER CommandType = 3 + COMMAND_TYPE_COMPLETE_WORKFLOW_EXECUTION CommandType = 4 + COMMAND_TYPE_FAIL_WORKFLOW_EXECUTION CommandType = 5 + COMMAND_TYPE_CANCEL_TIMER CommandType = 6 + COMMAND_TYPE_CANCEL_WORKFLOW_EXECUTION CommandType = 7 + COMMAND_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION CommandType = 8 + COMMAND_TYPE_RECORD_MARKER CommandType = 9 + COMMAND_TYPE_CONTINUE_AS_NEW_WORKFLOW_EXECUTION CommandType = 10 + COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION CommandType = 11 + COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION CommandType = 12 + COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES CommandType = 13 + COMMAND_TYPE_PROTOCOL_MESSAGE CommandType = 14 + COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES CommandType = 16 + COMMAND_TYPE_SCHEDULE_NEXUS_OPERATION CommandType = 17 + COMMAND_TYPE_REQUEST_CANCEL_NEXUS_OPERATION CommandType = 18 +) + +// Enum value maps for CommandType. +var ( + CommandType_name = map[int32]string{ + 0: "COMMAND_TYPE_UNSPECIFIED", + 1: "COMMAND_TYPE_SCHEDULE_ACTIVITY_TASK", + 2: "COMMAND_TYPE_REQUEST_CANCEL_ACTIVITY_TASK", + 3: "COMMAND_TYPE_START_TIMER", + 4: "COMMAND_TYPE_COMPLETE_WORKFLOW_EXECUTION", + 5: "COMMAND_TYPE_FAIL_WORKFLOW_EXECUTION", + 6: "COMMAND_TYPE_CANCEL_TIMER", + 7: "COMMAND_TYPE_CANCEL_WORKFLOW_EXECUTION", + 8: "COMMAND_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION", + 9: "COMMAND_TYPE_RECORD_MARKER", + 10: "COMMAND_TYPE_CONTINUE_AS_NEW_WORKFLOW_EXECUTION", + 11: "COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION", + 12: "COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION", + 13: "COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES", + 14: "COMMAND_TYPE_PROTOCOL_MESSAGE", + 16: "COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES", + 17: "COMMAND_TYPE_SCHEDULE_NEXUS_OPERATION", + 18: "COMMAND_TYPE_REQUEST_CANCEL_NEXUS_OPERATION", + } + CommandType_value = map[string]int32{ + "COMMAND_TYPE_UNSPECIFIED": 0, + "COMMAND_TYPE_SCHEDULE_ACTIVITY_TASK": 1, + "COMMAND_TYPE_REQUEST_CANCEL_ACTIVITY_TASK": 2, + "COMMAND_TYPE_START_TIMER": 3, + "COMMAND_TYPE_COMPLETE_WORKFLOW_EXECUTION": 4, + "COMMAND_TYPE_FAIL_WORKFLOW_EXECUTION": 5, + "COMMAND_TYPE_CANCEL_TIMER": 6, + "COMMAND_TYPE_CANCEL_WORKFLOW_EXECUTION": 7, + "COMMAND_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION": 8, + "COMMAND_TYPE_RECORD_MARKER": 9, + "COMMAND_TYPE_CONTINUE_AS_NEW_WORKFLOW_EXECUTION": 10, + "COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION": 11, + "COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION": 12, + "COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES": 13, + "COMMAND_TYPE_PROTOCOL_MESSAGE": 14, + "COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES": 16, + "COMMAND_TYPE_SCHEDULE_NEXUS_OPERATION": 17, + "COMMAND_TYPE_REQUEST_CANCEL_NEXUS_OPERATION": 18, + } +) + +func (x CommandType) Enum() *CommandType { + p := new(CommandType) + *p = x + return p +} + +func (x CommandType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CommandType) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_command_type_proto_enumTypes[0].Descriptor() +} + +func (CommandType) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_command_type_proto_enumTypes[0] +} + +func (x CommandType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CommandType.Descriptor instead. +func (CommandType) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_command_type_proto_rawDescGZIP(), []int{0} +} + +var File_temporal_api_enums_v1_command_type_proto protoreflect.FileDescriptor + +const file_temporal_api_enums_v1_command_type_proto_rawDesc = "" + + "\n" + + "(temporal/api/enums/v1/command_type.proto\x12\x15temporal.api.enums.v1*\x9c\x06\n" + + "\vCommandType\x12\x1c\n" + + "\x18COMMAND_TYPE_UNSPECIFIED\x10\x00\x12'\n" + + "#COMMAND_TYPE_SCHEDULE_ACTIVITY_TASK\x10\x01\x12-\n" + + ")COMMAND_TYPE_REQUEST_CANCEL_ACTIVITY_TASK\x10\x02\x12\x1c\n" + + "\x18COMMAND_TYPE_START_TIMER\x10\x03\x12,\n" + + "(COMMAND_TYPE_COMPLETE_WORKFLOW_EXECUTION\x10\x04\x12(\n" + + "$COMMAND_TYPE_FAIL_WORKFLOW_EXECUTION\x10\x05\x12\x1d\n" + + "\x19COMMAND_TYPE_CANCEL_TIMER\x10\x06\x12*\n" + + "&COMMAND_TYPE_CANCEL_WORKFLOW_EXECUTION\x10\a\x12;\n" + + "7COMMAND_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION\x10\b\x12\x1e\n" + + "\x1aCOMMAND_TYPE_RECORD_MARKER\x10\t\x123\n" + + "/COMMAND_TYPE_CONTINUE_AS_NEW_WORKFLOW_EXECUTION\x10\n" + + "\x12/\n" + + "+COMMAND_TYPE_START_CHILD_WORKFLOW_EXECUTION\x10\v\x123\n" + + "/COMMAND_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION\x10\f\x122\n" + + ".COMMAND_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES\x10\r\x12!\n" + + "\x1dCOMMAND_TYPE_PROTOCOL_MESSAGE\x10\x0e\x12+\n" + + "'COMMAND_TYPE_MODIFY_WORKFLOW_PROPERTIES\x10\x10\x12)\n" + + "%COMMAND_TYPE_SCHEDULE_NEXUS_OPERATION\x10\x11\x12/\n" + + "+COMMAND_TYPE_REQUEST_CANCEL_NEXUS_OPERATION\x10\x12B\x88\x01\n" + + "\x18io.temporal.api.enums.v1B\x10CommandTypeProtoP\x01Z!go.temporal.io/api/enums/v1;enums\xaa\x02\x17Temporalio.Api.Enums.V1\xea\x02\x1aTemporalio::Api::Enums::V1b\x06proto3" + +var ( + file_temporal_api_enums_v1_command_type_proto_rawDescOnce sync.Once + file_temporal_api_enums_v1_command_type_proto_rawDescData []byte +) + +func file_temporal_api_enums_v1_command_type_proto_rawDescGZIP() []byte { + file_temporal_api_enums_v1_command_type_proto_rawDescOnce.Do(func() { + file_temporal_api_enums_v1_command_type_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_command_type_proto_rawDesc), len(file_temporal_api_enums_v1_command_type_proto_rawDesc))) + }) + return file_temporal_api_enums_v1_command_type_proto_rawDescData +} + +var file_temporal_api_enums_v1_command_type_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_temporal_api_enums_v1_command_type_proto_goTypes = []any{ + (CommandType)(0), // 0: temporal.api.enums.v1.CommandType +} +var file_temporal_api_enums_v1_command_type_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_enums_v1_command_type_proto_init() } +func file_temporal_api_enums_v1_command_type_proto_init() { + if File_temporal_api_enums_v1_command_type_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_command_type_proto_rawDesc), len(file_temporal_api_enums_v1_command_type_proto_rawDesc)), + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_enums_v1_command_type_proto_goTypes, + DependencyIndexes: file_temporal_api_enums_v1_command_type_proto_depIdxs, + EnumInfos: file_temporal_api_enums_v1_command_type_proto_enumTypes, + }.Build() + File_temporal_api_enums_v1_command_type_proto = out.File + file_temporal_api_enums_v1_command_type_proto_goTypes = nil + file_temporal_api_enums_v1_command_type_proto_depIdxs = nil +} diff --git a/api_next/enums/v1/common.go-helpers.pb.go b/api_next/enums/v1/common.go-helpers.pb.go new file mode 100644 index 00000000..2fe5b513 --- /dev/null +++ b/api_next/enums/v1/common.go-helpers.pb.go @@ -0,0 +1,193 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package enums + +import ( + "fmt" +) + +var ( + EncodingType_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Proto3": 1, + "Json": 2, + } +) + +// EncodingTypeFromString parses a EncodingType value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to EncodingType +func EncodingTypeFromString(s string) (EncodingType, error) { + if v, ok := EncodingType_value[s]; ok { + return EncodingType(v), nil + } else if v, ok := EncodingType_shorthandValue[s]; ok { + return EncodingType(v), nil + } + return EncodingType(0), fmt.Errorf("%s is not a valid EncodingType", s) +} + +var ( + IndexedValueType_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Text": 1, + "Keyword": 2, + "Int": 3, + "Double": 4, + "Bool": 5, + "Datetime": 6, + "KeywordList": 7, + } +) + +// IndexedValueTypeFromString parses a IndexedValueType value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to IndexedValueType +func IndexedValueTypeFromString(s string) (IndexedValueType, error) { + if v, ok := IndexedValueType_value[s]; ok { + return IndexedValueType(v), nil + } else if v, ok := IndexedValueType_shorthandValue[s]; ok { + return IndexedValueType(v), nil + } + return IndexedValueType(0), fmt.Errorf("%s is not a valid IndexedValueType", s) +} + +var ( + Severity_shorthandValue = map[string]int32{ + "Unspecified": 0, + "High": 1, + "Medium": 2, + "Low": 3, + } +) + +// SeverityFromString parses a Severity value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to Severity +func SeverityFromString(s string) (Severity, error) { + if v, ok := Severity_value[s]; ok { + return Severity(v), nil + } else if v, ok := Severity_shorthandValue[s]; ok { + return Severity(v), nil + } + return Severity(0), fmt.Errorf("%s is not a valid Severity", s) +} + +var ( + CallbackState_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Standby": 1, + "Scheduled": 2, + "BackingOff": 3, + "Failed": 4, + "Succeeded": 5, + "Blocked": 6, + } +) + +// CallbackStateFromString parses a CallbackState value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to CallbackState +func CallbackStateFromString(s string) (CallbackState, error) { + if v, ok := CallbackState_value[s]; ok { + return CallbackState(v), nil + } else if v, ok := CallbackState_shorthandValue[s]; ok { + return CallbackState(v), nil + } + return CallbackState(0), fmt.Errorf("%s is not a valid CallbackState", s) +} + +var ( + PendingNexusOperationState_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Scheduled": 1, + "BackingOff": 2, + "Started": 3, + "Blocked": 4, + } +) + +// PendingNexusOperationStateFromString parses a PendingNexusOperationState value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to PendingNexusOperationState +func PendingNexusOperationStateFromString(s string) (PendingNexusOperationState, error) { + if v, ok := PendingNexusOperationState_value[s]; ok { + return PendingNexusOperationState(v), nil + } else if v, ok := PendingNexusOperationState_shorthandValue[s]; ok { + return PendingNexusOperationState(v), nil + } + return PendingNexusOperationState(0), fmt.Errorf("%s is not a valid PendingNexusOperationState", s) +} + +var ( + NexusOperationCancellationState_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Scheduled": 1, + "BackingOff": 2, + "Succeeded": 3, + "Failed": 4, + "TimedOut": 5, + "Blocked": 6, + } +) + +// NexusOperationCancellationStateFromString parses a NexusOperationCancellationState value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to NexusOperationCancellationState +func NexusOperationCancellationStateFromString(s string) (NexusOperationCancellationState, error) { + if v, ok := NexusOperationCancellationState_value[s]; ok { + return NexusOperationCancellationState(v), nil + } else if v, ok := NexusOperationCancellationState_shorthandValue[s]; ok { + return NexusOperationCancellationState(v), nil + } + return NexusOperationCancellationState(0), fmt.Errorf("%s is not a valid NexusOperationCancellationState", s) +} + +var ( + WorkflowRuleActionScope_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Workflow": 1, + "Activity": 2, + } +) + +// WorkflowRuleActionScopeFromString parses a WorkflowRuleActionScope value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to WorkflowRuleActionScope +func WorkflowRuleActionScopeFromString(s string) (WorkflowRuleActionScope, error) { + if v, ok := WorkflowRuleActionScope_value[s]; ok { + return WorkflowRuleActionScope(v), nil + } else if v, ok := WorkflowRuleActionScope_shorthandValue[s]; ok { + return WorkflowRuleActionScope(v), nil + } + return WorkflowRuleActionScope(0), fmt.Errorf("%s is not a valid WorkflowRuleActionScope", s) +} + +var ( + ApplicationErrorCategory_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Benign": 1, + } +) + +// ApplicationErrorCategoryFromString parses a ApplicationErrorCategory value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to ApplicationErrorCategory +func ApplicationErrorCategoryFromString(s string) (ApplicationErrorCategory, error) { + if v, ok := ApplicationErrorCategory_value[s]; ok { + return ApplicationErrorCategory(v), nil + } else if v, ok := ApplicationErrorCategory_shorthandValue[s]; ok { + return ApplicationErrorCategory(v), nil + } + return ApplicationErrorCategory(0), fmt.Errorf("%s is not a valid ApplicationErrorCategory", s) +} + +var ( + WorkerStatus_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Running": 1, + "ShuttingDown": 2, + "Shutdown": 3, + } +) + +// WorkerStatusFromString parses a WorkerStatus value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to WorkerStatus +func WorkerStatusFromString(s string) (WorkerStatus, error) { + if v, ok := WorkerStatus_value[s]; ok { + return WorkerStatus(v), nil + } else if v, ok := WorkerStatus_shorthandValue[s]; ok { + return WorkerStatus(v), nil + } + return WorkerStatus(0), fmt.Errorf("%s is not a valid WorkerStatus", s) +} diff --git a/api_next/enums/v1/common.pb.go b/api_next/enums/v1/common.pb.go new file mode 100644 index 00000000..ffce8e00 --- /dev/null +++ b/api_next/enums/v1/common.pb.go @@ -0,0 +1,655 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/enums/v1/common.proto + +package enums + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type EncodingType int32 + +const ( + ENCODING_TYPE_UNSPECIFIED EncodingType = 0 + ENCODING_TYPE_PROTO3 EncodingType = 1 + ENCODING_TYPE_JSON EncodingType = 2 +) + +// Enum value maps for EncodingType. +var ( + EncodingType_name = map[int32]string{ + 0: "ENCODING_TYPE_UNSPECIFIED", + 1: "ENCODING_TYPE_PROTO3", + 2: "ENCODING_TYPE_JSON", + } + EncodingType_value = map[string]int32{ + "ENCODING_TYPE_UNSPECIFIED": 0, + "ENCODING_TYPE_PROTO3": 1, + "ENCODING_TYPE_JSON": 2, + } +) + +func (x EncodingType) Enum() *EncodingType { + p := new(EncodingType) + *p = x + return p +} + +func (x EncodingType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EncodingType) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_common_proto_enumTypes[0].Descriptor() +} + +func (EncodingType) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_common_proto_enumTypes[0] +} + +func (x EncodingType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EncodingType.Descriptor instead. +func (EncodingType) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_common_proto_rawDescGZIP(), []int{0} +} + +type IndexedValueType int32 + +const ( + INDEXED_VALUE_TYPE_UNSPECIFIED IndexedValueType = 0 + INDEXED_VALUE_TYPE_TEXT IndexedValueType = 1 + INDEXED_VALUE_TYPE_KEYWORD IndexedValueType = 2 + INDEXED_VALUE_TYPE_INT IndexedValueType = 3 + INDEXED_VALUE_TYPE_DOUBLE IndexedValueType = 4 + INDEXED_VALUE_TYPE_BOOL IndexedValueType = 5 + INDEXED_VALUE_TYPE_DATETIME IndexedValueType = 6 + INDEXED_VALUE_TYPE_KEYWORD_LIST IndexedValueType = 7 +) + +// Enum value maps for IndexedValueType. +var ( + IndexedValueType_name = map[int32]string{ + 0: "INDEXED_VALUE_TYPE_UNSPECIFIED", + 1: "INDEXED_VALUE_TYPE_TEXT", + 2: "INDEXED_VALUE_TYPE_KEYWORD", + 3: "INDEXED_VALUE_TYPE_INT", + 4: "INDEXED_VALUE_TYPE_DOUBLE", + 5: "INDEXED_VALUE_TYPE_BOOL", + 6: "INDEXED_VALUE_TYPE_DATETIME", + 7: "INDEXED_VALUE_TYPE_KEYWORD_LIST", + } + IndexedValueType_value = map[string]int32{ + "INDEXED_VALUE_TYPE_UNSPECIFIED": 0, + "INDEXED_VALUE_TYPE_TEXT": 1, + "INDEXED_VALUE_TYPE_KEYWORD": 2, + "INDEXED_VALUE_TYPE_INT": 3, + "INDEXED_VALUE_TYPE_DOUBLE": 4, + "INDEXED_VALUE_TYPE_BOOL": 5, + "INDEXED_VALUE_TYPE_DATETIME": 6, + "INDEXED_VALUE_TYPE_KEYWORD_LIST": 7, + } +) + +func (x IndexedValueType) Enum() *IndexedValueType { + p := new(IndexedValueType) + *p = x + return p +} + +func (x IndexedValueType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (IndexedValueType) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_common_proto_enumTypes[1].Descriptor() +} + +func (IndexedValueType) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_common_proto_enumTypes[1] +} + +func (x IndexedValueType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use IndexedValueType.Descriptor instead. +func (IndexedValueType) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_common_proto_rawDescGZIP(), []int{1} +} + +type Severity int32 + +const ( + SEVERITY_UNSPECIFIED Severity = 0 + SEVERITY_HIGH Severity = 1 + SEVERITY_MEDIUM Severity = 2 + SEVERITY_LOW Severity = 3 +) + +// Enum value maps for Severity. +var ( + Severity_name = map[int32]string{ + 0: "SEVERITY_UNSPECIFIED", + 1: "SEVERITY_HIGH", + 2: "SEVERITY_MEDIUM", + 3: "SEVERITY_LOW", + } + Severity_value = map[string]int32{ + "SEVERITY_UNSPECIFIED": 0, + "SEVERITY_HIGH": 1, + "SEVERITY_MEDIUM": 2, + "SEVERITY_LOW": 3, + } +) + +func (x Severity) Enum() *Severity { + p := new(Severity) + *p = x + return p +} + +func (x Severity) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Severity) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_common_proto_enumTypes[2].Descriptor() +} + +func (Severity) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_common_proto_enumTypes[2] +} + +func (x Severity) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Severity.Descriptor instead. +func (Severity) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_common_proto_rawDescGZIP(), []int{2} +} + +// State of a callback. +type CallbackState int32 + +const ( + // Default value, unspecified state. + CALLBACK_STATE_UNSPECIFIED CallbackState = 0 + // Callback is standing by, waiting to be triggered. + CALLBACK_STATE_STANDBY CallbackState = 1 + // Callback is in the queue waiting to be executed or is currently executing. + CALLBACK_STATE_SCHEDULED CallbackState = 2 + // Callback has failed with a retryable error and is backing off before the next attempt. + CALLBACK_STATE_BACKING_OFF CallbackState = 3 + // Callback has failed. + CALLBACK_STATE_FAILED CallbackState = 4 + // Callback has succeeded. + CALLBACK_STATE_SUCCEEDED CallbackState = 5 + // Callback is blocked (eg: by circuit breaker). + CALLBACK_STATE_BLOCKED CallbackState = 6 +) + +// Enum value maps for CallbackState. +var ( + CallbackState_name = map[int32]string{ + 0: "CALLBACK_STATE_UNSPECIFIED", + 1: "CALLBACK_STATE_STANDBY", + 2: "CALLBACK_STATE_SCHEDULED", + 3: "CALLBACK_STATE_BACKING_OFF", + 4: "CALLBACK_STATE_FAILED", + 5: "CALLBACK_STATE_SUCCEEDED", + 6: "CALLBACK_STATE_BLOCKED", + } + CallbackState_value = map[string]int32{ + "CALLBACK_STATE_UNSPECIFIED": 0, + "CALLBACK_STATE_STANDBY": 1, + "CALLBACK_STATE_SCHEDULED": 2, + "CALLBACK_STATE_BACKING_OFF": 3, + "CALLBACK_STATE_FAILED": 4, + "CALLBACK_STATE_SUCCEEDED": 5, + "CALLBACK_STATE_BLOCKED": 6, + } +) + +func (x CallbackState) Enum() *CallbackState { + p := new(CallbackState) + *p = x + return p +} + +func (x CallbackState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (CallbackState) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_common_proto_enumTypes[3].Descriptor() +} + +func (CallbackState) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_common_proto_enumTypes[3] +} + +func (x CallbackState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use CallbackState.Descriptor instead. +func (CallbackState) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_common_proto_rawDescGZIP(), []int{3} +} + +// State of a pending Nexus operation. +type PendingNexusOperationState int32 + +const ( + // Default value, unspecified state. + PENDING_NEXUS_OPERATION_STATE_UNSPECIFIED PendingNexusOperationState = 0 + // Operation is in the queue waiting to be executed or is currently executing. + PENDING_NEXUS_OPERATION_STATE_SCHEDULED PendingNexusOperationState = 1 + // Operation has failed with a retryable error and is backing off before the next attempt. + PENDING_NEXUS_OPERATION_STATE_BACKING_OFF PendingNexusOperationState = 2 + // Operation was started and will complete asynchronously. + PENDING_NEXUS_OPERATION_STATE_STARTED PendingNexusOperationState = 3 + // Operation is blocked (eg: by circuit breaker). + PENDING_NEXUS_OPERATION_STATE_BLOCKED PendingNexusOperationState = 4 +) + +// Enum value maps for PendingNexusOperationState. +var ( + PendingNexusOperationState_name = map[int32]string{ + 0: "PENDING_NEXUS_OPERATION_STATE_UNSPECIFIED", + 1: "PENDING_NEXUS_OPERATION_STATE_SCHEDULED", + 2: "PENDING_NEXUS_OPERATION_STATE_BACKING_OFF", + 3: "PENDING_NEXUS_OPERATION_STATE_STARTED", + 4: "PENDING_NEXUS_OPERATION_STATE_BLOCKED", + } + PendingNexusOperationState_value = map[string]int32{ + "PENDING_NEXUS_OPERATION_STATE_UNSPECIFIED": 0, + "PENDING_NEXUS_OPERATION_STATE_SCHEDULED": 1, + "PENDING_NEXUS_OPERATION_STATE_BACKING_OFF": 2, + "PENDING_NEXUS_OPERATION_STATE_STARTED": 3, + "PENDING_NEXUS_OPERATION_STATE_BLOCKED": 4, + } +) + +func (x PendingNexusOperationState) Enum() *PendingNexusOperationState { + p := new(PendingNexusOperationState) + *p = x + return p +} + +func (x PendingNexusOperationState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (PendingNexusOperationState) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_common_proto_enumTypes[4].Descriptor() +} + +func (PendingNexusOperationState) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_common_proto_enumTypes[4] +} + +func (x PendingNexusOperationState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use PendingNexusOperationState.Descriptor instead. +func (PendingNexusOperationState) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_common_proto_rawDescGZIP(), []int{4} +} + +// State of a Nexus operation cancellation. +type NexusOperationCancellationState int32 + +const ( + // Default value, unspecified state. + NEXUS_OPERATION_CANCELLATION_STATE_UNSPECIFIED NexusOperationCancellationState = 0 + // Cancellation request is in the queue waiting to be executed or is currently executing. + NEXUS_OPERATION_CANCELLATION_STATE_SCHEDULED NexusOperationCancellationState = 1 + // Cancellation request has failed with a retryable error and is backing off before the next attempt. + NEXUS_OPERATION_CANCELLATION_STATE_BACKING_OFF NexusOperationCancellationState = 2 + // Cancellation request succeeded. + NEXUS_OPERATION_CANCELLATION_STATE_SUCCEEDED NexusOperationCancellationState = 3 + // Cancellation request failed with a non-retryable error. + NEXUS_OPERATION_CANCELLATION_STATE_FAILED NexusOperationCancellationState = 4 + // The associated operation timed out - exceeded the user supplied schedule-to-close timeout. + NEXUS_OPERATION_CANCELLATION_STATE_TIMED_OUT NexusOperationCancellationState = 5 + // Cancellation request is blocked (eg: by circuit breaker). + NEXUS_OPERATION_CANCELLATION_STATE_BLOCKED NexusOperationCancellationState = 6 +) + +// Enum value maps for NexusOperationCancellationState. +var ( + NexusOperationCancellationState_name = map[int32]string{ + 0: "NEXUS_OPERATION_CANCELLATION_STATE_UNSPECIFIED", + 1: "NEXUS_OPERATION_CANCELLATION_STATE_SCHEDULED", + 2: "NEXUS_OPERATION_CANCELLATION_STATE_BACKING_OFF", + 3: "NEXUS_OPERATION_CANCELLATION_STATE_SUCCEEDED", + 4: "NEXUS_OPERATION_CANCELLATION_STATE_FAILED", + 5: "NEXUS_OPERATION_CANCELLATION_STATE_TIMED_OUT", + 6: "NEXUS_OPERATION_CANCELLATION_STATE_BLOCKED", + } + NexusOperationCancellationState_value = map[string]int32{ + "NEXUS_OPERATION_CANCELLATION_STATE_UNSPECIFIED": 0, + "NEXUS_OPERATION_CANCELLATION_STATE_SCHEDULED": 1, + "NEXUS_OPERATION_CANCELLATION_STATE_BACKING_OFF": 2, + "NEXUS_OPERATION_CANCELLATION_STATE_SUCCEEDED": 3, + "NEXUS_OPERATION_CANCELLATION_STATE_FAILED": 4, + "NEXUS_OPERATION_CANCELLATION_STATE_TIMED_OUT": 5, + "NEXUS_OPERATION_CANCELLATION_STATE_BLOCKED": 6, + } +) + +func (x NexusOperationCancellationState) Enum() *NexusOperationCancellationState { + p := new(NexusOperationCancellationState) + *p = x + return p +} + +func (x NexusOperationCancellationState) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (NexusOperationCancellationState) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_common_proto_enumTypes[5].Descriptor() +} + +func (NexusOperationCancellationState) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_common_proto_enumTypes[5] +} + +func (x NexusOperationCancellationState) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use NexusOperationCancellationState.Descriptor instead. +func (NexusOperationCancellationState) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_common_proto_rawDescGZIP(), []int{5} +} + +type WorkflowRuleActionScope int32 + +const ( + // Default value, unspecified scope. + WORKFLOW_RULE_ACTION_SCOPE_UNSPECIFIED WorkflowRuleActionScope = 0 + // The action will be applied to the entire workflow. + WORKFLOW_RULE_ACTION_SCOPE_WORKFLOW WorkflowRuleActionScope = 1 + // The action will be applied to a specific activity. + WORKFLOW_RULE_ACTION_SCOPE_ACTIVITY WorkflowRuleActionScope = 2 +) + +// Enum value maps for WorkflowRuleActionScope. +var ( + WorkflowRuleActionScope_name = map[int32]string{ + 0: "WORKFLOW_RULE_ACTION_SCOPE_UNSPECIFIED", + 1: "WORKFLOW_RULE_ACTION_SCOPE_WORKFLOW", + 2: "WORKFLOW_RULE_ACTION_SCOPE_ACTIVITY", + } + WorkflowRuleActionScope_value = map[string]int32{ + "WORKFLOW_RULE_ACTION_SCOPE_UNSPECIFIED": 0, + "WORKFLOW_RULE_ACTION_SCOPE_WORKFLOW": 1, + "WORKFLOW_RULE_ACTION_SCOPE_ACTIVITY": 2, + } +) + +func (x WorkflowRuleActionScope) Enum() *WorkflowRuleActionScope { + p := new(WorkflowRuleActionScope) + *p = x + return p +} + +func (x WorkflowRuleActionScope) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkflowRuleActionScope) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_common_proto_enumTypes[6].Descriptor() +} + +func (WorkflowRuleActionScope) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_common_proto_enumTypes[6] +} + +func (x WorkflowRuleActionScope) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkflowRuleActionScope.Descriptor instead. +func (WorkflowRuleActionScope) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_common_proto_rawDescGZIP(), []int{6} +} + +type ApplicationErrorCategory int32 + +const ( + APPLICATION_ERROR_CATEGORY_UNSPECIFIED ApplicationErrorCategory = 0 + // Expected application error with little/no severity. + APPLICATION_ERROR_CATEGORY_BENIGN ApplicationErrorCategory = 1 +) + +// Enum value maps for ApplicationErrorCategory. +var ( + ApplicationErrorCategory_name = map[int32]string{ + 0: "APPLICATION_ERROR_CATEGORY_UNSPECIFIED", + 1: "APPLICATION_ERROR_CATEGORY_BENIGN", + } + ApplicationErrorCategory_value = map[string]int32{ + "APPLICATION_ERROR_CATEGORY_UNSPECIFIED": 0, + "APPLICATION_ERROR_CATEGORY_BENIGN": 1, + } +) + +func (x ApplicationErrorCategory) Enum() *ApplicationErrorCategory { + p := new(ApplicationErrorCategory) + *p = x + return p +} + +func (x ApplicationErrorCategory) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ApplicationErrorCategory) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_common_proto_enumTypes[7].Descriptor() +} + +func (ApplicationErrorCategory) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_common_proto_enumTypes[7] +} + +func (x ApplicationErrorCategory) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ApplicationErrorCategory.Descriptor instead. +func (ApplicationErrorCategory) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_common_proto_rawDescGZIP(), []int{7} +} + +// (-- api-linter: core::0216::synonyms=disabled +// +// aip.dev/not-precedent: It seems we have both state and status, and status is a better fit for workers. --) +type WorkerStatus int32 + +const ( + WORKER_STATUS_UNSPECIFIED WorkerStatus = 0 + WORKER_STATUS_RUNNING WorkerStatus = 1 + WORKER_STATUS_SHUTTING_DOWN WorkerStatus = 2 + WORKER_STATUS_SHUTDOWN WorkerStatus = 3 +) + +// Enum value maps for WorkerStatus. +var ( + WorkerStatus_name = map[int32]string{ + 0: "WORKER_STATUS_UNSPECIFIED", + 1: "WORKER_STATUS_RUNNING", + 2: "WORKER_STATUS_SHUTTING_DOWN", + 3: "WORKER_STATUS_SHUTDOWN", + } + WorkerStatus_value = map[string]int32{ + "WORKER_STATUS_UNSPECIFIED": 0, + "WORKER_STATUS_RUNNING": 1, + "WORKER_STATUS_SHUTTING_DOWN": 2, + "WORKER_STATUS_SHUTDOWN": 3, + } +) + +func (x WorkerStatus) Enum() *WorkerStatus { + p := new(WorkerStatus) + *p = x + return p +} + +func (x WorkerStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkerStatus) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_common_proto_enumTypes[8].Descriptor() +} + +func (WorkerStatus) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_common_proto_enumTypes[8] +} + +func (x WorkerStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkerStatus.Descriptor instead. +func (WorkerStatus) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_common_proto_rawDescGZIP(), []int{8} +} + +var File_temporal_api_enums_v1_common_proto protoreflect.FileDescriptor + +const file_temporal_api_enums_v1_common_proto_rawDesc = "" + + "\n" + + "\"temporal/api/enums/v1/common.proto\x12\x15temporal.api.enums.v1*_\n" + + "\fEncodingType\x12\x1d\n" + + "\x19ENCODING_TYPE_UNSPECIFIED\x10\x00\x12\x18\n" + + "\x14ENCODING_TYPE_PROTO3\x10\x01\x12\x16\n" + + "\x12ENCODING_TYPE_JSON\x10\x02*\x91\x02\n" + + "\x10IndexedValueType\x12\"\n" + + "\x1eINDEXED_VALUE_TYPE_UNSPECIFIED\x10\x00\x12\x1b\n" + + "\x17INDEXED_VALUE_TYPE_TEXT\x10\x01\x12\x1e\n" + + "\x1aINDEXED_VALUE_TYPE_KEYWORD\x10\x02\x12\x1a\n" + + "\x16INDEXED_VALUE_TYPE_INT\x10\x03\x12\x1d\n" + + "\x19INDEXED_VALUE_TYPE_DOUBLE\x10\x04\x12\x1b\n" + + "\x17INDEXED_VALUE_TYPE_BOOL\x10\x05\x12\x1f\n" + + "\x1bINDEXED_VALUE_TYPE_DATETIME\x10\x06\x12#\n" + + "\x1fINDEXED_VALUE_TYPE_KEYWORD_LIST\x10\a*^\n" + + "\bSeverity\x12\x18\n" + + "\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x11\n" + + "\rSEVERITY_HIGH\x10\x01\x12\x13\n" + + "\x0fSEVERITY_MEDIUM\x10\x02\x12\x10\n" + + "\fSEVERITY_LOW\x10\x03*\xde\x01\n" + + "\rCallbackState\x12\x1e\n" + + "\x1aCALLBACK_STATE_UNSPECIFIED\x10\x00\x12\x1a\n" + + "\x16CALLBACK_STATE_STANDBY\x10\x01\x12\x1c\n" + + "\x18CALLBACK_STATE_SCHEDULED\x10\x02\x12\x1e\n" + + "\x1aCALLBACK_STATE_BACKING_OFF\x10\x03\x12\x19\n" + + "\x15CALLBACK_STATE_FAILED\x10\x04\x12\x1c\n" + + "\x18CALLBACK_STATE_SUCCEEDED\x10\x05\x12\x1a\n" + + "\x16CALLBACK_STATE_BLOCKED\x10\x06*\xfd\x01\n" + + "\x1aPendingNexusOperationState\x12-\n" + + ")PENDING_NEXUS_OPERATION_STATE_UNSPECIFIED\x10\x00\x12+\n" + + "'PENDING_NEXUS_OPERATION_STATE_SCHEDULED\x10\x01\x12-\n" + + ")PENDING_NEXUS_OPERATION_STATE_BACKING_OFF\x10\x02\x12)\n" + + "%PENDING_NEXUS_OPERATION_STATE_STARTED\x10\x03\x12)\n" + + "%PENDING_NEXUS_OPERATION_STATE_BLOCKED\x10\x04*\xfe\x02\n" + + "\x1fNexusOperationCancellationState\x122\n" + + ".NEXUS_OPERATION_CANCELLATION_STATE_UNSPECIFIED\x10\x00\x120\n" + + ",NEXUS_OPERATION_CANCELLATION_STATE_SCHEDULED\x10\x01\x122\n" + + ".NEXUS_OPERATION_CANCELLATION_STATE_BACKING_OFF\x10\x02\x120\n" + + ",NEXUS_OPERATION_CANCELLATION_STATE_SUCCEEDED\x10\x03\x12-\n" + + ")NEXUS_OPERATION_CANCELLATION_STATE_FAILED\x10\x04\x120\n" + + ",NEXUS_OPERATION_CANCELLATION_STATE_TIMED_OUT\x10\x05\x12.\n" + + "*NEXUS_OPERATION_CANCELLATION_STATE_BLOCKED\x10\x06*\x97\x01\n" + + "\x17WorkflowRuleActionScope\x12*\n" + + "&WORKFLOW_RULE_ACTION_SCOPE_UNSPECIFIED\x10\x00\x12'\n" + + "#WORKFLOW_RULE_ACTION_SCOPE_WORKFLOW\x10\x01\x12'\n" + + "#WORKFLOW_RULE_ACTION_SCOPE_ACTIVITY\x10\x02*m\n" + + "\x18ApplicationErrorCategory\x12*\n" + + "&APPLICATION_ERROR_CATEGORY_UNSPECIFIED\x10\x00\x12%\n" + + "!APPLICATION_ERROR_CATEGORY_BENIGN\x10\x01*\x85\x01\n" + + "\fWorkerStatus\x12\x1d\n" + + "\x19WORKER_STATUS_UNSPECIFIED\x10\x00\x12\x19\n" + + "\x15WORKER_STATUS_RUNNING\x10\x01\x12\x1f\n" + + "\x1bWORKER_STATUS_SHUTTING_DOWN\x10\x02\x12\x1a\n" + + "\x16WORKER_STATUS_SHUTDOWN\x10\x03B\x83\x01\n" + + "\x18io.temporal.api.enums.v1B\vCommonProtoP\x01Z!go.temporal.io/api/enums/v1;enums\xaa\x02\x17Temporalio.Api.Enums.V1\xea\x02\x1aTemporalio::Api::Enums::V1b\x06proto3" + +var ( + file_temporal_api_enums_v1_common_proto_rawDescOnce sync.Once + file_temporal_api_enums_v1_common_proto_rawDescData []byte +) + +func file_temporal_api_enums_v1_common_proto_rawDescGZIP() []byte { + file_temporal_api_enums_v1_common_proto_rawDescOnce.Do(func() { + file_temporal_api_enums_v1_common_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_common_proto_rawDesc), len(file_temporal_api_enums_v1_common_proto_rawDesc))) + }) + return file_temporal_api_enums_v1_common_proto_rawDescData +} + +var file_temporal_api_enums_v1_common_proto_enumTypes = make([]protoimpl.EnumInfo, 9) +var file_temporal_api_enums_v1_common_proto_goTypes = []any{ + (EncodingType)(0), // 0: temporal.api.enums.v1.EncodingType + (IndexedValueType)(0), // 1: temporal.api.enums.v1.IndexedValueType + (Severity)(0), // 2: temporal.api.enums.v1.Severity + (CallbackState)(0), // 3: temporal.api.enums.v1.CallbackState + (PendingNexusOperationState)(0), // 4: temporal.api.enums.v1.PendingNexusOperationState + (NexusOperationCancellationState)(0), // 5: temporal.api.enums.v1.NexusOperationCancellationState + (WorkflowRuleActionScope)(0), // 6: temporal.api.enums.v1.WorkflowRuleActionScope + (ApplicationErrorCategory)(0), // 7: temporal.api.enums.v1.ApplicationErrorCategory + (WorkerStatus)(0), // 8: temporal.api.enums.v1.WorkerStatus +} +var file_temporal_api_enums_v1_common_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_enums_v1_common_proto_init() } +func file_temporal_api_enums_v1_common_proto_init() { + if File_temporal_api_enums_v1_common_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_common_proto_rawDesc), len(file_temporal_api_enums_v1_common_proto_rawDesc)), + NumEnums: 9, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_enums_v1_common_proto_goTypes, + DependencyIndexes: file_temporal_api_enums_v1_common_proto_depIdxs, + EnumInfos: file_temporal_api_enums_v1_common_proto_enumTypes, + }.Build() + File_temporal_api_enums_v1_common_proto = out.File + file_temporal_api_enums_v1_common_proto_goTypes = nil + file_temporal_api_enums_v1_common_proto_depIdxs = nil +} diff --git a/api_next/enums/v1/deployment.go-helpers.pb.go b/api_next/enums/v1/deployment.go-helpers.pb.go new file mode 100644 index 00000000..133c985b --- /dev/null +++ b/api_next/enums/v1/deployment.go-helpers.pb.go @@ -0,0 +1,87 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package enums + +import ( + "fmt" +) + +var ( + DeploymentReachability_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Reachable": 1, + "ClosedWorkflowsOnly": 2, + "Unreachable": 3, + } +) + +// DeploymentReachabilityFromString parses a DeploymentReachability value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to DeploymentReachability +func DeploymentReachabilityFromString(s string) (DeploymentReachability, error) { + if v, ok := DeploymentReachability_value[s]; ok { + return DeploymentReachability(v), nil + } else if v, ok := DeploymentReachability_shorthandValue[s]; ok { + return DeploymentReachability(v), nil + } + return DeploymentReachability(0), fmt.Errorf("%s is not a valid DeploymentReachability", s) +} + +var ( + VersionDrainageStatus_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Draining": 1, + "Drained": 2, + } +) + +// VersionDrainageStatusFromString parses a VersionDrainageStatus value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to VersionDrainageStatus +func VersionDrainageStatusFromString(s string) (VersionDrainageStatus, error) { + if v, ok := VersionDrainageStatus_value[s]; ok { + return VersionDrainageStatus(v), nil + } else if v, ok := VersionDrainageStatus_shorthandValue[s]; ok { + return VersionDrainageStatus(v), nil + } + return VersionDrainageStatus(0), fmt.Errorf("%s is not a valid VersionDrainageStatus", s) +} + +var ( + WorkerVersioningMode_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Unversioned": 1, + "Versioned": 2, + } +) + +// WorkerVersioningModeFromString parses a WorkerVersioningMode value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to WorkerVersioningMode +func WorkerVersioningModeFromString(s string) (WorkerVersioningMode, error) { + if v, ok := WorkerVersioningMode_value[s]; ok { + return WorkerVersioningMode(v), nil + } else if v, ok := WorkerVersioningMode_shorthandValue[s]; ok { + return WorkerVersioningMode(v), nil + } + return WorkerVersioningMode(0), fmt.Errorf("%s is not a valid WorkerVersioningMode", s) +} + +var ( + WorkerDeploymentVersionStatus_shorthandValue = map[string]int32{ + "Unspecified": 0, + "Inactive": 1, + "Current": 2, + "Ramping": 3, + "Draining": 4, + "Drained": 5, + "Created": 6, + } +) + +// WorkerDeploymentVersionStatusFromString parses a WorkerDeploymentVersionStatus value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to WorkerDeploymentVersionStatus +func WorkerDeploymentVersionStatusFromString(s string) (WorkerDeploymentVersionStatus, error) { + if v, ok := WorkerDeploymentVersionStatus_value[s]; ok { + return WorkerDeploymentVersionStatus(v), nil + } else if v, ok := WorkerDeploymentVersionStatus_shorthandValue[s]; ok { + return WorkerDeploymentVersionStatus(v), nil + } + return WorkerDeploymentVersionStatus(0), fmt.Errorf("%s is not a valid WorkerDeploymentVersionStatus", s) +} diff --git a/api_next/enums/v1/deployment.pb.go b/api_next/enums/v1/deployment.pb.go new file mode 100644 index 00000000..a6c348e9 --- /dev/null +++ b/api_next/enums/v1/deployment.pb.go @@ -0,0 +1,377 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/enums/v1/deployment.proto + +package enums + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Specify the reachability level for a deployment so users can decide if it is time to +// decommission the deployment. +type DeploymentReachability int32 + +const ( + // Reachability level is not specified. + DEPLOYMENT_REACHABILITY_UNSPECIFIED DeploymentReachability = 0 + // The deployment is reachable by new and/or open workflows. The deployment cannot be + // decommissioned safely. + DEPLOYMENT_REACHABILITY_REACHABLE DeploymentReachability = 1 + // The deployment is not reachable by new or open workflows, but might be still needed by + // Queries sent to closed workflows. The deployment can be decommissioned safely if user does + // not query closed workflows. + DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY DeploymentReachability = 2 + // The deployment is not reachable by any workflow because all the workflows who needed this + // deployment went out of retention period. The deployment can be decommissioned safely. + DEPLOYMENT_REACHABILITY_UNREACHABLE DeploymentReachability = 3 +) + +// Enum value maps for DeploymentReachability. +var ( + DeploymentReachability_name = map[int32]string{ + 0: "DEPLOYMENT_REACHABILITY_UNSPECIFIED", + 1: "DEPLOYMENT_REACHABILITY_REACHABLE", + 2: "DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY", + 3: "DEPLOYMENT_REACHABILITY_UNREACHABLE", + } + DeploymentReachability_value = map[string]int32{ + "DEPLOYMENT_REACHABILITY_UNSPECIFIED": 0, + "DEPLOYMENT_REACHABILITY_REACHABLE": 1, + "DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY": 2, + "DEPLOYMENT_REACHABILITY_UNREACHABLE": 3, + } +) + +func (x DeploymentReachability) Enum() *DeploymentReachability { + p := new(DeploymentReachability) + *p = x + return p +} + +func (x DeploymentReachability) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (DeploymentReachability) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_deployment_proto_enumTypes[0].Descriptor() +} + +func (DeploymentReachability) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_deployment_proto_enumTypes[0] +} + +func (x DeploymentReachability) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use DeploymentReachability.Descriptor instead. +func (DeploymentReachability) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_deployment_proto_rawDescGZIP(), []int{0} +} + +// (-- api-linter: core::0216::synonyms=disabled +// +// aip.dev/not-precedent: Call this status because it is . --) +// +// Specify the drainage status for a Worker Deployment Version so users can decide whether they +// can safely decommission the version. +type VersionDrainageStatus int32 + +const ( + // Drainage Status is not specified. + VERSION_DRAINAGE_STATUS_UNSPECIFIED VersionDrainageStatus = 0 + // The Worker Deployment Version is not used by new workflows but is still used by + // open pinned workflows. The version cannot be decommissioned safely. + VERSION_DRAINAGE_STATUS_DRAINING VersionDrainageStatus = 1 + // The Worker Deployment Version is not used by new or open workflows, but might be still needed by + // Queries sent to closed workflows. The version can be decommissioned safely if user does + // not query closed workflows. If the user does query closed workflows for some time x after + // workflows are closed, they should decommission the version after it has been drained for that duration. + VERSION_DRAINAGE_STATUS_DRAINED VersionDrainageStatus = 2 +) + +// Enum value maps for VersionDrainageStatus. +var ( + VersionDrainageStatus_name = map[int32]string{ + 0: "VERSION_DRAINAGE_STATUS_UNSPECIFIED", + 1: "VERSION_DRAINAGE_STATUS_DRAINING", + 2: "VERSION_DRAINAGE_STATUS_DRAINED", + } + VersionDrainageStatus_value = map[string]int32{ + "VERSION_DRAINAGE_STATUS_UNSPECIFIED": 0, + "VERSION_DRAINAGE_STATUS_DRAINING": 1, + "VERSION_DRAINAGE_STATUS_DRAINED": 2, + } +) + +func (x VersionDrainageStatus) Enum() *VersionDrainageStatus { + p := new(VersionDrainageStatus) + *p = x + return p +} + +func (x VersionDrainageStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VersionDrainageStatus) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_deployment_proto_enumTypes[1].Descriptor() +} + +func (VersionDrainageStatus) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_deployment_proto_enumTypes[1] +} + +func (x VersionDrainageStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VersionDrainageStatus.Descriptor instead. +func (VersionDrainageStatus) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_deployment_proto_rawDescGZIP(), []int{1} +} + +// Versioning Mode of a worker is set by the app developer in the worker code, and specifies the +// behavior of the system in the following related aspects: +// - Whether or not Temporal Server considers this worker's version (Build ID) when dispatching +// tasks to it. +// - Whether or not the workflows processed by this worker are versioned using the worker's version. +type WorkerVersioningMode int32 + +const ( + WORKER_VERSIONING_MODE_UNSPECIFIED WorkerVersioningMode = 0 + // Workers with this mode are not distinguished from each other for task routing, even if they + // have different Build IDs. + // Workflows processed by this worker will be unversioned and user needs to use Patching to keep + // the new code compatible with prior versions. + // This mode is recommended to be used along with Rolling Upgrade deployment strategies. + // Workers with this mode are represented by the special string `__unversioned__` in the APIs. + WORKER_VERSIONING_MODE_UNVERSIONED WorkerVersioningMode = 1 + // Workers with this mode are part of a Worker Deployment Version which is identified as + // ".". Such workers are called "versioned" as opposed to + // "unversioned". + // Each Deployment Version is distinguished from other Versions for task routing and users can + // configure Temporal Server to send tasks to a particular Version (see + // `WorkerDeploymentInfo.routing_config`). This mode is the best option for Blue/Green and + // Rainbow strategies (but typically not suitable for Rolling upgrades.) + // Workflow Versioning Behaviors are enabled in this mode: each workflow type must choose + // between the Pinned and AutoUpgrade behaviors. Depending on the chosen behavior, the user may + // or may not need to use Patching to keep the new code compatible with prior versions. (see + // VersioningBehavior enum.) + WORKER_VERSIONING_MODE_VERSIONED WorkerVersioningMode = 2 +) + +// Enum value maps for WorkerVersioningMode. +var ( + WorkerVersioningMode_name = map[int32]string{ + 0: "WORKER_VERSIONING_MODE_UNSPECIFIED", + 1: "WORKER_VERSIONING_MODE_UNVERSIONED", + 2: "WORKER_VERSIONING_MODE_VERSIONED", + } + WorkerVersioningMode_value = map[string]int32{ + "WORKER_VERSIONING_MODE_UNSPECIFIED": 0, + "WORKER_VERSIONING_MODE_UNVERSIONED": 1, + "WORKER_VERSIONING_MODE_VERSIONED": 2, + } +) + +func (x WorkerVersioningMode) Enum() *WorkerVersioningMode { + p := new(WorkerVersioningMode) + *p = x + return p +} + +func (x WorkerVersioningMode) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkerVersioningMode) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_deployment_proto_enumTypes[2].Descriptor() +} + +func (WorkerVersioningMode) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_deployment_proto_enumTypes[2] +} + +func (x WorkerVersioningMode) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkerVersioningMode.Descriptor instead. +func (WorkerVersioningMode) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_deployment_proto_rawDescGZIP(), []int{2} +} + +// (-- api-linter: core::0216::synonyms=disabled +// +// aip.dev/not-precedent: Call this status because it is . --) +// +// Specify the status of a Worker Deployment Version. +type WorkerDeploymentVersionStatus int32 + +const ( + WORKER_DEPLOYMENT_VERSION_STATUS_UNSPECIFIED WorkerDeploymentVersionStatus = 0 + // The Worker Deployment Version has been created inside the Worker Deployment but is not used by any + // workflow executions. These Versions can still have workflows if they have an explicit Versioning Override targeting + // this Version. Such Versioning Override could be set at workflow start time, or at a later time via `UpdateWorkflowExecutionOptions`. + WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE WorkerDeploymentVersionStatus = 1 + // The Worker Deployment Version is the current version of the Worker Deployment. All new workflow executions + // and tasks of existing unversioned or AutoUpgrade workflows are routed to this version. + WORKER_DEPLOYMENT_VERSION_STATUS_CURRENT WorkerDeploymentVersionStatus = 2 + // The Worker Deployment Version is the ramping version of the Worker Deployment. A subset of new Pinned workflow executions are + // routed to this version. Moreover, a portion of existing unversioned or AutoUpgrade workflow executions are also routed to this version. + WORKER_DEPLOYMENT_VERSION_STATUS_RAMPING WorkerDeploymentVersionStatus = 3 + // The Worker Deployment Version is not used by new workflows but is still used by + // open pinned workflows. The version cannot be decommissioned safely. + WORKER_DEPLOYMENT_VERSION_STATUS_DRAINING WorkerDeploymentVersionStatus = 4 + // The Worker Deployment Version is not used by new or open workflows, but might be still needed by + // Queries sent to closed workflows. The version can be decommissioned safely if user does + // not query closed workflows. If the user does query closed workflows for some time x after + // workflows are closed, they should decommission the version after it has been drained for that duration. + WORKER_DEPLOYMENT_VERSION_STATUS_DRAINED WorkerDeploymentVersionStatus = 5 + // The Worker Deployment Version is created by user (via `CreateWorkerDeploymentVersion` API) + // but server has not seen any poller for it yet. + WORKER_DEPLOYMENT_VERSION_STATUS_CREATED WorkerDeploymentVersionStatus = 6 +) + +// Enum value maps for WorkerDeploymentVersionStatus. +var ( + WorkerDeploymentVersionStatus_name = map[int32]string{ + 0: "WORKER_DEPLOYMENT_VERSION_STATUS_UNSPECIFIED", + 1: "WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE", + 2: "WORKER_DEPLOYMENT_VERSION_STATUS_CURRENT", + 3: "WORKER_DEPLOYMENT_VERSION_STATUS_RAMPING", + 4: "WORKER_DEPLOYMENT_VERSION_STATUS_DRAINING", + 5: "WORKER_DEPLOYMENT_VERSION_STATUS_DRAINED", + 6: "WORKER_DEPLOYMENT_VERSION_STATUS_CREATED", + } + WorkerDeploymentVersionStatus_value = map[string]int32{ + "WORKER_DEPLOYMENT_VERSION_STATUS_UNSPECIFIED": 0, + "WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE": 1, + "WORKER_DEPLOYMENT_VERSION_STATUS_CURRENT": 2, + "WORKER_DEPLOYMENT_VERSION_STATUS_RAMPING": 3, + "WORKER_DEPLOYMENT_VERSION_STATUS_DRAINING": 4, + "WORKER_DEPLOYMENT_VERSION_STATUS_DRAINED": 5, + "WORKER_DEPLOYMENT_VERSION_STATUS_CREATED": 6, + } +) + +func (x WorkerDeploymentVersionStatus) Enum() *WorkerDeploymentVersionStatus { + p := new(WorkerDeploymentVersionStatus) + *p = x + return p +} + +func (x WorkerDeploymentVersionStatus) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (WorkerDeploymentVersionStatus) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_deployment_proto_enumTypes[3].Descriptor() +} + +func (WorkerDeploymentVersionStatus) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_deployment_proto_enumTypes[3] +} + +func (x WorkerDeploymentVersionStatus) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use WorkerDeploymentVersionStatus.Descriptor instead. +func (WorkerDeploymentVersionStatus) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_deployment_proto_rawDescGZIP(), []int{3} +} + +var File_temporal_api_enums_v1_deployment_proto protoreflect.FileDescriptor + +const file_temporal_api_enums_v1_deployment_proto_rawDesc = "" + + "\n" + + "&temporal/api/enums/v1/deployment.proto\x12\x15temporal.api.enums.v1*\xc4\x01\n" + + "\x16DeploymentReachability\x12'\n" + + "#DEPLOYMENT_REACHABILITY_UNSPECIFIED\x10\x00\x12%\n" + + "!DEPLOYMENT_REACHABILITY_REACHABLE\x10\x01\x121\n" + + "-DEPLOYMENT_REACHABILITY_CLOSED_WORKFLOWS_ONLY\x10\x02\x12'\n" + + "#DEPLOYMENT_REACHABILITY_UNREACHABLE\x10\x03*\x8b\x01\n" + + "\x15VersionDrainageStatus\x12'\n" + + "#VERSION_DRAINAGE_STATUS_UNSPECIFIED\x10\x00\x12$\n" + + " VERSION_DRAINAGE_STATUS_DRAINING\x10\x01\x12#\n" + + "\x1fVERSION_DRAINAGE_STATUS_DRAINED\x10\x02*\x8c\x01\n" + + "\x14WorkerVersioningMode\x12&\n" + + "\"WORKER_VERSIONING_MODE_UNSPECIFIED\x10\x00\x12&\n" + + "\"WORKER_VERSIONING_MODE_UNVERSIONED\x10\x01\x12$\n" + + " WORKER_VERSIONING_MODE_VERSIONED\x10\x02*\xe7\x02\n" + + "\x1dWorkerDeploymentVersionStatus\x120\n" + + ",WORKER_DEPLOYMENT_VERSION_STATUS_UNSPECIFIED\x10\x00\x12-\n" + + ")WORKER_DEPLOYMENT_VERSION_STATUS_INACTIVE\x10\x01\x12,\n" + + "(WORKER_DEPLOYMENT_VERSION_STATUS_CURRENT\x10\x02\x12,\n" + + "(WORKER_DEPLOYMENT_VERSION_STATUS_RAMPING\x10\x03\x12-\n" + + ")WORKER_DEPLOYMENT_VERSION_STATUS_DRAINING\x10\x04\x12,\n" + + "(WORKER_DEPLOYMENT_VERSION_STATUS_DRAINED\x10\x05\x12,\n" + + "(WORKER_DEPLOYMENT_VERSION_STATUS_CREATED\x10\x06B\x87\x01\n" + + "\x18io.temporal.api.enums.v1B\x0fDeploymentProtoP\x01Z!go.temporal.io/api/enums/v1;enums\xaa\x02\x17Temporalio.Api.Enums.V1\xea\x02\x1aTemporalio::Api::Enums::V1b\x06proto3" + +var ( + file_temporal_api_enums_v1_deployment_proto_rawDescOnce sync.Once + file_temporal_api_enums_v1_deployment_proto_rawDescData []byte +) + +func file_temporal_api_enums_v1_deployment_proto_rawDescGZIP() []byte { + file_temporal_api_enums_v1_deployment_proto_rawDescOnce.Do(func() { + file_temporal_api_enums_v1_deployment_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_deployment_proto_rawDesc), len(file_temporal_api_enums_v1_deployment_proto_rawDesc))) + }) + return file_temporal_api_enums_v1_deployment_proto_rawDescData +} + +var file_temporal_api_enums_v1_deployment_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_temporal_api_enums_v1_deployment_proto_goTypes = []any{ + (DeploymentReachability)(0), // 0: temporal.api.enums.v1.DeploymentReachability + (VersionDrainageStatus)(0), // 1: temporal.api.enums.v1.VersionDrainageStatus + (WorkerVersioningMode)(0), // 2: temporal.api.enums.v1.WorkerVersioningMode + (WorkerDeploymentVersionStatus)(0), // 3: temporal.api.enums.v1.WorkerDeploymentVersionStatus +} +var file_temporal_api_enums_v1_deployment_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_enums_v1_deployment_proto_init() } +func file_temporal_api_enums_v1_deployment_proto_init() { + if File_temporal_api_enums_v1_deployment_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_enums_v1_deployment_proto_rawDesc), len(file_temporal_api_enums_v1_deployment_proto_rawDesc)), + NumEnums: 4, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_enums_v1_deployment_proto_goTypes, + DependencyIndexes: file_temporal_api_enums_v1_deployment_proto_depIdxs, + EnumInfos: file_temporal_api_enums_v1_deployment_proto_enumTypes, + }.Build() + File_temporal_api_enums_v1_deployment_proto = out.File + file_temporal_api_enums_v1_deployment_proto_goTypes = nil + file_temporal_api_enums_v1_deployment_proto_depIdxs = nil +} diff --git a/api_next/enums/v1/event_type.go-helpers.pb.go b/api_next/enums/v1/event_type.go-helpers.pb.go new file mode 100644 index 00000000..c751442d --- /dev/null +++ b/api_next/enums/v1/event_type.go-helpers.pb.go @@ -0,0 +1,83 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package enums + +import ( + "fmt" +) + +var ( + EventType_shorthandValue = map[string]int32{ + "Unspecified": 0, + "WorkflowExecutionStarted": 1, + "WorkflowExecutionCompleted": 2, + "WorkflowExecutionFailed": 3, + "WorkflowExecutionTimedOut": 4, + "WorkflowTaskScheduled": 5, + "WorkflowTaskStarted": 6, + "WorkflowTaskCompleted": 7, + "WorkflowTaskTimedOut": 8, + "WorkflowTaskFailed": 9, + "ActivityTaskScheduled": 10, + "ActivityTaskStarted": 11, + "ActivityTaskCompleted": 12, + "ActivityTaskFailed": 13, + "ActivityTaskTimedOut": 14, + "ActivityTaskCancelRequested": 15, + "ActivityTaskCanceled": 16, + "TimerStarted": 17, + "TimerFired": 18, + "TimerCanceled": 19, + "WorkflowExecutionCancelRequested": 20, + "WorkflowExecutionCanceled": 21, + "RequestCancelExternalWorkflowExecutionInitiated": 22, + "RequestCancelExternalWorkflowExecutionFailed": 23, + "ExternalWorkflowExecutionCancelRequested": 24, + "MarkerRecorded": 25, + "WorkflowExecutionSignaled": 26, + "WorkflowExecutionTerminated": 27, + "WorkflowExecutionContinuedAsNew": 28, + "StartChildWorkflowExecutionInitiated": 29, + "StartChildWorkflowExecutionFailed": 30, + "ChildWorkflowExecutionStarted": 31, + "ChildWorkflowExecutionCompleted": 32, + "ChildWorkflowExecutionFailed": 33, + "ChildWorkflowExecutionCanceled": 34, + "ChildWorkflowExecutionTimedOut": 35, + "ChildWorkflowExecutionTerminated": 36, + "SignalExternalWorkflowExecutionInitiated": 37, + "SignalExternalWorkflowExecutionFailed": 38, + "ExternalWorkflowExecutionSignaled": 39, + "UpsertWorkflowSearchAttributes": 40, + "WorkflowExecutionUpdateAdmitted": 47, + "WorkflowExecutionUpdateAccepted": 41, + "WorkflowExecutionUpdateRejected": 42, + "WorkflowExecutionUpdateCompleted": 43, + "WorkflowPropertiesModifiedExternally": 44, + "ActivityPropertiesModifiedExternally": 45, + "WorkflowPropertiesModified": 46, + "NexusOperationScheduled": 48, + "NexusOperationStarted": 49, + "NexusOperationCompleted": 50, + "NexusOperationFailed": 51, + "NexusOperationCanceled": 52, + "NexusOperationTimedOut": 53, + "NexusOperationCancelRequested": 54, + "WorkflowExecutionOptionsUpdated": 55, + "NexusOperationCancelRequestCompleted": 56, + "NexusOperationCancelRequestFailed": 57, + "WorkflowExecutionPaused": 58, + "WorkflowExecutionUnpaused": 59, + "WorkflowExecutionTimeSkippingTransitioned": 60, + } +) + +// EventTypeFromString parses a EventType value from either the protojson +// canonical SCREAMING_CASE enum or the traditional temporal PascalCase enum to EventType +func EventTypeFromString(s string) (EventType, error) { + if v, ok := EventType_value[s]; ok { + return EventType(v), nil + } else if v, ok := EventType_shorthandValue[s]; ok { + return EventType(v), nil + } + return EventType(0), fmt.Errorf("%s is not a valid EventType", s) +} diff --git a/api_next/enums/v1/event_type.pb.go b/api_next/enums/v1/event_type.pb.go new file mode 100644 index 00000000..e5ab7dec --- /dev/null +++ b/api_next/enums/v1/event_type.pb.go @@ -0,0 +1,467 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/enums/v1/event_type.proto + +package enums + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Whenever this list of events is changed do change the function shouldBufferEvent in mutableStateBuilder.go to make sure to do the correct event ordering +type EventType int32 + +const ( + // Place holder and should never appear in a Workflow execution history + EVENT_TYPE_UNSPECIFIED EventType = 0 + // Workflow execution has been triggered/started + // It contains Workflow execution inputs, as well as Workflow timeout configurations + EVENT_TYPE_WORKFLOW_EXECUTION_STARTED EventType = 1 + // Workflow execution has successfully completed and contains Workflow execution results + EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED EventType = 2 + // Workflow execution has unsuccessfully completed and contains the Workflow execution error + EVENT_TYPE_WORKFLOW_EXECUTION_FAILED EventType = 3 + // Workflow execution has timed out by the Temporal Server + // Usually due to the Workflow having not been completed within timeout settings + EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT EventType = 4 + // Workflow Task has been scheduled and the SDK client should now be able to process any new history events + EVENT_TYPE_WORKFLOW_TASK_SCHEDULED EventType = 5 + // Workflow Task has started and the SDK client has picked up the Workflow Task and is processing new history events + EVENT_TYPE_WORKFLOW_TASK_STARTED EventType = 6 + // Workflow Task has completed + // The SDK client picked up the Workflow Task and processed new history events + // SDK client may or may not ask the Temporal Server to do additional work, such as: + // EVENT_TYPE_ACTIVITY_TASK_SCHEDULED + // EVENT_TYPE_TIMER_STARTED + // EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES + // EVENT_TYPE_MARKER_RECORDED + // EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED + // EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED + // EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED + // EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED + // EVENT_TYPE_WORKFLOW_EXECUTION_FAILED + // EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED + // EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW + EVENT_TYPE_WORKFLOW_TASK_COMPLETED EventType = 7 + // Workflow Task encountered a timeout + // Either an SDK client with a local cache was not available at the time, or it took too long for the SDK client to process the task + EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT EventType = 8 + // Workflow Task encountered a failure + // Usually this means that the Workflow was non-deterministic + // However, the Workflow reset functionality also uses this event + EVENT_TYPE_WORKFLOW_TASK_FAILED EventType = 9 + // Activity Task was scheduled + // The SDK client should pick up this activity task and execute + // This event type contains activity inputs, as well as activity timeout configurations + EVENT_TYPE_ACTIVITY_TASK_SCHEDULED EventType = 10 + // Activity Task has started executing + // The SDK client has picked up the Activity Task and is processing the Activity invocation + EVENT_TYPE_ACTIVITY_TASK_STARTED EventType = 11 + // Activity Task has finished successfully + // The SDK client has picked up and successfully completed the Activity Task + // This event type contains Activity execution results + EVENT_TYPE_ACTIVITY_TASK_COMPLETED EventType = 12 + // Activity Task has finished unsuccessfully + // The SDK picked up the Activity Task but unsuccessfully completed it + // This event type contains Activity execution errors + EVENT_TYPE_ACTIVITY_TASK_FAILED EventType = 13 + // Activity has timed out according to the Temporal Server + // Activity did not complete within the timeout settings + EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT EventType = 14 + // A request to cancel the Activity has occurred + // The SDK client will be able to confirm cancellation of an Activity during an Activity heartbeat + EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED EventType = 15 + // Activity has been cancelled + EVENT_TYPE_ACTIVITY_TASK_CANCELED EventType = 16 + // A timer has started + EVENT_TYPE_TIMER_STARTED EventType = 17 + // A timer has fired + EVENT_TYPE_TIMER_FIRED EventType = 18 + // A time has been cancelled + EVENT_TYPE_TIMER_CANCELED EventType = 19 + // A request has been made to cancel the Workflow execution + EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED EventType = 20 + // SDK client has confirmed the cancellation request and the Workflow execution has been cancelled + EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED EventType = 21 + // Workflow has requested that the Temporal Server try to cancel another Workflow + EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED EventType = 22 + // Temporal Server could not cancel the targeted Workflow + // This is usually because the target Workflow could not be found + EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED EventType = 23 + // Temporal Server has successfully requested the cancellation of the target Workflow + EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED EventType = 24 + // A marker has been recorded. + // This event type is transparent to the Temporal Server + // The Server will only store it and will not try to understand it. + EVENT_TYPE_MARKER_RECORDED EventType = 25 + // Workflow has received a Signal event + // The event type contains the Signal name, as well as a Signal payload + EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED EventType = 26 + // Workflow execution has been forcefully terminated + // This is usually because the terminate Workflow API was called + EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED EventType = 27 + // Workflow has successfully completed and a new Workflow has been started within the same transaction + // Contains last Workflow execution results as well as new Workflow execution inputs + EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW EventType = 28 + // Temporal Server will try to start a child Workflow + EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED EventType = 29 + // Child Workflow execution cannot be started/triggered + // Usually due to a child Workflow ID collision + EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED EventType = 30 + // Child Workflow execution has successfully started/triggered + EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED EventType = 31 + // Child Workflow execution has successfully completed + EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED EventType = 32 + // Child Workflow execution has unsuccessfully completed + EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED EventType = 33 + // Child Workflow execution has been cancelled + EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED EventType = 34 + // Child Workflow execution has timed out by the Temporal Server + EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT EventType = 35 + // Child Workflow execution has been terminated + EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED EventType = 36 + // Temporal Server will try to Signal the targeted Workflow + // Contains the Signal name, as well as a Signal payload + EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED EventType = 37 + // Temporal Server cannot Signal the targeted Workflow + // Usually because the Workflow could not be found + EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED EventType = 38 + // Temporal Server has successfully Signaled the targeted Workflow + EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED EventType = 39 + // Workflow search attributes should be updated and synchronized with the visibility store + EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES EventType = 40 + // An update was admitted. Note that not all admitted updates result in this + // event. See UpdateAdmittedEventOrigin for situations in which this event + // is created. + EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED EventType = 47 + // An update was accepted (i.e. passed validation, perhaps because no validator was defined) + EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED EventType = 41 + // This event is never written to history. + EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED EventType = 42 + // An update completed + EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED EventType = 43 + // Some property or properties of the workflow as a whole have changed by non-workflow code. + // The distinction of external vs. command-based modification is important so the SDK can + // maintain determinism when using the command-based approach. + EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY EventType = 44 + // Some property or properties of an already-scheduled activity have changed by non-workflow code. + // The distinction of external vs. command-based modification is important so the SDK can + // maintain determinism when using the command-based approach. + EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY EventType = 45 + // Workflow properties modified by user workflow code + EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED EventType = 46 + // A Nexus operation was scheduled using a ScheduleNexusOperation command. + EVENT_TYPE_NEXUS_OPERATION_SCHEDULED EventType = 48 + // An asynchronous Nexus operation was started by a Nexus handler. + EVENT_TYPE_NEXUS_OPERATION_STARTED EventType = 49 + // A Nexus operation completed successfully. + EVENT_TYPE_NEXUS_OPERATION_COMPLETED EventType = 50 + // A Nexus operation failed. + EVENT_TYPE_NEXUS_OPERATION_FAILED EventType = 51 + // A Nexus operation completed as canceled. + EVENT_TYPE_NEXUS_OPERATION_CANCELED EventType = 52 + // A Nexus operation timed out. + EVENT_TYPE_NEXUS_OPERATION_TIMED_OUT EventType = 53 + // A Nexus operation was requested to be canceled using a RequestCancelNexusOperation command. + EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUESTED EventType = 54 + // Workflow execution options updated by user. + EVENT_TYPE_WORKFLOW_EXECUTION_OPTIONS_UPDATED EventType = 55 + // A cancellation request for a Nexus operation was successfully delivered to the Nexus handler. + EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_COMPLETED EventType = 56 + // A cancellation request for a Nexus operation resulted in an error. + EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_FAILED EventType = 57 + // An event that indicates that the workflow execution has been paused. + EVENT_TYPE_WORKFLOW_EXECUTION_PAUSED EventType = 58 + // An event that indicates that the previously paused workflow execution has been unpaused. + EVENT_TYPE_WORKFLOW_EXECUTION_UNPAUSED EventType = 59 + // An event that indicates time skipping advanced time or was disabled automatically after a bound was reached. + EVENT_TYPE_WORKFLOW_EXECUTION_TIME_SKIPPING_TRANSITIONED EventType = 60 +) + +// Enum value maps for EventType. +var ( + EventType_name = map[int32]string{ + 0: "EVENT_TYPE_UNSPECIFIED", + 1: "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED", + 2: "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED", + 3: "EVENT_TYPE_WORKFLOW_EXECUTION_FAILED", + 4: "EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT", + 5: "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED", + 6: "EVENT_TYPE_WORKFLOW_TASK_STARTED", + 7: "EVENT_TYPE_WORKFLOW_TASK_COMPLETED", + 8: "EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT", + 9: "EVENT_TYPE_WORKFLOW_TASK_FAILED", + 10: "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED", + 11: "EVENT_TYPE_ACTIVITY_TASK_STARTED", + 12: "EVENT_TYPE_ACTIVITY_TASK_COMPLETED", + 13: "EVENT_TYPE_ACTIVITY_TASK_FAILED", + 14: "EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT", + 15: "EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED", + 16: "EVENT_TYPE_ACTIVITY_TASK_CANCELED", + 17: "EVENT_TYPE_TIMER_STARTED", + 18: "EVENT_TYPE_TIMER_FIRED", + 19: "EVENT_TYPE_TIMER_CANCELED", + 20: "EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED", + 21: "EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED", + 22: "EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED", + 23: "EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED", + 24: "EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED", + 25: "EVENT_TYPE_MARKER_RECORDED", + 26: "EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED", + 27: "EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED", + 28: "EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW", + 29: "EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED", + 30: "EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED", + 31: "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED", + 32: "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED", + 33: "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED", + 34: "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED", + 35: "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT", + 36: "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED", + 37: "EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED", + 38: "EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED", + 39: "EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED", + 40: "EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES", + 47: "EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED", + 41: "EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED", + 42: "EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED", + 43: "EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED", + 44: "EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY", + 45: "EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY", + 46: "EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED", + 48: "EVENT_TYPE_NEXUS_OPERATION_SCHEDULED", + 49: "EVENT_TYPE_NEXUS_OPERATION_STARTED", + 50: "EVENT_TYPE_NEXUS_OPERATION_COMPLETED", + 51: "EVENT_TYPE_NEXUS_OPERATION_FAILED", + 52: "EVENT_TYPE_NEXUS_OPERATION_CANCELED", + 53: "EVENT_TYPE_NEXUS_OPERATION_TIMED_OUT", + 54: "EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUESTED", + 55: "EVENT_TYPE_WORKFLOW_EXECUTION_OPTIONS_UPDATED", + 56: "EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_COMPLETED", + 57: "EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_FAILED", + 58: "EVENT_TYPE_WORKFLOW_EXECUTION_PAUSED", + 59: "EVENT_TYPE_WORKFLOW_EXECUTION_UNPAUSED", + 60: "EVENT_TYPE_WORKFLOW_EXECUTION_TIME_SKIPPING_TRANSITIONED", + } + EventType_value = map[string]int32{ + "EVENT_TYPE_UNSPECIFIED": 0, + "EVENT_TYPE_WORKFLOW_EXECUTION_STARTED": 1, + "EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED": 2, + "EVENT_TYPE_WORKFLOW_EXECUTION_FAILED": 3, + "EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT": 4, + "EVENT_TYPE_WORKFLOW_TASK_SCHEDULED": 5, + "EVENT_TYPE_WORKFLOW_TASK_STARTED": 6, + "EVENT_TYPE_WORKFLOW_TASK_COMPLETED": 7, + "EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT": 8, + "EVENT_TYPE_WORKFLOW_TASK_FAILED": 9, + "EVENT_TYPE_ACTIVITY_TASK_SCHEDULED": 10, + "EVENT_TYPE_ACTIVITY_TASK_STARTED": 11, + "EVENT_TYPE_ACTIVITY_TASK_COMPLETED": 12, + "EVENT_TYPE_ACTIVITY_TASK_FAILED": 13, + "EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT": 14, + "EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED": 15, + "EVENT_TYPE_ACTIVITY_TASK_CANCELED": 16, + "EVENT_TYPE_TIMER_STARTED": 17, + "EVENT_TYPE_TIMER_FIRED": 18, + "EVENT_TYPE_TIMER_CANCELED": 19, + "EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED": 20, + "EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED": 21, + "EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED": 22, + "EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_FAILED": 23, + "EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_CANCEL_REQUESTED": 24, + "EVENT_TYPE_MARKER_RECORDED": 25, + "EVENT_TYPE_WORKFLOW_EXECUTION_SIGNALED": 26, + "EVENT_TYPE_WORKFLOW_EXECUTION_TERMINATED": 27, + "EVENT_TYPE_WORKFLOW_EXECUTION_CONTINUED_AS_NEW": 28, + "EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_INITIATED": 29, + "EVENT_TYPE_START_CHILD_WORKFLOW_EXECUTION_FAILED": 30, + "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_STARTED": 31, + "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_COMPLETED": 32, + "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_FAILED": 33, + "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_CANCELED": 34, + "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TIMED_OUT": 35, + "EVENT_TYPE_CHILD_WORKFLOW_EXECUTION_TERMINATED": 36, + "EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED": 37, + "EVENT_TYPE_SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_FAILED": 38, + "EVENT_TYPE_EXTERNAL_WORKFLOW_EXECUTION_SIGNALED": 39, + "EVENT_TYPE_UPSERT_WORKFLOW_SEARCH_ATTRIBUTES": 40, + "EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ADMITTED": 47, + "EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_ACCEPTED": 41, + "EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_REJECTED": 42, + "EVENT_TYPE_WORKFLOW_EXECUTION_UPDATE_COMPLETED": 43, + "EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED_EXTERNALLY": 44, + "EVENT_TYPE_ACTIVITY_PROPERTIES_MODIFIED_EXTERNALLY": 45, + "EVENT_TYPE_WORKFLOW_PROPERTIES_MODIFIED": 46, + "EVENT_TYPE_NEXUS_OPERATION_SCHEDULED": 48, + "EVENT_TYPE_NEXUS_OPERATION_STARTED": 49, + "EVENT_TYPE_NEXUS_OPERATION_COMPLETED": 50, + "EVENT_TYPE_NEXUS_OPERATION_FAILED": 51, + "EVENT_TYPE_NEXUS_OPERATION_CANCELED": 52, + "EVENT_TYPE_NEXUS_OPERATION_TIMED_OUT": 53, + "EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUESTED": 54, + "EVENT_TYPE_WORKFLOW_EXECUTION_OPTIONS_UPDATED": 55, + "EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_COMPLETED": 56, + "EVENT_TYPE_NEXUS_OPERATION_CANCEL_REQUEST_FAILED": 57, + "EVENT_TYPE_WORKFLOW_EXECUTION_PAUSED": 58, + "EVENT_TYPE_WORKFLOW_EXECUTION_UNPAUSED": 59, + "EVENT_TYPE_WORKFLOW_EXECUTION_TIME_SKIPPING_TRANSITIONED": 60, + } +) + +func (x EventType) Enum() *EventType { + p := new(EventType) + *p = x + return p +} + +func (x EventType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (EventType) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_enums_v1_event_type_proto_enumTypes[0].Descriptor() +} + +func (EventType) Type() protoreflect.EnumType { + return &file_temporal_api_enums_v1_event_type_proto_enumTypes[0] +} + +func (x EventType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use EventType.Descriptor instead. +func (EventType) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_enums_v1_event_type_proto_rawDescGZIP(), []int{0} +} + +var File_temporal_api_enums_v1_event_type_proto protoreflect.FileDescriptor + +const file_temporal_api_enums_v1_event_type_proto_rawDesc = "" + + "\n" + + "&temporal/api/enums/v1/event_type.proto\x12\x15temporal.api.enums.v1*\x9e\x16\n" + + "\tEventType\x12\x1a\n" + + "\x16EVENT_TYPE_UNSPECIFIED\x10\x00\x12)\n" + + "%EVENT_TYPE_WORKFLOW_EXECUTION_STARTED\x10\x01\x12+\n" + + "'EVENT_TYPE_WORKFLOW_EXECUTION_COMPLETED\x10\x02\x12(\n" + + "$EVENT_TYPE_WORKFLOW_EXECUTION_FAILED\x10\x03\x12+\n" + + "'EVENT_TYPE_WORKFLOW_EXECUTION_TIMED_OUT\x10\x04\x12&\n" + + "\"EVENT_TYPE_WORKFLOW_TASK_SCHEDULED\x10\x05\x12$\n" + + " EVENT_TYPE_WORKFLOW_TASK_STARTED\x10\x06\x12&\n" + + "\"EVENT_TYPE_WORKFLOW_TASK_COMPLETED\x10\a\x12&\n" + + "\"EVENT_TYPE_WORKFLOW_TASK_TIMED_OUT\x10\b\x12#\n" + + "\x1fEVENT_TYPE_WORKFLOW_TASK_FAILED\x10\t\x12&\n" + + "\"EVENT_TYPE_ACTIVITY_TASK_SCHEDULED\x10\n" + + "\x12$\n" + + " EVENT_TYPE_ACTIVITY_TASK_STARTED\x10\v\x12&\n" + + "\"EVENT_TYPE_ACTIVITY_TASK_COMPLETED\x10\f\x12#\n" + + "\x1fEVENT_TYPE_ACTIVITY_TASK_FAILED\x10\r\x12&\n" + + "\"EVENT_TYPE_ACTIVITY_TASK_TIMED_OUT\x10\x0e\x12-\n" + + ")EVENT_TYPE_ACTIVITY_TASK_CANCEL_REQUESTED\x10\x0f\x12%\n" + + "!EVENT_TYPE_ACTIVITY_TASK_CANCELED\x10\x10\x12\x1c\n" + + "\x18EVENT_TYPE_TIMER_STARTED\x10\x11\x12\x1a\n" + + "\x16EVENT_TYPE_TIMER_FIRED\x10\x12\x12\x1d\n" + + "\x19EVENT_TYPE_TIMER_CANCELED\x10\x13\x122\n" + + ".EVENT_TYPE_WORKFLOW_EXECUTION_CANCEL_REQUESTED\x10\x14\x12*\n" + + "&EVENT_TYPE_WORKFLOW_EXECUTION_CANCELED\x10\x15\x12C\n" + + "?EVENT_TYPE_REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED\x10\x16\x12@\n" + + " temporal.api.enums.v1.NamespaceState + 20, // 1: temporal.api.errordetails.v1.NamespaceInvalidStateFailure.allowed_states:type_name -> temporal.api.enums.v1.NamespaceState + 21, // 2: temporal.api.errordetails.v1.QueryFailedFailure.failure:type_name -> temporal.api.failure.v1.Failure + 22, // 3: temporal.api.errordetails.v1.ResourceExhaustedFailure.cause:type_name -> temporal.api.enums.v1.ResourceExhaustedCause + 23, // 4: temporal.api.errordetails.v1.ResourceExhaustedFailure.scope:type_name -> temporal.api.enums.v1.ResourceExhaustedScope + 24, // 5: temporal.api.errordetails.v1.SystemWorkflowFailure.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 19, // 6: temporal.api.errordetails.v1.MultiOperationExecutionFailure.statuses:type_name -> temporal.api.errordetails.v1.MultiOperationExecutionFailure.OperationStatus + 25, // 7: temporal.api.errordetails.v1.MultiOperationExecutionFailure.OperationStatus.details:type_name -> google.protobuf.Any + 8, // [8:8] is the sub-list for method output_type + 8, // [8:8] is the sub-list for method input_type + 8, // [8:8] is the sub-list for extension type_name + 8, // [8:8] is the sub-list for extension extendee + 0, // [0:8] is the sub-list for field type_name +} + +func init() { file_temporal_api_errordetails_v1_message_proto_init() } +func file_temporal_api_errordetails_v1_message_proto_init() { + if File_temporal_api_errordetails_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_errordetails_v1_message_proto_rawDesc), len(file_temporal_api_errordetails_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 20, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_errordetails_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_errordetails_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_errordetails_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_errordetails_v1_message_proto = out.File + file_temporal_api_errordetails_v1_message_proto_goTypes = nil + file_temporal_api_errordetails_v1_message_proto_depIdxs = nil +} diff --git a/api_next/experimental.pb.go b/api_next/experimental.pb.go new file mode 100644 index 00000000..f8cd5cf6 --- /dev/null +++ b/api_next/experimental.pb.go @@ -0,0 +1,168 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/experimental.proto + +package experimental + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + reflect "reflect" + unsafe "unsafe" +) + +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) +) + +var file_temporal_api_experimental_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.MessageOptions)(nil), + ExtensionType: (*string)(nil), + Field: 77001, + Name: "temporal.api.experimental_message", + Tag: "bytes,77001,opt,name=experimental_message", + Filename: "temporal/api/experimental.proto", + }, + { + ExtendedType: (*descriptorpb.FieldOptions)(nil), + ExtensionType: (*string)(nil), + Field: 77001, + Name: "temporal.api.experimental_field", + Tag: "bytes,77001,opt,name=experimental_field", + Filename: "temporal/api/experimental.proto", + }, + { + ExtendedType: (*descriptorpb.EnumOptions)(nil), + ExtensionType: (*string)(nil), + Field: 77001, + Name: "temporal.api.experimental_enum", + Tag: "bytes,77001,opt,name=experimental_enum", + Filename: "temporal/api/experimental.proto", + }, + { + ExtendedType: (*descriptorpb.EnumValueOptions)(nil), + ExtensionType: (*string)(nil), + Field: 77001, + Name: "temporal.api.experimental_enum_value", + Tag: "bytes,77001,opt,name=experimental_enum_value", + Filename: "temporal/api/experimental.proto", + }, + { + ExtendedType: (*descriptorpb.ServiceOptions)(nil), + ExtensionType: (*string)(nil), + Field: 77001, + Name: "temporal.api.experimental_service", + Tag: "bytes,77001,opt,name=experimental_service", + Filename: "temporal/api/experimental.proto", + }, + { + ExtendedType: (*descriptorpb.MethodOptions)(nil), + ExtensionType: (*string)(nil), + Field: 77001, + Name: "temporal.api.experimental_method", + Tag: "bytes,77001,opt,name=experimental_method", + Filename: "temporal/api/experimental.proto", + }, +} + +// Extension fields to descriptorpb.MessageOptions. +var ( + // optional string experimental_message = 77001; + E_ExperimentalMessage = &file_temporal_api_experimental_proto_extTypes[0] +) + +// Extension fields to descriptorpb.FieldOptions. +var ( + // optional string experimental_field = 77001; + E_ExperimentalField = &file_temporal_api_experimental_proto_extTypes[1] +) + +// Extension fields to descriptorpb.EnumOptions. +var ( + // optional string experimental_enum = 77001; + E_ExperimentalEnum = &file_temporal_api_experimental_proto_extTypes[2] +) + +// Extension fields to descriptorpb.EnumValueOptions. +var ( + // optional string experimental_enum_value = 77001; + E_ExperimentalEnumValue = &file_temporal_api_experimental_proto_extTypes[3] +) + +// Extension fields to descriptorpb.ServiceOptions. +var ( + // optional string experimental_service = 77001; + E_ExperimentalService = &file_temporal_api_experimental_proto_extTypes[4] +) + +// Extension fields to descriptorpb.MethodOptions. +var ( + // optional string experimental_method = 77001; + E_ExperimentalMethod = &file_temporal_api_experimental_proto_extTypes[5] +) + +var File_temporal_api_experimental_proto protoreflect.FileDescriptor + +const file_temporal_api_experimental_proto_rawDesc = "" + + "\n" + + "\x1ftemporal/api/experimental.proto\x12\ftemporal.api\x1a google/protobuf/descriptor.proto:T\n" + + "\x14experimental_message\x12\x1f.google.protobuf.MessageOptions\x18\xc9\xd9\x04 \x01(\tR\x13experimentalMessage:N\n" + + "\x12experimental_field\x12\x1d.google.protobuf.FieldOptions\x18\xc9\xd9\x04 \x01(\tR\x11experimentalField:K\n" + + "\x11experimental_enum\x12\x1c.google.protobuf.EnumOptions\x18\xc9\xd9\x04 \x01(\tR\x10experimentalEnum:[\n" + + "\x17experimental_enum_value\x12!.google.protobuf.EnumValueOptions\x18\xc9\xd9\x04 \x01(\tR\x15experimentalEnumValue:T\n" + + "\x14experimental_service\x12\x1f.google.protobuf.ServiceOptions\x18\xc9\xd9\x04 \x01(\tR\x13experimentalService:Q\n" + + "\x13experimental_method\x12\x1e.google.protobuf.MethodOptions\x18\xc9\xd9\x04 \x01(\tR\x12experimentalMethodBj\n" + + "\x0fio.temporal.apiB\x11ExperimentalProtoP\x01Z\x1fgo.temporal.io/api;experimental\xaa\x02\x0eTemporalio.Api\xea\x02\x0fTemporalio::Apib\x06proto3" + +var file_temporal_api_experimental_proto_goTypes = []any{ + (*descriptorpb.MessageOptions)(nil), // 0: google.protobuf.MessageOptions + (*descriptorpb.FieldOptions)(nil), // 1: google.protobuf.FieldOptions + (*descriptorpb.EnumOptions)(nil), // 2: google.protobuf.EnumOptions + (*descriptorpb.EnumValueOptions)(nil), // 3: google.protobuf.EnumValueOptions + (*descriptorpb.ServiceOptions)(nil), // 4: google.protobuf.ServiceOptions + (*descriptorpb.MethodOptions)(nil), // 5: google.protobuf.MethodOptions +} +var file_temporal_api_experimental_proto_depIdxs = []int32{ + 0, // 0: temporal.api.experimental_message:extendee -> google.protobuf.MessageOptions + 1, // 1: temporal.api.experimental_field:extendee -> google.protobuf.FieldOptions + 2, // 2: temporal.api.experimental_enum:extendee -> google.protobuf.EnumOptions + 3, // 3: temporal.api.experimental_enum_value:extendee -> google.protobuf.EnumValueOptions + 4, // 4: temporal.api.experimental_service:extendee -> google.protobuf.ServiceOptions + 5, // 5: temporal.api.experimental_method:extendee -> google.protobuf.MethodOptions + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 0, // [0:6] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_experimental_proto_init() } +func file_temporal_api_experimental_proto_init() { + if File_temporal_api_experimental_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_experimental_proto_rawDesc), len(file_temporal_api_experimental_proto_rawDesc)), + NumEnums: 0, + NumMessages: 0, + NumExtensions: 6, + NumServices: 0, + }, + GoTypes: file_temporal_api_experimental_proto_goTypes, + DependencyIndexes: file_temporal_api_experimental_proto_depIdxs, + ExtensionInfos: file_temporal_api_experimental_proto_extTypes, + }.Build() + File_temporal_api_experimental_proto = out.File + file_temporal_api_experimental_proto_goTypes = nil + file_temporal_api_experimental_proto_depIdxs = nil +} diff --git a/api_next/export/v1/message.go-helpers.pb.go b/api_next/export/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..565bafcc --- /dev/null +++ b/api_next/export/v1/message.go-helpers.pb.go @@ -0,0 +1,80 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package export + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkflowExecution to the protobuf v3 wire format +func (val *WorkflowExecution) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecution from the protobuf v3 wire format +func (val *WorkflowExecution) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecution) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecution values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecution) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecution + switch t := that.(type) { + case *WorkflowExecution: + that1 = t + case WorkflowExecution: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutions to the protobuf v3 wire format +func (val *WorkflowExecutions) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutions from the protobuf v3 wire format +func (val *WorkflowExecutions) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutions) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutions values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutions) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutions + switch t := that.(type) { + case *WorkflowExecutions: + that1 = t + case WorkflowExecutions: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/export/v1/message.pb.go b/api_next/export/v1/message.pb.go new file mode 100644 index 00000000..54c1276a --- /dev/null +++ b/api_next/export/v1/message.pb.go @@ -0,0 +1,176 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/export/v1/message.proto + +package export + +import ( + v1 "go.temporal.io/api/history/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type WorkflowExecution struct { + state protoimpl.MessageState `protogen:"open.v1"` + History *v1.History `protobuf:"bytes,1,opt,name=history,proto3" json:"history,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecution) Reset() { + *x = WorkflowExecution{} + mi := &file_temporal_api_export_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecution) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecution) ProtoMessage() {} + +func (x *WorkflowExecution) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_export_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecution.ProtoReflect.Descriptor instead. +func (*WorkflowExecution) Descriptor() ([]byte, []int) { + return file_temporal_api_export_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkflowExecution) GetHistory() *v1.History { + if x != nil { + return x.History + } + return nil +} + +// WorkflowExecutions is used by the Cloud Export feature to deserialize +// the exported file. It encapsulates a collection of workflow execution information. +type WorkflowExecutions struct { + state protoimpl.MessageState `protogen:"open.v1"` + Items []*WorkflowExecution `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutions) Reset() { + *x = WorkflowExecutions{} + mi := &file_temporal_api_export_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutions) ProtoMessage() {} + +func (x *WorkflowExecutions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_export_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutions.ProtoReflect.Descriptor instead. +func (*WorkflowExecutions) Descriptor() ([]byte, []int) { + return file_temporal_api_export_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkflowExecutions) GetItems() []*WorkflowExecution { + if x != nil { + return x.Items + } + return nil +} + +var File_temporal_api_export_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_export_v1_message_proto_rawDesc = "" + + "\n" + + "$temporal/api/export/v1/message.proto\x12\x16temporal.api.export.v1\x1a%temporal/api/history/v1/message.proto\"O\n" + + "\x11WorkflowExecution\x12:\n" + + "\ahistory\x18\x01 \x01(\v2 .temporal.api.history.v1.HistoryR\ahistory\"U\n" + + "\x12WorkflowExecutions\x12?\n" + + "\x05items\x18\x01 \x03(\v2).temporal.api.export.v1.WorkflowExecutionR\x05itemsB\x89\x01\n" + + "\x19io.temporal.api.export.v1B\fMessageProtoP\x01Z#go.temporal.io/api/export/v1;export\xaa\x02\x18Temporalio.Api.Export.V1\xea\x02\x1bTemporalio::Api::Export::V1b\x06proto3" + +var ( + file_temporal_api_export_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_export_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_export_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_export_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_export_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_export_v1_message_proto_rawDesc), len(file_temporal_api_export_v1_message_proto_rawDesc))) + }) + return file_temporal_api_export_v1_message_proto_rawDescData +} + +var file_temporal_api_export_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_temporal_api_export_v1_message_proto_goTypes = []any{ + (*WorkflowExecution)(nil), // 0: temporal.api.export.v1.WorkflowExecution + (*WorkflowExecutions)(nil), // 1: temporal.api.export.v1.WorkflowExecutions + (*v1.History)(nil), // 2: temporal.api.history.v1.History +} +var file_temporal_api_export_v1_message_proto_depIdxs = []int32{ + 2, // 0: temporal.api.export.v1.WorkflowExecution.history:type_name -> temporal.api.history.v1.History + 0, // 1: temporal.api.export.v1.WorkflowExecutions.items:type_name -> temporal.api.export.v1.WorkflowExecution + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_temporal_api_export_v1_message_proto_init() } +func file_temporal_api_export_v1_message_proto_init() { + if File_temporal_api_export_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_export_v1_message_proto_rawDesc), len(file_temporal_api_export_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_export_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_export_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_export_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_export_v1_message_proto = out.File + file_temporal_api_export_v1_message_proto_goTypes = nil + file_temporal_api_export_v1_message_proto_depIdxs = nil +} diff --git a/api_next/failure/v1/message.go-helpers.pb.go b/api_next/failure/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..2ecaa871 --- /dev/null +++ b/api_next/failure/v1/message.go-helpers.pb.go @@ -0,0 +1,450 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package failure + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ApplicationFailureInfo to the protobuf v3 wire format +func (val *ApplicationFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ApplicationFailureInfo from the protobuf v3 wire format +func (val *ApplicationFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ApplicationFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ApplicationFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ApplicationFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ApplicationFailureInfo + switch t := that.(type) { + case *ApplicationFailureInfo: + that1 = t + case ApplicationFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TimeoutFailureInfo to the protobuf v3 wire format +func (val *TimeoutFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TimeoutFailureInfo from the protobuf v3 wire format +func (val *TimeoutFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TimeoutFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TimeoutFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TimeoutFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TimeoutFailureInfo + switch t := that.(type) { + case *TimeoutFailureInfo: + that1 = t + case TimeoutFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CanceledFailureInfo to the protobuf v3 wire format +func (val *CanceledFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CanceledFailureInfo from the protobuf v3 wire format +func (val *CanceledFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CanceledFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CanceledFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CanceledFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CanceledFailureInfo + switch t := that.(type) { + case *CanceledFailureInfo: + that1 = t + case CanceledFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TerminatedFailureInfo to the protobuf v3 wire format +func (val *TerminatedFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TerminatedFailureInfo from the protobuf v3 wire format +func (val *TerminatedFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TerminatedFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TerminatedFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TerminatedFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TerminatedFailureInfo + switch t := that.(type) { + case *TerminatedFailureInfo: + that1 = t + case TerminatedFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ServerFailureInfo to the protobuf v3 wire format +func (val *ServerFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ServerFailureInfo from the protobuf v3 wire format +func (val *ServerFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ServerFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ServerFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ServerFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ServerFailureInfo + switch t := that.(type) { + case *ServerFailureInfo: + that1 = t + case ServerFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetWorkflowFailureInfo to the protobuf v3 wire format +func (val *ResetWorkflowFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetWorkflowFailureInfo from the protobuf v3 wire format +func (val *ResetWorkflowFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetWorkflowFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetWorkflowFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetWorkflowFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetWorkflowFailureInfo + switch t := that.(type) { + case *ResetWorkflowFailureInfo: + that1 = t + case ResetWorkflowFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityFailureInfo to the protobuf v3 wire format +func (val *ActivityFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityFailureInfo from the protobuf v3 wire format +func (val *ActivityFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityFailureInfo + switch t := that.(type) { + case *ActivityFailureInfo: + that1 = t + case ActivityFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ChildWorkflowExecutionFailureInfo to the protobuf v3 wire format +func (val *ChildWorkflowExecutionFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ChildWorkflowExecutionFailureInfo from the protobuf v3 wire format +func (val *ChildWorkflowExecutionFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ChildWorkflowExecutionFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ChildWorkflowExecutionFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ChildWorkflowExecutionFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ChildWorkflowExecutionFailureInfo + switch t := that.(type) { + case *ChildWorkflowExecutionFailureInfo: + that1 = t + case ChildWorkflowExecutionFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationFailureInfo to the protobuf v3 wire format +func (val *NexusOperationFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationFailureInfo from the protobuf v3 wire format +func (val *NexusOperationFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationFailureInfo + switch t := that.(type) { + case *NexusOperationFailureInfo: + that1 = t + case NexusOperationFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusHandlerFailureInfo to the protobuf v3 wire format +func (val *NexusHandlerFailureInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusHandlerFailureInfo from the protobuf v3 wire format +func (val *NexusHandlerFailureInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusHandlerFailureInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusHandlerFailureInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusHandlerFailureInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusHandlerFailureInfo + switch t := that.(type) { + case *NexusHandlerFailureInfo: + that1 = t + case NexusHandlerFailureInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Failure to the protobuf v3 wire format +func (val *Failure) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Failure from the protobuf v3 wire format +func (val *Failure) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Failure) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Failure values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Failure) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Failure + switch t := that.(type) { + case *Failure: + that1 = t + case Failure: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type MultiOperationExecutionAborted to the protobuf v3 wire format +func (val *MultiOperationExecutionAborted) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type MultiOperationExecutionAborted from the protobuf v3 wire format +func (val *MultiOperationExecutionAborted) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *MultiOperationExecutionAborted) Size() int { + return proto.Size(val) +} + +// Equal returns whether two MultiOperationExecutionAborted values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *MultiOperationExecutionAborted) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *MultiOperationExecutionAborted + switch t := that.(type) { + case *MultiOperationExecutionAborted: + that1 = t + case MultiOperationExecutionAborted: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/failure/v1/message.pb.go b/api_next/failure/v1/message.pb.go new file mode 100644 index 00000000..b1fc18b0 --- /dev/null +++ b/api_next/failure/v1/message.pb.go @@ -0,0 +1,1144 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/failure/v1/message.proto + +package failure + +import ( + v1 "go.temporal.io/api/common/v1" + v11 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type ApplicationFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + NonRetryable bool `protobuf:"varint,2,opt,name=non_retryable,json=nonRetryable,proto3" json:"non_retryable,omitempty"` + Details *v1.Payloads `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` + // next_retry_delay can be used by the client to override the activity + // retry interval calculated by the retry policy. Retry attempts will + // still be subject to the maximum retries limit and total time limit + // defined by the policy. + NextRetryDelay *durationpb.Duration `protobuf:"bytes,4,opt,name=next_retry_delay,json=nextRetryDelay,proto3" json:"next_retry_delay,omitempty"` + Category v11.ApplicationErrorCategory `protobuf:"varint,5,opt,name=category,proto3,enum=temporal.api.enums.v1.ApplicationErrorCategory" json:"category,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ApplicationFailureInfo) Reset() { + *x = ApplicationFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ApplicationFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ApplicationFailureInfo) ProtoMessage() {} + +func (x *ApplicationFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ApplicationFailureInfo.ProtoReflect.Descriptor instead. +func (*ApplicationFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *ApplicationFailureInfo) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *ApplicationFailureInfo) GetNonRetryable() bool { + if x != nil { + return x.NonRetryable + } + return false +} + +func (x *ApplicationFailureInfo) GetDetails() *v1.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *ApplicationFailureInfo) GetNextRetryDelay() *durationpb.Duration { + if x != nil { + return x.NextRetryDelay + } + return nil +} + +func (x *ApplicationFailureInfo) GetCategory() v11.ApplicationErrorCategory { + if x != nil { + return x.Category + } + return v11.ApplicationErrorCategory(0) +} + +type TimeoutFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + TimeoutType v11.TimeoutType `protobuf:"varint,1,opt,name=timeout_type,json=timeoutType,proto3,enum=temporal.api.enums.v1.TimeoutType" json:"timeout_type,omitempty"` + LastHeartbeatDetails *v1.Payloads `protobuf:"bytes,2,opt,name=last_heartbeat_details,json=lastHeartbeatDetails,proto3" json:"last_heartbeat_details,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimeoutFailureInfo) Reset() { + *x = TimeoutFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimeoutFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeoutFailureInfo) ProtoMessage() {} + +func (x *TimeoutFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimeoutFailureInfo.ProtoReflect.Descriptor instead. +func (*TimeoutFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *TimeoutFailureInfo) GetTimeoutType() v11.TimeoutType { + if x != nil { + return x.TimeoutType + } + return v11.TimeoutType(0) +} + +func (x *TimeoutFailureInfo) GetLastHeartbeatDetails() *v1.Payloads { + if x != nil { + return x.LastHeartbeatDetails + } + return nil +} + +type CanceledFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Details *v1.Payloads `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` + // The identity of the worker or client that requested the cancellation. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CanceledFailureInfo) Reset() { + *x = CanceledFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CanceledFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CanceledFailureInfo) ProtoMessage() {} + +func (x *CanceledFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CanceledFailureInfo.ProtoReflect.Descriptor instead. +func (*CanceledFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *CanceledFailureInfo) GetDetails() *v1.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *CanceledFailureInfo) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type TerminatedFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the worker or client that requested the termination. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TerminatedFailureInfo) Reset() { + *x = TerminatedFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TerminatedFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminatedFailureInfo) ProtoMessage() {} + +func (x *TerminatedFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TerminatedFailureInfo.ProtoReflect.Descriptor instead. +func (*TerminatedFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *TerminatedFailureInfo) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type ServerFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + NonRetryable bool `protobuf:"varint,1,opt,name=non_retryable,json=nonRetryable,proto3" json:"non_retryable,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ServerFailureInfo) Reset() { + *x = ServerFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ServerFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ServerFailureInfo) ProtoMessage() {} + +func (x *ServerFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ServerFailureInfo.ProtoReflect.Descriptor instead. +func (*ServerFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *ServerFailureInfo) GetNonRetryable() bool { + if x != nil { + return x.NonRetryable + } + return false +} + +type ResetWorkflowFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + LastHeartbeatDetails *v1.Payloads `protobuf:"bytes,1,opt,name=last_heartbeat_details,json=lastHeartbeatDetails,proto3" json:"last_heartbeat_details,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetWorkflowFailureInfo) Reset() { + *x = ResetWorkflowFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetWorkflowFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetWorkflowFailureInfo) ProtoMessage() {} + +func (x *ResetWorkflowFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetWorkflowFailureInfo.ProtoReflect.Descriptor instead. +func (*ResetWorkflowFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *ResetWorkflowFailureInfo) GetLastHeartbeatDetails() *v1.Payloads { + if x != nil { + return x.LastHeartbeatDetails + } + return nil +} + +type ActivityFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + StartedEventId int64 `protobuf:"varint,2,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + ActivityType *v1.ActivityType `protobuf:"bytes,4,opt,name=activity_type,json=activityType,proto3" json:"activity_type,omitempty"` + ActivityId string `protobuf:"bytes,5,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + RetryState v11.RetryState `protobuf:"varint,6,opt,name=retry_state,json=retryState,proto3,enum=temporal.api.enums.v1.RetryState" json:"retry_state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityFailureInfo) Reset() { + *x = ActivityFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityFailureInfo) ProtoMessage() {} + +func (x *ActivityFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityFailureInfo.ProtoReflect.Descriptor instead. +func (*ActivityFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *ActivityFailureInfo) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *ActivityFailureInfo) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *ActivityFailureInfo) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *ActivityFailureInfo) GetActivityType() *v1.ActivityType { + if x != nil { + return x.ActivityType + } + return nil +} + +func (x *ActivityFailureInfo) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *ActivityFailureInfo) GetRetryState() v11.RetryState { + if x != nil { + return x.RetryState + } + return v11.RetryState(0) +} + +type ChildWorkflowExecutionFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + InitiatedEventId int64 `protobuf:"varint,4,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + StartedEventId int64 `protobuf:"varint,5,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + RetryState v11.RetryState `protobuf:"varint,6,opt,name=retry_state,json=retryState,proto3,enum=temporal.api.enums.v1.RetryState" json:"retry_state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChildWorkflowExecutionFailureInfo) Reset() { + *x = ChildWorkflowExecutionFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChildWorkflowExecutionFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChildWorkflowExecutionFailureInfo) ProtoMessage() {} + +func (x *ChildWorkflowExecutionFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChildWorkflowExecutionFailureInfo.ProtoReflect.Descriptor instead. +func (*ChildWorkflowExecutionFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *ChildWorkflowExecutionFailureInfo) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ChildWorkflowExecutionFailureInfo) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *ChildWorkflowExecutionFailureInfo) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *ChildWorkflowExecutionFailureInfo) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionFailureInfo) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionFailureInfo) GetRetryState() v11.RetryState { + if x != nil { + return x.RetryState + } + return v11.RetryState(0) +} + +// Representation of the Temporal SDK NexusOperationError object that is returned to workflow callers. +type NexusOperationFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The NexusOperationScheduled event ID. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // Endpoint name. + Endpoint string `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Service name. + Service string `protobuf:"bytes,3,opt,name=service,proto3" json:"service,omitempty"` + // Operation name. + Operation string `protobuf:"bytes,4,opt,name=operation,proto3" json:"operation,omitempty"` + // Operation ID - may be empty if the operation completed synchronously. + // + // Deprecated. Renamed to operation_token. + // + // Deprecated: Marked as deprecated in temporal/api/failure/v1/message.proto. + OperationId string `protobuf:"bytes,5,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Operation token - may be empty if the operation completed synchronously. + OperationToken string `protobuf:"bytes,6,opt,name=operation_token,json=operationToken,proto3" json:"operation_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationFailureInfo) Reset() { + *x = NexusOperationFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationFailureInfo) ProtoMessage() {} + +func (x *NexusOperationFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationFailureInfo.ProtoReflect.Descriptor instead. +func (*NexusOperationFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *NexusOperationFailureInfo) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *NexusOperationFailureInfo) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *NexusOperationFailureInfo) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *NexusOperationFailureInfo) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/failure/v1/message.proto. +func (x *NexusOperationFailureInfo) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *NexusOperationFailureInfo) GetOperationToken() string { + if x != nil { + return x.OperationToken + } + return "" +} + +type NexusHandlerFailureInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The Nexus error type as defined in the spec: + // https://github.com/nexus-rpc/api/blob/main/SPEC.md#predefined-handler-errors. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Retry behavior, defaults to the retry behavior of the error type as defined in the spec. + RetryBehavior v11.NexusHandlerErrorRetryBehavior `protobuf:"varint,2,opt,name=retry_behavior,json=retryBehavior,proto3,enum=temporal.api.enums.v1.NexusHandlerErrorRetryBehavior" json:"retry_behavior,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusHandlerFailureInfo) Reset() { + *x = NexusHandlerFailureInfo{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusHandlerFailureInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusHandlerFailureInfo) ProtoMessage() {} + +func (x *NexusHandlerFailureInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusHandlerFailureInfo.ProtoReflect.Descriptor instead. +func (*NexusHandlerFailureInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *NexusHandlerFailureInfo) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *NexusHandlerFailureInfo) GetRetryBehavior() v11.NexusHandlerErrorRetryBehavior { + if x != nil { + return x.RetryBehavior + } + return v11.NexusHandlerErrorRetryBehavior(0) +} + +type Failure struct { + state protoimpl.MessageState `protogen:"open.v1"` + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + // The source this Failure originated in, e.g. TypeScriptSDK / JavaSDK + // In some SDKs this is used to rehydrate the stack trace into an exception object. + Source string `protobuf:"bytes,2,opt,name=source,proto3" json:"source,omitempty"` + StackTrace string `protobuf:"bytes,3,opt,name=stack_trace,json=stackTrace,proto3" json:"stack_trace,omitempty"` + // Alternative way to supply `message` and `stack_trace` and possibly other attributes, used for encryption of + // errors originating in user code which might contain sensitive information. + // The `encoded_attributes` Payload could represent any serializable object, e.g. JSON object or a `Failure` proto + // message. + // + // SDK authors: + // - The SDK should provide a default `encodeFailureAttributes` and `decodeFailureAttributes` implementation that: + // - Uses a JSON object to represent `{ message, stack_trace }`. + // - Overwrites the original message with "Encoded failure" to indicate that more information could be extracted. + // - Overwrites the original stack_trace with an empty string. + // - The resulting JSON object is converted to Payload using the default PayloadConverter and should be processed + // by the user-provided PayloadCodec + // + // - If there's demand, we could allow overriding the default SDK implementation to encode other opaque Failure attributes. + // (-- api-linter: core::0203::optional=disabled --) + EncodedAttributes *v1.Payload `protobuf:"bytes,20,opt,name=encoded_attributes,json=encodedAttributes,proto3" json:"encoded_attributes,omitempty"` + Cause *Failure `protobuf:"bytes,4,opt,name=cause,proto3" json:"cause,omitempty"` + // Types that are valid to be assigned to FailureInfo: + // + // *Failure_ApplicationFailureInfo + // *Failure_TimeoutFailureInfo + // *Failure_CanceledFailureInfo + // *Failure_TerminatedFailureInfo + // *Failure_ServerFailureInfo + // *Failure_ResetWorkflowFailureInfo + // *Failure_ActivityFailureInfo + // *Failure_ChildWorkflowExecutionFailureInfo + // *Failure_NexusOperationExecutionFailureInfo + // *Failure_NexusHandlerFailureInfo + FailureInfo isFailure_FailureInfo `protobuf_oneof:"failure_info"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Failure) Reset() { + *x = Failure{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Failure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Failure) ProtoMessage() {} + +func (x *Failure) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Failure.ProtoReflect.Descriptor instead. +func (*Failure) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *Failure) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Failure) GetSource() string { + if x != nil { + return x.Source + } + return "" +} + +func (x *Failure) GetStackTrace() string { + if x != nil { + return x.StackTrace + } + return "" +} + +func (x *Failure) GetEncodedAttributes() *v1.Payload { + if x != nil { + return x.EncodedAttributes + } + return nil +} + +func (x *Failure) GetCause() *Failure { + if x != nil { + return x.Cause + } + return nil +} + +func (x *Failure) GetFailureInfo() isFailure_FailureInfo { + if x != nil { + return x.FailureInfo + } + return nil +} + +func (x *Failure) GetApplicationFailureInfo() *ApplicationFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_ApplicationFailureInfo); ok { + return x.ApplicationFailureInfo + } + } + return nil +} + +func (x *Failure) GetTimeoutFailureInfo() *TimeoutFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_TimeoutFailureInfo); ok { + return x.TimeoutFailureInfo + } + } + return nil +} + +func (x *Failure) GetCanceledFailureInfo() *CanceledFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_CanceledFailureInfo); ok { + return x.CanceledFailureInfo + } + } + return nil +} + +func (x *Failure) GetTerminatedFailureInfo() *TerminatedFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_TerminatedFailureInfo); ok { + return x.TerminatedFailureInfo + } + } + return nil +} + +func (x *Failure) GetServerFailureInfo() *ServerFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_ServerFailureInfo); ok { + return x.ServerFailureInfo + } + } + return nil +} + +func (x *Failure) GetResetWorkflowFailureInfo() *ResetWorkflowFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_ResetWorkflowFailureInfo); ok { + return x.ResetWorkflowFailureInfo + } + } + return nil +} + +func (x *Failure) GetActivityFailureInfo() *ActivityFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_ActivityFailureInfo); ok { + return x.ActivityFailureInfo + } + } + return nil +} + +func (x *Failure) GetChildWorkflowExecutionFailureInfo() *ChildWorkflowExecutionFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_ChildWorkflowExecutionFailureInfo); ok { + return x.ChildWorkflowExecutionFailureInfo + } + } + return nil +} + +func (x *Failure) GetNexusOperationExecutionFailureInfo() *NexusOperationFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_NexusOperationExecutionFailureInfo); ok { + return x.NexusOperationExecutionFailureInfo + } + } + return nil +} + +func (x *Failure) GetNexusHandlerFailureInfo() *NexusHandlerFailureInfo { + if x != nil { + if x, ok := x.FailureInfo.(*Failure_NexusHandlerFailureInfo); ok { + return x.NexusHandlerFailureInfo + } + } + return nil +} + +type isFailure_FailureInfo interface { + isFailure_FailureInfo() +} + +type Failure_ApplicationFailureInfo struct { + ApplicationFailureInfo *ApplicationFailureInfo `protobuf:"bytes,5,opt,name=application_failure_info,json=applicationFailureInfo,proto3,oneof"` +} + +type Failure_TimeoutFailureInfo struct { + TimeoutFailureInfo *TimeoutFailureInfo `protobuf:"bytes,6,opt,name=timeout_failure_info,json=timeoutFailureInfo,proto3,oneof"` +} + +type Failure_CanceledFailureInfo struct { + CanceledFailureInfo *CanceledFailureInfo `protobuf:"bytes,7,opt,name=canceled_failure_info,json=canceledFailureInfo,proto3,oneof"` +} + +type Failure_TerminatedFailureInfo struct { + TerminatedFailureInfo *TerminatedFailureInfo `protobuf:"bytes,8,opt,name=terminated_failure_info,json=terminatedFailureInfo,proto3,oneof"` +} + +type Failure_ServerFailureInfo struct { + ServerFailureInfo *ServerFailureInfo `protobuf:"bytes,9,opt,name=server_failure_info,json=serverFailureInfo,proto3,oneof"` +} + +type Failure_ResetWorkflowFailureInfo struct { + ResetWorkflowFailureInfo *ResetWorkflowFailureInfo `protobuf:"bytes,10,opt,name=reset_workflow_failure_info,json=resetWorkflowFailureInfo,proto3,oneof"` +} + +type Failure_ActivityFailureInfo struct { + ActivityFailureInfo *ActivityFailureInfo `protobuf:"bytes,11,opt,name=activity_failure_info,json=activityFailureInfo,proto3,oneof"` +} + +type Failure_ChildWorkflowExecutionFailureInfo struct { + ChildWorkflowExecutionFailureInfo *ChildWorkflowExecutionFailureInfo `protobuf:"bytes,12,opt,name=child_workflow_execution_failure_info,json=childWorkflowExecutionFailureInfo,proto3,oneof"` +} + +type Failure_NexusOperationExecutionFailureInfo struct { + NexusOperationExecutionFailureInfo *NexusOperationFailureInfo `protobuf:"bytes,13,opt,name=nexus_operation_execution_failure_info,json=nexusOperationExecutionFailureInfo,proto3,oneof"` +} + +type Failure_NexusHandlerFailureInfo struct { + NexusHandlerFailureInfo *NexusHandlerFailureInfo `protobuf:"bytes,14,opt,name=nexus_handler_failure_info,json=nexusHandlerFailureInfo,proto3,oneof"` +} + +func (*Failure_ApplicationFailureInfo) isFailure_FailureInfo() {} + +func (*Failure_TimeoutFailureInfo) isFailure_FailureInfo() {} + +func (*Failure_CanceledFailureInfo) isFailure_FailureInfo() {} + +func (*Failure_TerminatedFailureInfo) isFailure_FailureInfo() {} + +func (*Failure_ServerFailureInfo) isFailure_FailureInfo() {} + +func (*Failure_ResetWorkflowFailureInfo) isFailure_FailureInfo() {} + +func (*Failure_ActivityFailureInfo) isFailure_FailureInfo() {} + +func (*Failure_ChildWorkflowExecutionFailureInfo) isFailure_FailureInfo() {} + +func (*Failure_NexusOperationExecutionFailureInfo) isFailure_FailureInfo() {} + +func (*Failure_NexusHandlerFailureInfo) isFailure_FailureInfo() {} + +type MultiOperationExecutionAborted struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MultiOperationExecutionAborted) Reset() { + *x = MultiOperationExecutionAborted{} + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MultiOperationExecutionAborted) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MultiOperationExecutionAborted) ProtoMessage() {} + +func (x *MultiOperationExecutionAborted) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_failure_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MultiOperationExecutionAborted.ProtoReflect.Descriptor instead. +func (*MultiOperationExecutionAborted) Descriptor() ([]byte, []int) { + return file_temporal_api_failure_v1_message_proto_rawDescGZIP(), []int{11} +} + +var File_temporal_api_failure_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_failure_v1_message_proto_rawDesc = "" + + "\n" + + "%temporal/api/failure/v1/message.proto\x12\x17temporal.api.failure.v1\x1a$temporal/api/common/v1/message.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a!temporal/api/enums/v1/nexus.proto\x1a\"temporal/api/enums/v1/common.proto\x1a\x1egoogle/protobuf/duration.proto\"\x9f\x02\n" + + "\x16ApplicationFailureInfo\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x12#\n" + + "\rnon_retryable\x18\x02 \x01(\bR\fnonRetryable\x12:\n" + + "\adetails\x18\x03 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12C\n" + + "\x10next_retry_delay\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x0enextRetryDelay\x12K\n" + + "\bcategory\x18\x05 \x01(\x0e2/.temporal.api.enums.v1.ApplicationErrorCategoryR\bcategory\"\xb3\x01\n" + + "\x12TimeoutFailureInfo\x12E\n" + + "\ftimeout_type\x18\x01 \x01(\x0e2\".temporal.api.enums.v1.TimeoutTypeR\vtimeoutType\x12V\n" + + "\x16last_heartbeat_details\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\x14lastHeartbeatDetails\"m\n" + + "\x13CanceledFailureInfo\x12:\n" + + "\adetails\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\"3\n" + + "\x15TerminatedFailureInfo\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\"8\n" + + "\x11ServerFailureInfo\x12#\n" + + "\rnon_retryable\x18\x01 \x01(\bR\fnonRetryable\"r\n" + + "\x18ResetWorkflowFailureInfo\x12V\n" + + "\x16last_heartbeat_details\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\x14lastHeartbeatDetails\"\xb9\x02\n" + + "\x13ActivityFailureInfo\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12(\n" + + "\x10started_event_id\x18\x02 \x01(\x03R\x0estartedEventId\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12I\n" + + "\ractivity_type\x18\x04 \x01(\v2$.temporal.api.common.v1.ActivityTypeR\factivityType\x12\x1f\n" + + "\vactivity_id\x18\x05 \x01(\tR\n" + + "activityId\x12B\n" + + "\vretry_state\x18\x06 \x01(\x0e2!.temporal.api.enums.v1.RetryStateR\n" + + "retryState\"\x82\x03\n" + + "!ChildWorkflowExecutionFailureInfo\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12,\n" + + "\x12initiated_event_id\x18\x04 \x01(\x03R\x10initiatedEventId\x12(\n" + + "\x10started_event_id\x18\x05 \x01(\x03R\x0estartedEventId\x12B\n" + + "\vretry_state\x18\x06 \x01(\x0e2!.temporal.api.enums.v1.RetryStateR\n" + + "retryState\"\xed\x01\n" + + "\x19NexusOperationFailureInfo\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12\x1a\n" + + "\bendpoint\x18\x02 \x01(\tR\bendpoint\x12\x18\n" + + "\aservice\x18\x03 \x01(\tR\aservice\x12\x1c\n" + + "\toperation\x18\x04 \x01(\tR\toperation\x12%\n" + + "\foperation_id\x18\x05 \x01(\tB\x02\x18\x01R\voperationId\x12'\n" + + "\x0foperation_token\x18\x06 \x01(\tR\x0eoperationToken\"\x8b\x01\n" + + "\x17NexusHandlerFailureInfo\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x12\\\n" + + "\x0eretry_behavior\x18\x02 \x01(\x0e25.temporal.api.enums.v1.NexusHandlerErrorRetryBehaviorR\rretryBehavior\"\xd3\n" + + "\n" + + "\aFailure\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\x12\x16\n" + + "\x06source\x18\x02 \x01(\tR\x06source\x12\x1f\n" + + "\vstack_trace\x18\x03 \x01(\tR\n" + + "stackTrace\x12N\n" + + "\x12encoded_attributes\x18\x14 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x11encodedAttributes\x126\n" + + "\x05cause\x18\x04 \x01(\v2 .temporal.api.failure.v1.FailureR\x05cause\x12k\n" + + "\x18application_failure_info\x18\x05 \x01(\v2/.temporal.api.failure.v1.ApplicationFailureInfoH\x00R\x16applicationFailureInfo\x12_\n" + + "\x14timeout_failure_info\x18\x06 \x01(\v2+.temporal.api.failure.v1.TimeoutFailureInfoH\x00R\x12timeoutFailureInfo\x12b\n" + + "\x15canceled_failure_info\x18\a \x01(\v2,.temporal.api.failure.v1.CanceledFailureInfoH\x00R\x13canceledFailureInfo\x12h\n" + + "\x17terminated_failure_info\x18\b \x01(\v2..temporal.api.failure.v1.TerminatedFailureInfoH\x00R\x15terminatedFailureInfo\x12\\\n" + + "\x13server_failure_info\x18\t \x01(\v2*.temporal.api.failure.v1.ServerFailureInfoH\x00R\x11serverFailureInfo\x12r\n" + + "\x1breset_workflow_failure_info\x18\n" + + " \x01(\v21.temporal.api.failure.v1.ResetWorkflowFailureInfoH\x00R\x18resetWorkflowFailureInfo\x12b\n" + + "\x15activity_failure_info\x18\v \x01(\v2,.temporal.api.failure.v1.ActivityFailureInfoH\x00R\x13activityFailureInfo\x12\x8e\x01\n" + + "%child_workflow_execution_failure_info\x18\f \x01(\v2:.temporal.api.failure.v1.ChildWorkflowExecutionFailureInfoH\x00R!childWorkflowExecutionFailureInfo\x12\x88\x01\n" + + "&nexus_operation_execution_failure_info\x18\r \x01(\v22.temporal.api.failure.v1.NexusOperationFailureInfoH\x00R\"nexusOperationExecutionFailureInfo\x12o\n" + + "\x1anexus_handler_failure_info\x18\x0e \x01(\v20.temporal.api.failure.v1.NexusHandlerFailureInfoH\x00R\x17nexusHandlerFailureInfoB\x0e\n" + + "\ffailure_info\" \n" + + "\x1eMultiOperationExecutionAbortedB\x8e\x01\n" + + "\x1aio.temporal.api.failure.v1B\fMessageProtoP\x01Z%go.temporal.io/api/failure/v1;failure\xaa\x02\x19Temporalio.Api.Failure.V1\xea\x02\x1cTemporalio::Api::Failure::V1b\x06proto3" + +var ( + file_temporal_api_failure_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_failure_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_failure_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_failure_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_failure_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_failure_v1_message_proto_rawDesc), len(file_temporal_api_failure_v1_message_proto_rawDesc))) + }) + return file_temporal_api_failure_v1_message_proto_rawDescData +} + +var file_temporal_api_failure_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_temporal_api_failure_v1_message_proto_goTypes = []any{ + (*ApplicationFailureInfo)(nil), // 0: temporal.api.failure.v1.ApplicationFailureInfo + (*TimeoutFailureInfo)(nil), // 1: temporal.api.failure.v1.TimeoutFailureInfo + (*CanceledFailureInfo)(nil), // 2: temporal.api.failure.v1.CanceledFailureInfo + (*TerminatedFailureInfo)(nil), // 3: temporal.api.failure.v1.TerminatedFailureInfo + (*ServerFailureInfo)(nil), // 4: temporal.api.failure.v1.ServerFailureInfo + (*ResetWorkflowFailureInfo)(nil), // 5: temporal.api.failure.v1.ResetWorkflowFailureInfo + (*ActivityFailureInfo)(nil), // 6: temporal.api.failure.v1.ActivityFailureInfo + (*ChildWorkflowExecutionFailureInfo)(nil), // 7: temporal.api.failure.v1.ChildWorkflowExecutionFailureInfo + (*NexusOperationFailureInfo)(nil), // 8: temporal.api.failure.v1.NexusOperationFailureInfo + (*NexusHandlerFailureInfo)(nil), // 9: temporal.api.failure.v1.NexusHandlerFailureInfo + (*Failure)(nil), // 10: temporal.api.failure.v1.Failure + (*MultiOperationExecutionAborted)(nil), // 11: temporal.api.failure.v1.MultiOperationExecutionAborted + (*v1.Payloads)(nil), // 12: temporal.api.common.v1.Payloads + (*durationpb.Duration)(nil), // 13: google.protobuf.Duration + (v11.ApplicationErrorCategory)(0), // 14: temporal.api.enums.v1.ApplicationErrorCategory + (v11.TimeoutType)(0), // 15: temporal.api.enums.v1.TimeoutType + (*v1.ActivityType)(nil), // 16: temporal.api.common.v1.ActivityType + (v11.RetryState)(0), // 17: temporal.api.enums.v1.RetryState + (*v1.WorkflowExecution)(nil), // 18: temporal.api.common.v1.WorkflowExecution + (*v1.WorkflowType)(nil), // 19: temporal.api.common.v1.WorkflowType + (v11.NexusHandlerErrorRetryBehavior)(0), // 20: temporal.api.enums.v1.NexusHandlerErrorRetryBehavior + (*v1.Payload)(nil), // 21: temporal.api.common.v1.Payload +} +var file_temporal_api_failure_v1_message_proto_depIdxs = []int32{ + 12, // 0: temporal.api.failure.v1.ApplicationFailureInfo.details:type_name -> temporal.api.common.v1.Payloads + 13, // 1: temporal.api.failure.v1.ApplicationFailureInfo.next_retry_delay:type_name -> google.protobuf.Duration + 14, // 2: temporal.api.failure.v1.ApplicationFailureInfo.category:type_name -> temporal.api.enums.v1.ApplicationErrorCategory + 15, // 3: temporal.api.failure.v1.TimeoutFailureInfo.timeout_type:type_name -> temporal.api.enums.v1.TimeoutType + 12, // 4: temporal.api.failure.v1.TimeoutFailureInfo.last_heartbeat_details:type_name -> temporal.api.common.v1.Payloads + 12, // 5: temporal.api.failure.v1.CanceledFailureInfo.details:type_name -> temporal.api.common.v1.Payloads + 12, // 6: temporal.api.failure.v1.ResetWorkflowFailureInfo.last_heartbeat_details:type_name -> temporal.api.common.v1.Payloads + 16, // 7: temporal.api.failure.v1.ActivityFailureInfo.activity_type:type_name -> temporal.api.common.v1.ActivityType + 17, // 8: temporal.api.failure.v1.ActivityFailureInfo.retry_state:type_name -> temporal.api.enums.v1.RetryState + 18, // 9: temporal.api.failure.v1.ChildWorkflowExecutionFailureInfo.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 19, // 10: temporal.api.failure.v1.ChildWorkflowExecutionFailureInfo.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 17, // 11: temporal.api.failure.v1.ChildWorkflowExecutionFailureInfo.retry_state:type_name -> temporal.api.enums.v1.RetryState + 20, // 12: temporal.api.failure.v1.NexusHandlerFailureInfo.retry_behavior:type_name -> temporal.api.enums.v1.NexusHandlerErrorRetryBehavior + 21, // 13: temporal.api.failure.v1.Failure.encoded_attributes:type_name -> temporal.api.common.v1.Payload + 10, // 14: temporal.api.failure.v1.Failure.cause:type_name -> temporal.api.failure.v1.Failure + 0, // 15: temporal.api.failure.v1.Failure.application_failure_info:type_name -> temporal.api.failure.v1.ApplicationFailureInfo + 1, // 16: temporal.api.failure.v1.Failure.timeout_failure_info:type_name -> temporal.api.failure.v1.TimeoutFailureInfo + 2, // 17: temporal.api.failure.v1.Failure.canceled_failure_info:type_name -> temporal.api.failure.v1.CanceledFailureInfo + 3, // 18: temporal.api.failure.v1.Failure.terminated_failure_info:type_name -> temporal.api.failure.v1.TerminatedFailureInfo + 4, // 19: temporal.api.failure.v1.Failure.server_failure_info:type_name -> temporal.api.failure.v1.ServerFailureInfo + 5, // 20: temporal.api.failure.v1.Failure.reset_workflow_failure_info:type_name -> temporal.api.failure.v1.ResetWorkflowFailureInfo + 6, // 21: temporal.api.failure.v1.Failure.activity_failure_info:type_name -> temporal.api.failure.v1.ActivityFailureInfo + 7, // 22: temporal.api.failure.v1.Failure.child_workflow_execution_failure_info:type_name -> temporal.api.failure.v1.ChildWorkflowExecutionFailureInfo + 8, // 23: temporal.api.failure.v1.Failure.nexus_operation_execution_failure_info:type_name -> temporal.api.failure.v1.NexusOperationFailureInfo + 9, // 24: temporal.api.failure.v1.Failure.nexus_handler_failure_info:type_name -> temporal.api.failure.v1.NexusHandlerFailureInfo + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name +} + +func init() { file_temporal_api_failure_v1_message_proto_init() } +func file_temporal_api_failure_v1_message_proto_init() { + if File_temporal_api_failure_v1_message_proto != nil { + return + } + file_temporal_api_failure_v1_message_proto_msgTypes[10].OneofWrappers = []any{ + (*Failure_ApplicationFailureInfo)(nil), + (*Failure_TimeoutFailureInfo)(nil), + (*Failure_CanceledFailureInfo)(nil), + (*Failure_TerminatedFailureInfo)(nil), + (*Failure_ServerFailureInfo)(nil), + (*Failure_ResetWorkflowFailureInfo)(nil), + (*Failure_ActivityFailureInfo)(nil), + (*Failure_ChildWorkflowExecutionFailureInfo)(nil), + (*Failure_NexusOperationExecutionFailureInfo)(nil), + (*Failure_NexusHandlerFailureInfo)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_failure_v1_message_proto_rawDesc), len(file_temporal_api_failure_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_failure_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_failure_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_failure_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_failure_v1_message_proto = out.File + file_temporal_api_failure_v1_message_proto_goTypes = nil + file_temporal_api_failure_v1_message_proto_depIdxs = nil +} diff --git a/api_next/filter/v1/message.go-helpers.pb.go b/api_next/filter/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..18cdd853 --- /dev/null +++ b/api_next/filter/v1/message.go-helpers.pb.go @@ -0,0 +1,154 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package filter + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkflowExecutionFilter to the protobuf v3 wire format +func (val *WorkflowExecutionFilter) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionFilter from the protobuf v3 wire format +func (val *WorkflowExecutionFilter) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionFilter) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionFilter values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionFilter) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionFilter + switch t := that.(type) { + case *WorkflowExecutionFilter: + that1 = t + case WorkflowExecutionFilter: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowTypeFilter to the protobuf v3 wire format +func (val *WorkflowTypeFilter) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowTypeFilter from the protobuf v3 wire format +func (val *WorkflowTypeFilter) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowTypeFilter) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowTypeFilter values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowTypeFilter) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowTypeFilter + switch t := that.(type) { + case *WorkflowTypeFilter: + that1 = t + case WorkflowTypeFilter: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartTimeFilter to the protobuf v3 wire format +func (val *StartTimeFilter) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartTimeFilter from the protobuf v3 wire format +func (val *StartTimeFilter) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartTimeFilter) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartTimeFilter values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartTimeFilter) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartTimeFilter + switch t := that.(type) { + case *StartTimeFilter: + that1 = t + case StartTimeFilter: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StatusFilter to the protobuf v3 wire format +func (val *StatusFilter) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StatusFilter from the protobuf v3 wire format +func (val *StatusFilter) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StatusFilter) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StatusFilter values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StatusFilter) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StatusFilter + switch t := that.(type) { + case *StatusFilter: + that1 = t + case StatusFilter: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/filter/v1/message.pb.go b/api_next/filter/v1/message.pb.go new file mode 100644 index 00000000..eeaa9205 --- /dev/null +++ b/api_next/filter/v1/message.pb.go @@ -0,0 +1,291 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/filter/v1/message.proto + +package filter + +import ( + v1 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type WorkflowExecutionFilter struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowId string `protobuf:"bytes,1,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionFilter) Reset() { + *x = WorkflowExecutionFilter{} + mi := &file_temporal_api_filter_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionFilter) ProtoMessage() {} + +func (x *WorkflowExecutionFilter) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_filter_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionFilter.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionFilter) Descriptor() ([]byte, []int) { + return file_temporal_api_filter_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkflowExecutionFilter) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *WorkflowExecutionFilter) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +type WorkflowTypeFilter struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowTypeFilter) Reset() { + *x = WorkflowTypeFilter{} + mi := &file_temporal_api_filter_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowTypeFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowTypeFilter) ProtoMessage() {} + +func (x *WorkflowTypeFilter) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_filter_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowTypeFilter.ProtoReflect.Descriptor instead. +func (*WorkflowTypeFilter) Descriptor() ([]byte, []int) { + return file_temporal_api_filter_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkflowTypeFilter) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type StartTimeFilter struct { + state protoimpl.MessageState `protogen:"open.v1"` + EarliestTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=earliest_time,json=earliestTime,proto3" json:"earliest_time,omitempty"` + LatestTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=latest_time,json=latestTime,proto3" json:"latest_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartTimeFilter) Reset() { + *x = StartTimeFilter{} + mi := &file_temporal_api_filter_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartTimeFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartTimeFilter) ProtoMessage() {} + +func (x *StartTimeFilter) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_filter_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartTimeFilter.ProtoReflect.Descriptor instead. +func (*StartTimeFilter) Descriptor() ([]byte, []int) { + return file_temporal_api_filter_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *StartTimeFilter) GetEarliestTime() *timestamppb.Timestamp { + if x != nil { + return x.EarliestTime + } + return nil +} + +func (x *StartTimeFilter) GetLatestTime() *timestamppb.Timestamp { + if x != nil { + return x.LatestTime + } + return nil +} + +type StatusFilter struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status v1.WorkflowExecutionStatus `protobuf:"varint,1,opt,name=status,proto3,enum=temporal.api.enums.v1.WorkflowExecutionStatus" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StatusFilter) Reset() { + *x = StatusFilter{} + mi := &file_temporal_api_filter_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StatusFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StatusFilter) ProtoMessage() {} + +func (x *StatusFilter) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_filter_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StatusFilter.ProtoReflect.Descriptor instead. +func (*StatusFilter) Descriptor() ([]byte, []int) { + return file_temporal_api_filter_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *StatusFilter) GetStatus() v1.WorkflowExecutionStatus { + if x != nil { + return x.Status + } + return v1.WorkflowExecutionStatus(0) +} + +var File_temporal_api_filter_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_filter_v1_message_proto_rawDesc = "" + + "\n" + + "$temporal/api/filter/v1/message.proto\x12\x16temporal.api.filter.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/enums/v1/workflow.proto\"Q\n" + + "\x17WorkflowExecutionFilter\x12\x1f\n" + + "\vworkflow_id\x18\x01 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x02 \x01(\tR\x05runId\"(\n" + + "\x12WorkflowTypeFilter\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\"\x8f\x01\n" + + "\x0fStartTimeFilter\x12?\n" + + "\rearliest_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\fearliestTime\x12;\n" + + "\vlatest_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "latestTime\"V\n" + + "\fStatusFilter\x12F\n" + + "\x06status\x18\x01 \x01(\x0e2..temporal.api.enums.v1.WorkflowExecutionStatusR\x06statusB\x89\x01\n" + + "\x19io.temporal.api.filter.v1B\fMessageProtoP\x01Z#go.temporal.io/api/filter/v1;filter\xaa\x02\x18Temporalio.Api.Filter.V1\xea\x02\x1bTemporalio::Api::Filter::V1b\x06proto3" + +var ( + file_temporal_api_filter_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_filter_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_filter_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_filter_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_filter_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_filter_v1_message_proto_rawDesc), len(file_temporal_api_filter_v1_message_proto_rawDesc))) + }) + return file_temporal_api_filter_v1_message_proto_rawDescData +} + +var file_temporal_api_filter_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_temporal_api_filter_v1_message_proto_goTypes = []any{ + (*WorkflowExecutionFilter)(nil), // 0: temporal.api.filter.v1.WorkflowExecutionFilter + (*WorkflowTypeFilter)(nil), // 1: temporal.api.filter.v1.WorkflowTypeFilter + (*StartTimeFilter)(nil), // 2: temporal.api.filter.v1.StartTimeFilter + (*StatusFilter)(nil), // 3: temporal.api.filter.v1.StatusFilter + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp + (v1.WorkflowExecutionStatus)(0), // 5: temporal.api.enums.v1.WorkflowExecutionStatus +} +var file_temporal_api_filter_v1_message_proto_depIdxs = []int32{ + 4, // 0: temporal.api.filter.v1.StartTimeFilter.earliest_time:type_name -> google.protobuf.Timestamp + 4, // 1: temporal.api.filter.v1.StartTimeFilter.latest_time:type_name -> google.protobuf.Timestamp + 5, // 2: temporal.api.filter.v1.StatusFilter.status:type_name -> temporal.api.enums.v1.WorkflowExecutionStatus + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_temporal_api_filter_v1_message_proto_init() } +func file_temporal_api_filter_v1_message_proto_init() { + if File_temporal_api_filter_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_filter_v1_message_proto_rawDesc), len(file_temporal_api_filter_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 4, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_filter_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_filter_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_filter_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_filter_v1_message_proto = out.File + file_temporal_api_filter_v1_message_proto_goTypes = nil + file_temporal_api_filter_v1_message_proto_depIdxs = nil +} diff --git a/api_next/go.mod b/api_next/go.mod new file mode 100644 index 00000000..115112b6 --- /dev/null +++ b/api_next/go.mod @@ -0,0 +1,18 @@ +module go.temporal.io/api + +go 1.25.0 + +require ( + github.com/golang/mock v1.6.0 + github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 + google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 + google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 + google.golang.org/grpc v1.80.0 + google.golang.org/protobuf v1.36.11 +) + +require ( + golang.org/x/net v0.49.0 // indirect + golang.org/x/sys v0.40.0 // indirect + golang.org/x/text v0.36.0 // indirect +) diff --git a/api_next/go.sum b/api_next/go.sum new file mode 100644 index 00000000..14073d12 --- /dev/null +++ b/api_next/go.sum @@ -0,0 +1,67 @@ +github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= +github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= +github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= +github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= +github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= +github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= +github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0 h1:5VipnvEpbqr2gA2VbM+nYVbkIF28c5ZQfqCBQ5g2xfk= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0/go.mod h1:Hyl3n6Twe1hvtd9XUXDec4pTvgMSEixRuQKPTMH2bNs= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= +go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= +go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= +go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= +go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= +go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= +go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= +go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= +go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= +go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= +golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.49.0 h1:eeHFmOGUTtaaPSGNmjBKpbng9MulQsJURQUAfUwY++o= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.40.0 h1:DBZZqJ2Rkml6QMQsZywtnjnnGvHza6BTfYFWY9kjEWQ= +golang.org/x/sys v0.40.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.36.0 h1:JfKh3XmcRPqZPKevfXVpI1wXPTqbkE5f7JA92a55Yxg= +golang.org/x/text v0.36.0/go.mod h1:NIdBknypM8iqVmPiuco0Dh6P5Jcdk8lJL0CUebqK164= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= +gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= +google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478 h1:yQugLulqltosq0B/f8l4w9VryjV+N/5gcW0jQ3N8Qec= +google.golang.org/genproto/googleapis/api v0.0.0-20260414002931-afd174a4e478/go.mod h1:C6ADNqOxbgdUUeRTU+LCHDPB9ttAMCTff6auwCVa4uc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478 h1:RmoJA1ujG+/lRGNfUnOMfhCy5EipVMyvUE+KNbPbTlw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260414002931-afd174a4e478/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= +google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= diff --git a/api_next/history/v1/message.go-helpers.pb.go b/api_next/history/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..d66789ac --- /dev/null +++ b/api_next/history/v1/message.go-helpers.pb.go @@ -0,0 +1,2337 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package history + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkflowExecutionStartedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionStartedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionStartedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionStartedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionStartedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionStartedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionStartedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionStartedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionStartedEventAttributes: + that1 = t + case WorkflowExecutionStartedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeclinedTargetVersionUpgrade to the protobuf v3 wire format +func (val *DeclinedTargetVersionUpgrade) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeclinedTargetVersionUpgrade from the protobuf v3 wire format +func (val *DeclinedTargetVersionUpgrade) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeclinedTargetVersionUpgrade) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeclinedTargetVersionUpgrade values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeclinedTargetVersionUpgrade) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeclinedTargetVersionUpgrade + switch t := that.(type) { + case *DeclinedTargetVersionUpgrade: + that1 = t + case DeclinedTargetVersionUpgrade: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionCompletedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionCompletedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionCompletedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionCompletedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionCompletedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionCompletedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionCompletedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionCompletedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionCompletedEventAttributes: + that1 = t + case WorkflowExecutionCompletedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionFailedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionFailedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionFailedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionFailedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionFailedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionFailedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionFailedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionFailedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionFailedEventAttributes: + that1 = t + case WorkflowExecutionFailedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionTimedOutEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionTimedOutEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionTimedOutEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionTimedOutEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionTimedOutEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionTimedOutEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionTimedOutEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionTimedOutEventAttributes + switch t := that.(type) { + case *WorkflowExecutionTimedOutEventAttributes: + that1 = t + case WorkflowExecutionTimedOutEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionContinuedAsNewEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionContinuedAsNewEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionContinuedAsNewEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionContinuedAsNewEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionContinuedAsNewEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionContinuedAsNewEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionContinuedAsNewEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionContinuedAsNewEventAttributes + switch t := that.(type) { + case *WorkflowExecutionContinuedAsNewEventAttributes: + that1 = t + case WorkflowExecutionContinuedAsNewEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowTaskScheduledEventAttributes to the protobuf v3 wire format +func (val *WorkflowTaskScheduledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowTaskScheduledEventAttributes from the protobuf v3 wire format +func (val *WorkflowTaskScheduledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowTaskScheduledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowTaskScheduledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowTaskScheduledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowTaskScheduledEventAttributes + switch t := that.(type) { + case *WorkflowTaskScheduledEventAttributes: + that1 = t + case WorkflowTaskScheduledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowTaskStartedEventAttributes to the protobuf v3 wire format +func (val *WorkflowTaskStartedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowTaskStartedEventAttributes from the protobuf v3 wire format +func (val *WorkflowTaskStartedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowTaskStartedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowTaskStartedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowTaskStartedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowTaskStartedEventAttributes + switch t := that.(type) { + case *WorkflowTaskStartedEventAttributes: + that1 = t + case WorkflowTaskStartedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowTaskCompletedEventAttributes to the protobuf v3 wire format +func (val *WorkflowTaskCompletedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowTaskCompletedEventAttributes from the protobuf v3 wire format +func (val *WorkflowTaskCompletedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowTaskCompletedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowTaskCompletedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowTaskCompletedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowTaskCompletedEventAttributes + switch t := that.(type) { + case *WorkflowTaskCompletedEventAttributes: + that1 = t + case WorkflowTaskCompletedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowTaskTimedOutEventAttributes to the protobuf v3 wire format +func (val *WorkflowTaskTimedOutEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowTaskTimedOutEventAttributes from the protobuf v3 wire format +func (val *WorkflowTaskTimedOutEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowTaskTimedOutEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowTaskTimedOutEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowTaskTimedOutEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowTaskTimedOutEventAttributes + switch t := that.(type) { + case *WorkflowTaskTimedOutEventAttributes: + that1 = t + case WorkflowTaskTimedOutEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowTaskFailedEventAttributes to the protobuf v3 wire format +func (val *WorkflowTaskFailedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowTaskFailedEventAttributes from the protobuf v3 wire format +func (val *WorkflowTaskFailedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowTaskFailedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowTaskFailedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowTaskFailedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowTaskFailedEventAttributes + switch t := that.(type) { + case *WorkflowTaskFailedEventAttributes: + that1 = t + case WorkflowTaskFailedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityTaskScheduledEventAttributes to the protobuf v3 wire format +func (val *ActivityTaskScheduledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityTaskScheduledEventAttributes from the protobuf v3 wire format +func (val *ActivityTaskScheduledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityTaskScheduledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityTaskScheduledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityTaskScheduledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityTaskScheduledEventAttributes + switch t := that.(type) { + case *ActivityTaskScheduledEventAttributes: + that1 = t + case ActivityTaskScheduledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityTaskStartedEventAttributes to the protobuf v3 wire format +func (val *ActivityTaskStartedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityTaskStartedEventAttributes from the protobuf v3 wire format +func (val *ActivityTaskStartedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityTaskStartedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityTaskStartedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityTaskStartedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityTaskStartedEventAttributes + switch t := that.(type) { + case *ActivityTaskStartedEventAttributes: + that1 = t + case ActivityTaskStartedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityTaskCompletedEventAttributes to the protobuf v3 wire format +func (val *ActivityTaskCompletedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityTaskCompletedEventAttributes from the protobuf v3 wire format +func (val *ActivityTaskCompletedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityTaskCompletedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityTaskCompletedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityTaskCompletedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityTaskCompletedEventAttributes + switch t := that.(type) { + case *ActivityTaskCompletedEventAttributes: + that1 = t + case ActivityTaskCompletedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityTaskFailedEventAttributes to the protobuf v3 wire format +func (val *ActivityTaskFailedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityTaskFailedEventAttributes from the protobuf v3 wire format +func (val *ActivityTaskFailedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityTaskFailedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityTaskFailedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityTaskFailedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityTaskFailedEventAttributes + switch t := that.(type) { + case *ActivityTaskFailedEventAttributes: + that1 = t + case ActivityTaskFailedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityTaskTimedOutEventAttributes to the protobuf v3 wire format +func (val *ActivityTaskTimedOutEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityTaskTimedOutEventAttributes from the protobuf v3 wire format +func (val *ActivityTaskTimedOutEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityTaskTimedOutEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityTaskTimedOutEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityTaskTimedOutEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityTaskTimedOutEventAttributes + switch t := that.(type) { + case *ActivityTaskTimedOutEventAttributes: + that1 = t + case ActivityTaskTimedOutEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityTaskCancelRequestedEventAttributes to the protobuf v3 wire format +func (val *ActivityTaskCancelRequestedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityTaskCancelRequestedEventAttributes from the protobuf v3 wire format +func (val *ActivityTaskCancelRequestedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityTaskCancelRequestedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityTaskCancelRequestedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityTaskCancelRequestedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityTaskCancelRequestedEventAttributes + switch t := that.(type) { + case *ActivityTaskCancelRequestedEventAttributes: + that1 = t + case ActivityTaskCancelRequestedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityTaskCanceledEventAttributes to the protobuf v3 wire format +func (val *ActivityTaskCanceledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityTaskCanceledEventAttributes from the protobuf v3 wire format +func (val *ActivityTaskCanceledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityTaskCanceledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityTaskCanceledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityTaskCanceledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityTaskCanceledEventAttributes + switch t := that.(type) { + case *ActivityTaskCanceledEventAttributes: + that1 = t + case ActivityTaskCanceledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TimerStartedEventAttributes to the protobuf v3 wire format +func (val *TimerStartedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TimerStartedEventAttributes from the protobuf v3 wire format +func (val *TimerStartedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TimerStartedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TimerStartedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TimerStartedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TimerStartedEventAttributes + switch t := that.(type) { + case *TimerStartedEventAttributes: + that1 = t + case TimerStartedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TimerFiredEventAttributes to the protobuf v3 wire format +func (val *TimerFiredEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TimerFiredEventAttributes from the protobuf v3 wire format +func (val *TimerFiredEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TimerFiredEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TimerFiredEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TimerFiredEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TimerFiredEventAttributes + switch t := that.(type) { + case *TimerFiredEventAttributes: + that1 = t + case TimerFiredEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TimerCanceledEventAttributes to the protobuf v3 wire format +func (val *TimerCanceledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TimerCanceledEventAttributes from the protobuf v3 wire format +func (val *TimerCanceledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TimerCanceledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TimerCanceledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TimerCanceledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TimerCanceledEventAttributes + switch t := that.(type) { + case *TimerCanceledEventAttributes: + that1 = t + case TimerCanceledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionCancelRequestedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionCancelRequestedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionCancelRequestedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionCancelRequestedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionCancelRequestedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionCancelRequestedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionCancelRequestedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionCancelRequestedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionCancelRequestedEventAttributes: + that1 = t + case WorkflowExecutionCancelRequestedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionCanceledEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionCanceledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionCanceledEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionCanceledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionCanceledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionCanceledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionCanceledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionCanceledEventAttributes + switch t := that.(type) { + case *WorkflowExecutionCanceledEventAttributes: + that1 = t + case WorkflowExecutionCanceledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type MarkerRecordedEventAttributes to the protobuf v3 wire format +func (val *MarkerRecordedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type MarkerRecordedEventAttributes from the protobuf v3 wire format +func (val *MarkerRecordedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *MarkerRecordedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two MarkerRecordedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *MarkerRecordedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *MarkerRecordedEventAttributes + switch t := that.(type) { + case *MarkerRecordedEventAttributes: + that1 = t + case MarkerRecordedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionSignaledEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionSignaledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionSignaledEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionSignaledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionSignaledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionSignaledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionSignaledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionSignaledEventAttributes + switch t := that.(type) { + case *WorkflowExecutionSignaledEventAttributes: + that1 = t + case WorkflowExecutionSignaledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionTerminatedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionTerminatedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionTerminatedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionTerminatedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionTerminatedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionTerminatedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionTerminatedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionTerminatedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionTerminatedEventAttributes: + that1 = t + case WorkflowExecutionTerminatedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelExternalWorkflowExecutionInitiatedEventAttributes to the protobuf v3 wire format +func (val *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelExternalWorkflowExecutionInitiatedEventAttributes from the protobuf v3 wire format +func (val *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelExternalWorkflowExecutionInitiatedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes + switch t := that.(type) { + case *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes: + that1 = t + case RequestCancelExternalWorkflowExecutionInitiatedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelExternalWorkflowExecutionFailedEventAttributes to the protobuf v3 wire format +func (val *RequestCancelExternalWorkflowExecutionFailedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelExternalWorkflowExecutionFailedEventAttributes from the protobuf v3 wire format +func (val *RequestCancelExternalWorkflowExecutionFailedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelExternalWorkflowExecutionFailedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelExternalWorkflowExecutionFailedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelExternalWorkflowExecutionFailedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelExternalWorkflowExecutionFailedEventAttributes + switch t := that.(type) { + case *RequestCancelExternalWorkflowExecutionFailedEventAttributes: + that1 = t + case RequestCancelExternalWorkflowExecutionFailedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ExternalWorkflowExecutionCancelRequestedEventAttributes to the protobuf v3 wire format +func (val *ExternalWorkflowExecutionCancelRequestedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ExternalWorkflowExecutionCancelRequestedEventAttributes from the protobuf v3 wire format +func (val *ExternalWorkflowExecutionCancelRequestedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ExternalWorkflowExecutionCancelRequestedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ExternalWorkflowExecutionCancelRequestedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ExternalWorkflowExecutionCancelRequestedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ExternalWorkflowExecutionCancelRequestedEventAttributes + switch t := that.(type) { + case *ExternalWorkflowExecutionCancelRequestedEventAttributes: + that1 = t + case ExternalWorkflowExecutionCancelRequestedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SignalExternalWorkflowExecutionInitiatedEventAttributes to the protobuf v3 wire format +func (val *SignalExternalWorkflowExecutionInitiatedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SignalExternalWorkflowExecutionInitiatedEventAttributes from the protobuf v3 wire format +func (val *SignalExternalWorkflowExecutionInitiatedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SignalExternalWorkflowExecutionInitiatedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SignalExternalWorkflowExecutionInitiatedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SignalExternalWorkflowExecutionInitiatedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SignalExternalWorkflowExecutionInitiatedEventAttributes + switch t := that.(type) { + case *SignalExternalWorkflowExecutionInitiatedEventAttributes: + that1 = t + case SignalExternalWorkflowExecutionInitiatedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SignalExternalWorkflowExecutionFailedEventAttributes to the protobuf v3 wire format +func (val *SignalExternalWorkflowExecutionFailedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SignalExternalWorkflowExecutionFailedEventAttributes from the protobuf v3 wire format +func (val *SignalExternalWorkflowExecutionFailedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SignalExternalWorkflowExecutionFailedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SignalExternalWorkflowExecutionFailedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SignalExternalWorkflowExecutionFailedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SignalExternalWorkflowExecutionFailedEventAttributes + switch t := that.(type) { + case *SignalExternalWorkflowExecutionFailedEventAttributes: + that1 = t + case SignalExternalWorkflowExecutionFailedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ExternalWorkflowExecutionSignaledEventAttributes to the protobuf v3 wire format +func (val *ExternalWorkflowExecutionSignaledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ExternalWorkflowExecutionSignaledEventAttributes from the protobuf v3 wire format +func (val *ExternalWorkflowExecutionSignaledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ExternalWorkflowExecutionSignaledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ExternalWorkflowExecutionSignaledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ExternalWorkflowExecutionSignaledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ExternalWorkflowExecutionSignaledEventAttributes + switch t := that.(type) { + case *ExternalWorkflowExecutionSignaledEventAttributes: + that1 = t + case ExternalWorkflowExecutionSignaledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpsertWorkflowSearchAttributesEventAttributes to the protobuf v3 wire format +func (val *UpsertWorkflowSearchAttributesEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpsertWorkflowSearchAttributesEventAttributes from the protobuf v3 wire format +func (val *UpsertWorkflowSearchAttributesEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpsertWorkflowSearchAttributesEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpsertWorkflowSearchAttributesEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpsertWorkflowSearchAttributesEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpsertWorkflowSearchAttributesEventAttributes + switch t := that.(type) { + case *UpsertWorkflowSearchAttributesEventAttributes: + that1 = t + case UpsertWorkflowSearchAttributesEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowPropertiesModifiedEventAttributes to the protobuf v3 wire format +func (val *WorkflowPropertiesModifiedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowPropertiesModifiedEventAttributes from the protobuf v3 wire format +func (val *WorkflowPropertiesModifiedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowPropertiesModifiedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowPropertiesModifiedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowPropertiesModifiedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowPropertiesModifiedEventAttributes + switch t := that.(type) { + case *WorkflowPropertiesModifiedEventAttributes: + that1 = t + case WorkflowPropertiesModifiedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartChildWorkflowExecutionInitiatedEventAttributes to the protobuf v3 wire format +func (val *StartChildWorkflowExecutionInitiatedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartChildWorkflowExecutionInitiatedEventAttributes from the protobuf v3 wire format +func (val *StartChildWorkflowExecutionInitiatedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartChildWorkflowExecutionInitiatedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartChildWorkflowExecutionInitiatedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartChildWorkflowExecutionInitiatedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartChildWorkflowExecutionInitiatedEventAttributes + switch t := that.(type) { + case *StartChildWorkflowExecutionInitiatedEventAttributes: + that1 = t + case StartChildWorkflowExecutionInitiatedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartChildWorkflowExecutionFailedEventAttributes to the protobuf v3 wire format +func (val *StartChildWorkflowExecutionFailedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartChildWorkflowExecutionFailedEventAttributes from the protobuf v3 wire format +func (val *StartChildWorkflowExecutionFailedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartChildWorkflowExecutionFailedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartChildWorkflowExecutionFailedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartChildWorkflowExecutionFailedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartChildWorkflowExecutionFailedEventAttributes + switch t := that.(type) { + case *StartChildWorkflowExecutionFailedEventAttributes: + that1 = t + case StartChildWorkflowExecutionFailedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ChildWorkflowExecutionStartedEventAttributes to the protobuf v3 wire format +func (val *ChildWorkflowExecutionStartedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ChildWorkflowExecutionStartedEventAttributes from the protobuf v3 wire format +func (val *ChildWorkflowExecutionStartedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ChildWorkflowExecutionStartedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ChildWorkflowExecutionStartedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ChildWorkflowExecutionStartedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ChildWorkflowExecutionStartedEventAttributes + switch t := that.(type) { + case *ChildWorkflowExecutionStartedEventAttributes: + that1 = t + case ChildWorkflowExecutionStartedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ChildWorkflowExecutionCompletedEventAttributes to the protobuf v3 wire format +func (val *ChildWorkflowExecutionCompletedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ChildWorkflowExecutionCompletedEventAttributes from the protobuf v3 wire format +func (val *ChildWorkflowExecutionCompletedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ChildWorkflowExecutionCompletedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ChildWorkflowExecutionCompletedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ChildWorkflowExecutionCompletedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ChildWorkflowExecutionCompletedEventAttributes + switch t := that.(type) { + case *ChildWorkflowExecutionCompletedEventAttributes: + that1 = t + case ChildWorkflowExecutionCompletedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ChildWorkflowExecutionFailedEventAttributes to the protobuf v3 wire format +func (val *ChildWorkflowExecutionFailedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ChildWorkflowExecutionFailedEventAttributes from the protobuf v3 wire format +func (val *ChildWorkflowExecutionFailedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ChildWorkflowExecutionFailedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ChildWorkflowExecutionFailedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ChildWorkflowExecutionFailedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ChildWorkflowExecutionFailedEventAttributes + switch t := that.(type) { + case *ChildWorkflowExecutionFailedEventAttributes: + that1 = t + case ChildWorkflowExecutionFailedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ChildWorkflowExecutionCanceledEventAttributes to the protobuf v3 wire format +func (val *ChildWorkflowExecutionCanceledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ChildWorkflowExecutionCanceledEventAttributes from the protobuf v3 wire format +func (val *ChildWorkflowExecutionCanceledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ChildWorkflowExecutionCanceledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ChildWorkflowExecutionCanceledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ChildWorkflowExecutionCanceledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ChildWorkflowExecutionCanceledEventAttributes + switch t := that.(type) { + case *ChildWorkflowExecutionCanceledEventAttributes: + that1 = t + case ChildWorkflowExecutionCanceledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ChildWorkflowExecutionTimedOutEventAttributes to the protobuf v3 wire format +func (val *ChildWorkflowExecutionTimedOutEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ChildWorkflowExecutionTimedOutEventAttributes from the protobuf v3 wire format +func (val *ChildWorkflowExecutionTimedOutEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ChildWorkflowExecutionTimedOutEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ChildWorkflowExecutionTimedOutEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ChildWorkflowExecutionTimedOutEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ChildWorkflowExecutionTimedOutEventAttributes + switch t := that.(type) { + case *ChildWorkflowExecutionTimedOutEventAttributes: + that1 = t + case ChildWorkflowExecutionTimedOutEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ChildWorkflowExecutionTerminatedEventAttributes to the protobuf v3 wire format +func (val *ChildWorkflowExecutionTerminatedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ChildWorkflowExecutionTerminatedEventAttributes from the protobuf v3 wire format +func (val *ChildWorkflowExecutionTerminatedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ChildWorkflowExecutionTerminatedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ChildWorkflowExecutionTerminatedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ChildWorkflowExecutionTerminatedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ChildWorkflowExecutionTerminatedEventAttributes + switch t := that.(type) { + case *ChildWorkflowExecutionTerminatedEventAttributes: + that1 = t + case ChildWorkflowExecutionTerminatedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionOptionsUpdatedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionOptionsUpdatedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionOptionsUpdatedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionOptionsUpdatedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionOptionsUpdatedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionOptionsUpdatedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionOptionsUpdatedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionOptionsUpdatedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionOptionsUpdatedEventAttributes: + that1 = t + case WorkflowExecutionOptionsUpdatedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowPropertiesModifiedExternallyEventAttributes to the protobuf v3 wire format +func (val *WorkflowPropertiesModifiedExternallyEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowPropertiesModifiedExternallyEventAttributes from the protobuf v3 wire format +func (val *WorkflowPropertiesModifiedExternallyEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowPropertiesModifiedExternallyEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowPropertiesModifiedExternallyEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowPropertiesModifiedExternallyEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowPropertiesModifiedExternallyEventAttributes + switch t := that.(type) { + case *WorkflowPropertiesModifiedExternallyEventAttributes: + that1 = t + case WorkflowPropertiesModifiedExternallyEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ActivityPropertiesModifiedExternallyEventAttributes to the protobuf v3 wire format +func (val *ActivityPropertiesModifiedExternallyEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ActivityPropertiesModifiedExternallyEventAttributes from the protobuf v3 wire format +func (val *ActivityPropertiesModifiedExternallyEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ActivityPropertiesModifiedExternallyEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ActivityPropertiesModifiedExternallyEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ActivityPropertiesModifiedExternallyEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ActivityPropertiesModifiedExternallyEventAttributes + switch t := that.(type) { + case *ActivityPropertiesModifiedExternallyEventAttributes: + that1 = t + case ActivityPropertiesModifiedExternallyEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionUpdateAcceptedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionUpdateAcceptedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionUpdateAcceptedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionUpdateAcceptedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionUpdateAcceptedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionUpdateAcceptedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionUpdateAcceptedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionUpdateAcceptedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionUpdateAcceptedEventAttributes: + that1 = t + case WorkflowExecutionUpdateAcceptedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionUpdateCompletedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionUpdateCompletedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionUpdateCompletedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionUpdateCompletedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionUpdateCompletedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionUpdateCompletedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionUpdateCompletedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionUpdateCompletedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionUpdateCompletedEventAttributes: + that1 = t + case WorkflowExecutionUpdateCompletedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionUpdateRejectedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionUpdateRejectedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionUpdateRejectedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionUpdateRejectedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionUpdateRejectedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionUpdateRejectedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionUpdateRejectedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionUpdateRejectedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionUpdateRejectedEventAttributes: + that1 = t + case WorkflowExecutionUpdateRejectedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionUpdateAdmittedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionUpdateAdmittedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionUpdateAdmittedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionUpdateAdmittedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionUpdateAdmittedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionUpdateAdmittedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionUpdateAdmittedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionUpdateAdmittedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionUpdateAdmittedEventAttributes: + that1 = t + case WorkflowExecutionUpdateAdmittedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionPausedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionPausedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionPausedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionPausedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionPausedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionPausedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionPausedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionPausedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionPausedEventAttributes: + that1 = t + case WorkflowExecutionPausedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionUnpausedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionUnpausedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionUnpausedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionUnpausedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionUnpausedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionUnpausedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionUnpausedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionUnpausedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionUnpausedEventAttributes: + that1 = t + case WorkflowExecutionUnpausedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionTimeSkippingTransitionedEventAttributes to the protobuf v3 wire format +func (val *WorkflowExecutionTimeSkippingTransitionedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionTimeSkippingTransitionedEventAttributes from the protobuf v3 wire format +func (val *WorkflowExecutionTimeSkippingTransitionedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionTimeSkippingTransitionedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionTimeSkippingTransitionedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionTimeSkippingTransitionedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionTimeSkippingTransitionedEventAttributes + switch t := that.(type) { + case *WorkflowExecutionTimeSkippingTransitionedEventAttributes: + that1 = t + case WorkflowExecutionTimeSkippingTransitionedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationScheduledEventAttributes to the protobuf v3 wire format +func (val *NexusOperationScheduledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationScheduledEventAttributes from the protobuf v3 wire format +func (val *NexusOperationScheduledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationScheduledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationScheduledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationScheduledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationScheduledEventAttributes + switch t := that.(type) { + case *NexusOperationScheduledEventAttributes: + that1 = t + case NexusOperationScheduledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationStartedEventAttributes to the protobuf v3 wire format +func (val *NexusOperationStartedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationStartedEventAttributes from the protobuf v3 wire format +func (val *NexusOperationStartedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationStartedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationStartedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationStartedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationStartedEventAttributes + switch t := that.(type) { + case *NexusOperationStartedEventAttributes: + that1 = t + case NexusOperationStartedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationCompletedEventAttributes to the protobuf v3 wire format +func (val *NexusOperationCompletedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationCompletedEventAttributes from the protobuf v3 wire format +func (val *NexusOperationCompletedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationCompletedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationCompletedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationCompletedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationCompletedEventAttributes + switch t := that.(type) { + case *NexusOperationCompletedEventAttributes: + that1 = t + case NexusOperationCompletedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationFailedEventAttributes to the protobuf v3 wire format +func (val *NexusOperationFailedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationFailedEventAttributes from the protobuf v3 wire format +func (val *NexusOperationFailedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationFailedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationFailedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationFailedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationFailedEventAttributes + switch t := that.(type) { + case *NexusOperationFailedEventAttributes: + that1 = t + case NexusOperationFailedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationTimedOutEventAttributes to the protobuf v3 wire format +func (val *NexusOperationTimedOutEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationTimedOutEventAttributes from the protobuf v3 wire format +func (val *NexusOperationTimedOutEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationTimedOutEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationTimedOutEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationTimedOutEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationTimedOutEventAttributes + switch t := that.(type) { + case *NexusOperationTimedOutEventAttributes: + that1 = t + case NexusOperationTimedOutEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationCanceledEventAttributes to the protobuf v3 wire format +func (val *NexusOperationCanceledEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationCanceledEventAttributes from the protobuf v3 wire format +func (val *NexusOperationCanceledEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationCanceledEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationCanceledEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationCanceledEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationCanceledEventAttributes + switch t := that.(type) { + case *NexusOperationCanceledEventAttributes: + that1 = t + case NexusOperationCanceledEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationCancelRequestedEventAttributes to the protobuf v3 wire format +func (val *NexusOperationCancelRequestedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationCancelRequestedEventAttributes from the protobuf v3 wire format +func (val *NexusOperationCancelRequestedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationCancelRequestedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationCancelRequestedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationCancelRequestedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationCancelRequestedEventAttributes + switch t := that.(type) { + case *NexusOperationCancelRequestedEventAttributes: + that1 = t + case NexusOperationCancelRequestedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationCancelRequestCompletedEventAttributes to the protobuf v3 wire format +func (val *NexusOperationCancelRequestCompletedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationCancelRequestCompletedEventAttributes from the protobuf v3 wire format +func (val *NexusOperationCancelRequestCompletedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationCancelRequestCompletedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationCancelRequestCompletedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationCancelRequestCompletedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationCancelRequestCompletedEventAttributes + switch t := that.(type) { + case *NexusOperationCancelRequestCompletedEventAttributes: + that1 = t + case NexusOperationCancelRequestCompletedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationCancelRequestFailedEventAttributes to the protobuf v3 wire format +func (val *NexusOperationCancelRequestFailedEventAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationCancelRequestFailedEventAttributes from the protobuf v3 wire format +func (val *NexusOperationCancelRequestFailedEventAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationCancelRequestFailedEventAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationCancelRequestFailedEventAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationCancelRequestFailedEventAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationCancelRequestFailedEventAttributes + switch t := that.(type) { + case *NexusOperationCancelRequestFailedEventAttributes: + that1 = t + case NexusOperationCancelRequestFailedEventAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type HistoryEvent to the protobuf v3 wire format +func (val *HistoryEvent) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type HistoryEvent from the protobuf v3 wire format +func (val *HistoryEvent) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *HistoryEvent) Size() int { + return proto.Size(val) +} + +// Equal returns whether two HistoryEvent values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *HistoryEvent) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *HistoryEvent + switch t := that.(type) { + case *HistoryEvent: + that1 = t + case HistoryEvent: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type History to the protobuf v3 wire format +func (val *History) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type History from the protobuf v3 wire format +func (val *History) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *History) Size() int { + return proto.Size(val) +} + +// Equal returns whether two History values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *History) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *History + switch t := that.(type) { + case *History: + that1 = t + case History: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/history/v1/message.pb.go b/api_next/history/v1/message.pb.go new file mode 100644 index 00000000..518b638c --- /dev/null +++ b/api_next/history/v1/message.pb.go @@ -0,0 +1,7956 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/history/v1/message.proto + +package history + +import ( + v1 "go.temporal.io/api/common/v1" + v15 "go.temporal.io/api/deployment/v1" + v12 "go.temporal.io/api/enums/v1" + v13 "go.temporal.io/api/failure/v1" + v16 "go.temporal.io/api/sdk/v1" + v11 "go.temporal.io/api/taskqueue/v1" + v17 "go.temporal.io/api/update/v1" + v14 "go.temporal.io/api/workflow/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Always the first event in workflow history +type WorkflowExecutionStartedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,1,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // If this workflow is a child, the namespace our parent lives in. + // SDKs and UI tools should use `parent_workflow_namespace` field but server must use `parent_workflow_namespace_id` only. + ParentWorkflowNamespace string `protobuf:"bytes,2,opt,name=parent_workflow_namespace,json=parentWorkflowNamespace,proto3" json:"parent_workflow_namespace,omitempty"` + ParentWorkflowNamespaceId string `protobuf:"bytes,27,opt,name=parent_workflow_namespace_id,json=parentWorkflowNamespaceId,proto3" json:"parent_workflow_namespace_id,omitempty"` + // Contains information about parent workflow execution that initiated the child workflow these attributes belong to. + // If the workflow these attributes belong to is not a child workflow of any other execution, this field will not be populated. + ParentWorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=parent_workflow_execution,json=parentWorkflowExecution,proto3" json:"parent_workflow_execution,omitempty"` + // EventID of the child execution initiated event in parent workflow + ParentInitiatedEventId int64 `protobuf:"varint,4,opt,name=parent_initiated_event_id,json=parentInitiatedEventId,proto3" json:"parent_initiated_event_id,omitempty"` + TaskQueue *v11.TaskQueue `protobuf:"bytes,5,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // SDK will deserialize this and provide it as arguments to the workflow function + Input *v1.Payloads `protobuf:"bytes,6,opt,name=input,proto3" json:"input,omitempty"` + // Total workflow execution timeout including retries and continue as new. + WorkflowExecutionTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=workflow_execution_timeout,json=workflowExecutionTimeout,proto3" json:"workflow_execution_timeout,omitempty"` + // Timeout of a single workflow run. + WorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=workflow_run_timeout,json=workflowRunTimeout,proto3" json:"workflow_run_timeout,omitempty"` + // Timeout of a single workflow task. + WorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,9,opt,name=workflow_task_timeout,json=workflowTaskTimeout,proto3" json:"workflow_task_timeout,omitempty"` + // Run id of the previous workflow which continued-as-new or retried or cron executed into this + // workflow. + ContinuedExecutionRunId string `protobuf:"bytes,10,opt,name=continued_execution_run_id,json=continuedExecutionRunId,proto3" json:"continued_execution_run_id,omitempty"` + Initiator v12.ContinueAsNewInitiator `protobuf:"varint,11,opt,name=initiator,proto3,enum=temporal.api.enums.v1.ContinueAsNewInitiator" json:"initiator,omitempty"` + ContinuedFailure *v13.Failure `protobuf:"bytes,12,opt,name=continued_failure,json=continuedFailure,proto3" json:"continued_failure,omitempty"` + LastCompletionResult *v1.Payloads `protobuf:"bytes,13,opt,name=last_completion_result,json=lastCompletionResult,proto3" json:"last_completion_result,omitempty"` + // This is the run id when the WorkflowExecutionStarted event was written. + // A workflow reset changes the execution run_id, but preserves this field. + OriginalExecutionRunId string `protobuf:"bytes,14,opt,name=original_execution_run_id,json=originalExecutionRunId,proto3" json:"original_execution_run_id,omitempty"` + // Identity of the client who requested this execution + Identity string `protobuf:"bytes,15,opt,name=identity,proto3" json:"identity,omitempty"` + // This is the very first runId along the chain of ContinueAsNew, Retry, Cron and Reset. + // Used to identify a chain. + FirstExecutionRunId string `protobuf:"bytes,16,opt,name=first_execution_run_id,json=firstExecutionRunId,proto3" json:"first_execution_run_id,omitempty"` + RetryPolicy *v1.RetryPolicy `protobuf:"bytes,17,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // Starting at 1, the number of times we have tried to execute this workflow + Attempt int32 `protobuf:"varint,18,opt,name=attempt,proto3" json:"attempt,omitempty"` + // The absolute time at which the workflow will be timed out. + // This is passed without change to the next run/retry of a workflow. + WorkflowExecutionExpirationTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=workflow_execution_expiration_time,json=workflowExecutionExpirationTime,proto3" json:"workflow_execution_expiration_time,omitempty"` + // If this workflow runs on a cron schedule, it will appear here + CronSchedule string `protobuf:"bytes,20,opt,name=cron_schedule,json=cronSchedule,proto3" json:"cron_schedule,omitempty"` + // For a cron workflow, this contains the amount of time between when this iteration of + // the cron workflow was scheduled and when it should run next per its cron_schedule. + FirstWorkflowTaskBackoff *durationpb.Duration `protobuf:"bytes,21,opt,name=first_workflow_task_backoff,json=firstWorkflowTaskBackoff,proto3" json:"first_workflow_task_backoff,omitempty"` + Memo *v1.Memo `protobuf:"bytes,22,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,23,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + PrevAutoResetPoints *v14.ResetPoints `protobuf:"bytes,24,opt,name=prev_auto_reset_points,json=prevAutoResetPoints,proto3" json:"prev_auto_reset_points,omitempty"` + Header *v1.Header `protobuf:"bytes,25,opt,name=header,proto3" json:"header,omitempty"` + // Version of the child execution initiated event in parent workflow + // It should be used together with parent_initiated_event_id to identify + // a child initiated event for global namespace + ParentInitiatedEventVersion int64 `protobuf:"varint,26,opt,name=parent_initiated_event_version,json=parentInitiatedEventVersion,proto3" json:"parent_initiated_event_version,omitempty"` + // This field is new in 1.21. + WorkflowId string `protobuf:"bytes,28,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // If this workflow intends to use anything other than the current overall default version for + // the queue, then we include it here. + // Deprecated. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + SourceVersionStamp *v1.WorkerVersionStamp `protobuf:"bytes,29,opt,name=source_version_stamp,json=sourceVersionStamp,proto3" json:"source_version_stamp,omitempty"` + // Completion callbacks attached when this workflow was started. + CompletionCallbacks []*v1.Callback `protobuf:"bytes,30,rep,name=completion_callbacks,json=completionCallbacks,proto3" json:"completion_callbacks,omitempty"` + // Contains information about the root workflow execution. + // The root workflow execution is defined as follows: + // 1. A workflow without parent workflow is its own root workflow. + // 2. A workflow that has a parent workflow has the same root workflow as its parent workflow. + // + // When the workflow is its own root workflow, then root_workflow_execution is nil. + // Note: workflows continued as new or reseted may or may not have parents, check examples below. + // + // Examples: + // + // Scenario 1: Workflow W1 starts child workflow W2, and W2 starts child workflow W3. + // - The root workflow of all three workflows is W1. + // - W1 has root_workflow_execution set to nil. + // - W2 and W3 have root_workflow_execution set to W1. + // Scenario 2: Workflow W1 starts child workflow W2, and W2 continued as new W3. + // - The root workflow of all three workflows is W1. + // - W1 has root_workflow_execution set to nil. + // - W2 and W3 have root_workflow_execution set to W1. + // Scenario 3: Workflow W1 continued as new W2. + // - The root workflow of W1 is W1 and the root workflow of W2 is W2. + // - W1 and W2 have root_workflow_execution set to nil. + // Scenario 4: Workflow W1 starts child workflow W2, and W2 is reseted, creating W3 + // - The root workflow of all three workflows is W1. + // - W1 has root_workflow_execution set to nil. + // - W2 and W3 have root_workflow_execution set to W1. + // Scenario 5: Workflow W1 is reseted, creating W2. + // - The root workflow of W1 is W1 and the root workflow of W2 is W2. + // - W1 and W2 have root_workflow_execution set to nil. + RootWorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,31,opt,name=root_workflow_execution,json=rootWorkflowExecution,proto3" json:"root_workflow_execution,omitempty"` + // When present, this execution is assigned to the build ID of its parent or previous execution. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + InheritedBuildId string `protobuf:"bytes,32,opt,name=inherited_build_id,json=inheritedBuildId,proto3" json:"inherited_build_id,omitempty"` + // Versioning override applied to this workflow when it was started. + // Children, crons, retries, and continue-as-new will inherit source run's override if pinned + // and if the new workflow's Task Queue belongs to the override version. + VersioningOverride *v14.VersioningOverride `protobuf:"bytes,33,opt,name=versioning_override,json=versioningOverride,proto3" json:"versioning_override,omitempty"` + // When present, it means this is a child workflow of a parent that is Pinned to this Worker + // Deployment Version. In this case, child workflow will start as Pinned to this Version instead + // of starting on the Current Version of its Task Queue. + // This is set only if the child workflow is starting on a Task Queue belonging to the same + // Worker Deployment Version. + // Deprecated. Use `parent_versioning_info`. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + ParentPinnedWorkerDeploymentVersion string `protobuf:"bytes,34,opt,name=parent_pinned_worker_deployment_version,json=parentPinnedWorkerDeploymentVersion,proto3" json:"parent_pinned_worker_deployment_version,omitempty"` + // Priority metadata + Priority *v1.Priority `protobuf:"bytes,35,opt,name=priority,proto3" json:"priority,omitempty"` + // If present, the new workflow should start on this version with pinned base behavior. + // Child of pinned parent will inherit the parent's version if the Child's Task Queue belongs to that version. + // + // A new run initiated by workflow ContinueAsNew of pinned run, will inherit the previous run's version if the + // new run's Task Queue belongs to that version. + // + // A new run initiated by workflow Cron will never inherit. + // + // A new run initiated by workflow Retry will only inherit if the retried run is effectively pinned at the time + // of retry, and the retried run inherited a pinned version when it started (ie. it is a child of a pinned + // parent, or a CaN of a pinned run, and is running on a Task Queue in the inherited version). + // + // Pinned override is inherited if Task Queue of new run is compatible with the override version. + // Override is inherited separately and takes precedence over inherited base version. + // + // Note: This field is mutually exclusive with inherited_auto_upgrade_info. + // Additionaly, versioning_override, if present, overrides this field during routing decisions. + InheritedPinnedVersion *v15.WorkerDeploymentVersion `protobuf:"bytes,37,opt,name=inherited_pinned_version,json=inheritedPinnedVersion,proto3" json:"inherited_pinned_version,omitempty"` + // If present, the new workflow begins with AutoUpgrade behavior. Before dispatching the + // first workflow task, this field is set to the deployment version on which the parent/ + // previous run was operating. This inheritance only happens when the task queues belong to + // the same deployment version. The first workflow task will then be dispatched to either + // this inherited deployment version, or the current deployment version of the task queue's + // Deployment. After the first workflow task, the effective behavior depends on worker-sent + // values in subsequent workflow tasks. + // + // Inheritance rules: + // - ContinueAsNew and child workflows: inherit AutoUpgrade behavior and deployment version + // - Cron: never inherits + // - Retry: inherits only if the retried run is effectively AutoUpgrade at the time of + // retry, and inherited AutoUpgrade behavior when it started (i.e. it is a child of an + // AutoUpgrade parent or ContinueAsNew of an AutoUpgrade run, running on the same + // deployment as the parent/previous run) + // + // Additional notes: + // - This field is mutually exclusive with `inherited_pinned_version`. + // - `versioning_override`, if present, overrides this field during routing decisions. + // - SDK implementations do not interact with this field and is only used internally by + // the server to ensure task routing correctness. + InheritedAutoUpgradeInfo *v15.InheritedAutoUpgradeInfo `protobuf:"bytes,39,opt,name=inherited_auto_upgrade_info,json=inheritedAutoUpgradeInfo,proto3" json:"inherited_auto_upgrade_info,omitempty"` + // A boolean indicating whether the SDK has asked to eagerly execute the first workflow task for this workflow and + // eager execution was accepted by the server. + // Only populated by server with version >= 1.29.0. + EagerExecutionAccepted bool `protobuf:"varint,38,opt,name=eager_execution_accepted,json=eagerExecutionAccepted,proto3" json:"eager_execution_accepted,omitempty"` + // During a previous run of this workflow, the server may have notified the SDK + // that the Target Worker Deployment Version changed, but the SDK declined to + // upgrade (e.g., by continuing-as-new with PINNED behavior). This field records + // the target version that was declined. + // + // This is a wrapper message to distinguish "never declined" (nil wrapper) from + // "declined an unversioned target" (non-nil wrapper with nil deployment_version). + // + // Used internally by the server during continue-as-new and retry. + // Should not be read or interpreted by SDKs. + DeclinedTargetVersionUpgrade *DeclinedTargetVersionUpgrade `protobuf:"bytes,40,opt,name=declined_target_version_upgrade,json=declinedTargetVersionUpgrade,proto3" json:"declined_target_version_upgrade,omitempty"` + // Initial time-skipping configuration for this workflow execution, recorded at start time. + // This may have been set explicitly via the start workflow request, or propagated from a + // parent/previous execution. + // + // The configuration may be updated after start via UpdateWorkflowExecutionOptions, which + // will be reflected in the WorkflowExecutionOptionsUpdatedEvent. + TimeSkippingConfig *v14.TimeSkippingConfig `protobuf:"bytes,41,opt,name=time_skipping_config,json=timeSkippingConfig,proto3" json:"time_skipping_config,omitempty"` + // The time skipped by the previous execution that started this workflow. + // It can happen in cases of child workflows and continue-as-new workflows. + InitialSkippedDuration *durationpb.Duration `protobuf:"bytes,42,opt,name=initial_skipped_duration,json=initialSkippedDuration,proto3" json:"initial_skipped_duration,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionStartedEventAttributes) Reset() { + *x = WorkflowExecutionStartedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionStartedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionStartedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionStartedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionStartedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionStartedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkflowExecutionStartedEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetParentWorkflowNamespace() string { + if x != nil { + return x.ParentWorkflowNamespace + } + return "" +} + +func (x *WorkflowExecutionStartedEventAttributes) GetParentWorkflowNamespaceId() string { + if x != nil { + return x.ParentWorkflowNamespaceId + } + return "" +} + +func (x *WorkflowExecutionStartedEventAttributes) GetParentWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.ParentWorkflowExecution + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetParentInitiatedEventId() int64 { + if x != nil { + return x.ParentInitiatedEventId + } + return 0 +} + +func (x *WorkflowExecutionStartedEventAttributes) GetTaskQueue() *v11.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetWorkflowExecutionTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowExecutionTimeout + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowRunTimeout + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowTaskTimeout + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetContinuedExecutionRunId() string { + if x != nil { + return x.ContinuedExecutionRunId + } + return "" +} + +func (x *WorkflowExecutionStartedEventAttributes) GetInitiator() v12.ContinueAsNewInitiator { + if x != nil { + return x.Initiator + } + return v12.ContinueAsNewInitiator(0) +} + +func (x *WorkflowExecutionStartedEventAttributes) GetContinuedFailure() *v13.Failure { + if x != nil { + return x.ContinuedFailure + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetLastCompletionResult() *v1.Payloads { + if x != nil { + return x.LastCompletionResult + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetOriginalExecutionRunId() string { + if x != nil { + return x.OriginalExecutionRunId + } + return "" +} + +func (x *WorkflowExecutionStartedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *WorkflowExecutionStartedEventAttributes) GetFirstExecutionRunId() string { + if x != nil { + return x.FirstExecutionRunId + } + return "" +} + +func (x *WorkflowExecutionStartedEventAttributes) GetRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *WorkflowExecutionStartedEventAttributes) GetWorkflowExecutionExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.WorkflowExecutionExpirationTime + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetCronSchedule() string { + if x != nil { + return x.CronSchedule + } + return "" +} + +func (x *WorkflowExecutionStartedEventAttributes) GetFirstWorkflowTaskBackoff() *durationpb.Duration { + if x != nil { + return x.FirstWorkflowTaskBackoff + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetMemo() *v1.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetPrevAutoResetPoints() *v14.ResetPoints { + if x != nil { + return x.PrevAutoResetPoints + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetParentInitiatedEventVersion() int64 { + if x != nil { + return x.ParentInitiatedEventVersion + } + return 0 +} + +func (x *WorkflowExecutionStartedEventAttributes) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowExecutionStartedEventAttributes) GetSourceVersionStamp() *v1.WorkerVersionStamp { + if x != nil { + return x.SourceVersionStamp + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetCompletionCallbacks() []*v1.Callback { + if x != nil { + return x.CompletionCallbacks + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetRootWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.RootWorkflowExecution + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowExecutionStartedEventAttributes) GetInheritedBuildId() string { + if x != nil { + return x.InheritedBuildId + } + return "" +} + +func (x *WorkflowExecutionStartedEventAttributes) GetVersioningOverride() *v14.VersioningOverride { + if x != nil { + return x.VersioningOverride + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowExecutionStartedEventAttributes) GetParentPinnedWorkerDeploymentVersion() string { + if x != nil { + return x.ParentPinnedWorkerDeploymentVersion + } + return "" +} + +func (x *WorkflowExecutionStartedEventAttributes) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetInheritedPinnedVersion() *v15.WorkerDeploymentVersion { + if x != nil { + return x.InheritedPinnedVersion + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetInheritedAutoUpgradeInfo() *v15.InheritedAutoUpgradeInfo { + if x != nil { + return x.InheritedAutoUpgradeInfo + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetEagerExecutionAccepted() bool { + if x != nil { + return x.EagerExecutionAccepted + } + return false +} + +func (x *WorkflowExecutionStartedEventAttributes) GetDeclinedTargetVersionUpgrade() *DeclinedTargetVersionUpgrade { + if x != nil { + return x.DeclinedTargetVersionUpgrade + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetTimeSkippingConfig() *v14.TimeSkippingConfig { + if x != nil { + return x.TimeSkippingConfig + } + return nil +} + +func (x *WorkflowExecutionStartedEventAttributes) GetInitialSkippedDuration() *durationpb.Duration { + if x != nil { + return x.InitialSkippedDuration + } + return nil +} + +// Wrapper for a target deployment version that the SDK declined to upgrade to. +// See declined_target_version_upgrade on WorkflowExecutionStartedEventAttributes. +type DeclinedTargetVersionUpgrade struct { + state protoimpl.MessageState `protogen:"open.v1"` + DeploymentVersion *v15.WorkerDeploymentVersion `protobuf:"bytes,1,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + // Revision number of the task queue routing config at the time the target + // was declined. If an incoming target's revision is <= this value, it is + // not newer and is not used for deciding whether or not to suppress the + // upgrade signal. + RevisionNumber int64 `protobuf:"varint,2,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeclinedTargetVersionUpgrade) Reset() { + *x = DeclinedTargetVersionUpgrade{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeclinedTargetVersionUpgrade) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeclinedTargetVersionUpgrade) ProtoMessage() {} + +func (x *DeclinedTargetVersionUpgrade) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeclinedTargetVersionUpgrade.ProtoReflect.Descriptor instead. +func (*DeclinedTargetVersionUpgrade) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *DeclinedTargetVersionUpgrade) GetDeploymentVersion() *v15.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *DeclinedTargetVersionUpgrade) GetRevisionNumber() int64 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +type WorkflowExecutionCompletedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Serialized result of workflow completion (ie: The return value of the workflow function) + Result *v1.Payloads `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,2,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // If another run is started by cron, this contains the new run id. + NewExecutionRunId string `protobuf:"bytes,3,opt,name=new_execution_run_id,json=newExecutionRunId,proto3" json:"new_execution_run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionCompletedEventAttributes) Reset() { + *x = WorkflowExecutionCompletedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionCompletedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionCompletedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionCompletedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionCompletedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionCompletedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *WorkflowExecutionCompletedEventAttributes) GetResult() *v1.Payloads { + if x != nil { + return x.Result + } + return nil +} + +func (x *WorkflowExecutionCompletedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *WorkflowExecutionCompletedEventAttributes) GetNewExecutionRunId() string { + if x != nil { + return x.NewExecutionRunId + } + return "" +} + +type WorkflowExecutionFailedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Serialized result of workflow failure (ex: An exception thrown, or error returned) + Failure *v13.Failure `protobuf:"bytes,1,opt,name=failure,proto3" json:"failure,omitempty"` + RetryState v12.RetryState `protobuf:"varint,2,opt,name=retry_state,json=retryState,proto3,enum=temporal.api.enums.v1.RetryState" json:"retry_state,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,3,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // If another run is started by cron or retry, this contains the new run id. + NewExecutionRunId string `protobuf:"bytes,4,opt,name=new_execution_run_id,json=newExecutionRunId,proto3" json:"new_execution_run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionFailedEventAttributes) Reset() { + *x = WorkflowExecutionFailedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionFailedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionFailedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionFailedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionFailedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionFailedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *WorkflowExecutionFailedEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *WorkflowExecutionFailedEventAttributes) GetRetryState() v12.RetryState { + if x != nil { + return x.RetryState + } + return v12.RetryState(0) +} + +func (x *WorkflowExecutionFailedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *WorkflowExecutionFailedEventAttributes) GetNewExecutionRunId() string { + if x != nil { + return x.NewExecutionRunId + } + return "" +} + +type WorkflowExecutionTimedOutEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + RetryState v12.RetryState `protobuf:"varint,1,opt,name=retry_state,json=retryState,proto3,enum=temporal.api.enums.v1.RetryState" json:"retry_state,omitempty"` + // If another run is started by cron or retry, this contains the new run id. + NewExecutionRunId string `protobuf:"bytes,2,opt,name=new_execution_run_id,json=newExecutionRunId,proto3" json:"new_execution_run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionTimedOutEventAttributes) Reset() { + *x = WorkflowExecutionTimedOutEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionTimedOutEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionTimedOutEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionTimedOutEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionTimedOutEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionTimedOutEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *WorkflowExecutionTimedOutEventAttributes) GetRetryState() v12.RetryState { + if x != nil { + return x.RetryState + } + return v12.RetryState(0) +} + +func (x *WorkflowExecutionTimedOutEventAttributes) GetNewExecutionRunId() string { + if x != nil { + return x.NewExecutionRunId + } + return "" +} + +type WorkflowExecutionContinuedAsNewEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run ID of the new workflow started by this continue-as-new + NewExecutionRunId string `protobuf:"bytes,1,opt,name=new_execution_run_id,json=newExecutionRunId,proto3" json:"new_execution_run_id,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,2,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + TaskQueue *v11.TaskQueue `protobuf:"bytes,3,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + Input *v1.Payloads `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` + // Timeout of a single workflow run. + WorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=workflow_run_timeout,json=workflowRunTimeout,proto3" json:"workflow_run_timeout,omitempty"` + // Timeout of a single workflow task. + WorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,6,opt,name=workflow_task_timeout,json=workflowTaskTimeout,proto3" json:"workflow_task_timeout,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,7,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // How long the server will wait before scheduling the first workflow task for the new run. + // Used for cron, retry, and other continue-as-new cases that server may enforce some minimal + // delay between new runs for system protection purpose. + BackoffStartInterval *durationpb.Duration `protobuf:"bytes,8,opt,name=backoff_start_interval,json=backoffStartInterval,proto3" json:"backoff_start_interval,omitempty"` + Initiator v12.ContinueAsNewInitiator `protobuf:"varint,9,opt,name=initiator,proto3,enum=temporal.api.enums.v1.ContinueAsNewInitiator" json:"initiator,omitempty"` + // Deprecated. If a workflow's retry policy would cause a new run to start when the current one + // has failed, this field would be populated with that failure. Now (when supported by server + // and sdk) the final event will be `WORKFLOW_EXECUTION_FAILED` with `new_execution_run_id` set. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + Failure *v13.Failure `protobuf:"bytes,10,opt,name=failure,proto3" json:"failure,omitempty"` + // The result from the most recent completed run of this workflow. The SDK surfaces this to the + // new run via APIs such as `GetLastCompletionResult`. + LastCompletionResult *v1.Payloads `protobuf:"bytes,11,opt,name=last_completion_result,json=lastCompletionResult,proto3" json:"last_completion_result,omitempty"` + Header *v1.Header `protobuf:"bytes,12,opt,name=header,proto3" json:"header,omitempty"` + Memo *v1.Memo `protobuf:"bytes,13,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,14,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // If this is set, the new execution inherits the Build ID of the current execution. Otherwise, + // the assignment rules will be used to independently assign a Build ID to the new execution. + // Deprecated. Only considered for versioning v0.2. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + InheritBuildId bool `protobuf:"varint,15,opt,name=inherit_build_id,json=inheritBuildId,proto3" json:"inherit_build_id,omitempty"` + // Experimental. Optionally decide the versioning behavior that the first task of the new run should use. + // For example, choose to AutoUpgrade on continue-as-new instead of inheriting the pinned version + // of the previous run. + InitialVersioningBehavior v12.ContinueAsNewVersioningBehavior `protobuf:"varint,16,opt,name=initial_versioning_behavior,json=initialVersioningBehavior,proto3,enum=temporal.api.enums.v1.ContinueAsNewVersioningBehavior" json:"initial_versioning_behavior,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) Reset() { + *x = WorkflowExecutionContinuedAsNewEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionContinuedAsNewEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionContinuedAsNewEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionContinuedAsNewEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetNewExecutionRunId() string { + if x != nil { + return x.NewExecutionRunId + } + return "" +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetTaskQueue() *v11.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowRunTimeout + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowTaskTimeout + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetBackoffStartInterval() *durationpb.Duration { + if x != nil { + return x.BackoffStartInterval + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetInitiator() v12.ContinueAsNewInitiator { + if x != nil { + return x.Initiator + } + return v12.ContinueAsNewInitiator(0) +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetLastCompletionResult() *v1.Payloads { + if x != nil { + return x.LastCompletionResult + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetMemo() *v1.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetInheritBuildId() bool { + if x != nil { + return x.InheritBuildId + } + return false +} + +func (x *WorkflowExecutionContinuedAsNewEventAttributes) GetInitialVersioningBehavior() v12.ContinueAsNewVersioningBehavior { + if x != nil { + return x.InitialVersioningBehavior + } + return v12.ContinueAsNewVersioningBehavior(0) +} + +type WorkflowTaskScheduledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The task queue this workflow task was enqueued in, which could be a normal or sticky queue + TaskQueue *v11.TaskQueue `protobuf:"bytes,1,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // How long the worker has to process this task once receiving it before it times out + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + // Starting at 1, how many attempts there have been to complete this task + Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowTaskScheduledEventAttributes) Reset() { + *x = WorkflowTaskScheduledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowTaskScheduledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowTaskScheduledEventAttributes) ProtoMessage() {} + +func (x *WorkflowTaskScheduledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowTaskScheduledEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowTaskScheduledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *WorkflowTaskScheduledEventAttributes) GetTaskQueue() *v11.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *WorkflowTaskScheduledEventAttributes) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +func (x *WorkflowTaskScheduledEventAttributes) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +type WorkflowTaskStartedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // Identity of the worker who picked up this task + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // This field is populated from the RecordWorkflowTaskStartedRequest. Matching service would + // set the request_id on the RecordWorkflowTaskStartedRequest to a new UUID. This is useful + // in case a RecordWorkflowTaskStarted call succeed but matching doesn't get that response, + // so matching could retry and history service would return success if the request_id matches. + // In that case, matching will continue to deliver the task to worker. Without this field, history + // service would return AlreadyStarted error, and matching would drop the task. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // True if this workflow should continue-as-new soon. See `suggest_continue_as_new_reasons` for why. + SuggestContinueAsNew bool `protobuf:"varint,4,opt,name=suggest_continue_as_new,json=suggestContinueAsNew,proto3" json:"suggest_continue_as_new,omitempty"` + // The reason(s) that suggest_continue_as_new is true, if it is. + // Unset if suggest_continue_as_new is false. + SuggestContinueAsNewReasons []v12.SuggestContinueAsNewReason `protobuf:"varint,8,rep,packed,name=suggest_continue_as_new_reasons,json=suggestContinueAsNewReasons,proto3,enum=temporal.api.enums.v1.SuggestContinueAsNewReason" json:"suggest_continue_as_new_reasons,omitempty"` + // True if Workflow's Target Worker Deployment Version is different from its Pinned Version and + // the workflow is Pinned. + // Experimental. + TargetWorkerDeploymentVersionChanged bool `protobuf:"varint,9,opt,name=target_worker_deployment_version_changed,json=targetWorkerDeploymentVersionChanged,proto3" json:"target_worker_deployment_version_changed,omitempty"` + // Total history size in bytes, which the workflow might use to decide when to + // continue-as-new regardless of the suggestion. Note that history event count is + // just the event id of this event, so we don't include it explicitly here. + HistorySizeBytes int64 `protobuf:"varint,5,opt,name=history_size_bytes,json=historySizeBytes,proto3" json:"history_size_bytes,omitempty"` + // Version info of the worker to whom this task was dispatched. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + WorkerVersion *v1.WorkerVersionStamp `protobuf:"bytes,6,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + // Used by server internally to properly reapply build ID redirects to an execution + // when rebuilding it from events. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + BuildIdRedirectCounter int64 `protobuf:"varint,7,opt,name=build_id_redirect_counter,json=buildIdRedirectCounter,proto3" json:"build_id_redirect_counter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowTaskStartedEventAttributes) Reset() { + *x = WorkflowTaskStartedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowTaskStartedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowTaskStartedEventAttributes) ProtoMessage() {} + +func (x *WorkflowTaskStartedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowTaskStartedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowTaskStartedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *WorkflowTaskStartedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *WorkflowTaskStartedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *WorkflowTaskStartedEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *WorkflowTaskStartedEventAttributes) GetSuggestContinueAsNew() bool { + if x != nil { + return x.SuggestContinueAsNew + } + return false +} + +func (x *WorkflowTaskStartedEventAttributes) GetSuggestContinueAsNewReasons() []v12.SuggestContinueAsNewReason { + if x != nil { + return x.SuggestContinueAsNewReasons + } + return nil +} + +func (x *WorkflowTaskStartedEventAttributes) GetTargetWorkerDeploymentVersionChanged() bool { + if x != nil { + return x.TargetWorkerDeploymentVersionChanged + } + return false +} + +func (x *WorkflowTaskStartedEventAttributes) GetHistorySizeBytes() int64 { + if x != nil { + return x.HistorySizeBytes + } + return 0 +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowTaskStartedEventAttributes) GetWorkerVersion() *v1.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowTaskStartedEventAttributes) GetBuildIdRedirectCounter() int64 { + if x != nil { + return x.BuildIdRedirectCounter + } + return 0 +} + +type WorkflowTaskCompletedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The id of the `WORKFLOW_TASK_STARTED` event this task corresponds to + StartedEventId int64 `protobuf:"varint,2,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + // Identity of the worker who completed this task + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // Binary ID of the worker who completed this task + // Deprecated. Replaced with `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + BinaryChecksum string `protobuf:"bytes,4,opt,name=binary_checksum,json=binaryChecksum,proto3" json:"binary_checksum,omitempty"` + // Version info of the worker who processed this workflow task. If present, the `build_id` field + // within is also used as `binary_checksum`, which may be omitted in that case (it may also be + // populated to preserve compatibility). + // Deprecated. Use `deployment_version` and `versioning_behavior` instead. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + WorkerVersion *v1.WorkerVersionStamp `protobuf:"bytes,5,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + // Data the SDK wishes to record for itself, but server need not interpret, and does not + // directly impact workflow state. + SdkMetadata *v16.WorkflowTaskCompletedMetadata `protobuf:"bytes,6,opt,name=sdk_metadata,json=sdkMetadata,proto3" json:"sdk_metadata,omitempty"` + // Local usage data sent during workflow task completion and recorded here for posterity + MeteringMetadata *v1.MeteringMetadata `protobuf:"bytes,13,opt,name=metering_metadata,json=meteringMetadata,proto3" json:"metering_metadata,omitempty"` + // The deployment that completed this task. May or may not be set for unversioned workers, + // depending on whether a value is sent by the SDK. This value updates workflow execution's + // `versioning_info.deployment`. + // Deprecated. Replaced with `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + Deployment *v15.Deployment `protobuf:"bytes,7,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Versioning behavior sent by the worker that completed this task for this particular workflow + // execution. UNSPECIFIED means the task was completed by an unversioned worker. This value + // updates workflow execution's `versioning_info.behavior`. + VersioningBehavior v12.VersioningBehavior `protobuf:"varint,8,opt,name=versioning_behavior,json=versioningBehavior,proto3,enum=temporal.api.enums.v1.VersioningBehavior" json:"versioning_behavior,omitempty"` + // The Worker Deployment Version that completed this task. Must be set if `versioning_behavior` + // is set. This value updates workflow execution's `versioning_info.version`. + // Deprecated. Replaced with `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + WorkerDeploymentVersion string `protobuf:"bytes,9,opt,name=worker_deployment_version,json=workerDeploymentVersion,proto3" json:"worker_deployment_version,omitempty"` + // The name of Worker Deployment that completed this task. Must be set if `versioning_behavior` + // is set. This value updates workflow execution's `worker_deployment_name`. + WorkerDeploymentName string `protobuf:"bytes,10,opt,name=worker_deployment_name,json=workerDeploymentName,proto3" json:"worker_deployment_name,omitempty"` + // The Worker Deployment Version that completed this task. Must be set if `versioning_behavior` + // is set. This value updates workflow execution's `versioning_info.deployment_version`. + DeploymentVersion *v15.WorkerDeploymentVersion `protobuf:"bytes,11,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowTaskCompletedEventAttributes) Reset() { + *x = WorkflowTaskCompletedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowTaskCompletedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowTaskCompletedEventAttributes) ProtoMessage() {} + +func (x *WorkflowTaskCompletedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowTaskCompletedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowTaskCompletedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *WorkflowTaskCompletedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *WorkflowTaskCompletedEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *WorkflowTaskCompletedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowTaskCompletedEventAttributes) GetBinaryChecksum() string { + if x != nil { + return x.BinaryChecksum + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowTaskCompletedEventAttributes) GetWorkerVersion() *v1.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +func (x *WorkflowTaskCompletedEventAttributes) GetSdkMetadata() *v16.WorkflowTaskCompletedMetadata { + if x != nil { + return x.SdkMetadata + } + return nil +} + +func (x *WorkflowTaskCompletedEventAttributes) GetMeteringMetadata() *v1.MeteringMetadata { + if x != nil { + return x.MeteringMetadata + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowTaskCompletedEventAttributes) GetDeployment() *v15.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *WorkflowTaskCompletedEventAttributes) GetVersioningBehavior() v12.VersioningBehavior { + if x != nil { + return x.VersioningBehavior + } + return v12.VersioningBehavior(0) +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowTaskCompletedEventAttributes) GetWorkerDeploymentVersion() string { + if x != nil { + return x.WorkerDeploymentVersion + } + return "" +} + +func (x *WorkflowTaskCompletedEventAttributes) GetWorkerDeploymentName() string { + if x != nil { + return x.WorkerDeploymentName + } + return "" +} + +func (x *WorkflowTaskCompletedEventAttributes) GetDeploymentVersion() *v15.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +type WorkflowTaskTimedOutEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The id of the `WORKFLOW_TASK_STARTED` event this task corresponds to + StartedEventId int64 `protobuf:"varint,2,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + TimeoutType v12.TimeoutType `protobuf:"varint,3,opt,name=timeout_type,json=timeoutType,proto3,enum=temporal.api.enums.v1.TimeoutType" json:"timeout_type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowTaskTimedOutEventAttributes) Reset() { + *x = WorkflowTaskTimedOutEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowTaskTimedOutEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowTaskTimedOutEventAttributes) ProtoMessage() {} + +func (x *WorkflowTaskTimedOutEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowTaskTimedOutEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowTaskTimedOutEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *WorkflowTaskTimedOutEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *WorkflowTaskTimedOutEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *WorkflowTaskTimedOutEventAttributes) GetTimeoutType() v12.TimeoutType { + if x != nil { + return x.TimeoutType + } + return v12.TimeoutType(0) +} + +type WorkflowTaskFailedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the `WORKFLOW_TASK_SCHEDULED` event this task corresponds to + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The id of the `WORKFLOW_TASK_STARTED` event this task corresponds to + StartedEventId int64 `protobuf:"varint,2,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + Cause v12.WorkflowTaskFailedCause `protobuf:"varint,3,opt,name=cause,proto3,enum=temporal.api.enums.v1.WorkflowTaskFailedCause" json:"cause,omitempty"` + // The failure details + Failure *v13.Failure `protobuf:"bytes,4,opt,name=failure,proto3" json:"failure,omitempty"` + // If a worker explicitly failed this task, this field contains the worker's identity. + // When the server generates the failure internally this field is set as 'history-service'. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // The original run id of the workflow. For reset workflow. + BaseRunId string `protobuf:"bytes,6,opt,name=base_run_id,json=baseRunId,proto3" json:"base_run_id,omitempty"` + // If the workflow is being reset, the new run id. + NewRunId string `protobuf:"bytes,7,opt,name=new_run_id,json=newRunId,proto3" json:"new_run_id,omitempty"` + // Version of the event where the history branch was forked. Used by multi-cluster replication + // during resets to identify the correct history branch. + ForkEventVersion int64 `protobuf:"varint,8,opt,name=fork_event_version,json=forkEventVersion,proto3" json:"fork_event_version,omitempty"` + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // If a worker explicitly failed this task, its binary id + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + BinaryChecksum string `protobuf:"bytes,9,opt,name=binary_checksum,json=binaryChecksum,proto3" json:"binary_checksum,omitempty"` + // Version info of the worker who processed this workflow task. If present, the `build_id` field + // within is also used as `binary_checksum`, which may be omitted in that case (it may also be + // populated to preserve compatibility). + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + WorkerVersion *v1.WorkerVersionStamp `protobuf:"bytes,10,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowTaskFailedEventAttributes) Reset() { + *x = WorkflowTaskFailedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowTaskFailedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowTaskFailedEventAttributes) ProtoMessage() {} + +func (x *WorkflowTaskFailedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowTaskFailedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowTaskFailedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *WorkflowTaskFailedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *WorkflowTaskFailedEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *WorkflowTaskFailedEventAttributes) GetCause() v12.WorkflowTaskFailedCause { + if x != nil { + return x.Cause + } + return v12.WorkflowTaskFailedCause(0) +} + +func (x *WorkflowTaskFailedEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *WorkflowTaskFailedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *WorkflowTaskFailedEventAttributes) GetBaseRunId() string { + if x != nil { + return x.BaseRunId + } + return "" +} + +func (x *WorkflowTaskFailedEventAttributes) GetNewRunId() string { + if x != nil { + return x.NewRunId + } + return "" +} + +func (x *WorkflowTaskFailedEventAttributes) GetForkEventVersion() int64 { + if x != nil { + return x.ForkEventVersion + } + return 0 +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowTaskFailedEventAttributes) GetBinaryChecksum() string { + if x != nil { + return x.BinaryChecksum + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowTaskFailedEventAttributes) GetWorkerVersion() *v1.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +type ActivityTaskScheduledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The worker/user assigned identifier for the activity + ActivityId string `protobuf:"bytes,1,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + ActivityType *v1.ActivityType `protobuf:"bytes,2,opt,name=activity_type,json=activityType,proto3" json:"activity_type,omitempty"` + TaskQueue *v11.TaskQueue `protobuf:"bytes,4,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + Header *v1.Header `protobuf:"bytes,5,opt,name=header,proto3" json:"header,omitempty"` + Input *v1.Payloads `protobuf:"bytes,6,opt,name=input,proto3" json:"input,omitempty"` + // Indicates how long the caller is willing to wait for an activity completion. Limits how long + // retries will be attempted. Either this or `start_to_close_timeout` must be specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Limits time an activity task can stay in a task queue before a worker picks it up. This + // timeout is always non retryable, as all a retry would achieve is to put it back into the same + // queue. Defaults to `schedule_to_close_timeout` or workflow execution timeout if not + // specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Maximum time an activity is allowed to execute after being picked up by a worker. This + // timeout is always retryable. Either this or `schedule_to_close_timeout` must be + // specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,9,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + // Maximum permitted time between successful worker heartbeats. + HeartbeatTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=heartbeat_timeout,json=heartbeatTimeout,proto3" json:"heartbeat_timeout,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,11,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // Activities are assigned a default retry policy controlled by the service's dynamic + // configuration. Retries will happen up to `schedule_to_close_timeout`. To disable retries set + // retry_policy.maximum_attempts to 1. + RetryPolicy *v1.RetryPolicy `protobuf:"bytes,12,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // If this is set, the activity would be assigned to the Build ID of the workflow. Otherwise, + // Assignment rules of the activity's Task Queue will be used to determine the Build ID. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + UseWorkflowBuildId bool `protobuf:"varint,13,opt,name=use_workflow_build_id,json=useWorkflowBuildId,proto3" json:"use_workflow_build_id,omitempty"` + // Priority metadata. If this message is not present, or any fields are not + // present, they inherit the values from the workflow. + Priority *v1.Priority `protobuf:"bytes,14,opt,name=priority,proto3" json:"priority,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityTaskScheduledEventAttributes) Reset() { + *x = ActivityTaskScheduledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityTaskScheduledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityTaskScheduledEventAttributes) ProtoMessage() {} + +func (x *ActivityTaskScheduledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityTaskScheduledEventAttributes.ProtoReflect.Descriptor instead. +func (*ActivityTaskScheduledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{11} +} + +func (x *ActivityTaskScheduledEventAttributes) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *ActivityTaskScheduledEventAttributes) GetActivityType() *v1.ActivityType { + if x != nil { + return x.ActivityType + } + return nil +} + +func (x *ActivityTaskScheduledEventAttributes) GetTaskQueue() *v11.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *ActivityTaskScheduledEventAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *ActivityTaskScheduledEventAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *ActivityTaskScheduledEventAttributes) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *ActivityTaskScheduledEventAttributes) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *ActivityTaskScheduledEventAttributes) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +func (x *ActivityTaskScheduledEventAttributes) GetHeartbeatTimeout() *durationpb.Duration { + if x != nil { + return x.HeartbeatTimeout + } + return nil +} + +func (x *ActivityTaskScheduledEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *ActivityTaskScheduledEventAttributes) GetRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *ActivityTaskScheduledEventAttributes) GetUseWorkflowBuildId() bool { + if x != nil { + return x.UseWorkflowBuildId + } + return false +} + +func (x *ActivityTaskScheduledEventAttributes) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +type ActivityTaskStartedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the `ACTIVITY_TASK_SCHEDULED` event this task corresponds to + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // id of the worker that picked up this task + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // This field is populated from the RecordActivityTaskStartedRequest. Matching service would + // set the request_id on the RecordActivityTaskStartedRequest to a new UUID. This is useful + // in case a RecordActivityTaskStarted call succeed but matching doesn't get that response, + // so matching could retry and history service would return success if the request_id matches. + // In that case, matching will continue to deliver the task to worker. Without this field, history + // service would return AlreadyStarted error, and matching would drop the task. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Starting at 1, the number of times this task has been attempted + Attempt int32 `protobuf:"varint,4,opt,name=attempt,proto3" json:"attempt,omitempty"` + // Will be set to the most recent failure details, if this task has previously failed and then + // been retried. + LastFailure *v13.Failure `protobuf:"bytes,5,opt,name=last_failure,json=lastFailure,proto3" json:"last_failure,omitempty"` + // Version info of the worker to whom this task was dispatched. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + WorkerVersion *v1.WorkerVersionStamp `protobuf:"bytes,6,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + // Used by server internally to properly reapply build ID redirects to an execution + // when rebuilding it from events. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + BuildIdRedirectCounter int64 `protobuf:"varint,7,opt,name=build_id_redirect_counter,json=buildIdRedirectCounter,proto3" json:"build_id_redirect_counter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityTaskStartedEventAttributes) Reset() { + *x = ActivityTaskStartedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityTaskStartedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityTaskStartedEventAttributes) ProtoMessage() {} + +func (x *ActivityTaskStartedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityTaskStartedEventAttributes.ProtoReflect.Descriptor instead. +func (*ActivityTaskStartedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{12} +} + +func (x *ActivityTaskStartedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *ActivityTaskStartedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *ActivityTaskStartedEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *ActivityTaskStartedEventAttributes) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *ActivityTaskStartedEventAttributes) GetLastFailure() *v13.Failure { + if x != nil { + return x.LastFailure + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *ActivityTaskStartedEventAttributes) GetWorkerVersion() *v1.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *ActivityTaskStartedEventAttributes) GetBuildIdRedirectCounter() int64 { + if x != nil { + return x.BuildIdRedirectCounter + } + return 0 +} + +type ActivityTaskCompletedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Serialized results of the activity. IE: The return value of the activity function + Result *v1.Payloads `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + // The id of the `ACTIVITY_TASK_SCHEDULED` event this completion corresponds to + ScheduledEventId int64 `protobuf:"varint,2,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The id of the `ACTIVITY_TASK_STARTED` event this completion corresponds to + StartedEventId int64 `protobuf:"varint,3,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + // id of the worker that completed this task + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // Version info of the worker who processed this workflow task. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + WorkerVersion *v1.WorkerVersionStamp `protobuf:"bytes,5,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityTaskCompletedEventAttributes) Reset() { + *x = ActivityTaskCompletedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityTaskCompletedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityTaskCompletedEventAttributes) ProtoMessage() {} + +func (x *ActivityTaskCompletedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityTaskCompletedEventAttributes.ProtoReflect.Descriptor instead. +func (*ActivityTaskCompletedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{13} +} + +func (x *ActivityTaskCompletedEventAttributes) GetResult() *v1.Payloads { + if x != nil { + return x.Result + } + return nil +} + +func (x *ActivityTaskCompletedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *ActivityTaskCompletedEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *ActivityTaskCompletedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *ActivityTaskCompletedEventAttributes) GetWorkerVersion() *v1.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +type ActivityTaskFailedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Failure details + Failure *v13.Failure `protobuf:"bytes,1,opt,name=failure,proto3" json:"failure,omitempty"` + // The id of the `ACTIVITY_TASK_SCHEDULED` event this failure corresponds to + ScheduledEventId int64 `protobuf:"varint,2,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The id of the `ACTIVITY_TASK_STARTED` event this failure corresponds to + StartedEventId int64 `protobuf:"varint,3,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + // id of the worker that failed this task + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + RetryState v12.RetryState `protobuf:"varint,5,opt,name=retry_state,json=retryState,proto3,enum=temporal.api.enums.v1.RetryState" json:"retry_state,omitempty"` + // Version info of the worker who processed this workflow task. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + WorkerVersion *v1.WorkerVersionStamp `protobuf:"bytes,6,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityTaskFailedEventAttributes) Reset() { + *x = ActivityTaskFailedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityTaskFailedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityTaskFailedEventAttributes) ProtoMessage() {} + +func (x *ActivityTaskFailedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityTaskFailedEventAttributes.ProtoReflect.Descriptor instead. +func (*ActivityTaskFailedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{14} +} + +func (x *ActivityTaskFailedEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *ActivityTaskFailedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *ActivityTaskFailedEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *ActivityTaskFailedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *ActivityTaskFailedEventAttributes) GetRetryState() v12.RetryState { + if x != nil { + return x.RetryState + } + return v12.RetryState(0) +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *ActivityTaskFailedEventAttributes) GetWorkerVersion() *v1.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +type ActivityTaskTimedOutEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If this activity had failed, was retried, and then timed out, that failure is stored as the + // `cause` in here. + Failure *v13.Failure `protobuf:"bytes,1,opt,name=failure,proto3" json:"failure,omitempty"` + // The id of the `ACTIVITY_TASK_SCHEDULED` event this timeout corresponds to + ScheduledEventId int64 `protobuf:"varint,2,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The id of the `ACTIVITY_TASK_STARTED` event this timeout corresponds to + StartedEventId int64 `protobuf:"varint,3,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + RetryState v12.RetryState `protobuf:"varint,4,opt,name=retry_state,json=retryState,proto3,enum=temporal.api.enums.v1.RetryState" json:"retry_state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityTaskTimedOutEventAttributes) Reset() { + *x = ActivityTaskTimedOutEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityTaskTimedOutEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityTaskTimedOutEventAttributes) ProtoMessage() {} + +func (x *ActivityTaskTimedOutEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityTaskTimedOutEventAttributes.ProtoReflect.Descriptor instead. +func (*ActivityTaskTimedOutEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{15} +} + +func (x *ActivityTaskTimedOutEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *ActivityTaskTimedOutEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *ActivityTaskTimedOutEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *ActivityTaskTimedOutEventAttributes) GetRetryState() v12.RetryState { + if x != nil { + return x.RetryState + } + return v12.RetryState(0) +} + +type ActivityTaskCancelRequestedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the `ACTIVITY_TASK_SCHEDULED` event this cancel request corresponds to + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,2,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityTaskCancelRequestedEventAttributes) Reset() { + *x = ActivityTaskCancelRequestedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityTaskCancelRequestedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityTaskCancelRequestedEventAttributes) ProtoMessage() {} + +func (x *ActivityTaskCancelRequestedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityTaskCancelRequestedEventAttributes.ProtoReflect.Descriptor instead. +func (*ActivityTaskCancelRequestedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{16} +} + +func (x *ActivityTaskCancelRequestedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *ActivityTaskCancelRequestedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +type ActivityTaskCanceledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Additional information that the activity reported upon confirming cancellation + Details *v1.Payloads `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` + // id of the most recent `ACTIVITY_TASK_CANCEL_REQUESTED` event which refers to the same + // activity + LatestCancelRequestedEventId int64 `protobuf:"varint,2,opt,name=latest_cancel_requested_event_id,json=latestCancelRequestedEventId,proto3" json:"latest_cancel_requested_event_id,omitempty"` + // The id of the `ACTIVITY_TASK_SCHEDULED` event this cancel confirmation corresponds to + ScheduledEventId int64 `protobuf:"varint,3,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The id of the `ACTIVITY_TASK_STARTED` event this cancel confirmation corresponds to + StartedEventId int64 `protobuf:"varint,4,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + // id of the worker who canceled this activity + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // Version info of the worker who processed this workflow task. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + WorkerVersion *v1.WorkerVersionStamp `protobuf:"bytes,6,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityTaskCanceledEventAttributes) Reset() { + *x = ActivityTaskCanceledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityTaskCanceledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityTaskCanceledEventAttributes) ProtoMessage() {} + +func (x *ActivityTaskCanceledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityTaskCanceledEventAttributes.ProtoReflect.Descriptor instead. +func (*ActivityTaskCanceledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{17} +} + +func (x *ActivityTaskCanceledEventAttributes) GetDetails() *v1.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *ActivityTaskCanceledEventAttributes) GetLatestCancelRequestedEventId() int64 { + if x != nil { + return x.LatestCancelRequestedEventId + } + return 0 +} + +func (x *ActivityTaskCanceledEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *ActivityTaskCanceledEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *ActivityTaskCanceledEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *ActivityTaskCanceledEventAttributes) GetWorkerVersion() *v1.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +type TimerStartedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The worker/user assigned id for this timer + TimerId string `protobuf:"bytes,1,opt,name=timer_id,json=timerId,proto3" json:"timer_id,omitempty"` + // How long until this timer fires + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToFireTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=start_to_fire_timeout,json=startToFireTimeout,proto3" json:"start_to_fire_timeout,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,3,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimerStartedEventAttributes) Reset() { + *x = TimerStartedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimerStartedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimerStartedEventAttributes) ProtoMessage() {} + +func (x *TimerStartedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimerStartedEventAttributes.ProtoReflect.Descriptor instead. +func (*TimerStartedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{18} +} + +func (x *TimerStartedEventAttributes) GetTimerId() string { + if x != nil { + return x.TimerId + } + return "" +} + +func (x *TimerStartedEventAttributes) GetStartToFireTimeout() *durationpb.Duration { + if x != nil { + return x.StartToFireTimeout + } + return nil +} + +func (x *TimerStartedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +type TimerFiredEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Will match the `timer_id` from `TIMER_STARTED` event for this timer + TimerId string `protobuf:"bytes,1,opt,name=timer_id,json=timerId,proto3" json:"timer_id,omitempty"` + // The id of the `TIMER_STARTED` event itself + StartedEventId int64 `protobuf:"varint,2,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimerFiredEventAttributes) Reset() { + *x = TimerFiredEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimerFiredEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimerFiredEventAttributes) ProtoMessage() {} + +func (x *TimerFiredEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimerFiredEventAttributes.ProtoReflect.Descriptor instead. +func (*TimerFiredEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{19} +} + +func (x *TimerFiredEventAttributes) GetTimerId() string { + if x != nil { + return x.TimerId + } + return "" +} + +func (x *TimerFiredEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +type TimerCanceledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Will match the `timer_id` from `TIMER_STARTED` event for this timer + TimerId string `protobuf:"bytes,1,opt,name=timer_id,json=timerId,proto3" json:"timer_id,omitempty"` + // The id of the `TIMER_STARTED` event itself + StartedEventId int64 `protobuf:"varint,2,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,3,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // The id of the worker who requested this cancel + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimerCanceledEventAttributes) Reset() { + *x = TimerCanceledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimerCanceledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimerCanceledEventAttributes) ProtoMessage() {} + +func (x *TimerCanceledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimerCanceledEventAttributes.ProtoReflect.Descriptor instead. +func (*TimerCanceledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{20} +} + +func (x *TimerCanceledEventAttributes) GetTimerId() string { + if x != nil { + return x.TimerId + } + return "" +} + +func (x *TimerCanceledEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *TimerCanceledEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *TimerCanceledEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type WorkflowExecutionCancelRequestedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // User provided reason for requesting cancellation + Cause string `protobuf:"bytes,1,opt,name=cause,proto3" json:"cause,omitempty"` + // The ID of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event in the external + // workflow history when the cancellation was requested by another workflow. + ExternalInitiatedEventId int64 `protobuf:"varint,2,opt,name=external_initiated_event_id,json=externalInitiatedEventId,proto3" json:"external_initiated_event_id,omitempty"` + ExternalWorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=external_workflow_execution,json=externalWorkflowExecution,proto3" json:"external_workflow_execution,omitempty"` + // id of the worker or client who requested this cancel + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionCancelRequestedEventAttributes) Reset() { + *x = WorkflowExecutionCancelRequestedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionCancelRequestedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionCancelRequestedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionCancelRequestedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionCancelRequestedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionCancelRequestedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{21} +} + +func (x *WorkflowExecutionCancelRequestedEventAttributes) GetCause() string { + if x != nil { + return x.Cause + } + return "" +} + +func (x *WorkflowExecutionCancelRequestedEventAttributes) GetExternalInitiatedEventId() int64 { + if x != nil { + return x.ExternalInitiatedEventId + } + return 0 +} + +func (x *WorkflowExecutionCancelRequestedEventAttributes) GetExternalWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.ExternalWorkflowExecution + } + return nil +} + +func (x *WorkflowExecutionCancelRequestedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type WorkflowExecutionCanceledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,1,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + Details *v1.Payloads `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionCanceledEventAttributes) Reset() { + *x = WorkflowExecutionCanceledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionCanceledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionCanceledEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionCanceledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionCanceledEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionCanceledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{22} +} + +func (x *WorkflowExecutionCanceledEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *WorkflowExecutionCanceledEventAttributes) GetDetails() *v1.Payloads { + if x != nil { + return x.Details + } + return nil +} + +type MarkerRecordedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Workers use this to identify the "types" of various markers. Ex: Local activity, side effect. + MarkerName string `protobuf:"bytes,1,opt,name=marker_name,json=markerName,proto3" json:"marker_name,omitempty"` + // Serialized information recorded in the marker + Details map[string]*v1.Payloads `protobuf:"bytes,2,rep,name=details,proto3" json:"details,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,3,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + Header *v1.Header `protobuf:"bytes,4,opt,name=header,proto3" json:"header,omitempty"` + // Some uses of markers, like a local activity, could "fail". If they did that is recorded here. + Failure *v13.Failure `protobuf:"bytes,5,opt,name=failure,proto3" json:"failure,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *MarkerRecordedEventAttributes) Reset() { + *x = MarkerRecordedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *MarkerRecordedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MarkerRecordedEventAttributes) ProtoMessage() {} + +func (x *MarkerRecordedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MarkerRecordedEventAttributes.ProtoReflect.Descriptor instead. +func (*MarkerRecordedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{23} +} + +func (x *MarkerRecordedEventAttributes) GetMarkerName() string { + if x != nil { + return x.MarkerName + } + return "" +} + +func (x *MarkerRecordedEventAttributes) GetDetails() map[string]*v1.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *MarkerRecordedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *MarkerRecordedEventAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *MarkerRecordedEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +type WorkflowExecutionSignaledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The name/type of the signal to fire + SignalName string `protobuf:"bytes,1,opt,name=signal_name,json=signalName,proto3" json:"signal_name,omitempty"` + // Will be deserialized and provided as argument(s) to the signal handler + Input *v1.Payloads `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"` + // id of the worker/client who sent this signal + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // Headers that were passed by the sender of the signal and copied by temporal + // server into the workflow task. + Header *v1.Header `protobuf:"bytes,4,opt,name=header,proto3" json:"header,omitempty"` + // Deprecated. This field is never respected and should always be set to false. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + SkipGenerateWorkflowTask bool `protobuf:"varint,5,opt,name=skip_generate_workflow_task,json=skipGenerateWorkflowTask,proto3" json:"skip_generate_workflow_task,omitempty"` + // When signal origin is a workflow execution, this field is set. + ExternalWorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,6,opt,name=external_workflow_execution,json=externalWorkflowExecution,proto3" json:"external_workflow_execution,omitempty"` + // The request ID of the Signal request, used by the server to attach this to + // the correct Event ID when generating link. + RequestId string `protobuf:"bytes,7,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionSignaledEventAttributes) Reset() { + *x = WorkflowExecutionSignaledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionSignaledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionSignaledEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionSignaledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionSignaledEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionSignaledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{24} +} + +func (x *WorkflowExecutionSignaledEventAttributes) GetSignalName() string { + if x != nil { + return x.SignalName + } + return "" +} + +func (x *WorkflowExecutionSignaledEventAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *WorkflowExecutionSignaledEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *WorkflowExecutionSignaledEventAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *WorkflowExecutionSignaledEventAttributes) GetSkipGenerateWorkflowTask() bool { + if x != nil { + return x.SkipGenerateWorkflowTask + } + return false +} + +func (x *WorkflowExecutionSignaledEventAttributes) GetExternalWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.ExternalWorkflowExecution + } + return nil +} + +func (x *WorkflowExecutionSignaledEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type WorkflowExecutionTerminatedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // User/client provided reason for termination + Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` + Details *v1.Payloads `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // id of the client who requested termination + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionTerminatedEventAttributes) Reset() { + *x = WorkflowExecutionTerminatedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionTerminatedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionTerminatedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionTerminatedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionTerminatedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionTerminatedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{25} +} + +func (x *WorkflowExecutionTerminatedEventAttributes) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *WorkflowExecutionTerminatedEventAttributes) GetDetails() *v1.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *WorkflowExecutionTerminatedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type RequestCancelExternalWorkflowExecutionInitiatedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,1,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // The namespace the workflow to be cancelled lives in. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,7,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + Control string `protobuf:"bytes,4,opt,name=control,proto3" json:"control,omitempty"` + // Workers are expected to set this to true if the workflow they are requesting to cancel is + // a child of the workflow which issued the request + ChildWorkflowOnly bool `protobuf:"varint,5,opt,name=child_workflow_only,json=childWorkflowOnly,proto3" json:"child_workflow_only,omitempty"` + // Reason for requesting the cancellation + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) Reset() { + *x = RequestCancelExternalWorkflowExecutionInitiatedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) ProtoMessage() {} + +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelExternalWorkflowExecutionInitiatedEventAttributes.ProtoReflect.Descriptor instead. +func (*RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{26} +} + +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) GetChildWorkflowOnly() bool { + if x != nil { + return x.ChildWorkflowOnly + } + return false +} + +func (x *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type RequestCancelExternalWorkflowExecutionFailedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + Cause v12.CancelExternalWorkflowExecutionFailedCause `protobuf:"varint,1,opt,name=cause,proto3,enum=temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCause" json:"cause,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,2,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // Namespace of the workflow which failed to cancel. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,7,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,4,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + // id of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this failure + // corresponds to + InitiatedEventId int64 `protobuf:"varint,5,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + Control string `protobuf:"bytes,6,opt,name=control,proto3" json:"control,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) Reset() { + *x = RequestCancelExternalWorkflowExecutionFailedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelExternalWorkflowExecutionFailedEventAttributes) ProtoMessage() {} + +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelExternalWorkflowExecutionFailedEventAttributes.ProtoReflect.Descriptor instead. +func (*RequestCancelExternalWorkflowExecutionFailedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{27} +} + +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) GetCause() v12.CancelExternalWorkflowExecutionFailedCause { + if x != nil { + return x.Cause + } + return v12.CancelExternalWorkflowExecutionFailedCause(0) +} + +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *RequestCancelExternalWorkflowExecutionFailedEventAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +type ExternalWorkflowExecutionCancelRequestedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // id of the `REQUEST_CANCEL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this event corresponds + // to + InitiatedEventId int64 `protobuf:"varint,1,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // Namespace of the to-be-cancelled workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,4,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalWorkflowExecutionCancelRequestedEventAttributes) Reset() { + *x = ExternalWorkflowExecutionCancelRequestedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalWorkflowExecutionCancelRequestedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkflowExecutionCancelRequestedEventAttributes) ProtoMessage() {} + +func (x *ExternalWorkflowExecutionCancelRequestedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkflowExecutionCancelRequestedEventAttributes.ProtoReflect.Descriptor instead. +func (*ExternalWorkflowExecutionCancelRequestedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{28} +} + +func (x *ExternalWorkflowExecutionCancelRequestedEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *ExternalWorkflowExecutionCancelRequestedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ExternalWorkflowExecutionCancelRequestedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *ExternalWorkflowExecutionCancelRequestedEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +type SignalExternalWorkflowExecutionInitiatedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,1,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // Namespace of the to-be-signalled workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,9,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + // name/type of the signal to fire in the external workflow + SignalName string `protobuf:"bytes,4,opt,name=signal_name,json=signalName,proto3" json:"signal_name,omitempty"` + // Serialized arguments to provide to the signal handler + Input *v1.Payloads `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + Control string `protobuf:"bytes,6,opt,name=control,proto3" json:"control,omitempty"` + // Workers are expected to set this to true if the workflow they are requesting to cancel is + // a child of the workflow which issued the request + ChildWorkflowOnly bool `protobuf:"varint,7,opt,name=child_workflow_only,json=childWorkflowOnly,proto3" json:"child_workflow_only,omitempty"` + Header *v1.Header `protobuf:"bytes,8,opt,name=header,proto3" json:"header,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) Reset() { + *x = SignalExternalWorkflowExecutionInitiatedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignalExternalWorkflowExecutionInitiatedEventAttributes) ProtoMessage() {} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignalExternalWorkflowExecutionInitiatedEventAttributes.ProtoReflect.Descriptor instead. +func (*SignalExternalWorkflowExecutionInitiatedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{29} +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) GetSignalName() string { + if x != nil { + return x.SignalName + } + return "" +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) GetChildWorkflowOnly() bool { + if x != nil { + return x.ChildWorkflowOnly + } + return false +} + +func (x *SignalExternalWorkflowExecutionInitiatedEventAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +type SignalExternalWorkflowExecutionFailedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + Cause v12.SignalExternalWorkflowExecutionFailedCause `protobuf:"varint,1,opt,name=cause,proto3,enum=temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCause" json:"cause,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,2,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // Namespace of the workflow which failed the signal. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,3,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,7,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,4,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + InitiatedEventId int64 `protobuf:"varint,5,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + Control string `protobuf:"bytes,6,opt,name=control,proto3" json:"control,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) Reset() { + *x = SignalExternalWorkflowExecutionFailedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignalExternalWorkflowExecutionFailedEventAttributes) ProtoMessage() {} + +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignalExternalWorkflowExecutionFailedEventAttributes.ProtoReflect.Descriptor instead. +func (*SignalExternalWorkflowExecutionFailedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{30} +} + +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) GetCause() v12.SignalExternalWorkflowExecutionFailedCause { + if x != nil { + return x.Cause + } + return v12.SignalExternalWorkflowExecutionFailedCause(0) +} + +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *SignalExternalWorkflowExecutionFailedEventAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +type ExternalWorkflowExecutionSignaledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // id of the `SIGNAL_EXTERNAL_WORKFLOW_EXECUTION_INITIATED` event this event corresponds to + InitiatedEventId int64 `protobuf:"varint,1,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // Namespace of the workflow which was signaled. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,5,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + Control string `protobuf:"bytes,4,opt,name=control,proto3" json:"control,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalWorkflowExecutionSignaledEventAttributes) Reset() { + *x = ExternalWorkflowExecutionSignaledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalWorkflowExecutionSignaledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalWorkflowExecutionSignaledEventAttributes) ProtoMessage() {} + +func (x *ExternalWorkflowExecutionSignaledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalWorkflowExecutionSignaledEventAttributes.ProtoReflect.Descriptor instead. +func (*ExternalWorkflowExecutionSignaledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{31} +} + +func (x *ExternalWorkflowExecutionSignaledEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *ExternalWorkflowExecutionSignaledEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ExternalWorkflowExecutionSignaledEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *ExternalWorkflowExecutionSignaledEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *ExternalWorkflowExecutionSignaledEventAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +type UpsertWorkflowSearchAttributesEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,1,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,2,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpsertWorkflowSearchAttributesEventAttributes) Reset() { + *x = UpsertWorkflowSearchAttributesEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpsertWorkflowSearchAttributesEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpsertWorkflowSearchAttributesEventAttributes) ProtoMessage() {} + +func (x *UpsertWorkflowSearchAttributesEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpsertWorkflowSearchAttributesEventAttributes.ProtoReflect.Descriptor instead. +func (*UpsertWorkflowSearchAttributesEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{32} +} + +func (x *UpsertWorkflowSearchAttributesEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *UpsertWorkflowSearchAttributesEventAttributes) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +type WorkflowPropertiesModifiedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,1,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // If set, update the workflow memo with the provided values. The values will be merged with + // the existing memo. If the user wants to delete values, a default/empty Payload should be + // used as the value for the key being deleted. + UpsertedMemo *v1.Memo `protobuf:"bytes,2,opt,name=upserted_memo,json=upsertedMemo,proto3" json:"upserted_memo,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowPropertiesModifiedEventAttributes) Reset() { + *x = WorkflowPropertiesModifiedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowPropertiesModifiedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowPropertiesModifiedEventAttributes) ProtoMessage() {} + +func (x *WorkflowPropertiesModifiedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowPropertiesModifiedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowPropertiesModifiedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{33} +} + +func (x *WorkflowPropertiesModifiedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *WorkflowPropertiesModifiedEventAttributes) GetUpsertedMemo() *v1.Memo { + if x != nil { + return x.UpsertedMemo + } + return nil +} + +type StartChildWorkflowExecutionInitiatedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the child workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,18,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + TaskQueue *v11.TaskQueue `protobuf:"bytes,4,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + Input *v1.Payloads `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"` + // Total workflow execution timeout including retries and continue as new. + WorkflowExecutionTimeout *durationpb.Duration `protobuf:"bytes,6,opt,name=workflow_execution_timeout,json=workflowExecutionTimeout,proto3" json:"workflow_execution_timeout,omitempty"` + // Timeout of a single workflow run. + WorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=workflow_run_timeout,json=workflowRunTimeout,proto3" json:"workflow_run_timeout,omitempty"` + // Timeout of a single workflow task. + WorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=workflow_task_timeout,json=workflowTaskTimeout,proto3" json:"workflow_task_timeout,omitempty"` + // Default: PARENT_CLOSE_POLICY_TERMINATE. + ParentClosePolicy v12.ParentClosePolicy `protobuf:"varint,9,opt,name=parent_close_policy,json=parentClosePolicy,proto3,enum=temporal.api.enums.v1.ParentClosePolicy" json:"parent_close_policy,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + Control string `protobuf:"bytes,10,opt,name=control,proto3" json:"control,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,11,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE. + WorkflowIdReusePolicy v12.WorkflowIdReusePolicy `protobuf:"varint,12,opt,name=workflow_id_reuse_policy,json=workflowIdReusePolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdReusePolicy" json:"workflow_id_reuse_policy,omitempty"` + RetryPolicy *v1.RetryPolicy `protobuf:"bytes,13,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // If this child runs on a cron schedule, it will appear here + CronSchedule string `protobuf:"bytes,14,opt,name=cron_schedule,json=cronSchedule,proto3" json:"cron_schedule,omitempty"` + Header *v1.Header `protobuf:"bytes,15,opt,name=header,proto3" json:"header,omitempty"` + Memo *v1.Memo `protobuf:"bytes,16,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,17,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // If this is set, the child workflow inherits the Build ID of the parent. Otherwise, the assignment + // rules of the child's Task Queue will be used to independently assign a Build ID to it. + // Deprecated. Only considered for versioning v0.2. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + InheritBuildId bool `protobuf:"varint,19,opt,name=inherit_build_id,json=inheritBuildId,proto3" json:"inherit_build_id,omitempty"` + // Priority metadata + Priority *v1.Priority `protobuf:"bytes,20,opt,name=priority,proto3" json:"priority,omitempty"` + // The propagated time-skipping configuration for the child workflow. + TimeSkippingConfig *v14.TimeSkippingConfig `protobuf:"bytes,21,opt,name=time_skipping_config,json=timeSkippingConfig,proto3" json:"time_skipping_config,omitempty"` + // Propagate the duration skipped to the child workflow. + InitialSkippedDuration *durationpb.Duration `protobuf:"bytes,30,opt,name=initial_skipped_duration,json=initialSkippedDuration,proto3" json:"initial_skipped_duration,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) Reset() { + *x = StartChildWorkflowExecutionInitiatedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartChildWorkflowExecutionInitiatedEventAttributes) ProtoMessage() {} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartChildWorkflowExecutionInitiatedEventAttributes.ProtoReflect.Descriptor instead. +func (*StartChildWorkflowExecutionInitiatedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{34} +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetTaskQueue() *v11.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetWorkflowExecutionTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowExecutionTimeout + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowRunTimeout + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowTaskTimeout + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetParentClosePolicy() v12.ParentClosePolicy { + if x != nil { + return x.ParentClosePolicy + } + return v12.ParentClosePolicy(0) +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetWorkflowIdReusePolicy() v12.WorkflowIdReusePolicy { + if x != nil { + return x.WorkflowIdReusePolicy + } + return v12.WorkflowIdReusePolicy(0) +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetCronSchedule() string { + if x != nil { + return x.CronSchedule + } + return "" +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetMemo() *v1.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetInheritBuildId() bool { + if x != nil { + return x.InheritBuildId + } + return false +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetTimeSkippingConfig() *v14.TimeSkippingConfig { + if x != nil { + return x.TimeSkippingConfig + } + return nil +} + +func (x *StartChildWorkflowExecutionInitiatedEventAttributes) GetInitialSkippedDuration() *durationpb.Duration { + if x != nil { + return x.InitialSkippedDuration + } + return nil +} + +type StartChildWorkflowExecutionFailedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the child workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,8,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + Cause v12.StartChildWorkflowExecutionFailedCause `protobuf:"varint,4,opt,name=cause,proto3,enum=temporal.api.enums.v1.StartChildWorkflowExecutionFailedCause" json:"cause,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + Control string `protobuf:"bytes,5,opt,name=control,proto3" json:"control,omitempty"` + // Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to + InitiatedEventId int64 `protobuf:"varint,6,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event which this command was reported with + WorkflowTaskCompletedEventId int64 `protobuf:"varint,7,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) Reset() { + *x = StartChildWorkflowExecutionFailedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartChildWorkflowExecutionFailedEventAttributes) ProtoMessage() {} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartChildWorkflowExecutionFailedEventAttributes.ProtoReflect.Descriptor instead. +func (*StartChildWorkflowExecutionFailedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{35} +} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) GetCause() v12.StartChildWorkflowExecutionFailedCause { + if x != nil { + return x.Cause + } + return v12.StartChildWorkflowExecutionFailedCause(0) +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *StartChildWorkflowExecutionFailedEventAttributes) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *StartChildWorkflowExecutionFailedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +type ChildWorkflowExecutionStartedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the child workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,6,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + // Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to + InitiatedEventId int64 `protobuf:"varint,2,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,4,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + Header *v1.Header `protobuf:"bytes,5,opt,name=header,proto3" json:"header,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChildWorkflowExecutionStartedEventAttributes) Reset() { + *x = ChildWorkflowExecutionStartedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChildWorkflowExecutionStartedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChildWorkflowExecutionStartedEventAttributes) ProtoMessage() {} + +func (x *ChildWorkflowExecutionStartedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChildWorkflowExecutionStartedEventAttributes.ProtoReflect.Descriptor instead. +func (*ChildWorkflowExecutionStartedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{36} +} + +func (x *ChildWorkflowExecutionStartedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ChildWorkflowExecutionStartedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *ChildWorkflowExecutionStartedEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionStartedEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *ChildWorkflowExecutionStartedEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *ChildWorkflowExecutionStartedEventAttributes) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +type ChildWorkflowExecutionCompletedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + Result *v1.Payloads `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"` + // Namespace of the child workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,7,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,4,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to + InitiatedEventId int64 `protobuf:"varint,5,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to + StartedEventId int64 `protobuf:"varint,6,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) Reset() { + *x = ChildWorkflowExecutionCompletedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChildWorkflowExecutionCompletedEventAttributes) ProtoMessage() {} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChildWorkflowExecutionCompletedEventAttributes.ProtoReflect.Descriptor instead. +func (*ChildWorkflowExecutionCompletedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{37} +} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) GetResult() *v1.Payloads { + if x != nil { + return x.Result + } + return nil +} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionCompletedEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +type ChildWorkflowExecutionFailedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + Failure *v13.Failure `protobuf:"bytes,1,opt,name=failure,proto3" json:"failure,omitempty"` + // Namespace of the child workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,8,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,4,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to + InitiatedEventId int64 `protobuf:"varint,5,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to + StartedEventId int64 `protobuf:"varint,6,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + RetryState v12.RetryState `protobuf:"varint,7,opt,name=retry_state,json=retryState,proto3,enum=temporal.api.enums.v1.RetryState" json:"retry_state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) Reset() { + *x = ChildWorkflowExecutionFailedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChildWorkflowExecutionFailedEventAttributes) ProtoMessage() {} + +func (x *ChildWorkflowExecutionFailedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChildWorkflowExecutionFailedEventAttributes.ProtoReflect.Descriptor instead. +func (*ChildWorkflowExecutionFailedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{38} +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionFailedEventAttributes) GetRetryState() v12.RetryState { + if x != nil { + return x.RetryState + } + return v12.RetryState(0) +} + +type ChildWorkflowExecutionCanceledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + Details *v1.Payloads `protobuf:"bytes,1,opt,name=details,proto3" json:"details,omitempty"` + // Namespace of the child workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,7,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,3,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,4,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to + InitiatedEventId int64 `protobuf:"varint,5,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to + StartedEventId int64 `protobuf:"varint,6,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) Reset() { + *x = ChildWorkflowExecutionCanceledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChildWorkflowExecutionCanceledEventAttributes) ProtoMessage() {} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChildWorkflowExecutionCanceledEventAttributes.ProtoReflect.Descriptor instead. +func (*ChildWorkflowExecutionCanceledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{39} +} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) GetDetails() *v1.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionCanceledEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +type ChildWorkflowExecutionTimedOutEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the child workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,7,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to + InitiatedEventId int64 `protobuf:"varint,4,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to + StartedEventId int64 `protobuf:"varint,5,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + RetryState v12.RetryState `protobuf:"varint,6,opt,name=retry_state,json=retryState,proto3,enum=temporal.api.enums.v1.RetryState" json:"retry_state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) Reset() { + *x = ChildWorkflowExecutionTimedOutEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChildWorkflowExecutionTimedOutEventAttributes) ProtoMessage() {} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChildWorkflowExecutionTimedOutEventAttributes.ProtoReflect.Descriptor instead. +func (*ChildWorkflowExecutionTimedOutEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{40} +} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionTimedOutEventAttributes) GetRetryState() v12.RetryState { + if x != nil { + return x.RetryState + } + return v12.RetryState(0) +} + +type ChildWorkflowExecutionTerminatedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the child workflow. + // SDKs and UI tools should use `namespace` field but server must use `namespace_id` only. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,6,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + WorkflowExecution *v1.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // Id of the `START_CHILD_WORKFLOW_EXECUTION_INITIATED` event which this event corresponds to + InitiatedEventId int64 `protobuf:"varint,4,opt,name=initiated_event_id,json=initiatedEventId,proto3" json:"initiated_event_id,omitempty"` + // Id of the `CHILD_WORKFLOW_EXECUTION_STARTED` event which this event corresponds to + StartedEventId int64 `protobuf:"varint,5,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ChildWorkflowExecutionTerminatedEventAttributes) Reset() { + *x = ChildWorkflowExecutionTerminatedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ChildWorkflowExecutionTerminatedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ChildWorkflowExecutionTerminatedEventAttributes) ProtoMessage() {} + +func (x *ChildWorkflowExecutionTerminatedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ChildWorkflowExecutionTerminatedEventAttributes.ProtoReflect.Descriptor instead. +func (*ChildWorkflowExecutionTerminatedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{41} +} + +func (x *ChildWorkflowExecutionTerminatedEventAttributes) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ChildWorkflowExecutionTerminatedEventAttributes) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *ChildWorkflowExecutionTerminatedEventAttributes) GetWorkflowExecution() *v1.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *ChildWorkflowExecutionTerminatedEventAttributes) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *ChildWorkflowExecutionTerminatedEventAttributes) GetInitiatedEventId() int64 { + if x != nil { + return x.InitiatedEventId + } + return 0 +} + +func (x *ChildWorkflowExecutionTerminatedEventAttributes) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +type WorkflowExecutionOptionsUpdatedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Versioning override upserted in this event. + // Ignored if nil or if unset_versioning_override is true. + VersioningOverride *v14.VersioningOverride `protobuf:"bytes,1,opt,name=versioning_override,json=versioningOverride,proto3" json:"versioning_override,omitempty"` + // Versioning override removed in this event. + UnsetVersioningOverride bool `protobuf:"varint,2,opt,name=unset_versioning_override,json=unsetVersioningOverride,proto3" json:"unset_versioning_override,omitempty"` + // Request ID attached to the running workflow execution so that subsequent requests with same + // request ID will be deduped. + AttachedRequestId string `protobuf:"bytes,3,opt,name=attached_request_id,json=attachedRequestId,proto3" json:"attached_request_id,omitempty"` + // Completion callbacks attached to the running workflow execution. + AttachedCompletionCallbacks []*v1.Callback `protobuf:"bytes,4,rep,name=attached_completion_callbacks,json=attachedCompletionCallbacks,proto3" json:"attached_completion_callbacks,omitempty"` + // Optional. The identity of the client who initiated the request that created this event. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // Priority override upserted in this event. Represents the full priority; not just partial fields. + // Ignored if nil. + Priority *v1.Priority `protobuf:"bytes,6,opt,name=priority,proto3" json:"priority,omitempty"` + // If set, the time-skipping configuration was changed. Contains the full updated configuration. + TimeSkippingConfig *v14.TimeSkippingConfig `protobuf:"bytes,7,opt,name=time_skipping_config,json=timeSkippingConfig,proto3" json:"time_skipping_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) Reset() { + *x = WorkflowExecutionOptionsUpdatedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionOptionsUpdatedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionOptionsUpdatedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionOptionsUpdatedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{42} +} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) GetVersioningOverride() *v14.VersioningOverride { + if x != nil { + return x.VersioningOverride + } + return nil +} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) GetUnsetVersioningOverride() bool { + if x != nil { + return x.UnsetVersioningOverride + } + return false +} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) GetAttachedRequestId() string { + if x != nil { + return x.AttachedRequestId + } + return "" +} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) GetAttachedCompletionCallbacks() []*v1.Callback { + if x != nil { + return x.AttachedCompletionCallbacks + } + return nil +} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *WorkflowExecutionOptionsUpdatedEventAttributes) GetTimeSkippingConfig() *v14.TimeSkippingConfig { + if x != nil { + return x.TimeSkippingConfig + } + return nil +} + +// Not used anywhere. Use case is replaced by WorkflowExecutionOptionsUpdatedEventAttributes +type WorkflowPropertiesModifiedExternallyEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Not used. + NewTaskQueue string `protobuf:"bytes,1,opt,name=new_task_queue,json=newTaskQueue,proto3" json:"new_task_queue,omitempty"` + // Not used. + NewWorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=new_workflow_task_timeout,json=newWorkflowTaskTimeout,proto3" json:"new_workflow_task_timeout,omitempty"` + // Not used. + NewWorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,3,opt,name=new_workflow_run_timeout,json=newWorkflowRunTimeout,proto3" json:"new_workflow_run_timeout,omitempty"` + // Not used. + NewWorkflowExecutionTimeout *durationpb.Duration `protobuf:"bytes,4,opt,name=new_workflow_execution_timeout,json=newWorkflowExecutionTimeout,proto3" json:"new_workflow_execution_timeout,omitempty"` + // Not used. + UpsertedMemo *v1.Memo `protobuf:"bytes,5,opt,name=upserted_memo,json=upsertedMemo,proto3" json:"upserted_memo,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowPropertiesModifiedExternallyEventAttributes) Reset() { + *x = WorkflowPropertiesModifiedExternallyEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowPropertiesModifiedExternallyEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowPropertiesModifiedExternallyEventAttributes) ProtoMessage() {} + +func (x *WorkflowPropertiesModifiedExternallyEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowPropertiesModifiedExternallyEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowPropertiesModifiedExternallyEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{43} +} + +func (x *WorkflowPropertiesModifiedExternallyEventAttributes) GetNewTaskQueue() string { + if x != nil { + return x.NewTaskQueue + } + return "" +} + +func (x *WorkflowPropertiesModifiedExternallyEventAttributes) GetNewWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.NewWorkflowTaskTimeout + } + return nil +} + +func (x *WorkflowPropertiesModifiedExternallyEventAttributes) GetNewWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.NewWorkflowRunTimeout + } + return nil +} + +func (x *WorkflowPropertiesModifiedExternallyEventAttributes) GetNewWorkflowExecutionTimeout() *durationpb.Duration { + if x != nil { + return x.NewWorkflowExecutionTimeout + } + return nil +} + +func (x *WorkflowPropertiesModifiedExternallyEventAttributes) GetUpsertedMemo() *v1.Memo { + if x != nil { + return x.UpsertedMemo + } + return nil +} + +type ActivityPropertiesModifiedExternallyEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the `ACTIVITY_TASK_SCHEDULED` event this modification corresponds to. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // If set, update the retry policy of the activity, replacing it with the specified one. + // The number of attempts at the activity is preserved. + NewRetryPolicy *v1.RetryPolicy `protobuf:"bytes,2,opt,name=new_retry_policy,json=newRetryPolicy,proto3" json:"new_retry_policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ActivityPropertiesModifiedExternallyEventAttributes) Reset() { + *x = ActivityPropertiesModifiedExternallyEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ActivityPropertiesModifiedExternallyEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ActivityPropertiesModifiedExternallyEventAttributes) ProtoMessage() {} + +func (x *ActivityPropertiesModifiedExternallyEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ActivityPropertiesModifiedExternallyEventAttributes.ProtoReflect.Descriptor instead. +func (*ActivityPropertiesModifiedExternallyEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{44} +} + +func (x *ActivityPropertiesModifiedExternallyEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *ActivityPropertiesModifiedExternallyEventAttributes) GetNewRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.NewRetryPolicy + } + return nil +} + +type WorkflowExecutionUpdateAcceptedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The instance ID of the update protocol that generated this event. + ProtocolInstanceId string `protobuf:"bytes,1,opt,name=protocol_instance_id,json=protocolInstanceId,proto3" json:"protocol_instance_id,omitempty"` + // The message ID of the original request message that initiated this + // update. Needed so that the worker can recreate and deliver that same + // message as part of replay. + AcceptedRequestMessageId string `protobuf:"bytes,2,opt,name=accepted_request_message_id,json=acceptedRequestMessageId,proto3" json:"accepted_request_message_id,omitempty"` + // The event ID used to sequence the original request message. + AcceptedRequestSequencingEventId int64 `protobuf:"varint,3,opt,name=accepted_request_sequencing_event_id,json=acceptedRequestSequencingEventId,proto3" json:"accepted_request_sequencing_event_id,omitempty"` + // The message payload of the original request message that initiated this + // update. + AcceptedRequest *v17.Request `protobuf:"bytes,4,opt,name=accepted_request,json=acceptedRequest,proto3" json:"accepted_request,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionUpdateAcceptedEventAttributes) Reset() { + *x = WorkflowExecutionUpdateAcceptedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionUpdateAcceptedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionUpdateAcceptedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionUpdateAcceptedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionUpdateAcceptedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionUpdateAcceptedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{45} +} + +func (x *WorkflowExecutionUpdateAcceptedEventAttributes) GetProtocolInstanceId() string { + if x != nil { + return x.ProtocolInstanceId + } + return "" +} + +func (x *WorkflowExecutionUpdateAcceptedEventAttributes) GetAcceptedRequestMessageId() string { + if x != nil { + return x.AcceptedRequestMessageId + } + return "" +} + +func (x *WorkflowExecutionUpdateAcceptedEventAttributes) GetAcceptedRequestSequencingEventId() int64 { + if x != nil { + return x.AcceptedRequestSequencingEventId + } + return 0 +} + +func (x *WorkflowExecutionUpdateAcceptedEventAttributes) GetAcceptedRequest() *v17.Request { + if x != nil { + return x.AcceptedRequest + } + return nil +} + +type WorkflowExecutionUpdateCompletedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The metadata about this update. + Meta *v17.Meta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` + // The event ID indicating the acceptance of this update. + AcceptedEventId int64 `protobuf:"varint,3,opt,name=accepted_event_id,json=acceptedEventId,proto3" json:"accepted_event_id,omitempty"` + // The outcome of executing the workflow update function. + Outcome *v17.Outcome `protobuf:"bytes,2,opt,name=outcome,proto3" json:"outcome,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionUpdateCompletedEventAttributes) Reset() { + *x = WorkflowExecutionUpdateCompletedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionUpdateCompletedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionUpdateCompletedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionUpdateCompletedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionUpdateCompletedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionUpdateCompletedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{46} +} + +func (x *WorkflowExecutionUpdateCompletedEventAttributes) GetMeta() *v17.Meta { + if x != nil { + return x.Meta + } + return nil +} + +func (x *WorkflowExecutionUpdateCompletedEventAttributes) GetAcceptedEventId() int64 { + if x != nil { + return x.AcceptedEventId + } + return 0 +} + +func (x *WorkflowExecutionUpdateCompletedEventAttributes) GetOutcome() *v17.Outcome { + if x != nil { + return x.Outcome + } + return nil +} + +type WorkflowExecutionUpdateRejectedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The instance ID of the update protocol that generated this event. + ProtocolInstanceId string `protobuf:"bytes,1,opt,name=protocol_instance_id,json=protocolInstanceId,proto3" json:"protocol_instance_id,omitempty"` + // The message ID of the original request message that initiated this + // update. Needed so that the worker can recreate and deliver that same + // message as part of replay. + RejectedRequestMessageId string `protobuf:"bytes,2,opt,name=rejected_request_message_id,json=rejectedRequestMessageId,proto3" json:"rejected_request_message_id,omitempty"` + // The event ID used to sequence the original request message. + RejectedRequestSequencingEventId int64 `protobuf:"varint,3,opt,name=rejected_request_sequencing_event_id,json=rejectedRequestSequencingEventId,proto3" json:"rejected_request_sequencing_event_id,omitempty"` + // The message payload of the original request message that initiated this + // update. + RejectedRequest *v17.Request `protobuf:"bytes,4,opt,name=rejected_request,json=rejectedRequest,proto3" json:"rejected_request,omitempty"` + // The cause of rejection. + Failure *v13.Failure `protobuf:"bytes,5,opt,name=failure,proto3" json:"failure,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionUpdateRejectedEventAttributes) Reset() { + *x = WorkflowExecutionUpdateRejectedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionUpdateRejectedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionUpdateRejectedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionUpdateRejectedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionUpdateRejectedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionUpdateRejectedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{47} +} + +func (x *WorkflowExecutionUpdateRejectedEventAttributes) GetProtocolInstanceId() string { + if x != nil { + return x.ProtocolInstanceId + } + return "" +} + +func (x *WorkflowExecutionUpdateRejectedEventAttributes) GetRejectedRequestMessageId() string { + if x != nil { + return x.RejectedRequestMessageId + } + return "" +} + +func (x *WorkflowExecutionUpdateRejectedEventAttributes) GetRejectedRequestSequencingEventId() int64 { + if x != nil { + return x.RejectedRequestSequencingEventId + } + return 0 +} + +func (x *WorkflowExecutionUpdateRejectedEventAttributes) GetRejectedRequest() *v17.Request { + if x != nil { + return x.RejectedRequest + } + return nil +} + +func (x *WorkflowExecutionUpdateRejectedEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +type WorkflowExecutionUpdateAdmittedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The update request associated with this event. + Request *v17.Request `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"` + // An explanation of why this event was written to history. + Origin v12.UpdateAdmittedEventOrigin `protobuf:"varint,2,opt,name=origin,proto3,enum=temporal.api.enums.v1.UpdateAdmittedEventOrigin" json:"origin,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionUpdateAdmittedEventAttributes) Reset() { + *x = WorkflowExecutionUpdateAdmittedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionUpdateAdmittedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionUpdateAdmittedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionUpdateAdmittedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionUpdateAdmittedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionUpdateAdmittedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{48} +} + +func (x *WorkflowExecutionUpdateAdmittedEventAttributes) GetRequest() *v17.Request { + if x != nil { + return x.Request + } + return nil +} + +func (x *WorkflowExecutionUpdateAdmittedEventAttributes) GetOrigin() v12.UpdateAdmittedEventOrigin { + if x != nil { + return x.Origin + } + return v12.UpdateAdmittedEventOrigin(0) +} + +// Attributes for an event marking that a workflow execution was paused. +type WorkflowExecutionPausedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the client who paused the workflow execution. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // The reason for pausing the workflow execution. + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + // The request ID of the request that paused the workflow execution. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionPausedEventAttributes) Reset() { + *x = WorkflowExecutionPausedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionPausedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionPausedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionPausedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionPausedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionPausedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{49} +} + +func (x *WorkflowExecutionPausedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *WorkflowExecutionPausedEventAttributes) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *WorkflowExecutionPausedEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Attributes for an event marking that a workflow execution was unpaused. +type WorkflowExecutionUnpausedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the client who unpaused the workflow execution. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // The reason for unpausing the workflow execution. + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + // The request ID of the request that unpaused the workflow execution. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionUnpausedEventAttributes) Reset() { + *x = WorkflowExecutionUnpausedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionUnpausedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionUnpausedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionUnpausedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionUnpausedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionUnpausedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{50} +} + +func (x *WorkflowExecutionUnpausedEventAttributes) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *WorkflowExecutionUnpausedEventAttributes) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *WorkflowExecutionUnpausedEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Attributes for an event indicating that time skipping state changed for a workflow execution, +// either time was advanced or time skipping was disabled automatically due to a bound being reached. +// The worker_may_ignore field in HistoryEvent should always be set true for this event. +type WorkflowExecutionTimeSkippingTransitionedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The virtual time after time skipping was applied. + TargetTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=target_time,json=targetTime,proto3" json:"target_time,omitempty"` + // when true, time skipping was disabled automatically due to a bound being reached. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "after" is used to indicate temporal ordering. --) + DisabledAfterBound bool `protobuf:"varint,2,opt,name=disabled_after_bound,json=disabledAfterBound,proto3" json:"disabled_after_bound,omitempty"` + // The wall-clock time when the time-skipping state changed event was generated. + WallClockTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=wall_clock_time,json=wallClockTime,proto3" json:"wall_clock_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionTimeSkippingTransitionedEventAttributes) Reset() { + *x = WorkflowExecutionTimeSkippingTransitionedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionTimeSkippingTransitionedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionTimeSkippingTransitionedEventAttributes) ProtoMessage() {} + +func (x *WorkflowExecutionTimeSkippingTransitionedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionTimeSkippingTransitionedEventAttributes.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionTimeSkippingTransitionedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{51} +} + +func (x *WorkflowExecutionTimeSkippingTransitionedEventAttributes) GetTargetTime() *timestamppb.Timestamp { + if x != nil { + return x.TargetTime + } + return nil +} + +func (x *WorkflowExecutionTimeSkippingTransitionedEventAttributes) GetDisabledAfterBound() bool { + if x != nil { + return x.DisabledAfterBound + } + return false +} + +func (x *WorkflowExecutionTimeSkippingTransitionedEventAttributes) GetWallClockTime() *timestamppb.Timestamp { + if x != nil { + return x.WallClockTime + } + return nil +} + +// Event marking that an operation was scheduled by a workflow via the ScheduleNexusOperation command. +type NexusOperationScheduledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Endpoint name, must exist in the endpoint registry. + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Service name. + Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` + // Operation name. + Operation string `protobuf:"bytes,3,opt,name=operation,proto3" json:"operation,omitempty"` + // Input for the operation. The server converts this into Nexus request content and the appropriate content headers + // internally when sending the StartOperation request. On the handler side, if it is also backed by Temporal, the + // content is transformed back to the original Payload stored in this event. + Input *v1.Payload `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` + // Schedule-to-close timeout for this operation. + // Indicates how long the caller is willing to wait for operation completion. + // Calls are retried internally by the server. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + // + // (-- api-linter: core::0142::time-field-names=disabled + // + // aip.dev/not-precedent: "timeout" is an acceptable suffix for duration fields in this API. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Header to attach to the Nexus request. Note these headers are not the same as Temporal headers on internal + // activities and child workflows, these are transmitted to Nexus operations that may be external and are not + // traditional payloads. + NexusHeader map[string]string `protobuf:"bytes,6,rep,name=nexus_header,json=nexusHeader,proto3" json:"nexus_header,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // The `WORKFLOW_TASK_COMPLETED` event that the corresponding ScheduleNexusOperation command was reported with. + WorkflowTaskCompletedEventId int64 `protobuf:"varint,7,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // A unique ID generated by the history service upon creation of this event. + // The ID will be transmitted with all nexus StartOperation requests and is used as an idempotentency key. + RequestId string `protobuf:"bytes,8,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Endpoint ID as resolved in the endpoint registry at the time this event was generated. + // This is stored on the event and used internally by the server in case the endpoint is renamed from the time the + // event was originally scheduled. + EndpointId string `protobuf:"bytes,9,opt,name=endpoint_id,json=endpointId,proto3" json:"endpoint_id,omitempty"` + // Schedule-to-start timeout for this operation. + // See ScheduleNexusOperationCommandAttributes.schedule_to_start_timeout for details. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Start-to-close timeout for this operation. + // See ScheduleNexusOperationCommandAttributes.start_to_close_timeout for details. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,11,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationScheduledEventAttributes) Reset() { + *x = NexusOperationScheduledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationScheduledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationScheduledEventAttributes) ProtoMessage() {} + +func (x *NexusOperationScheduledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationScheduledEventAttributes.ProtoReflect.Descriptor instead. +func (*NexusOperationScheduledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{52} +} + +func (x *NexusOperationScheduledEventAttributes) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *NexusOperationScheduledEventAttributes) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *NexusOperationScheduledEventAttributes) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +func (x *NexusOperationScheduledEventAttributes) GetInput() *v1.Payload { + if x != nil { + return x.Input + } + return nil +} + +func (x *NexusOperationScheduledEventAttributes) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *NexusOperationScheduledEventAttributes) GetNexusHeader() map[string]string { + if x != nil { + return x.NexusHeader + } + return nil +} + +func (x *NexusOperationScheduledEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *NexusOperationScheduledEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *NexusOperationScheduledEventAttributes) GetEndpointId() string { + if x != nil { + return x.EndpointId + } + return "" +} + +func (x *NexusOperationScheduledEventAttributes) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *NexusOperationScheduledEventAttributes) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +// Event marking an asynchronous operation was started by the responding Nexus handler. +// If the operation completes synchronously, this event is not generated. +// In rare situations, such as request timeouts, the service may fail to record the actual start time and will fabricate +// this event upon receiving the operation completion via callback. +type NexusOperationStartedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the `NEXUS_OPERATION_SCHEDULED` event this task corresponds to. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The operation ID returned by the Nexus handler in the response to the StartOperation request. + // This ID is used when canceling the operation. + // + // Deprecated: Renamed to operation_token. + // + // Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. + OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // The request ID allocated at schedule time. + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // The operation token returned by the Nexus handler in the response to the StartOperation request. + // This token is used when canceling the operation. + OperationToken string `protobuf:"bytes,5,opt,name=operation_token,json=operationToken,proto3" json:"operation_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationStartedEventAttributes) Reset() { + *x = NexusOperationStartedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationStartedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationStartedEventAttributes) ProtoMessage() {} + +func (x *NexusOperationStartedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationStartedEventAttributes.ProtoReflect.Descriptor instead. +func (*NexusOperationStartedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{53} +} + +func (x *NexusOperationStartedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +// Deprecated: Marked as deprecated in temporal/api/history/v1/message.proto. +func (x *NexusOperationStartedEventAttributes) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *NexusOperationStartedEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *NexusOperationStartedEventAttributes) GetOperationToken() string { + if x != nil { + return x.OperationToken + } + return "" +} + +// Nexus operation completed successfully. +type NexusOperationCompletedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the `NEXUS_OPERATION_SCHEDULED` event. Uniquely identifies this operation. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // Serialized result of the Nexus operation. The response of the Nexus handler. + // Delivered either via a completion callback or as a response to a synchronous operation. + Result *v1.Payload `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` + // The request ID allocated at schedule time. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationCompletedEventAttributes) Reset() { + *x = NexusOperationCompletedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationCompletedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationCompletedEventAttributes) ProtoMessage() {} + +func (x *NexusOperationCompletedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationCompletedEventAttributes.ProtoReflect.Descriptor instead. +func (*NexusOperationCompletedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{54} +} + +func (x *NexusOperationCompletedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *NexusOperationCompletedEventAttributes) GetResult() *v1.Payload { + if x != nil { + return x.Result + } + return nil +} + +func (x *NexusOperationCompletedEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Nexus operation failed. +type NexusOperationFailedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the `NEXUS_OPERATION_SCHEDULED` event. Uniquely identifies this operation. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // Failure details. A NexusOperationFailureInfo wrapping an ApplicationFailureInfo. + Failure *v13.Failure `protobuf:"bytes,2,opt,name=failure,proto3" json:"failure,omitempty"` + // The request ID allocated at schedule time. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationFailedEventAttributes) Reset() { + *x = NexusOperationFailedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationFailedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationFailedEventAttributes) ProtoMessage() {} + +func (x *NexusOperationFailedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationFailedEventAttributes.ProtoReflect.Descriptor instead. +func (*NexusOperationFailedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{55} +} + +func (x *NexusOperationFailedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *NexusOperationFailedEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *NexusOperationFailedEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Nexus operation timed out. +type NexusOperationTimedOutEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the `NEXUS_OPERATION_SCHEDULED` event. Uniquely identifies this operation. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // Failure details. A NexusOperationFailureInfo wrapping a CanceledFailureInfo. + Failure *v13.Failure `protobuf:"bytes,2,opt,name=failure,proto3" json:"failure,omitempty"` + // The request ID allocated at schedule time. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationTimedOutEventAttributes) Reset() { + *x = NexusOperationTimedOutEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationTimedOutEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationTimedOutEventAttributes) ProtoMessage() {} + +func (x *NexusOperationTimedOutEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationTimedOutEventAttributes.ProtoReflect.Descriptor instead. +func (*NexusOperationTimedOutEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{56} +} + +func (x *NexusOperationTimedOutEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *NexusOperationTimedOutEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *NexusOperationTimedOutEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Nexus operation completed as canceled. May or may not have been due to a cancellation request by the workflow. +type NexusOperationCanceledEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the `NEXUS_OPERATION_SCHEDULED` event. Uniquely identifies this operation. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // Cancellation details. + Failure *v13.Failure `protobuf:"bytes,2,opt,name=failure,proto3" json:"failure,omitempty"` + // The request ID allocated at schedule time. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationCanceledEventAttributes) Reset() { + *x = NexusOperationCanceledEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationCanceledEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationCanceledEventAttributes) ProtoMessage() {} + +func (x *NexusOperationCanceledEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationCanceledEventAttributes.ProtoReflect.Descriptor instead. +func (*NexusOperationCanceledEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{57} +} + +func (x *NexusOperationCanceledEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *NexusOperationCanceledEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *NexusOperationCanceledEventAttributes) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type NexusOperationCancelRequestedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the `NEXUS_OPERATION_SCHEDULED` event this cancel request corresponds to. + ScheduledEventId int64 `protobuf:"varint,1,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event that the corresponding RequestCancelNexusOperation command was reported + // with. + WorkflowTaskCompletedEventId int64 `protobuf:"varint,2,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationCancelRequestedEventAttributes) Reset() { + *x = NexusOperationCancelRequestedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationCancelRequestedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationCancelRequestedEventAttributes) ProtoMessage() {} + +func (x *NexusOperationCancelRequestedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationCancelRequestedEventAttributes.ProtoReflect.Descriptor instead. +func (*NexusOperationCancelRequestedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{58} +} + +func (x *NexusOperationCancelRequestedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *NexusOperationCancelRequestedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +type NexusOperationCancelRequestCompletedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the `NEXUS_OPERATION_CANCEL_REQUESTED` event. + RequestedEventId int64 `protobuf:"varint,1,opt,name=requested_event_id,json=requestedEventId,proto3" json:"requested_event_id,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event that the corresponding RequestCancelNexusOperation command was reported + // with. + WorkflowTaskCompletedEventId int64 `protobuf:"varint,2,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // The id of the `NEXUS_OPERATION_SCHEDULED` event this cancel request corresponds to. + ScheduledEventId int64 `protobuf:"varint,3,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationCancelRequestCompletedEventAttributes) Reset() { + *x = NexusOperationCancelRequestCompletedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationCancelRequestCompletedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationCancelRequestCompletedEventAttributes) ProtoMessage() {} + +func (x *NexusOperationCancelRequestCompletedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationCancelRequestCompletedEventAttributes.ProtoReflect.Descriptor instead. +func (*NexusOperationCancelRequestCompletedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{59} +} + +func (x *NexusOperationCancelRequestCompletedEventAttributes) GetRequestedEventId() int64 { + if x != nil { + return x.RequestedEventId + } + return 0 +} + +func (x *NexusOperationCancelRequestCompletedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *NexusOperationCancelRequestCompletedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +type NexusOperationCancelRequestFailedEventAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The ID of the `NEXUS_OPERATION_CANCEL_REQUESTED` event. + RequestedEventId int64 `protobuf:"varint,1,opt,name=requested_event_id,json=requestedEventId,proto3" json:"requested_event_id,omitempty"` + // The `WORKFLOW_TASK_COMPLETED` event that the corresponding RequestCancelNexusOperation command was reported + // with. + WorkflowTaskCompletedEventId int64 `protobuf:"varint,2,opt,name=workflow_task_completed_event_id,json=workflowTaskCompletedEventId,proto3" json:"workflow_task_completed_event_id,omitempty"` + // Failure details. A NexusOperationFailureInfo wrapping a CanceledFailureInfo. + Failure *v13.Failure `protobuf:"bytes,3,opt,name=failure,proto3" json:"failure,omitempty"` + // The id of the `NEXUS_OPERATION_SCHEDULED` event this cancel request corresponds to. + ScheduledEventId int64 `protobuf:"varint,4,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationCancelRequestFailedEventAttributes) Reset() { + *x = NexusOperationCancelRequestFailedEventAttributes{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationCancelRequestFailedEventAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationCancelRequestFailedEventAttributes) ProtoMessage() {} + +func (x *NexusOperationCancelRequestFailedEventAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationCancelRequestFailedEventAttributes.ProtoReflect.Descriptor instead. +func (*NexusOperationCancelRequestFailedEventAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{60} +} + +func (x *NexusOperationCancelRequestFailedEventAttributes) GetRequestedEventId() int64 { + if x != nil { + return x.RequestedEventId + } + return 0 +} + +func (x *NexusOperationCancelRequestFailedEventAttributes) GetWorkflowTaskCompletedEventId() int64 { + if x != nil { + return x.WorkflowTaskCompletedEventId + } + return 0 +} + +func (x *NexusOperationCancelRequestFailedEventAttributes) GetFailure() *v13.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *NexusOperationCancelRequestFailedEventAttributes) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +// History events are the method by which Temporal SDKs advance (or recreate) workflow state. +// See the `EventType` enum for more info about what each event is for. +type HistoryEvent struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Monotonically increasing event number, starts at 1. + EventId int64 `protobuf:"varint,1,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` + EventTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=event_time,json=eventTime,proto3" json:"event_time,omitempty"` + EventType v12.EventType `protobuf:"varint,3,opt,name=event_type,json=eventType,proto3,enum=temporal.api.enums.v1.EventType" json:"event_type,omitempty"` + // Failover version of the event, used by the server for multi-cluster replication and history + // versioning. SDKs generally ignore this field. + Version int64 `protobuf:"varint,4,opt,name=version,proto3" json:"version,omitempty"` + // Identifier used by the service to order replication and transfer tasks associated with this + // event. SDKs generally ignore this field. + TaskId int64 `protobuf:"varint,5,opt,name=task_id,json=taskId,proto3" json:"task_id,omitempty"` + // Set to true when the SDK may ignore the event as it does not impact workflow state or + // information in any way that the SDK need be concerned with. If an SDK encounters an event + // type which it does not understand, it must error unless this is true. If it is true, it's + // acceptable for the event type and/or attributes to be uninterpretable. + WorkerMayIgnore bool `protobuf:"varint,300,opt,name=worker_may_ignore,json=workerMayIgnore,proto3" json:"worker_may_ignore,omitempty"` + // Metadata on the event. This is often carried over from commands and client calls. Most events + // won't have this information, and how this information is used is dependent upon the interface + // that reads it. + // + // Current well-known uses: + // - workflow_execution_started_event_attributes - summary and details from start workflow. + // - timer_started_event_attributes - summary represents an identifier for the timer for use by + // user interfaces. + UserMetadata *v16.UserMetadata `protobuf:"bytes,301,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + // Links to related entities, such as the entity that started this event's workflow. + Links []*v1.Link `protobuf:"bytes,302,rep,name=links,proto3" json:"links,omitempty"` + // Server-computed authenticated caller identity associated with this event. + Principal *v1.Principal `protobuf:"bytes,303,opt,name=principal,proto3" json:"principal,omitempty"` + // The event details. The type must match that in `event_type`. + // + // Types that are valid to be assigned to Attributes: + // + // *HistoryEvent_WorkflowExecutionStartedEventAttributes + // *HistoryEvent_WorkflowExecutionCompletedEventAttributes + // *HistoryEvent_WorkflowExecutionFailedEventAttributes + // *HistoryEvent_WorkflowExecutionTimedOutEventAttributes + // *HistoryEvent_WorkflowTaskScheduledEventAttributes + // *HistoryEvent_WorkflowTaskStartedEventAttributes + // *HistoryEvent_WorkflowTaskCompletedEventAttributes + // *HistoryEvent_WorkflowTaskTimedOutEventAttributes + // *HistoryEvent_WorkflowTaskFailedEventAttributes + // *HistoryEvent_ActivityTaskScheduledEventAttributes + // *HistoryEvent_ActivityTaskStartedEventAttributes + // *HistoryEvent_ActivityTaskCompletedEventAttributes + // *HistoryEvent_ActivityTaskFailedEventAttributes + // *HistoryEvent_ActivityTaskTimedOutEventAttributes + // *HistoryEvent_TimerStartedEventAttributes + // *HistoryEvent_TimerFiredEventAttributes + // *HistoryEvent_ActivityTaskCancelRequestedEventAttributes + // *HistoryEvent_ActivityTaskCanceledEventAttributes + // *HistoryEvent_TimerCanceledEventAttributes + // *HistoryEvent_MarkerRecordedEventAttributes + // *HistoryEvent_WorkflowExecutionSignaledEventAttributes + // *HistoryEvent_WorkflowExecutionTerminatedEventAttributes + // *HistoryEvent_WorkflowExecutionCancelRequestedEventAttributes + // *HistoryEvent_WorkflowExecutionCanceledEventAttributes + // *HistoryEvent_RequestCancelExternalWorkflowExecutionInitiatedEventAttributes + // *HistoryEvent_RequestCancelExternalWorkflowExecutionFailedEventAttributes + // *HistoryEvent_ExternalWorkflowExecutionCancelRequestedEventAttributes + // *HistoryEvent_WorkflowExecutionContinuedAsNewEventAttributes + // *HistoryEvent_StartChildWorkflowExecutionInitiatedEventAttributes + // *HistoryEvent_StartChildWorkflowExecutionFailedEventAttributes + // *HistoryEvent_ChildWorkflowExecutionStartedEventAttributes + // *HistoryEvent_ChildWorkflowExecutionCompletedEventAttributes + // *HistoryEvent_ChildWorkflowExecutionFailedEventAttributes + // *HistoryEvent_ChildWorkflowExecutionCanceledEventAttributes + // *HistoryEvent_ChildWorkflowExecutionTimedOutEventAttributes + // *HistoryEvent_ChildWorkflowExecutionTerminatedEventAttributes + // *HistoryEvent_SignalExternalWorkflowExecutionInitiatedEventAttributes + // *HistoryEvent_SignalExternalWorkflowExecutionFailedEventAttributes + // *HistoryEvent_ExternalWorkflowExecutionSignaledEventAttributes + // *HistoryEvent_UpsertWorkflowSearchAttributesEventAttributes + // *HistoryEvent_WorkflowExecutionUpdateAcceptedEventAttributes + // *HistoryEvent_WorkflowExecutionUpdateRejectedEventAttributes + // *HistoryEvent_WorkflowExecutionUpdateCompletedEventAttributes + // *HistoryEvent_WorkflowPropertiesModifiedExternallyEventAttributes + // *HistoryEvent_ActivityPropertiesModifiedExternallyEventAttributes + // *HistoryEvent_WorkflowPropertiesModifiedEventAttributes + // *HistoryEvent_WorkflowExecutionUpdateAdmittedEventAttributes + // *HistoryEvent_NexusOperationScheduledEventAttributes + // *HistoryEvent_NexusOperationStartedEventAttributes + // *HistoryEvent_NexusOperationCompletedEventAttributes + // *HistoryEvent_NexusOperationFailedEventAttributes + // *HistoryEvent_NexusOperationCanceledEventAttributes + // *HistoryEvent_NexusOperationTimedOutEventAttributes + // *HistoryEvent_NexusOperationCancelRequestedEventAttributes + // *HistoryEvent_WorkflowExecutionOptionsUpdatedEventAttributes + // *HistoryEvent_NexusOperationCancelRequestCompletedEventAttributes + // *HistoryEvent_NexusOperationCancelRequestFailedEventAttributes + // *HistoryEvent_WorkflowExecutionPausedEventAttributes + // *HistoryEvent_WorkflowExecutionUnpausedEventAttributes + // *HistoryEvent_WorkflowExecutionTimeSkippingTransitionedEventAttributes + Attributes isHistoryEvent_Attributes `protobuf_oneof:"attributes"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HistoryEvent) Reset() { + *x = HistoryEvent{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HistoryEvent) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HistoryEvent) ProtoMessage() {} + +func (x *HistoryEvent) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HistoryEvent.ProtoReflect.Descriptor instead. +func (*HistoryEvent) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{61} +} + +func (x *HistoryEvent) GetEventId() int64 { + if x != nil { + return x.EventId + } + return 0 +} + +func (x *HistoryEvent) GetEventTime() *timestamppb.Timestamp { + if x != nil { + return x.EventTime + } + return nil +} + +func (x *HistoryEvent) GetEventType() v12.EventType { + if x != nil { + return x.EventType + } + return v12.EventType(0) +} + +func (x *HistoryEvent) GetVersion() int64 { + if x != nil { + return x.Version + } + return 0 +} + +func (x *HistoryEvent) GetTaskId() int64 { + if x != nil { + return x.TaskId + } + return 0 +} + +func (x *HistoryEvent) GetWorkerMayIgnore() bool { + if x != nil { + return x.WorkerMayIgnore + } + return false +} + +func (x *HistoryEvent) GetUserMetadata() *v16.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +func (x *HistoryEvent) GetLinks() []*v1.Link { + if x != nil { + return x.Links + } + return nil +} + +func (x *HistoryEvent) GetPrincipal() *v1.Principal { + if x != nil { + return x.Principal + } + return nil +} + +func (x *HistoryEvent) GetAttributes() isHistoryEvent_Attributes { + if x != nil { + return x.Attributes + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionStartedEventAttributes() *WorkflowExecutionStartedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionStartedEventAttributes); ok { + return x.WorkflowExecutionStartedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionCompletedEventAttributes() *WorkflowExecutionCompletedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionCompletedEventAttributes); ok { + return x.WorkflowExecutionCompletedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionFailedEventAttributes() *WorkflowExecutionFailedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionFailedEventAttributes); ok { + return x.WorkflowExecutionFailedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionTimedOutEventAttributes() *WorkflowExecutionTimedOutEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionTimedOutEventAttributes); ok { + return x.WorkflowExecutionTimedOutEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowTaskScheduledEventAttributes() *WorkflowTaskScheduledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowTaskScheduledEventAttributes); ok { + return x.WorkflowTaskScheduledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowTaskStartedEventAttributes() *WorkflowTaskStartedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowTaskStartedEventAttributes); ok { + return x.WorkflowTaskStartedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowTaskCompletedEventAttributes() *WorkflowTaskCompletedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowTaskCompletedEventAttributes); ok { + return x.WorkflowTaskCompletedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowTaskTimedOutEventAttributes() *WorkflowTaskTimedOutEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowTaskTimedOutEventAttributes); ok { + return x.WorkflowTaskTimedOutEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowTaskFailedEventAttributes() *WorkflowTaskFailedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowTaskFailedEventAttributes); ok { + return x.WorkflowTaskFailedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetActivityTaskScheduledEventAttributes() *ActivityTaskScheduledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ActivityTaskScheduledEventAttributes); ok { + return x.ActivityTaskScheduledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetActivityTaskStartedEventAttributes() *ActivityTaskStartedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ActivityTaskStartedEventAttributes); ok { + return x.ActivityTaskStartedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetActivityTaskCompletedEventAttributes() *ActivityTaskCompletedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ActivityTaskCompletedEventAttributes); ok { + return x.ActivityTaskCompletedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetActivityTaskFailedEventAttributes() *ActivityTaskFailedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ActivityTaskFailedEventAttributes); ok { + return x.ActivityTaskFailedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetActivityTaskTimedOutEventAttributes() *ActivityTaskTimedOutEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ActivityTaskTimedOutEventAttributes); ok { + return x.ActivityTaskTimedOutEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetTimerStartedEventAttributes() *TimerStartedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_TimerStartedEventAttributes); ok { + return x.TimerStartedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetTimerFiredEventAttributes() *TimerFiredEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_TimerFiredEventAttributes); ok { + return x.TimerFiredEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetActivityTaskCancelRequestedEventAttributes() *ActivityTaskCancelRequestedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ActivityTaskCancelRequestedEventAttributes); ok { + return x.ActivityTaskCancelRequestedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetActivityTaskCanceledEventAttributes() *ActivityTaskCanceledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ActivityTaskCanceledEventAttributes); ok { + return x.ActivityTaskCanceledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetTimerCanceledEventAttributes() *TimerCanceledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_TimerCanceledEventAttributes); ok { + return x.TimerCanceledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetMarkerRecordedEventAttributes() *MarkerRecordedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_MarkerRecordedEventAttributes); ok { + return x.MarkerRecordedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionSignaledEventAttributes() *WorkflowExecutionSignaledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionSignaledEventAttributes); ok { + return x.WorkflowExecutionSignaledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionTerminatedEventAttributes() *WorkflowExecutionTerminatedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionTerminatedEventAttributes); ok { + return x.WorkflowExecutionTerminatedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionCancelRequestedEventAttributes() *WorkflowExecutionCancelRequestedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionCancelRequestedEventAttributes); ok { + return x.WorkflowExecutionCancelRequestedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionCanceledEventAttributes() *WorkflowExecutionCanceledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionCanceledEventAttributes); ok { + return x.WorkflowExecutionCanceledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetRequestCancelExternalWorkflowExecutionInitiatedEventAttributes() *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_RequestCancelExternalWorkflowExecutionInitiatedEventAttributes); ok { + return x.RequestCancelExternalWorkflowExecutionInitiatedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetRequestCancelExternalWorkflowExecutionFailedEventAttributes() *RequestCancelExternalWorkflowExecutionFailedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_RequestCancelExternalWorkflowExecutionFailedEventAttributes); ok { + return x.RequestCancelExternalWorkflowExecutionFailedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetExternalWorkflowExecutionCancelRequestedEventAttributes() *ExternalWorkflowExecutionCancelRequestedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ExternalWorkflowExecutionCancelRequestedEventAttributes); ok { + return x.ExternalWorkflowExecutionCancelRequestedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionContinuedAsNewEventAttributes() *WorkflowExecutionContinuedAsNewEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionContinuedAsNewEventAttributes); ok { + return x.WorkflowExecutionContinuedAsNewEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetStartChildWorkflowExecutionInitiatedEventAttributes() *StartChildWorkflowExecutionInitiatedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_StartChildWorkflowExecutionInitiatedEventAttributes); ok { + return x.StartChildWorkflowExecutionInitiatedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetStartChildWorkflowExecutionFailedEventAttributes() *StartChildWorkflowExecutionFailedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_StartChildWorkflowExecutionFailedEventAttributes); ok { + return x.StartChildWorkflowExecutionFailedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetChildWorkflowExecutionStartedEventAttributes() *ChildWorkflowExecutionStartedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ChildWorkflowExecutionStartedEventAttributes); ok { + return x.ChildWorkflowExecutionStartedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetChildWorkflowExecutionCompletedEventAttributes() *ChildWorkflowExecutionCompletedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ChildWorkflowExecutionCompletedEventAttributes); ok { + return x.ChildWorkflowExecutionCompletedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetChildWorkflowExecutionFailedEventAttributes() *ChildWorkflowExecutionFailedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ChildWorkflowExecutionFailedEventAttributes); ok { + return x.ChildWorkflowExecutionFailedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetChildWorkflowExecutionCanceledEventAttributes() *ChildWorkflowExecutionCanceledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ChildWorkflowExecutionCanceledEventAttributes); ok { + return x.ChildWorkflowExecutionCanceledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetChildWorkflowExecutionTimedOutEventAttributes() *ChildWorkflowExecutionTimedOutEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ChildWorkflowExecutionTimedOutEventAttributes); ok { + return x.ChildWorkflowExecutionTimedOutEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetChildWorkflowExecutionTerminatedEventAttributes() *ChildWorkflowExecutionTerminatedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ChildWorkflowExecutionTerminatedEventAttributes); ok { + return x.ChildWorkflowExecutionTerminatedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetSignalExternalWorkflowExecutionInitiatedEventAttributes() *SignalExternalWorkflowExecutionInitiatedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_SignalExternalWorkflowExecutionInitiatedEventAttributes); ok { + return x.SignalExternalWorkflowExecutionInitiatedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetSignalExternalWorkflowExecutionFailedEventAttributes() *SignalExternalWorkflowExecutionFailedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_SignalExternalWorkflowExecutionFailedEventAttributes); ok { + return x.SignalExternalWorkflowExecutionFailedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetExternalWorkflowExecutionSignaledEventAttributes() *ExternalWorkflowExecutionSignaledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ExternalWorkflowExecutionSignaledEventAttributes); ok { + return x.ExternalWorkflowExecutionSignaledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetUpsertWorkflowSearchAttributesEventAttributes() *UpsertWorkflowSearchAttributesEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_UpsertWorkflowSearchAttributesEventAttributes); ok { + return x.UpsertWorkflowSearchAttributesEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionUpdateAcceptedEventAttributes() *WorkflowExecutionUpdateAcceptedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionUpdateAcceptedEventAttributes); ok { + return x.WorkflowExecutionUpdateAcceptedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionUpdateRejectedEventAttributes() *WorkflowExecutionUpdateRejectedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionUpdateRejectedEventAttributes); ok { + return x.WorkflowExecutionUpdateRejectedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionUpdateCompletedEventAttributes() *WorkflowExecutionUpdateCompletedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionUpdateCompletedEventAttributes); ok { + return x.WorkflowExecutionUpdateCompletedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowPropertiesModifiedExternallyEventAttributes() *WorkflowPropertiesModifiedExternallyEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowPropertiesModifiedExternallyEventAttributes); ok { + return x.WorkflowPropertiesModifiedExternallyEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetActivityPropertiesModifiedExternallyEventAttributes() *ActivityPropertiesModifiedExternallyEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_ActivityPropertiesModifiedExternallyEventAttributes); ok { + return x.ActivityPropertiesModifiedExternallyEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowPropertiesModifiedEventAttributes() *WorkflowPropertiesModifiedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowPropertiesModifiedEventAttributes); ok { + return x.WorkflowPropertiesModifiedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionUpdateAdmittedEventAttributes() *WorkflowExecutionUpdateAdmittedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionUpdateAdmittedEventAttributes); ok { + return x.WorkflowExecutionUpdateAdmittedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetNexusOperationScheduledEventAttributes() *NexusOperationScheduledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_NexusOperationScheduledEventAttributes); ok { + return x.NexusOperationScheduledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetNexusOperationStartedEventAttributes() *NexusOperationStartedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_NexusOperationStartedEventAttributes); ok { + return x.NexusOperationStartedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetNexusOperationCompletedEventAttributes() *NexusOperationCompletedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_NexusOperationCompletedEventAttributes); ok { + return x.NexusOperationCompletedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetNexusOperationFailedEventAttributes() *NexusOperationFailedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_NexusOperationFailedEventAttributes); ok { + return x.NexusOperationFailedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetNexusOperationCanceledEventAttributes() *NexusOperationCanceledEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_NexusOperationCanceledEventAttributes); ok { + return x.NexusOperationCanceledEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetNexusOperationTimedOutEventAttributes() *NexusOperationTimedOutEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_NexusOperationTimedOutEventAttributes); ok { + return x.NexusOperationTimedOutEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetNexusOperationCancelRequestedEventAttributes() *NexusOperationCancelRequestedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_NexusOperationCancelRequestedEventAttributes); ok { + return x.NexusOperationCancelRequestedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionOptionsUpdatedEventAttributes() *WorkflowExecutionOptionsUpdatedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionOptionsUpdatedEventAttributes); ok { + return x.WorkflowExecutionOptionsUpdatedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetNexusOperationCancelRequestCompletedEventAttributes() *NexusOperationCancelRequestCompletedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_NexusOperationCancelRequestCompletedEventAttributes); ok { + return x.NexusOperationCancelRequestCompletedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetNexusOperationCancelRequestFailedEventAttributes() *NexusOperationCancelRequestFailedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_NexusOperationCancelRequestFailedEventAttributes); ok { + return x.NexusOperationCancelRequestFailedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionPausedEventAttributes() *WorkflowExecutionPausedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionPausedEventAttributes); ok { + return x.WorkflowExecutionPausedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionUnpausedEventAttributes() *WorkflowExecutionUnpausedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionUnpausedEventAttributes); ok { + return x.WorkflowExecutionUnpausedEventAttributes + } + } + return nil +} + +func (x *HistoryEvent) GetWorkflowExecutionTimeSkippingTransitionedEventAttributes() *WorkflowExecutionTimeSkippingTransitionedEventAttributes { + if x != nil { + if x, ok := x.Attributes.(*HistoryEvent_WorkflowExecutionTimeSkippingTransitionedEventAttributes); ok { + return x.WorkflowExecutionTimeSkippingTransitionedEventAttributes + } + } + return nil +} + +type isHistoryEvent_Attributes interface { + isHistoryEvent_Attributes() +} + +type HistoryEvent_WorkflowExecutionStartedEventAttributes struct { + WorkflowExecutionStartedEventAttributes *WorkflowExecutionStartedEventAttributes `protobuf:"bytes,6,opt,name=workflow_execution_started_event_attributes,json=workflowExecutionStartedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionCompletedEventAttributes struct { + WorkflowExecutionCompletedEventAttributes *WorkflowExecutionCompletedEventAttributes `protobuf:"bytes,7,opt,name=workflow_execution_completed_event_attributes,json=workflowExecutionCompletedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionFailedEventAttributes struct { + WorkflowExecutionFailedEventAttributes *WorkflowExecutionFailedEventAttributes `protobuf:"bytes,8,opt,name=workflow_execution_failed_event_attributes,json=workflowExecutionFailedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionTimedOutEventAttributes struct { + WorkflowExecutionTimedOutEventAttributes *WorkflowExecutionTimedOutEventAttributes `protobuf:"bytes,9,opt,name=workflow_execution_timed_out_event_attributes,json=workflowExecutionTimedOutEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowTaskScheduledEventAttributes struct { + WorkflowTaskScheduledEventAttributes *WorkflowTaskScheduledEventAttributes `protobuf:"bytes,10,opt,name=workflow_task_scheduled_event_attributes,json=workflowTaskScheduledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowTaskStartedEventAttributes struct { + WorkflowTaskStartedEventAttributes *WorkflowTaskStartedEventAttributes `protobuf:"bytes,11,opt,name=workflow_task_started_event_attributes,json=workflowTaskStartedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowTaskCompletedEventAttributes struct { + WorkflowTaskCompletedEventAttributes *WorkflowTaskCompletedEventAttributes `protobuf:"bytes,12,opt,name=workflow_task_completed_event_attributes,json=workflowTaskCompletedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowTaskTimedOutEventAttributes struct { + WorkflowTaskTimedOutEventAttributes *WorkflowTaskTimedOutEventAttributes `protobuf:"bytes,13,opt,name=workflow_task_timed_out_event_attributes,json=workflowTaskTimedOutEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowTaskFailedEventAttributes struct { + WorkflowTaskFailedEventAttributes *WorkflowTaskFailedEventAttributes `protobuf:"bytes,14,opt,name=workflow_task_failed_event_attributes,json=workflowTaskFailedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ActivityTaskScheduledEventAttributes struct { + ActivityTaskScheduledEventAttributes *ActivityTaskScheduledEventAttributes `protobuf:"bytes,15,opt,name=activity_task_scheduled_event_attributes,json=activityTaskScheduledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ActivityTaskStartedEventAttributes struct { + ActivityTaskStartedEventAttributes *ActivityTaskStartedEventAttributes `protobuf:"bytes,16,opt,name=activity_task_started_event_attributes,json=activityTaskStartedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ActivityTaskCompletedEventAttributes struct { + ActivityTaskCompletedEventAttributes *ActivityTaskCompletedEventAttributes `protobuf:"bytes,17,opt,name=activity_task_completed_event_attributes,json=activityTaskCompletedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ActivityTaskFailedEventAttributes struct { + ActivityTaskFailedEventAttributes *ActivityTaskFailedEventAttributes `protobuf:"bytes,18,opt,name=activity_task_failed_event_attributes,json=activityTaskFailedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ActivityTaskTimedOutEventAttributes struct { + ActivityTaskTimedOutEventAttributes *ActivityTaskTimedOutEventAttributes `protobuf:"bytes,19,opt,name=activity_task_timed_out_event_attributes,json=activityTaskTimedOutEventAttributes,proto3,oneof"` +} + +type HistoryEvent_TimerStartedEventAttributes struct { + TimerStartedEventAttributes *TimerStartedEventAttributes `protobuf:"bytes,20,opt,name=timer_started_event_attributes,json=timerStartedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_TimerFiredEventAttributes struct { + TimerFiredEventAttributes *TimerFiredEventAttributes `protobuf:"bytes,21,opt,name=timer_fired_event_attributes,json=timerFiredEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ActivityTaskCancelRequestedEventAttributes struct { + ActivityTaskCancelRequestedEventAttributes *ActivityTaskCancelRequestedEventAttributes `protobuf:"bytes,22,opt,name=activity_task_cancel_requested_event_attributes,json=activityTaskCancelRequestedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ActivityTaskCanceledEventAttributes struct { + ActivityTaskCanceledEventAttributes *ActivityTaskCanceledEventAttributes `protobuf:"bytes,23,opt,name=activity_task_canceled_event_attributes,json=activityTaskCanceledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_TimerCanceledEventAttributes struct { + TimerCanceledEventAttributes *TimerCanceledEventAttributes `protobuf:"bytes,24,opt,name=timer_canceled_event_attributes,json=timerCanceledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_MarkerRecordedEventAttributes struct { + MarkerRecordedEventAttributes *MarkerRecordedEventAttributes `protobuf:"bytes,25,opt,name=marker_recorded_event_attributes,json=markerRecordedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionSignaledEventAttributes struct { + WorkflowExecutionSignaledEventAttributes *WorkflowExecutionSignaledEventAttributes `protobuf:"bytes,26,opt,name=workflow_execution_signaled_event_attributes,json=workflowExecutionSignaledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionTerminatedEventAttributes struct { + WorkflowExecutionTerminatedEventAttributes *WorkflowExecutionTerminatedEventAttributes `protobuf:"bytes,27,opt,name=workflow_execution_terminated_event_attributes,json=workflowExecutionTerminatedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionCancelRequestedEventAttributes struct { + WorkflowExecutionCancelRequestedEventAttributes *WorkflowExecutionCancelRequestedEventAttributes `protobuf:"bytes,28,opt,name=workflow_execution_cancel_requested_event_attributes,json=workflowExecutionCancelRequestedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionCanceledEventAttributes struct { + WorkflowExecutionCanceledEventAttributes *WorkflowExecutionCanceledEventAttributes `protobuf:"bytes,29,opt,name=workflow_execution_canceled_event_attributes,json=workflowExecutionCanceledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_RequestCancelExternalWorkflowExecutionInitiatedEventAttributes struct { + RequestCancelExternalWorkflowExecutionInitiatedEventAttributes *RequestCancelExternalWorkflowExecutionInitiatedEventAttributes `protobuf:"bytes,30,opt,name=request_cancel_external_workflow_execution_initiated_event_attributes,json=requestCancelExternalWorkflowExecutionInitiatedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_RequestCancelExternalWorkflowExecutionFailedEventAttributes struct { + RequestCancelExternalWorkflowExecutionFailedEventAttributes *RequestCancelExternalWorkflowExecutionFailedEventAttributes `protobuf:"bytes,31,opt,name=request_cancel_external_workflow_execution_failed_event_attributes,json=requestCancelExternalWorkflowExecutionFailedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ExternalWorkflowExecutionCancelRequestedEventAttributes struct { + ExternalWorkflowExecutionCancelRequestedEventAttributes *ExternalWorkflowExecutionCancelRequestedEventAttributes `protobuf:"bytes,32,opt,name=external_workflow_execution_cancel_requested_event_attributes,json=externalWorkflowExecutionCancelRequestedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionContinuedAsNewEventAttributes struct { + WorkflowExecutionContinuedAsNewEventAttributes *WorkflowExecutionContinuedAsNewEventAttributes `protobuf:"bytes,33,opt,name=workflow_execution_continued_as_new_event_attributes,json=workflowExecutionContinuedAsNewEventAttributes,proto3,oneof"` +} + +type HistoryEvent_StartChildWorkflowExecutionInitiatedEventAttributes struct { + StartChildWorkflowExecutionInitiatedEventAttributes *StartChildWorkflowExecutionInitiatedEventAttributes `protobuf:"bytes,34,opt,name=start_child_workflow_execution_initiated_event_attributes,json=startChildWorkflowExecutionInitiatedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_StartChildWorkflowExecutionFailedEventAttributes struct { + StartChildWorkflowExecutionFailedEventAttributes *StartChildWorkflowExecutionFailedEventAttributes `protobuf:"bytes,35,opt,name=start_child_workflow_execution_failed_event_attributes,json=startChildWorkflowExecutionFailedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ChildWorkflowExecutionStartedEventAttributes struct { + ChildWorkflowExecutionStartedEventAttributes *ChildWorkflowExecutionStartedEventAttributes `protobuf:"bytes,36,opt,name=child_workflow_execution_started_event_attributes,json=childWorkflowExecutionStartedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ChildWorkflowExecutionCompletedEventAttributes struct { + ChildWorkflowExecutionCompletedEventAttributes *ChildWorkflowExecutionCompletedEventAttributes `protobuf:"bytes,37,opt,name=child_workflow_execution_completed_event_attributes,json=childWorkflowExecutionCompletedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ChildWorkflowExecutionFailedEventAttributes struct { + ChildWorkflowExecutionFailedEventAttributes *ChildWorkflowExecutionFailedEventAttributes `protobuf:"bytes,38,opt,name=child_workflow_execution_failed_event_attributes,json=childWorkflowExecutionFailedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ChildWorkflowExecutionCanceledEventAttributes struct { + ChildWorkflowExecutionCanceledEventAttributes *ChildWorkflowExecutionCanceledEventAttributes `protobuf:"bytes,39,opt,name=child_workflow_execution_canceled_event_attributes,json=childWorkflowExecutionCanceledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ChildWorkflowExecutionTimedOutEventAttributes struct { + ChildWorkflowExecutionTimedOutEventAttributes *ChildWorkflowExecutionTimedOutEventAttributes `protobuf:"bytes,40,opt,name=child_workflow_execution_timed_out_event_attributes,json=childWorkflowExecutionTimedOutEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ChildWorkflowExecutionTerminatedEventAttributes struct { + ChildWorkflowExecutionTerminatedEventAttributes *ChildWorkflowExecutionTerminatedEventAttributes `protobuf:"bytes,41,opt,name=child_workflow_execution_terminated_event_attributes,json=childWorkflowExecutionTerminatedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_SignalExternalWorkflowExecutionInitiatedEventAttributes struct { + SignalExternalWorkflowExecutionInitiatedEventAttributes *SignalExternalWorkflowExecutionInitiatedEventAttributes `protobuf:"bytes,42,opt,name=signal_external_workflow_execution_initiated_event_attributes,json=signalExternalWorkflowExecutionInitiatedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_SignalExternalWorkflowExecutionFailedEventAttributes struct { + SignalExternalWorkflowExecutionFailedEventAttributes *SignalExternalWorkflowExecutionFailedEventAttributes `protobuf:"bytes,43,opt,name=signal_external_workflow_execution_failed_event_attributes,json=signalExternalWorkflowExecutionFailedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ExternalWorkflowExecutionSignaledEventAttributes struct { + ExternalWorkflowExecutionSignaledEventAttributes *ExternalWorkflowExecutionSignaledEventAttributes `protobuf:"bytes,44,opt,name=external_workflow_execution_signaled_event_attributes,json=externalWorkflowExecutionSignaledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_UpsertWorkflowSearchAttributesEventAttributes struct { + UpsertWorkflowSearchAttributesEventAttributes *UpsertWorkflowSearchAttributesEventAttributes `protobuf:"bytes,45,opt,name=upsert_workflow_search_attributes_event_attributes,json=upsertWorkflowSearchAttributesEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionUpdateAcceptedEventAttributes struct { + WorkflowExecutionUpdateAcceptedEventAttributes *WorkflowExecutionUpdateAcceptedEventAttributes `protobuf:"bytes,46,opt,name=workflow_execution_update_accepted_event_attributes,json=workflowExecutionUpdateAcceptedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionUpdateRejectedEventAttributes struct { + WorkflowExecutionUpdateRejectedEventAttributes *WorkflowExecutionUpdateRejectedEventAttributes `protobuf:"bytes,47,opt,name=workflow_execution_update_rejected_event_attributes,json=workflowExecutionUpdateRejectedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionUpdateCompletedEventAttributes struct { + WorkflowExecutionUpdateCompletedEventAttributes *WorkflowExecutionUpdateCompletedEventAttributes `protobuf:"bytes,48,opt,name=workflow_execution_update_completed_event_attributes,json=workflowExecutionUpdateCompletedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowPropertiesModifiedExternallyEventAttributes struct { + WorkflowPropertiesModifiedExternallyEventAttributes *WorkflowPropertiesModifiedExternallyEventAttributes `protobuf:"bytes,49,opt,name=workflow_properties_modified_externally_event_attributes,json=workflowPropertiesModifiedExternallyEventAttributes,proto3,oneof"` +} + +type HistoryEvent_ActivityPropertiesModifiedExternallyEventAttributes struct { + ActivityPropertiesModifiedExternallyEventAttributes *ActivityPropertiesModifiedExternallyEventAttributes `protobuf:"bytes,50,opt,name=activity_properties_modified_externally_event_attributes,json=activityPropertiesModifiedExternallyEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowPropertiesModifiedEventAttributes struct { + WorkflowPropertiesModifiedEventAttributes *WorkflowPropertiesModifiedEventAttributes `protobuf:"bytes,51,opt,name=workflow_properties_modified_event_attributes,json=workflowPropertiesModifiedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionUpdateAdmittedEventAttributes struct { + WorkflowExecutionUpdateAdmittedEventAttributes *WorkflowExecutionUpdateAdmittedEventAttributes `protobuf:"bytes,52,opt,name=workflow_execution_update_admitted_event_attributes,json=workflowExecutionUpdateAdmittedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_NexusOperationScheduledEventAttributes struct { + NexusOperationScheduledEventAttributes *NexusOperationScheduledEventAttributes `protobuf:"bytes,53,opt,name=nexus_operation_scheduled_event_attributes,json=nexusOperationScheduledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_NexusOperationStartedEventAttributes struct { + NexusOperationStartedEventAttributes *NexusOperationStartedEventAttributes `protobuf:"bytes,54,opt,name=nexus_operation_started_event_attributes,json=nexusOperationStartedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_NexusOperationCompletedEventAttributes struct { + NexusOperationCompletedEventAttributes *NexusOperationCompletedEventAttributes `protobuf:"bytes,55,opt,name=nexus_operation_completed_event_attributes,json=nexusOperationCompletedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_NexusOperationFailedEventAttributes struct { + NexusOperationFailedEventAttributes *NexusOperationFailedEventAttributes `protobuf:"bytes,56,opt,name=nexus_operation_failed_event_attributes,json=nexusOperationFailedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_NexusOperationCanceledEventAttributes struct { + NexusOperationCanceledEventAttributes *NexusOperationCanceledEventAttributes `protobuf:"bytes,57,opt,name=nexus_operation_canceled_event_attributes,json=nexusOperationCanceledEventAttributes,proto3,oneof"` +} + +type HistoryEvent_NexusOperationTimedOutEventAttributes struct { + NexusOperationTimedOutEventAttributes *NexusOperationTimedOutEventAttributes `protobuf:"bytes,58,opt,name=nexus_operation_timed_out_event_attributes,json=nexusOperationTimedOutEventAttributes,proto3,oneof"` +} + +type HistoryEvent_NexusOperationCancelRequestedEventAttributes struct { + NexusOperationCancelRequestedEventAttributes *NexusOperationCancelRequestedEventAttributes `protobuf:"bytes,59,opt,name=nexus_operation_cancel_requested_event_attributes,json=nexusOperationCancelRequestedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionOptionsUpdatedEventAttributes struct { + WorkflowExecutionOptionsUpdatedEventAttributes *WorkflowExecutionOptionsUpdatedEventAttributes `protobuf:"bytes,60,opt,name=workflow_execution_options_updated_event_attributes,json=workflowExecutionOptionsUpdatedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_NexusOperationCancelRequestCompletedEventAttributes struct { + NexusOperationCancelRequestCompletedEventAttributes *NexusOperationCancelRequestCompletedEventAttributes `protobuf:"bytes,61,opt,name=nexus_operation_cancel_request_completed_event_attributes,json=nexusOperationCancelRequestCompletedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_NexusOperationCancelRequestFailedEventAttributes struct { + NexusOperationCancelRequestFailedEventAttributes *NexusOperationCancelRequestFailedEventAttributes `protobuf:"bytes,62,opt,name=nexus_operation_cancel_request_failed_event_attributes,json=nexusOperationCancelRequestFailedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionPausedEventAttributes struct { + WorkflowExecutionPausedEventAttributes *WorkflowExecutionPausedEventAttributes `protobuf:"bytes,63,opt,name=workflow_execution_paused_event_attributes,json=workflowExecutionPausedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionUnpausedEventAttributes struct { + WorkflowExecutionUnpausedEventAttributes *WorkflowExecutionUnpausedEventAttributes `protobuf:"bytes,64,opt,name=workflow_execution_unpaused_event_attributes,json=workflowExecutionUnpausedEventAttributes,proto3,oneof"` +} + +type HistoryEvent_WorkflowExecutionTimeSkippingTransitionedEventAttributes struct { + WorkflowExecutionTimeSkippingTransitionedEventAttributes *WorkflowExecutionTimeSkippingTransitionedEventAttributes `protobuf:"bytes,65,opt,name=workflow_execution_time_skipping_transitioned_event_attributes,json=workflowExecutionTimeSkippingTransitionedEventAttributes,proto3,oneof"` +} + +func (*HistoryEvent_WorkflowExecutionStartedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionCompletedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionFailedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionTimedOutEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowTaskScheduledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowTaskStartedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowTaskCompletedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowTaskTimedOutEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowTaskFailedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ActivityTaskScheduledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ActivityTaskStartedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ActivityTaskCompletedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ActivityTaskFailedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ActivityTaskTimedOutEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_TimerStartedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_TimerFiredEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ActivityTaskCancelRequestedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ActivityTaskCanceledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_TimerCanceledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_MarkerRecordedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionSignaledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionTerminatedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionCancelRequestedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionCanceledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_RequestCancelExternalWorkflowExecutionInitiatedEventAttributes) isHistoryEvent_Attributes() { +} + +func (*HistoryEvent_RequestCancelExternalWorkflowExecutionFailedEventAttributes) isHistoryEvent_Attributes() { +} + +func (*HistoryEvent_ExternalWorkflowExecutionCancelRequestedEventAttributes) isHistoryEvent_Attributes() { +} + +func (*HistoryEvent_WorkflowExecutionContinuedAsNewEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_StartChildWorkflowExecutionInitiatedEventAttributes) isHistoryEvent_Attributes() { +} + +func (*HistoryEvent_StartChildWorkflowExecutionFailedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ChildWorkflowExecutionStartedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ChildWorkflowExecutionCompletedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ChildWorkflowExecutionFailedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ChildWorkflowExecutionCanceledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ChildWorkflowExecutionTimedOutEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_ChildWorkflowExecutionTerminatedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_SignalExternalWorkflowExecutionInitiatedEventAttributes) isHistoryEvent_Attributes() { +} + +func (*HistoryEvent_SignalExternalWorkflowExecutionFailedEventAttributes) isHistoryEvent_Attributes() { +} + +func (*HistoryEvent_ExternalWorkflowExecutionSignaledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_UpsertWorkflowSearchAttributesEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionUpdateAcceptedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionUpdateRejectedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionUpdateCompletedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowPropertiesModifiedExternallyEventAttributes) isHistoryEvent_Attributes() { +} + +func (*HistoryEvent_ActivityPropertiesModifiedExternallyEventAttributes) isHistoryEvent_Attributes() { +} + +func (*HistoryEvent_WorkflowPropertiesModifiedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionUpdateAdmittedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_NexusOperationScheduledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_NexusOperationStartedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_NexusOperationCompletedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_NexusOperationFailedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_NexusOperationCanceledEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_NexusOperationTimedOutEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_NexusOperationCancelRequestedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionOptionsUpdatedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_NexusOperationCancelRequestCompletedEventAttributes) isHistoryEvent_Attributes() { +} + +func (*HistoryEvent_NexusOperationCancelRequestFailedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionPausedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionUnpausedEventAttributes) isHistoryEvent_Attributes() {} + +func (*HistoryEvent_WorkflowExecutionTimeSkippingTransitionedEventAttributes) isHistoryEvent_Attributes() { +} + +type History struct { + state protoimpl.MessageState `protogen:"open.v1"` + Events []*HistoryEvent `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *History) Reset() { + *x = History{} + mi := &file_temporal_api_history_v1_message_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *History) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*History) ProtoMessage() {} + +func (x *History) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_history_v1_message_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use History.ProtoReflect.Descriptor instead. +func (*History) Descriptor() ([]byte, []int) { + return file_temporal_api_history_v1_message_proto_rawDescGZIP(), []int{62} +} + +func (x *History) GetEvents() []*HistoryEvent { + if x != nil { + return x.Events + } + return nil +} + +var File_temporal_api_history_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_history_v1_message_proto_rawDesc = "" + + "\n" + + "%temporal/api/history/v1/message.proto\x12\x17temporal.api.history.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a&temporal/api/enums/v1/event_type.proto\x1a(temporal/api/enums/v1/failed_cause.proto\x1a\"temporal/api/enums/v1/update.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a$temporal/api/common/v1/message.proto\x1a(temporal/api/deployment/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a'temporal/api/taskqueue/v1/message.proto\x1a$temporal/api/update/v1/message.proto\x1a&temporal/api/workflow/v1/message.proto\x1a0temporal/api/sdk/v1/task_complete_metadata.proto\x1a'temporal/api/sdk/v1/user_metadata.proto\"\xcb\x18\n" + + "'WorkflowExecutionStartedEventAttributes\x12I\n" + + "\rworkflow_type\x18\x01 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12:\n" + + "\x19parent_workflow_namespace\x18\x02 \x01(\tR\x17parentWorkflowNamespace\x12?\n" + + "\x1cparent_workflow_namespace_id\x18\x1b \x01(\tR\x19parentWorkflowNamespaceId\x12e\n" + + "\x19parent_workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x17parentWorkflowExecution\x129\n" + + "\x19parent_initiated_event_id\x18\x04 \x01(\x03R\x16parentInitiatedEventId\x12C\n" + + "\n" + + "task_queue\x18\x05 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x05input\x18\x06 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12W\n" + + "\x1aworkflow_execution_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x18workflowExecutionTimeout\x12K\n" + + "\x14workflow_run_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x12workflowRunTimeout\x12M\n" + + "\x15workflow_task_timeout\x18\t \x01(\v2\x19.google.protobuf.DurationR\x13workflowTaskTimeout\x12;\n" + + "\x1acontinued_execution_run_id\x18\n" + + " \x01(\tR\x17continuedExecutionRunId\x12K\n" + + "\tinitiator\x18\v \x01(\x0e2-.temporal.api.enums.v1.ContinueAsNewInitiatorR\tinitiator\x12M\n" + + "\x11continued_failure\x18\f \x01(\v2 .temporal.api.failure.v1.FailureR\x10continuedFailure\x12V\n" + + "\x16last_completion_result\x18\r \x01(\v2 .temporal.api.common.v1.PayloadsR\x14lastCompletionResult\x129\n" + + "\x19original_execution_run_id\x18\x0e \x01(\tR\x16originalExecutionRunId\x12\x1a\n" + + "\bidentity\x18\x0f \x01(\tR\bidentity\x123\n" + + "\x16first_execution_run_id\x18\x10 \x01(\tR\x13firstExecutionRunId\x12F\n" + + "\fretry_policy\x18\x11 \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12\x18\n" + + "\aattempt\x18\x12 \x01(\x05R\aattempt\x12g\n" + + "\"workflow_execution_expiration_time\x18\x13 \x01(\v2\x1a.google.protobuf.TimestampR\x1fworkflowExecutionExpirationTime\x12#\n" + + "\rcron_schedule\x18\x14 \x01(\tR\fcronSchedule\x12X\n" + + "\x1bfirst_workflow_task_backoff\x18\x15 \x01(\v2\x19.google.protobuf.DurationR\x18firstWorkflowTaskBackoff\x120\n" + + "\x04memo\x18\x16 \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\x17 \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12Z\n" + + "\x16prev_auto_reset_points\x18\x18 \x01(\v2%.temporal.api.workflow.v1.ResetPointsR\x13prevAutoResetPoints\x126\n" + + "\x06header\x18\x19 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12C\n" + + "\x1eparent_initiated_event_version\x18\x1a \x01(\x03R\x1bparentInitiatedEventVersion\x12\x1f\n" + + "\vworkflow_id\x18\x1c \x01(\tR\n" + + "workflowId\x12`\n" + + "\x14source_version_stamp\x18\x1d \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\x12sourceVersionStamp\x12S\n" + + "\x14completion_callbacks\x18\x1e \x03(\v2 .temporal.api.common.v1.CallbackR\x13completionCallbacks\x12a\n" + + "\x17root_workflow_execution\x18\x1f \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x15rootWorkflowExecution\x120\n" + + "\x12inherited_build_id\x18 \x01(\tB\x02\x18\x01R\x10inheritedBuildId\x12]\n" + + "\x13versioning_override\x18! \x01(\v2,.temporal.api.workflow.v1.VersioningOverrideR\x12versioningOverride\x12X\n" + + "'parent_pinned_worker_deployment_version\x18\" \x01(\tB\x02\x18\x01R#parentPinnedWorkerDeploymentVersion\x12<\n" + + "\bpriority\x18# \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12m\n" + + "\x18inherited_pinned_version\x18% \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x16inheritedPinnedVersion\x12s\n" + + "\x1binherited_auto_upgrade_info\x18' \x01(\v24.temporal.api.deployment.v1.InheritedAutoUpgradeInfoR\x18inheritedAutoUpgradeInfo\x128\n" + + "\x18eager_execution_accepted\x18& \x01(\bR\x16eagerExecutionAccepted\x12|\n" + + "\x1fdeclined_target_version_upgrade\x18( \x01(\v25.temporal.api.history.v1.DeclinedTargetVersionUpgradeR\x1cdeclinedTargetVersionUpgrade\x12^\n" + + "\x14time_skipping_config\x18) \x01(\v2,.temporal.api.workflow.v1.TimeSkippingConfigR\x12timeSkippingConfig\x12S\n" + + "\x18initial_skipped_duration\x18* \x01(\v2\x19.google.protobuf.DurationR\x16initialSkippedDurationJ\x04\b$\x10%R parent_pinned_deployment_version\"\xab\x01\n" + + "\x1cDeclinedTargetVersionUpgrade\x12b\n" + + "\x12deployment_version\x18\x01 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12'\n" + + "\x0frevision_number\x18\x02 \x01(\x03R\x0erevisionNumber\"\xde\x01\n" + + ")WorkflowExecutionCompletedEventAttributes\x128\n" + + "\x06result\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\x06result\x12F\n" + + " workflow_task_completed_event_id\x18\x02 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12/\n" + + "\x14new_execution_run_id\x18\x03 \x01(\tR\x11newExecutionRunId\"\xa1\x02\n" + + "&WorkflowExecutionFailedEventAttributes\x12:\n" + + "\afailure\x18\x01 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12B\n" + + "\vretry_state\x18\x02 \x01(\x0e2!.temporal.api.enums.v1.RetryStateR\n" + + "retryState\x12F\n" + + " workflow_task_completed_event_id\x18\x03 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12/\n" + + "\x14new_execution_run_id\x18\x04 \x01(\tR\x11newExecutionRunId\"\x9f\x01\n" + + "(WorkflowExecutionTimedOutEventAttributes\x12B\n" + + "\vretry_state\x18\x01 \x01(\x0e2!.temporal.api.enums.v1.RetryStateR\n" + + "retryState\x12/\n" + + "\x14new_execution_run_id\x18\x02 \x01(\tR\x11newExecutionRunId\"\xaa\t\n" + + ".WorkflowExecutionContinuedAsNewEventAttributes\x12/\n" + + "\x14new_execution_run_id\x18\x01 \x01(\tR\x11newExecutionRunId\x12I\n" + + "\rworkflow_type\x18\x02 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12C\n" + + "\n" + + "task_queue\x18\x03 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x05input\x18\x04 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12K\n" + + "\x14workflow_run_timeout\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\x12workflowRunTimeout\x12M\n" + + "\x15workflow_task_timeout\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x13workflowTaskTimeout\x12F\n" + + " workflow_task_completed_event_id\x18\a \x01(\x03R\x1cworkflowTaskCompletedEventId\x12O\n" + + "\x16backoff_start_interval\x18\b \x01(\v2\x19.google.protobuf.DurationR\x14backoffStartInterval\x12K\n" + + "\tinitiator\x18\t \x01(\x0e2-.temporal.api.enums.v1.ContinueAsNewInitiatorR\tinitiator\x12>\n" + + "\afailure\x18\n" + + " \x01(\v2 .temporal.api.failure.v1.FailureB\x02\x18\x01R\afailure\x12V\n" + + "\x16last_completion_result\x18\v \x01(\v2 .temporal.api.common.v1.PayloadsR\x14lastCompletionResult\x126\n" + + "\x06header\x18\f \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x120\n" + + "\x04memo\x18\r \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\x0e \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12,\n" + + "\x10inherit_build_id\x18\x0f \x01(\bB\x02\x18\x01R\x0einheritBuildId\x12v\n" + + "\x1binitial_versioning_behavior\x18\x10 \x01(\x0e26.temporal.api.enums.v1.ContinueAsNewVersioningBehaviorR\x19initialVersioningBehavior\"\xd5\x01\n" + + "$WorkflowTaskScheduledEventAttributes\x12C\n" + + "\n" + + "task_queue\x18\x01 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x12N\n" + + "\x16start_to_close_timeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x12\x18\n" + + "\aattempt\x18\x03 \x01(\x05R\aattempt\"\xd9\x04\n" + + "\"WorkflowTaskStartedEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\x125\n" + + "\x17suggest_continue_as_new\x18\x04 \x01(\bR\x14suggestContinueAsNew\x12w\n" + + "\x1fsuggest_continue_as_new_reasons\x18\b \x03(\x0e21.temporal.api.enums.v1.SuggestContinueAsNewReasonR\x1bsuggestContinueAsNewReasons\x12V\n" + + "(target_worker_deployment_version_changed\x18\t \x01(\bR$targetWorkerDeploymentVersionChanged\x12,\n" + + "\x12history_size_bytes\x18\x05 \x01(\x03R\x10historySizeBytes\x12U\n" + + "\x0eworker_version\x18\x06 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\x12=\n" + + "\x19build_id_redirect_counter\x18\a \x01(\x03B\x02\x18\x01R\x16buildIdRedirectCounter\"\xce\x06\n" + + "$WorkflowTaskCompletedEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12(\n" + + "\x10started_event_id\x18\x02 \x01(\x03R\x0estartedEventId\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12+\n" + + "\x0fbinary_checksum\x18\x04 \x01(\tB\x02\x18\x01R\x0ebinaryChecksum\x12U\n" + + "\x0eworker_version\x18\x05 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\x12U\n" + + "\fsdk_metadata\x18\x06 \x01(\v22.temporal.api.sdk.v1.WorkflowTaskCompletedMetadataR\vsdkMetadata\x12U\n" + + "\x11metering_metadata\x18\r \x01(\v2(.temporal.api.common.v1.MeteringMetadataR\x10meteringMetadata\x12J\n" + + "\n" + + "deployment\x18\a \x01(\v2&.temporal.api.deployment.v1.DeploymentB\x02\x18\x01R\n" + + "deployment\x12Z\n" + + "\x13versioning_behavior\x18\b \x01(\x0e2).temporal.api.enums.v1.VersioningBehaviorR\x12versioningBehavior\x12>\n" + + "\x19worker_deployment_version\x18\t \x01(\tB\x02\x18\x01R\x17workerDeploymentVersion\x124\n" + + "\x16worker_deployment_name\x18\n" + + " \x01(\tR\x14workerDeploymentName\x12b\n" + + "\x12deployment_version\x18\v \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\"\xc4\x01\n" + + "#WorkflowTaskTimedOutEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12(\n" + + "\x10started_event_id\x18\x02 \x01(\x03R\x0estartedEventId\x12E\n" + + "\ftimeout_type\x18\x03 \x01(\x0e2\".temporal.api.enums.v1.TimeoutTypeR\vtimeoutType\"\x89\x04\n" + + "!WorkflowTaskFailedEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12(\n" + + "\x10started_event_id\x18\x02 \x01(\x03R\x0estartedEventId\x12D\n" + + "\x05cause\x18\x03 \x01(\x0e2..temporal.api.enums.v1.WorkflowTaskFailedCauseR\x05cause\x12:\n" + + "\afailure\x18\x04 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12\x1e\n" + + "\vbase_run_id\x18\x06 \x01(\tR\tbaseRunId\x12\x1c\n" + + "\n" + + "new_run_id\x18\a \x01(\tR\bnewRunId\x12,\n" + + "\x12fork_event_version\x18\b \x01(\x03R\x10forkEventVersion\x12+\n" + + "\x0fbinary_checksum\x18\t \x01(\tB\x02\x18\x01R\x0ebinaryChecksum\x12U\n" + + "\x0eworker_version\x18\n" + + " \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\"\x96\a\n" + + "$ActivityTaskScheduledEventAttributes\x12\x1f\n" + + "\vactivity_id\x18\x01 \x01(\tR\n" + + "activityId\x12I\n" + + "\ractivity_type\x18\x02 \x01(\v2$.temporal.api.common.v1.ActivityTypeR\factivityType\x12C\n" + + "\n" + + "task_queue\x18\x04 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x06header\x18\x05 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x126\n" + + "\x05input\x18\x06 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12T\n" + + "\x19schedule_to_close_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12T\n" + + "\x19schedule_to_start_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\t \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x12F\n" + + "\x11heartbeat_timeout\x18\n" + + " \x01(\v2\x19.google.protobuf.DurationR\x10heartbeatTimeout\x12F\n" + + " workflow_task_completed_event_id\x18\v \x01(\x03R\x1cworkflowTaskCompletedEventId\x12F\n" + + "\fretry_policy\x18\f \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x125\n" + + "\x15use_workflow_build_id\x18\r \x01(\bB\x02\x18\x01R\x12useWorkflowBuildId\x12<\n" + + "\bpriority\x18\x0e \x01(\v2 .temporal.api.common.v1.PriorityR\bpriorityJ\x04\b\x03\x10\x04\"\x82\x03\n" + + "\"ActivityTaskStartedEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\x12\x18\n" + + "\aattempt\x18\x04 \x01(\x05R\aattempt\x12C\n" + + "\flast_failure\x18\x05 \x01(\v2 .temporal.api.failure.v1.FailureR\vlastFailure\x12U\n" + + "\x0eworker_version\x18\x06 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\x12=\n" + + "\x19build_id_redirect_counter\x18\a \x01(\x03B\x02\x18\x01R\x16buildIdRedirectCounter\"\xab\x02\n" + + "$ActivityTaskCompletedEventAttributes\x128\n" + + "\x06result\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\x06result\x12,\n" + + "\x12scheduled_event_id\x18\x02 \x01(\x03R\x10scheduledEventId\x12(\n" + + "\x10started_event_id\x18\x03 \x01(\x03R\x0estartedEventId\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12U\n" + + "\x0eworker_version\x18\x05 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\"\xee\x02\n" + + "!ActivityTaskFailedEventAttributes\x12:\n" + + "\afailure\x18\x01 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12,\n" + + "\x12scheduled_event_id\x18\x02 \x01(\x03R\x10scheduledEventId\x12(\n" + + "\x10started_event_id\x18\x03 \x01(\x03R\x0estartedEventId\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12B\n" + + "\vretry_state\x18\x05 \x01(\x0e2!.temporal.api.enums.v1.RetryStateR\n" + + "retryState\x12U\n" + + "\x0eworker_version\x18\x06 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\"\xfd\x01\n" + + "#ActivityTaskTimedOutEventAttributes\x12:\n" + + "\afailure\x18\x01 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12,\n" + + "\x12scheduled_event_id\x18\x02 \x01(\x03R\x10scheduledEventId\x12(\n" + + "\x10started_event_id\x18\x03 \x01(\x03R\x0estartedEventId\x12B\n" + + "\vretry_state\x18\x04 \x01(\x0e2!.temporal.api.enums.v1.RetryStateR\n" + + "retryState\"\xa2\x01\n" + + "*ActivityTaskCancelRequestedEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12F\n" + + " workflow_task_completed_event_id\x18\x02 \x01(\x03R\x1cworkflowTaskCompletedEventId\"\xf4\x02\n" + + "#ActivityTaskCanceledEventAttributes\x12:\n" + + "\adetails\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12F\n" + + " latest_cancel_requested_event_id\x18\x02 \x01(\x03R\x1clatestCancelRequestedEventId\x12,\n" + + "\x12scheduled_event_id\x18\x03 \x01(\x03R\x10scheduledEventId\x12(\n" + + "\x10started_event_id\x18\x04 \x01(\x03R\x0estartedEventId\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12U\n" + + "\x0eworker_version\x18\x06 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\"\xce\x01\n" + + "\x1bTimerStartedEventAttributes\x12\x19\n" + + "\btimer_id\x18\x01 \x01(\tR\atimerId\x12L\n" + + "\x15start_to_fire_timeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x12startToFireTimeout\x12F\n" + + " workflow_task_completed_event_id\x18\x03 \x01(\x03R\x1cworkflowTaskCompletedEventId\"`\n" + + "\x19TimerFiredEventAttributes\x12\x19\n" + + "\btimer_id\x18\x01 \x01(\tR\atimerId\x12(\n" + + "\x10started_event_id\x18\x02 \x01(\x03R\x0estartedEventId\"\xc7\x01\n" + + "\x1cTimerCanceledEventAttributes\x12\x19\n" + + "\btimer_id\x18\x01 \x01(\tR\atimerId\x12(\n" + + "\x10started_event_id\x18\x02 \x01(\x03R\x0estartedEventId\x12F\n" + + " workflow_task_completed_event_id\x18\x03 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\"\x8d\x02\n" + + "/WorkflowExecutionCancelRequestedEventAttributes\x12\x14\n" + + "\x05cause\x18\x01 \x01(\tR\x05cause\x12=\n" + + "\x1bexternal_initiated_event_id\x18\x02 \x01(\x03R\x18externalInitiatedEventId\x12i\n" + + "\x1bexternal_workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x19externalWorkflowExecution\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\"\xae\x01\n" + + "(WorkflowExecutionCanceledEventAttributes\x12F\n" + + " workflow_task_completed_event_id\x18\x01 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12:\n" + + "\adetails\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\"\xb9\x03\n" + + "\x1dMarkerRecordedEventAttributes\x12\x1f\n" + + "\vmarker_name\x18\x01 \x01(\tR\n" + + "markerName\x12]\n" + + "\adetails\x18\x02 \x03(\v2C.temporal.api.history.v1.MarkerRecordedEventAttributes.DetailsEntryR\adetails\x12F\n" + + " workflow_task_completed_event_id\x18\x03 \x01(\x03R\x1cworkflowTaskCompletedEventId\x126\n" + + "\x06header\x18\x04 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12:\n" + + "\afailure\x18\x05 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x1a\\\n" + + "\fDetailsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x126\n" + + "\x05value\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05value:\x028\x01\"\xa4\x03\n" + + "(WorkflowExecutionSignaledEventAttributes\x12\x1f\n" + + "\vsignal_name\x18\x01 \x01(\tR\n" + + "signalName\x126\n" + + "\x05input\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x126\n" + + "\x06header\x18\x04 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12A\n" + + "\x1bskip_generate_workflow_task\x18\x05 \x01(\bB\x02\x18\x01R\x18skipGenerateWorkflowTask\x12i\n" + + "\x1bexternal_workflow_execution\x18\x06 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x19externalWorkflowExecution\x12\x1d\n" + + "\n" + + "request_id\x18\a \x01(\tR\trequestId\"\x9c\x01\n" + + "*WorkflowExecutionTerminatedEventAttributes\x12\x16\n" + + "\x06reason\x18\x01 \x01(\tR\x06reason\x12:\n" + + "\adetails\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\"\x89\x03\n" + + ">RequestCancelExternalWorkflowExecutionInitiatedEventAttributes\x12F\n" + + " workflow_task_completed_event_id\x18\x01 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12\x1c\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\a \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12\x1c\n" + + "\acontrol\x18\x04 \x01(\tB\x02\x18\x01R\acontrol\x12.\n" + + "\x13child_workflow_only\x18\x05 \x01(\bR\x11childWorkflowOnly\x12\x16\n" + + "\x06reason\x18\x06 \x01(\tR\x06reason\"\xc5\x03\n" + + ";RequestCancelExternalWorkflowExecutionFailedEventAttributes\x12W\n" + + "\x05cause\x18\x01 \x01(\x0e2A.temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCauseR\x05cause\x12F\n" + + " workflow_task_completed_event_id\x18\x02 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12\x1c\n" + + "\tnamespace\x18\x03 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\a \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x04 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12,\n" + + "\x12initiated_event_id\x18\x05 \x01(\x03R\x10initiatedEventId\x12\x1c\n" + + "\acontrol\x18\x06 \x01(\tB\x02\x18\x01R\acontrol\"\x82\x02\n" + + "7ExternalWorkflowExecutionCancelRequestedEventAttributes\x12,\n" + + "\x12initiated_event_id\x18\x01 \x01(\x03R\x10initiatedEventId\x12\x1c\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\x04 \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\"\xfb\x03\n" + + "7SignalExternalWorkflowExecutionInitiatedEventAttributes\x12F\n" + + " workflow_task_completed_event_id\x18\x01 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12\x1c\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\t \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12\x1f\n" + + "\vsignal_name\x18\x04 \x01(\tR\n" + + "signalName\x126\n" + + "\x05input\x18\x05 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12\x1c\n" + + "\acontrol\x18\x06 \x01(\tB\x02\x18\x01R\acontrol\x12.\n" + + "\x13child_workflow_only\x18\a \x01(\bR\x11childWorkflowOnly\x126\n" + + "\x06header\x18\b \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\"\xbe\x03\n" + + "4SignalExternalWorkflowExecutionFailedEventAttributes\x12W\n" + + "\x05cause\x18\x01 \x01(\x0e2A.temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCauseR\x05cause\x12F\n" + + " workflow_task_completed_event_id\x18\x02 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12\x1c\n" + + "\tnamespace\x18\x03 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\a \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x04 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12,\n" + + "\x12initiated_event_id\x18\x05 \x01(\x03R\x10initiatedEventId\x12\x1c\n" + + "\acontrol\x18\x06 \x01(\tB\x02\x18\x01R\acontrol\"\x99\x02\n" + + "0ExternalWorkflowExecutionSignaledEventAttributes\x12,\n" + + "\x12initiated_event_id\x18\x01 \x01(\x03R\x10initiatedEventId\x12\x1c\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\x05 \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12\x1c\n" + + "\acontrol\x18\x04 \x01(\tB\x02\x18\x01R\acontrol\"\xce\x01\n" + + "-UpsertWorkflowSearchAttributesEventAttributes\x12F\n" + + " workflow_task_completed_event_id\x18\x01 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12U\n" + + "\x11search_attributes\x18\x02 \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\"\xb6\x01\n" + + ")WorkflowPropertiesModifiedEventAttributes\x12F\n" + + " workflow_task_completed_event_id\x18\x01 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12A\n" + + "\rupserted_memo\x18\x02 \x01(\v2\x1c.temporal.api.common.v1.MemoR\fupsertedMemo\"\xca\v\n" + + "3StartChildWorkflowExecutionInitiatedEventAttributes\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\x12 \x01(\tR\vnamespaceId\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12C\n" + + "\n" + + "task_queue\x18\x04 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x05input\x18\x05 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12W\n" + + "\x1aworkflow_execution_timeout\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x18workflowExecutionTimeout\x12K\n" + + "\x14workflow_run_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x12workflowRunTimeout\x12M\n" + + "\x15workflow_task_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x13workflowTaskTimeout\x12X\n" + + "\x13parent_close_policy\x18\t \x01(\x0e2(.temporal.api.enums.v1.ParentClosePolicyR\x11parentClosePolicy\x12\x1c\n" + + "\acontrol\x18\n" + + " \x01(\tB\x02\x18\x01R\acontrol\x12F\n" + + " workflow_task_completed_event_id\x18\v \x01(\x03R\x1cworkflowTaskCompletedEventId\x12e\n" + + "\x18workflow_id_reuse_policy\x18\f \x01(\x0e2,.temporal.api.enums.v1.WorkflowIdReusePolicyR\x15workflowIdReusePolicy\x12F\n" + + "\fretry_policy\x18\r \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12#\n" + + "\rcron_schedule\x18\x0e \x01(\tR\fcronSchedule\x126\n" + + "\x06header\x18\x0f \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x120\n" + + "\x04memo\x18\x10 \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\x11 \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12,\n" + + "\x10inherit_build_id\x18\x13 \x01(\bB\x02\x18\x01R\x0einheritBuildId\x12<\n" + + "\bpriority\x18\x14 \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12^\n" + + "\x14time_skipping_config\x18\x15 \x01(\v2,.temporal.api.workflow.v1.TimeSkippingConfigR\x12timeSkippingConfig\x12S\n" + + "\x18initial_skipped_duration\x18\x1e \x01(\v2\x19.google.protobuf.DurationR\x16initialSkippedDuration\"\xc8\x03\n" + + "0StartChildWorkflowExecutionFailedEventAttributes\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\b \x01(\tR\vnamespaceId\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12S\n" + + "\x05cause\x18\x04 \x01(\x0e2=.temporal.api.enums.v1.StartChildWorkflowExecutionFailedCauseR\x05cause\x12\x1c\n" + + "\acontrol\x18\x05 \x01(\tB\x02\x18\x01R\acontrol\x12,\n" + + "\x12initiated_event_id\x18\x06 \x01(\x03R\x10initiatedEventId\x12F\n" + + " workflow_task_completed_event_id\x18\a \x01(\x03R\x1cworkflowTaskCompletedEventId\"\xfa\x02\n" + + ",ChildWorkflowExecutionStartedEventAttributes\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\x06 \x01(\tR\vnamespaceId\x12,\n" + + "\x12initiated_event_id\x18\x02 \x01(\x03R\x10initiatedEventId\x12X\n" + + "\x12workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12I\n" + + "\rworkflow_type\x18\x04 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x126\n" + + "\x06header\x18\x05 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\"\xa8\x03\n" + + ".ChildWorkflowExecutionCompletedEventAttributes\x128\n" + + "\x06result\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\x06result\x12\x1c\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\a \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12I\n" + + "\rworkflow_type\x18\x04 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12,\n" + + "\x12initiated_event_id\x18\x05 \x01(\x03R\x10initiatedEventId\x12(\n" + + "\x10started_event_id\x18\x06 \x01(\x03R\x0estartedEventId\"\xeb\x03\n" + + "+ChildWorkflowExecutionFailedEventAttributes\x12:\n" + + "\afailure\x18\x01 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12\x1c\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\b \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12I\n" + + "\rworkflow_type\x18\x04 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12,\n" + + "\x12initiated_event_id\x18\x05 \x01(\x03R\x10initiatedEventId\x12(\n" + + "\x10started_event_id\x18\x06 \x01(\x03R\x0estartedEventId\x12B\n" + + "\vretry_state\x18\a \x01(\x0e2!.temporal.api.enums.v1.RetryStateR\n" + + "retryState\"\xa9\x03\n" + + "-ChildWorkflowExecutionCanceledEventAttributes\x12:\n" + + "\adetails\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12\x1c\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\a \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x03 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12I\n" + + "\rworkflow_type\x18\x04 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12,\n" + + "\x12initiated_event_id\x18\x05 \x01(\x03R\x10initiatedEventId\x12(\n" + + "\x10started_event_id\x18\x06 \x01(\x03R\x0estartedEventId\"\xb1\x03\n" + + "-ChildWorkflowExecutionTimedOutEventAttributes\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\a \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12,\n" + + "\x12initiated_event_id\x18\x04 \x01(\x03R\x10initiatedEventId\x12(\n" + + "\x10started_event_id\x18\x05 \x01(\x03R\x0estartedEventId\x12B\n" + + "\vretry_state\x18\x06 \x01(\x0e2!.temporal.api.enums.v1.RetryStateR\n" + + "retryState\"\xef\x02\n" + + "/ChildWorkflowExecutionTerminatedEventAttributes\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\x06 \x01(\tR\vnamespaceId\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12,\n" + + "\x12initiated_event_id\x18\x04 \x01(\x03R\x10initiatedEventId\x12(\n" + + "\x10started_event_id\x18\x05 \x01(\x03R\x0estartedEventId\"\x9b\x04\n" + + ".WorkflowExecutionOptionsUpdatedEventAttributes\x12]\n" + + "\x13versioning_override\x18\x01 \x01(\v2,.temporal.api.workflow.v1.VersioningOverrideR\x12versioningOverride\x12:\n" + + "\x19unset_versioning_override\x18\x02 \x01(\bR\x17unsetVersioningOverride\x12.\n" + + "\x13attached_request_id\x18\x03 \x01(\tR\x11attachedRequestId\x12d\n" + + "\x1dattached_completion_callbacks\x18\x04 \x03(\v2 .temporal.api.common.v1.CallbackR\x1battachedCompletionCallbacks\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12<\n" + + "\bpriority\x18\x06 \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12^\n" + + "\x14time_skipping_config\x18\a \x01(\v2,.temporal.api.workflow.v1.TimeSkippingConfigR\x12timeSkippingConfig\"\xa8\x03\n" + + "3WorkflowPropertiesModifiedExternallyEventAttributes\x12$\n" + + "\x0enew_task_queue\x18\x01 \x01(\tR\fnewTaskQueue\x12T\n" + + "\x19new_workflow_task_timeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x16newWorkflowTaskTimeout\x12R\n" + + "\x18new_workflow_run_timeout\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x15newWorkflowRunTimeout\x12^\n" + + "\x1enew_workflow_execution_timeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x1bnewWorkflowExecutionTimeout\x12A\n" + + "\rupserted_memo\x18\x05 \x01(\v2\x1c.temporal.api.common.v1.MemoR\fupsertedMemo\"\xb2\x01\n" + + "3ActivityPropertiesModifiedExternallyEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12M\n" + + "\x10new_retry_policy\x18\x02 \x01(\v2#.temporal.api.common.v1.RetryPolicyR\x0enewRetryPolicy\"\xbd\x02\n" + + ".WorkflowExecutionUpdateAcceptedEventAttributes\x120\n" + + "\x14protocol_instance_id\x18\x01 \x01(\tR\x12protocolInstanceId\x12=\n" + + "\x1baccepted_request_message_id\x18\x02 \x01(\tR\x18acceptedRequestMessageId\x12N\n" + + "$accepted_request_sequencing_event_id\x18\x03 \x01(\x03R acceptedRequestSequencingEventId\x12J\n" + + "\x10accepted_request\x18\x04 \x01(\v2\x1f.temporal.api.update.v1.RequestR\x0facceptedRequest\"\xca\x01\n" + + "/WorkflowExecutionUpdateCompletedEventAttributes\x120\n" + + "\x04meta\x18\x01 \x01(\v2\x1c.temporal.api.update.v1.MetaR\x04meta\x12*\n" + + "\x11accepted_event_id\x18\x03 \x01(\x03R\x0facceptedEventId\x129\n" + + "\aoutcome\x18\x02 \x01(\v2\x1f.temporal.api.update.v1.OutcomeR\aoutcome\"\xf9\x02\n" + + ".WorkflowExecutionUpdateRejectedEventAttributes\x120\n" + + "\x14protocol_instance_id\x18\x01 \x01(\tR\x12protocolInstanceId\x12=\n" + + "\x1brejected_request_message_id\x18\x02 \x01(\tR\x18rejectedRequestMessageId\x12N\n" + + "$rejected_request_sequencing_event_id\x18\x03 \x01(\x03R rejectedRequestSequencingEventId\x12J\n" + + "\x10rejected_request\x18\x04 \x01(\v2\x1f.temporal.api.update.v1.RequestR\x0frejectedRequest\x12:\n" + + "\afailure\x18\x05 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\"\xb5\x01\n" + + ".WorkflowExecutionUpdateAdmittedEventAttributes\x129\n" + + "\arequest\x18\x01 \x01(\v2\x1f.temporal.api.update.v1.RequestR\arequest\x12H\n" + + "\x06origin\x18\x02 \x01(\x0e20.temporal.api.enums.v1.UpdateAdmittedEventOriginR\x06origin\"{\n" + + "&WorkflowExecutionPausedEventAttributes\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\"}\n" + + "(WorkflowExecutionUnpausedEventAttributes\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\"\xed\x01\n" + + "8WorkflowExecutionTimeSkippingTransitionedEventAttributes\x12;\n" + + "\vtarget_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "targetTime\x120\n" + + "\x14disabled_after_bound\x18\x02 \x01(\bR\x12disabledAfterBound\x12B\n" + + "\x0fwall_clock_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\rwallClockTime\"\xec\x05\n" + + "&NexusOperationScheduledEventAttributes\x12\x1a\n" + + "\bendpoint\x18\x01 \x01(\tR\bendpoint\x12\x18\n" + + "\aservice\x18\x02 \x01(\tR\aservice\x12\x1c\n" + + "\toperation\x18\x03 \x01(\tR\toperation\x125\n" + + "\x05input\x18\x04 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05input\x12T\n" + + "\x19schedule_to_close_timeout\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12s\n" + + "\fnexus_header\x18\x06 \x03(\v2P.temporal.api.history.v1.NexusOperationScheduledEventAttributes.NexusHeaderEntryR\vnexusHeader\x12F\n" + + " workflow_task_completed_event_id\x18\a \x01(\x03R\x1cworkflowTaskCompletedEventId\x12\x1d\n" + + "\n" + + "request_id\x18\b \x01(\tR\trequestId\x12\x1f\n" + + "\vendpoint_id\x18\t \x01(\tR\n" + + "endpointId\x12T\n" + + "\x19schedule_to_start_timeout\x18\n" + + " \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\v \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x1a>\n" + + "\x10NexusHeaderEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc3\x01\n" + + "$NexusOperationStartedEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12%\n" + + "\foperation_id\x18\x03 \x01(\tB\x02\x18\x01R\voperationId\x12\x1d\n" + + "\n" + + "request_id\x18\x04 \x01(\tR\trequestId\x12'\n" + + "\x0foperation_token\x18\x05 \x01(\tR\x0eoperationToken\"\xae\x01\n" + + "&NexusOperationCompletedEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x127\n" + + "\x06result\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x06result\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\"\xae\x01\n" + + "#NexusOperationFailedEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12:\n" + + "\afailure\x18\x02 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\"\xb0\x01\n" + + "%NexusOperationTimedOutEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12:\n" + + "\afailure\x18\x02 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\"\xb0\x01\n" + + "%NexusOperationCanceledEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12:\n" + + "\afailure\x18\x02 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\"\xa4\x01\n" + + ",NexusOperationCancelRequestedEventAttributes\x12,\n" + + "\x12scheduled_event_id\x18\x01 \x01(\x03R\x10scheduledEventId\x12F\n" + + " workflow_task_completed_event_id\x18\x02 \x01(\x03R\x1cworkflowTaskCompletedEventId\"\xd9\x01\n" + + "3NexusOperationCancelRequestCompletedEventAttributes\x12,\n" + + "\x12requested_event_id\x18\x01 \x01(\x03R\x10requestedEventId\x12F\n" + + " workflow_task_completed_event_id\x18\x02 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12,\n" + + "\x12scheduled_event_id\x18\x03 \x01(\x03R\x10scheduledEventId\"\x92\x02\n" + + "0NexusOperationCancelRequestFailedEventAttributes\x12,\n" + + "\x12requested_event_id\x18\x01 \x01(\x03R\x10requestedEventId\x12F\n" + + " workflow_task_completed_event_id\x18\x02 \x01(\x03R\x1cworkflowTaskCompletedEventId\x12:\n" + + "\afailure\x18\x03 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12,\n" + + "\x12scheduled_event_id\x18\x04 \x01(\x03R\x10scheduledEventId\"\xd7T\n" + + "\fHistoryEvent\x12\x19\n" + + "\bevent_id\x18\x01 \x01(\x03R\aeventId\x129\n" + + "\n" + + "event_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\teventTime\x12?\n" + + "\n" + + "event_type\x18\x03 \x01(\x0e2 .temporal.api.enums.v1.EventTypeR\teventType\x12\x18\n" + + "\aversion\x18\x04 \x01(\x03R\aversion\x12\x17\n" + + "\atask_id\x18\x05 \x01(\x03R\x06taskId\x12+\n" + + "\x11worker_may_ignore\x18\xac\x02 \x01(\bR\x0fworkerMayIgnore\x12G\n" + + "\ruser_metadata\x18\xad\x02 \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\x123\n" + + "\x05links\x18\xae\x02 \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\x12@\n" + + "\tprincipal\x18\xaf\x02 \x01(\v2!.temporal.api.common.v1.PrincipalR\tprincipal\x12\xa0\x01\n" + + "+workflow_execution_started_event_attributes\x18\x06 \x01(\v2@.temporal.api.history.v1.WorkflowExecutionStartedEventAttributesH\x00R'workflowExecutionStartedEventAttributes\x12\xa6\x01\n" + + "-workflow_execution_completed_event_attributes\x18\a \x01(\v2B.temporal.api.history.v1.WorkflowExecutionCompletedEventAttributesH\x00R)workflowExecutionCompletedEventAttributes\x12\x9d\x01\n" + + "*workflow_execution_failed_event_attributes\x18\b \x01(\v2?.temporal.api.history.v1.WorkflowExecutionFailedEventAttributesH\x00R&workflowExecutionFailedEventAttributes\x12\xa4\x01\n" + + "-workflow_execution_timed_out_event_attributes\x18\t \x01(\v2A.temporal.api.history.v1.WorkflowExecutionTimedOutEventAttributesH\x00R(workflowExecutionTimedOutEventAttributes\x12\x97\x01\n" + + "(workflow_task_scheduled_event_attributes\x18\n" + + " \x01(\v2=.temporal.api.history.v1.WorkflowTaskScheduledEventAttributesH\x00R$workflowTaskScheduledEventAttributes\x12\x91\x01\n" + + "&workflow_task_started_event_attributes\x18\v \x01(\v2;.temporal.api.history.v1.WorkflowTaskStartedEventAttributesH\x00R\"workflowTaskStartedEventAttributes\x12\x97\x01\n" + + "(workflow_task_completed_event_attributes\x18\f \x01(\v2=.temporal.api.history.v1.WorkflowTaskCompletedEventAttributesH\x00R$workflowTaskCompletedEventAttributes\x12\x95\x01\n" + + "(workflow_task_timed_out_event_attributes\x18\r \x01(\v2<.temporal.api.history.v1.WorkflowTaskTimedOutEventAttributesH\x00R#workflowTaskTimedOutEventAttributes\x12\x8e\x01\n" + + "%workflow_task_failed_event_attributes\x18\x0e \x01(\v2:.temporal.api.history.v1.WorkflowTaskFailedEventAttributesH\x00R!workflowTaskFailedEventAttributes\x12\x97\x01\n" + + "(activity_task_scheduled_event_attributes\x18\x0f \x01(\v2=.temporal.api.history.v1.ActivityTaskScheduledEventAttributesH\x00R$activityTaskScheduledEventAttributes\x12\x91\x01\n" + + "&activity_task_started_event_attributes\x18\x10 \x01(\v2;.temporal.api.history.v1.ActivityTaskStartedEventAttributesH\x00R\"activityTaskStartedEventAttributes\x12\x97\x01\n" + + "(activity_task_completed_event_attributes\x18\x11 \x01(\v2=.temporal.api.history.v1.ActivityTaskCompletedEventAttributesH\x00R$activityTaskCompletedEventAttributes\x12\x8e\x01\n" + + "%activity_task_failed_event_attributes\x18\x12 \x01(\v2:.temporal.api.history.v1.ActivityTaskFailedEventAttributesH\x00R!activityTaskFailedEventAttributes\x12\x95\x01\n" + + "(activity_task_timed_out_event_attributes\x18\x13 \x01(\v2<.temporal.api.history.v1.ActivityTaskTimedOutEventAttributesH\x00R#activityTaskTimedOutEventAttributes\x12{\n" + + "\x1etimer_started_event_attributes\x18\x14 \x01(\v24.temporal.api.history.v1.TimerStartedEventAttributesH\x00R\x1btimerStartedEventAttributes\x12u\n" + + "\x1ctimer_fired_event_attributes\x18\x15 \x01(\v22.temporal.api.history.v1.TimerFiredEventAttributesH\x00R\x19timerFiredEventAttributes\x12\xaa\x01\n" + + "/activity_task_cancel_requested_event_attributes\x18\x16 \x01(\v2C.temporal.api.history.v1.ActivityTaskCancelRequestedEventAttributesH\x00R*activityTaskCancelRequestedEventAttributes\x12\x94\x01\n" + + "'activity_task_canceled_event_attributes\x18\x17 \x01(\v2<.temporal.api.history.v1.ActivityTaskCanceledEventAttributesH\x00R#activityTaskCanceledEventAttributes\x12~\n" + + "\x1ftimer_canceled_event_attributes\x18\x18 \x01(\v25.temporal.api.history.v1.TimerCanceledEventAttributesH\x00R\x1ctimerCanceledEventAttributes\x12\x81\x01\n" + + " marker_recorded_event_attributes\x18\x19 \x01(\v26.temporal.api.history.v1.MarkerRecordedEventAttributesH\x00R\x1dmarkerRecordedEventAttributes\x12\xa3\x01\n" + + ",workflow_execution_signaled_event_attributes\x18\x1a \x01(\v2A.temporal.api.history.v1.WorkflowExecutionSignaledEventAttributesH\x00R(workflowExecutionSignaledEventAttributes\x12\xa9\x01\n" + + ".workflow_execution_terminated_event_attributes\x18\x1b \x01(\v2C.temporal.api.history.v1.WorkflowExecutionTerminatedEventAttributesH\x00R*workflowExecutionTerminatedEventAttributes\x12\xb9\x01\n" + + "4workflow_execution_cancel_requested_event_attributes\x18\x1c \x01(\v2H.temporal.api.history.v1.WorkflowExecutionCancelRequestedEventAttributesH\x00R/workflowExecutionCancelRequestedEventAttributes\x12\xa3\x01\n" + + ",workflow_execution_canceled_event_attributes\x18\x1d \x01(\v2A.temporal.api.history.v1.WorkflowExecutionCanceledEventAttributesH\x00R(workflowExecutionCanceledEventAttributes\x12\xe8\x01\n" + + "Erequest_cancel_external_workflow_execution_initiated_event_attributes\x18\x1e \x01(\v2W.temporal.api.history.v1.RequestCancelExternalWorkflowExecutionInitiatedEventAttributesH\x00R>requestCancelExternalWorkflowExecutionInitiatedEventAttributes\x12\xdf\x01\n" + + "Brequest_cancel_external_workflow_execution_failed_event_attributes\x18\x1f \x01(\v2T.temporal.api.history.v1.RequestCancelExternalWorkflowExecutionFailedEventAttributesH\x00R;requestCancelExternalWorkflowExecutionFailedEventAttributes\x12\xd2\x01\n" + + "=external_workflow_execution_cancel_requested_event_attributes\x18 \x01(\v2P.temporal.api.history.v1.ExternalWorkflowExecutionCancelRequestedEventAttributesH\x00R7externalWorkflowExecutionCancelRequestedEventAttributes\x12\xb7\x01\n" + + "4workflow_execution_continued_as_new_event_attributes\x18! \x01(\v2G.temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributesH\x00R.workflowExecutionContinuedAsNewEventAttributes\x12\xc6\x01\n" + + "9start_child_workflow_execution_initiated_event_attributes\x18\" \x01(\v2L.temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributesH\x00R3startChildWorkflowExecutionInitiatedEventAttributes\x12\xbd\x01\n" + + "6start_child_workflow_execution_failed_event_attributes\x18# \x01(\v2I.temporal.api.history.v1.StartChildWorkflowExecutionFailedEventAttributesH\x00R0startChildWorkflowExecutionFailedEventAttributes\x12\xb0\x01\n" + + "1child_workflow_execution_started_event_attributes\x18$ \x01(\v2E.temporal.api.history.v1.ChildWorkflowExecutionStartedEventAttributesH\x00R,childWorkflowExecutionStartedEventAttributes\x12\xb6\x01\n" + + "3child_workflow_execution_completed_event_attributes\x18% \x01(\v2G.temporal.api.history.v1.ChildWorkflowExecutionCompletedEventAttributesH\x00R.childWorkflowExecutionCompletedEventAttributes\x12\xad\x01\n" + + "0child_workflow_execution_failed_event_attributes\x18& \x01(\v2D.temporal.api.history.v1.ChildWorkflowExecutionFailedEventAttributesH\x00R+childWorkflowExecutionFailedEventAttributes\x12\xb3\x01\n" + + "2child_workflow_execution_canceled_event_attributes\x18' \x01(\v2F.temporal.api.history.v1.ChildWorkflowExecutionCanceledEventAttributesH\x00R-childWorkflowExecutionCanceledEventAttributes\x12\xb4\x01\n" + + "3child_workflow_execution_timed_out_event_attributes\x18( \x01(\v2F.temporal.api.history.v1.ChildWorkflowExecutionTimedOutEventAttributesH\x00R-childWorkflowExecutionTimedOutEventAttributes\x12\xb9\x01\n" + + "4child_workflow_execution_terminated_event_attributes\x18) \x01(\v2H.temporal.api.history.v1.ChildWorkflowExecutionTerminatedEventAttributesH\x00R/childWorkflowExecutionTerminatedEventAttributes\x12\xd2\x01\n" + + "=signal_external_workflow_execution_initiated_event_attributes\x18* \x01(\v2P.temporal.api.history.v1.SignalExternalWorkflowExecutionInitiatedEventAttributesH\x00R7signalExternalWorkflowExecutionInitiatedEventAttributes\x12\xc9\x01\n" + + ":signal_external_workflow_execution_failed_event_attributes\x18+ \x01(\v2M.temporal.api.history.v1.SignalExternalWorkflowExecutionFailedEventAttributesH\x00R4signalExternalWorkflowExecutionFailedEventAttributes\x12\xbc\x01\n" + + "5external_workflow_execution_signaled_event_attributes\x18, \x01(\v2I.temporal.api.history.v1.ExternalWorkflowExecutionSignaledEventAttributesH\x00R0externalWorkflowExecutionSignaledEventAttributes\x12\xb3\x01\n" + + "2upsert_workflow_search_attributes_event_attributes\x18- \x01(\v2F.temporal.api.history.v1.UpsertWorkflowSearchAttributesEventAttributesH\x00R-upsertWorkflowSearchAttributesEventAttributes\x12\xb6\x01\n" + + "3workflow_execution_update_accepted_event_attributes\x18. \x01(\v2G.temporal.api.history.v1.WorkflowExecutionUpdateAcceptedEventAttributesH\x00R.workflowExecutionUpdateAcceptedEventAttributes\x12\xb6\x01\n" + + "3workflow_execution_update_rejected_event_attributes\x18/ \x01(\v2G.temporal.api.history.v1.WorkflowExecutionUpdateRejectedEventAttributesH\x00R.workflowExecutionUpdateRejectedEventAttributes\x12\xb9\x01\n" + + "4workflow_execution_update_completed_event_attributes\x180 \x01(\v2H.temporal.api.history.v1.WorkflowExecutionUpdateCompletedEventAttributesH\x00R/workflowExecutionUpdateCompletedEventAttributes\x12\xc5\x01\n" + + "8workflow_properties_modified_externally_event_attributes\x181 \x01(\v2L.temporal.api.history.v1.WorkflowPropertiesModifiedExternallyEventAttributesH\x00R3workflowPropertiesModifiedExternallyEventAttributes\x12\xc5\x01\n" + + "8activity_properties_modified_externally_event_attributes\x182 \x01(\v2L.temporal.api.history.v1.ActivityPropertiesModifiedExternallyEventAttributesH\x00R3activityPropertiesModifiedExternallyEventAttributes\x12\xa6\x01\n" + + "-workflow_properties_modified_event_attributes\x183 \x01(\v2B.temporal.api.history.v1.WorkflowPropertiesModifiedEventAttributesH\x00R)workflowPropertiesModifiedEventAttributes\x12\xb6\x01\n" + + "3workflow_execution_update_admitted_event_attributes\x184 \x01(\v2G.temporal.api.history.v1.WorkflowExecutionUpdateAdmittedEventAttributesH\x00R.workflowExecutionUpdateAdmittedEventAttributes\x12\x9d\x01\n" + + "*nexus_operation_scheduled_event_attributes\x185 \x01(\v2?.temporal.api.history.v1.NexusOperationScheduledEventAttributesH\x00R&nexusOperationScheduledEventAttributes\x12\x97\x01\n" + + "(nexus_operation_started_event_attributes\x186 \x01(\v2=.temporal.api.history.v1.NexusOperationStartedEventAttributesH\x00R$nexusOperationStartedEventAttributes\x12\x9d\x01\n" + + "*nexus_operation_completed_event_attributes\x187 \x01(\v2?.temporal.api.history.v1.NexusOperationCompletedEventAttributesH\x00R&nexusOperationCompletedEventAttributes\x12\x94\x01\n" + + "'nexus_operation_failed_event_attributes\x188 \x01(\v2<.temporal.api.history.v1.NexusOperationFailedEventAttributesH\x00R#nexusOperationFailedEventAttributes\x12\x9a\x01\n" + + ")nexus_operation_canceled_event_attributes\x189 \x01(\v2>.temporal.api.history.v1.NexusOperationCanceledEventAttributesH\x00R%nexusOperationCanceledEventAttributes\x12\x9b\x01\n" + + "*nexus_operation_timed_out_event_attributes\x18: \x01(\v2>.temporal.api.history.v1.NexusOperationTimedOutEventAttributesH\x00R%nexusOperationTimedOutEventAttributes\x12\xb0\x01\n" + + "1nexus_operation_cancel_requested_event_attributes\x18; \x01(\v2E.temporal.api.history.v1.NexusOperationCancelRequestedEventAttributesH\x00R,nexusOperationCancelRequestedEventAttributes\x12\xb6\x01\n" + + "3workflow_execution_options_updated_event_attributes\x18< \x01(\v2G.temporal.api.history.v1.WorkflowExecutionOptionsUpdatedEventAttributesH\x00R.workflowExecutionOptionsUpdatedEventAttributes\x12\xc6\x01\n" + + "9nexus_operation_cancel_request_completed_event_attributes\x18= \x01(\v2L.temporal.api.history.v1.NexusOperationCancelRequestCompletedEventAttributesH\x00R3nexusOperationCancelRequestCompletedEventAttributes\x12\xbd\x01\n" + + "6nexus_operation_cancel_request_failed_event_attributes\x18> \x01(\v2I.temporal.api.history.v1.NexusOperationCancelRequestFailedEventAttributesH\x00R0nexusOperationCancelRequestFailedEventAttributes\x12\x9d\x01\n" + + "*workflow_execution_paused_event_attributes\x18? \x01(\v2?.temporal.api.history.v1.WorkflowExecutionPausedEventAttributesH\x00R&workflowExecutionPausedEventAttributes\x12\xa3\x01\n" + + ",workflow_execution_unpaused_event_attributes\x18@ \x01(\v2A.temporal.api.history.v1.WorkflowExecutionUnpausedEventAttributesH\x00R(workflowExecutionUnpausedEventAttributes\x12\xd5\x01\n" + + ">workflow_execution_time_skipping_transitioned_event_attributes\x18A \x01(\v2Q.temporal.api.history.v1.WorkflowExecutionTimeSkippingTransitionedEventAttributesH\x00R8workflowExecutionTimeSkippingTransitionedEventAttributesB\f\n" + + "\n" + + "attributes\"H\n" + + "\aHistory\x12=\n" + + "\x06events\x18\x01 \x03(\v2%.temporal.api.history.v1.HistoryEventR\x06eventsB\x8e\x01\n" + + "\x1aio.temporal.api.history.v1B\fMessageProtoP\x01Z%go.temporal.io/api/history/v1;history\xaa\x02\x19Temporalio.Api.History.V1\xea\x02\x1cTemporalio::Api::History::V1b\x06proto3" + +var ( + file_temporal_api_history_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_history_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_history_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_history_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_history_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_history_v1_message_proto_rawDesc), len(file_temporal_api_history_v1_message_proto_rawDesc))) + }) + return file_temporal_api_history_v1_message_proto_rawDescData +} + +var file_temporal_api_history_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 65) +var file_temporal_api_history_v1_message_proto_goTypes = []any{ + (*WorkflowExecutionStartedEventAttributes)(nil), // 0: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes + (*DeclinedTargetVersionUpgrade)(nil), // 1: temporal.api.history.v1.DeclinedTargetVersionUpgrade + (*WorkflowExecutionCompletedEventAttributes)(nil), // 2: temporal.api.history.v1.WorkflowExecutionCompletedEventAttributes + (*WorkflowExecutionFailedEventAttributes)(nil), // 3: temporal.api.history.v1.WorkflowExecutionFailedEventAttributes + (*WorkflowExecutionTimedOutEventAttributes)(nil), // 4: temporal.api.history.v1.WorkflowExecutionTimedOutEventAttributes + (*WorkflowExecutionContinuedAsNewEventAttributes)(nil), // 5: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes + (*WorkflowTaskScheduledEventAttributes)(nil), // 6: temporal.api.history.v1.WorkflowTaskScheduledEventAttributes + (*WorkflowTaskStartedEventAttributes)(nil), // 7: temporal.api.history.v1.WorkflowTaskStartedEventAttributes + (*WorkflowTaskCompletedEventAttributes)(nil), // 8: temporal.api.history.v1.WorkflowTaskCompletedEventAttributes + (*WorkflowTaskTimedOutEventAttributes)(nil), // 9: temporal.api.history.v1.WorkflowTaskTimedOutEventAttributes + (*WorkflowTaskFailedEventAttributes)(nil), // 10: temporal.api.history.v1.WorkflowTaskFailedEventAttributes + (*ActivityTaskScheduledEventAttributes)(nil), // 11: temporal.api.history.v1.ActivityTaskScheduledEventAttributes + (*ActivityTaskStartedEventAttributes)(nil), // 12: temporal.api.history.v1.ActivityTaskStartedEventAttributes + (*ActivityTaskCompletedEventAttributes)(nil), // 13: temporal.api.history.v1.ActivityTaskCompletedEventAttributes + (*ActivityTaskFailedEventAttributes)(nil), // 14: temporal.api.history.v1.ActivityTaskFailedEventAttributes + (*ActivityTaskTimedOutEventAttributes)(nil), // 15: temporal.api.history.v1.ActivityTaskTimedOutEventAttributes + (*ActivityTaskCancelRequestedEventAttributes)(nil), // 16: temporal.api.history.v1.ActivityTaskCancelRequestedEventAttributes + (*ActivityTaskCanceledEventAttributes)(nil), // 17: temporal.api.history.v1.ActivityTaskCanceledEventAttributes + (*TimerStartedEventAttributes)(nil), // 18: temporal.api.history.v1.TimerStartedEventAttributes + (*TimerFiredEventAttributes)(nil), // 19: temporal.api.history.v1.TimerFiredEventAttributes + (*TimerCanceledEventAttributes)(nil), // 20: temporal.api.history.v1.TimerCanceledEventAttributes + (*WorkflowExecutionCancelRequestedEventAttributes)(nil), // 21: temporal.api.history.v1.WorkflowExecutionCancelRequestedEventAttributes + (*WorkflowExecutionCanceledEventAttributes)(nil), // 22: temporal.api.history.v1.WorkflowExecutionCanceledEventAttributes + (*MarkerRecordedEventAttributes)(nil), // 23: temporal.api.history.v1.MarkerRecordedEventAttributes + (*WorkflowExecutionSignaledEventAttributes)(nil), // 24: temporal.api.history.v1.WorkflowExecutionSignaledEventAttributes + (*WorkflowExecutionTerminatedEventAttributes)(nil), // 25: temporal.api.history.v1.WorkflowExecutionTerminatedEventAttributes + (*RequestCancelExternalWorkflowExecutionInitiatedEventAttributes)(nil), // 26: temporal.api.history.v1.RequestCancelExternalWorkflowExecutionInitiatedEventAttributes + (*RequestCancelExternalWorkflowExecutionFailedEventAttributes)(nil), // 27: temporal.api.history.v1.RequestCancelExternalWorkflowExecutionFailedEventAttributes + (*ExternalWorkflowExecutionCancelRequestedEventAttributes)(nil), // 28: temporal.api.history.v1.ExternalWorkflowExecutionCancelRequestedEventAttributes + (*SignalExternalWorkflowExecutionInitiatedEventAttributes)(nil), // 29: temporal.api.history.v1.SignalExternalWorkflowExecutionInitiatedEventAttributes + (*SignalExternalWorkflowExecutionFailedEventAttributes)(nil), // 30: temporal.api.history.v1.SignalExternalWorkflowExecutionFailedEventAttributes + (*ExternalWorkflowExecutionSignaledEventAttributes)(nil), // 31: temporal.api.history.v1.ExternalWorkflowExecutionSignaledEventAttributes + (*UpsertWorkflowSearchAttributesEventAttributes)(nil), // 32: temporal.api.history.v1.UpsertWorkflowSearchAttributesEventAttributes + (*WorkflowPropertiesModifiedEventAttributes)(nil), // 33: temporal.api.history.v1.WorkflowPropertiesModifiedEventAttributes + (*StartChildWorkflowExecutionInitiatedEventAttributes)(nil), // 34: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes + (*StartChildWorkflowExecutionFailedEventAttributes)(nil), // 35: temporal.api.history.v1.StartChildWorkflowExecutionFailedEventAttributes + (*ChildWorkflowExecutionStartedEventAttributes)(nil), // 36: temporal.api.history.v1.ChildWorkflowExecutionStartedEventAttributes + (*ChildWorkflowExecutionCompletedEventAttributes)(nil), // 37: temporal.api.history.v1.ChildWorkflowExecutionCompletedEventAttributes + (*ChildWorkflowExecutionFailedEventAttributes)(nil), // 38: temporal.api.history.v1.ChildWorkflowExecutionFailedEventAttributes + (*ChildWorkflowExecutionCanceledEventAttributes)(nil), // 39: temporal.api.history.v1.ChildWorkflowExecutionCanceledEventAttributes + (*ChildWorkflowExecutionTimedOutEventAttributes)(nil), // 40: temporal.api.history.v1.ChildWorkflowExecutionTimedOutEventAttributes + (*ChildWorkflowExecutionTerminatedEventAttributes)(nil), // 41: temporal.api.history.v1.ChildWorkflowExecutionTerminatedEventAttributes + (*WorkflowExecutionOptionsUpdatedEventAttributes)(nil), // 42: temporal.api.history.v1.WorkflowExecutionOptionsUpdatedEventAttributes + (*WorkflowPropertiesModifiedExternallyEventAttributes)(nil), // 43: temporal.api.history.v1.WorkflowPropertiesModifiedExternallyEventAttributes + (*ActivityPropertiesModifiedExternallyEventAttributes)(nil), // 44: temporal.api.history.v1.ActivityPropertiesModifiedExternallyEventAttributes + (*WorkflowExecutionUpdateAcceptedEventAttributes)(nil), // 45: temporal.api.history.v1.WorkflowExecutionUpdateAcceptedEventAttributes + (*WorkflowExecutionUpdateCompletedEventAttributes)(nil), // 46: temporal.api.history.v1.WorkflowExecutionUpdateCompletedEventAttributes + (*WorkflowExecutionUpdateRejectedEventAttributes)(nil), // 47: temporal.api.history.v1.WorkflowExecutionUpdateRejectedEventAttributes + (*WorkflowExecutionUpdateAdmittedEventAttributes)(nil), // 48: temporal.api.history.v1.WorkflowExecutionUpdateAdmittedEventAttributes + (*WorkflowExecutionPausedEventAttributes)(nil), // 49: temporal.api.history.v1.WorkflowExecutionPausedEventAttributes + (*WorkflowExecutionUnpausedEventAttributes)(nil), // 50: temporal.api.history.v1.WorkflowExecutionUnpausedEventAttributes + (*WorkflowExecutionTimeSkippingTransitionedEventAttributes)(nil), // 51: temporal.api.history.v1.WorkflowExecutionTimeSkippingTransitionedEventAttributes + (*NexusOperationScheduledEventAttributes)(nil), // 52: temporal.api.history.v1.NexusOperationScheduledEventAttributes + (*NexusOperationStartedEventAttributes)(nil), // 53: temporal.api.history.v1.NexusOperationStartedEventAttributes + (*NexusOperationCompletedEventAttributes)(nil), // 54: temporal.api.history.v1.NexusOperationCompletedEventAttributes + (*NexusOperationFailedEventAttributes)(nil), // 55: temporal.api.history.v1.NexusOperationFailedEventAttributes + (*NexusOperationTimedOutEventAttributes)(nil), // 56: temporal.api.history.v1.NexusOperationTimedOutEventAttributes + (*NexusOperationCanceledEventAttributes)(nil), // 57: temporal.api.history.v1.NexusOperationCanceledEventAttributes + (*NexusOperationCancelRequestedEventAttributes)(nil), // 58: temporal.api.history.v1.NexusOperationCancelRequestedEventAttributes + (*NexusOperationCancelRequestCompletedEventAttributes)(nil), // 59: temporal.api.history.v1.NexusOperationCancelRequestCompletedEventAttributes + (*NexusOperationCancelRequestFailedEventAttributes)(nil), // 60: temporal.api.history.v1.NexusOperationCancelRequestFailedEventAttributes + (*HistoryEvent)(nil), // 61: temporal.api.history.v1.HistoryEvent + (*History)(nil), // 62: temporal.api.history.v1.History + nil, // 63: temporal.api.history.v1.MarkerRecordedEventAttributes.DetailsEntry + nil, // 64: temporal.api.history.v1.NexusOperationScheduledEventAttributes.NexusHeaderEntry + (*v1.WorkflowType)(nil), // 65: temporal.api.common.v1.WorkflowType + (*v1.WorkflowExecution)(nil), // 66: temporal.api.common.v1.WorkflowExecution + (*v11.TaskQueue)(nil), // 67: temporal.api.taskqueue.v1.TaskQueue + (*v1.Payloads)(nil), // 68: temporal.api.common.v1.Payloads + (*durationpb.Duration)(nil), // 69: google.protobuf.Duration + (v12.ContinueAsNewInitiator)(0), // 70: temporal.api.enums.v1.ContinueAsNewInitiator + (*v13.Failure)(nil), // 71: temporal.api.failure.v1.Failure + (*v1.RetryPolicy)(nil), // 72: temporal.api.common.v1.RetryPolicy + (*timestamppb.Timestamp)(nil), // 73: google.protobuf.Timestamp + (*v1.Memo)(nil), // 74: temporal.api.common.v1.Memo + (*v1.SearchAttributes)(nil), // 75: temporal.api.common.v1.SearchAttributes + (*v14.ResetPoints)(nil), // 76: temporal.api.workflow.v1.ResetPoints + (*v1.Header)(nil), // 77: temporal.api.common.v1.Header + (*v1.WorkerVersionStamp)(nil), // 78: temporal.api.common.v1.WorkerVersionStamp + (*v1.Callback)(nil), // 79: temporal.api.common.v1.Callback + (*v14.VersioningOverride)(nil), // 80: temporal.api.workflow.v1.VersioningOverride + (*v1.Priority)(nil), // 81: temporal.api.common.v1.Priority + (*v15.WorkerDeploymentVersion)(nil), // 82: temporal.api.deployment.v1.WorkerDeploymentVersion + (*v15.InheritedAutoUpgradeInfo)(nil), // 83: temporal.api.deployment.v1.InheritedAutoUpgradeInfo + (*v14.TimeSkippingConfig)(nil), // 84: temporal.api.workflow.v1.TimeSkippingConfig + (v12.RetryState)(0), // 85: temporal.api.enums.v1.RetryState + (v12.ContinueAsNewVersioningBehavior)(0), // 86: temporal.api.enums.v1.ContinueAsNewVersioningBehavior + (v12.SuggestContinueAsNewReason)(0), // 87: temporal.api.enums.v1.SuggestContinueAsNewReason + (*v16.WorkflowTaskCompletedMetadata)(nil), // 88: temporal.api.sdk.v1.WorkflowTaskCompletedMetadata + (*v1.MeteringMetadata)(nil), // 89: temporal.api.common.v1.MeteringMetadata + (*v15.Deployment)(nil), // 90: temporal.api.deployment.v1.Deployment + (v12.VersioningBehavior)(0), // 91: temporal.api.enums.v1.VersioningBehavior + (v12.TimeoutType)(0), // 92: temporal.api.enums.v1.TimeoutType + (v12.WorkflowTaskFailedCause)(0), // 93: temporal.api.enums.v1.WorkflowTaskFailedCause + (*v1.ActivityType)(nil), // 94: temporal.api.common.v1.ActivityType + (v12.CancelExternalWorkflowExecutionFailedCause)(0), // 95: temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCause + (v12.SignalExternalWorkflowExecutionFailedCause)(0), // 96: temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCause + (v12.ParentClosePolicy)(0), // 97: temporal.api.enums.v1.ParentClosePolicy + (v12.WorkflowIdReusePolicy)(0), // 98: temporal.api.enums.v1.WorkflowIdReusePolicy + (v12.StartChildWorkflowExecutionFailedCause)(0), // 99: temporal.api.enums.v1.StartChildWorkflowExecutionFailedCause + (*v17.Request)(nil), // 100: temporal.api.update.v1.Request + (*v17.Meta)(nil), // 101: temporal.api.update.v1.Meta + (*v17.Outcome)(nil), // 102: temporal.api.update.v1.Outcome + (v12.UpdateAdmittedEventOrigin)(0), // 103: temporal.api.enums.v1.UpdateAdmittedEventOrigin + (*v1.Payload)(nil), // 104: temporal.api.common.v1.Payload + (v12.EventType)(0), // 105: temporal.api.enums.v1.EventType + (*v16.UserMetadata)(nil), // 106: temporal.api.sdk.v1.UserMetadata + (*v1.Link)(nil), // 107: temporal.api.common.v1.Link + (*v1.Principal)(nil), // 108: temporal.api.common.v1.Principal +} +var file_temporal_api_history_v1_message_proto_depIdxs = []int32{ + 65, // 0: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 66, // 1: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.parent_workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 67, // 2: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 68, // 3: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.input:type_name -> temporal.api.common.v1.Payloads + 69, // 4: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.workflow_execution_timeout:type_name -> google.protobuf.Duration + 69, // 5: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.workflow_run_timeout:type_name -> google.protobuf.Duration + 69, // 6: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.workflow_task_timeout:type_name -> google.protobuf.Duration + 70, // 7: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.initiator:type_name -> temporal.api.enums.v1.ContinueAsNewInitiator + 71, // 8: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.continued_failure:type_name -> temporal.api.failure.v1.Failure + 68, // 9: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.last_completion_result:type_name -> temporal.api.common.v1.Payloads + 72, // 10: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 73, // 11: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.workflow_execution_expiration_time:type_name -> google.protobuf.Timestamp + 69, // 12: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.first_workflow_task_backoff:type_name -> google.protobuf.Duration + 74, // 13: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.memo:type_name -> temporal.api.common.v1.Memo + 75, // 14: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 76, // 15: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.prev_auto_reset_points:type_name -> temporal.api.workflow.v1.ResetPoints + 77, // 16: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.header:type_name -> temporal.api.common.v1.Header + 78, // 17: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.source_version_stamp:type_name -> temporal.api.common.v1.WorkerVersionStamp + 79, // 18: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.completion_callbacks:type_name -> temporal.api.common.v1.Callback + 66, // 19: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.root_workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 80, // 20: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.versioning_override:type_name -> temporal.api.workflow.v1.VersioningOverride + 81, // 21: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.priority:type_name -> temporal.api.common.v1.Priority + 82, // 22: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.inherited_pinned_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 83, // 23: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.inherited_auto_upgrade_info:type_name -> temporal.api.deployment.v1.InheritedAutoUpgradeInfo + 1, // 24: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.declined_target_version_upgrade:type_name -> temporal.api.history.v1.DeclinedTargetVersionUpgrade + 84, // 25: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.time_skipping_config:type_name -> temporal.api.workflow.v1.TimeSkippingConfig + 69, // 26: temporal.api.history.v1.WorkflowExecutionStartedEventAttributes.initial_skipped_duration:type_name -> google.protobuf.Duration + 82, // 27: temporal.api.history.v1.DeclinedTargetVersionUpgrade.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 68, // 28: temporal.api.history.v1.WorkflowExecutionCompletedEventAttributes.result:type_name -> temporal.api.common.v1.Payloads + 71, // 29: temporal.api.history.v1.WorkflowExecutionFailedEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 85, // 30: temporal.api.history.v1.WorkflowExecutionFailedEventAttributes.retry_state:type_name -> temporal.api.enums.v1.RetryState + 85, // 31: temporal.api.history.v1.WorkflowExecutionTimedOutEventAttributes.retry_state:type_name -> temporal.api.enums.v1.RetryState + 65, // 32: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 67, // 33: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 68, // 34: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.input:type_name -> temporal.api.common.v1.Payloads + 69, // 35: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.workflow_run_timeout:type_name -> google.protobuf.Duration + 69, // 36: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.workflow_task_timeout:type_name -> google.protobuf.Duration + 69, // 37: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.backoff_start_interval:type_name -> google.protobuf.Duration + 70, // 38: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.initiator:type_name -> temporal.api.enums.v1.ContinueAsNewInitiator + 71, // 39: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 68, // 40: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.last_completion_result:type_name -> temporal.api.common.v1.Payloads + 77, // 41: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.header:type_name -> temporal.api.common.v1.Header + 74, // 42: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.memo:type_name -> temporal.api.common.v1.Memo + 75, // 43: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 86, // 44: temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes.initial_versioning_behavior:type_name -> temporal.api.enums.v1.ContinueAsNewVersioningBehavior + 67, // 45: temporal.api.history.v1.WorkflowTaskScheduledEventAttributes.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 69, // 46: temporal.api.history.v1.WorkflowTaskScheduledEventAttributes.start_to_close_timeout:type_name -> google.protobuf.Duration + 87, // 47: temporal.api.history.v1.WorkflowTaskStartedEventAttributes.suggest_continue_as_new_reasons:type_name -> temporal.api.enums.v1.SuggestContinueAsNewReason + 78, // 48: temporal.api.history.v1.WorkflowTaskStartedEventAttributes.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 78, // 49: temporal.api.history.v1.WorkflowTaskCompletedEventAttributes.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 88, // 50: temporal.api.history.v1.WorkflowTaskCompletedEventAttributes.sdk_metadata:type_name -> temporal.api.sdk.v1.WorkflowTaskCompletedMetadata + 89, // 51: temporal.api.history.v1.WorkflowTaskCompletedEventAttributes.metering_metadata:type_name -> temporal.api.common.v1.MeteringMetadata + 90, // 52: temporal.api.history.v1.WorkflowTaskCompletedEventAttributes.deployment:type_name -> temporal.api.deployment.v1.Deployment + 91, // 53: temporal.api.history.v1.WorkflowTaskCompletedEventAttributes.versioning_behavior:type_name -> temporal.api.enums.v1.VersioningBehavior + 82, // 54: temporal.api.history.v1.WorkflowTaskCompletedEventAttributes.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 92, // 55: temporal.api.history.v1.WorkflowTaskTimedOutEventAttributes.timeout_type:type_name -> temporal.api.enums.v1.TimeoutType + 93, // 56: temporal.api.history.v1.WorkflowTaskFailedEventAttributes.cause:type_name -> temporal.api.enums.v1.WorkflowTaskFailedCause + 71, // 57: temporal.api.history.v1.WorkflowTaskFailedEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 78, // 58: temporal.api.history.v1.WorkflowTaskFailedEventAttributes.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 94, // 59: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.activity_type:type_name -> temporal.api.common.v1.ActivityType + 67, // 60: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 77, // 61: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.header:type_name -> temporal.api.common.v1.Header + 68, // 62: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.input:type_name -> temporal.api.common.v1.Payloads + 69, // 63: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 69, // 64: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 69, // 65: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.start_to_close_timeout:type_name -> google.protobuf.Duration + 69, // 66: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.heartbeat_timeout:type_name -> google.protobuf.Duration + 72, // 67: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 81, // 68: temporal.api.history.v1.ActivityTaskScheduledEventAttributes.priority:type_name -> temporal.api.common.v1.Priority + 71, // 69: temporal.api.history.v1.ActivityTaskStartedEventAttributes.last_failure:type_name -> temporal.api.failure.v1.Failure + 78, // 70: temporal.api.history.v1.ActivityTaskStartedEventAttributes.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 68, // 71: temporal.api.history.v1.ActivityTaskCompletedEventAttributes.result:type_name -> temporal.api.common.v1.Payloads + 78, // 72: temporal.api.history.v1.ActivityTaskCompletedEventAttributes.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 71, // 73: temporal.api.history.v1.ActivityTaskFailedEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 85, // 74: temporal.api.history.v1.ActivityTaskFailedEventAttributes.retry_state:type_name -> temporal.api.enums.v1.RetryState + 78, // 75: temporal.api.history.v1.ActivityTaskFailedEventAttributes.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 71, // 76: temporal.api.history.v1.ActivityTaskTimedOutEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 85, // 77: temporal.api.history.v1.ActivityTaskTimedOutEventAttributes.retry_state:type_name -> temporal.api.enums.v1.RetryState + 68, // 78: temporal.api.history.v1.ActivityTaskCanceledEventAttributes.details:type_name -> temporal.api.common.v1.Payloads + 78, // 79: temporal.api.history.v1.ActivityTaskCanceledEventAttributes.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 69, // 80: temporal.api.history.v1.TimerStartedEventAttributes.start_to_fire_timeout:type_name -> google.protobuf.Duration + 66, // 81: temporal.api.history.v1.WorkflowExecutionCancelRequestedEventAttributes.external_workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 68, // 82: temporal.api.history.v1.WorkflowExecutionCanceledEventAttributes.details:type_name -> temporal.api.common.v1.Payloads + 63, // 83: temporal.api.history.v1.MarkerRecordedEventAttributes.details:type_name -> temporal.api.history.v1.MarkerRecordedEventAttributes.DetailsEntry + 77, // 84: temporal.api.history.v1.MarkerRecordedEventAttributes.header:type_name -> temporal.api.common.v1.Header + 71, // 85: temporal.api.history.v1.MarkerRecordedEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 68, // 86: temporal.api.history.v1.WorkflowExecutionSignaledEventAttributes.input:type_name -> temporal.api.common.v1.Payloads + 77, // 87: temporal.api.history.v1.WorkflowExecutionSignaledEventAttributes.header:type_name -> temporal.api.common.v1.Header + 66, // 88: temporal.api.history.v1.WorkflowExecutionSignaledEventAttributes.external_workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 68, // 89: temporal.api.history.v1.WorkflowExecutionTerminatedEventAttributes.details:type_name -> temporal.api.common.v1.Payloads + 66, // 90: temporal.api.history.v1.RequestCancelExternalWorkflowExecutionInitiatedEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 95, // 91: temporal.api.history.v1.RequestCancelExternalWorkflowExecutionFailedEventAttributes.cause:type_name -> temporal.api.enums.v1.CancelExternalWorkflowExecutionFailedCause + 66, // 92: temporal.api.history.v1.RequestCancelExternalWorkflowExecutionFailedEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 66, // 93: temporal.api.history.v1.ExternalWorkflowExecutionCancelRequestedEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 66, // 94: temporal.api.history.v1.SignalExternalWorkflowExecutionInitiatedEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 68, // 95: temporal.api.history.v1.SignalExternalWorkflowExecutionInitiatedEventAttributes.input:type_name -> temporal.api.common.v1.Payloads + 77, // 96: temporal.api.history.v1.SignalExternalWorkflowExecutionInitiatedEventAttributes.header:type_name -> temporal.api.common.v1.Header + 96, // 97: temporal.api.history.v1.SignalExternalWorkflowExecutionFailedEventAttributes.cause:type_name -> temporal.api.enums.v1.SignalExternalWorkflowExecutionFailedCause + 66, // 98: temporal.api.history.v1.SignalExternalWorkflowExecutionFailedEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 66, // 99: temporal.api.history.v1.ExternalWorkflowExecutionSignaledEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 75, // 100: temporal.api.history.v1.UpsertWorkflowSearchAttributesEventAttributes.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 74, // 101: temporal.api.history.v1.WorkflowPropertiesModifiedEventAttributes.upserted_memo:type_name -> temporal.api.common.v1.Memo + 65, // 102: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 67, // 103: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 68, // 104: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.input:type_name -> temporal.api.common.v1.Payloads + 69, // 105: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.workflow_execution_timeout:type_name -> google.protobuf.Duration + 69, // 106: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.workflow_run_timeout:type_name -> google.protobuf.Duration + 69, // 107: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.workflow_task_timeout:type_name -> google.protobuf.Duration + 97, // 108: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.parent_close_policy:type_name -> temporal.api.enums.v1.ParentClosePolicy + 98, // 109: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.workflow_id_reuse_policy:type_name -> temporal.api.enums.v1.WorkflowIdReusePolicy + 72, // 110: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 77, // 111: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.header:type_name -> temporal.api.common.v1.Header + 74, // 112: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.memo:type_name -> temporal.api.common.v1.Memo + 75, // 113: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 81, // 114: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.priority:type_name -> temporal.api.common.v1.Priority + 84, // 115: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.time_skipping_config:type_name -> temporal.api.workflow.v1.TimeSkippingConfig + 69, // 116: temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes.initial_skipped_duration:type_name -> google.protobuf.Duration + 65, // 117: temporal.api.history.v1.StartChildWorkflowExecutionFailedEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 99, // 118: temporal.api.history.v1.StartChildWorkflowExecutionFailedEventAttributes.cause:type_name -> temporal.api.enums.v1.StartChildWorkflowExecutionFailedCause + 66, // 119: temporal.api.history.v1.ChildWorkflowExecutionStartedEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 65, // 120: temporal.api.history.v1.ChildWorkflowExecutionStartedEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 77, // 121: temporal.api.history.v1.ChildWorkflowExecutionStartedEventAttributes.header:type_name -> temporal.api.common.v1.Header + 68, // 122: temporal.api.history.v1.ChildWorkflowExecutionCompletedEventAttributes.result:type_name -> temporal.api.common.v1.Payloads + 66, // 123: temporal.api.history.v1.ChildWorkflowExecutionCompletedEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 65, // 124: temporal.api.history.v1.ChildWorkflowExecutionCompletedEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 71, // 125: temporal.api.history.v1.ChildWorkflowExecutionFailedEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 66, // 126: temporal.api.history.v1.ChildWorkflowExecutionFailedEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 65, // 127: temporal.api.history.v1.ChildWorkflowExecutionFailedEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 85, // 128: temporal.api.history.v1.ChildWorkflowExecutionFailedEventAttributes.retry_state:type_name -> temporal.api.enums.v1.RetryState + 68, // 129: temporal.api.history.v1.ChildWorkflowExecutionCanceledEventAttributes.details:type_name -> temporal.api.common.v1.Payloads + 66, // 130: temporal.api.history.v1.ChildWorkflowExecutionCanceledEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 65, // 131: temporal.api.history.v1.ChildWorkflowExecutionCanceledEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 66, // 132: temporal.api.history.v1.ChildWorkflowExecutionTimedOutEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 65, // 133: temporal.api.history.v1.ChildWorkflowExecutionTimedOutEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 85, // 134: temporal.api.history.v1.ChildWorkflowExecutionTimedOutEventAttributes.retry_state:type_name -> temporal.api.enums.v1.RetryState + 66, // 135: temporal.api.history.v1.ChildWorkflowExecutionTerminatedEventAttributes.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 65, // 136: temporal.api.history.v1.ChildWorkflowExecutionTerminatedEventAttributes.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 80, // 137: temporal.api.history.v1.WorkflowExecutionOptionsUpdatedEventAttributes.versioning_override:type_name -> temporal.api.workflow.v1.VersioningOverride + 79, // 138: temporal.api.history.v1.WorkflowExecutionOptionsUpdatedEventAttributes.attached_completion_callbacks:type_name -> temporal.api.common.v1.Callback + 81, // 139: temporal.api.history.v1.WorkflowExecutionOptionsUpdatedEventAttributes.priority:type_name -> temporal.api.common.v1.Priority + 84, // 140: temporal.api.history.v1.WorkflowExecutionOptionsUpdatedEventAttributes.time_skipping_config:type_name -> temporal.api.workflow.v1.TimeSkippingConfig + 69, // 141: temporal.api.history.v1.WorkflowPropertiesModifiedExternallyEventAttributes.new_workflow_task_timeout:type_name -> google.protobuf.Duration + 69, // 142: temporal.api.history.v1.WorkflowPropertiesModifiedExternallyEventAttributes.new_workflow_run_timeout:type_name -> google.protobuf.Duration + 69, // 143: temporal.api.history.v1.WorkflowPropertiesModifiedExternallyEventAttributes.new_workflow_execution_timeout:type_name -> google.protobuf.Duration + 74, // 144: temporal.api.history.v1.WorkflowPropertiesModifiedExternallyEventAttributes.upserted_memo:type_name -> temporal.api.common.v1.Memo + 72, // 145: temporal.api.history.v1.ActivityPropertiesModifiedExternallyEventAttributes.new_retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 100, // 146: temporal.api.history.v1.WorkflowExecutionUpdateAcceptedEventAttributes.accepted_request:type_name -> temporal.api.update.v1.Request + 101, // 147: temporal.api.history.v1.WorkflowExecutionUpdateCompletedEventAttributes.meta:type_name -> temporal.api.update.v1.Meta + 102, // 148: temporal.api.history.v1.WorkflowExecutionUpdateCompletedEventAttributes.outcome:type_name -> temporal.api.update.v1.Outcome + 100, // 149: temporal.api.history.v1.WorkflowExecutionUpdateRejectedEventAttributes.rejected_request:type_name -> temporal.api.update.v1.Request + 71, // 150: temporal.api.history.v1.WorkflowExecutionUpdateRejectedEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 100, // 151: temporal.api.history.v1.WorkflowExecutionUpdateAdmittedEventAttributes.request:type_name -> temporal.api.update.v1.Request + 103, // 152: temporal.api.history.v1.WorkflowExecutionUpdateAdmittedEventAttributes.origin:type_name -> temporal.api.enums.v1.UpdateAdmittedEventOrigin + 73, // 153: temporal.api.history.v1.WorkflowExecutionTimeSkippingTransitionedEventAttributes.target_time:type_name -> google.protobuf.Timestamp + 73, // 154: temporal.api.history.v1.WorkflowExecutionTimeSkippingTransitionedEventAttributes.wall_clock_time:type_name -> google.protobuf.Timestamp + 104, // 155: temporal.api.history.v1.NexusOperationScheduledEventAttributes.input:type_name -> temporal.api.common.v1.Payload + 69, // 156: temporal.api.history.v1.NexusOperationScheduledEventAttributes.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 64, // 157: temporal.api.history.v1.NexusOperationScheduledEventAttributes.nexus_header:type_name -> temporal.api.history.v1.NexusOperationScheduledEventAttributes.NexusHeaderEntry + 69, // 158: temporal.api.history.v1.NexusOperationScheduledEventAttributes.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 69, // 159: temporal.api.history.v1.NexusOperationScheduledEventAttributes.start_to_close_timeout:type_name -> google.protobuf.Duration + 104, // 160: temporal.api.history.v1.NexusOperationCompletedEventAttributes.result:type_name -> temporal.api.common.v1.Payload + 71, // 161: temporal.api.history.v1.NexusOperationFailedEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 71, // 162: temporal.api.history.v1.NexusOperationTimedOutEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 71, // 163: temporal.api.history.v1.NexusOperationCanceledEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 71, // 164: temporal.api.history.v1.NexusOperationCancelRequestFailedEventAttributes.failure:type_name -> temporal.api.failure.v1.Failure + 73, // 165: temporal.api.history.v1.HistoryEvent.event_time:type_name -> google.protobuf.Timestamp + 105, // 166: temporal.api.history.v1.HistoryEvent.event_type:type_name -> temporal.api.enums.v1.EventType + 106, // 167: temporal.api.history.v1.HistoryEvent.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 107, // 168: temporal.api.history.v1.HistoryEvent.links:type_name -> temporal.api.common.v1.Link + 108, // 169: temporal.api.history.v1.HistoryEvent.principal:type_name -> temporal.api.common.v1.Principal + 0, // 170: temporal.api.history.v1.HistoryEvent.workflow_execution_started_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionStartedEventAttributes + 2, // 171: temporal.api.history.v1.HistoryEvent.workflow_execution_completed_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionCompletedEventAttributes + 3, // 172: temporal.api.history.v1.HistoryEvent.workflow_execution_failed_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionFailedEventAttributes + 4, // 173: temporal.api.history.v1.HistoryEvent.workflow_execution_timed_out_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionTimedOutEventAttributes + 6, // 174: temporal.api.history.v1.HistoryEvent.workflow_task_scheduled_event_attributes:type_name -> temporal.api.history.v1.WorkflowTaskScheduledEventAttributes + 7, // 175: temporal.api.history.v1.HistoryEvent.workflow_task_started_event_attributes:type_name -> temporal.api.history.v1.WorkflowTaskStartedEventAttributes + 8, // 176: temporal.api.history.v1.HistoryEvent.workflow_task_completed_event_attributes:type_name -> temporal.api.history.v1.WorkflowTaskCompletedEventAttributes + 9, // 177: temporal.api.history.v1.HistoryEvent.workflow_task_timed_out_event_attributes:type_name -> temporal.api.history.v1.WorkflowTaskTimedOutEventAttributes + 10, // 178: temporal.api.history.v1.HistoryEvent.workflow_task_failed_event_attributes:type_name -> temporal.api.history.v1.WorkflowTaskFailedEventAttributes + 11, // 179: temporal.api.history.v1.HistoryEvent.activity_task_scheduled_event_attributes:type_name -> temporal.api.history.v1.ActivityTaskScheduledEventAttributes + 12, // 180: temporal.api.history.v1.HistoryEvent.activity_task_started_event_attributes:type_name -> temporal.api.history.v1.ActivityTaskStartedEventAttributes + 13, // 181: temporal.api.history.v1.HistoryEvent.activity_task_completed_event_attributes:type_name -> temporal.api.history.v1.ActivityTaskCompletedEventAttributes + 14, // 182: temporal.api.history.v1.HistoryEvent.activity_task_failed_event_attributes:type_name -> temporal.api.history.v1.ActivityTaskFailedEventAttributes + 15, // 183: temporal.api.history.v1.HistoryEvent.activity_task_timed_out_event_attributes:type_name -> temporal.api.history.v1.ActivityTaskTimedOutEventAttributes + 18, // 184: temporal.api.history.v1.HistoryEvent.timer_started_event_attributes:type_name -> temporal.api.history.v1.TimerStartedEventAttributes + 19, // 185: temporal.api.history.v1.HistoryEvent.timer_fired_event_attributes:type_name -> temporal.api.history.v1.TimerFiredEventAttributes + 16, // 186: temporal.api.history.v1.HistoryEvent.activity_task_cancel_requested_event_attributes:type_name -> temporal.api.history.v1.ActivityTaskCancelRequestedEventAttributes + 17, // 187: temporal.api.history.v1.HistoryEvent.activity_task_canceled_event_attributes:type_name -> temporal.api.history.v1.ActivityTaskCanceledEventAttributes + 20, // 188: temporal.api.history.v1.HistoryEvent.timer_canceled_event_attributes:type_name -> temporal.api.history.v1.TimerCanceledEventAttributes + 23, // 189: temporal.api.history.v1.HistoryEvent.marker_recorded_event_attributes:type_name -> temporal.api.history.v1.MarkerRecordedEventAttributes + 24, // 190: temporal.api.history.v1.HistoryEvent.workflow_execution_signaled_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionSignaledEventAttributes + 25, // 191: temporal.api.history.v1.HistoryEvent.workflow_execution_terminated_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionTerminatedEventAttributes + 21, // 192: temporal.api.history.v1.HistoryEvent.workflow_execution_cancel_requested_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionCancelRequestedEventAttributes + 22, // 193: temporal.api.history.v1.HistoryEvent.workflow_execution_canceled_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionCanceledEventAttributes + 26, // 194: temporal.api.history.v1.HistoryEvent.request_cancel_external_workflow_execution_initiated_event_attributes:type_name -> temporal.api.history.v1.RequestCancelExternalWorkflowExecutionInitiatedEventAttributes + 27, // 195: temporal.api.history.v1.HistoryEvent.request_cancel_external_workflow_execution_failed_event_attributes:type_name -> temporal.api.history.v1.RequestCancelExternalWorkflowExecutionFailedEventAttributes + 28, // 196: temporal.api.history.v1.HistoryEvent.external_workflow_execution_cancel_requested_event_attributes:type_name -> temporal.api.history.v1.ExternalWorkflowExecutionCancelRequestedEventAttributes + 5, // 197: temporal.api.history.v1.HistoryEvent.workflow_execution_continued_as_new_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionContinuedAsNewEventAttributes + 34, // 198: temporal.api.history.v1.HistoryEvent.start_child_workflow_execution_initiated_event_attributes:type_name -> temporal.api.history.v1.StartChildWorkflowExecutionInitiatedEventAttributes + 35, // 199: temporal.api.history.v1.HistoryEvent.start_child_workflow_execution_failed_event_attributes:type_name -> temporal.api.history.v1.StartChildWorkflowExecutionFailedEventAttributes + 36, // 200: temporal.api.history.v1.HistoryEvent.child_workflow_execution_started_event_attributes:type_name -> temporal.api.history.v1.ChildWorkflowExecutionStartedEventAttributes + 37, // 201: temporal.api.history.v1.HistoryEvent.child_workflow_execution_completed_event_attributes:type_name -> temporal.api.history.v1.ChildWorkflowExecutionCompletedEventAttributes + 38, // 202: temporal.api.history.v1.HistoryEvent.child_workflow_execution_failed_event_attributes:type_name -> temporal.api.history.v1.ChildWorkflowExecutionFailedEventAttributes + 39, // 203: temporal.api.history.v1.HistoryEvent.child_workflow_execution_canceled_event_attributes:type_name -> temporal.api.history.v1.ChildWorkflowExecutionCanceledEventAttributes + 40, // 204: temporal.api.history.v1.HistoryEvent.child_workflow_execution_timed_out_event_attributes:type_name -> temporal.api.history.v1.ChildWorkflowExecutionTimedOutEventAttributes + 41, // 205: temporal.api.history.v1.HistoryEvent.child_workflow_execution_terminated_event_attributes:type_name -> temporal.api.history.v1.ChildWorkflowExecutionTerminatedEventAttributes + 29, // 206: temporal.api.history.v1.HistoryEvent.signal_external_workflow_execution_initiated_event_attributes:type_name -> temporal.api.history.v1.SignalExternalWorkflowExecutionInitiatedEventAttributes + 30, // 207: temporal.api.history.v1.HistoryEvent.signal_external_workflow_execution_failed_event_attributes:type_name -> temporal.api.history.v1.SignalExternalWorkflowExecutionFailedEventAttributes + 31, // 208: temporal.api.history.v1.HistoryEvent.external_workflow_execution_signaled_event_attributes:type_name -> temporal.api.history.v1.ExternalWorkflowExecutionSignaledEventAttributes + 32, // 209: temporal.api.history.v1.HistoryEvent.upsert_workflow_search_attributes_event_attributes:type_name -> temporal.api.history.v1.UpsertWorkflowSearchAttributesEventAttributes + 45, // 210: temporal.api.history.v1.HistoryEvent.workflow_execution_update_accepted_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionUpdateAcceptedEventAttributes + 47, // 211: temporal.api.history.v1.HistoryEvent.workflow_execution_update_rejected_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionUpdateRejectedEventAttributes + 46, // 212: temporal.api.history.v1.HistoryEvent.workflow_execution_update_completed_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionUpdateCompletedEventAttributes + 43, // 213: temporal.api.history.v1.HistoryEvent.workflow_properties_modified_externally_event_attributes:type_name -> temporal.api.history.v1.WorkflowPropertiesModifiedExternallyEventAttributes + 44, // 214: temporal.api.history.v1.HistoryEvent.activity_properties_modified_externally_event_attributes:type_name -> temporal.api.history.v1.ActivityPropertiesModifiedExternallyEventAttributes + 33, // 215: temporal.api.history.v1.HistoryEvent.workflow_properties_modified_event_attributes:type_name -> temporal.api.history.v1.WorkflowPropertiesModifiedEventAttributes + 48, // 216: temporal.api.history.v1.HistoryEvent.workflow_execution_update_admitted_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionUpdateAdmittedEventAttributes + 52, // 217: temporal.api.history.v1.HistoryEvent.nexus_operation_scheduled_event_attributes:type_name -> temporal.api.history.v1.NexusOperationScheduledEventAttributes + 53, // 218: temporal.api.history.v1.HistoryEvent.nexus_operation_started_event_attributes:type_name -> temporal.api.history.v1.NexusOperationStartedEventAttributes + 54, // 219: temporal.api.history.v1.HistoryEvent.nexus_operation_completed_event_attributes:type_name -> temporal.api.history.v1.NexusOperationCompletedEventAttributes + 55, // 220: temporal.api.history.v1.HistoryEvent.nexus_operation_failed_event_attributes:type_name -> temporal.api.history.v1.NexusOperationFailedEventAttributes + 57, // 221: temporal.api.history.v1.HistoryEvent.nexus_operation_canceled_event_attributes:type_name -> temporal.api.history.v1.NexusOperationCanceledEventAttributes + 56, // 222: temporal.api.history.v1.HistoryEvent.nexus_operation_timed_out_event_attributes:type_name -> temporal.api.history.v1.NexusOperationTimedOutEventAttributes + 58, // 223: temporal.api.history.v1.HistoryEvent.nexus_operation_cancel_requested_event_attributes:type_name -> temporal.api.history.v1.NexusOperationCancelRequestedEventAttributes + 42, // 224: temporal.api.history.v1.HistoryEvent.workflow_execution_options_updated_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionOptionsUpdatedEventAttributes + 59, // 225: temporal.api.history.v1.HistoryEvent.nexus_operation_cancel_request_completed_event_attributes:type_name -> temporal.api.history.v1.NexusOperationCancelRequestCompletedEventAttributes + 60, // 226: temporal.api.history.v1.HistoryEvent.nexus_operation_cancel_request_failed_event_attributes:type_name -> temporal.api.history.v1.NexusOperationCancelRequestFailedEventAttributes + 49, // 227: temporal.api.history.v1.HistoryEvent.workflow_execution_paused_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionPausedEventAttributes + 50, // 228: temporal.api.history.v1.HistoryEvent.workflow_execution_unpaused_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionUnpausedEventAttributes + 51, // 229: temporal.api.history.v1.HistoryEvent.workflow_execution_time_skipping_transitioned_event_attributes:type_name -> temporal.api.history.v1.WorkflowExecutionTimeSkippingTransitionedEventAttributes + 61, // 230: temporal.api.history.v1.History.events:type_name -> temporal.api.history.v1.HistoryEvent + 68, // 231: temporal.api.history.v1.MarkerRecordedEventAttributes.DetailsEntry.value:type_name -> temporal.api.common.v1.Payloads + 232, // [232:232] is the sub-list for method output_type + 232, // [232:232] is the sub-list for method input_type + 232, // [232:232] is the sub-list for extension type_name + 232, // [232:232] is the sub-list for extension extendee + 0, // [0:232] is the sub-list for field type_name +} + +func init() { file_temporal_api_history_v1_message_proto_init() } +func file_temporal_api_history_v1_message_proto_init() { + if File_temporal_api_history_v1_message_proto != nil { + return + } + file_temporal_api_history_v1_message_proto_msgTypes[61].OneofWrappers = []any{ + (*HistoryEvent_WorkflowExecutionStartedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionCompletedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionFailedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionTimedOutEventAttributes)(nil), + (*HistoryEvent_WorkflowTaskScheduledEventAttributes)(nil), + (*HistoryEvent_WorkflowTaskStartedEventAttributes)(nil), + (*HistoryEvent_WorkflowTaskCompletedEventAttributes)(nil), + (*HistoryEvent_WorkflowTaskTimedOutEventAttributes)(nil), + (*HistoryEvent_WorkflowTaskFailedEventAttributes)(nil), + (*HistoryEvent_ActivityTaskScheduledEventAttributes)(nil), + (*HistoryEvent_ActivityTaskStartedEventAttributes)(nil), + (*HistoryEvent_ActivityTaskCompletedEventAttributes)(nil), + (*HistoryEvent_ActivityTaskFailedEventAttributes)(nil), + (*HistoryEvent_ActivityTaskTimedOutEventAttributes)(nil), + (*HistoryEvent_TimerStartedEventAttributes)(nil), + (*HistoryEvent_TimerFiredEventAttributes)(nil), + (*HistoryEvent_ActivityTaskCancelRequestedEventAttributes)(nil), + (*HistoryEvent_ActivityTaskCanceledEventAttributes)(nil), + (*HistoryEvent_TimerCanceledEventAttributes)(nil), + (*HistoryEvent_MarkerRecordedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionSignaledEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionTerminatedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionCancelRequestedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionCanceledEventAttributes)(nil), + (*HistoryEvent_RequestCancelExternalWorkflowExecutionInitiatedEventAttributes)(nil), + (*HistoryEvent_RequestCancelExternalWorkflowExecutionFailedEventAttributes)(nil), + (*HistoryEvent_ExternalWorkflowExecutionCancelRequestedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionContinuedAsNewEventAttributes)(nil), + (*HistoryEvent_StartChildWorkflowExecutionInitiatedEventAttributes)(nil), + (*HistoryEvent_StartChildWorkflowExecutionFailedEventAttributes)(nil), + (*HistoryEvent_ChildWorkflowExecutionStartedEventAttributes)(nil), + (*HistoryEvent_ChildWorkflowExecutionCompletedEventAttributes)(nil), + (*HistoryEvent_ChildWorkflowExecutionFailedEventAttributes)(nil), + (*HistoryEvent_ChildWorkflowExecutionCanceledEventAttributes)(nil), + (*HistoryEvent_ChildWorkflowExecutionTimedOutEventAttributes)(nil), + (*HistoryEvent_ChildWorkflowExecutionTerminatedEventAttributes)(nil), + (*HistoryEvent_SignalExternalWorkflowExecutionInitiatedEventAttributes)(nil), + (*HistoryEvent_SignalExternalWorkflowExecutionFailedEventAttributes)(nil), + (*HistoryEvent_ExternalWorkflowExecutionSignaledEventAttributes)(nil), + (*HistoryEvent_UpsertWorkflowSearchAttributesEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionUpdateAcceptedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionUpdateRejectedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionUpdateCompletedEventAttributes)(nil), + (*HistoryEvent_WorkflowPropertiesModifiedExternallyEventAttributes)(nil), + (*HistoryEvent_ActivityPropertiesModifiedExternallyEventAttributes)(nil), + (*HistoryEvent_WorkflowPropertiesModifiedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionUpdateAdmittedEventAttributes)(nil), + (*HistoryEvent_NexusOperationScheduledEventAttributes)(nil), + (*HistoryEvent_NexusOperationStartedEventAttributes)(nil), + (*HistoryEvent_NexusOperationCompletedEventAttributes)(nil), + (*HistoryEvent_NexusOperationFailedEventAttributes)(nil), + (*HistoryEvent_NexusOperationCanceledEventAttributes)(nil), + (*HistoryEvent_NexusOperationTimedOutEventAttributes)(nil), + (*HistoryEvent_NexusOperationCancelRequestedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionOptionsUpdatedEventAttributes)(nil), + (*HistoryEvent_NexusOperationCancelRequestCompletedEventAttributes)(nil), + (*HistoryEvent_NexusOperationCancelRequestFailedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionPausedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionUnpausedEventAttributes)(nil), + (*HistoryEvent_WorkflowExecutionTimeSkippingTransitionedEventAttributes)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_history_v1_message_proto_rawDesc), len(file_temporal_api_history_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 65, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_history_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_history_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_history_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_history_v1_message_proto = out.File + file_temporal_api_history_v1_message_proto_goTypes = nil + file_temporal_api_history_v1_message_proto_depIdxs = nil +} diff --git a/api_next/internal/protojson/LICENSE b/api_next/internal/protojson/LICENSE new file mode 100644 index 00000000..49ea0f92 --- /dev/null +++ b/api_next/internal/protojson/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2018 The Go Authors. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/api_next/internal/protojson/README.md b/api_next/internal/protojson/README.md new file mode 100644 index 00000000..29d62a9d --- /dev/null +++ b/api_next/internal/protojson/README.md @@ -0,0 +1,9 @@ +_Here lies a vendored copy of protojson with some minor alterations._ + +Unfortunately we need a few things that the official stack won't let us do: + +1. We need to support our old JSON with `camelCase` enums while we migrate to the canonical `SCREAMING_SNAKE_CASE` enums +2. We've decided to support a [shorthand](https://github.com/temporalio/proposals/blob/master/api/http-api.md#payload-formatting) JSON serialization for our Payload type so that our users have a better experience + + +All code herein is governed by the LICENSE file in this directory (barring the `maybe_marshal` code we added). diff --git a/api_next/internal/protojson/errors/errors.go b/api_next/internal/protojson/errors/errors.go new file mode 100644 index 00000000..3d2ff800 --- /dev/null +++ b/api_next/internal/protojson/errors/errors.go @@ -0,0 +1,79 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package errors implements functions to manipulate errors. +package errors + +import ( + "errors" + "fmt" +) + +// Error is a sentinel matching all errors produced by this package. +var Error = errors.New("temporalprotobuf error") + +// New formats a string according to the format specifier and arguments and +// returns an error that has a "temporalproto" prefix. +func New(f string, x ...interface{}) error { + return &prefixError{s: format(f, x...)} +} + +type prefixError struct{ s string } + +const prefix = "temporalproto: " + +func (e *prefixError) Error() string { + return prefix + e.s +} + +func (e *prefixError) Unwrap() error { + return Error +} + +// Wrap returns an error that has a "proto" prefix, the formatted string described +// by the format specifier and arguments, and a suffix of err. The error wraps err. +func Wrap(err error, f string, x ...interface{}) error { + return &wrapError{ + s: format(f, x...), + err: err, + } +} + +type wrapError struct { + s string + err error +} + +func (e *wrapError) Error() string { + return format("%v%v: %v", prefix, e.s, e.err) +} + +func (e *wrapError) Unwrap() error { + return e.err +} + +func (e *wrapError) Is(target error) bool { + return target == Error +} + +func format(f string, x ...interface{}) string { + // avoid prefix when chaining + for i := 0; i < len(x); i++ { + switch e := x[i].(type) { + case *prefixError: + x[i] = e.s + case *wrapError: + x[i] = format("%v: %v", e.s, e.err) + } + } + return fmt.Sprintf(f, x...) +} + +func InvalidUTF8(name string) error { + return New("field %v contains invalid UTF-8", name) +} + +func RequiredNotSet(name string) error { + return New("required field %v not set", name) +} diff --git a/api_next/internal/protojson/genid/any_gen.go b/api_next/internal/protojson/genid/any_gen.go new file mode 100644 index 00000000..e6f7d47a --- /dev/null +++ b/api_next/internal/protojson/genid/any_gen.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_any_proto = "google/protobuf/any.proto" + +// Names for google.protobuf.Any. +const ( + Any_message_name protoreflect.Name = "Any" + Any_message_fullname protoreflect.FullName = "google.protobuf.Any" +) + +// Field names for google.protobuf.Any. +const ( + Any_TypeUrl_field_name protoreflect.Name = "type_url" + Any_Value_field_name protoreflect.Name = "value" + + Any_TypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Any.type_url" + Any_Value_field_fullname protoreflect.FullName = "google.protobuf.Any.value" +) + +// Field numbers for google.protobuf.Any. +const ( + Any_TypeUrl_field_number protoreflect.FieldNumber = 1 + Any_Value_field_number protoreflect.FieldNumber = 2 +) diff --git a/api_next/internal/protojson/genid/api_gen.go b/api_next/internal/protojson/genid/api_gen.go new file mode 100644 index 00000000..df8f9185 --- /dev/null +++ b/api_next/internal/protojson/genid/api_gen.go @@ -0,0 +1,106 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_api_proto = "google/protobuf/api.proto" + +// Names for google.protobuf.Api. +const ( + Api_message_name protoreflect.Name = "Api" + Api_message_fullname protoreflect.FullName = "google.protobuf.Api" +) + +// Field names for google.protobuf.Api. +const ( + Api_Name_field_name protoreflect.Name = "name" + Api_Methods_field_name protoreflect.Name = "methods" + Api_Options_field_name protoreflect.Name = "options" + Api_Version_field_name protoreflect.Name = "version" + Api_SourceContext_field_name protoreflect.Name = "source_context" + Api_Mixins_field_name protoreflect.Name = "mixins" + Api_Syntax_field_name protoreflect.Name = "syntax" + + Api_Name_field_fullname protoreflect.FullName = "google.protobuf.Api.name" + Api_Methods_field_fullname protoreflect.FullName = "google.protobuf.Api.methods" + Api_Options_field_fullname protoreflect.FullName = "google.protobuf.Api.options" + Api_Version_field_fullname protoreflect.FullName = "google.protobuf.Api.version" + Api_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Api.source_context" + Api_Mixins_field_fullname protoreflect.FullName = "google.protobuf.Api.mixins" + Api_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Api.syntax" +) + +// Field numbers for google.protobuf.Api. +const ( + Api_Name_field_number protoreflect.FieldNumber = 1 + Api_Methods_field_number protoreflect.FieldNumber = 2 + Api_Options_field_number protoreflect.FieldNumber = 3 + Api_Version_field_number protoreflect.FieldNumber = 4 + Api_SourceContext_field_number protoreflect.FieldNumber = 5 + Api_Mixins_field_number protoreflect.FieldNumber = 6 + Api_Syntax_field_number protoreflect.FieldNumber = 7 +) + +// Names for google.protobuf.Method. +const ( + Method_message_name protoreflect.Name = "Method" + Method_message_fullname protoreflect.FullName = "google.protobuf.Method" +) + +// Field names for google.protobuf.Method. +const ( + Method_Name_field_name protoreflect.Name = "name" + Method_RequestTypeUrl_field_name protoreflect.Name = "request_type_url" + Method_RequestStreaming_field_name protoreflect.Name = "request_streaming" + Method_ResponseTypeUrl_field_name protoreflect.Name = "response_type_url" + Method_ResponseStreaming_field_name protoreflect.Name = "response_streaming" + Method_Options_field_name protoreflect.Name = "options" + Method_Syntax_field_name protoreflect.Name = "syntax" + + Method_Name_field_fullname protoreflect.FullName = "google.protobuf.Method.name" + Method_RequestTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.request_type_url" + Method_RequestStreaming_field_fullname protoreflect.FullName = "google.protobuf.Method.request_streaming" + Method_ResponseTypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Method.response_type_url" + Method_ResponseStreaming_field_fullname protoreflect.FullName = "google.protobuf.Method.response_streaming" + Method_Options_field_fullname protoreflect.FullName = "google.protobuf.Method.options" + Method_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Method.syntax" +) + +// Field numbers for google.protobuf.Method. +const ( + Method_Name_field_number protoreflect.FieldNumber = 1 + Method_RequestTypeUrl_field_number protoreflect.FieldNumber = 2 + Method_RequestStreaming_field_number protoreflect.FieldNumber = 3 + Method_ResponseTypeUrl_field_number protoreflect.FieldNumber = 4 + Method_ResponseStreaming_field_number protoreflect.FieldNumber = 5 + Method_Options_field_number protoreflect.FieldNumber = 6 + Method_Syntax_field_number protoreflect.FieldNumber = 7 +) + +// Names for google.protobuf.Mixin. +const ( + Mixin_message_name protoreflect.Name = "Mixin" + Mixin_message_fullname protoreflect.FullName = "google.protobuf.Mixin" +) + +// Field names for google.protobuf.Mixin. +const ( + Mixin_Name_field_name protoreflect.Name = "name" + Mixin_Root_field_name protoreflect.Name = "root" + + Mixin_Name_field_fullname protoreflect.FullName = "google.protobuf.Mixin.name" + Mixin_Root_field_fullname protoreflect.FullName = "google.protobuf.Mixin.root" +) + +// Field numbers for google.protobuf.Mixin. +const ( + Mixin_Name_field_number protoreflect.FieldNumber = 1 + Mixin_Root_field_number protoreflect.FieldNumber = 2 +) diff --git a/api_next/internal/protojson/genid/descriptor_gen.go b/api_next/internal/protojson/genid/descriptor_gen.go new file mode 100644 index 00000000..8f94230e --- /dev/null +++ b/api_next/internal/protojson/genid/descriptor_gen.go @@ -0,0 +1,1087 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_descriptor_proto = "google/protobuf/descriptor.proto" + +// Full and short names for google.protobuf.Edition. +const ( + Edition_enum_fullname = "google.protobuf.Edition" + Edition_enum_name = "Edition" +) + +// Names for google.protobuf.FileDescriptorSet. +const ( + FileDescriptorSet_message_name protoreflect.Name = "FileDescriptorSet" + FileDescriptorSet_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet" +) + +// Field names for google.protobuf.FileDescriptorSet. +const ( + FileDescriptorSet_File_field_name protoreflect.Name = "file" + + FileDescriptorSet_File_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorSet.file" +) + +// Field numbers for google.protobuf.FileDescriptorSet. +const ( + FileDescriptorSet_File_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.FileDescriptorProto. +const ( + FileDescriptorProto_message_name protoreflect.Name = "FileDescriptorProto" + FileDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto" +) + +// Field names for google.protobuf.FileDescriptorProto. +const ( + FileDescriptorProto_Name_field_name protoreflect.Name = "name" + FileDescriptorProto_Package_field_name protoreflect.Name = "package" + FileDescriptorProto_Dependency_field_name protoreflect.Name = "dependency" + FileDescriptorProto_PublicDependency_field_name protoreflect.Name = "public_dependency" + FileDescriptorProto_WeakDependency_field_name protoreflect.Name = "weak_dependency" + FileDescriptorProto_MessageType_field_name protoreflect.Name = "message_type" + FileDescriptorProto_EnumType_field_name protoreflect.Name = "enum_type" + FileDescriptorProto_Service_field_name protoreflect.Name = "service" + FileDescriptorProto_Extension_field_name protoreflect.Name = "extension" + FileDescriptorProto_Options_field_name protoreflect.Name = "options" + FileDescriptorProto_SourceCodeInfo_field_name protoreflect.Name = "source_code_info" + FileDescriptorProto_Syntax_field_name protoreflect.Name = "syntax" + FileDescriptorProto_Edition_field_name protoreflect.Name = "edition" + + FileDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.name" + FileDescriptorProto_Package_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.package" + FileDescriptorProto_Dependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.dependency" + FileDescriptorProto_PublicDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.public_dependency" + FileDescriptorProto_WeakDependency_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.weak_dependency" + FileDescriptorProto_MessageType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.message_type" + FileDescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.enum_type" + FileDescriptorProto_Service_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.service" + FileDescriptorProto_Extension_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.extension" + FileDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.options" + FileDescriptorProto_SourceCodeInfo_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.source_code_info" + FileDescriptorProto_Syntax_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.syntax" + FileDescriptorProto_Edition_field_fullname protoreflect.FullName = "google.protobuf.FileDescriptorProto.edition" +) + +// Field numbers for google.protobuf.FileDescriptorProto. +const ( + FileDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + FileDescriptorProto_Package_field_number protoreflect.FieldNumber = 2 + FileDescriptorProto_Dependency_field_number protoreflect.FieldNumber = 3 + FileDescriptorProto_PublicDependency_field_number protoreflect.FieldNumber = 10 + FileDescriptorProto_WeakDependency_field_number protoreflect.FieldNumber = 11 + FileDescriptorProto_MessageType_field_number protoreflect.FieldNumber = 4 + FileDescriptorProto_EnumType_field_number protoreflect.FieldNumber = 5 + FileDescriptorProto_Service_field_number protoreflect.FieldNumber = 6 + FileDescriptorProto_Extension_field_number protoreflect.FieldNumber = 7 + FileDescriptorProto_Options_field_number protoreflect.FieldNumber = 8 + FileDescriptorProto_SourceCodeInfo_field_number protoreflect.FieldNumber = 9 + FileDescriptorProto_Syntax_field_number protoreflect.FieldNumber = 12 + FileDescriptorProto_Edition_field_number protoreflect.FieldNumber = 14 +) + +// Names for google.protobuf.DescriptorProto. +const ( + DescriptorProto_message_name protoreflect.Name = "DescriptorProto" + DescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto" +) + +// Field names for google.protobuf.DescriptorProto. +const ( + DescriptorProto_Name_field_name protoreflect.Name = "name" + DescriptorProto_Field_field_name protoreflect.Name = "field" + DescriptorProto_Extension_field_name protoreflect.Name = "extension" + DescriptorProto_NestedType_field_name protoreflect.Name = "nested_type" + DescriptorProto_EnumType_field_name protoreflect.Name = "enum_type" + DescriptorProto_ExtensionRange_field_name protoreflect.Name = "extension_range" + DescriptorProto_OneofDecl_field_name protoreflect.Name = "oneof_decl" + DescriptorProto_Options_field_name protoreflect.Name = "options" + DescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" + DescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" + + DescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.name" + DescriptorProto_Field_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.field" + DescriptorProto_Extension_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.extension" + DescriptorProto_NestedType_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.nested_type" + DescriptorProto_EnumType_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.enum_type" + DescriptorProto_ExtensionRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.extension_range" + DescriptorProto_OneofDecl_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.oneof_decl" + DescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.options" + DescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_range" + DescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.reserved_name" +) + +// Field numbers for google.protobuf.DescriptorProto. +const ( + DescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + DescriptorProto_Field_field_number protoreflect.FieldNumber = 2 + DescriptorProto_Extension_field_number protoreflect.FieldNumber = 6 + DescriptorProto_NestedType_field_number protoreflect.FieldNumber = 3 + DescriptorProto_EnumType_field_number protoreflect.FieldNumber = 4 + DescriptorProto_ExtensionRange_field_number protoreflect.FieldNumber = 5 + DescriptorProto_OneofDecl_field_number protoreflect.FieldNumber = 8 + DescriptorProto_Options_field_number protoreflect.FieldNumber = 7 + DescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 9 + DescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 10 +) + +// Names for google.protobuf.DescriptorProto.ExtensionRange. +const ( + DescriptorProto_ExtensionRange_message_name protoreflect.Name = "ExtensionRange" + DescriptorProto_ExtensionRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange" +) + +// Field names for google.protobuf.DescriptorProto.ExtensionRange. +const ( + DescriptorProto_ExtensionRange_Start_field_name protoreflect.Name = "start" + DescriptorProto_ExtensionRange_End_field_name protoreflect.Name = "end" + DescriptorProto_ExtensionRange_Options_field_name protoreflect.Name = "options" + + DescriptorProto_ExtensionRange_Start_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.start" + DescriptorProto_ExtensionRange_End_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.end" + DescriptorProto_ExtensionRange_Options_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ExtensionRange.options" +) + +// Field numbers for google.protobuf.DescriptorProto.ExtensionRange. +const ( + DescriptorProto_ExtensionRange_Start_field_number protoreflect.FieldNumber = 1 + DescriptorProto_ExtensionRange_End_field_number protoreflect.FieldNumber = 2 + DescriptorProto_ExtensionRange_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.DescriptorProto.ReservedRange. +const ( + DescriptorProto_ReservedRange_message_name protoreflect.Name = "ReservedRange" + DescriptorProto_ReservedRange_message_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange" +) + +// Field names for google.protobuf.DescriptorProto.ReservedRange. +const ( + DescriptorProto_ReservedRange_Start_field_name protoreflect.Name = "start" + DescriptorProto_ReservedRange_End_field_name protoreflect.Name = "end" + + DescriptorProto_ReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.start" + DescriptorProto_ReservedRange_End_field_fullname protoreflect.FullName = "google.protobuf.DescriptorProto.ReservedRange.end" +) + +// Field numbers for google.protobuf.DescriptorProto.ReservedRange. +const ( + DescriptorProto_ReservedRange_Start_field_number protoreflect.FieldNumber = 1 + DescriptorProto_ReservedRange_End_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.ExtensionRangeOptions. +const ( + ExtensionRangeOptions_message_name protoreflect.Name = "ExtensionRangeOptions" + ExtensionRangeOptions_message_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions" +) + +// Field names for google.protobuf.ExtensionRangeOptions. +const ( + ExtensionRangeOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + ExtensionRangeOptions_Declaration_field_name protoreflect.Name = "declaration" + ExtensionRangeOptions_Features_field_name protoreflect.Name = "features" + ExtensionRangeOptions_Verification_field_name protoreflect.Name = "verification" + + ExtensionRangeOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.uninterpreted_option" + ExtensionRangeOptions_Declaration_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.declaration" + ExtensionRangeOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.features" + ExtensionRangeOptions_Verification_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.verification" +) + +// Field numbers for google.protobuf.ExtensionRangeOptions. +const ( + ExtensionRangeOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 + ExtensionRangeOptions_Declaration_field_number protoreflect.FieldNumber = 2 + ExtensionRangeOptions_Features_field_number protoreflect.FieldNumber = 50 + ExtensionRangeOptions_Verification_field_number protoreflect.FieldNumber = 3 +) + +// Full and short names for google.protobuf.ExtensionRangeOptions.VerificationState. +const ( + ExtensionRangeOptions_VerificationState_enum_fullname = "google.protobuf.ExtensionRangeOptions.VerificationState" + ExtensionRangeOptions_VerificationState_enum_name = "VerificationState" +) + +// Names for google.protobuf.ExtensionRangeOptions.Declaration. +const ( + ExtensionRangeOptions_Declaration_message_name protoreflect.Name = "Declaration" + ExtensionRangeOptions_Declaration_message_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration" +) + +// Field names for google.protobuf.ExtensionRangeOptions.Declaration. +const ( + ExtensionRangeOptions_Declaration_Number_field_name protoreflect.Name = "number" + ExtensionRangeOptions_Declaration_FullName_field_name protoreflect.Name = "full_name" + ExtensionRangeOptions_Declaration_Type_field_name protoreflect.Name = "type" + ExtensionRangeOptions_Declaration_Reserved_field_name protoreflect.Name = "reserved" + ExtensionRangeOptions_Declaration_Repeated_field_name protoreflect.Name = "repeated" + + ExtensionRangeOptions_Declaration_Number_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.number" + ExtensionRangeOptions_Declaration_FullName_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.full_name" + ExtensionRangeOptions_Declaration_Type_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.type" + ExtensionRangeOptions_Declaration_Reserved_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.reserved" + ExtensionRangeOptions_Declaration_Repeated_field_fullname protoreflect.FullName = "google.protobuf.ExtensionRangeOptions.Declaration.repeated" +) + +// Field numbers for google.protobuf.ExtensionRangeOptions.Declaration. +const ( + ExtensionRangeOptions_Declaration_Number_field_number protoreflect.FieldNumber = 1 + ExtensionRangeOptions_Declaration_FullName_field_number protoreflect.FieldNumber = 2 + ExtensionRangeOptions_Declaration_Type_field_number protoreflect.FieldNumber = 3 + ExtensionRangeOptions_Declaration_Reserved_field_number protoreflect.FieldNumber = 5 + ExtensionRangeOptions_Declaration_Repeated_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.FieldDescriptorProto. +const ( + FieldDescriptorProto_message_name protoreflect.Name = "FieldDescriptorProto" + FieldDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto" +) + +// Field names for google.protobuf.FieldDescriptorProto. +const ( + FieldDescriptorProto_Name_field_name protoreflect.Name = "name" + FieldDescriptorProto_Number_field_name protoreflect.Name = "number" + FieldDescriptorProto_Label_field_name protoreflect.Name = "label" + FieldDescriptorProto_Type_field_name protoreflect.Name = "type" + FieldDescriptorProto_TypeName_field_name protoreflect.Name = "type_name" + FieldDescriptorProto_Extendee_field_name protoreflect.Name = "extendee" + FieldDescriptorProto_DefaultValue_field_name protoreflect.Name = "default_value" + FieldDescriptorProto_OneofIndex_field_name protoreflect.Name = "oneof_index" + FieldDescriptorProto_JsonName_field_name protoreflect.Name = "json_name" + FieldDescriptorProto_Options_field_name protoreflect.Name = "options" + FieldDescriptorProto_Proto3Optional_field_name protoreflect.Name = "proto3_optional" + + FieldDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.name" + FieldDescriptorProto_Number_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.number" + FieldDescriptorProto_Label_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.label" + FieldDescriptorProto_Type_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type" + FieldDescriptorProto_TypeName_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.type_name" + FieldDescriptorProto_Extendee_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.extendee" + FieldDescriptorProto_DefaultValue_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.default_value" + FieldDescriptorProto_OneofIndex_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.oneof_index" + FieldDescriptorProto_JsonName_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.json_name" + FieldDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.options" + FieldDescriptorProto_Proto3Optional_field_fullname protoreflect.FullName = "google.protobuf.FieldDescriptorProto.proto3_optional" +) + +// Field numbers for google.protobuf.FieldDescriptorProto. +const ( + FieldDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + FieldDescriptorProto_Number_field_number protoreflect.FieldNumber = 3 + FieldDescriptorProto_Label_field_number protoreflect.FieldNumber = 4 + FieldDescriptorProto_Type_field_number protoreflect.FieldNumber = 5 + FieldDescriptorProto_TypeName_field_number protoreflect.FieldNumber = 6 + FieldDescriptorProto_Extendee_field_number protoreflect.FieldNumber = 2 + FieldDescriptorProto_DefaultValue_field_number protoreflect.FieldNumber = 7 + FieldDescriptorProto_OneofIndex_field_number protoreflect.FieldNumber = 9 + FieldDescriptorProto_JsonName_field_number protoreflect.FieldNumber = 10 + FieldDescriptorProto_Options_field_number protoreflect.FieldNumber = 8 + FieldDescriptorProto_Proto3Optional_field_number protoreflect.FieldNumber = 17 +) + +// Full and short names for google.protobuf.FieldDescriptorProto.Type. +const ( + FieldDescriptorProto_Type_enum_fullname = "google.protobuf.FieldDescriptorProto.Type" + FieldDescriptorProto_Type_enum_name = "Type" +) + +// Full and short names for google.protobuf.FieldDescriptorProto.Label. +const ( + FieldDescriptorProto_Label_enum_fullname = "google.protobuf.FieldDescriptorProto.Label" + FieldDescriptorProto_Label_enum_name = "Label" +) + +// Names for google.protobuf.OneofDescriptorProto. +const ( + OneofDescriptorProto_message_name protoreflect.Name = "OneofDescriptorProto" + OneofDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto" +) + +// Field names for google.protobuf.OneofDescriptorProto. +const ( + OneofDescriptorProto_Name_field_name protoreflect.Name = "name" + OneofDescriptorProto_Options_field_name protoreflect.Name = "options" + + OneofDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto.name" + OneofDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.OneofDescriptorProto.options" +) + +// Field numbers for google.protobuf.OneofDescriptorProto. +const ( + OneofDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + OneofDescriptorProto_Options_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.EnumDescriptorProto. +const ( + EnumDescriptorProto_message_name protoreflect.Name = "EnumDescriptorProto" + EnumDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto" +) + +// Field names for google.protobuf.EnumDescriptorProto. +const ( + EnumDescriptorProto_Name_field_name protoreflect.Name = "name" + EnumDescriptorProto_Value_field_name protoreflect.Name = "value" + EnumDescriptorProto_Options_field_name protoreflect.Name = "options" + EnumDescriptorProto_ReservedRange_field_name protoreflect.Name = "reserved_range" + EnumDescriptorProto_ReservedName_field_name protoreflect.Name = "reserved_name" + + EnumDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.name" + EnumDescriptorProto_Value_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.value" + EnumDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.options" + EnumDescriptorProto_ReservedRange_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_range" + EnumDescriptorProto_ReservedName_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.reserved_name" +) + +// Field numbers for google.protobuf.EnumDescriptorProto. +const ( + EnumDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + EnumDescriptorProto_Value_field_number protoreflect.FieldNumber = 2 + EnumDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 + EnumDescriptorProto_ReservedRange_field_number protoreflect.FieldNumber = 4 + EnumDescriptorProto_ReservedName_field_number protoreflect.FieldNumber = 5 +) + +// Names for google.protobuf.EnumDescriptorProto.EnumReservedRange. +const ( + EnumDescriptorProto_EnumReservedRange_message_name protoreflect.Name = "EnumReservedRange" + EnumDescriptorProto_EnumReservedRange_message_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange" +) + +// Field names for google.protobuf.EnumDescriptorProto.EnumReservedRange. +const ( + EnumDescriptorProto_EnumReservedRange_Start_field_name protoreflect.Name = "start" + EnumDescriptorProto_EnumReservedRange_End_field_name protoreflect.Name = "end" + + EnumDescriptorProto_EnumReservedRange_Start_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.start" + EnumDescriptorProto_EnumReservedRange_End_field_fullname protoreflect.FullName = "google.protobuf.EnumDescriptorProto.EnumReservedRange.end" +) + +// Field numbers for google.protobuf.EnumDescriptorProto.EnumReservedRange. +const ( + EnumDescriptorProto_EnumReservedRange_Start_field_number protoreflect.FieldNumber = 1 + EnumDescriptorProto_EnumReservedRange_End_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.EnumValueDescriptorProto. +const ( + EnumValueDescriptorProto_message_name protoreflect.Name = "EnumValueDescriptorProto" + EnumValueDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto" +) + +// Field names for google.protobuf.EnumValueDescriptorProto. +const ( + EnumValueDescriptorProto_Name_field_name protoreflect.Name = "name" + EnumValueDescriptorProto_Number_field_name protoreflect.Name = "number" + EnumValueDescriptorProto_Options_field_name protoreflect.Name = "options" + + EnumValueDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.name" + EnumValueDescriptorProto_Number_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.number" + EnumValueDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumValueDescriptorProto.options" +) + +// Field numbers for google.protobuf.EnumValueDescriptorProto. +const ( + EnumValueDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + EnumValueDescriptorProto_Number_field_number protoreflect.FieldNumber = 2 + EnumValueDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.ServiceDescriptorProto. +const ( + ServiceDescriptorProto_message_name protoreflect.Name = "ServiceDescriptorProto" + ServiceDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto" +) + +// Field names for google.protobuf.ServiceDescriptorProto. +const ( + ServiceDescriptorProto_Name_field_name protoreflect.Name = "name" + ServiceDescriptorProto_Method_field_name protoreflect.Name = "method" + ServiceDescriptorProto_Options_field_name protoreflect.Name = "options" + + ServiceDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.name" + ServiceDescriptorProto_Method_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.method" + ServiceDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.ServiceDescriptorProto.options" +) + +// Field numbers for google.protobuf.ServiceDescriptorProto. +const ( + ServiceDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + ServiceDescriptorProto_Method_field_number protoreflect.FieldNumber = 2 + ServiceDescriptorProto_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.MethodDescriptorProto. +const ( + MethodDescriptorProto_message_name protoreflect.Name = "MethodDescriptorProto" + MethodDescriptorProto_message_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto" +) + +// Field names for google.protobuf.MethodDescriptorProto. +const ( + MethodDescriptorProto_Name_field_name protoreflect.Name = "name" + MethodDescriptorProto_InputType_field_name protoreflect.Name = "input_type" + MethodDescriptorProto_OutputType_field_name protoreflect.Name = "output_type" + MethodDescriptorProto_Options_field_name protoreflect.Name = "options" + MethodDescriptorProto_ClientStreaming_field_name protoreflect.Name = "client_streaming" + MethodDescriptorProto_ServerStreaming_field_name protoreflect.Name = "server_streaming" + + MethodDescriptorProto_Name_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.name" + MethodDescriptorProto_InputType_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.input_type" + MethodDescriptorProto_OutputType_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.output_type" + MethodDescriptorProto_Options_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.options" + MethodDescriptorProto_ClientStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.client_streaming" + MethodDescriptorProto_ServerStreaming_field_fullname protoreflect.FullName = "google.protobuf.MethodDescriptorProto.server_streaming" +) + +// Field numbers for google.protobuf.MethodDescriptorProto. +const ( + MethodDescriptorProto_Name_field_number protoreflect.FieldNumber = 1 + MethodDescriptorProto_InputType_field_number protoreflect.FieldNumber = 2 + MethodDescriptorProto_OutputType_field_number protoreflect.FieldNumber = 3 + MethodDescriptorProto_Options_field_number protoreflect.FieldNumber = 4 + MethodDescriptorProto_ClientStreaming_field_number protoreflect.FieldNumber = 5 + MethodDescriptorProto_ServerStreaming_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.FileOptions. +const ( + FileOptions_message_name protoreflect.Name = "FileOptions" + FileOptions_message_fullname protoreflect.FullName = "google.protobuf.FileOptions" +) + +// Field names for google.protobuf.FileOptions. +const ( + FileOptions_JavaPackage_field_name protoreflect.Name = "java_package" + FileOptions_JavaOuterClassname_field_name protoreflect.Name = "java_outer_classname" + FileOptions_JavaMultipleFiles_field_name protoreflect.Name = "java_multiple_files" + FileOptions_JavaGenerateEqualsAndHash_field_name protoreflect.Name = "java_generate_equals_and_hash" + FileOptions_JavaStringCheckUtf8_field_name protoreflect.Name = "java_string_check_utf8" + FileOptions_OptimizeFor_field_name protoreflect.Name = "optimize_for" + FileOptions_GoPackage_field_name protoreflect.Name = "go_package" + FileOptions_CcGenericServices_field_name protoreflect.Name = "cc_generic_services" + FileOptions_JavaGenericServices_field_name protoreflect.Name = "java_generic_services" + FileOptions_PyGenericServices_field_name protoreflect.Name = "py_generic_services" + FileOptions_PhpGenericServices_field_name protoreflect.Name = "php_generic_services" + FileOptions_Deprecated_field_name protoreflect.Name = "deprecated" + FileOptions_CcEnableArenas_field_name protoreflect.Name = "cc_enable_arenas" + FileOptions_ObjcClassPrefix_field_name protoreflect.Name = "objc_class_prefix" + FileOptions_CsharpNamespace_field_name protoreflect.Name = "csharp_namespace" + FileOptions_SwiftPrefix_field_name protoreflect.Name = "swift_prefix" + FileOptions_PhpClassPrefix_field_name protoreflect.Name = "php_class_prefix" + FileOptions_PhpNamespace_field_name protoreflect.Name = "php_namespace" + FileOptions_PhpMetadataNamespace_field_name protoreflect.Name = "php_metadata_namespace" + FileOptions_RubyPackage_field_name protoreflect.Name = "ruby_package" + FileOptions_Features_field_name protoreflect.Name = "features" + FileOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + FileOptions_JavaPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_package" + FileOptions_JavaOuterClassname_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_outer_classname" + FileOptions_JavaMultipleFiles_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_multiple_files" + FileOptions_JavaGenerateEqualsAndHash_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generate_equals_and_hash" + FileOptions_JavaStringCheckUtf8_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_string_check_utf8" + FileOptions_OptimizeFor_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.optimize_for" + FileOptions_GoPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.go_package" + FileOptions_CcGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_generic_services" + FileOptions_JavaGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.java_generic_services" + FileOptions_PyGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.py_generic_services" + FileOptions_PhpGenericServices_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_generic_services" + FileOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.deprecated" + FileOptions_CcEnableArenas_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.cc_enable_arenas" + FileOptions_ObjcClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.objc_class_prefix" + FileOptions_CsharpNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.csharp_namespace" + FileOptions_SwiftPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.swift_prefix" + FileOptions_PhpClassPrefix_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_class_prefix" + FileOptions_PhpNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_namespace" + FileOptions_PhpMetadataNamespace_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.php_metadata_namespace" + FileOptions_RubyPackage_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.ruby_package" + FileOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.features" + FileOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FileOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.FileOptions. +const ( + FileOptions_JavaPackage_field_number protoreflect.FieldNumber = 1 + FileOptions_JavaOuterClassname_field_number protoreflect.FieldNumber = 8 + FileOptions_JavaMultipleFiles_field_number protoreflect.FieldNumber = 10 + FileOptions_JavaGenerateEqualsAndHash_field_number protoreflect.FieldNumber = 20 + FileOptions_JavaStringCheckUtf8_field_number protoreflect.FieldNumber = 27 + FileOptions_OptimizeFor_field_number protoreflect.FieldNumber = 9 + FileOptions_GoPackage_field_number protoreflect.FieldNumber = 11 + FileOptions_CcGenericServices_field_number protoreflect.FieldNumber = 16 + FileOptions_JavaGenericServices_field_number protoreflect.FieldNumber = 17 + FileOptions_PyGenericServices_field_number protoreflect.FieldNumber = 18 + FileOptions_PhpGenericServices_field_number protoreflect.FieldNumber = 42 + FileOptions_Deprecated_field_number protoreflect.FieldNumber = 23 + FileOptions_CcEnableArenas_field_number protoreflect.FieldNumber = 31 + FileOptions_ObjcClassPrefix_field_number protoreflect.FieldNumber = 36 + FileOptions_CsharpNamespace_field_number protoreflect.FieldNumber = 37 + FileOptions_SwiftPrefix_field_number protoreflect.FieldNumber = 39 + FileOptions_PhpClassPrefix_field_number protoreflect.FieldNumber = 40 + FileOptions_PhpNamespace_field_number protoreflect.FieldNumber = 41 + FileOptions_PhpMetadataNamespace_field_number protoreflect.FieldNumber = 44 + FileOptions_RubyPackage_field_number protoreflect.FieldNumber = 45 + FileOptions_Features_field_number protoreflect.FieldNumber = 50 + FileOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Full and short names for google.protobuf.FileOptions.OptimizeMode. +const ( + FileOptions_OptimizeMode_enum_fullname = "google.protobuf.FileOptions.OptimizeMode" + FileOptions_OptimizeMode_enum_name = "OptimizeMode" +) + +// Names for google.protobuf.MessageOptions. +const ( + MessageOptions_message_name protoreflect.Name = "MessageOptions" + MessageOptions_message_fullname protoreflect.FullName = "google.protobuf.MessageOptions" +) + +// Field names for google.protobuf.MessageOptions. +const ( + MessageOptions_MessageSetWireFormat_field_name protoreflect.Name = "message_set_wire_format" + MessageOptions_NoStandardDescriptorAccessor_field_name protoreflect.Name = "no_standard_descriptor_accessor" + MessageOptions_Deprecated_field_name protoreflect.Name = "deprecated" + MessageOptions_MapEntry_field_name protoreflect.Name = "map_entry" + MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts" + MessageOptions_Features_field_name protoreflect.Name = "features" + MessageOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + MessageOptions_MessageSetWireFormat_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.message_set_wire_format" + MessageOptions_NoStandardDescriptorAccessor_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.no_standard_descriptor_accessor" + MessageOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated" + MessageOptions_MapEntry_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.map_entry" + MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.deprecated_legacy_json_field_conflicts" + MessageOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.features" + MessageOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MessageOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.MessageOptions. +const ( + MessageOptions_MessageSetWireFormat_field_number protoreflect.FieldNumber = 1 + MessageOptions_NoStandardDescriptorAccessor_field_number protoreflect.FieldNumber = 2 + MessageOptions_Deprecated_field_number protoreflect.FieldNumber = 3 + MessageOptions_MapEntry_field_number protoreflect.FieldNumber = 7 + MessageOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 11 + MessageOptions_Features_field_number protoreflect.FieldNumber = 12 + MessageOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.FieldOptions. +const ( + FieldOptions_message_name protoreflect.Name = "FieldOptions" + FieldOptions_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions" +) + +// Field names for google.protobuf.FieldOptions. +const ( + FieldOptions_Ctype_field_name protoreflect.Name = "ctype" + FieldOptions_Packed_field_name protoreflect.Name = "packed" + FieldOptions_Jstype_field_name protoreflect.Name = "jstype" + FieldOptions_Lazy_field_name protoreflect.Name = "lazy" + FieldOptions_UnverifiedLazy_field_name protoreflect.Name = "unverified_lazy" + FieldOptions_Deprecated_field_name protoreflect.Name = "deprecated" + FieldOptions_Weak_field_name protoreflect.Name = "weak" + FieldOptions_DebugRedact_field_name protoreflect.Name = "debug_redact" + FieldOptions_Retention_field_name protoreflect.Name = "retention" + FieldOptions_Targets_field_name protoreflect.Name = "targets" + FieldOptions_EditionDefaults_field_name protoreflect.Name = "edition_defaults" + FieldOptions_Features_field_name protoreflect.Name = "features" + FieldOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + FieldOptions_Ctype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.ctype" + FieldOptions_Packed_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.packed" + FieldOptions_Jstype_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.jstype" + FieldOptions_Lazy_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.lazy" + FieldOptions_UnverifiedLazy_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.unverified_lazy" + FieldOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.deprecated" + FieldOptions_Weak_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.weak" + FieldOptions_DebugRedact_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.debug_redact" + FieldOptions_Retention_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.retention" + FieldOptions_Targets_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.targets" + FieldOptions_EditionDefaults_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.edition_defaults" + FieldOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.features" + FieldOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.FieldOptions. +const ( + FieldOptions_Ctype_field_number protoreflect.FieldNumber = 1 + FieldOptions_Packed_field_number protoreflect.FieldNumber = 2 + FieldOptions_Jstype_field_number protoreflect.FieldNumber = 6 + FieldOptions_Lazy_field_number protoreflect.FieldNumber = 5 + FieldOptions_UnverifiedLazy_field_number protoreflect.FieldNumber = 15 + FieldOptions_Deprecated_field_number protoreflect.FieldNumber = 3 + FieldOptions_Weak_field_number protoreflect.FieldNumber = 10 + FieldOptions_DebugRedact_field_number protoreflect.FieldNumber = 16 + FieldOptions_Retention_field_number protoreflect.FieldNumber = 17 + FieldOptions_Targets_field_number protoreflect.FieldNumber = 19 + FieldOptions_EditionDefaults_field_number protoreflect.FieldNumber = 20 + FieldOptions_Features_field_number protoreflect.FieldNumber = 21 + FieldOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Full and short names for google.protobuf.FieldOptions.CType. +const ( + FieldOptions_CType_enum_fullname = "google.protobuf.FieldOptions.CType" + FieldOptions_CType_enum_name = "CType" +) + +// Full and short names for google.protobuf.FieldOptions.JSType. +const ( + FieldOptions_JSType_enum_fullname = "google.protobuf.FieldOptions.JSType" + FieldOptions_JSType_enum_name = "JSType" +) + +// Full and short names for google.protobuf.FieldOptions.OptionRetention. +const ( + FieldOptions_OptionRetention_enum_fullname = "google.protobuf.FieldOptions.OptionRetention" + FieldOptions_OptionRetention_enum_name = "OptionRetention" +) + +// Full and short names for google.protobuf.FieldOptions.OptionTargetType. +const ( + FieldOptions_OptionTargetType_enum_fullname = "google.protobuf.FieldOptions.OptionTargetType" + FieldOptions_OptionTargetType_enum_name = "OptionTargetType" +) + +// Names for google.protobuf.FieldOptions.EditionDefault. +const ( + FieldOptions_EditionDefault_message_name protoreflect.Name = "EditionDefault" + FieldOptions_EditionDefault_message_fullname protoreflect.FullName = "google.protobuf.FieldOptions.EditionDefault" +) + +// Field names for google.protobuf.FieldOptions.EditionDefault. +const ( + FieldOptions_EditionDefault_Edition_field_name protoreflect.Name = "edition" + FieldOptions_EditionDefault_Value_field_name protoreflect.Name = "value" + + FieldOptions_EditionDefault_Edition_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.EditionDefault.edition" + FieldOptions_EditionDefault_Value_field_fullname protoreflect.FullName = "google.protobuf.FieldOptions.EditionDefault.value" +) + +// Field numbers for google.protobuf.FieldOptions.EditionDefault. +const ( + FieldOptions_EditionDefault_Edition_field_number protoreflect.FieldNumber = 3 + FieldOptions_EditionDefault_Value_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.OneofOptions. +const ( + OneofOptions_message_name protoreflect.Name = "OneofOptions" + OneofOptions_message_fullname protoreflect.FullName = "google.protobuf.OneofOptions" +) + +// Field names for google.protobuf.OneofOptions. +const ( + OneofOptions_Features_field_name protoreflect.Name = "features" + OneofOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + OneofOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.OneofOptions.features" + OneofOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.OneofOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.OneofOptions. +const ( + OneofOptions_Features_field_number protoreflect.FieldNumber = 1 + OneofOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.EnumOptions. +const ( + EnumOptions_message_name protoreflect.Name = "EnumOptions" + EnumOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumOptions" +) + +// Field names for google.protobuf.EnumOptions. +const ( + EnumOptions_AllowAlias_field_name protoreflect.Name = "allow_alias" + EnumOptions_Deprecated_field_name protoreflect.Name = "deprecated" + EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_name protoreflect.Name = "deprecated_legacy_json_field_conflicts" + EnumOptions_Features_field_name protoreflect.Name = "features" + EnumOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + EnumOptions_AllowAlias_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.allow_alias" + EnumOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated" + EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.deprecated_legacy_json_field_conflicts" + EnumOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.features" + EnumOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.EnumOptions. +const ( + EnumOptions_AllowAlias_field_number protoreflect.FieldNumber = 2 + EnumOptions_Deprecated_field_number protoreflect.FieldNumber = 3 + EnumOptions_DeprecatedLegacyJsonFieldConflicts_field_number protoreflect.FieldNumber = 6 + EnumOptions_Features_field_number protoreflect.FieldNumber = 7 + EnumOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.EnumValueOptions. +const ( + EnumValueOptions_message_name protoreflect.Name = "EnumValueOptions" + EnumValueOptions_message_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions" +) + +// Field names for google.protobuf.EnumValueOptions. +const ( + EnumValueOptions_Deprecated_field_name protoreflect.Name = "deprecated" + EnumValueOptions_Features_field_name protoreflect.Name = "features" + EnumValueOptions_DebugRedact_field_name protoreflect.Name = "debug_redact" + EnumValueOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + EnumValueOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.deprecated" + EnumValueOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.features" + EnumValueOptions_DebugRedact_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.debug_redact" + EnumValueOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.EnumValueOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.EnumValueOptions. +const ( + EnumValueOptions_Deprecated_field_number protoreflect.FieldNumber = 1 + EnumValueOptions_Features_field_number protoreflect.FieldNumber = 2 + EnumValueOptions_DebugRedact_field_number protoreflect.FieldNumber = 3 + EnumValueOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.ServiceOptions. +const ( + ServiceOptions_message_name protoreflect.Name = "ServiceOptions" + ServiceOptions_message_fullname protoreflect.FullName = "google.protobuf.ServiceOptions" +) + +// Field names for google.protobuf.ServiceOptions. +const ( + ServiceOptions_Features_field_name protoreflect.Name = "features" + ServiceOptions_Deprecated_field_name protoreflect.Name = "deprecated" + ServiceOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + ServiceOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.features" + ServiceOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.deprecated" + ServiceOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.ServiceOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.ServiceOptions. +const ( + ServiceOptions_Features_field_number protoreflect.FieldNumber = 34 + ServiceOptions_Deprecated_field_number protoreflect.FieldNumber = 33 + ServiceOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Names for google.protobuf.MethodOptions. +const ( + MethodOptions_message_name protoreflect.Name = "MethodOptions" + MethodOptions_message_fullname protoreflect.FullName = "google.protobuf.MethodOptions" +) + +// Field names for google.protobuf.MethodOptions. +const ( + MethodOptions_Deprecated_field_name protoreflect.Name = "deprecated" + MethodOptions_IdempotencyLevel_field_name protoreflect.Name = "idempotency_level" + MethodOptions_Features_field_name protoreflect.Name = "features" + MethodOptions_UninterpretedOption_field_name protoreflect.Name = "uninterpreted_option" + + MethodOptions_Deprecated_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.deprecated" + MethodOptions_IdempotencyLevel_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.idempotency_level" + MethodOptions_Features_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.features" + MethodOptions_UninterpretedOption_field_fullname protoreflect.FullName = "google.protobuf.MethodOptions.uninterpreted_option" +) + +// Field numbers for google.protobuf.MethodOptions. +const ( + MethodOptions_Deprecated_field_number protoreflect.FieldNumber = 33 + MethodOptions_IdempotencyLevel_field_number protoreflect.FieldNumber = 34 + MethodOptions_Features_field_number protoreflect.FieldNumber = 35 + MethodOptions_UninterpretedOption_field_number protoreflect.FieldNumber = 999 +) + +// Full and short names for google.protobuf.MethodOptions.IdempotencyLevel. +const ( + MethodOptions_IdempotencyLevel_enum_fullname = "google.protobuf.MethodOptions.IdempotencyLevel" + MethodOptions_IdempotencyLevel_enum_name = "IdempotencyLevel" +) + +// Names for google.protobuf.UninterpretedOption. +const ( + UninterpretedOption_message_name protoreflect.Name = "UninterpretedOption" + UninterpretedOption_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption" +) + +// Field names for google.protobuf.UninterpretedOption. +const ( + UninterpretedOption_Name_field_name protoreflect.Name = "name" + UninterpretedOption_IdentifierValue_field_name protoreflect.Name = "identifier_value" + UninterpretedOption_PositiveIntValue_field_name protoreflect.Name = "positive_int_value" + UninterpretedOption_NegativeIntValue_field_name protoreflect.Name = "negative_int_value" + UninterpretedOption_DoubleValue_field_name protoreflect.Name = "double_value" + UninterpretedOption_StringValue_field_name protoreflect.Name = "string_value" + UninterpretedOption_AggregateValue_field_name protoreflect.Name = "aggregate_value" + + UninterpretedOption_Name_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.name" + UninterpretedOption_IdentifierValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.identifier_value" + UninterpretedOption_PositiveIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.positive_int_value" + UninterpretedOption_NegativeIntValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.negative_int_value" + UninterpretedOption_DoubleValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.double_value" + UninterpretedOption_StringValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.string_value" + UninterpretedOption_AggregateValue_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.aggregate_value" +) + +// Field numbers for google.protobuf.UninterpretedOption. +const ( + UninterpretedOption_Name_field_number protoreflect.FieldNumber = 2 + UninterpretedOption_IdentifierValue_field_number protoreflect.FieldNumber = 3 + UninterpretedOption_PositiveIntValue_field_number protoreflect.FieldNumber = 4 + UninterpretedOption_NegativeIntValue_field_number protoreflect.FieldNumber = 5 + UninterpretedOption_DoubleValue_field_number protoreflect.FieldNumber = 6 + UninterpretedOption_StringValue_field_number protoreflect.FieldNumber = 7 + UninterpretedOption_AggregateValue_field_number protoreflect.FieldNumber = 8 +) + +// Names for google.protobuf.UninterpretedOption.NamePart. +const ( + UninterpretedOption_NamePart_message_name protoreflect.Name = "NamePart" + UninterpretedOption_NamePart_message_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart" +) + +// Field names for google.protobuf.UninterpretedOption.NamePart. +const ( + UninterpretedOption_NamePart_NamePart_field_name protoreflect.Name = "name_part" + UninterpretedOption_NamePart_IsExtension_field_name protoreflect.Name = "is_extension" + + UninterpretedOption_NamePart_NamePart_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.name_part" + UninterpretedOption_NamePart_IsExtension_field_fullname protoreflect.FullName = "google.protobuf.UninterpretedOption.NamePart.is_extension" +) + +// Field numbers for google.protobuf.UninterpretedOption.NamePart. +const ( + UninterpretedOption_NamePart_NamePart_field_number protoreflect.FieldNumber = 1 + UninterpretedOption_NamePart_IsExtension_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.FeatureSet. +const ( + FeatureSet_message_name protoreflect.Name = "FeatureSet" + FeatureSet_message_fullname protoreflect.FullName = "google.protobuf.FeatureSet" +) + +// Field names for google.protobuf.FeatureSet. +const ( + FeatureSet_FieldPresence_field_name protoreflect.Name = "field_presence" + FeatureSet_EnumType_field_name protoreflect.Name = "enum_type" + FeatureSet_RepeatedFieldEncoding_field_name protoreflect.Name = "repeated_field_encoding" + FeatureSet_Utf8Validation_field_name protoreflect.Name = "utf8_validation" + FeatureSet_MessageEncoding_field_name protoreflect.Name = "message_encoding" + FeatureSet_JsonFormat_field_name protoreflect.Name = "json_format" + + FeatureSet_FieldPresence_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.field_presence" + FeatureSet_EnumType_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.enum_type" + FeatureSet_RepeatedFieldEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.repeated_field_encoding" + FeatureSet_Utf8Validation_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.utf8_validation" + FeatureSet_MessageEncoding_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.message_encoding" + FeatureSet_JsonFormat_field_fullname protoreflect.FullName = "google.protobuf.FeatureSet.json_format" +) + +// Field numbers for google.protobuf.FeatureSet. +const ( + FeatureSet_FieldPresence_field_number protoreflect.FieldNumber = 1 + FeatureSet_EnumType_field_number protoreflect.FieldNumber = 2 + FeatureSet_RepeatedFieldEncoding_field_number protoreflect.FieldNumber = 3 + FeatureSet_Utf8Validation_field_number protoreflect.FieldNumber = 4 + FeatureSet_MessageEncoding_field_number protoreflect.FieldNumber = 5 + FeatureSet_JsonFormat_field_number protoreflect.FieldNumber = 6 +) + +// Full and short names for google.protobuf.FeatureSet.FieldPresence. +const ( + FeatureSet_FieldPresence_enum_fullname = "google.protobuf.FeatureSet.FieldPresence" + FeatureSet_FieldPresence_enum_name = "FieldPresence" +) + +// Full and short names for google.protobuf.FeatureSet.EnumType. +const ( + FeatureSet_EnumType_enum_fullname = "google.protobuf.FeatureSet.EnumType" + FeatureSet_EnumType_enum_name = "EnumType" +) + +// Full and short names for google.protobuf.FeatureSet.RepeatedFieldEncoding. +const ( + FeatureSet_RepeatedFieldEncoding_enum_fullname = "google.protobuf.FeatureSet.RepeatedFieldEncoding" + FeatureSet_RepeatedFieldEncoding_enum_name = "RepeatedFieldEncoding" +) + +// Full and short names for google.protobuf.FeatureSet.Utf8Validation. +const ( + FeatureSet_Utf8Validation_enum_fullname = "google.protobuf.FeatureSet.Utf8Validation" + FeatureSet_Utf8Validation_enum_name = "Utf8Validation" +) + +// Full and short names for google.protobuf.FeatureSet.MessageEncoding. +const ( + FeatureSet_MessageEncoding_enum_fullname = "google.protobuf.FeatureSet.MessageEncoding" + FeatureSet_MessageEncoding_enum_name = "MessageEncoding" +) + +// Full and short names for google.protobuf.FeatureSet.JsonFormat. +const ( + FeatureSet_JsonFormat_enum_fullname = "google.protobuf.FeatureSet.JsonFormat" + FeatureSet_JsonFormat_enum_name = "JsonFormat" +) + +// Names for google.protobuf.FeatureSetDefaults. +const ( + FeatureSetDefaults_message_name protoreflect.Name = "FeatureSetDefaults" + FeatureSetDefaults_message_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults" +) + +// Field names for google.protobuf.FeatureSetDefaults. +const ( + FeatureSetDefaults_Defaults_field_name protoreflect.Name = "defaults" + FeatureSetDefaults_MinimumEdition_field_name protoreflect.Name = "minimum_edition" + FeatureSetDefaults_MaximumEdition_field_name protoreflect.Name = "maximum_edition" + + FeatureSetDefaults_Defaults_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.defaults" + FeatureSetDefaults_MinimumEdition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.minimum_edition" + FeatureSetDefaults_MaximumEdition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.maximum_edition" +) + +// Field numbers for google.protobuf.FeatureSetDefaults. +const ( + FeatureSetDefaults_Defaults_field_number protoreflect.FieldNumber = 1 + FeatureSetDefaults_MinimumEdition_field_number protoreflect.FieldNumber = 4 + FeatureSetDefaults_MaximumEdition_field_number protoreflect.FieldNumber = 5 +) + +// Names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault. +const ( + FeatureSetDefaults_FeatureSetEditionDefault_message_name protoreflect.Name = "FeatureSetEditionDefault" + FeatureSetDefaults_FeatureSetEditionDefault_message_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault" +) + +// Field names for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault. +const ( + FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_name protoreflect.Name = "edition" + FeatureSetDefaults_FeatureSetEditionDefault_Features_field_name protoreflect.Name = "features" + + FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.edition" + FeatureSetDefaults_FeatureSetEditionDefault_Features_field_fullname protoreflect.FullName = "google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault.features" +) + +// Field numbers for google.protobuf.FeatureSetDefaults.FeatureSetEditionDefault. +const ( + FeatureSetDefaults_FeatureSetEditionDefault_Edition_field_number protoreflect.FieldNumber = 3 + FeatureSetDefaults_FeatureSetEditionDefault_Features_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.SourceCodeInfo. +const ( + SourceCodeInfo_message_name protoreflect.Name = "SourceCodeInfo" + SourceCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo" +) + +// Field names for google.protobuf.SourceCodeInfo. +const ( + SourceCodeInfo_Location_field_name protoreflect.Name = "location" + + SourceCodeInfo_Location_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.location" +) + +// Field numbers for google.protobuf.SourceCodeInfo. +const ( + SourceCodeInfo_Location_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.SourceCodeInfo.Location. +const ( + SourceCodeInfo_Location_message_name protoreflect.Name = "Location" + SourceCodeInfo_Location_message_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location" +) + +// Field names for google.protobuf.SourceCodeInfo.Location. +const ( + SourceCodeInfo_Location_Path_field_name protoreflect.Name = "path" + SourceCodeInfo_Location_Span_field_name protoreflect.Name = "span" + SourceCodeInfo_Location_LeadingComments_field_name protoreflect.Name = "leading_comments" + SourceCodeInfo_Location_TrailingComments_field_name protoreflect.Name = "trailing_comments" + SourceCodeInfo_Location_LeadingDetachedComments_field_name protoreflect.Name = "leading_detached_comments" + + SourceCodeInfo_Location_Path_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.path" + SourceCodeInfo_Location_Span_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.span" + SourceCodeInfo_Location_LeadingComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_comments" + SourceCodeInfo_Location_TrailingComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.trailing_comments" + SourceCodeInfo_Location_LeadingDetachedComments_field_fullname protoreflect.FullName = "google.protobuf.SourceCodeInfo.Location.leading_detached_comments" +) + +// Field numbers for google.protobuf.SourceCodeInfo.Location. +const ( + SourceCodeInfo_Location_Path_field_number protoreflect.FieldNumber = 1 + SourceCodeInfo_Location_Span_field_number protoreflect.FieldNumber = 2 + SourceCodeInfo_Location_LeadingComments_field_number protoreflect.FieldNumber = 3 + SourceCodeInfo_Location_TrailingComments_field_number protoreflect.FieldNumber = 4 + SourceCodeInfo_Location_LeadingDetachedComments_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.GeneratedCodeInfo. +const ( + GeneratedCodeInfo_message_name protoreflect.Name = "GeneratedCodeInfo" + GeneratedCodeInfo_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo" +) + +// Field names for google.protobuf.GeneratedCodeInfo. +const ( + GeneratedCodeInfo_Annotation_field_name protoreflect.Name = "annotation" + + GeneratedCodeInfo_Annotation_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.annotation" +) + +// Field numbers for google.protobuf.GeneratedCodeInfo. +const ( + GeneratedCodeInfo_Annotation_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.GeneratedCodeInfo.Annotation. +const ( + GeneratedCodeInfo_Annotation_message_name protoreflect.Name = "Annotation" + GeneratedCodeInfo_Annotation_message_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation" +) + +// Field names for google.protobuf.GeneratedCodeInfo.Annotation. +const ( + GeneratedCodeInfo_Annotation_Path_field_name protoreflect.Name = "path" + GeneratedCodeInfo_Annotation_SourceFile_field_name protoreflect.Name = "source_file" + GeneratedCodeInfo_Annotation_Begin_field_name protoreflect.Name = "begin" + GeneratedCodeInfo_Annotation_End_field_name protoreflect.Name = "end" + GeneratedCodeInfo_Annotation_Semantic_field_name protoreflect.Name = "semantic" + + GeneratedCodeInfo_Annotation_Path_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.path" + GeneratedCodeInfo_Annotation_SourceFile_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.source_file" + GeneratedCodeInfo_Annotation_Begin_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.begin" + GeneratedCodeInfo_Annotation_End_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.end" + GeneratedCodeInfo_Annotation_Semantic_field_fullname protoreflect.FullName = "google.protobuf.GeneratedCodeInfo.Annotation.semantic" +) + +// Field numbers for google.protobuf.GeneratedCodeInfo.Annotation. +const ( + GeneratedCodeInfo_Annotation_Path_field_number protoreflect.FieldNumber = 1 + GeneratedCodeInfo_Annotation_SourceFile_field_number protoreflect.FieldNumber = 2 + GeneratedCodeInfo_Annotation_Begin_field_number protoreflect.FieldNumber = 3 + GeneratedCodeInfo_Annotation_End_field_number protoreflect.FieldNumber = 4 + GeneratedCodeInfo_Annotation_Semantic_field_number protoreflect.FieldNumber = 5 +) + +// Full and short names for google.protobuf.GeneratedCodeInfo.Annotation.Semantic. +const ( + GeneratedCodeInfo_Annotation_Semantic_enum_fullname = "google.protobuf.GeneratedCodeInfo.Annotation.Semantic" + GeneratedCodeInfo_Annotation_Semantic_enum_name = "Semantic" +) diff --git a/api_next/internal/protojson/genid/doc.go b/api_next/internal/protojson/genid/doc.go new file mode 100644 index 00000000..45ccd012 --- /dev/null +++ b/api_next/internal/protojson/genid/doc.go @@ -0,0 +1,11 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package genid contains constants for declarations in descriptor.proto +// and the well-known types. +package genid + +import protoreflect "google.golang.org/protobuf/reflect/protoreflect" + +const GoogleProtobuf_package protoreflect.FullName = "google.protobuf" diff --git a/api_next/internal/protojson/genid/duration_gen.go b/api_next/internal/protojson/genid/duration_gen.go new file mode 100644 index 00000000..b070ef4f --- /dev/null +++ b/api_next/internal/protojson/genid/duration_gen.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_duration_proto = "google/protobuf/duration.proto" + +// Names for google.protobuf.Duration. +const ( + Duration_message_name protoreflect.Name = "Duration" + Duration_message_fullname protoreflect.FullName = "google.protobuf.Duration" +) + +// Field names for google.protobuf.Duration. +const ( + Duration_Seconds_field_name protoreflect.Name = "seconds" + Duration_Nanos_field_name protoreflect.Name = "nanos" + + Duration_Seconds_field_fullname protoreflect.FullName = "google.protobuf.Duration.seconds" + Duration_Nanos_field_fullname protoreflect.FullName = "google.protobuf.Duration.nanos" +) + +// Field numbers for google.protobuf.Duration. +const ( + Duration_Seconds_field_number protoreflect.FieldNumber = 1 + Duration_Nanos_field_number protoreflect.FieldNumber = 2 +) diff --git a/api_next/internal/protojson/genid/empty_gen.go b/api_next/internal/protojson/genid/empty_gen.go new file mode 100644 index 00000000..762abb34 --- /dev/null +++ b/api_next/internal/protojson/genid/empty_gen.go @@ -0,0 +1,19 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_empty_proto = "google/protobuf/empty.proto" + +// Names for google.protobuf.Empty. +const ( + Empty_message_name protoreflect.Name = "Empty" + Empty_message_fullname protoreflect.FullName = "google.protobuf.Empty" +) diff --git a/api_next/internal/protojson/genid/field_mask_gen.go b/api_next/internal/protojson/genid/field_mask_gen.go new file mode 100644 index 00000000..70bed453 --- /dev/null +++ b/api_next/internal/protojson/genid/field_mask_gen.go @@ -0,0 +1,31 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_field_mask_proto = "google/protobuf/field_mask.proto" + +// Names for google.protobuf.FieldMask. +const ( + FieldMask_message_name protoreflect.Name = "FieldMask" + FieldMask_message_fullname protoreflect.FullName = "google.protobuf.FieldMask" +) + +// Field names for google.protobuf.FieldMask. +const ( + FieldMask_Paths_field_name protoreflect.Name = "paths" + + FieldMask_Paths_field_fullname protoreflect.FullName = "google.protobuf.FieldMask.paths" +) + +// Field numbers for google.protobuf.FieldMask. +const ( + FieldMask_Paths_field_number protoreflect.FieldNumber = 1 +) diff --git a/api_next/internal/protojson/genid/goname.go b/api_next/internal/protojson/genid/goname.go new file mode 100644 index 00000000..693d2e9e --- /dev/null +++ b/api_next/internal/protojson/genid/goname.go @@ -0,0 +1,25 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package genid + +// Go names of implementation-specific struct fields in generated messages. +const ( + State_goname = "state" + + SizeCache_goname = "sizeCache" + SizeCacheA_goname = "XXX_sizecache" + + WeakFields_goname = "weakFields" + WeakFieldsA_goname = "XXX_weak" + + UnknownFields_goname = "unknownFields" + UnknownFieldsA_goname = "XXX_unrecognized" + + ExtensionFields_goname = "extensionFields" + ExtensionFieldsA_goname = "XXX_InternalExtensions" + ExtensionFieldsB_goname = "XXX_extensions" + + WeakFieldPrefix_goname = "XXX_weak_" +) diff --git a/api_next/internal/protojson/genid/map_entry.go b/api_next/internal/protojson/genid/map_entry.go new file mode 100644 index 00000000..8f9ea02f --- /dev/null +++ b/api_next/internal/protojson/genid/map_entry.go @@ -0,0 +1,16 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package genid + +import protoreflect "google.golang.org/protobuf/reflect/protoreflect" + +// Generic field names and numbers for synthetic map entry messages. +const ( + MapEntry_Key_field_name protoreflect.Name = "key" + MapEntry_Value_field_name protoreflect.Name = "value" + + MapEntry_Key_field_number protoreflect.FieldNumber = 1 + MapEntry_Value_field_number protoreflect.FieldNumber = 2 +) diff --git a/api_next/internal/protojson/genid/source_context_gen.go b/api_next/internal/protojson/genid/source_context_gen.go new file mode 100644 index 00000000..3e99ae16 --- /dev/null +++ b/api_next/internal/protojson/genid/source_context_gen.go @@ -0,0 +1,31 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_source_context_proto = "google/protobuf/source_context.proto" + +// Names for google.protobuf.SourceContext. +const ( + SourceContext_message_name protoreflect.Name = "SourceContext" + SourceContext_message_fullname protoreflect.FullName = "google.protobuf.SourceContext" +) + +// Field names for google.protobuf.SourceContext. +const ( + SourceContext_FileName_field_name protoreflect.Name = "file_name" + + SourceContext_FileName_field_fullname protoreflect.FullName = "google.protobuf.SourceContext.file_name" +) + +// Field numbers for google.protobuf.SourceContext. +const ( + SourceContext_FileName_field_number protoreflect.FieldNumber = 1 +) diff --git a/api_next/internal/protojson/genid/struct_gen.go b/api_next/internal/protojson/genid/struct_gen.go new file mode 100644 index 00000000..1a38944b --- /dev/null +++ b/api_next/internal/protojson/genid/struct_gen.go @@ -0,0 +1,116 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_struct_proto = "google/protobuf/struct.proto" + +// Full and short names for google.protobuf.NullValue. +const ( + NullValue_enum_fullname = "google.protobuf.NullValue" + NullValue_enum_name = "NullValue" +) + +// Names for google.protobuf.Struct. +const ( + Struct_message_name protoreflect.Name = "Struct" + Struct_message_fullname protoreflect.FullName = "google.protobuf.Struct" +) + +// Field names for google.protobuf.Struct. +const ( + Struct_Fields_field_name protoreflect.Name = "fields" + + Struct_Fields_field_fullname protoreflect.FullName = "google.protobuf.Struct.fields" +) + +// Field numbers for google.protobuf.Struct. +const ( + Struct_Fields_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.Struct.FieldsEntry. +const ( + Struct_FieldsEntry_message_name protoreflect.Name = "FieldsEntry" + Struct_FieldsEntry_message_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry" +) + +// Field names for google.protobuf.Struct.FieldsEntry. +const ( + Struct_FieldsEntry_Key_field_name protoreflect.Name = "key" + Struct_FieldsEntry_Value_field_name protoreflect.Name = "value" + + Struct_FieldsEntry_Key_field_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry.key" + Struct_FieldsEntry_Value_field_fullname protoreflect.FullName = "google.protobuf.Struct.FieldsEntry.value" +) + +// Field numbers for google.protobuf.Struct.FieldsEntry. +const ( + Struct_FieldsEntry_Key_field_number protoreflect.FieldNumber = 1 + Struct_FieldsEntry_Value_field_number protoreflect.FieldNumber = 2 +) + +// Names for google.protobuf.Value. +const ( + Value_message_name protoreflect.Name = "Value" + Value_message_fullname protoreflect.FullName = "google.protobuf.Value" +) + +// Field names for google.protobuf.Value. +const ( + Value_NullValue_field_name protoreflect.Name = "null_value" + Value_NumberValue_field_name protoreflect.Name = "number_value" + Value_StringValue_field_name protoreflect.Name = "string_value" + Value_BoolValue_field_name protoreflect.Name = "bool_value" + Value_StructValue_field_name protoreflect.Name = "struct_value" + Value_ListValue_field_name protoreflect.Name = "list_value" + + Value_NullValue_field_fullname protoreflect.FullName = "google.protobuf.Value.null_value" + Value_NumberValue_field_fullname protoreflect.FullName = "google.protobuf.Value.number_value" + Value_StringValue_field_fullname protoreflect.FullName = "google.protobuf.Value.string_value" + Value_BoolValue_field_fullname protoreflect.FullName = "google.protobuf.Value.bool_value" + Value_StructValue_field_fullname protoreflect.FullName = "google.protobuf.Value.struct_value" + Value_ListValue_field_fullname protoreflect.FullName = "google.protobuf.Value.list_value" +) + +// Field numbers for google.protobuf.Value. +const ( + Value_NullValue_field_number protoreflect.FieldNumber = 1 + Value_NumberValue_field_number protoreflect.FieldNumber = 2 + Value_StringValue_field_number protoreflect.FieldNumber = 3 + Value_BoolValue_field_number protoreflect.FieldNumber = 4 + Value_StructValue_field_number protoreflect.FieldNumber = 5 + Value_ListValue_field_number protoreflect.FieldNumber = 6 +) + +// Oneof names for google.protobuf.Value. +const ( + Value_Kind_oneof_name protoreflect.Name = "kind" + + Value_Kind_oneof_fullname protoreflect.FullName = "google.protobuf.Value.kind" +) + +// Names for google.protobuf.ListValue. +const ( + ListValue_message_name protoreflect.Name = "ListValue" + ListValue_message_fullname protoreflect.FullName = "google.protobuf.ListValue" +) + +// Field names for google.protobuf.ListValue. +const ( + ListValue_Values_field_name protoreflect.Name = "values" + + ListValue_Values_field_fullname protoreflect.FullName = "google.protobuf.ListValue.values" +) + +// Field numbers for google.protobuf.ListValue. +const ( + ListValue_Values_field_number protoreflect.FieldNumber = 1 +) diff --git a/api_next/internal/protojson/genid/timestamp_gen.go b/api_next/internal/protojson/genid/timestamp_gen.go new file mode 100644 index 00000000..f5cd5634 --- /dev/null +++ b/api_next/internal/protojson/genid/timestamp_gen.go @@ -0,0 +1,34 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_timestamp_proto = "google/protobuf/timestamp.proto" + +// Names for google.protobuf.Timestamp. +const ( + Timestamp_message_name protoreflect.Name = "Timestamp" + Timestamp_message_fullname protoreflect.FullName = "google.protobuf.Timestamp" +) + +// Field names for google.protobuf.Timestamp. +const ( + Timestamp_Seconds_field_name protoreflect.Name = "seconds" + Timestamp_Nanos_field_name protoreflect.Name = "nanos" + + Timestamp_Seconds_field_fullname protoreflect.FullName = "google.protobuf.Timestamp.seconds" + Timestamp_Nanos_field_fullname protoreflect.FullName = "google.protobuf.Timestamp.nanos" +) + +// Field numbers for google.protobuf.Timestamp. +const ( + Timestamp_Seconds_field_number protoreflect.FieldNumber = 1 + Timestamp_Nanos_field_number protoreflect.FieldNumber = 2 +) diff --git a/api_next/internal/protojson/genid/type_gen.go b/api_next/internal/protojson/genid/type_gen.go new file mode 100644 index 00000000..e0f75fea --- /dev/null +++ b/api_next/internal/protojson/genid/type_gen.go @@ -0,0 +1,190 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_type_proto = "google/protobuf/type.proto" + +// Full and short names for google.protobuf.Syntax. +const ( + Syntax_enum_fullname = "google.protobuf.Syntax" + Syntax_enum_name = "Syntax" +) + +// Names for google.protobuf.Type. +const ( + Type_message_name protoreflect.Name = "Type" + Type_message_fullname protoreflect.FullName = "google.protobuf.Type" +) + +// Field names for google.protobuf.Type. +const ( + Type_Name_field_name protoreflect.Name = "name" + Type_Fields_field_name protoreflect.Name = "fields" + Type_Oneofs_field_name protoreflect.Name = "oneofs" + Type_Options_field_name protoreflect.Name = "options" + Type_SourceContext_field_name protoreflect.Name = "source_context" + Type_Syntax_field_name protoreflect.Name = "syntax" + Type_Edition_field_name protoreflect.Name = "edition" + + Type_Name_field_fullname protoreflect.FullName = "google.protobuf.Type.name" + Type_Fields_field_fullname protoreflect.FullName = "google.protobuf.Type.fields" + Type_Oneofs_field_fullname protoreflect.FullName = "google.protobuf.Type.oneofs" + Type_Options_field_fullname protoreflect.FullName = "google.protobuf.Type.options" + Type_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Type.source_context" + Type_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Type.syntax" + Type_Edition_field_fullname protoreflect.FullName = "google.protobuf.Type.edition" +) + +// Field numbers for google.protobuf.Type. +const ( + Type_Name_field_number protoreflect.FieldNumber = 1 + Type_Fields_field_number protoreflect.FieldNumber = 2 + Type_Oneofs_field_number protoreflect.FieldNumber = 3 + Type_Options_field_number protoreflect.FieldNumber = 4 + Type_SourceContext_field_number protoreflect.FieldNumber = 5 + Type_Syntax_field_number protoreflect.FieldNumber = 6 + Type_Edition_field_number protoreflect.FieldNumber = 7 +) + +// Names for google.protobuf.Field. +const ( + Field_message_name protoreflect.Name = "Field" + Field_message_fullname protoreflect.FullName = "google.protobuf.Field" +) + +// Field names for google.protobuf.Field. +const ( + Field_Kind_field_name protoreflect.Name = "kind" + Field_Cardinality_field_name protoreflect.Name = "cardinality" + Field_Number_field_name protoreflect.Name = "number" + Field_Name_field_name protoreflect.Name = "name" + Field_TypeUrl_field_name protoreflect.Name = "type_url" + Field_OneofIndex_field_name protoreflect.Name = "oneof_index" + Field_Packed_field_name protoreflect.Name = "packed" + Field_Options_field_name protoreflect.Name = "options" + Field_JsonName_field_name protoreflect.Name = "json_name" + Field_DefaultValue_field_name protoreflect.Name = "default_value" + + Field_Kind_field_fullname protoreflect.FullName = "google.protobuf.Field.kind" + Field_Cardinality_field_fullname protoreflect.FullName = "google.protobuf.Field.cardinality" + Field_Number_field_fullname protoreflect.FullName = "google.protobuf.Field.number" + Field_Name_field_fullname protoreflect.FullName = "google.protobuf.Field.name" + Field_TypeUrl_field_fullname protoreflect.FullName = "google.protobuf.Field.type_url" + Field_OneofIndex_field_fullname protoreflect.FullName = "google.protobuf.Field.oneof_index" + Field_Packed_field_fullname protoreflect.FullName = "google.protobuf.Field.packed" + Field_Options_field_fullname protoreflect.FullName = "google.protobuf.Field.options" + Field_JsonName_field_fullname protoreflect.FullName = "google.protobuf.Field.json_name" + Field_DefaultValue_field_fullname protoreflect.FullName = "google.protobuf.Field.default_value" +) + +// Field numbers for google.protobuf.Field. +const ( + Field_Kind_field_number protoreflect.FieldNumber = 1 + Field_Cardinality_field_number protoreflect.FieldNumber = 2 + Field_Number_field_number protoreflect.FieldNumber = 3 + Field_Name_field_number protoreflect.FieldNumber = 4 + Field_TypeUrl_field_number protoreflect.FieldNumber = 6 + Field_OneofIndex_field_number protoreflect.FieldNumber = 7 + Field_Packed_field_number protoreflect.FieldNumber = 8 + Field_Options_field_number protoreflect.FieldNumber = 9 + Field_JsonName_field_number protoreflect.FieldNumber = 10 + Field_DefaultValue_field_number protoreflect.FieldNumber = 11 +) + +// Full and short names for google.protobuf.Field.Kind. +const ( + Field_Kind_enum_fullname = "google.protobuf.Field.Kind" + Field_Kind_enum_name = "Kind" +) + +// Full and short names for google.protobuf.Field.Cardinality. +const ( + Field_Cardinality_enum_fullname = "google.protobuf.Field.Cardinality" + Field_Cardinality_enum_name = "Cardinality" +) + +// Names for google.protobuf.Enum. +const ( + Enum_message_name protoreflect.Name = "Enum" + Enum_message_fullname protoreflect.FullName = "google.protobuf.Enum" +) + +// Field names for google.protobuf.Enum. +const ( + Enum_Name_field_name protoreflect.Name = "name" + Enum_Enumvalue_field_name protoreflect.Name = "enumvalue" + Enum_Options_field_name protoreflect.Name = "options" + Enum_SourceContext_field_name protoreflect.Name = "source_context" + Enum_Syntax_field_name protoreflect.Name = "syntax" + Enum_Edition_field_name protoreflect.Name = "edition" + + Enum_Name_field_fullname protoreflect.FullName = "google.protobuf.Enum.name" + Enum_Enumvalue_field_fullname protoreflect.FullName = "google.protobuf.Enum.enumvalue" + Enum_Options_field_fullname protoreflect.FullName = "google.protobuf.Enum.options" + Enum_SourceContext_field_fullname protoreflect.FullName = "google.protobuf.Enum.source_context" + Enum_Syntax_field_fullname protoreflect.FullName = "google.protobuf.Enum.syntax" + Enum_Edition_field_fullname protoreflect.FullName = "google.protobuf.Enum.edition" +) + +// Field numbers for google.protobuf.Enum. +const ( + Enum_Name_field_number protoreflect.FieldNumber = 1 + Enum_Enumvalue_field_number protoreflect.FieldNumber = 2 + Enum_Options_field_number protoreflect.FieldNumber = 3 + Enum_SourceContext_field_number protoreflect.FieldNumber = 4 + Enum_Syntax_field_number protoreflect.FieldNumber = 5 + Enum_Edition_field_number protoreflect.FieldNumber = 6 +) + +// Names for google.protobuf.EnumValue. +const ( + EnumValue_message_name protoreflect.Name = "EnumValue" + EnumValue_message_fullname protoreflect.FullName = "google.protobuf.EnumValue" +) + +// Field names for google.protobuf.EnumValue. +const ( + EnumValue_Name_field_name protoreflect.Name = "name" + EnumValue_Number_field_name protoreflect.Name = "number" + EnumValue_Options_field_name protoreflect.Name = "options" + + EnumValue_Name_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.name" + EnumValue_Number_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.number" + EnumValue_Options_field_fullname protoreflect.FullName = "google.protobuf.EnumValue.options" +) + +// Field numbers for google.protobuf.EnumValue. +const ( + EnumValue_Name_field_number protoreflect.FieldNumber = 1 + EnumValue_Number_field_number protoreflect.FieldNumber = 2 + EnumValue_Options_field_number protoreflect.FieldNumber = 3 +) + +// Names for google.protobuf.Option. +const ( + Option_message_name protoreflect.Name = "Option" + Option_message_fullname protoreflect.FullName = "google.protobuf.Option" +) + +// Field names for google.protobuf.Option. +const ( + Option_Name_field_name protoreflect.Name = "name" + Option_Value_field_name protoreflect.Name = "value" + + Option_Name_field_fullname protoreflect.FullName = "google.protobuf.Option.name" + Option_Value_field_fullname protoreflect.FullName = "google.protobuf.Option.value" +) + +// Field numbers for google.protobuf.Option. +const ( + Option_Name_field_number protoreflect.FieldNumber = 1 + Option_Value_field_number protoreflect.FieldNumber = 2 +) diff --git a/api_next/internal/protojson/genid/wrappers.go b/api_next/internal/protojson/genid/wrappers.go new file mode 100644 index 00000000..429384b8 --- /dev/null +++ b/api_next/internal/protojson/genid/wrappers.go @@ -0,0 +1,13 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package genid + +import protoreflect "google.golang.org/protobuf/reflect/protoreflect" + +// Generic field name and number for messages in wrappers.proto. +const ( + WrapperValue_Value_field_name protoreflect.Name = "value" + WrapperValue_Value_field_number protoreflect.FieldNumber = 1 +) diff --git a/api_next/internal/protojson/genid/wrappers_gen.go b/api_next/internal/protojson/genid/wrappers_gen.go new file mode 100644 index 00000000..72527d2a --- /dev/null +++ b/api_next/internal/protojson/genid/wrappers_gen.go @@ -0,0 +1,175 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by generate-protos. DO NOT EDIT. + +package genid + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" +) + +const File_google_protobuf_wrappers_proto = "google/protobuf/wrappers.proto" + +// Names for google.protobuf.DoubleValue. +const ( + DoubleValue_message_name protoreflect.Name = "DoubleValue" + DoubleValue_message_fullname protoreflect.FullName = "google.protobuf.DoubleValue" +) + +// Field names for google.protobuf.DoubleValue. +const ( + DoubleValue_Value_field_name protoreflect.Name = "value" + + DoubleValue_Value_field_fullname protoreflect.FullName = "google.protobuf.DoubleValue.value" +) + +// Field numbers for google.protobuf.DoubleValue. +const ( + DoubleValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.FloatValue. +const ( + FloatValue_message_name protoreflect.Name = "FloatValue" + FloatValue_message_fullname protoreflect.FullName = "google.protobuf.FloatValue" +) + +// Field names for google.protobuf.FloatValue. +const ( + FloatValue_Value_field_name protoreflect.Name = "value" + + FloatValue_Value_field_fullname protoreflect.FullName = "google.protobuf.FloatValue.value" +) + +// Field numbers for google.protobuf.FloatValue. +const ( + FloatValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.Int64Value. +const ( + Int64Value_message_name protoreflect.Name = "Int64Value" + Int64Value_message_fullname protoreflect.FullName = "google.protobuf.Int64Value" +) + +// Field names for google.protobuf.Int64Value. +const ( + Int64Value_Value_field_name protoreflect.Name = "value" + + Int64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int64Value.value" +) + +// Field numbers for google.protobuf.Int64Value. +const ( + Int64Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.UInt64Value. +const ( + UInt64Value_message_name protoreflect.Name = "UInt64Value" + UInt64Value_message_fullname protoreflect.FullName = "google.protobuf.UInt64Value" +) + +// Field names for google.protobuf.UInt64Value. +const ( + UInt64Value_Value_field_name protoreflect.Name = "value" + + UInt64Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt64Value.value" +) + +// Field numbers for google.protobuf.UInt64Value. +const ( + UInt64Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.Int32Value. +const ( + Int32Value_message_name protoreflect.Name = "Int32Value" + Int32Value_message_fullname protoreflect.FullName = "google.protobuf.Int32Value" +) + +// Field names for google.protobuf.Int32Value. +const ( + Int32Value_Value_field_name protoreflect.Name = "value" + + Int32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.Int32Value.value" +) + +// Field numbers for google.protobuf.Int32Value. +const ( + Int32Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.UInt32Value. +const ( + UInt32Value_message_name protoreflect.Name = "UInt32Value" + UInt32Value_message_fullname protoreflect.FullName = "google.protobuf.UInt32Value" +) + +// Field names for google.protobuf.UInt32Value. +const ( + UInt32Value_Value_field_name protoreflect.Name = "value" + + UInt32Value_Value_field_fullname protoreflect.FullName = "google.protobuf.UInt32Value.value" +) + +// Field numbers for google.protobuf.UInt32Value. +const ( + UInt32Value_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.BoolValue. +const ( + BoolValue_message_name protoreflect.Name = "BoolValue" + BoolValue_message_fullname protoreflect.FullName = "google.protobuf.BoolValue" +) + +// Field names for google.protobuf.BoolValue. +const ( + BoolValue_Value_field_name protoreflect.Name = "value" + + BoolValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BoolValue.value" +) + +// Field numbers for google.protobuf.BoolValue. +const ( + BoolValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.StringValue. +const ( + StringValue_message_name protoreflect.Name = "StringValue" + StringValue_message_fullname protoreflect.FullName = "google.protobuf.StringValue" +) + +// Field names for google.protobuf.StringValue. +const ( + StringValue_Value_field_name protoreflect.Name = "value" + + StringValue_Value_field_fullname protoreflect.FullName = "google.protobuf.StringValue.value" +) + +// Field numbers for google.protobuf.StringValue. +const ( + StringValue_Value_field_number protoreflect.FieldNumber = 1 +) + +// Names for google.protobuf.BytesValue. +const ( + BytesValue_message_name protoreflect.Name = "BytesValue" + BytesValue_message_fullname protoreflect.FullName = "google.protobuf.BytesValue" +) + +// Field names for google.protobuf.BytesValue. +const ( + BytesValue_Value_field_name protoreflect.Name = "value" + + BytesValue_Value_field_fullname protoreflect.FullName = "google.protobuf.BytesValue.value" +) + +// Field numbers for google.protobuf.BytesValue. +const ( + BytesValue_Value_field_number protoreflect.FieldNumber = 1 +) diff --git a/api_next/internal/protojson/json/decode.go b/api_next/internal/protojson/json/decode.go new file mode 100644 index 00000000..cc791e42 --- /dev/null +++ b/api_next/internal/protojson/json/decode.go @@ -0,0 +1,340 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "bytes" + "fmt" + "io" + "regexp" + "unicode/utf8" + + "go.temporal.io/api/internal/protojson/errors" +) + +// call specifies which Decoder method was invoked. +type call uint8 + +const ( + readCall call = iota + peekCall +) + +const unexpectedFmt = "unexpected token %s" + +// ErrUnexpectedEOF means that EOF was encountered in the middle of the input. +var ErrUnexpectedEOF = errors.New("%v", io.ErrUnexpectedEOF) + +// Decoder is a token-based JSON decoder. +type Decoder struct { + // lastCall is last method called, either readCall or peekCall. + // Initial value is readCall. + lastCall call + + // lastToken contains the last read token. + lastToken Token + + // lastErr contains the last read error. + lastErr error + + // openStack is a stack containing ObjectOpen and ArrayOpen values. The + // top of stack represents the object or the array the current value is + // directly located in. + openStack []Kind + + // orig is used in reporting line and column. + orig []byte + // in contains the unconsumed input. + in []byte +} + +// NewDecoder returns a Decoder to read the given []byte. +func NewDecoder(b []byte) *Decoder { + return &Decoder{orig: b, in: b} +} + +// Peek looks ahead and returns the next token kind without advancing a read. +func (d *Decoder) Peek() (Token, error) { + defer func() { d.lastCall = peekCall }() + if d.lastCall == readCall { + d.lastToken, d.lastErr = d.Read() + } + return d.lastToken, d.lastErr +} + +// Read returns the next JSON token. +// It will return an error if there is no valid token. +func (d *Decoder) Read() (Token, error) { + const scalar = Null | Bool | Number | String + + defer func() { d.lastCall = readCall }() + if d.lastCall == peekCall { + return d.lastToken, d.lastErr + } + + tok, err := d.parseNext() + if err != nil { + return Token{}, err + } + + switch tok.kind { + case EOF: + if len(d.openStack) != 0 || + d.lastToken.kind&scalar|ObjectClose|ArrayClose == 0 { + return Token{}, ErrUnexpectedEOF + } + + case Null: + if !d.isValueNext() { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + + case Bool, Number: + if !d.isValueNext() { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + + case String: + if d.isValueNext() { + break + } + // This string token should only be for a field name. + if d.lastToken.kind&(ObjectOpen|comma) == 0 { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + if len(d.in) == 0 { + return Token{}, ErrUnexpectedEOF + } + if c := d.in[0]; c != ':' { + return Token{}, d.newSyntaxError(d.currPos(), `unexpected character %s, missing ":" after field name`, string(c)) + } + tok.kind = Name + d.consume(1) + + case ObjectOpen, ArrayOpen: + if !d.isValueNext() { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + d.openStack = append(d.openStack, tok.kind) + + case ObjectClose: + if len(d.openStack) == 0 || + d.lastToken.kind&(Name|comma) != 0 || + d.openStack[len(d.openStack)-1] != ObjectOpen { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + d.openStack = d.openStack[:len(d.openStack)-1] + + case ArrayClose: + if len(d.openStack) == 0 || + d.lastToken.kind == comma || + d.openStack[len(d.openStack)-1] != ArrayOpen { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + d.openStack = d.openStack[:len(d.openStack)-1] + + case comma: + if len(d.openStack) == 0 || + d.lastToken.kind&(scalar|ObjectClose|ArrayClose) == 0 { + return Token{}, d.newSyntaxError(tok.pos, unexpectedFmt, tok.RawString()) + } + } + + // Update d.lastToken only after validating token to be in the right sequence. + d.lastToken = tok + + if d.lastToken.kind == comma { + return d.Read() + } + return tok, nil +} + +// Any sequence that looks like a non-delimiter (for error reporting). +var errRegexp = regexp.MustCompile(`^([-+._a-zA-Z0-9]{1,32}|.)`) + +// parseNext parses for the next JSON token. It returns a Token object for +// different types, except for Name. It does not handle whether the next token +// is in a valid sequence or not. +func (d *Decoder) parseNext() (Token, error) { + // Trim leading spaces. + d.consume(0) + + in := d.in + if len(in) == 0 { + return d.consumeToken(EOF, 0), nil + } + + switch in[0] { + case 'n': + if n := matchWithDelim("null", in); n != 0 { + return d.consumeToken(Null, n), nil + } + + case 't': + if n := matchWithDelim("true", in); n != 0 { + return d.consumeBoolToken(true, n), nil + } + + case 'f': + if n := matchWithDelim("false", in); n != 0 { + return d.consumeBoolToken(false, n), nil + } + + case '-', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + if n, ok := parseNumber(in); ok { + return d.consumeToken(Number, n), nil + } + + case '"': + s, n, err := d.parseString(in) + if err != nil { + return Token{}, err + } + return d.consumeStringToken(s, n), nil + + case '{': + return d.consumeToken(ObjectOpen, 1), nil + + case '}': + return d.consumeToken(ObjectClose, 1), nil + + case '[': + return d.consumeToken(ArrayOpen, 1), nil + + case ']': + return d.consumeToken(ArrayClose, 1), nil + + case ',': + return d.consumeToken(comma, 1), nil + } + return Token{}, d.newSyntaxError(d.currPos(), "invalid value %s", errRegexp.Find(in)) +} + +// newSyntaxError returns an error with line and column information useful for +// syntax errors. +func (d *Decoder) newSyntaxError(pos int, f string, x ...interface{}) error { + e := errors.New(f, x...) + line, column := d.Position(pos) + return errors.New("syntax error (line %d:%d): %v", line, column, e) +} + +// Position returns line and column number of given index of the original input. +// It will panic if index is out of range. +func (d *Decoder) Position(idx int) (line int, column int) { + b := d.orig[:idx] + line = bytes.Count(b, []byte("\n")) + 1 + if i := bytes.LastIndexByte(b, '\n'); i >= 0 { + b = b[i+1:] + } + column = utf8.RuneCount(b) + 1 // ignore multi-rune characters + return line, column +} + +// currPos returns the current index position of d.in from d.orig. +func (d *Decoder) currPos() int { + return len(d.orig) - len(d.in) +} + +// matchWithDelim matches s with the input b and verifies that the match +// terminates with a delimiter of some form (e.g., r"[^-+_.a-zA-Z0-9]"). +// As a special case, EOF is considered a delimiter. It returns the length of s +// if there is a match, else 0. +func matchWithDelim(s string, b []byte) int { + if !bytes.HasPrefix(b, []byte(s)) { + return 0 + } + + n := len(s) + if n < len(b) && isNotDelim(b[n]) { + return 0 + } + return n +} + +// isNotDelim returns true if given byte is a not delimiter character. +func isNotDelim(c byte) bool { + return (c == '-' || c == '+' || c == '.' || c == '_' || + ('a' <= c && c <= 'z') || + ('A' <= c && c <= 'Z') || + ('0' <= c && c <= '9')) +} + +// consume consumes n bytes of input and any subsequent whitespace. +func (d *Decoder) consume(n int) { + d.in = d.in[n:] + for len(d.in) > 0 { + switch d.in[0] { + case ' ', '\n', '\r', '\t': + d.in = d.in[1:] + default: + return + } + } +} + +// isValueNext returns true if next type should be a JSON value: Null, +// Number, String or Bool. +func (d *Decoder) isValueNext() bool { + if len(d.openStack) == 0 { + return d.lastToken.kind == 0 + } + + start := d.openStack[len(d.openStack)-1] + switch start { + case ObjectOpen: + return d.lastToken.kind&Name != 0 + case ArrayOpen: + return d.lastToken.kind&(ArrayOpen|comma) != 0 + } + panic(fmt.Sprintf( + "unreachable logic in Decoder.isValueNext, lastToken.kind: %v, openStack: %v", + d.lastToken.kind, start)) +} + +// consumeToken constructs a Token for given Kind with raw value derived from +// current d.in and given size, and consumes the given size-length of it. +func (d *Decoder) consumeToken(kind Kind, size int) Token { + tok := Token{ + kind: kind, + raw: d.in[:size], + pos: len(d.orig) - len(d.in), + } + d.consume(size) + return tok +} + +// consumeBoolToken constructs a Token for a Bool kind with raw value derived from +// current d.in and given size. +func (d *Decoder) consumeBoolToken(b bool, size int) Token { + tok := Token{ + kind: Bool, + raw: d.in[:size], + pos: len(d.orig) - len(d.in), + boo: b, + } + d.consume(size) + return tok +} + +// consumeStringToken constructs a Token for a String kind with raw value derived +// from current d.in and given size. +func (d *Decoder) consumeStringToken(s string, size int) Token { + tok := Token{ + kind: String, + raw: d.in[:size], + pos: len(d.orig) - len(d.in), + str: s, + } + d.consume(size) + return tok +} + +// Clone returns a copy of the Decoder for use in reading ahead the next JSON +// object, array or other values without affecting current Decoder. +func (d *Decoder) Clone() *Decoder { + ret := *d + ret.openStack = append([]Kind(nil), ret.openStack...) + return &ret +} diff --git a/api_next/internal/protojson/json/decode_number.go b/api_next/internal/protojson/json/decode_number.go new file mode 100644 index 00000000..2999d713 --- /dev/null +++ b/api_next/internal/protojson/json/decode_number.go @@ -0,0 +1,254 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "bytes" + "strconv" +) + +// parseNumber reads the given []byte for a valid JSON number. If it is valid, +// it returns the number of bytes. Parsing logic follows the definition in +// https://tools.ietf.org/html/rfc7159#section-6, and is based off +// encoding/json.isValidNumber function. +func parseNumber(input []byte) (int, bool) { + var n int + + s := input + if len(s) == 0 { + return 0, false + } + + // Optional - + if s[0] == '-' { + s = s[1:] + n++ + if len(s) == 0 { + return 0, false + } + } + + // Digits + switch { + case s[0] == '0': + s = s[1:] + n++ + + case '1' <= s[0] && s[0] <= '9': + s = s[1:] + n++ + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + + default: + return 0, false + } + + // . followed by 1 or more digits. + if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { + s = s[2:] + n += 2 + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + } + + // e or E followed by an optional - or + and + // 1 or more digits. + if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { + s = s[1:] + n++ + if s[0] == '+' || s[0] == '-' { + s = s[1:] + n++ + if len(s) == 0 { + return 0, false + } + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + } + + // Check that next byte is a delimiter or it is at the end. + if n < len(input) && isNotDelim(input[n]) { + return 0, false + } + + return n, true +} + +// numberParts is the result of parsing out a valid JSON number. It contains +// the parts of a number. The parts are used for integer conversion. +type numberParts struct { + neg bool + intp []byte + frac []byte + exp []byte +} + +// parseNumber constructs numberParts from given []byte. The logic here is +// similar to consumeNumber above with the difference of having to construct +// numberParts. The slice fields in numberParts are subslices of the input. +func parseNumberParts(input []byte) (numberParts, bool) { + var neg bool + var intp []byte + var frac []byte + var exp []byte + + s := input + if len(s) == 0 { + return numberParts{}, false + } + + // Optional - + if s[0] == '-' { + neg = true + s = s[1:] + if len(s) == 0 { + return numberParts{}, false + } + } + + // Digits + switch { + case s[0] == '0': + // Skip first 0 and no need to store. + s = s[1:] + + case '1' <= s[0] && s[0] <= '9': + intp = s + n := 1 + s = s[1:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + intp = intp[:n] + + default: + return numberParts{}, false + } + + // . followed by 1 or more digits. + if len(s) >= 2 && s[0] == '.' && '0' <= s[1] && s[1] <= '9' { + frac = s[1:] + n := 1 + s = s[2:] + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + frac = frac[:n] + } + + // e or E followed by an optional - or + and + // 1 or more digits. + if len(s) >= 2 && (s[0] == 'e' || s[0] == 'E') { + s = s[1:] + exp = s + n := 0 + if s[0] == '+' || s[0] == '-' { + s = s[1:] + n++ + if len(s) == 0 { + return numberParts{}, false + } + } + for len(s) > 0 && '0' <= s[0] && s[0] <= '9' { + s = s[1:] + n++ + } + exp = exp[:n] + } + + return numberParts{ + neg: neg, + intp: intp, + frac: bytes.TrimRight(frac, "0"), // Remove unnecessary 0s to the right. + exp: exp, + }, true +} + +// normalizeToIntString returns an integer string in normal form without the +// E-notation for given numberParts. It will return false if it is not an +// integer or if the exponent exceeds than max/min int value. +func normalizeToIntString(n numberParts) (string, bool) { + intpSize := len(n.intp) + fracSize := len(n.frac) + + if intpSize == 0 && fracSize == 0 { + return "0", true + } + + var exp int + if len(n.exp) > 0 { + i, err := strconv.ParseInt(string(n.exp), 10, 32) + if err != nil { + return "", false + } + exp = int(i) + } + + var num []byte + if exp >= 0 { + // For positive E, shift fraction digits into integer part and also pad + // with zeroes as needed. + + // If there are more digits in fraction than the E value, then the + // number is not an integer. + if fracSize > exp { + return "", false + } + + // Make sure resulting digits are within max value limit to avoid + // unnecessarily constructing a large byte slice that may simply fail + // later on. + const maxDigits = 20 // Max uint64 value has 20 decimal digits. + if intpSize+exp > maxDigits { + return "", false + } + + // Set cap to make a copy of integer part when appended. + num = n.intp[:len(n.intp):len(n.intp)] + num = append(num, n.frac...) + for i := 0; i < exp-fracSize; i++ { + num = append(num, '0') + } + } else { + // For negative E, shift digits in integer part out. + + // If there are fractions, then the number is not an integer. + if fracSize > 0 { + return "", false + } + + // index is where the decimal point will be after adjusting for negative + // exponent. + index := intpSize + exp + if index < 0 { + return "", false + } + + num = n.intp + // If any of the digits being shifted to the right of the decimal point + // is non-zero, then the number is not an integer. + for i := index; i < intpSize; i++ { + if num[i] != '0' { + return "", false + } + } + num = num[:index] + } + + if n.neg { + return "-" + string(num), true + } + return string(num), true +} diff --git a/api_next/internal/protojson/json/decode_string.go b/api_next/internal/protojson/json/decode_string.go new file mode 100644 index 00000000..4a2b745c --- /dev/null +++ b/api_next/internal/protojson/json/decode_string.go @@ -0,0 +1,91 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "strconv" + "unicode" + "unicode/utf16" + "unicode/utf8" + + "go.temporal.io/api/internal/protojson/strs" +) + +func (d *Decoder) parseString(in []byte) (string, int, error) { + in0 := in + if len(in) == 0 { + return "", 0, ErrUnexpectedEOF + } + if in[0] != '"' { + return "", 0, d.newSyntaxError(d.currPos(), "invalid character %q at start of string", in[0]) + } + in = in[1:] + i := indexNeedEscapeInBytes(in) + in, out := in[i:], in[:i:i] // set cap to prevent mutations + for len(in) > 0 { + switch r, n := utf8.DecodeRune(in); { + case r == utf8.RuneError && n == 1: + return "", 0, d.newSyntaxError(d.currPos(), "invalid UTF-8 in string") + case r < ' ': + return "", 0, d.newSyntaxError(d.currPos(), "invalid character %q in string", r) + case r == '"': + in = in[1:] + n := len(in0) - len(in) + return string(out), n, nil + case r == '\\': + if len(in) < 2 { + return "", 0, ErrUnexpectedEOF + } + switch r := in[1]; r { + case '"', '\\', '/': + in, out = in[2:], append(out, r) + case 'b': + in, out = in[2:], append(out, '\b') + case 'f': + in, out = in[2:], append(out, '\f') + case 'n': + in, out = in[2:], append(out, '\n') + case 'r': + in, out = in[2:], append(out, '\r') + case 't': + in, out = in[2:], append(out, '\t') + case 'u': + if len(in) < 6 { + return "", 0, ErrUnexpectedEOF + } + v, err := strconv.ParseUint(string(in[2:6]), 16, 16) + if err != nil { + return "", 0, d.newSyntaxError(d.currPos(), "invalid escape code %q in string", in[:6]) + } + in = in[6:] + + r := rune(v) + if utf16.IsSurrogate(r) { + if len(in) < 6 { + return "", 0, ErrUnexpectedEOF + } + v, err := strconv.ParseUint(string(in[2:6]), 16, 16) + r = utf16.DecodeRune(r, rune(v)) + if in[0] != '\\' || in[1] != 'u' || + r == unicode.ReplacementChar || err != nil { + return "", 0, d.newSyntaxError(d.currPos(), "invalid escape code %q in string", in[:6]) + } + in = in[6:] + } + out = append(out, string(r)...) + default: + return "", 0, d.newSyntaxError(d.currPos(), "invalid escape code %q in string", in[:2]) + } + default: + i := indexNeedEscapeInBytes(in[n:]) + in, out = in[n+i:], append(out, in[:n+i]...) + } + } + return "", 0, ErrUnexpectedEOF +} + +// indexNeedEscapeInBytes returns the index of the character that needs +// escaping. If no characters need escaping, this returns the input length. +func indexNeedEscapeInBytes(b []byte) int { return indexNeedEscapeInString(strs.UnsafeString(b)) } diff --git a/api_next/internal/protojson/json/decode_token.go b/api_next/internal/protojson/json/decode_token.go new file mode 100644 index 00000000..50578d65 --- /dev/null +++ b/api_next/internal/protojson/json/decode_token.go @@ -0,0 +1,192 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "bytes" + "fmt" + "strconv" +) + +// Kind represents a token kind expressible in the JSON format. +type Kind uint16 + +const ( + Invalid Kind = (1 << iota) / 2 + EOF + Null + Bool + Number + String + Name + ObjectOpen + ObjectClose + ArrayOpen + ArrayClose + + // comma is only for parsing in between tokens and + // does not need to be exported. + comma +) + +func (k Kind) String() string { + switch k { + case EOF: + return "eof" + case Null: + return "null" + case Bool: + return "bool" + case Number: + return "number" + case String: + return "string" + case ObjectOpen: + return "{" + case ObjectClose: + return "}" + case Name: + return "name" + case ArrayOpen: + return "[" + case ArrayClose: + return "]" + case comma: + return "," + } + return "" +} + +// Token provides a parsed token kind and value. +// +// Values are provided by the difference accessor methods. The accessor methods +// Name, Bool, and ParsedString will panic if called on the wrong kind. There +// are different accessor methods for the Number kind for converting to the +// appropriate Go numeric type and those methods have the ok return value. +type Token struct { + // Token kind. + kind Kind + // pos provides the position of the token in the original input. + pos int + // raw bytes of the serialized token. + // This is a subslice into the original input. + raw []byte + // boo is parsed boolean value. + boo bool + // str is parsed string value. + str string +} + +// Kind returns the token kind. +func (t Token) Kind() Kind { + return t.kind +} + +// RawString returns the read value in string. +func (t Token) RawString() string { + return string(t.raw) +} + +// Pos returns the token position from the input. +func (t Token) Pos() int { + return t.pos +} + +// Name returns the object name if token is Name, else it panics. +func (t Token) Name() string { + if t.kind == Name { + return t.str + } + panic(fmt.Sprintf("Token is not a Name: %v", t.RawString())) +} + +// Bool returns the bool value if token kind is Bool, else it panics. +func (t Token) Bool() bool { + if t.kind == Bool { + return t.boo + } + panic(fmt.Sprintf("Token is not a Bool: %v", t.RawString())) +} + +// ParsedString returns the string value for a JSON string token or the read +// value in string if token is not a string. +func (t Token) ParsedString() string { + if t.kind == String { + return t.str + } + panic(fmt.Sprintf("Token is not a String: %v", t.RawString())) +} + +// Float returns the floating-point number if token kind is Number. +// +// The floating-point precision is specified by the bitSize parameter: 32 for +// float32 or 64 for float64. If bitSize=32, the result still has type float64, +// but it will be convertible to float32 without changing its value. It will +// return false if the number exceeds the floating point limits for given +// bitSize. +func (t Token) Float(bitSize int) (float64, bool) { + if t.kind != Number { + return 0, false + } + f, err := strconv.ParseFloat(t.RawString(), bitSize) + if err != nil { + return 0, false + } + return f, true +} + +// Int returns the signed integer number if token is Number. +// +// The given bitSize specifies the integer type that the result must fit into. +// It returns false if the number is not an integer value or if the result +// exceeds the limits for given bitSize. +func (t Token) Int(bitSize int) (int64, bool) { + s, ok := t.getIntStr() + if !ok { + return 0, false + } + n, err := strconv.ParseInt(s, 10, bitSize) + if err != nil { + return 0, false + } + return n, true +} + +// Uint returns the signed integer number if token is Number. +// +// The given bitSize specifies the unsigned integer type that the result must +// fit into. It returns false if the number is not an unsigned integer value +// or if the result exceeds the limits for given bitSize. +func (t Token) Uint(bitSize int) (uint64, bool) { + s, ok := t.getIntStr() + if !ok { + return 0, false + } + n, err := strconv.ParseUint(s, 10, bitSize) + if err != nil { + return 0, false + } + return n, true +} + +func (t Token) getIntStr() (string, bool) { + if t.kind != Number { + return "", false + } + parts, ok := parseNumberParts(t.raw) + if !ok { + return "", false + } + return normalizeToIntString(parts) +} + +// TokenEquals returns true if given Tokens are equal, else false. +func TokenEquals(x, y Token) bool { + return x.kind == y.kind && + x.pos == y.pos && + bytes.Equal(x.raw, y.raw) && + x.boo == y.boo && + x.str == y.str +} diff --git a/api_next/internal/protojson/json/encode.go b/api_next/internal/protojson/json/encode.go new file mode 100644 index 00000000..5da62bea --- /dev/null +++ b/api_next/internal/protojson/json/encode.go @@ -0,0 +1,267 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package json + +import ( + "math" + "math/bits" + "strconv" + "strings" + "unicode/utf8" + + "go.temporal.io/api/internal/protojson/errors" +) + +// kind represents an encoding type. +type kind uint8 + +const ( + _ kind = (1 << iota) / 2 + name + scalar + objectOpen + objectClose + arrayOpen + arrayClose +) + +// Encoder provides methods to write out JSON constructs and values. The user is +// responsible for producing valid sequences of JSON constructs and values. +type Encoder struct { + indent string + lastKind kind + indents []byte + out []byte +} + +// NewEncoder returns an Encoder. +// +// If indent is a non-empty string, it causes every entry for an Array or Object +// to be preceded by the indent and trailed by a newline. +func NewEncoder(buf []byte, indent string) (*Encoder, error) { + e := &Encoder{ + out: buf, + } + if len(indent) > 0 { + if strings.Trim(indent, " \t") != "" { + return nil, errors.New("indent may only be composed of space or tab characters") + } + e.indent = indent + } + return e, nil +} + +// Bytes returns the content of the written bytes. +func (e *Encoder) Bytes() []byte { + return e.out +} + +// WriteNull writes out the null value. +func (e *Encoder) WriteNull() { + e.prepareNext(scalar) + e.out = append(e.out, "null"...) +} + +// WriteBool writes out the given boolean value. +func (e *Encoder) WriteBool(b bool) { + e.prepareNext(scalar) + if b { + e.out = append(e.out, "true"...) + } else { + e.out = append(e.out, "false"...) + } +} + +// WriteString writes out the given string in JSON string value. Returns error +// if input string contains invalid UTF-8. +func (e *Encoder) WriteString(s string) error { + e.prepareNext(scalar) + var err error + if e.out, err = appendString(e.out, s); err != nil { + return err + } + return nil +} + +// Sentinel error used for indicating invalid UTF-8. +var errInvalidUTF8 = errors.New("invalid UTF-8") + +func appendString(out []byte, in string) ([]byte, error) { + out = append(out, '"') + i := indexNeedEscapeInString(in) + in, out = in[i:], append(out, in[:i]...) + for len(in) > 0 { + switch r, n := utf8.DecodeRuneInString(in); { + case r == utf8.RuneError && n == 1: + return out, errInvalidUTF8 + case r < ' ' || r == '"' || r == '\\': + out = append(out, '\\') + switch r { + case '"', '\\': + out = append(out, byte(r)) + case '\b': + out = append(out, 'b') + case '\f': + out = append(out, 'f') + case '\n': + out = append(out, 'n') + case '\r': + out = append(out, 'r') + case '\t': + out = append(out, 't') + default: + out = append(out, 'u') + out = append(out, "0000"[1+(bits.Len32(uint32(r))-1)/4:]...) + out = strconv.AppendUint(out, uint64(r), 16) + } + in = in[n:] + default: + i := indexNeedEscapeInString(in[n:]) + in, out = in[n+i:], append(out, in[:n+i]...) + } + } + out = append(out, '"') + return out, nil +} + +// indexNeedEscapeInString returns the index of the character that needs +// escaping. If no characters need escaping, this returns the input length. +func indexNeedEscapeInString(s string) int { + for i, r := range s { + if r < ' ' || r == '\\' || r == '"' || r == utf8.RuneError { + return i + } + } + return len(s) +} + +// WriteFloat writes out the given float and bitSize in JSON number value. +func (e *Encoder) WriteFloat(n float64, bitSize int) { + e.prepareNext(scalar) + e.out = appendFloat(e.out, n, bitSize) +} + +// appendFloat formats given float in bitSize, and appends to the given []byte. +func appendFloat(out []byte, n float64, bitSize int) []byte { + switch { + case math.IsNaN(n): + return append(out, `"NaN"`...) + case math.IsInf(n, +1): + return append(out, `"Infinity"`...) + case math.IsInf(n, -1): + return append(out, `"-Infinity"`...) + } + + // JSON number formatting logic based on encoding/json. + // See floatEncoder.encode for reference. + fmt := byte('f') + if abs := math.Abs(n); abs != 0 { + if bitSize == 64 && (abs < 1e-6 || abs >= 1e21) || + bitSize == 32 && (float32(abs) < 1e-6 || float32(abs) >= 1e21) { + fmt = 'e' + } + } + out = strconv.AppendFloat(out, n, fmt, -1, bitSize) + if fmt == 'e' { + n := len(out) + if n >= 4 && out[n-4] == 'e' && out[n-3] == '-' && out[n-2] == '0' { + out[n-2] = out[n-1] + out = out[:n-1] + } + } + return out +} + +// WriteInt writes out the given signed integer in JSON number value. +func (e *Encoder) WriteInt(n int64) { + e.prepareNext(scalar) + e.out = strconv.AppendInt(e.out, n, 10) +} + +// WriteUint writes out the given unsigned integer in JSON number value. +func (e *Encoder) WriteUint(n uint64) { + e.prepareNext(scalar) + e.out = strconv.AppendUint(e.out, n, 10) +} + +// StartObject writes out the '{' symbol. +func (e *Encoder) StartObject() { + e.prepareNext(objectOpen) + e.out = append(e.out, '{') +} + +// EndObject writes out the '}' symbol. +func (e *Encoder) EndObject() { + e.prepareNext(objectClose) + e.out = append(e.out, '}') +} + +// WriteName writes out the given string in JSON string value and the name +// separator ':'. Returns error if input string contains invalid UTF-8, which +// should not be likely as protobuf field names should be valid. +func (e *Encoder) WriteName(s string) error { + e.prepareNext(name) + var err error + // Append to output regardless of error. + e.out, err = appendString(e.out, s) + e.out = append(e.out, ':') + return err +} + +// StartArray writes out the '[' symbol. +func (e *Encoder) StartArray() { + e.prepareNext(arrayOpen) + e.out = append(e.out, '[') +} + +// EndArray writes out the ']' symbol. +func (e *Encoder) EndArray() { + e.prepareNext(arrayClose) + e.out = append(e.out, ']') +} + +// prepareNext adds possible comma and indentation for the next value based +// on last type and indent option. It also updates lastKind to next. +func (e *Encoder) prepareNext(next kind) { + defer func() { + // Set lastKind to next. + e.lastKind = next + }() + + if len(e.indent) == 0 { + // Need to add comma on the following condition. + if e.lastKind&(scalar|objectClose|arrayClose) != 0 && + next&(name|scalar|objectOpen|arrayOpen) != 0 { + e.out = append(e.out, ',') + } + return + } + + switch { + case e.lastKind&(objectOpen|arrayOpen) != 0: + // If next type is NOT closing, add indent and newline. + if next&(objectClose|arrayClose) == 0 { + e.indents = append(e.indents, e.indent...) + e.out = append(e.out, '\n') + e.out = append(e.out, e.indents...) + } + + case e.lastKind&(scalar|objectClose|arrayClose) != 0: + switch { + // If next type is either a value or name, add comma and newline. + case next&(name|scalar|objectOpen|arrayOpen) != 0: + e.out = append(e.out, ',', '\n') + + // If next type is a closing object or array, adjust indentation. + case next&(objectClose|arrayClose) != 0: + e.indents = e.indents[:len(e.indents)-len(e.indent)] + e.out = append(e.out, '\n') + } + e.out = append(e.out, e.indents...) + + case e.lastKind&name != 0: + e.out = append(e.out, ' ') + } +} diff --git a/api_next/internal/protojson/json_marshal.go b/api_next/internal/protojson/json_marshal.go new file mode 100644 index 00000000..4d0bf09b --- /dev/null +++ b/api_next/internal/protojson/json_marshal.go @@ -0,0 +1,336 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protojson + +import ( + "encoding/base64" + "fmt" + + "go.temporal.io/api/internal/protojson/errors" + "go.temporal.io/api/internal/protojson/genid" + "go.temporal.io/api/internal/protojson/json" + "go.temporal.io/api/internal/protojson/order" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" +) + +const defaultIndent = " " + +// MarshalOptions is a configurable JSON format marshaler. +type MarshalOptions struct { + // Metadata is used for storing request metadata, such as whether shorthand + // payloads are disabled + Metadata map[string]interface{} + + // Multiline specifies whether the marshaler should format the output in + // indented-form with every textual element on a new line. + // If Indent is an empty string, then an arbitrary indent is chosen. + Multiline bool + + // Indent specifies the set of indentation characters to use in a multiline + // formatted output such that every entry is preceded by Indent and + // terminated by a newline. If non-empty, then Multiline is treated as true. + // Indent can only be composed of space or tab characters. + Indent string + + // AllowPartial allows messages that have missing required fields to marshal + // without returning an error. If AllowPartial is false (the default), + // Marshal will return error if there are any missing required fields. + AllowPartial bool + + // UseProtoNames uses proto field name instead of lowerCamelCase name in JSON + // field names. + UseProtoNames bool + + // UseEnumNumbers emits enum values as numbers. + UseEnumNumbers bool + + // EmitUnpopulated specifies whether to emit unpopulated fields. It does not + // emit unpopulated oneof fields or unpopulated extension fields. + // The JSON value emitted for unpopulated fields are as follows: + // ╔═══════╤════════════════════════════╗ + // ║ JSON │ Protobuf field ║ + // ╠═══════╪════════════════════════════╣ + // ║ false │ proto3 boolean fields ║ + // ║ 0 │ proto3 numeric fields ║ + // ║ "" │ proto3 string/bytes fields ║ + // ║ null │ proto2 scalar fields ║ + // ║ null │ message fields ║ + // ║ [] │ list fields ║ + // ║ {} │ map fields ║ + // ╚═══════╧════════════════════════════╝ + EmitUnpopulated bool + + // EmitDefaultValues specifies whether to emit default-valued primitive fields, + // empty lists, and empty maps. The fields affected are as follows: + // ╔═══════╤════════════════════════════════════════╗ + // ║ JSON │ Protobuf field ║ + // ╠═══════╪════════════════════════════════════════╣ + // ║ false │ non-optional scalar boolean fields ║ + // ║ 0 │ non-optional scalar numeric fields ║ + // ║ "" │ non-optional scalar string/byte fields ║ + // ║ [] │ empty repeated fields ║ + // ║ {} │ empty map fields ║ + // ╚═══════╧════════════════════════════════════════╝ + // + // Behaves similarly to EmitUnpopulated, but does not emit "null"-value fields, + // i.e. presence-sensing fields that are omitted will remain omitted to preserve + // presence-sensing. + // EmitUnpopulated takes precedence over EmitDefaultValues since the former generates + // a strict superset of the latter. + EmitDefaultValues bool + + // Resolver is used for looking up types when expanding google.protobuf.Any + // messages. If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + protoregistry.ExtensionTypeResolver + protoregistry.MessageTypeResolver + } +} + +// Marshal marshals the given [proto.Message] in the JSON format using options in +// MarshalOptions. Do not depend on the output being stable. It may change over +// time across different versions of the program. +func (o MarshalOptions) Marshal(m proto.Message) ([]byte, error) { + return o.marshal(nil, m) +} + +// MarshalAppend appends the JSON format encoding of m to b, +// returning the result. +func (o MarshalOptions) MarshalAppend(b []byte, m proto.Message) ([]byte, error) { + return o.marshal(b, m) +} + +// marshal is a centralized function that all marshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for marshal that do not go through this. +func (o MarshalOptions) marshal(b []byte, m proto.Message) ([]byte, error) { + if o.Multiline && o.Indent == "" { + o.Indent = defaultIndent + } + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + + // TODO: we could presize the buffer here with a best-guess to reduce allocations + internalEnc, err := json.NewEncoder(b, o.Indent) + if err != nil { + return nil, err + } + + // Treat nil message interface as an empty message, + // in which case the output in an empty JSON object. + if m == nil { + return append(b, '{', '}'), nil + } + + enc := encoder{internalEnc, o} + if err := enc.marshalMessage(m.ProtoReflect(), ""); err != nil { + return nil, err + } + if o.AllowPartial { + return enc.Bytes(), nil + } + return enc.Bytes(), proto.CheckInitialized(m) +} + +type encoder struct { + *json.Encoder + opts MarshalOptions +} + +// unpopulatedFieldRanger wraps a protoreflect.Message and modifies its Range +// method to additionally iterate over unpopulated fields. +type unpopulatedFieldRanger struct { + protoreflect.Message + + skipNull bool +} + +func (m unpopulatedFieldRanger) Range(f func(protoreflect.FieldDescriptor, protoreflect.Value) bool) { + fds := m.Descriptor().Fields() + for i := 0; i < fds.Len(); i++ { + fd := fds.Get(i) + if m.Has(fd) || fd.ContainingOneof() != nil { + continue // ignore populated fields and fields within a oneofs + } + + v := m.Get(fd) + isProto2Scalar := fd.Syntax() == protoreflect.Proto2 && fd.Default().IsValid() + isSingularMessage := fd.Cardinality() != protoreflect.Repeated && fd.Message() != nil + if isProto2Scalar || isSingularMessage { + if m.skipNull { + continue + } + v = protoreflect.Value{} // use invalid value to emit null + } + if !f(fd, v) { + return + } + } + m.Message.Range(f) +} + +// marshalMessage marshals the fields in the given protoreflect.Message. +// If the typeURL is non-empty, then a synthetic "@type" field is injected +// containing the URL as the value. +func (e encoder) marshalMessage(m protoreflect.Message, typeURL string) error { + if marshal := wellKnownTypeMarshaler(m.Descriptor().FullName()); marshal != nil { + return marshal(e, m) + } + if jsu, ok := m.Interface().(ProtoJSONMaybeMarshaler); ok { + if handled, err := jsu.MaybeMarshalProtoJSON(e.opts.Metadata, e.Encoder); handled { + if err != nil { + return fmt.Errorf("MaybeMarshalProtoJSON impl for %T failed: %w", jsu, err) + } + return nil + } + } + + e.StartObject() + defer e.EndObject() + + var fields order.FieldRanger = m + switch { + case e.opts.EmitUnpopulated: + fields = unpopulatedFieldRanger{Message: m, skipNull: false} + case e.opts.EmitDefaultValues: + fields = unpopulatedFieldRanger{Message: m, skipNull: true} + } + + var err error + if typeURL != "" { + // We manually marshal the synthetic @type field here as we cannot create a synthetic FieldDescriptor. + // We cannot implement the ProtoInternal method as it takes an internal-only type as a parameter... + if err := e.WriteName("@type"); err != nil { + return err + } + if e.WriteString(typeURL) != nil { + return errors.InvalidUTF8("@type") + } + } + order.RangeFields(fields, order.IndexNameFieldOrder, func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + name := fd.JSONName() + if e.opts.UseProtoNames { + name = fd.TextName() + } + + if err = e.WriteName(name); err != nil { + return false + } + if err = e.marshalValue(v, fd); err != nil { + return false + } + return true + }) + return err +} + +// marshalValue marshals the given protoreflect.Value. +func (e encoder) marshalValue(val protoreflect.Value, fd protoreflect.FieldDescriptor) error { + switch { + case fd.IsList(): + return e.marshalList(val.List(), fd) + case fd.IsMap(): + return e.marshalMap(val.Map(), fd) + default: + return e.marshalSingular(val, fd) + } +} + +// marshalSingular marshals the given non-repeated field value. This includes +// all scalar types, enums, messages, and groups. +func (e encoder) marshalSingular(val protoreflect.Value, fd protoreflect.FieldDescriptor) error { + if !val.IsValid() { + e.WriteNull() + return nil + } + + switch kind := fd.Kind(); kind { + case protoreflect.BoolKind: + e.WriteBool(val.Bool()) + + case protoreflect.StringKind: + if e.WriteString(val.String()) != nil { + return errors.InvalidUTF8(string(fd.FullName())) + } + + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + e.WriteInt(val.Int()) + + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + e.WriteUint(val.Uint()) + + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Uint64Kind, + protoreflect.Sfixed64Kind, protoreflect.Fixed64Kind: + // 64-bit integers are written out as JSON string. + e.WriteString(val.String()) + + case protoreflect.FloatKind: + // Encoder.WriteFloat handles the special numbers NaN and infinites. + e.WriteFloat(val.Float(), 32) + + case protoreflect.DoubleKind: + // Encoder.WriteFloat handles the special numbers NaN and infinites. + e.WriteFloat(val.Float(), 64) + + case protoreflect.BytesKind: + e.WriteString(base64.StdEncoding.EncodeToString(val.Bytes())) + + case protoreflect.EnumKind: + if fd.Enum().FullName() == genid.NullValue_enum_fullname { + e.WriteNull() + } else { + desc := fd.Enum().Values().ByNumber(val.Enum()) + if e.opts.UseEnumNumbers || desc == nil { + e.WriteInt(int64(val.Enum())) + } else { + e.WriteString(string(desc.Name())) + } + } + + case protoreflect.MessageKind, protoreflect.GroupKind: + if err := e.marshalMessage(val.Message(), ""); err != nil { + return err + } + + default: + panic(fmt.Sprintf("%v has unknown kind: %v", fd.FullName(), kind)) + } + return nil +} + +// marshalList marshals the given protoreflect.List. +func (e encoder) marshalList(list protoreflect.List, fd protoreflect.FieldDescriptor) error { + e.StartArray() + defer e.EndArray() + + for i := 0; i < list.Len(); i++ { + item := list.Get(i) + if err := e.marshalSingular(item, fd); err != nil { + return err + } + } + return nil +} + +// marshalMap marshals given protoreflect.Map. +func (e encoder) marshalMap(mmap protoreflect.Map, fd protoreflect.FieldDescriptor) error { + e.StartObject() + defer e.EndObject() + + var err error + order.RangeEntries(mmap, order.GenericKeyOrder, func(k protoreflect.MapKey, v protoreflect.Value) bool { + if err = e.WriteName(k.String()); err != nil { + return false + } + if err = e.marshalSingular(v, fd.MapValue()); err != nil { + return false + } + return true + }) + return err +} diff --git a/api_next/internal/protojson/json_unmarshal.go b/api_next/internal/protojson/json_unmarshal.go new file mode 100644 index 00000000..ac119307 --- /dev/null +++ b/api_next/internal/protojson/json_unmarshal.go @@ -0,0 +1,701 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protojson + +import ( + "encoding/base64" + "fmt" + "math" + "runtime" + "strconv" + "strings" + + "google.golang.org/protobuf/encoding/protowire" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + "google.golang.org/protobuf/reflect/protoregistry" + + "go.temporal.io/api/internal/protojson/errors" + "go.temporal.io/api/internal/protojson/genid" + "go.temporal.io/api/internal/protojson/json" + "go.temporal.io/api/internal/protojson/set" + "go.temporal.io/api/internal/strcase" +) + +// Unmarshal reads the given []byte into the given [proto.Message]. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func Unmarshal(b []byte, m proto.Message) error { + return UnmarshalOptions{}.Unmarshal(b, m) +} + +// UnmarshalOptions is a configurable JSON format parser. +type UnmarshalOptions struct { + // Metadata is used for storing request metadata, such as whether shorthand + // payloads are disabled + Metadata map[string]interface{} + + // If AllowPartial is set, input for messages that will result in missing + // required fields will not return an error. + AllowPartial bool + + // If DiscardUnknown is set, unknown fields and enum name values are ignored. + DiscardUnknown bool + + // Resolver is used for looking up types when unmarshaling + // google.protobuf.Any messages or extension fields. + // If nil, this defaults to using protoregistry.GlobalTypes. + Resolver interface { + protoregistry.MessageTypeResolver + protoregistry.ExtensionTypeResolver + } + + // RecursionLimit limits how deeply messages may be nested. + // If zero, a default limit is applied. + RecursionLimit int +} + +// Unmarshal reads the given []byte and populates the given [proto.Message] +// using options in the UnmarshalOptions object. +// It will clear the message first before setting the fields. +// If it returns an error, the given message may be partially set. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +func (o UnmarshalOptions) Unmarshal(b []byte, m proto.Message) error { + return o.unmarshal(b, m) +} + +// unmarshal is a centralized function that all unmarshal operations go through. +// For profiling purposes, avoid changing the name of this function or +// introducing other code paths for unmarshal that do not go through this. +func (o UnmarshalOptions) unmarshal(b []byte, m proto.Message) error { + proto.Reset(m) + + if o.Resolver == nil { + o.Resolver = protoregistry.GlobalTypes + } + + if o.RecursionLimit == 0 { + o.RecursionLimit = protowire.DefaultRecursionLimit + } + + dec := decoder{json.NewDecoder(b), o} + if err := dec.unmarshalMessage(m.ProtoReflect(), false); err != nil { + return err + } + + // Check for EOF. + tok, err := dec.Read() + if err != nil { + return err + } + if tok.Kind() != json.EOF { + return dec.unexpectedTokenError(tok) + } + + if o.AllowPartial { + return nil + } + return proto.CheckInitialized(m) +} + +type decoder struct { + *json.Decoder + opts UnmarshalOptions +} + +// newError returns an error object with position info. +func (d decoder) newError(pos int, f string, x ...interface{}) error { + line, column := d.Position(pos) + head := fmt.Sprintf("(line %d:%d): ", line, column) + return errors.New(head+f, x...) +} + +// unexpectedTokenError returns a syntax error for the given unexpected token. +func (d decoder) unexpectedTokenError(tok json.Token) error { + pc, _, _, ok := runtime.Caller(1) + var fl string + var line int + if ok { + f := runtime.FuncForPC(pc) + fl, line = f.FileLine(pc) + } + return d.syntaxError(tok.Pos(), "unexpected token %s (in %s:%d)", tok.RawString(), fl, line) +} + +// syntaxError returns a syntax error for given position. +func (d decoder) syntaxError(pos int, f string, x ...interface{}) error { + line, column := d.Position(pos) + head := fmt.Sprintf("syntax error (line %d:%d): ", line, column) + return errors.New(head+f, x...) +} + +// unmarshalMessage unmarshals a message into the given protoreflect.Message. +func (d decoder) unmarshalMessage(m protoreflect.Message, skipTypeURL bool) error { + d.opts.RecursionLimit-- + if d.opts.RecursionLimit < 0 { + return errors.New("exceeded max recursion depth") + } + + if jsu, ok := m.Interface().(ProtoJSONMaybeUnmarshaler); ok { + if handled, err := jsu.MaybeUnmarshalProtoJSON(d.opts.Metadata, d.Decoder); handled || err != nil { + return err + } + } + if unmarshal := wellKnownTypeUnmarshaler(m.Descriptor().FullName()); unmarshal != nil { + return unmarshal(d, m) + } + + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.ObjectOpen { + return d.unexpectedTokenError(tok) + } + + messageDesc := m.Descriptor() + var seenNums set.Ints + var seenOneofs set.Ints + fieldDescs := messageDesc.Fields() + for { + // Read field name. + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + default: + return d.unexpectedTokenError(tok) + case json.ObjectClose: + return nil + case json.Name: + // Continue below. + } + + name := tok.Name() + // Unmarshaling a non-custom embedded message in Any will contain the + // JSON field "@type" which should be skipped because it is not a field + // of the embedded message, but simply an artifact of the Any format. + if skipTypeURL && name == "@type" { + d.Read() + continue + } + + // Get the FieldDescriptor. + var fd protoreflect.FieldDescriptor + if strings.HasPrefix(name, "[") && strings.HasSuffix(name, "]") { + // Only extension names are in [name] format. + extName := protoreflect.FullName(name[1 : len(name)-1]) + extType, err := d.opts.Resolver.FindExtensionByName(extName) + if err != nil && err != protoregistry.NotFound { + return d.newError(tok.Pos(), "unable to resolve %s: %v", tok.RawString(), err) + } + if extType != nil { + fd = extType.TypeDescriptor() + if !messageDesc.ExtensionRanges().Has(fd.Number()) || fd.ContainingMessage().FullName() != messageDesc.FullName() { + return d.newError(tok.Pos(), "message %v cannot be extended by %v", messageDesc.FullName(), fd.FullName()) + } + } + } else { + // The name can either be the JSON name or the proto field name. + fd = fieldDescs.ByJSONName(name) + if fd == nil { + fd = fieldDescs.ByTextName(name) + } + } + + if fd == nil { + // Field is unknown. + if d.opts.DiscardUnknown { + if err := d.skipJSONValue(); err != nil { + return err + } + continue + } + return d.newError(tok.Pos(), "unknown field %v", tok.RawString()) + } + + // Do not allow duplicate fields. + num := uint64(fd.Number()) + if seenNums.Has(num) { + return d.newError(tok.Pos(), "duplicate field %v", tok.RawString()) + } + seenNums.Set(num) + + // No need to set values for JSON null unless the field type is + // google.protobuf.Value or google.protobuf.NullValue. + if tok, _ := d.Peek(); tok.Kind() == json.Null && !isKnownValue(fd) && !isNullValue(fd) { + d.Read() + continue + } + + switch { + case fd.IsList(): + list := m.Mutable(fd).List() + if err := d.unmarshalList(list, fd); err != nil { + return err + } + case fd.IsMap(): + mmap := m.Mutable(fd).Map() + if err := d.unmarshalMap(mmap, fd); err != nil { + return err + } + default: + // If field is a oneof, check if it has already been set. + if od := fd.ContainingOneof(); od != nil { + idx := uint64(od.Index()) + if seenOneofs.Has(idx) { + return d.newError(tok.Pos(), "error parsing %s, oneof %v is already set", tok.RawString(), od.FullName()) + } + seenOneofs.Set(idx) + } + + // Required or optional fields. + if err := d.unmarshalSingular(m, fd); err != nil { + return err + } + } + } +} + +func isKnownValue(fd protoreflect.FieldDescriptor) bool { + md := fd.Message() + return md != nil && md.FullName() == genid.Value_message_fullname +} + +func isNullValue(fd protoreflect.FieldDescriptor) bool { + ed := fd.Enum() + return ed != nil && ed.FullName() == genid.NullValue_enum_fullname +} + +// unmarshalSingular unmarshals to the non-repeated field specified +// by the given FieldDescriptor. +func (d decoder) unmarshalSingular(m protoreflect.Message, fd protoreflect.FieldDescriptor) error { + var val protoreflect.Value + var err error + switch fd.Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + val = m.NewField(fd) + err = d.unmarshalMessage(val.Message(), false) + default: + val, err = d.unmarshalScalar(fd) + } + + if err != nil { + return err + } + if val.IsValid() { + m.Set(fd, val) + } + return nil +} + +// unmarshalScalar unmarshals to a scalar/enum protoreflect.Value specified by +// the given FieldDescriptor. +func (d decoder) unmarshalScalar(fd protoreflect.FieldDescriptor) (protoreflect.Value, error) { + const b32 int = 32 + const b64 int = 64 + + tok, err := d.Read() + if err != nil { + return protoreflect.Value{}, err + } + + kind := fd.Kind() + switch kind { + case protoreflect.BoolKind: + if tok.Kind() == json.Bool { + return protoreflect.ValueOfBool(tok.Bool()), nil + } + + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + if v, ok := unmarshalInt(tok, b32); ok { + return v, nil + } + + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + if v, ok := unmarshalInt(tok, b64); ok { + return v, nil + } + + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + if v, ok := unmarshalUint(tok, b32); ok { + return v, nil + } + + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + if v, ok := unmarshalUint(tok, b64); ok { + return v, nil + } + + case protoreflect.FloatKind: + if v, ok := unmarshalFloat(tok, b32); ok { + return v, nil + } + + case protoreflect.DoubleKind: + if v, ok := unmarshalFloat(tok, b64); ok { + return v, nil + } + + case protoreflect.StringKind: + if tok.Kind() == json.String { + return protoreflect.ValueOfString(tok.ParsedString()), nil + } + + case protoreflect.BytesKind: + if v, ok := unmarshalBytes(tok); ok { + return v, nil + } + + case protoreflect.EnumKind: + if v, ok := unmarshalEnum(tok, fd, d.opts.DiscardUnknown); ok { + return v, nil + } + + default: + panic(fmt.Sprintf("unmarshalScalar: invalid scalar kind %v", kind)) + } + + return protoreflect.Value{}, d.newError(tok.Pos(), "invalid value for %v type: %v", kind, tok.RawString()) +} + +func unmarshalInt(tok json.Token, bitSize int) (protoreflect.Value, bool) { + switch tok.Kind() { + case json.Number: + return getInt(tok, bitSize) + + case json.String: + // Decode number from string. + s := strings.TrimSpace(tok.ParsedString()) + if len(s) != len(tok.ParsedString()) { + return protoreflect.Value{}, false + } + dec := json.NewDecoder([]byte(s)) + tok, err := dec.Read() + if err != nil { + return protoreflect.Value{}, false + } + return getInt(tok, bitSize) + } + return protoreflect.Value{}, false +} + +func getInt(tok json.Token, bitSize int) (protoreflect.Value, bool) { + n, ok := tok.Int(bitSize) + if !ok { + return protoreflect.Value{}, false + } + if bitSize == 32 { + return protoreflect.ValueOfInt32(int32(n)), true + } + return protoreflect.ValueOfInt64(n), true +} + +func unmarshalUint(tok json.Token, bitSize int) (protoreflect.Value, bool) { + switch tok.Kind() { + case json.Number: + return getUint(tok, bitSize) + + case json.String: + // Decode number from string. + s := strings.TrimSpace(tok.ParsedString()) + if len(s) != len(tok.ParsedString()) { + return protoreflect.Value{}, false + } + dec := json.NewDecoder([]byte(s)) + tok, err := dec.Read() + if err != nil { + return protoreflect.Value{}, false + } + return getUint(tok, bitSize) + } + return protoreflect.Value{}, false +} + +func getUint(tok json.Token, bitSize int) (protoreflect.Value, bool) { + n, ok := tok.Uint(bitSize) + if !ok { + return protoreflect.Value{}, false + } + if bitSize == 32 { + return protoreflect.ValueOfUint32(uint32(n)), true + } + return protoreflect.ValueOfUint64(n), true +} + +func unmarshalFloat(tok json.Token, bitSize int) (protoreflect.Value, bool) { + switch tok.Kind() { + case json.Number: + return getFloat(tok, bitSize) + + case json.String: + s := tok.ParsedString() + switch s { + case "NaN": + if bitSize == 32 { + return protoreflect.ValueOfFloat32(float32(math.NaN())), true + } + return protoreflect.ValueOfFloat64(math.NaN()), true + case "Infinity": + if bitSize == 32 { + return protoreflect.ValueOfFloat32(float32(math.Inf(+1))), true + } + return protoreflect.ValueOfFloat64(math.Inf(+1)), true + case "-Infinity": + if bitSize == 32 { + return protoreflect.ValueOfFloat32(float32(math.Inf(-1))), true + } + return protoreflect.ValueOfFloat64(math.Inf(-1)), true + } + + // Decode number from string. + if len(s) != len(strings.TrimSpace(s)) { + return protoreflect.Value{}, false + } + dec := json.NewDecoder([]byte(s)) + tok, err := dec.Read() + if err != nil { + return protoreflect.Value{}, false + } + return getFloat(tok, bitSize) + } + return protoreflect.Value{}, false +} + +func getFloat(tok json.Token, bitSize int) (protoreflect.Value, bool) { + n, ok := tok.Float(bitSize) + if !ok { + return protoreflect.Value{}, false + } + if bitSize == 32 { + return protoreflect.ValueOfFloat32(float32(n)), true + } + return protoreflect.ValueOfFloat64(n), true +} + +func unmarshalBytes(tok json.Token) (protoreflect.Value, bool) { + if tok.Kind() != json.String { + return protoreflect.Value{}, false + } + + s := tok.ParsedString() + enc := base64.StdEncoding + if strings.ContainsAny(s, "-_") { + enc = base64.URLEncoding + } + if len(s)%4 != 0 { + enc = enc.WithPadding(base64.NoPadding) + } + b, err := enc.DecodeString(s) + if err != nil { + return protoreflect.Value{}, false + } + return protoreflect.ValueOfBytes(b), true +} + +func unmarshalEnum(tok json.Token, fd protoreflect.FieldDescriptor, discardUnknown bool) (protoreflect.Value, bool) { + switch tok.Kind() { + case json.String: + // Lookup EnumNumber based on name. + // We need to support both the canonical JSON format (SCREAMING_SNAKE_ENUMS) as well + // as our older CamelCaseEnums form for compatibility, so we try both variants + s := tok.ParsedString() + if enumVal := fd.Enum().Values().ByName(protoreflect.Name(s)); enumVal != nil { + return protoreflect.ValueOfEnum(enumVal.Number()), true + } + + // If not found we'll assume it's old-style and prepend TYPE_PREFIX_ + s = strcase.ToScreamingSnake(fmt.Sprintf("%s_%s", string(fd.Enum().Name()), s)) + if enumVal := fd.Enum().Values().ByName(protoreflect.Name(s)); enumVal != nil { + return protoreflect.ValueOfEnum(enumVal.Number()), true + } + + if discardUnknown { + return protoreflect.Value{}, true + } + + case json.Number: + if n, ok := tok.Int(32); ok { + return protoreflect.ValueOfEnum(protoreflect.EnumNumber(n)), true + } + + case json.Null: + // This is only valid for google.protobuf.NullValue. + if isNullValue(fd) { + return protoreflect.ValueOfEnum(0), true + } + } + + return protoreflect.Value{}, false +} + +func (d decoder) unmarshalList(list protoreflect.List, fd protoreflect.FieldDescriptor) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.ArrayOpen { + return d.unexpectedTokenError(tok) + } + + switch fd.Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + for { + tok, err := d.Peek() + if err != nil { + return err + } + + if tok.Kind() == json.ArrayClose { + d.Read() + return nil + } + + val := list.NewElement() + if err := d.unmarshalMessage(val.Message(), false); err != nil { + return err + } + list.Append(val) + } + default: + for { + tok, err := d.Peek() + if err != nil { + return err + } + + if tok.Kind() == json.ArrayClose { + d.Read() + return nil + } + + val, err := d.unmarshalScalar(fd) + if err != nil { + return err + } + if val.IsValid() { + list.Append(val) + } + } + } + + return nil +} + +func (d decoder) unmarshalMap(mmap protoreflect.Map, fd protoreflect.FieldDescriptor) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.ObjectOpen { + return d.unexpectedTokenError(tok) + } + + // Determine ahead whether map entry is a scalar type or a message type in + // order to call the appropriate unmarshalMapValue func inside the for loop + // below. + var unmarshalMapValue func() (protoreflect.Value, error) + switch fd.MapValue().Kind() { + case protoreflect.MessageKind, protoreflect.GroupKind: + unmarshalMapValue = func() (protoreflect.Value, error) { + val := mmap.NewValue() + if err := d.unmarshalMessage(val.Message(), false); err != nil { + return protoreflect.Value{}, err + } + return val, nil + } + default: + unmarshalMapValue = func() (protoreflect.Value, error) { + return d.unmarshalScalar(fd.MapValue()) + } + } + +Loop: + for { + // Read field name. + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + default: + return d.unexpectedTokenError(tok) + case json.ObjectClose: + break Loop + case json.Name: + // Continue. + } + + // Unmarshal field name. + pkey, err := d.unmarshalMapKey(tok, fd.MapKey()) + if err != nil { + return err + } + + // Check for duplicate field name. + if mmap.Has(pkey) { + return d.newError(tok.Pos(), "duplicate map key %v", tok.RawString()) + } + + // Read and unmarshal field value. + pval, err := unmarshalMapValue() + if err != nil { + return err + } + if pval.IsValid() { + mmap.Set(pkey, pval) + } + } + + return nil +} + +// unmarshalMapKey converts given token of Name kind into a protoreflect.MapKey. +// A map key type is any integral or string type. +func (d decoder) unmarshalMapKey(tok json.Token, fd protoreflect.FieldDescriptor) (protoreflect.MapKey, error) { + const b32 = 32 + const b64 = 64 + const base10 = 10 + + name := tok.Name() + kind := fd.Kind() + switch kind { + case protoreflect.StringKind: + return protoreflect.ValueOfString(name).MapKey(), nil + + case protoreflect.BoolKind: + switch name { + case "true": + return protoreflect.ValueOfBool(true).MapKey(), nil + case "false": + return protoreflect.ValueOfBool(false).MapKey(), nil + } + + case protoreflect.Int32Kind, protoreflect.Sint32Kind, protoreflect.Sfixed32Kind: + if n, err := strconv.ParseInt(name, base10, b32); err == nil { + return protoreflect.ValueOfInt32(int32(n)).MapKey(), nil + } + + case protoreflect.Int64Kind, protoreflect.Sint64Kind, protoreflect.Sfixed64Kind: + if n, err := strconv.ParseInt(name, base10, b64); err == nil { + return protoreflect.ValueOfInt64(int64(n)).MapKey(), nil + } + + case protoreflect.Uint32Kind, protoreflect.Fixed32Kind: + if n, err := strconv.ParseUint(name, base10, b32); err == nil { + return protoreflect.ValueOfUint32(uint32(n)).MapKey(), nil + } + + case protoreflect.Uint64Kind, protoreflect.Fixed64Kind: + if n, err := strconv.ParseUint(name, base10, b64); err == nil { + return protoreflect.ValueOfUint64(uint64(n)).MapKey(), nil + } + + default: + panic(fmt.Sprintf("invalid kind for map key: %v", kind)) + } + + return protoreflect.MapKey{}, d.newError(tok.Pos(), "invalid value for %v key: %s", kind, tok.RawString()) +} diff --git a/api_next/internal/protojson/maybe_marshal.go b/api_next/internal/protojson/maybe_marshal.go new file mode 100644 index 00000000..cd5cfe35 --- /dev/null +++ b/api_next/internal/protojson/maybe_marshal.go @@ -0,0 +1,21 @@ +package protojson + +import "go.temporal.io/api/internal/protojson/json" + +// ProtoJSONMaybeMarshaler is implemented by any proto struct that wants to +// customize optional Temporal-specific JSON conversion. +type ProtoJSONMaybeMarshaler interface { + // MaybeMarshalProtoJSON is for formatting the proto message as JSON. If the + // "handled" result value is false, "err" are ignored and the default + // protojson behavior occurs. + MaybeMarshalProtoJSON(meta map[string]interface{}, enc *json.Encoder) (handled bool, err error) +} + +// ProtoJSONMaybeUnmarshaler is implemented by any proto struct that wants to +// customize optional Temporal-specific JSON conversion. +type ProtoJSONMaybeUnmarshaler interface { + // MaybeUnmarshalProtoJSON is for parsing the given JSON into the proto message. + // If the "handled" result value is false, "err" is ignored and the default + // protojson unmarshaling proceeds + MaybeUnmarshalProtoJSON(meta map[string]interface{}, dec *json.Decoder) (handled bool, err error) +} diff --git a/api_next/internal/protojson/order/order.go b/api_next/internal/protojson/order/order.go new file mode 100644 index 00000000..dea522e1 --- /dev/null +++ b/api_next/internal/protojson/order/order.go @@ -0,0 +1,89 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package order + +import ( + "google.golang.org/protobuf/reflect/protoreflect" +) + +// FieldOrder specifies the ordering to visit message fields. +// It is a function that reports whether x is ordered before y. +type FieldOrder func(x, y protoreflect.FieldDescriptor) bool + +var ( + // AnyFieldOrder specifies no specific field ordering. + AnyFieldOrder FieldOrder = nil + + // LegacyFieldOrder sorts fields in the same ordering as emitted by + // wire serialization in the github.com/golang/protobuf implementation. + LegacyFieldOrder FieldOrder = func(x, y protoreflect.FieldDescriptor) bool { + ox, oy := x.ContainingOneof(), y.ContainingOneof() + inOneof := func(od protoreflect.OneofDescriptor) bool { + return od != nil && !od.IsSynthetic() + } + + // Extension fields sort before non-extension fields. + if x.IsExtension() != y.IsExtension() { + return x.IsExtension() && !y.IsExtension() + } + // Fields not within a oneof sort before those within a oneof. + if inOneof(ox) != inOneof(oy) { + return !inOneof(ox) && inOneof(oy) + } + // Fields in disjoint oneof sets are sorted by declaration index. + if inOneof(ox) && inOneof(oy) && ox != oy { + return ox.Index() < oy.Index() + } + // Fields sorted by field number. + return x.Number() < y.Number() + } + + // NumberFieldOrder sorts fields by their field number. + NumberFieldOrder FieldOrder = func(x, y protoreflect.FieldDescriptor) bool { + return x.Number() < y.Number() + } + + // IndexNameFieldOrder sorts non-extension fields before extension fields. + // Non-extensions are sorted according to their declaration index. + // Extensions are sorted according to their full name. + IndexNameFieldOrder FieldOrder = func(x, y protoreflect.FieldDescriptor) bool { + // Non-extension fields sort before extension fields. + if x.IsExtension() != y.IsExtension() { + return !x.IsExtension() && y.IsExtension() + } + // Extensions sorted by fullname. + if x.IsExtension() && y.IsExtension() { + return x.FullName() < y.FullName() + } + // Non-extensions sorted by declaration index. + return x.Index() < y.Index() + } +) + +// KeyOrder specifies the ordering to visit map entries. +// It is a function that reports whether x is ordered before y. +type KeyOrder func(x, y protoreflect.MapKey) bool + +var ( + // AnyKeyOrder specifies no specific key ordering. + AnyKeyOrder KeyOrder = nil + + // GenericKeyOrder sorts false before true, numeric keys in ascending order, + // and strings in lexicographical ordering according to UTF-8 codepoints. + GenericKeyOrder KeyOrder = func(x, y protoreflect.MapKey) bool { + switch x.Interface().(type) { + case bool: + return !x.Bool() && y.Bool() + case int32, int64: + return x.Int() < y.Int() + case uint32, uint64: + return x.Uint() < y.Uint() + case string: + return x.String() < y.String() + default: + panic("invalid map key type") + } + } +) diff --git a/api_next/internal/protojson/order/range.go b/api_next/internal/protojson/order/range.go new file mode 100644 index 00000000..1665a68e --- /dev/null +++ b/api_next/internal/protojson/order/range.go @@ -0,0 +1,115 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package order provides ordered access to messages and maps. +package order + +import ( + "sort" + "sync" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +type messageField struct { + fd protoreflect.FieldDescriptor + v protoreflect.Value +} + +var messageFieldPool = sync.Pool{ + New: func() interface{} { return new([]messageField) }, +} + +type ( + // FieldRnger is an interface for visiting all fields in a message. + // The protoreflect.Message type implements this interface. + FieldRanger interface{ Range(VisitField) } + // VisitField is called every time a message field is visited. + VisitField = func(protoreflect.FieldDescriptor, protoreflect.Value) bool +) + +// RangeFields iterates over the fields of fs according to the specified order. +func RangeFields(fs FieldRanger, less FieldOrder, fn VisitField) { + if less == nil { + fs.Range(fn) + return + } + + // Obtain a pre-allocated scratch buffer. + p := messageFieldPool.Get().(*[]messageField) + fields := (*p)[:0] + defer func() { + if cap(fields) < 1024 { + *p = fields + messageFieldPool.Put(p) + } + }() + + // Collect all fields in the message and sort them. + fs.Range(func(fd protoreflect.FieldDescriptor, v protoreflect.Value) bool { + fields = append(fields, messageField{fd, v}) + return true + }) + sort.Slice(fields, func(i, j int) bool { + return less(fields[i].fd, fields[j].fd) + }) + + // Visit the fields in the specified ordering. + for _, f := range fields { + if !fn(f.fd, f.v) { + return + } + } +} + +type mapEntry struct { + k protoreflect.MapKey + v protoreflect.Value +} + +var mapEntryPool = sync.Pool{ + New: func() interface{} { return new([]mapEntry) }, +} + +type ( + // EntryRanger is an interface for visiting all fields in a message. + // The protoreflect.Map type implements this interface. + EntryRanger interface{ Range(VisitEntry) } + // VisitEntry is called every time a map entry is visited. + VisitEntry = func(protoreflect.MapKey, protoreflect.Value) bool +) + +// RangeEntries iterates over the entries of es according to the specified order. +func RangeEntries(es EntryRanger, less KeyOrder, fn VisitEntry) { + if less == nil { + es.Range(fn) + return + } + + // Obtain a pre-allocated scratch buffer. + p := mapEntryPool.Get().(*[]mapEntry) + entries := (*p)[:0] + defer func() { + if cap(entries) < 1024 { + *p = entries + mapEntryPool.Put(p) + } + }() + + // Collect all entries in the map and sort them. + es.Range(func(k protoreflect.MapKey, v protoreflect.Value) bool { + entries = append(entries, mapEntry{k, v}) + return true + }) + sort.Slice(entries, func(i, j int) bool { + return less(entries[i].k, entries[j].k) + }) + + // Visit the entries in the specified ordering. + for _, e := range entries { + if !fn(e.k, e.v) { + return + } + } +} diff --git a/api_next/internal/protojson/set/ints.go b/api_next/internal/protojson/set/ints.go new file mode 100644 index 00000000..d3d7f89a --- /dev/null +++ b/api_next/internal/protojson/set/ints.go @@ -0,0 +1,58 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package set provides simple set data structures for uint64s. +package set + +import "math/bits" + +// int64s represents a set of integers within the range of 0..63. +type int64s uint64 + +func (bs *int64s) Len() int { + return bits.OnesCount64(uint64(*bs)) +} +func (bs *int64s) Has(n uint64) bool { + return uint64(*bs)&(uint64(1)< 0 +} +func (bs *int64s) Set(n uint64) { + *(*uint64)(bs) |= uint64(1) << n +} +func (bs *int64s) Clear(n uint64) { + *(*uint64)(bs) &^= uint64(1) << n +} + +// Ints represents a set of integers within the range of 0..math.MaxUint64. +type Ints struct { + lo int64s + hi map[uint64]struct{} +} + +func (bs *Ints) Len() int { + return bs.lo.Len() + len(bs.hi) +} +func (bs *Ints) Has(n uint64) bool { + if n < 64 { + return bs.lo.Has(n) + } + _, ok := bs.hi[n] + return ok +} +func (bs *Ints) Set(n uint64) { + if n < 64 { + bs.lo.Set(n) + return + } + if bs.hi == nil { + bs.hi = make(map[uint64]struct{}) + } + bs.hi[n] = struct{}{} +} +func (bs *Ints) Clear(n uint64) { + if n < 64 { + bs.lo.Clear(n) + return + } + delete(bs.hi, n) +} diff --git a/api_next/internal/protojson/strs/strings.go b/api_next/internal/protojson/strs/strings.go new file mode 100644 index 00000000..bab7b86b --- /dev/null +++ b/api_next/internal/protojson/strs/strings.go @@ -0,0 +1,190 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package strs provides string manipulation functionality specific to protobuf. +package strs + +import ( + "go/token" + "strings" + "unicode" + "unicode/utf8" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +// EnforceUTF8 reports whether to enforce strict UTF-8 validation. +func EnforceUTF8(fd protoreflect.FieldDescriptor) bool { + return fd.Syntax() == protoreflect.Proto3 +} + +// GoCamelCase camel-cases a protobuf name for use as a Go identifier. +// +// If there is an interior underscore followed by a lower case letter, +// drop the underscore and convert the letter to upper case. +func GoCamelCase(s string) string { + // Invariant: if the next letter is lower case, it must be converted + // to upper case. + // That is, we process a word at a time, where words are marked by _ or + // upper case letter. Digits are treated as words. + var b []byte + for i := 0; i < len(s); i++ { + c := s[i] + switch { + case c == '.' && i+1 < len(s) && isASCIILower(s[i+1]): + // Skip over '.' in ".{{lowercase}}". + case c == '.': + b = append(b, '_') // convert '.' to '_' + case c == '_' && (i == 0 || s[i-1] == '.'): + // Convert initial '_' to ensure we start with a capital letter. + // Do the same for '_' after '.' to match historic behavior. + b = append(b, 'X') // convert '_' to 'X' + case c == '_' && i+1 < len(s) && isASCIILower(s[i+1]): + // Skip over '_' in "_{{lowercase}}". + case isASCIIDigit(c): + b = append(b, c) + default: + // Assume we have a letter now - if not, it's a bogus identifier. + // The next word is a sequence of characters that must start upper case. + if isASCIILower(c) { + c -= 'a' - 'A' // convert lowercase to uppercase + } + b = append(b, c) + + // Accept lower case sequence that follows. + for ; i+1 < len(s) && isASCIILower(s[i+1]); i++ { + b = append(b, s[i+1]) + } + } + } + return string(b) +} + +// GoSanitized converts a string to a valid Go identifier. +func GoSanitized(s string) string { + // Sanitize the input to the set of valid characters, + // which must be '_' or be in the Unicode L or N categories. + s = strings.Map(func(r rune) rune { + if unicode.IsLetter(r) || unicode.IsDigit(r) { + return r + } + return '_' + }, s) + + // Prepend '_' in the event of a Go keyword conflict or if + // the identifier is invalid (does not start in the Unicode L category). + r, _ := utf8.DecodeRuneInString(s) + if token.Lookup(s).IsKeyword() || !unicode.IsLetter(r) { + return "_" + s + } + return s +} + +// JSONCamelCase converts a snake_case identifier to a camelCase identifier, +// according to the protobuf JSON specification. +func JSONCamelCase(s string) string { + var b []byte + var wasUnderscore bool + for i := 0; i < len(s); i++ { // proto identifiers are always ASCII + c := s[i] + if c != '_' { + if wasUnderscore && isASCIILower(c) { + c -= 'a' - 'A' // convert to uppercase + } + b = append(b, c) + } + wasUnderscore = c == '_' + } + return string(b) +} + +// JSONSnakeCase converts a camelCase identifier to a snake_case identifier, +// according to the protobuf JSON specification. +func JSONSnakeCase(s string) string { + var b []byte + for i := 0; i < len(s); i++ { // proto identifiers are always ASCII + c := s[i] + if isASCIIUpper(c) { + b = append(b, '_') + c += 'a' - 'A' // convert to lowercase + } + b = append(b, c) + } + return string(b) +} + +// MapEntryName derives the name of the map entry message given the field name. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:254-276,6057 +func MapEntryName(s string) string { + var b []byte + upperNext := true + for _, c := range s { + switch { + case c == '_': + upperNext = true + case upperNext: + b = append(b, byte(unicode.ToUpper(c))) + upperNext = false + default: + b = append(b, byte(c)) + } + } + b = append(b, "Entry"...) + return string(b) +} + +// EnumValueName derives the camel-cased enum value name. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:297-313 +func EnumValueName(s string) string { + var b []byte + upperNext := true + for _, c := range s { + switch { + case c == '_': + upperNext = true + case upperNext: + b = append(b, byte(unicode.ToUpper(c))) + upperNext = false + default: + b = append(b, byte(unicode.ToLower(c))) + upperNext = false + } + } + return string(b) +} + +// TrimEnumPrefix trims the enum name prefix from an enum value name, +// where the prefix is all lowercase without underscores. +// See protoc v3.8.0: src/google/protobuf/descriptor.cc:330-375 +func TrimEnumPrefix(s, prefix string) string { + s0 := s // original input + for len(s) > 0 && len(prefix) > 0 { + if s[0] == '_' { + s = s[1:] + continue + } + if unicode.ToLower(rune(s[0])) != rune(prefix[0]) { + return s0 // no prefix match + } + s, prefix = s[1:], prefix[1:] + } + if len(prefix) > 0 { + return s0 // no prefix match + } + s = strings.TrimLeft(s, "_") + if len(s) == 0 { + return s0 // avoid returning empty string + } + return s +} + +func isASCIILower(c byte) bool { + return 'a' <= c && c <= 'z' +} +func isASCIIUpper(c byte) bool { + return 'A' <= c && c <= 'Z' +} +func isASCIIDigit(c byte) bool { + return '0' <= c && c <= '9' +} diff --git a/api_next/internal/protojson/strs/strings_pure.go b/api_next/internal/protojson/strs/strings_pure.go new file mode 100644 index 00000000..a1f6f333 --- /dev/null +++ b/api_next/internal/protojson/strs/strings_pure.go @@ -0,0 +1,28 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build purego || appengine +// +build purego appengine + +package strs + +import pref "google.golang.org/protobuf/reflect/protoreflect" + +func UnsafeString(b []byte) string { + return string(b) +} + +func UnsafeBytes(s string) []byte { + return []byte(s) +} + +type Builder struct{} + +func (*Builder) AppendFullName(prefix pref.FullName, name pref.Name) pref.FullName { + return prefix.Append(name) +} + +func (*Builder) MakeString(b []byte) string { + return string(b) +} diff --git a/api_next/internal/protojson/strs/strings_unsafe.go b/api_next/internal/protojson/strs/strings_unsafe.go new file mode 100644 index 00000000..61a84d34 --- /dev/null +++ b/api_next/internal/protojson/strs/strings_unsafe.go @@ -0,0 +1,95 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +//go:build !purego && !appengine +// +build !purego,!appengine + +package strs + +import ( + "unsafe" + + "google.golang.org/protobuf/reflect/protoreflect" +) + +type ( + stringHeader struct { + Data unsafe.Pointer + Len int + } + sliceHeader struct { + Data unsafe.Pointer + Len int + Cap int + } +) + +// UnsafeString returns an unsafe string reference of b. +// The caller must treat the input slice as immutable. +// +// WARNING: Use carefully. The returned result must not leak to the end user +// unless the input slice is provably immutable. +func UnsafeString(b []byte) (s string) { + src := (*sliceHeader)(unsafe.Pointer(&b)) + dst := (*stringHeader)(unsafe.Pointer(&s)) + dst.Data = src.Data + dst.Len = src.Len + return s +} + +// UnsafeBytes returns an unsafe bytes slice reference of s. +// The caller must treat returned slice as immutable. +// +// WARNING: Use carefully. The returned result must not leak to the end user. +func UnsafeBytes(s string) (b []byte) { + src := (*stringHeader)(unsafe.Pointer(&s)) + dst := (*sliceHeader)(unsafe.Pointer(&b)) + dst.Data = src.Data + dst.Len = src.Len + dst.Cap = src.Len + return b +} + +// Builder builds a set of strings with shared lifetime. +// This differs from strings.Builder, which is for building a single string. +type Builder struct { + buf []byte +} + +// AppendFullName is equivalent to protoreflect.FullName.Append, +// but optimized for large batches where each name has a shared lifetime. +func (sb *Builder) AppendFullName(prefix protoreflect.FullName, name protoreflect.Name) protoreflect.FullName { + n := len(prefix) + len(".") + len(name) + if len(prefix) == 0 { + n -= len(".") + } + sb.grow(n) + sb.buf = append(sb.buf, prefix...) + sb.buf = append(sb.buf, '.') + sb.buf = append(sb.buf, name...) + return protoreflect.FullName(sb.last(n)) +} + +// MakeString is equivalent to string(b), but optimized for large batches +// with a shared lifetime. +func (sb *Builder) MakeString(b []byte) string { + sb.grow(len(b)) + sb.buf = append(sb.buf, b...) + return sb.last(len(b)) +} + +func (sb *Builder) grow(n int) { + if cap(sb.buf)-len(sb.buf) >= n { + return + } + + // Unlike strings.Builder, we do not need to copy over the contents + // of the old buffer since our builder provides no API for + // retrieving previously created strings. + sb.buf = make([]byte, 0, 2*(cap(sb.buf)+n)) +} + +func (sb *Builder) last(n int) string { + return UnsafeString(sb.buf[len(sb.buf)-n:]) +} diff --git a/api_next/internal/protojson/testprotos/enums/enums.pb.go b/api_next/internal/protojson/testprotos/enums/enums.pb.go new file mode 100644 index 00000000..85b6f404 --- /dev/null +++ b/api_next/internal/protojson/testprotos/enums/enums.pb.go @@ -0,0 +1,160 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: internal/testprotos/enums/enums.proto + +package enums + +import ( + reflect "reflect" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +type Enum int32 + +const ( + Enum_DEFAULT Enum = 1337 + Enum_ZERO Enum = 0 + Enum_ONE Enum = 1 + Enum_ELEVENT Enum = 11 + Enum_SEVENTEEN Enum = 17 + Enum_THIRTYSEVEN Enum = 37 + Enum_SIXTYSEVEN Enum = 67 + Enum_NEGATIVE Enum = -1 +) + +// Enum value maps for Enum. +var ( + Enum_name = map[int32]string{ + 1337: "DEFAULT", + 0: "ZERO", + 1: "ONE", + 11: "ELEVENT", + 17: "SEVENTEEN", + 37: "THIRTYSEVEN", + 67: "SIXTYSEVEN", + -1: "NEGATIVE", + } + Enum_value = map[string]int32{ + "DEFAULT": 1337, + "ZERO": 0, + "ONE": 1, + "ELEVENT": 11, + "SEVENTEEN": 17, + "THIRTYSEVEN": 37, + "SIXTYSEVEN": 67, + "NEGATIVE": -1, + } +) + +func (x Enum) Enum() *Enum { + p := new(Enum) + *p = x + return p +} + +func (x Enum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Enum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_enums_enums_proto_enumTypes[0].Descriptor() +} + +func (Enum) Type() protoreflect.EnumType { + return &file_internal_testprotos_enums_enums_proto_enumTypes[0] +} + +func (x Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *Enum) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = Enum(num) + return nil +} + +// Deprecated: Use Enum.Descriptor instead. +func (Enum) EnumDescriptor() ([]byte, []int) { + return file_internal_testprotos_enums_enums_proto_rawDescGZIP(), []int{0} +} + +var File_internal_testprotos_enums_enums_proto protoreflect.FileDescriptor + +var file_internal_testprotos_enums_enums_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x13, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2a, 0x7b, 0x0a, 0x04, + 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0c, 0x0a, 0x07, 0x44, 0x45, 0x46, 0x41, 0x55, 0x4c, 0x54, 0x10, + 0xb9, 0x0a, 0x12, 0x08, 0x0a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, + 0x4f, 0x4e, 0x45, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x4c, 0x45, 0x56, 0x45, 0x4e, 0x54, + 0x10, 0x0b, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x45, 0x45, 0x4e, 0x10, + 0x11, 0x12, 0x0f, 0x0a, 0x0b, 0x54, 0x48, 0x49, 0x52, 0x54, 0x59, 0x53, 0x45, 0x56, 0x45, 0x4e, + 0x10, 0x25, 0x12, 0x0e, 0x0a, 0x0a, 0x53, 0x49, 0x58, 0x54, 0x59, 0x53, 0x45, 0x56, 0x45, 0x4e, + 0x10, 0x43, 0x12, 0x15, 0x0a, 0x08, 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x10, 0xff, + 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x36, 0x5a, 0x34, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, + 0x73, +} + +var ( + file_internal_testprotos_enums_enums_proto_rawDescOnce sync.Once + file_internal_testprotos_enums_enums_proto_rawDescData = file_internal_testprotos_enums_enums_proto_rawDesc +) + +func file_internal_testprotos_enums_enums_proto_rawDescGZIP() []byte { + file_internal_testprotos_enums_enums_proto_rawDescOnce.Do(func() { + file_internal_testprotos_enums_enums_proto_rawDescData = protoimpl.X.CompressGZIP(file_internal_testprotos_enums_enums_proto_rawDescData) + }) + return file_internal_testprotos_enums_enums_proto_rawDescData +} + +var file_internal_testprotos_enums_enums_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_internal_testprotos_enums_enums_proto_goTypes = []interface{}{ + (Enum)(0), // 0: goproto.proto.enums.Enum +} +var file_internal_testprotos_enums_enums_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_internal_testprotos_enums_enums_proto_init() } +func file_internal_testprotos_enums_enums_proto_init() { + if File_internal_testprotos_enums_enums_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_testprotos_enums_enums_proto_rawDesc, + NumEnums: 1, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_testprotos_enums_enums_proto_goTypes, + DependencyIndexes: file_internal_testprotos_enums_enums_proto_depIdxs, + EnumInfos: file_internal_testprotos_enums_enums_proto_enumTypes, + }.Build() + File_internal_testprotos_enums_enums_proto = out.File + file_internal_testprotos_enums_enums_proto_rawDesc = nil + file_internal_testprotos_enums_enums_proto_goTypes = nil + file_internal_testprotos_enums_enums_proto_depIdxs = nil +} diff --git a/api_next/internal/protojson/testprotos/enums/enums.proto b/api_next/internal/protojson/testprotos/enums/enums.proto new file mode 100644 index 00000000..0de7771d --- /dev/null +++ b/api_next/internal/protojson/testprotos/enums/enums.proto @@ -0,0 +1,20 @@ +// Copyright 2021 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto2"; + +package goproto.proto.enums; + +option go_package = "go.temporal.io/api/internal/protojson/testprotos/enums"; + +enum Enum { + DEFAULT = 1337; + ZERO = 0; + ONE = 1; + ELEVENT = 11; + SEVENTEEN = 17; + THIRTYSEVEN = 37; + SIXTYSEVEN = 67; + NEGATIVE = -1; +} diff --git a/api_next/internal/protojson/testprotos/required/required.proto b/api_next/internal/protojson/testprotos/required/required.proto new file mode 100644 index 00000000..53c41981 --- /dev/null +++ b/api_next/internal/protojson/testprotos/required/required.proto @@ -0,0 +1,72 @@ +// Copyright 2020 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto2"; + +package goproto.proto.testrequired; + +option go_package = "google.golang.org/protobuf/internal/testprotos/required"; + +message Int32 { + required int32 v = 1; +} + +message Int64 { + required int64 v = 1; +} + +message Uint32 { + required uint32 v = 1; +} + +message Uint64 { + required uint64 v = 1; +} + +message Sint32 { + required sint32 v = 1; +} + +message Sint64 { + required sint64 v = 1; +} + +message Fixed32 { + required fixed32 v = 1; +} + +message Fixed64 { + required fixed64 v = 1; +} + +message Float { + required float v = 1; +} + +message Double { + required double v = 1; +} + +message Bool { + required bool v = 1; +} + +message String { + required string v = 1; +} + +message Bytes { + required bytes v = 1; +} + +message Message { + message M {} + required M v = 1; +} + +message Group { + required group Group = 1 { + optional int32 v = 1; + } +} diff --git a/api_next/internal/protojson/testprotos/test/test.pb.go b/api_next/internal/protojson/testprotos/test/test.pb.go new file mode 100644 index 00000000..911094f3 --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/test.pb.go @@ -0,0 +1,5032 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.5 +// protoc v5.29.2 +// source: internal/protojson/testprotos/test/test.proto + +package test + +import ( + reflect "reflect" + sync "sync" + unsafe "unsafe" + + enums "go.temporal.io/api/internal/protojson/testprotos/enums" + weak1 "go.temporal.io/api/internal/protojson/testprotos/test/weak1" + weak2 "go.temporal.io/api/internal/protojson/testprotos/test/weak2" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +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) +) + +type ForeignEnum int32 + +const ( + ForeignEnum_FOREIGN_FOO ForeignEnum = 4 + ForeignEnum_FOREIGN_BAR ForeignEnum = 5 + ForeignEnum_FOREIGN_BAZ ForeignEnum = 6 +) + +// Enum value maps for ForeignEnum. +var ( + ForeignEnum_name = map[int32]string{ + 4: "FOREIGN_FOO", + 5: "FOREIGN_BAR", + 6: "FOREIGN_BAZ", + } + ForeignEnum_value = map[string]int32{ + "FOREIGN_FOO": 4, + "FOREIGN_BAR": 5, + "FOREIGN_BAZ": 6, + } +) + +func (x ForeignEnum) Enum() *ForeignEnum { + p := new(ForeignEnum) + *p = x + return p +} + +func (x ForeignEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ForeignEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_protojson_testprotos_test_test_proto_enumTypes[0].Descriptor() +} + +func (ForeignEnum) Type() protoreflect.EnumType { + return &file_internal_protojson_testprotos_test_test_proto_enumTypes[0] +} + +func (x ForeignEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ForeignEnum) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ForeignEnum(num) + return nil +} + +// Deprecated: Use ForeignEnum.Descriptor instead. +func (ForeignEnum) EnumDescriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{0} +} + +type TestReservedEnumFields int32 + +const ( + TestReservedEnumFields_RESERVED_ENUM TestReservedEnumFields = 0 +) + +// Enum value maps for TestReservedEnumFields. +var ( + TestReservedEnumFields_name = map[int32]string{ + 0: "RESERVED_ENUM", + } + TestReservedEnumFields_value = map[string]int32{ + "RESERVED_ENUM": 0, + } +) + +func (x TestReservedEnumFields) Enum() *TestReservedEnumFields { + p := new(TestReservedEnumFields) + *p = x + return p +} + +func (x TestReservedEnumFields) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TestReservedEnumFields) Descriptor() protoreflect.EnumDescriptor { + return file_internal_protojson_testprotos_test_test_proto_enumTypes[1].Descriptor() +} + +func (TestReservedEnumFields) Type() protoreflect.EnumType { + return &file_internal_protojson_testprotos_test_test_proto_enumTypes[1] +} + +func (x TestReservedEnumFields) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *TestReservedEnumFields) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = TestReservedEnumFields(num) + return nil +} + +// Deprecated: Use TestReservedEnumFields.Descriptor instead. +func (TestReservedEnumFields) EnumDescriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{1} +} + +type TestAllTypes_NestedEnum int32 + +const ( + TestAllTypes_FOO TestAllTypes_NestedEnum = 0 + TestAllTypes_BAR TestAllTypes_NestedEnum = 1 + TestAllTypes_BAZ TestAllTypes_NestedEnum = 2 + TestAllTypes_NEG TestAllTypes_NestedEnum = -1 // Intentionally negative. +) + +// Enum value maps for TestAllTypes_NestedEnum. +var ( + TestAllTypes_NestedEnum_name = map[int32]string{ + 0: "FOO", + 1: "BAR", + 2: "BAZ", + -1: "NEG", + } + TestAllTypes_NestedEnum_value = map[string]int32{ + "FOO": 0, + "BAR": 1, + "BAZ": 2, + "NEG": -1, + } +) + +func (x TestAllTypes_NestedEnum) Enum() *TestAllTypes_NestedEnum { + p := new(TestAllTypes_NestedEnum) + *p = x + return p +} + +func (x TestAllTypes_NestedEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TestAllTypes_NestedEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_protojson_testprotos_test_test_proto_enumTypes[2].Descriptor() +} + +func (TestAllTypes_NestedEnum) Type() protoreflect.EnumType { + return &file_internal_protojson_testprotos_test_test_proto_enumTypes[2] +} + +func (x TestAllTypes_NestedEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *TestAllTypes_NestedEnum) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = TestAllTypes_NestedEnum(num) + return nil +} + +// Deprecated: Use TestAllTypes_NestedEnum.Descriptor instead. +func (TestAllTypes_NestedEnum) EnumDescriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{0, 0} +} + +// Deprecated: Marked as deprecated in internal/protojson/testprotos/test/test.proto. +type TestDeprecatedMessage_DeprecatedEnum int32 + +const ( + // Deprecated: Marked as deprecated in internal/protojson/testprotos/test/test.proto. + TestDeprecatedMessage_DEPRECATED TestDeprecatedMessage_DeprecatedEnum = 0 +) + +// Enum value maps for TestDeprecatedMessage_DeprecatedEnum. +var ( + TestDeprecatedMessage_DeprecatedEnum_name = map[int32]string{ + 0: "DEPRECATED", + } + TestDeprecatedMessage_DeprecatedEnum_value = map[string]int32{ + "DEPRECATED": 0, + } +) + +func (x TestDeprecatedMessage_DeprecatedEnum) Enum() *TestDeprecatedMessage_DeprecatedEnum { + p := new(TestDeprecatedMessage_DeprecatedEnum) + *p = x + return p +} + +func (x TestDeprecatedMessage_DeprecatedEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (TestDeprecatedMessage_DeprecatedEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_protojson_testprotos_test_test_proto_enumTypes[3].Descriptor() +} + +func (TestDeprecatedMessage_DeprecatedEnum) Type() protoreflect.EnumType { + return &file_internal_protojson_testprotos_test_test_proto_enumTypes[3] +} + +func (x TestDeprecatedMessage_DeprecatedEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *TestDeprecatedMessage_DeprecatedEnum) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = TestDeprecatedMessage_DeprecatedEnum(num) + return nil +} + +// Deprecated: Use TestDeprecatedMessage_DeprecatedEnum.Descriptor instead. +func (TestDeprecatedMessage_DeprecatedEnum) EnumDescriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{1, 0} +} + +type TestAllTypes struct { + state protoimpl.MessageState `protogen:"open.v1"` + OptionalInt32 *int32 `protobuf:"varint,1,opt,name=optional_int32,json=optionalInt32" json:"optional_int32,omitempty"` + OptionalInt64 *int64 `protobuf:"varint,2,opt,name=optional_int64,json=optionalInt64" json:"optional_int64,omitempty"` + OptionalUint32 *uint32 `protobuf:"varint,3,opt,name=optional_uint32,json=optionalUint32" json:"optional_uint32,omitempty"` + OptionalUint64 *uint64 `protobuf:"varint,4,opt,name=optional_uint64,json=optionalUint64" json:"optional_uint64,omitempty"` + OptionalSint32 *int32 `protobuf:"zigzag32,5,opt,name=optional_sint32,json=optionalSint32" json:"optional_sint32,omitempty"` + OptionalSint64 *int64 `protobuf:"zigzag64,6,opt,name=optional_sint64,json=optionalSint64" json:"optional_sint64,omitempty"` + OptionalFixed32 *uint32 `protobuf:"fixed32,7,opt,name=optional_fixed32,json=optionalFixed32" json:"optional_fixed32,omitempty"` + OptionalFixed64 *uint64 `protobuf:"fixed64,8,opt,name=optional_fixed64,json=optionalFixed64" json:"optional_fixed64,omitempty"` + OptionalSfixed32 *int32 `protobuf:"fixed32,9,opt,name=optional_sfixed32,json=optionalSfixed32" json:"optional_sfixed32,omitempty"` + OptionalSfixed64 *int64 `protobuf:"fixed64,10,opt,name=optional_sfixed64,json=optionalSfixed64" json:"optional_sfixed64,omitempty"` + OptionalFloat *float32 `protobuf:"fixed32,11,opt,name=optional_float,json=optionalFloat" json:"optional_float,omitempty"` + OptionalDouble *float64 `protobuf:"fixed64,12,opt,name=optional_double,json=optionalDouble" json:"optional_double,omitempty"` + OptionalBool *bool `protobuf:"varint,13,opt,name=optional_bool,json=optionalBool" json:"optional_bool,omitempty"` + OptionalString *string `protobuf:"bytes,14,opt,name=optional_string,json=optionalString" json:"optional_string,omitempty"` + OptionalBytes []byte `protobuf:"bytes,15,opt,name=optional_bytes,json=optionalBytes" json:"optional_bytes,omitempty"` + Optionalgroup *TestAllTypes_OptionalGroup `protobuf:"group,16,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"` + OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,18,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"` + OptionalForeignMessage *ForeignMessage `protobuf:"bytes,19,opt,name=optional_foreign_message,json=optionalForeignMessage" json:"optional_foreign_message,omitempty"` + OptionalImportMessage *ImportMessage `protobuf:"bytes,20,opt,name=optional_import_message,json=optionalImportMessage" json:"optional_import_message,omitempty"` + OptionalNestedEnum *TestAllTypes_NestedEnum `protobuf:"varint,21,opt,name=optional_nested_enum,json=optionalNestedEnum,enum=goproto.proto.test.TestAllTypes_NestedEnum" json:"optional_nested_enum,omitempty"` + OptionalForeignEnum *ForeignEnum `protobuf:"varint,22,opt,name=optional_foreign_enum,json=optionalForeignEnum,enum=goproto.proto.test.ForeignEnum" json:"optional_foreign_enum,omitempty"` + OptionalImportEnum *ImportEnum `protobuf:"varint,23,opt,name=optional_import_enum,json=optionalImportEnum,enum=goproto.proto.test.ImportEnum" json:"optional_import_enum,omitempty"` + RepeatedInt32 []int32 `protobuf:"varint,31,rep,name=repeated_int32,json=repeatedInt32" json:"repeated_int32,omitempty"` + RepeatedInt64 []int64 `protobuf:"varint,32,rep,name=repeated_int64,json=repeatedInt64" json:"repeated_int64,omitempty"` + RepeatedUint32 []uint32 `protobuf:"varint,33,rep,name=repeated_uint32,json=repeatedUint32" json:"repeated_uint32,omitempty"` + RepeatedUint64 []uint64 `protobuf:"varint,34,rep,name=repeated_uint64,json=repeatedUint64" json:"repeated_uint64,omitempty"` + RepeatedSint32 []int32 `protobuf:"zigzag32,35,rep,name=repeated_sint32,json=repeatedSint32" json:"repeated_sint32,omitempty"` + RepeatedSint64 []int64 `protobuf:"zigzag64,36,rep,name=repeated_sint64,json=repeatedSint64" json:"repeated_sint64,omitempty"` + RepeatedFixed32 []uint32 `protobuf:"fixed32,37,rep,name=repeated_fixed32,json=repeatedFixed32" json:"repeated_fixed32,omitempty"` + RepeatedFixed64 []uint64 `protobuf:"fixed64,38,rep,name=repeated_fixed64,json=repeatedFixed64" json:"repeated_fixed64,omitempty"` + RepeatedSfixed32 []int32 `protobuf:"fixed32,39,rep,name=repeated_sfixed32,json=repeatedSfixed32" json:"repeated_sfixed32,omitempty"` + RepeatedSfixed64 []int64 `protobuf:"fixed64,40,rep,name=repeated_sfixed64,json=repeatedSfixed64" json:"repeated_sfixed64,omitempty"` + RepeatedFloat []float32 `protobuf:"fixed32,41,rep,name=repeated_float,json=repeatedFloat" json:"repeated_float,omitempty"` + RepeatedDouble []float64 `protobuf:"fixed64,42,rep,name=repeated_double,json=repeatedDouble" json:"repeated_double,omitempty"` + RepeatedBool []bool `protobuf:"varint,43,rep,name=repeated_bool,json=repeatedBool" json:"repeated_bool,omitempty"` + RepeatedString []string `protobuf:"bytes,44,rep,name=repeated_string,json=repeatedString" json:"repeated_string,omitempty"` + RepeatedBytes [][]byte `protobuf:"bytes,45,rep,name=repeated_bytes,json=repeatedBytes" json:"repeated_bytes,omitempty"` + Repeatedgroup []*TestAllTypes_RepeatedGroup `protobuf:"group,46,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"` + RepeatedNestedMessage []*TestAllTypes_NestedMessage `protobuf:"bytes,48,rep,name=repeated_nested_message,json=repeatedNestedMessage" json:"repeated_nested_message,omitempty"` + RepeatedForeignMessage []*ForeignMessage `protobuf:"bytes,49,rep,name=repeated_foreign_message,json=repeatedForeignMessage" json:"repeated_foreign_message,omitempty"` + RepeatedImportmessage []*ImportMessage `protobuf:"bytes,50,rep,name=repeated_importmessage,json=repeatedImportmessage" json:"repeated_importmessage,omitempty"` + RepeatedNestedEnum []TestAllTypes_NestedEnum `protobuf:"varint,51,rep,name=repeated_nested_enum,json=repeatedNestedEnum,enum=goproto.proto.test.TestAllTypes_NestedEnum" json:"repeated_nested_enum,omitempty"` + RepeatedForeignEnum []ForeignEnum `protobuf:"varint,52,rep,name=repeated_foreign_enum,json=repeatedForeignEnum,enum=goproto.proto.test.ForeignEnum" json:"repeated_foreign_enum,omitempty"` + RepeatedImportenum []ImportEnum `protobuf:"varint,53,rep,name=repeated_importenum,json=repeatedImportenum,enum=goproto.proto.test.ImportEnum" json:"repeated_importenum,omitempty"` + MapInt32Int32 map[int32]int32 `protobuf:"bytes,56,rep,name=map_int32_int32,json=mapInt32Int32" json:"map_int32_int32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + MapInt64Int64 map[int64]int64 `protobuf:"bytes,57,rep,name=map_int64_int64,json=mapInt64Int64" json:"map_int64_int64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + MapUint32Uint32 map[uint32]uint32 `protobuf:"bytes,58,rep,name=map_uint32_uint32,json=mapUint32Uint32" json:"map_uint32_uint32,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + MapUint64Uint64 map[uint64]uint64 `protobuf:"bytes,59,rep,name=map_uint64_uint64,json=mapUint64Uint64" json:"map_uint64_uint64,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + MapSint32Sint32 map[int32]int32 `protobuf:"bytes,60,rep,name=map_sint32_sint32,json=mapSint32Sint32" json:"map_sint32_sint32,omitempty" protobuf_key:"zigzag32,1,opt,name=key" protobuf_val:"zigzag32,2,opt,name=value"` + MapSint64Sint64 map[int64]int64 `protobuf:"bytes,61,rep,name=map_sint64_sint64,json=mapSint64Sint64" json:"map_sint64_sint64,omitempty" protobuf_key:"zigzag64,1,opt,name=key" protobuf_val:"zigzag64,2,opt,name=value"` + MapFixed32Fixed32 map[uint32]uint32 `protobuf:"bytes,62,rep,name=map_fixed32_fixed32,json=mapFixed32Fixed32" json:"map_fixed32_fixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"` + MapFixed64Fixed64 map[uint64]uint64 `protobuf:"bytes,63,rep,name=map_fixed64_fixed64,json=mapFixed64Fixed64" json:"map_fixed64_fixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"` + MapSfixed32Sfixed32 map[int32]int32 `protobuf:"bytes,64,rep,name=map_sfixed32_sfixed32,json=mapSfixed32Sfixed32" json:"map_sfixed32_sfixed32,omitempty" protobuf_key:"fixed32,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"` + MapSfixed64Sfixed64 map[int64]int64 `protobuf:"bytes,65,rep,name=map_sfixed64_sfixed64,json=mapSfixed64Sfixed64" json:"map_sfixed64_sfixed64,omitempty" protobuf_key:"fixed64,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"` + MapInt32Float map[int32]float32 `protobuf:"bytes,66,rep,name=map_int32_float,json=mapInt32Float" json:"map_int32_float,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"` + MapInt32Double map[int32]float64 `protobuf:"bytes,67,rep,name=map_int32_double,json=mapInt32Double" json:"map_int32_double,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"fixed64,2,opt,name=value"` + MapBoolBool map[bool]bool `protobuf:"bytes,68,rep,name=map_bool_bool,json=mapBoolBool" json:"map_bool_bool,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + MapStringString map[string]string `protobuf:"bytes,69,rep,name=map_string_string,json=mapStringString" json:"map_string_string,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + MapStringBytes map[string][]byte `protobuf:"bytes,70,rep,name=map_string_bytes,json=mapStringBytes" json:"map_string_bytes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + MapStringNestedMessage map[string]*TestAllTypes_NestedMessage `protobuf:"bytes,71,rep,name=map_string_nested_message,json=mapStringNestedMessage" json:"map_string_nested_message,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + MapStringNestedEnum map[string]TestAllTypes_NestedEnum `protobuf:"bytes,73,rep,name=map_string_nested_enum,json=mapStringNestedEnum" json:"map_string_nested_enum,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=goproto.proto.test.TestAllTypes_NestedEnum"` + // Singular with defaults + DefaultInt32 *int32 `protobuf:"varint,81,opt,name=default_int32,json=defaultInt32,def=81" json:"default_int32,omitempty"` + DefaultInt64 *int64 `protobuf:"varint,82,opt,name=default_int64,json=defaultInt64,def=82" json:"default_int64,omitempty"` + DefaultUint32 *uint32 `protobuf:"varint,83,opt,name=default_uint32,json=defaultUint32,def=83" json:"default_uint32,omitempty"` + DefaultUint64 *uint64 `protobuf:"varint,84,opt,name=default_uint64,json=defaultUint64,def=84" json:"default_uint64,omitempty"` + DefaultSint32 *int32 `protobuf:"zigzag32,85,opt,name=default_sint32,json=defaultSint32,def=-85" json:"default_sint32,omitempty"` + DefaultSint64 *int64 `protobuf:"zigzag64,86,opt,name=default_sint64,json=defaultSint64,def=86" json:"default_sint64,omitempty"` + DefaultFixed32 *uint32 `protobuf:"fixed32,87,opt,name=default_fixed32,json=defaultFixed32,def=87" json:"default_fixed32,omitempty"` + DefaultFixed64 *uint64 `protobuf:"fixed64,88,opt,name=default_fixed64,json=defaultFixed64,def=88" json:"default_fixed64,omitempty"` + DefaultSfixed32 *int32 `protobuf:"fixed32,89,opt,name=default_sfixed32,json=defaultSfixed32,def=89" json:"default_sfixed32,omitempty"` + DefaultSfixed64 *int64 `protobuf:"fixed64,80,opt,name=default_sfixed64,json=defaultSfixed64,def=-90" json:"default_sfixed64,omitempty"` + DefaultFloat *float32 `protobuf:"fixed32,91,opt,name=default_float,json=defaultFloat,def=91.5" json:"default_float,omitempty"` + DefaultDouble *float64 `protobuf:"fixed64,92,opt,name=default_double,json=defaultDouble,def=92000" json:"default_double,omitempty"` + DefaultBool *bool `protobuf:"varint,93,opt,name=default_bool,json=defaultBool,def=1" json:"default_bool,omitempty"` + DefaultString *string `protobuf:"bytes,94,opt,name=default_string,json=defaultString,def=hello" json:"default_string,omitempty"` + DefaultBytes []byte `protobuf:"bytes,95,opt,name=default_bytes,json=defaultBytes,def=world" json:"default_bytes,omitempty"` + DefaultNestedEnum *TestAllTypes_NestedEnum `protobuf:"varint,96,opt,name=default_nested_enum,json=defaultNestedEnum,enum=goproto.proto.test.TestAllTypes_NestedEnum,def=1" json:"default_nested_enum,omitempty"` + DefaultForeignEnum *ForeignEnum `protobuf:"varint,97,opt,name=default_foreign_enum,json=defaultForeignEnum,enum=goproto.proto.test.ForeignEnum,def=5" json:"default_foreign_enum,omitempty"` + // Types that are valid to be assigned to OneofField: + // + // *TestAllTypes_OneofUint32 + // *TestAllTypes_OneofNestedMessage + // *TestAllTypes_OneofString + // *TestAllTypes_OneofBytes + // *TestAllTypes_OneofBool + // *TestAllTypes_OneofUint64 + // *TestAllTypes_OneofFloat + // *TestAllTypes_OneofDouble + // *TestAllTypes_OneofEnum + // *TestAllTypes_Oneofgroup + OneofField isTestAllTypes_OneofField `protobuf_oneof:"oneof_field"` + // A oneof with exactly one field. + // + // Types that are valid to be assigned to OneofOptional: + // + // *TestAllTypes_OneofOptionalUint32 + OneofOptional isTestAllTypes_OneofOptional `protobuf_oneof:"oneof_optional"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Default values for TestAllTypes fields. +const ( + Default_TestAllTypes_DefaultInt32 = int32(81) + Default_TestAllTypes_DefaultInt64 = int64(82) + Default_TestAllTypes_DefaultUint32 = uint32(83) + Default_TestAllTypes_DefaultUint64 = uint64(84) + Default_TestAllTypes_DefaultSint32 = int32(-85) + Default_TestAllTypes_DefaultSint64 = int64(86) + Default_TestAllTypes_DefaultFixed32 = uint32(87) + Default_TestAllTypes_DefaultFixed64 = uint64(88) + Default_TestAllTypes_DefaultSfixed32 = int32(89) + Default_TestAllTypes_DefaultSfixed64 = int64(-90) + Default_TestAllTypes_DefaultFloat = float32(91.5) + Default_TestAllTypes_DefaultDouble = float64(92000) + Default_TestAllTypes_DefaultBool = bool(true) + Default_TestAllTypes_DefaultString = string("hello") + Default_TestAllTypes_DefaultNestedEnum = TestAllTypes_BAR + Default_TestAllTypes_DefaultForeignEnum = ForeignEnum_FOREIGN_BAR +) + +// Default values for TestAllTypes fields. +var ( + Default_TestAllTypes_DefaultBytes = []byte("world") +) + +func (x *TestAllTypes) Reset() { + *x = TestAllTypes{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes) ProtoMessage() {} + +func (x *TestAllTypes) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestAllTypes.ProtoReflect.Descriptor instead. +func (*TestAllTypes) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{0} +} + +func (x *TestAllTypes) GetOptionalInt32() int32 { + if x != nil && x.OptionalInt32 != nil { + return *x.OptionalInt32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalInt64() int64 { + if x != nil && x.OptionalInt64 != nil { + return *x.OptionalInt64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalUint32() uint32 { + if x != nil && x.OptionalUint32 != nil { + return *x.OptionalUint32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalUint64() uint64 { + if x != nil && x.OptionalUint64 != nil { + return *x.OptionalUint64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSint32() int32 { + if x != nil && x.OptionalSint32 != nil { + return *x.OptionalSint32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSint64() int64 { + if x != nil && x.OptionalSint64 != nil { + return *x.OptionalSint64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFixed32() uint32 { + if x != nil && x.OptionalFixed32 != nil { + return *x.OptionalFixed32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFixed64() uint64 { + if x != nil && x.OptionalFixed64 != nil { + return *x.OptionalFixed64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSfixed32() int32 { + if x != nil && x.OptionalSfixed32 != nil { + return *x.OptionalSfixed32 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalSfixed64() int64 { + if x != nil && x.OptionalSfixed64 != nil { + return *x.OptionalSfixed64 + } + return 0 +} + +func (x *TestAllTypes) GetOptionalFloat() float32 { + if x != nil && x.OptionalFloat != nil { + return *x.OptionalFloat + } + return 0 +} + +func (x *TestAllTypes) GetOptionalDouble() float64 { + if x != nil && x.OptionalDouble != nil { + return *x.OptionalDouble + } + return 0 +} + +func (x *TestAllTypes) GetOptionalBool() bool { + if x != nil && x.OptionalBool != nil { + return *x.OptionalBool + } + return false +} + +func (x *TestAllTypes) GetOptionalString() string { + if x != nil && x.OptionalString != nil { + return *x.OptionalString + } + return "" +} + +func (x *TestAllTypes) GetOptionalBytes() []byte { + if x != nil { + return x.OptionalBytes + } + return nil +} + +func (x *TestAllTypes) GetOptionalgroup() *TestAllTypes_OptionalGroup { + if x != nil { + return x.Optionalgroup + } + return nil +} + +func (x *TestAllTypes) GetOptionalNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + return x.OptionalNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalForeignMessage() *ForeignMessage { + if x != nil { + return x.OptionalForeignMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalImportMessage() *ImportMessage { + if x != nil { + return x.OptionalImportMessage + } + return nil +} + +func (x *TestAllTypes) GetOptionalNestedEnum() TestAllTypes_NestedEnum { + if x != nil && x.OptionalNestedEnum != nil { + return *x.OptionalNestedEnum + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) GetOptionalForeignEnum() ForeignEnum { + if x != nil && x.OptionalForeignEnum != nil { + return *x.OptionalForeignEnum + } + return ForeignEnum_FOREIGN_FOO +} + +func (x *TestAllTypes) GetOptionalImportEnum() ImportEnum { + if x != nil && x.OptionalImportEnum != nil { + return *x.OptionalImportEnum + } + return ImportEnum_IMPORT_ZERO +} + +func (x *TestAllTypes) GetRepeatedInt32() []int32 { + if x != nil { + return x.RepeatedInt32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedInt64() []int64 { + if x != nil { + return x.RepeatedInt64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedUint32() []uint32 { + if x != nil { + return x.RepeatedUint32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedUint64() []uint64 { + if x != nil { + return x.RepeatedUint64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSint32() []int32 { + if x != nil { + return x.RepeatedSint32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSint64() []int64 { + if x != nil { + return x.RepeatedSint64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFixed32() []uint32 { + if x != nil { + return x.RepeatedFixed32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFixed64() []uint64 { + if x != nil { + return x.RepeatedFixed64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSfixed32() []int32 { + if x != nil { + return x.RepeatedSfixed32 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedSfixed64() []int64 { + if x != nil { + return x.RepeatedSfixed64 + } + return nil +} + +func (x *TestAllTypes) GetRepeatedFloat() []float32 { + if x != nil { + return x.RepeatedFloat + } + return nil +} + +func (x *TestAllTypes) GetRepeatedDouble() []float64 { + if x != nil { + return x.RepeatedDouble + } + return nil +} + +func (x *TestAllTypes) GetRepeatedBool() []bool { + if x != nil { + return x.RepeatedBool + } + return nil +} + +func (x *TestAllTypes) GetRepeatedString() []string { + if x != nil { + return x.RepeatedString + } + return nil +} + +func (x *TestAllTypes) GetRepeatedBytes() [][]byte { + if x != nil { + return x.RepeatedBytes + } + return nil +} + +func (x *TestAllTypes) GetRepeatedgroup() []*TestAllTypes_RepeatedGroup { + if x != nil { + return x.Repeatedgroup + } + return nil +} + +func (x *TestAllTypes) GetRepeatedNestedMessage() []*TestAllTypes_NestedMessage { + if x != nil { + return x.RepeatedNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetRepeatedForeignMessage() []*ForeignMessage { + if x != nil { + return x.RepeatedForeignMessage + } + return nil +} + +func (x *TestAllTypes) GetRepeatedImportmessage() []*ImportMessage { + if x != nil { + return x.RepeatedImportmessage + } + return nil +} + +func (x *TestAllTypes) GetRepeatedNestedEnum() []TestAllTypes_NestedEnum { + if x != nil { + return x.RepeatedNestedEnum + } + return nil +} + +func (x *TestAllTypes) GetRepeatedForeignEnum() []ForeignEnum { + if x != nil { + return x.RepeatedForeignEnum + } + return nil +} + +func (x *TestAllTypes) GetRepeatedImportenum() []ImportEnum { + if x != nil { + return x.RepeatedImportenum + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Int32() map[int32]int32 { + if x != nil { + return x.MapInt32Int32 + } + return nil +} + +func (x *TestAllTypes) GetMapInt64Int64() map[int64]int64 { + if x != nil { + return x.MapInt64Int64 + } + return nil +} + +func (x *TestAllTypes) GetMapUint32Uint32() map[uint32]uint32 { + if x != nil { + return x.MapUint32Uint32 + } + return nil +} + +func (x *TestAllTypes) GetMapUint64Uint64() map[uint64]uint64 { + if x != nil { + return x.MapUint64Uint64 + } + return nil +} + +func (x *TestAllTypes) GetMapSint32Sint32() map[int32]int32 { + if x != nil { + return x.MapSint32Sint32 + } + return nil +} + +func (x *TestAllTypes) GetMapSint64Sint64() map[int64]int64 { + if x != nil { + return x.MapSint64Sint64 + } + return nil +} + +func (x *TestAllTypes) GetMapFixed32Fixed32() map[uint32]uint32 { + if x != nil { + return x.MapFixed32Fixed32 + } + return nil +} + +func (x *TestAllTypes) GetMapFixed64Fixed64() map[uint64]uint64 { + if x != nil { + return x.MapFixed64Fixed64 + } + return nil +} + +func (x *TestAllTypes) GetMapSfixed32Sfixed32() map[int32]int32 { + if x != nil { + return x.MapSfixed32Sfixed32 + } + return nil +} + +func (x *TestAllTypes) GetMapSfixed64Sfixed64() map[int64]int64 { + if x != nil { + return x.MapSfixed64Sfixed64 + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Float() map[int32]float32 { + if x != nil { + return x.MapInt32Float + } + return nil +} + +func (x *TestAllTypes) GetMapInt32Double() map[int32]float64 { + if x != nil { + return x.MapInt32Double + } + return nil +} + +func (x *TestAllTypes) GetMapBoolBool() map[bool]bool { + if x != nil { + return x.MapBoolBool + } + return nil +} + +func (x *TestAllTypes) GetMapStringString() map[string]string { + if x != nil { + return x.MapStringString + } + return nil +} + +func (x *TestAllTypes) GetMapStringBytes() map[string][]byte { + if x != nil { + return x.MapStringBytes + } + return nil +} + +func (x *TestAllTypes) GetMapStringNestedMessage() map[string]*TestAllTypes_NestedMessage { + if x != nil { + return x.MapStringNestedMessage + } + return nil +} + +func (x *TestAllTypes) GetMapStringNestedEnum() map[string]TestAllTypes_NestedEnum { + if x != nil { + return x.MapStringNestedEnum + } + return nil +} + +func (x *TestAllTypes) GetDefaultInt32() int32 { + if x != nil && x.DefaultInt32 != nil { + return *x.DefaultInt32 + } + return Default_TestAllTypes_DefaultInt32 +} + +func (x *TestAllTypes) GetDefaultInt64() int64 { + if x != nil && x.DefaultInt64 != nil { + return *x.DefaultInt64 + } + return Default_TestAllTypes_DefaultInt64 +} + +func (x *TestAllTypes) GetDefaultUint32() uint32 { + if x != nil && x.DefaultUint32 != nil { + return *x.DefaultUint32 + } + return Default_TestAllTypes_DefaultUint32 +} + +func (x *TestAllTypes) GetDefaultUint64() uint64 { + if x != nil && x.DefaultUint64 != nil { + return *x.DefaultUint64 + } + return Default_TestAllTypes_DefaultUint64 +} + +func (x *TestAllTypes) GetDefaultSint32() int32 { + if x != nil && x.DefaultSint32 != nil { + return *x.DefaultSint32 + } + return Default_TestAllTypes_DefaultSint32 +} + +func (x *TestAllTypes) GetDefaultSint64() int64 { + if x != nil && x.DefaultSint64 != nil { + return *x.DefaultSint64 + } + return Default_TestAllTypes_DefaultSint64 +} + +func (x *TestAllTypes) GetDefaultFixed32() uint32 { + if x != nil && x.DefaultFixed32 != nil { + return *x.DefaultFixed32 + } + return Default_TestAllTypes_DefaultFixed32 +} + +func (x *TestAllTypes) GetDefaultFixed64() uint64 { + if x != nil && x.DefaultFixed64 != nil { + return *x.DefaultFixed64 + } + return Default_TestAllTypes_DefaultFixed64 +} + +func (x *TestAllTypes) GetDefaultSfixed32() int32 { + if x != nil && x.DefaultSfixed32 != nil { + return *x.DefaultSfixed32 + } + return Default_TestAllTypes_DefaultSfixed32 +} + +func (x *TestAllTypes) GetDefaultSfixed64() int64 { + if x != nil && x.DefaultSfixed64 != nil { + return *x.DefaultSfixed64 + } + return Default_TestAllTypes_DefaultSfixed64 +} + +func (x *TestAllTypes) GetDefaultFloat() float32 { + if x != nil && x.DefaultFloat != nil { + return *x.DefaultFloat + } + return Default_TestAllTypes_DefaultFloat +} + +func (x *TestAllTypes) GetDefaultDouble() float64 { + if x != nil && x.DefaultDouble != nil { + return *x.DefaultDouble + } + return Default_TestAllTypes_DefaultDouble +} + +func (x *TestAllTypes) GetDefaultBool() bool { + if x != nil && x.DefaultBool != nil { + return *x.DefaultBool + } + return Default_TestAllTypes_DefaultBool +} + +func (x *TestAllTypes) GetDefaultString() string { + if x != nil && x.DefaultString != nil { + return *x.DefaultString + } + return Default_TestAllTypes_DefaultString +} + +func (x *TestAllTypes) GetDefaultBytes() []byte { + if x != nil && x.DefaultBytes != nil { + return x.DefaultBytes + } + return append([]byte(nil), Default_TestAllTypes_DefaultBytes...) +} + +func (x *TestAllTypes) GetDefaultNestedEnum() TestAllTypes_NestedEnum { + if x != nil && x.DefaultNestedEnum != nil { + return *x.DefaultNestedEnum + } + return Default_TestAllTypes_DefaultNestedEnum +} + +func (x *TestAllTypes) GetDefaultForeignEnum() ForeignEnum { + if x != nil && x.DefaultForeignEnum != nil { + return *x.DefaultForeignEnum + } + return Default_TestAllTypes_DefaultForeignEnum +} + +func (x *TestAllTypes) GetOneofField() isTestAllTypes_OneofField { + if x != nil { + return x.OneofField + } + return nil +} + +func (x *TestAllTypes) GetOneofUint32() uint32 { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofUint32); ok { + return x.OneofUint32 + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofNestedMessage); ok { + return x.OneofNestedMessage + } + } + return nil +} + +func (x *TestAllTypes) GetOneofString() string { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofString); ok { + return x.OneofString + } + } + return "" +} + +func (x *TestAllTypes) GetOneofBytes() []byte { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofBytes); ok { + return x.OneofBytes + } + } + return nil +} + +func (x *TestAllTypes) GetOneofBool() bool { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofBool); ok { + return x.OneofBool + } + } + return false +} + +func (x *TestAllTypes) GetOneofUint64() uint64 { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofUint64); ok { + return x.OneofUint64 + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofFloat() float32 { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofFloat); ok { + return x.OneofFloat + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofDouble() float64 { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofDouble); ok { + return x.OneofDouble + } + } + return 0 +} + +func (x *TestAllTypes) GetOneofEnum() TestAllTypes_NestedEnum { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_OneofEnum); ok { + return x.OneofEnum + } + } + return TestAllTypes_FOO +} + +func (x *TestAllTypes) GetOneofgroup() *TestAllTypes_OneofGroup { + if x != nil { + if x, ok := x.OneofField.(*TestAllTypes_Oneofgroup); ok { + return x.Oneofgroup + } + } + return nil +} + +func (x *TestAllTypes) GetOneofOptional() isTestAllTypes_OneofOptional { + if x != nil { + return x.OneofOptional + } + return nil +} + +func (x *TestAllTypes) GetOneofOptionalUint32() uint32 { + if x != nil { + if x, ok := x.OneofOptional.(*TestAllTypes_OneofOptionalUint32); ok { + return x.OneofOptionalUint32 + } + } + return 0 +} + +type isTestAllTypes_OneofField interface { + isTestAllTypes_OneofField() +} + +type TestAllTypes_OneofUint32 struct { + OneofUint32 uint32 `protobuf:"varint,111,opt,name=oneof_uint32,json=oneofUint32,oneof"` +} + +type TestAllTypes_OneofNestedMessage struct { + OneofNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,112,opt,name=oneof_nested_message,json=oneofNestedMessage,oneof"` +} + +type TestAllTypes_OneofString struct { + OneofString string `protobuf:"bytes,113,opt,name=oneof_string,json=oneofString,oneof"` +} + +type TestAllTypes_OneofBytes struct { + OneofBytes []byte `protobuf:"bytes,114,opt,name=oneof_bytes,json=oneofBytes,oneof"` +} + +type TestAllTypes_OneofBool struct { + OneofBool bool `protobuf:"varint,115,opt,name=oneof_bool,json=oneofBool,oneof"` +} + +type TestAllTypes_OneofUint64 struct { + OneofUint64 uint64 `protobuf:"varint,116,opt,name=oneof_uint64,json=oneofUint64,oneof"` +} + +type TestAllTypes_OneofFloat struct { + OneofFloat float32 `protobuf:"fixed32,117,opt,name=oneof_float,json=oneofFloat,oneof"` +} + +type TestAllTypes_OneofDouble struct { + OneofDouble float64 `protobuf:"fixed64,118,opt,name=oneof_double,json=oneofDouble,oneof"` +} + +type TestAllTypes_OneofEnum struct { + OneofEnum TestAllTypes_NestedEnum `protobuf:"varint,119,opt,name=oneof_enum,json=oneofEnum,enum=goproto.proto.test.TestAllTypes_NestedEnum,oneof"` +} + +type TestAllTypes_Oneofgroup struct { + Oneofgroup *TestAllTypes_OneofGroup `protobuf:"group,121,opt,name=OneofGroup,json=oneofgroup,oneof"` +} + +func (*TestAllTypes_OneofUint32) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofNestedMessage) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofString) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofBytes) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofBool) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofUint64) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofFloat) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofDouble) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_OneofEnum) isTestAllTypes_OneofField() {} + +func (*TestAllTypes_Oneofgroup) isTestAllTypes_OneofField() {} + +type isTestAllTypes_OneofOptional interface { + isTestAllTypes_OneofOptional() +} + +type TestAllTypes_OneofOptionalUint32 struct { + OneofOptionalUint32 uint32 `protobuf:"varint,120,opt,name=oneof_optional_uint32,json=oneofOptionalUint32,oneof"` +} + +func (*TestAllTypes_OneofOptionalUint32) isTestAllTypes_OneofOptional() {} + +// Deprecated: Marked as deprecated in internal/protojson/testprotos/test/test.proto. +type TestDeprecatedMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated: Marked as deprecated in internal/protojson/testprotos/test/test.proto. + DeprecatedInt32 *int32 `protobuf:"varint,1,opt,name=deprecated_int32,json=deprecatedInt32" json:"deprecated_int32,omitempty"` + // Types that are valid to be assigned to DeprecatedOneof: + // + // *TestDeprecatedMessage_DeprecatedOneofField + DeprecatedOneof isTestDeprecatedMessage_DeprecatedOneof `protobuf_oneof:"deprecated_oneof"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestDeprecatedMessage) Reset() { + *x = TestDeprecatedMessage{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestDeprecatedMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestDeprecatedMessage) ProtoMessage() {} + +func (x *TestDeprecatedMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestDeprecatedMessage.ProtoReflect.Descriptor instead. +func (*TestDeprecatedMessage) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{1} +} + +// Deprecated: Marked as deprecated in internal/protojson/testprotos/test/test.proto. +func (x *TestDeprecatedMessage) GetDeprecatedInt32() int32 { + if x != nil && x.DeprecatedInt32 != nil { + return *x.DeprecatedInt32 + } + return 0 +} + +func (x *TestDeprecatedMessage) GetDeprecatedOneof() isTestDeprecatedMessage_DeprecatedOneof { + if x != nil { + return x.DeprecatedOneof + } + return nil +} + +// Deprecated: Marked as deprecated in internal/protojson/testprotos/test/test.proto. +func (x *TestDeprecatedMessage) GetDeprecatedOneofField() int32 { + if x != nil { + if x, ok := x.DeprecatedOneof.(*TestDeprecatedMessage_DeprecatedOneofField); ok { + return x.DeprecatedOneofField + } + } + return 0 +} + +type isTestDeprecatedMessage_DeprecatedOneof interface { + isTestDeprecatedMessage_DeprecatedOneof() +} + +type TestDeprecatedMessage_DeprecatedOneofField struct { + // Deprecated: Marked as deprecated in internal/protojson/testprotos/test/test.proto. + DeprecatedOneofField int32 `protobuf:"varint,2,opt,name=deprecated_oneof_field,json=deprecatedOneofField,oneof"` +} + +func (*TestDeprecatedMessage_DeprecatedOneofField) isTestDeprecatedMessage_DeprecatedOneof() {} + +type ForeignMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + C *int32 `protobuf:"varint,1,opt,name=c" json:"c,omitempty"` + D *int32 `protobuf:"varint,2,opt,name=d" json:"d,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ForeignMessage) Reset() { + *x = ForeignMessage{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ForeignMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ForeignMessage) ProtoMessage() {} + +func (x *ForeignMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ForeignMessage.ProtoReflect.Descriptor instead. +func (*ForeignMessage) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{2} +} + +func (x *ForeignMessage) GetC() int32 { + if x != nil && x.C != nil { + return *x.C + } + return 0 +} + +func (x *ForeignMessage) GetD() int32 { + if x != nil && x.D != nil { + return *x.D + } + return 0 +} + +type TestReservedFields struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestReservedFields) Reset() { + *x = TestReservedFields{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestReservedFields) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestReservedFields) ProtoMessage() {} + +func (x *TestReservedFields) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestReservedFields.ProtoReflect.Descriptor instead. +func (*TestReservedFields) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{3} +} + +type TestAllExtensions struct { + state protoimpl.MessageState `protogen:"open.v1"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllExtensions) Reset() { + *x = TestAllExtensions{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllExtensions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllExtensions) ProtoMessage() {} + +func (x *TestAllExtensions) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestAllExtensions.ProtoReflect.Descriptor instead. +func (*TestAllExtensions) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{4} +} + +type OptionalGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,17,opt,name=a" json:"a,omitempty"` + SameFieldNumber *int32 `protobuf:"varint,16,opt,name=same_field_number,json=sameFieldNumber" json:"same_field_number,omitempty"` + OptionalNestedMessage *TestAllExtensions_NestedMessage `protobuf:"bytes,1000,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OptionalGroup) Reset() { + *x = OptionalGroup{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OptionalGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OptionalGroup) ProtoMessage() {} + +func (x *OptionalGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OptionalGroup.ProtoReflect.Descriptor instead. +func (*OptionalGroup) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{5} +} + +func (x *OptionalGroup) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +func (x *OptionalGroup) GetSameFieldNumber() int32 { + if x != nil && x.SameFieldNumber != nil { + return *x.SameFieldNumber + } + return 0 +} + +func (x *OptionalGroup) GetOptionalNestedMessage() *TestAllExtensions_NestedMessage { + if x != nil { + return x.OptionalNestedMessage + } + return nil +} + +type RepeatedGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,47,opt,name=a" json:"a,omitempty"` + OptionalNestedMessage *TestAllExtensions_NestedMessage `protobuf:"bytes,1001,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RepeatedGroup) Reset() { + *x = RepeatedGroup{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RepeatedGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RepeatedGroup) ProtoMessage() {} + +func (x *RepeatedGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RepeatedGroup.ProtoReflect.Descriptor instead. +func (*RepeatedGroup) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{6} +} + +func (x *RepeatedGroup) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +func (x *RepeatedGroup) GetOptionalNestedMessage() *TestAllExtensions_NestedMessage { + if x != nil { + return x.OptionalNestedMessage + } + return nil +} + +type TestNestedExtension struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestNestedExtension) Reset() { + *x = TestNestedExtension{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestNestedExtension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestNestedExtension) ProtoMessage() {} + +func (x *TestNestedExtension) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestNestedExtension.ProtoReflect.Descriptor instead. +func (*TestNestedExtension) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{7} +} + +type TestRequired struct { + state protoimpl.MessageState `protogen:"open.v1"` + RequiredField *int32 `protobuf:"varint,1,req,name=required_field,json=requiredField" json:"required_field,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestRequired) Reset() { + *x = TestRequired{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestRequired) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestRequired) ProtoMessage() {} + +func (x *TestRequired) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestRequired.ProtoReflect.Descriptor instead. +func (*TestRequired) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{8} +} + +func (x *TestRequired) GetRequiredField() int32 { + if x != nil && x.RequiredField != nil { + return *x.RequiredField + } + return 0 +} + +type TestRequiredForeign struct { + state protoimpl.MessageState `protogen:"open.v1"` + OptionalMessage *TestRequired `protobuf:"bytes,1,opt,name=optional_message,json=optionalMessage" json:"optional_message,omitempty"` + RepeatedMessage []*TestRequired `protobuf:"bytes,2,rep,name=repeated_message,json=repeatedMessage" json:"repeated_message,omitempty"` + MapMessage map[int32]*TestRequired `protobuf:"bytes,3,rep,name=map_message,json=mapMessage" json:"map_message,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Types that are valid to be assigned to OneofField: + // + // *TestRequiredForeign_OneofMessage + OneofField isTestRequiredForeign_OneofField `protobuf_oneof:"oneof_field"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestRequiredForeign) Reset() { + *x = TestRequiredForeign{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestRequiredForeign) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestRequiredForeign) ProtoMessage() {} + +func (x *TestRequiredForeign) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestRequiredForeign.ProtoReflect.Descriptor instead. +func (*TestRequiredForeign) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{9} +} + +func (x *TestRequiredForeign) GetOptionalMessage() *TestRequired { + if x != nil { + return x.OptionalMessage + } + return nil +} + +func (x *TestRequiredForeign) GetRepeatedMessage() []*TestRequired { + if x != nil { + return x.RepeatedMessage + } + return nil +} + +func (x *TestRequiredForeign) GetMapMessage() map[int32]*TestRequired { + if x != nil { + return x.MapMessage + } + return nil +} + +func (x *TestRequiredForeign) GetOneofField() isTestRequiredForeign_OneofField { + if x != nil { + return x.OneofField + } + return nil +} + +func (x *TestRequiredForeign) GetOneofMessage() *TestRequired { + if x != nil { + if x, ok := x.OneofField.(*TestRequiredForeign_OneofMessage); ok { + return x.OneofMessage + } + } + return nil +} + +type isTestRequiredForeign_OneofField interface { + isTestRequiredForeign_OneofField() +} + +type TestRequiredForeign_OneofMessage struct { + OneofMessage *TestRequired `protobuf:"bytes,4,opt,name=oneof_message,json=oneofMessage,oneof"` +} + +func (*TestRequiredForeign_OneofMessage) isTestRequiredForeign_OneofField() {} + +type TestRequiredGroupFields struct { + state protoimpl.MessageState `protogen:"open.v1"` + Optionalgroup *TestRequiredGroupFields_OptionalGroup `protobuf:"group,1,opt,name=OptionalGroup,json=optionalgroup" json:"optionalgroup,omitempty"` + Repeatedgroup []*TestRequiredGroupFields_RepeatedGroup `protobuf:"group,3,rep,name=RepeatedGroup,json=repeatedgroup" json:"repeatedgroup,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestRequiredGroupFields) Reset() { + *x = TestRequiredGroupFields{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestRequiredGroupFields) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestRequiredGroupFields) ProtoMessage() {} + +func (x *TestRequiredGroupFields) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestRequiredGroupFields.ProtoReflect.Descriptor instead. +func (*TestRequiredGroupFields) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{10} +} + +func (x *TestRequiredGroupFields) GetOptionalgroup() *TestRequiredGroupFields_OptionalGroup { + if x != nil { + return x.Optionalgroup + } + return nil +} + +func (x *TestRequiredGroupFields) GetRepeatedgroup() []*TestRequiredGroupFields_RepeatedGroup { + if x != nil { + return x.Repeatedgroup + } + return nil +} + +type TestWeak struct { + state protoimpl.MessageState `protogen:"open.v1"` + WeakMessage1 *weak1.WeakImportMessage1 `protobuf:"bytes,1,opt,name=weak_message1,json=weakMessage1" json:"weak_message1,omitempty"` + WeakMessage2 *weak2.WeakImportMessage2 `protobuf:"bytes,2,opt,name=weak_message2,json=weakMessage2" json:"weak_message2,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestWeak) Reset() { + *x = TestWeak{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestWeak) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestWeak) ProtoMessage() {} + +func (x *TestWeak) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestWeak.ProtoReflect.Descriptor instead. +func (*TestWeak) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{11} +} + +func (x *TestWeak) GetWeakMessage1() *weak1.WeakImportMessage1 { + if x != nil { + return x.WeakMessage1 + } + return nil +} + +func (x *TestWeak) GetWeakMessage2() *weak2.WeakImportMessage2 { + if x != nil { + return x.WeakMessage2 + } + return nil +} + +type TestPackedTypes struct { + state protoimpl.MessageState `protogen:"open.v1"` + PackedInt32 []int32 `protobuf:"varint,90,rep,packed,name=packed_int32,json=packedInt32" json:"packed_int32,omitempty"` + PackedInt64 []int64 `protobuf:"varint,91,rep,packed,name=packed_int64,json=packedInt64" json:"packed_int64,omitempty"` + PackedUint32 []uint32 `protobuf:"varint,92,rep,packed,name=packed_uint32,json=packedUint32" json:"packed_uint32,omitempty"` + PackedUint64 []uint64 `protobuf:"varint,93,rep,packed,name=packed_uint64,json=packedUint64" json:"packed_uint64,omitempty"` + PackedSint32 []int32 `protobuf:"zigzag32,94,rep,packed,name=packed_sint32,json=packedSint32" json:"packed_sint32,omitempty"` + PackedSint64 []int64 `protobuf:"zigzag64,95,rep,packed,name=packed_sint64,json=packedSint64" json:"packed_sint64,omitempty"` + PackedFixed32 []uint32 `protobuf:"fixed32,96,rep,packed,name=packed_fixed32,json=packedFixed32" json:"packed_fixed32,omitempty"` + PackedFixed64 []uint64 `protobuf:"fixed64,97,rep,packed,name=packed_fixed64,json=packedFixed64" json:"packed_fixed64,omitempty"` + PackedSfixed32 []int32 `protobuf:"fixed32,98,rep,packed,name=packed_sfixed32,json=packedSfixed32" json:"packed_sfixed32,omitempty"` + PackedSfixed64 []int64 `protobuf:"fixed64,99,rep,packed,name=packed_sfixed64,json=packedSfixed64" json:"packed_sfixed64,omitempty"` + PackedFloat []float32 `protobuf:"fixed32,100,rep,packed,name=packed_float,json=packedFloat" json:"packed_float,omitempty"` + PackedDouble []float64 `protobuf:"fixed64,101,rep,packed,name=packed_double,json=packedDouble" json:"packed_double,omitempty"` + PackedBool []bool `protobuf:"varint,102,rep,packed,name=packed_bool,json=packedBool" json:"packed_bool,omitempty"` + PackedEnum []ForeignEnum `protobuf:"varint,103,rep,packed,name=packed_enum,json=packedEnum,enum=goproto.proto.test.ForeignEnum" json:"packed_enum,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestPackedTypes) Reset() { + *x = TestPackedTypes{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestPackedTypes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestPackedTypes) ProtoMessage() {} + +func (x *TestPackedTypes) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestPackedTypes.ProtoReflect.Descriptor instead. +func (*TestPackedTypes) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{12} +} + +func (x *TestPackedTypes) GetPackedInt32() []int32 { + if x != nil { + return x.PackedInt32 + } + return nil +} + +func (x *TestPackedTypes) GetPackedInt64() []int64 { + if x != nil { + return x.PackedInt64 + } + return nil +} + +func (x *TestPackedTypes) GetPackedUint32() []uint32 { + if x != nil { + return x.PackedUint32 + } + return nil +} + +func (x *TestPackedTypes) GetPackedUint64() []uint64 { + if x != nil { + return x.PackedUint64 + } + return nil +} + +func (x *TestPackedTypes) GetPackedSint32() []int32 { + if x != nil { + return x.PackedSint32 + } + return nil +} + +func (x *TestPackedTypes) GetPackedSint64() []int64 { + if x != nil { + return x.PackedSint64 + } + return nil +} + +func (x *TestPackedTypes) GetPackedFixed32() []uint32 { + if x != nil { + return x.PackedFixed32 + } + return nil +} + +func (x *TestPackedTypes) GetPackedFixed64() []uint64 { + if x != nil { + return x.PackedFixed64 + } + return nil +} + +func (x *TestPackedTypes) GetPackedSfixed32() []int32 { + if x != nil { + return x.PackedSfixed32 + } + return nil +} + +func (x *TestPackedTypes) GetPackedSfixed64() []int64 { + if x != nil { + return x.PackedSfixed64 + } + return nil +} + +func (x *TestPackedTypes) GetPackedFloat() []float32 { + if x != nil { + return x.PackedFloat + } + return nil +} + +func (x *TestPackedTypes) GetPackedDouble() []float64 { + if x != nil { + return x.PackedDouble + } + return nil +} + +func (x *TestPackedTypes) GetPackedBool() []bool { + if x != nil { + return x.PackedBool + } + return nil +} + +func (x *TestPackedTypes) GetPackedEnum() []ForeignEnum { + if x != nil { + return x.PackedEnum + } + return nil +} + +type TestUnpackedTypes struct { + state protoimpl.MessageState `protogen:"open.v1"` + UnpackedInt32 []int32 `protobuf:"varint,90,rep,name=unpacked_int32,json=unpackedInt32" json:"unpacked_int32,omitempty"` + UnpackedInt64 []int64 `protobuf:"varint,91,rep,name=unpacked_int64,json=unpackedInt64" json:"unpacked_int64,omitempty"` + UnpackedUint32 []uint32 `protobuf:"varint,92,rep,name=unpacked_uint32,json=unpackedUint32" json:"unpacked_uint32,omitempty"` + UnpackedUint64 []uint64 `protobuf:"varint,93,rep,name=unpacked_uint64,json=unpackedUint64" json:"unpacked_uint64,omitempty"` + UnpackedSint32 []int32 `protobuf:"zigzag32,94,rep,name=unpacked_sint32,json=unpackedSint32" json:"unpacked_sint32,omitempty"` + UnpackedSint64 []int64 `protobuf:"zigzag64,95,rep,name=unpacked_sint64,json=unpackedSint64" json:"unpacked_sint64,omitempty"` + UnpackedFixed32 []uint32 `protobuf:"fixed32,96,rep,name=unpacked_fixed32,json=unpackedFixed32" json:"unpacked_fixed32,omitempty"` + UnpackedFixed64 []uint64 `protobuf:"fixed64,97,rep,name=unpacked_fixed64,json=unpackedFixed64" json:"unpacked_fixed64,omitempty"` + UnpackedSfixed32 []int32 `protobuf:"fixed32,98,rep,name=unpacked_sfixed32,json=unpackedSfixed32" json:"unpacked_sfixed32,omitempty"` + UnpackedSfixed64 []int64 `protobuf:"fixed64,99,rep,name=unpacked_sfixed64,json=unpackedSfixed64" json:"unpacked_sfixed64,omitempty"` + UnpackedFloat []float32 `protobuf:"fixed32,100,rep,name=unpacked_float,json=unpackedFloat" json:"unpacked_float,omitempty"` + UnpackedDouble []float64 `protobuf:"fixed64,101,rep,name=unpacked_double,json=unpackedDouble" json:"unpacked_double,omitempty"` + UnpackedBool []bool `protobuf:"varint,102,rep,name=unpacked_bool,json=unpackedBool" json:"unpacked_bool,omitempty"` + UnpackedEnum []ForeignEnum `protobuf:"varint,103,rep,name=unpacked_enum,json=unpackedEnum,enum=goproto.proto.test.ForeignEnum" json:"unpacked_enum,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestUnpackedTypes) Reset() { + *x = TestUnpackedTypes{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestUnpackedTypes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestUnpackedTypes) ProtoMessage() {} + +func (x *TestUnpackedTypes) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestUnpackedTypes.ProtoReflect.Descriptor instead. +func (*TestUnpackedTypes) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{13} +} + +func (x *TestUnpackedTypes) GetUnpackedInt32() []int32 { + if x != nil { + return x.UnpackedInt32 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedInt64() []int64 { + if x != nil { + return x.UnpackedInt64 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedUint32() []uint32 { + if x != nil { + return x.UnpackedUint32 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedUint64() []uint64 { + if x != nil { + return x.UnpackedUint64 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedSint32() []int32 { + if x != nil { + return x.UnpackedSint32 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedSint64() []int64 { + if x != nil { + return x.UnpackedSint64 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedFixed32() []uint32 { + if x != nil { + return x.UnpackedFixed32 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedFixed64() []uint64 { + if x != nil { + return x.UnpackedFixed64 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedSfixed32() []int32 { + if x != nil { + return x.UnpackedSfixed32 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedSfixed64() []int64 { + if x != nil { + return x.UnpackedSfixed64 + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedFloat() []float32 { + if x != nil { + return x.UnpackedFloat + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedDouble() []float64 { + if x != nil { + return x.UnpackedDouble + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedBool() []bool { + if x != nil { + return x.UnpackedBool + } + return nil +} + +func (x *TestUnpackedTypes) GetUnpackedEnum() []ForeignEnum { + if x != nil { + return x.UnpackedEnum + } + return nil +} + +type TestPackedExtensions struct { + state protoimpl.MessageState `protogen:"open.v1"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestPackedExtensions) Reset() { + *x = TestPackedExtensions{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestPackedExtensions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestPackedExtensions) ProtoMessage() {} + +func (x *TestPackedExtensions) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestPackedExtensions.ProtoReflect.Descriptor instead. +func (*TestPackedExtensions) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{14} +} + +type TestUnpackedExtensions struct { + state protoimpl.MessageState `protogen:"open.v1"` + extensionFields protoimpl.ExtensionFields + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestUnpackedExtensions) Reset() { + *x = TestUnpackedExtensions{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestUnpackedExtensions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestUnpackedExtensions) ProtoMessage() {} + +func (x *TestUnpackedExtensions) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestUnpackedExtensions.ProtoReflect.Descriptor instead. +func (*TestUnpackedExtensions) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{15} +} + +// Test that RPC services work. +type FooRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FooRequest) Reset() { + *x = FooRequest{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FooRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FooRequest) ProtoMessage() {} + +func (x *FooRequest) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FooRequest.ProtoReflect.Descriptor instead. +func (*FooRequest) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{16} +} + +type FooResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FooResponse) Reset() { + *x = FooResponse{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FooResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FooResponse) ProtoMessage() {} + +func (x *FooResponse) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FooResponse.ProtoReflect.Descriptor instead. +func (*FooResponse) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{17} +} + +type WeirdDefault struct { + state protoimpl.MessageState `protogen:"open.v1"` + WeirdDefault []byte `protobuf:"bytes,1,opt,name=weird_default,json=weirdDefault,def=hello, \\\"world!\\\"\\ndead\\336\\255\\276\\357beef\x60" json:"weird_default,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Default values for WeirdDefault fields. +var ( + Default_WeirdDefault_WeirdDefault = []byte("hello, \"world!\"\ndeadޭ\xbe\xefbeef`") +) + +func (x *WeirdDefault) Reset() { + *x = WeirdDefault{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WeirdDefault) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WeirdDefault) ProtoMessage() {} + +func (x *WeirdDefault) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WeirdDefault.ProtoReflect.Descriptor instead. +func (*WeirdDefault) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{18} +} + +func (x *WeirdDefault) GetWeirdDefault() []byte { + if x != nil && x.WeirdDefault != nil { + return x.WeirdDefault + } + return append([]byte(nil), Default_WeirdDefault_WeirdDefault...) +} + +type RemoteDefault struct { + state protoimpl.MessageState `protogen:"open.v1"` + Default *enums.Enum `protobuf:"varint,1,opt,name=default,enum=goproto.proto.enums.Enum" json:"default,omitempty"` + Zero *enums.Enum `protobuf:"varint,2,opt,name=zero,enum=goproto.proto.enums.Enum,def=0" json:"zero,omitempty"` + One *enums.Enum `protobuf:"varint,3,opt,name=one,enum=goproto.proto.enums.Enum,def=1" json:"one,omitempty"` + Elevent *enums.Enum `protobuf:"varint,4,opt,name=elevent,enum=goproto.proto.enums.Enum,def=11" json:"elevent,omitempty"` + Seventeen *enums.Enum `protobuf:"varint,5,opt,name=seventeen,enum=goproto.proto.enums.Enum,def=17" json:"seventeen,omitempty"` + Thirtyseven *enums.Enum `protobuf:"varint,6,opt,name=thirtyseven,enum=goproto.proto.enums.Enum,def=37" json:"thirtyseven,omitempty"` + Sixtyseven *enums.Enum `protobuf:"varint,7,opt,name=sixtyseven,enum=goproto.proto.enums.Enum,def=67" json:"sixtyseven,omitempty"` + Negative *enums.Enum `protobuf:"varint,8,opt,name=negative,enum=goproto.proto.enums.Enum,def=-1" json:"negative,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +// Default values for RemoteDefault fields. +const ( + Default_RemoteDefault_Zero = enums.Enum(0) // enums.Enum_ZERO + Default_RemoteDefault_One = enums.Enum(1) // enums.Enum_ONE + Default_RemoteDefault_Elevent = enums.Enum(11) // enums.Enum_ELEVENT + Default_RemoteDefault_Seventeen = enums.Enum(17) // enums.Enum_SEVENTEEN + Default_RemoteDefault_Thirtyseven = enums.Enum(37) // enums.Enum_THIRTYSEVEN + Default_RemoteDefault_Sixtyseven = enums.Enum(67) // enums.Enum_SIXTYSEVEN + Default_RemoteDefault_Negative = enums.Enum(-1) // enums.Enum_NEGATIVE +) + +func (x *RemoteDefault) Reset() { + *x = RemoteDefault{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoteDefault) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoteDefault) ProtoMessage() {} + +func (x *RemoteDefault) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoteDefault.ProtoReflect.Descriptor instead. +func (*RemoteDefault) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{19} +} + +func (x *RemoteDefault) GetDefault() enums.Enum { + if x != nil && x.Default != nil { + return *x.Default + } + return enums.Enum(1337) +} + +func (x *RemoteDefault) GetZero() enums.Enum { + if x != nil && x.Zero != nil { + return *x.Zero + } + return Default_RemoteDefault_Zero +} + +func (x *RemoteDefault) GetOne() enums.Enum { + if x != nil && x.One != nil { + return *x.One + } + return Default_RemoteDefault_One +} + +func (x *RemoteDefault) GetElevent() enums.Enum { + if x != nil && x.Elevent != nil { + return *x.Elevent + } + return Default_RemoteDefault_Elevent +} + +func (x *RemoteDefault) GetSeventeen() enums.Enum { + if x != nil && x.Seventeen != nil { + return *x.Seventeen + } + return Default_RemoteDefault_Seventeen +} + +func (x *RemoteDefault) GetThirtyseven() enums.Enum { + if x != nil && x.Thirtyseven != nil { + return *x.Thirtyseven + } + return Default_RemoteDefault_Thirtyseven +} + +func (x *RemoteDefault) GetSixtyseven() enums.Enum { + if x != nil && x.Sixtyseven != nil { + return *x.Sixtyseven + } + return Default_RemoteDefault_Sixtyseven +} + +func (x *RemoteDefault) GetNegative() enums.Enum { + if x != nil && x.Negative != nil { + return *x.Negative + } + return Default_RemoteDefault_Negative +} + +type TestAllTypes_NestedMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,1,opt,name=a" json:"a,omitempty"` + Corecursive *TestAllTypes `protobuf:"bytes,2,opt,name=corecursive" json:"corecursive,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes_NestedMessage) Reset() { + *x = TestAllTypes_NestedMessage{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes_NestedMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes_NestedMessage) ProtoMessage() {} + +func (x *TestAllTypes_NestedMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestAllTypes_NestedMessage.ProtoReflect.Descriptor instead. +func (*TestAllTypes_NestedMessage) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *TestAllTypes_NestedMessage) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +func (x *TestAllTypes_NestedMessage) GetCorecursive() *TestAllTypes { + if x != nil { + return x.Corecursive + } + return nil +} + +type TestAllTypes_OptionalGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,17,opt,name=a" json:"a,omitempty"` + OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,1000,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"` + SameFieldNumber *int32 `protobuf:"varint,16,opt,name=same_field_number,json=sameFieldNumber" json:"same_field_number,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes_OptionalGroup) Reset() { + *x = TestAllTypes_OptionalGroup{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes_OptionalGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes_OptionalGroup) ProtoMessage() {} + +func (x *TestAllTypes_OptionalGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestAllTypes_OptionalGroup.ProtoReflect.Descriptor instead. +func (*TestAllTypes_OptionalGroup) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *TestAllTypes_OptionalGroup) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +func (x *TestAllTypes_OptionalGroup) GetOptionalNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + return x.OptionalNestedMessage + } + return nil +} + +func (x *TestAllTypes_OptionalGroup) GetSameFieldNumber() int32 { + if x != nil && x.SameFieldNumber != nil { + return *x.SameFieldNumber + } + return 0 +} + +type TestAllTypes_RepeatedGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,47,opt,name=a" json:"a,omitempty"` + OptionalNestedMessage *TestAllTypes_NestedMessage `protobuf:"bytes,1001,opt,name=optional_nested_message,json=optionalNestedMessage" json:"optional_nested_message,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes_RepeatedGroup) Reset() { + *x = TestAllTypes_RepeatedGroup{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes_RepeatedGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes_RepeatedGroup) ProtoMessage() {} + +func (x *TestAllTypes_RepeatedGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestAllTypes_RepeatedGroup.ProtoReflect.Descriptor instead. +func (*TestAllTypes_RepeatedGroup) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *TestAllTypes_RepeatedGroup) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +func (x *TestAllTypes_RepeatedGroup) GetOptionalNestedMessage() *TestAllTypes_NestedMessage { + if x != nil { + return x.OptionalNestedMessage + } + return nil +} + +type TestAllTypes_OneofGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,1,opt,name=a" json:"a,omitempty"` + B *int32 `protobuf:"varint,2,opt,name=b" json:"b,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllTypes_OneofGroup) Reset() { + *x = TestAllTypes_OneofGroup{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllTypes_OneofGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllTypes_OneofGroup) ProtoMessage() {} + +func (x *TestAllTypes_OneofGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestAllTypes_OneofGroup.ProtoReflect.Descriptor instead. +func (*TestAllTypes_OneofGroup) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{0, 20} +} + +func (x *TestAllTypes_OneofGroup) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +func (x *TestAllTypes_OneofGroup) GetB() int32 { + if x != nil && x.B != nil { + return *x.B + } + return 0 +} + +type TestAllExtensions_NestedMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,1,opt,name=a" json:"a,omitempty"` + Corecursive *TestAllExtensions `protobuf:"bytes,2,opt,name=corecursive" json:"corecursive,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestAllExtensions_NestedMessage) Reset() { + *x = TestAllExtensions_NestedMessage{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestAllExtensions_NestedMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestAllExtensions_NestedMessage) ProtoMessage() {} + +func (x *TestAllExtensions_NestedMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestAllExtensions_NestedMessage.ProtoReflect.Descriptor instead. +func (*TestAllExtensions_NestedMessage) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{4, 0} +} + +func (x *TestAllExtensions_NestedMessage) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +func (x *TestAllExtensions_NestedMessage) GetCorecursive() *TestAllExtensions { + if x != nil { + return x.Corecursive + } + return nil +} + +type TestRequiredGroupFields_OptionalGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,2,req,name=a" json:"a,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestRequiredGroupFields_OptionalGroup) Reset() { + *x = TestRequiredGroupFields_OptionalGroup{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestRequiredGroupFields_OptionalGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestRequiredGroupFields_OptionalGroup) ProtoMessage() {} + +func (x *TestRequiredGroupFields_OptionalGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestRequiredGroupFields_OptionalGroup.ProtoReflect.Descriptor instead. +func (*TestRequiredGroupFields_OptionalGroup) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{10, 0} +} + +func (x *TestRequiredGroupFields_OptionalGroup) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +type TestRequiredGroupFields_RepeatedGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,4,req,name=a" json:"a,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TestRequiredGroupFields_RepeatedGroup) Reset() { + *x = TestRequiredGroupFields_RepeatedGroup{} + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TestRequiredGroupFields_RepeatedGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TestRequiredGroupFields_RepeatedGroup) ProtoMessage() {} + +func (x *TestRequiredGroupFields_RepeatedGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TestRequiredGroupFields_RepeatedGroup.ProtoReflect.Descriptor instead. +func (*TestRequiredGroupFields_RepeatedGroup) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_proto_rawDescGZIP(), []int{10, 1} +} + +func (x *TestRequiredGroupFields_RepeatedGroup) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +var file_internal_protojson_testprotos_test_test_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int32)(nil), + Field: 1, + Name: "goproto.proto.test.optional_int32", + Tag: "varint,1,opt,name=optional_int32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int64)(nil), + Field: 2, + Name: "goproto.proto.test.optional_int64", + Tag: "varint,2,opt,name=optional_int64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*uint32)(nil), + Field: 3, + Name: "goproto.proto.test.optional_uint32", + Tag: "varint,3,opt,name=optional_uint32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*uint64)(nil), + Field: 4, + Name: "goproto.proto.test.optional_uint64", + Tag: "varint,4,opt,name=optional_uint64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int32)(nil), + Field: 5, + Name: "goproto.proto.test.optional_sint32", + Tag: "zigzag32,5,opt,name=optional_sint32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int64)(nil), + Field: 6, + Name: "goproto.proto.test.optional_sint64", + Tag: "zigzag64,6,opt,name=optional_sint64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*uint32)(nil), + Field: 7, + Name: "goproto.proto.test.optional_fixed32", + Tag: "fixed32,7,opt,name=optional_fixed32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*uint64)(nil), + Field: 8, + Name: "goproto.proto.test.optional_fixed64", + Tag: "fixed64,8,opt,name=optional_fixed64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int32)(nil), + Field: 9, + Name: "goproto.proto.test.optional_sfixed32", + Tag: "fixed32,9,opt,name=optional_sfixed32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int64)(nil), + Field: 10, + Name: "goproto.proto.test.optional_sfixed64", + Tag: "fixed64,10,opt,name=optional_sfixed64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*float32)(nil), + Field: 11, + Name: "goproto.proto.test.optional_float", + Tag: "fixed32,11,opt,name=optional_float", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*float64)(nil), + Field: 12, + Name: "goproto.proto.test.optional_double", + Tag: "fixed64,12,opt,name=optional_double", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*bool)(nil), + Field: 13, + Name: "goproto.proto.test.optional_bool", + Tag: "varint,13,opt,name=optional_bool", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*string)(nil), + Field: 14, + Name: "goproto.proto.test.optional_string", + Tag: "bytes,14,opt,name=optional_string", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]byte)(nil), + Field: 15, + Name: "goproto.proto.test.optional_bytes", + Tag: "bytes,15,opt,name=optional_bytes", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*OptionalGroup)(nil), + Field: 16, + Name: "goproto.proto.test.optionalgroup", + Tag: "group,16,opt,name=OptionalGroup", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*TestAllExtensions_NestedMessage)(nil), + Field: 18, + Name: "goproto.proto.test.optional_nested_message", + Tag: "bytes,18,opt,name=optional_nested_message", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*TestAllTypes_NestedEnum)(nil), + Field: 21, + Name: "goproto.proto.test.optional_nested_enum", + Tag: "varint,21,opt,name=optional_nested_enum,enum=goproto.proto.test.TestAllTypes_NestedEnum", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]int32)(nil), + Field: 31, + Name: "goproto.proto.test.repeated_int32", + Tag: "varint,31,rep,name=repeated_int32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]int64)(nil), + Field: 32, + Name: "goproto.proto.test.repeated_int64", + Tag: "varint,32,rep,name=repeated_int64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]uint32)(nil), + Field: 33, + Name: "goproto.proto.test.repeated_uint32", + Tag: "varint,33,rep,name=repeated_uint32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]uint64)(nil), + Field: 34, + Name: "goproto.proto.test.repeated_uint64", + Tag: "varint,34,rep,name=repeated_uint64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]int32)(nil), + Field: 35, + Name: "goproto.proto.test.repeated_sint32", + Tag: "zigzag32,35,rep,name=repeated_sint32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]int64)(nil), + Field: 36, + Name: "goproto.proto.test.repeated_sint64", + Tag: "zigzag64,36,rep,name=repeated_sint64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]uint32)(nil), + Field: 37, + Name: "goproto.proto.test.repeated_fixed32", + Tag: "fixed32,37,rep,name=repeated_fixed32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]uint64)(nil), + Field: 38, + Name: "goproto.proto.test.repeated_fixed64", + Tag: "fixed64,38,rep,name=repeated_fixed64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]int32)(nil), + Field: 39, + Name: "goproto.proto.test.repeated_sfixed32", + Tag: "fixed32,39,rep,name=repeated_sfixed32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]int64)(nil), + Field: 40, + Name: "goproto.proto.test.repeated_sfixed64", + Tag: "fixed64,40,rep,name=repeated_sfixed64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]float32)(nil), + Field: 41, + Name: "goproto.proto.test.repeated_float", + Tag: "fixed32,41,rep,name=repeated_float", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]float64)(nil), + Field: 42, + Name: "goproto.proto.test.repeated_double", + Tag: "fixed64,42,rep,name=repeated_double", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]bool)(nil), + Field: 43, + Name: "goproto.proto.test.repeated_bool", + Tag: "varint,43,rep,name=repeated_bool", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]string)(nil), + Field: 44, + Name: "goproto.proto.test.repeated_string", + Tag: "bytes,44,rep,name=repeated_string", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([][]byte)(nil), + Field: 45, + Name: "goproto.proto.test.repeated_bytes", + Tag: "bytes,45,rep,name=repeated_bytes", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]*RepeatedGroup)(nil), + Field: 46, + Name: "goproto.proto.test.repeatedgroup", + Tag: "group,46,rep,name=RepeatedGroup", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]*TestAllExtensions_NestedMessage)(nil), + Field: 48, + Name: "goproto.proto.test.repeated_nested_message", + Tag: "bytes,48,rep,name=repeated_nested_message", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]TestAllTypes_NestedEnum)(nil), + Field: 51, + Name: "goproto.proto.test.repeated_nested_enum", + Tag: "varint,51,rep,name=repeated_nested_enum,enum=goproto.proto.test.TestAllTypes_NestedEnum", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int32)(nil), + Field: 81, + Name: "goproto.proto.test.default_int32", + Tag: "varint,81,opt,name=default_int32,def=81", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int64)(nil), + Field: 82, + Name: "goproto.proto.test.default_int64", + Tag: "varint,82,opt,name=default_int64,def=82", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*uint32)(nil), + Field: 83, + Name: "goproto.proto.test.default_uint32", + Tag: "varint,83,opt,name=default_uint32,def=83", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*uint64)(nil), + Field: 84, + Name: "goproto.proto.test.default_uint64", + Tag: "varint,84,opt,name=default_uint64,def=84", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int32)(nil), + Field: 85, + Name: "goproto.proto.test.default_sint32", + Tag: "zigzag32,85,opt,name=default_sint32,def=-85", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int64)(nil), + Field: 86, + Name: "goproto.proto.test.default_sint64", + Tag: "zigzag64,86,opt,name=default_sint64,def=86", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*uint32)(nil), + Field: 87, + Name: "goproto.proto.test.default_fixed32", + Tag: "fixed32,87,opt,name=default_fixed32,def=87", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*uint64)(nil), + Field: 88, + Name: "goproto.proto.test.default_fixed64", + Tag: "fixed64,88,opt,name=default_fixed64,def=88", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int32)(nil), + Field: 89, + Name: "goproto.proto.test.default_sfixed32", + Tag: "fixed32,89,opt,name=default_sfixed32,def=89", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*int64)(nil), + Field: 80, + Name: "goproto.proto.test.default_sfixed64", + Tag: "fixed64,80,opt,name=default_sfixed64,def=-90", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*float32)(nil), + Field: 91, + Name: "goproto.proto.test.default_float", + Tag: "fixed32,91,opt,name=default_float,def=91.5", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*float64)(nil), + Field: 92, + Name: "goproto.proto.test.default_double", + Tag: "fixed64,92,opt,name=default_double,def=92000", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*bool)(nil), + Field: 93, + Name: "goproto.proto.test.default_bool", + Tag: "varint,93,opt,name=default_bool,def=1", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*string)(nil), + Field: 94, + Name: "goproto.proto.test.default_string", + Tag: "bytes,94,opt,name=default_string,def=hello", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]byte)(nil), + Field: 95, + Name: "goproto.proto.test.default_bytes", + Tag: "bytes,95,opt,name=default_bytes,def=world", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]int32)(nil), + Field: 90, + Name: "goproto.proto.test.packed_int32", + Tag: "varint,90,rep,packed,name=packed_int32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]int64)(nil), + Field: 91, + Name: "goproto.proto.test.packed_int64", + Tag: "varint,91,rep,packed,name=packed_int64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]uint32)(nil), + Field: 92, + Name: "goproto.proto.test.packed_uint32", + Tag: "varint,92,rep,packed,name=packed_uint32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]uint64)(nil), + Field: 93, + Name: "goproto.proto.test.packed_uint64", + Tag: "varint,93,rep,packed,name=packed_uint64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]int32)(nil), + Field: 94, + Name: "goproto.proto.test.packed_sint32", + Tag: "zigzag32,94,rep,packed,name=packed_sint32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]int64)(nil), + Field: 95, + Name: "goproto.proto.test.packed_sint64", + Tag: "zigzag64,95,rep,packed,name=packed_sint64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]uint32)(nil), + Field: 96, + Name: "goproto.proto.test.packed_fixed32", + Tag: "fixed32,96,rep,packed,name=packed_fixed32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]uint64)(nil), + Field: 97, + Name: "goproto.proto.test.packed_fixed64", + Tag: "fixed64,97,rep,packed,name=packed_fixed64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]int32)(nil), + Field: 98, + Name: "goproto.proto.test.packed_sfixed32", + Tag: "fixed32,98,rep,packed,name=packed_sfixed32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]int64)(nil), + Field: 99, + Name: "goproto.proto.test.packed_sfixed64", + Tag: "fixed64,99,rep,packed,name=packed_sfixed64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]float32)(nil), + Field: 100, + Name: "goproto.proto.test.packed_float", + Tag: "fixed32,100,rep,packed,name=packed_float", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]float64)(nil), + Field: 101, + Name: "goproto.proto.test.packed_double", + Tag: "fixed64,101,rep,packed,name=packed_double", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]bool)(nil), + Field: 102, + Name: "goproto.proto.test.packed_bool", + Tag: "varint,102,rep,packed,name=packed_bool", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestPackedExtensions)(nil), + ExtensionType: ([]ForeignEnum)(nil), + Field: 103, + Name: "goproto.proto.test.packed_enum", + Tag: "varint,103,rep,packed,name=packed_enum,enum=goproto.proto.test.ForeignEnum", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]int32)(nil), + Field: 90, + Name: "goproto.proto.test.unpacked_int32", + Tag: "varint,90,rep,name=unpacked_int32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]int64)(nil), + Field: 91, + Name: "goproto.proto.test.unpacked_int64", + Tag: "varint,91,rep,name=unpacked_int64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]uint32)(nil), + Field: 92, + Name: "goproto.proto.test.unpacked_uint32", + Tag: "varint,92,rep,name=unpacked_uint32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]uint64)(nil), + Field: 93, + Name: "goproto.proto.test.unpacked_uint64", + Tag: "varint,93,rep,name=unpacked_uint64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]int32)(nil), + Field: 94, + Name: "goproto.proto.test.unpacked_sint32", + Tag: "zigzag32,94,rep,name=unpacked_sint32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]int64)(nil), + Field: 95, + Name: "goproto.proto.test.unpacked_sint64", + Tag: "zigzag64,95,rep,name=unpacked_sint64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]uint32)(nil), + Field: 96, + Name: "goproto.proto.test.unpacked_fixed32", + Tag: "fixed32,96,rep,name=unpacked_fixed32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]uint64)(nil), + Field: 97, + Name: "goproto.proto.test.unpacked_fixed64", + Tag: "fixed64,97,rep,name=unpacked_fixed64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]int32)(nil), + Field: 98, + Name: "goproto.proto.test.unpacked_sfixed32", + Tag: "fixed32,98,rep,name=unpacked_sfixed32", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]int64)(nil), + Field: 99, + Name: "goproto.proto.test.unpacked_sfixed64", + Tag: "fixed64,99,rep,name=unpacked_sfixed64", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]float32)(nil), + Field: 100, + Name: "goproto.proto.test.unpacked_float", + Tag: "fixed32,100,rep,name=unpacked_float", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]float64)(nil), + Field: 101, + Name: "goproto.proto.test.unpacked_double", + Tag: "fixed64,101,rep,name=unpacked_double", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]bool)(nil), + Field: 102, + Name: "goproto.proto.test.unpacked_bool", + Tag: "varint,102,rep,name=unpacked_bool", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestUnpackedExtensions)(nil), + ExtensionType: ([]ForeignEnum)(nil), + Field: 103, + Name: "goproto.proto.test.unpacked_enum", + Tag: "varint,103,rep,name=unpacked_enum,enum=goproto.proto.test.ForeignEnum", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*string)(nil), + Field: 1003, + Name: "goproto.proto.test.TestNestedExtension.nested_string_extension", + Tag: "bytes,1003,opt,name=nested_string_extension", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: (*TestRequired)(nil), + Field: 1000, + Name: "goproto.proto.test.TestRequired.single", + Tag: "bytes,1000,opt,name=single", + Filename: "internal/protojson/testprotos/test/test.proto", + }, + { + ExtendedType: (*TestAllExtensions)(nil), + ExtensionType: ([]*TestRequired)(nil), + Field: 1001, + Name: "goproto.proto.test.TestRequired.multi", + Tag: "bytes,1001,rep,name=multi", + Filename: "internal/protojson/testprotos/test/test.proto", + }, +} + +// Extension fields to TestAllExtensions. +var ( + // optional int32 optional_int32 = 1; + E_OptionalInt32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[0] + // optional int64 optional_int64 = 2; + E_OptionalInt64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[1] + // optional uint32 optional_uint32 = 3; + E_OptionalUint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[2] + // optional uint64 optional_uint64 = 4; + E_OptionalUint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[3] + // optional sint32 optional_sint32 = 5; + E_OptionalSint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[4] + // optional sint64 optional_sint64 = 6; + E_OptionalSint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[5] + // optional fixed32 optional_fixed32 = 7; + E_OptionalFixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[6] + // optional fixed64 optional_fixed64 = 8; + E_OptionalFixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[7] + // optional sfixed32 optional_sfixed32 = 9; + E_OptionalSfixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[8] + // optional sfixed64 optional_sfixed64 = 10; + E_OptionalSfixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[9] + // optional float optional_float = 11; + E_OptionalFloat = &file_internal_protojson_testprotos_test_test_proto_extTypes[10] + // optional double optional_double = 12; + E_OptionalDouble = &file_internal_protojson_testprotos_test_test_proto_extTypes[11] + // optional bool optional_bool = 13; + E_OptionalBool = &file_internal_protojson_testprotos_test_test_proto_extTypes[12] + // optional string optional_string = 14; + E_OptionalString = &file_internal_protojson_testprotos_test_test_proto_extTypes[13] + // optional bytes optional_bytes = 15; + E_OptionalBytes = &file_internal_protojson_testprotos_test_test_proto_extTypes[14] + // optional goproto.proto.test.OptionalGroup optionalgroup = 16; + E_Optionalgroup = &file_internal_protojson_testprotos_test_test_proto_extTypes[15] + // optional goproto.proto.test.TestAllExtensions.NestedMessage optional_nested_message = 18; + E_OptionalNestedMessage = &file_internal_protojson_testprotos_test_test_proto_extTypes[16] + // optional goproto.proto.test.TestAllTypes.NestedEnum optional_nested_enum = 21; + E_OptionalNestedEnum = &file_internal_protojson_testprotos_test_test_proto_extTypes[17] + // repeated int32 repeated_int32 = 31; + E_RepeatedInt32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[18] + // repeated int64 repeated_int64 = 32; + E_RepeatedInt64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[19] + // repeated uint32 repeated_uint32 = 33; + E_RepeatedUint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[20] + // repeated uint64 repeated_uint64 = 34; + E_RepeatedUint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[21] + // repeated sint32 repeated_sint32 = 35; + E_RepeatedSint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[22] + // repeated sint64 repeated_sint64 = 36; + E_RepeatedSint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[23] + // repeated fixed32 repeated_fixed32 = 37; + E_RepeatedFixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[24] + // repeated fixed64 repeated_fixed64 = 38; + E_RepeatedFixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[25] + // repeated sfixed32 repeated_sfixed32 = 39; + E_RepeatedSfixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[26] + // repeated sfixed64 repeated_sfixed64 = 40; + E_RepeatedSfixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[27] + // repeated float repeated_float = 41; + E_RepeatedFloat = &file_internal_protojson_testprotos_test_test_proto_extTypes[28] + // repeated double repeated_double = 42; + E_RepeatedDouble = &file_internal_protojson_testprotos_test_test_proto_extTypes[29] + // repeated bool repeated_bool = 43; + E_RepeatedBool = &file_internal_protojson_testprotos_test_test_proto_extTypes[30] + // repeated string repeated_string = 44; + E_RepeatedString = &file_internal_protojson_testprotos_test_test_proto_extTypes[31] + // repeated bytes repeated_bytes = 45; + E_RepeatedBytes = &file_internal_protojson_testprotos_test_test_proto_extTypes[32] + // repeated goproto.proto.test.RepeatedGroup repeatedgroup = 46; + E_Repeatedgroup = &file_internal_protojson_testprotos_test_test_proto_extTypes[33] + // repeated goproto.proto.test.TestAllExtensions.NestedMessage repeated_nested_message = 48; + E_RepeatedNestedMessage = &file_internal_protojson_testprotos_test_test_proto_extTypes[34] + // repeated goproto.proto.test.TestAllTypes.NestedEnum repeated_nested_enum = 51; + E_RepeatedNestedEnum = &file_internal_protojson_testprotos_test_test_proto_extTypes[35] + // optional int32 default_int32 = 81; + E_DefaultInt32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[36] + // optional int64 default_int64 = 82; + E_DefaultInt64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[37] + // optional uint32 default_uint32 = 83; + E_DefaultUint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[38] + // optional uint64 default_uint64 = 84; + E_DefaultUint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[39] + // optional sint32 default_sint32 = 85; + E_DefaultSint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[40] + // optional sint64 default_sint64 = 86; + E_DefaultSint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[41] + // optional fixed32 default_fixed32 = 87; + E_DefaultFixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[42] + // optional fixed64 default_fixed64 = 88; + E_DefaultFixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[43] + // optional sfixed32 default_sfixed32 = 89; + E_DefaultSfixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[44] + // optional sfixed64 default_sfixed64 = 80; + E_DefaultSfixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[45] + // optional float default_float = 91; + E_DefaultFloat = &file_internal_protojson_testprotos_test_test_proto_extTypes[46] + // optional double default_double = 92; + E_DefaultDouble = &file_internal_protojson_testprotos_test_test_proto_extTypes[47] + // optional bool default_bool = 93; + E_DefaultBool = &file_internal_protojson_testprotos_test_test_proto_extTypes[48] + // optional string default_string = 94; + E_DefaultString = &file_internal_protojson_testprotos_test_test_proto_extTypes[49] + // optional bytes default_bytes = 95; + E_DefaultBytes = &file_internal_protojson_testprotos_test_test_proto_extTypes[50] + // optional string nested_string_extension = 1003; + E_TestNestedExtension_NestedStringExtension = &file_internal_protojson_testprotos_test_test_proto_extTypes[79] + // optional goproto.proto.test.TestRequired single = 1000; + E_TestRequired_Single = &file_internal_protojson_testprotos_test_test_proto_extTypes[80] + // repeated goproto.proto.test.TestRequired multi = 1001; + E_TestRequired_Multi = &file_internal_protojson_testprotos_test_test_proto_extTypes[81] +) + +// Extension fields to TestPackedExtensions. +var ( + // repeated int32 packed_int32 = 90; + E_PackedInt32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[51] + // repeated int64 packed_int64 = 91; + E_PackedInt64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[52] + // repeated uint32 packed_uint32 = 92; + E_PackedUint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[53] + // repeated uint64 packed_uint64 = 93; + E_PackedUint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[54] + // repeated sint32 packed_sint32 = 94; + E_PackedSint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[55] + // repeated sint64 packed_sint64 = 95; + E_PackedSint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[56] + // repeated fixed32 packed_fixed32 = 96; + E_PackedFixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[57] + // repeated fixed64 packed_fixed64 = 97; + E_PackedFixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[58] + // repeated sfixed32 packed_sfixed32 = 98; + E_PackedSfixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[59] + // repeated sfixed64 packed_sfixed64 = 99; + E_PackedSfixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[60] + // repeated float packed_float = 100; + E_PackedFloat = &file_internal_protojson_testprotos_test_test_proto_extTypes[61] + // repeated double packed_double = 101; + E_PackedDouble = &file_internal_protojson_testprotos_test_test_proto_extTypes[62] + // repeated bool packed_bool = 102; + E_PackedBool = &file_internal_protojson_testprotos_test_test_proto_extTypes[63] + // repeated goproto.proto.test.ForeignEnum packed_enum = 103; + E_PackedEnum = &file_internal_protojson_testprotos_test_test_proto_extTypes[64] +) + +// Extension fields to TestUnpackedExtensions. +var ( + // repeated int32 unpacked_int32 = 90; + E_UnpackedInt32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[65] + // repeated int64 unpacked_int64 = 91; + E_UnpackedInt64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[66] + // repeated uint32 unpacked_uint32 = 92; + E_UnpackedUint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[67] + // repeated uint64 unpacked_uint64 = 93; + E_UnpackedUint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[68] + // repeated sint32 unpacked_sint32 = 94; + E_UnpackedSint32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[69] + // repeated sint64 unpacked_sint64 = 95; + E_UnpackedSint64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[70] + // repeated fixed32 unpacked_fixed32 = 96; + E_UnpackedFixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[71] + // repeated fixed64 unpacked_fixed64 = 97; + E_UnpackedFixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[72] + // repeated sfixed32 unpacked_sfixed32 = 98; + E_UnpackedSfixed32 = &file_internal_protojson_testprotos_test_test_proto_extTypes[73] + // repeated sfixed64 unpacked_sfixed64 = 99; + E_UnpackedSfixed64 = &file_internal_protojson_testprotos_test_test_proto_extTypes[74] + // repeated float unpacked_float = 100; + E_UnpackedFloat = &file_internal_protojson_testprotos_test_test_proto_extTypes[75] + // repeated double unpacked_double = 101; + E_UnpackedDouble = &file_internal_protojson_testprotos_test_test_proto_extTypes[76] + // repeated bool unpacked_bool = 102; + E_UnpackedBool = &file_internal_protojson_testprotos_test_test_proto_extTypes[77] + // repeated goproto.proto.test.ForeignEnum unpacked_enum = 103; + E_UnpackedEnum = &file_internal_protojson_testprotos_test_test_proto_extTypes[78] +) + +var File_internal_protojson_testprotos_test_test_proto protoreflect.FileDescriptor + +var file_internal_protojson_testprotos_test_test_proto_rawDesc = string([]byte{ + 0x0a, 0x2d, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x12, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2f, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, + 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x74, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x38, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x2f, 0x77, 0x65, 0x61, 0x6b, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x77, 0x65, 0x61, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, + 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x77, + 0x65, 0x61, 0x6b, 0x32, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x77, 0x65, 0x61, 0x6b, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa5, 0x3a, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0e, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0e, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, + 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x07, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, + 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x11, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, + 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x27, 0x0a, 0x0f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, + 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x54, 0x0a, 0x0d, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x10, 0x20, + 0x01, 0x28, 0x0a, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x12, 0x66, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x12, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5c, 0x0a, 0x18, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x52, 0x16, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, + 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x59, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x12, 0x5d, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, + 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, + 0x75, 0x6d, 0x12, 0x53, 0x0a, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, + 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x16, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, + 0x75, 0x6d, 0x52, 0x13, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x50, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, + 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x1f, 0x20, 0x03, 0x28, + 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, + 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x23, 0x20, 0x03, + 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0e, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x10, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, + 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x26, 0x20, 0x03, 0x28, 0x06, + 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x12, 0x2b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x10, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, + 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x18, 0x28, 0x20, 0x03, 0x28, 0x10, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x29, 0x20, + 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, + 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x2a, 0x20, 0x03, 0x28, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x2b, 0x20, 0x03, + 0x28, 0x08, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, + 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, + 0x0c, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x12, 0x54, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x66, 0x0a, 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5c, + 0x0a, 0x18, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, + 0x67, 0x6e, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x31, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x52, 0x16, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6f, + 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x16, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x32, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, + 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x5d, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x33, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, + 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x53, 0x0a, 0x15, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x34, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, + 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x13, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, + 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x4f, 0x0a, 0x13, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, + 0x6d, 0x18, 0x35, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x49, 0x6d, 0x70, + 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, + 0x64, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x5b, 0x0a, 0x0f, 0x6d, + 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x38, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, + 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x5b, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x39, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, + 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x61, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x75, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x3a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x61, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x3b, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x55, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x61, 0x0a, 0x11, 0x6d, + 0x61, 0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x18, 0x3c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, + 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x61, + 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, 0x73, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x12, 0x67, 0x0a, 0x13, 0x6d, 0x61, 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x3e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x11, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x67, 0x0a, 0x13, 0x6d, 0x61, + 0x70, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x18, 0x3f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x52, 0x11, 0x6d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x12, 0x6d, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x40, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, + 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x12, 0x6d, 0x0a, 0x15, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x41, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, + 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x12, 0x5b, 0x0a, 0x0f, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x42, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x0d, 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x5e, + 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x64, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x18, 0x43, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, + 0x6d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x55, + 0x0a, 0x0d, 0x6d, 0x61, 0x70, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, + 0x44, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, + 0x6f, 0x6f, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x6d, 0x61, 0x70, 0x42, 0x6f, 0x6f, + 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x61, 0x0a, 0x11, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x45, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0f, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x5e, 0x0a, 0x10, 0x6d, 0x61, 0x70, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x46, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x6d, 0x61, 0x70, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x77, 0x0a, 0x19, 0x6d, 0x61, 0x70, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x47, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, + 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x16, 0x6d, 0x61, 0x70, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x12, 0x6e, 0x0a, 0x16, 0x6d, 0x61, 0x70, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, + 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x49, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x13, 0x6d, 0x61, + 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, + 0x6d, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x18, 0x51, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x38, 0x31, 0x52, 0x0c, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0d, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x52, 0x20, 0x01, 0x28, + 0x03, 0x3a, 0x02, 0x38, 0x32, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x6e, + 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x02, 0x38, 0x33, 0x52, + 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x29, + 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x02, 0x38, 0x34, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x0a, 0x0e, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x55, 0x20, 0x01, 0x28, + 0x11, 0x3a, 0x03, 0x2d, 0x38, 0x35, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x29, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x3a, 0x02, 0x38, + 0x36, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x12, 0x2b, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x18, 0x57, 0x20, 0x01, 0x28, 0x07, 0x3a, 0x02, 0x38, 0x37, 0x52, 0x0e, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, + 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x18, 0x58, 0x20, 0x01, 0x28, 0x06, 0x3a, 0x02, 0x38, 0x38, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x59, + 0x20, 0x01, 0x28, 0x0f, 0x3a, 0x02, 0x38, 0x39, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x50, 0x20, + 0x01, 0x28, 0x10, 0x3a, 0x03, 0x2d, 0x39, 0x30, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x0d, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x5b, 0x20, 0x01, 0x28, 0x02, + 0x3a, 0x04, 0x39, 0x31, 0x2e, 0x35, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, + 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2c, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x3a, 0x05, 0x39, 0x32, + 0x30, 0x30, 0x30, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f, + 0x6f, 0x6c, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, 0x52, 0x0b, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x2c, 0x0a, 0x0e, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x5e, 0x20, + 0x01, 0x28, 0x09, 0x3a, 0x05, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0d, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c, + 0x3a, 0x05, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x60, 0x0a, 0x13, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x60, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, + 0x03, 0x42, 0x41, 0x52, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x5e, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x66, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, + 0x61, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, + 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, + 0x42, 0x41, 0x52, 0x52, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x6f, 0x72, 0x65, + 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x6f, 0x20, 0x01, 0x28, 0x0d, 0x48, 0x00, 0x52, + 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x62, 0x0a, 0x14, + 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x18, 0x70, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x48, 0x00, 0x52, 0x12, 0x6f, 0x6e, + 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x18, 0x71, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x21, 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x18, 0x72, 0x20, 0x01, 0x28, 0x0c, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, + 0x65, 0x6f, 0x66, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, + 0x66, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x73, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x09, + 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, + 0x6f, 0x66, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x74, 0x20, 0x01, 0x28, 0x04, 0x48, + 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x21, + 0x0a, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x75, 0x20, + 0x01, 0x28, 0x02, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x12, 0x23, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, + 0x65, 0x18, 0x76, 0x20, 0x01, 0x28, 0x01, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x4c, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, + 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x77, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x4d, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x18, 0x79, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4f, 0x6e, 0x65, 0x6f, 0x66, + 0x47, 0x72, 0x6f, 0x75, 0x70, 0x48, 0x00, 0x52, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x34, 0x0a, 0x15, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x78, 0x20, 0x01, + 0x28, 0x0d, 0x48, 0x01, 0x52, 0x13, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x1a, 0x61, 0x0a, 0x0d, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x42, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, + 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x52, + 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x1a, 0xb2, 0x01, 0x0a, + 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, + 0x0a, 0x01, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x67, 0x0a, 0x17, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2a, 0x0a, 0x11, 0x73, 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x69, + 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x1a, 0x86, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, + 0x61, 0x12, 0x67, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0xe9, 0x07, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, + 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, + 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, + 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x55, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x55, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x04, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x42, 0x0a, 0x14, 0x4d, 0x61, + 0x70, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, + 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, + 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x46, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x44, 0x0a, 0x16, 0x4d, 0x61, 0x70, 0x46, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x06, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, + 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0f, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, + 0x38, 0x01, 0x1a, 0x46, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, + 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x10, 0x52, 0x03, 0x6b, 0x65, 0x79, + 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x10, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x40, 0x0a, 0x12, 0x4d, 0x61, + 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, + 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, + 0x4d, 0x61, 0x70, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x01, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x3e, 0x0a, 0x10, 0x4d, 0x61, 0x70, 0x42, 0x6f, 0x6f, 0x6c, 0x42, 0x6f, 0x6f, 0x6c, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, + 0x42, 0x0a, 0x14, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x1a, 0x41, 0x0a, 0x13, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x79, 0x0a, 0x1b, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x44, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x73, 0x0a, 0x18, 0x4d, 0x61, 0x70, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x41, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x28, 0x0a, 0x0a, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x01, 0x61, 0x12, 0x0c, 0x0a, 0x01, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x62, + 0x22, 0x39, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, + 0x0a, 0x03, 0x46, 0x4f, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x52, 0x10, 0x01, + 0x12, 0x07, 0x0a, 0x03, 0x42, 0x41, 0x5a, 0x10, 0x02, 0x12, 0x10, 0x0a, 0x03, 0x4e, 0x45, 0x47, + 0x10, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, + 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x42, 0x10, 0x0a, 0x0e, 0x6f, 0x6e, + 0x65, 0x6f, 0x66, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x22, 0xc4, 0x01, 0x0a, + 0x15, 0x54, 0x65, 0x73, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x2d, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x3a, 0x0a, 0x16, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, + 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x02, 0x18, 0x01, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x70, + 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x22, 0x28, 0x0a, 0x0e, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x12, 0x12, 0x0a, 0x0a, 0x44, 0x45, 0x50, 0x52, 0x45, 0x43, 0x41, 0x54, 0x45, + 0x44, 0x10, 0x00, 0x1a, 0x02, 0x08, 0x01, 0x1a, 0x02, 0x18, 0x01, 0x3a, 0x02, 0x18, 0x01, 0x42, + 0x12, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6f, 0x6e, + 0x65, 0x6f, 0x66, 0x22, 0x2c, 0x0a, 0x0e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x01, 0x63, 0x12, 0x0c, 0x0a, 0x01, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, + 0x64, 0x22, 0x30, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x4a, 0x04, 0x08, + 0x0f, 0x10, 0x10, 0x4a, 0x04, 0x08, 0x09, 0x10, 0x0c, 0x52, 0x03, 0x62, 0x61, 0x72, 0x52, 0x03, + 0x62, 0x61, 0x7a, 0x22, 0x85, 0x01, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x66, 0x0a, 0x0d, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x47, 0x0a, 0x0b, 0x63, 0x6f, 0x72, 0x65, + 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x0b, 0x63, 0x6f, 0x72, 0x65, 0x63, 0x75, 0x72, 0x73, 0x69, 0x76, + 0x65, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0xb7, 0x01, 0x0a, 0x0d, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, + 0x01, 0x61, 0x18, 0x11, 0x20, 0x01, 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x2a, 0x0a, 0x11, 0x73, + 0x61, 0x6d, 0x65, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, + 0x18, 0x10, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x73, 0x61, 0x6d, 0x65, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x6c, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x8b, 0x01, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x2f, 0x20, 0x01, + 0x28, 0x05, 0x52, 0x01, 0x61, 0x12, 0x6c, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0xe9, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x22, 0x75, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x5e, 0x0a, 0x17, 0x6e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xeb, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x15, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0xf7, 0x01, 0x0a, 0x0c, 0x54, + 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x72, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x18, 0x01, 0x20, + 0x02, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x32, 0x60, 0x0a, 0x06, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0xe8, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x06, 0x73, 0x69, + 0x6e, 0x67, 0x6c, 0x65, 0x32, 0x5e, 0x0a, 0x05, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x12, 0x25, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xe9, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x6d, + 0x75, 0x6c, 0x74, 0x69, 0x22, 0xc2, 0x03, 0x0a, 0x13, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x12, 0x4b, 0x0a, 0x10, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x4b, 0x0a, 0x10, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x58, 0x0a, 0x0b, 0x6d, 0x61, 0x70, 0x5f, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x46, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x2e, 0x4d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, + 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x61, 0x70, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x12, 0x47, 0x0a, 0x0d, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0c, 0x6f, 0x6e, 0x65, + 0x6f, 0x66, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x5f, 0x0a, 0x0f, 0x4d, 0x61, 0x70, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x36, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x0d, 0x0a, 0x0b, 0x6f, 0x6e, + 0x65, 0x6f, 0x66, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0x99, 0x02, 0x0a, 0x17, 0x54, 0x65, + 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x46, + 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x5f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x39, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x5f, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x39, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x2e, 0x52, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x1d, 0x0a, 0x0d, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x02, 0x20, + 0x02, 0x28, 0x05, 0x52, 0x01, 0x61, 0x1a, 0x1d, 0x0a, 0x0d, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x04, 0x20, 0x02, + 0x28, 0x05, 0x52, 0x01, 0x61, 0x22, 0xb6, 0x01, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x57, 0x65, + 0x61, 0x6b, 0x12, 0x54, 0x0a, 0x0d, 0x77, 0x65, 0x61, 0x6b, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x31, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x77, + 0x65, 0x61, 0x6b, 0x2e, 0x57, 0x65, 0x61, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x31, 0x42, 0x02, 0x50, 0x01, 0x52, 0x0c, 0x77, 0x65, 0x61, 0x6b, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x31, 0x12, 0x54, 0x0a, 0x0d, 0x77, 0x65, 0x61, 0x6b, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x77, 0x65, 0x61, 0x6b, 0x2e, 0x57, 0x65, 0x61, 0x6b, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x42, 0x02, 0x50, 0x01, + 0x52, 0x0c, 0x77, 0x65, 0x61, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x22, 0xee, + 0x04, 0x0a, 0x0f, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x18, 0x5a, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x0a, 0x0c, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5b, 0x20, 0x03, 0x28, 0x03, 0x42, + 0x02, 0x10, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, + 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x18, 0x5c, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5d, 0x20, 0x03, 0x28, 0x04, + 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x12, 0x27, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x18, 0x5e, 0x20, 0x03, 0x28, 0x11, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x27, 0x0a, 0x0d, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5f, 0x20, 0x03, + 0x28, 0x12, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x12, 0x29, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x60, 0x20, 0x03, 0x28, 0x07, 0x42, 0x02, 0x10, 0x01, + 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, + 0x29, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x18, 0x61, 0x20, 0x03, 0x28, 0x06, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x0f, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x62, 0x20, + 0x03, 0x28, 0x0f, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x63, 0x20, 0x03, 0x28, 0x10, + 0x42, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, + 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x64, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x27, 0x0a, 0x0d, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x65, 0x20, 0x03, + 0x28, 0x01, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x44, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x12, 0x23, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, + 0x6f, 0x6f, 0x6c, 0x18, 0x66, 0x20, 0x03, 0x28, 0x08, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x44, 0x0a, 0x0b, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x67, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, + 0x02, 0x10, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x22, + 0xa8, 0x05, 0x0a, 0x11, 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x29, 0x0a, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x5a, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, + 0x00, 0x52, 0x0d, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, + 0x12, 0x29, 0x0a, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x18, 0x5b, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0d, 0x75, 0x6e, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x0f, 0x75, + 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x5c, + 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x0f, 0x75, 0x6e, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5d, 0x20, 0x03, 0x28, + 0x04, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2b, 0x0a, 0x0f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x5e, 0x20, 0x03, 0x28, 0x11, 0x42, 0x02, + 0x10, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x12, 0x2b, 0x0a, 0x0f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x5f, 0x20, 0x03, 0x28, 0x12, 0x42, 0x02, 0x10, 0x00, 0x52, + 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x2d, 0x0a, 0x10, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x18, 0x60, 0x20, 0x03, 0x28, 0x07, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0f, 0x75, + 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2d, + 0x0a, 0x10, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x18, 0x61, 0x20, 0x03, 0x28, 0x06, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0f, 0x75, 0x6e, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2f, 0x0a, + 0x11, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x18, 0x62, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x02, 0x10, 0x00, 0x52, 0x10, 0x75, 0x6e, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2f, + 0x0a, 0x11, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x18, 0x63, 0x20, 0x03, 0x28, 0x10, 0x42, 0x02, 0x10, 0x00, 0x52, 0x10, 0x75, + 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, + 0x29, 0x0a, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x18, 0x64, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0d, 0x75, 0x6e, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x2b, 0x0a, 0x0f, 0x75, 0x6e, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x65, 0x20, + 0x03, 0x28, 0x01, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x27, 0x0a, 0x0d, 0x75, 0x6e, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x66, 0x20, 0x03, 0x28, 0x08, 0x42, 0x02, + 0x10, 0x00, 0x52, 0x0c, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, + 0x12, 0x48, 0x0a, 0x0d, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, + 0x6d, 0x18, 0x67, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, + 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0c, 0x75, 0x6e, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x22, 0x20, 0x0a, 0x14, 0x54, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, 0x22, 0x22, 0x0a, 0x16, + 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2a, 0x08, 0x08, 0x01, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, + 0x22, 0x0c, 0x0a, 0x0a, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x0d, + 0x0a, 0x0b, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x0a, + 0x0c, 0x57, 0x65, 0x69, 0x72, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x51, 0x0a, + 0x0d, 0x77, 0x65, 0x69, 0x72, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0c, 0x3a, 0x2c, 0x68, 0x65, 0x6c, 0x6c, 0x6f, 0x2c, 0x20, 0x5c, 0x22, 0x77, + 0x6f, 0x72, 0x6c, 0x64, 0x21, 0x5c, 0x22, 0x5c, 0x6e, 0x64, 0x65, 0x61, 0x64, 0x5c, 0x33, 0x33, + 0x36, 0x5c, 0x32, 0x35, 0x35, 0x5c, 0x32, 0x37, 0x36, 0x5c, 0x33, 0x35, 0x37, 0x62, 0x65, 0x65, + 0x66, 0x60, 0x52, 0x0c, 0x77, 0x65, 0x69, 0x72, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x22, 0xff, 0x03, 0x0a, 0x0d, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x33, 0x0a, 0x04, 0x7a, 0x65, 0x72, 0x6f, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x3a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x52, 0x04, 0x7a, 0x65, 0x72, 0x6f, 0x12, 0x30, 0x0a, 0x03, + 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, + 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x03, 0x4f, 0x4e, 0x45, 0x52, 0x03, 0x6f, 0x6e, 0x65, 0x12, 0x3c, + 0x0a, 0x07, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x07, 0x45, 0x4c, 0x45, 0x56, + 0x45, 0x4e, 0x54, 0x52, 0x07, 0x65, 0x6c, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x42, 0x0a, 0x09, + 0x73, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x65, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x09, 0x53, 0x45, 0x56, 0x45, + 0x4e, 0x54, 0x45, 0x45, 0x4e, 0x52, 0x09, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x65, 0x65, 0x6e, + 0x12, 0x48, 0x0a, 0x0b, 0x74, 0x68, 0x69, 0x72, 0x74, 0x79, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x3a, 0x0b, 0x54, 0x48, 0x49, 0x52, 0x54, 0x59, 0x53, 0x45, 0x56, 0x45, 0x4e, 0x52, 0x0b, 0x74, + 0x68, 0x69, 0x72, 0x74, 0x79, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x12, 0x45, 0x0a, 0x0a, 0x73, 0x69, + 0x78, 0x74, 0x79, 0x73, 0x65, 0x76, 0x65, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x19, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x65, + 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x0a, 0x53, 0x49, 0x58, 0x54, 0x59, + 0x53, 0x45, 0x56, 0x45, 0x4e, 0x52, 0x0a, 0x73, 0x69, 0x78, 0x74, 0x79, 0x73, 0x65, 0x76, 0x65, + 0x6e, 0x12, 0x3f, 0x0a, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, 0x76, 0x65, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x65, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x08, + 0x4e, 0x45, 0x47, 0x41, 0x54, 0x49, 0x56, 0x45, 0x52, 0x08, 0x6e, 0x65, 0x67, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x2a, 0x40, 0x0a, 0x0b, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, + 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x46, 0x4f, 0x4f, + 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, 0x41, + 0x52, 0x10, 0x05, 0x12, 0x0f, 0x0a, 0x0b, 0x46, 0x4f, 0x52, 0x45, 0x49, 0x47, 0x4e, 0x5f, 0x42, + 0x41, 0x5a, 0x10, 0x06, 0x2a, 0x47, 0x0a, 0x16, 0x54, 0x65, 0x73, 0x74, 0x52, 0x65, 0x73, 0x65, + 0x72, 0x76, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x11, + 0x0a, 0x0d, 0x52, 0x45, 0x53, 0x45, 0x52, 0x56, 0x45, 0x44, 0x5f, 0x45, 0x4e, 0x55, 0x4d, 0x10, + 0x00, 0x22, 0x04, 0x08, 0x02, 0x10, 0x02, 0x22, 0x04, 0x08, 0x0f, 0x10, 0x0f, 0x22, 0x04, 0x08, + 0x09, 0x10, 0x0b, 0x2a, 0x03, 0x42, 0x41, 0x52, 0x2a, 0x03, 0x42, 0x41, 0x5a, 0x32, 0xa8, 0x01, + 0x0a, 0x0b, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x46, 0x0a, + 0x03, 0x46, 0x6f, 0x6f, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x53, 0x74, 0x72, + 0x65, 0x61, 0x6d, 0x12, 0x1e, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x6f, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x30, 0x01, 0x32, 0x85, 0x01, 0x0a, 0x15, 0x54, 0x65, 0x73, + 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0x67, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, + 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, + 0x61, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0x29, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x44, 0x65, 0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x03, 0x88, 0x02, 0x01, 0x1a, 0x03, 0x88, 0x02, 0x01, + 0x3a, 0x4c, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, + 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x4c, + 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0d, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x4e, 0x0a, 0x0f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, + 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x0e, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x4e, 0x0a, 0x0f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x04, 0x52, 0x0e, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x4e, 0x0a, 0x0f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, + 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0e, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x4e, 0x0a, 0x0f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x50, 0x0a, 0x10, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0f, 0x6f, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x50, + 0x0a, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x06, 0x52, + 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x3a, 0x52, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x01, + 0x28, 0x0f, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x3a, 0x52, 0x0a, 0x11, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x10, 0x52, 0x10, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x4c, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, + 0x6c, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x4e, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x0c, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, + 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x3a, 0x4a, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0d, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x6f, + 0x6f, 0x6c, 0x3a, 0x4e, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x73, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3a, 0x4c, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x0f, 0x20, 0x01, 0x28, + 0x0c, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, + 0x3a, 0x6e, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x21, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x3a, 0x92, 0x01, 0x0a, 0x17, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x25, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x3a, 0x84, 0x01, 0x0a, 0x14, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x25, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x61, 0x6c, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x4c, 0x0a, 0x0e, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x4c, 0x0a, 0x0e, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, 0x03, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x4e, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x4e, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x22, 0x20, 0x03, 0x28, 0x04, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x4e, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x23, 0x20, 0x03, 0x28, 0x11, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x4e, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x24, 0x20, 0x03, 0x28, 0x12, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, + 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x50, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x25, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x25, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x50, 0x0a, 0x10, 0x72, 0x65, + 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x26, 0x20, 0x03, 0x28, 0x06, 0x52, 0x0f, 0x72, 0x65, 0x70, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x52, 0x0a, 0x11, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, + 0x32, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x27, 0x20, 0x03, 0x28, 0x0f, 0x52, 0x10, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x3a, 0x52, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x28, 0x20, 0x03, + 0x28, 0x10, 0x52, 0x10, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x36, 0x34, 0x3a, 0x4c, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x29, 0x20, + 0x03, 0x28, 0x02, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x46, 0x6c, 0x6f, + 0x61, 0x74, 0x3a, 0x4e, 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x64, + 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2a, 0x20, 0x03, + 0x28, 0x01, 0x52, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x3a, 0x4a, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, + 0x6f, 0x6f, 0x6c, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2b, 0x20, 0x03, 0x28, 0x08, + 0x52, 0x0c, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x4e, + 0x0a, 0x0f, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x3a, 0x4c, + 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, + 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2d, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x0d, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x6e, 0x0a, 0x0d, + 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x25, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x2e, 0x20, 0x03, 0x28, 0x0a, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0d, 0x72, + 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x3a, 0x92, 0x01, 0x0a, + 0x17, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x30, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, + 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x52, 0x15, 0x72, 0x65, 0x70, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x3a, 0x84, 0x01, 0x0a, 0x14, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x33, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x12, 0x72, 0x65, 0x70, 0x65, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x4e, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x51, 0x20, 0x01, 0x28, 0x05, 0x3a, 0x02, 0x38, 0x31, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x4e, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x52, 0x20, 0x01, 0x28, 0x03, 0x3a, 0x02, 0x38, 0x32, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x50, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x53, 0x20, 0x01, 0x28, 0x0d, 0x3a, 0x02, 0x38, 0x33, 0x52, 0x0d, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x50, 0x0a, 0x0e, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, + 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, + 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x54, 0x20, 0x01, 0x28, 0x04, 0x3a, 0x02, 0x38, 0x34, 0x52, 0x0d, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x51, 0x0a, 0x0e, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x25, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x55, 0x20, 0x01, 0x28, 0x11, 0x3a, 0x03, 0x2d, 0x38, 0x35, + 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, + 0x50, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x56, 0x20, 0x01, 0x28, 0x12, 0x3a, 0x02, + 0x38, 0x36, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x3a, 0x52, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, + 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x57, 0x20, 0x01, 0x28, + 0x07, 0x3a, 0x02, 0x38, 0x37, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x52, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x58, 0x20, 0x01, 0x28, 0x06, 0x3a, 0x02, 0x38, 0x38, 0x52, 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x54, 0x0a, 0x10, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x25, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x59, 0x20, 0x01, 0x28, 0x0f, 0x3a, 0x02, 0x38, 0x39, 0x52, 0x0f, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, + 0x55, 0x0a, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x50, 0x20, 0x01, 0x28, 0x10, + 0x3a, 0x03, 0x2d, 0x39, 0x30, 0x52, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x50, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5b, + 0x20, 0x01, 0x28, 0x02, 0x3a, 0x04, 0x39, 0x31, 0x2e, 0x35, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x53, 0x0a, 0x0e, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x5c, 0x20, 0x01, 0x28, 0x01, 0x3a, 0x05, 0x39, 0x32, 0x30, 0x30, 0x30, 0x52, 0x0d, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x3a, 0x4e, 0x0a, + 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x25, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5d, 0x20, 0x01, 0x28, 0x08, 0x3a, 0x04, 0x74, 0x72, 0x75, 0x65, + 0x52, 0x0b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x53, 0x0a, + 0x0e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5e, 0x20, 0x01, 0x28, 0x09, 0x3a, 0x05, 0x68, 0x65, + 0x6c, 0x6c, 0x6f, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x3a, 0x51, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5f, 0x20, 0x01, 0x28, 0x0c, + 0x3a, 0x05, 0x77, 0x6f, 0x72, 0x6c, 0x64, 0x52, 0x0c, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x3a, 0x4f, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x5a, 0x20, 0x03, 0x28, 0x05, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x4f, 0x0a, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, + 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x5b, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0b, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x51, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x5c, 0x20, 0x03, 0x28, 0x0d, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x51, 0x0a, 0x0d, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x28, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5d, 0x20, 0x03, 0x28, 0x04, 0x42, 0x02, 0x10, 0x01, 0x52, + 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x51, 0x0a, + 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x28, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5e, 0x20, 0x03, 0x28, 0x11, 0x42, 0x02, + 0x10, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x3a, 0x51, 0x0a, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5f, 0x20, 0x03, 0x28, + 0x12, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x3a, 0x53, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x60, 0x20, 0x03, 0x28, 0x07, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x53, 0x0a, 0x0e, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x61, 0x20, 0x03, 0x28, 0x06, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0d, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x55, 0x0a, + 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, + 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x62, 0x20, 0x03, 0x28, 0x0f, + 0x42, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x3a, 0x55, 0x0a, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x63, 0x20, 0x03, 0x28, 0x10, 0x42, 0x02, 0x10, 0x01, 0x52, 0x0e, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x4f, 0x0a, 0x0c, 0x70, + 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x28, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x64, 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x01, 0x52, + 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x51, 0x0a, 0x0d, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x28, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x65, 0x20, 0x03, 0x28, 0x01, 0x42, 0x02, 0x10, + 0x01, 0x52, 0x0c, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x3a, + 0x4d, 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x28, + 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x66, 0x20, 0x03, 0x28, 0x08, 0x42, 0x02, + 0x10, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x6e, + 0x0a, 0x0b, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x28, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x50, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x67, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, + 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x46, 0x6f, 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, + 0x10, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x55, + 0x0a, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5a, 0x20, 0x03, + 0x28, 0x05, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0d, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x55, 0x0a, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, + 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x5b, 0x20, 0x03, 0x28, 0x03, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0d, 0x75, + 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x57, 0x0a, 0x0f, + 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, + 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5c, 0x20, 0x03, 0x28, + 0x0d, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x57, 0x0a, 0x0f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5d, 0x20, 0x03, 0x28, 0x04, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0e, + 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x3a, 0x57, + 0x0a, 0x0f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5e, 0x20, + 0x03, 0x28, 0x11, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x53, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x3a, 0x57, 0x0a, 0x0f, 0x75, 0x6e, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x5f, 0x20, 0x03, 0x28, 0x12, 0x42, 0x02, 0x10, 0x00, + 0x52, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x3a, 0x59, 0x0a, 0x10, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, + 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x60, 0x20, 0x03, 0x28, 0x07, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x64, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x59, 0x0a, 0x10, 0x75, + 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, + 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x61, 0x20, 0x03, 0x28, + 0x06, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0f, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x46, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x3a, 0x5b, 0x0a, 0x11, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x2a, 0x2e, 0x67, 0x6f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x2e, 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x62, 0x20, 0x03, 0x28, 0x0f, 0x42, 0x02, 0x10, + 0x00, 0x52, 0x10, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x33, 0x32, 0x3a, 0x5b, 0x0a, 0x11, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, + 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x63, 0x20, 0x03, 0x28, 0x10, 0x42, 0x02, 0x10, 0x00, 0x52, 0x10, + 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, + 0x3a, 0x55, 0x0a, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x66, 0x6c, 0x6f, + 0x61, 0x74, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, + 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x64, + 0x20, 0x03, 0x28, 0x02, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0d, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, + 0x65, 0x64, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x3a, 0x57, 0x0a, 0x0f, 0x75, 0x6e, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, + 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x65, 0x20, 0x03, 0x28, 0x01, 0x42, 0x02, 0x10, 0x00, + 0x52, 0x0e, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x3a, 0x53, 0x0a, 0x0d, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x62, 0x6f, 0x6f, + 0x6c, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x55, 0x6e, 0x70, 0x61, 0x63, + 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x66, 0x20, + 0x03, 0x28, 0x08, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0c, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x74, 0x0a, 0x0d, 0x75, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, + 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x55, 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x18, 0x67, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x46, 0x6f, + 0x72, 0x65, 0x69, 0x67, 0x6e, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x02, 0x10, 0x00, 0x52, 0x0c, 0x75, + 0x6e, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x42, 0x37, 0x5a, 0x35, 0x67, + 0x6f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x50, 0x02, 0x58, 0x03, 0x58, 0x04, +}) + +var ( + file_internal_protojson_testprotos_test_test_proto_rawDescOnce sync.Once + file_internal_protojson_testprotos_test_test_proto_rawDescData []byte +) + +func file_internal_protojson_testprotos_test_test_proto_rawDescGZIP() []byte { + file_internal_protojson_testprotos_test_test_proto_rawDescOnce.Do(func() { + file_internal_protojson_testprotos_test_test_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_test_proto_rawDesc), len(file_internal_protojson_testprotos_test_test_proto_rawDesc))) + }) + return file_internal_protojson_testprotos_test_test_proto_rawDescData +} + +var file_internal_protojson_testprotos_test_test_proto_enumTypes = make([]protoimpl.EnumInfo, 4) +var file_internal_protojson_testprotos_test_test_proto_msgTypes = make([]protoimpl.MessageInfo, 45) +var file_internal_protojson_testprotos_test_test_proto_goTypes = []any{ + (ForeignEnum)(0), // 0: goproto.proto.test.ForeignEnum + (TestReservedEnumFields)(0), // 1: goproto.proto.test.TestReservedEnumFields + (TestAllTypes_NestedEnum)(0), // 2: goproto.proto.test.TestAllTypes.NestedEnum + (TestDeprecatedMessage_DeprecatedEnum)(0), // 3: goproto.proto.test.TestDeprecatedMessage.DeprecatedEnum + (*TestAllTypes)(nil), // 4: goproto.proto.test.TestAllTypes + (*TestDeprecatedMessage)(nil), // 5: goproto.proto.test.TestDeprecatedMessage + (*ForeignMessage)(nil), // 6: goproto.proto.test.ForeignMessage + (*TestReservedFields)(nil), // 7: goproto.proto.test.TestReservedFields + (*TestAllExtensions)(nil), // 8: goproto.proto.test.TestAllExtensions + (*OptionalGroup)(nil), // 9: goproto.proto.test.OptionalGroup + (*RepeatedGroup)(nil), // 10: goproto.proto.test.RepeatedGroup + (*TestNestedExtension)(nil), // 11: goproto.proto.test.TestNestedExtension + (*TestRequired)(nil), // 12: goproto.proto.test.TestRequired + (*TestRequiredForeign)(nil), // 13: goproto.proto.test.TestRequiredForeign + (*TestRequiredGroupFields)(nil), // 14: goproto.proto.test.TestRequiredGroupFields + (*TestWeak)(nil), // 15: goproto.proto.test.TestWeak + (*TestPackedTypes)(nil), // 16: goproto.proto.test.TestPackedTypes + (*TestUnpackedTypes)(nil), // 17: goproto.proto.test.TestUnpackedTypes + (*TestPackedExtensions)(nil), // 18: goproto.proto.test.TestPackedExtensions + (*TestUnpackedExtensions)(nil), // 19: goproto.proto.test.TestUnpackedExtensions + (*FooRequest)(nil), // 20: goproto.proto.test.FooRequest + (*FooResponse)(nil), // 21: goproto.proto.test.FooResponse + (*WeirdDefault)(nil), // 22: goproto.proto.test.WeirdDefault + (*RemoteDefault)(nil), // 23: goproto.proto.test.RemoteDefault + (*TestAllTypes_NestedMessage)(nil), // 24: goproto.proto.test.TestAllTypes.NestedMessage + (*TestAllTypes_OptionalGroup)(nil), // 25: goproto.proto.test.TestAllTypes.OptionalGroup + (*TestAllTypes_RepeatedGroup)(nil), // 26: goproto.proto.test.TestAllTypes.RepeatedGroup + nil, // 27: goproto.proto.test.TestAllTypes.MapInt32Int32Entry + nil, // 28: goproto.proto.test.TestAllTypes.MapInt64Int64Entry + nil, // 29: goproto.proto.test.TestAllTypes.MapUint32Uint32Entry + nil, // 30: goproto.proto.test.TestAllTypes.MapUint64Uint64Entry + nil, // 31: goproto.proto.test.TestAllTypes.MapSint32Sint32Entry + nil, // 32: goproto.proto.test.TestAllTypes.MapSint64Sint64Entry + nil, // 33: goproto.proto.test.TestAllTypes.MapFixed32Fixed32Entry + nil, // 34: goproto.proto.test.TestAllTypes.MapFixed64Fixed64Entry + nil, // 35: goproto.proto.test.TestAllTypes.MapSfixed32Sfixed32Entry + nil, // 36: goproto.proto.test.TestAllTypes.MapSfixed64Sfixed64Entry + nil, // 37: goproto.proto.test.TestAllTypes.MapInt32FloatEntry + nil, // 38: goproto.proto.test.TestAllTypes.MapInt32DoubleEntry + nil, // 39: goproto.proto.test.TestAllTypes.MapBoolBoolEntry + nil, // 40: goproto.proto.test.TestAllTypes.MapStringStringEntry + nil, // 41: goproto.proto.test.TestAllTypes.MapStringBytesEntry + nil, // 42: goproto.proto.test.TestAllTypes.MapStringNestedMessageEntry + nil, // 43: goproto.proto.test.TestAllTypes.MapStringNestedEnumEntry + (*TestAllTypes_OneofGroup)(nil), // 44: goproto.proto.test.TestAllTypes.OneofGroup + (*TestAllExtensions_NestedMessage)(nil), // 45: goproto.proto.test.TestAllExtensions.NestedMessage + nil, // 46: goproto.proto.test.TestRequiredForeign.MapMessageEntry + (*TestRequiredGroupFields_OptionalGroup)(nil), // 47: goproto.proto.test.TestRequiredGroupFields.OptionalGroup + (*TestRequiredGroupFields_RepeatedGroup)(nil), // 48: goproto.proto.test.TestRequiredGroupFields.RepeatedGroup + (*ImportMessage)(nil), // 49: goproto.proto.test.ImportMessage + (ImportEnum)(0), // 50: goproto.proto.test.ImportEnum + (*weak1.WeakImportMessage1)(nil), // 51: goproto.proto.test.weak.WeakImportMessage1 + (*weak2.WeakImportMessage2)(nil), // 52: goproto.proto.test.weak.WeakImportMessage2 + (enums.Enum)(0), // 53: goproto.proto.enums.Enum +} +var file_internal_protojson_testprotos_test_test_proto_depIdxs = []int32{ + 25, // 0: goproto.proto.test.TestAllTypes.optionalgroup:type_name -> goproto.proto.test.TestAllTypes.OptionalGroup + 24, // 1: goproto.proto.test.TestAllTypes.optional_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage + 6, // 2: goproto.proto.test.TestAllTypes.optional_foreign_message:type_name -> goproto.proto.test.ForeignMessage + 49, // 3: goproto.proto.test.TestAllTypes.optional_import_message:type_name -> goproto.proto.test.ImportMessage + 2, // 4: goproto.proto.test.TestAllTypes.optional_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum + 0, // 5: goproto.proto.test.TestAllTypes.optional_foreign_enum:type_name -> goproto.proto.test.ForeignEnum + 50, // 6: goproto.proto.test.TestAllTypes.optional_import_enum:type_name -> goproto.proto.test.ImportEnum + 26, // 7: goproto.proto.test.TestAllTypes.repeatedgroup:type_name -> goproto.proto.test.TestAllTypes.RepeatedGroup + 24, // 8: goproto.proto.test.TestAllTypes.repeated_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage + 6, // 9: goproto.proto.test.TestAllTypes.repeated_foreign_message:type_name -> goproto.proto.test.ForeignMessage + 49, // 10: goproto.proto.test.TestAllTypes.repeated_importmessage:type_name -> goproto.proto.test.ImportMessage + 2, // 11: goproto.proto.test.TestAllTypes.repeated_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum + 0, // 12: goproto.proto.test.TestAllTypes.repeated_foreign_enum:type_name -> goproto.proto.test.ForeignEnum + 50, // 13: goproto.proto.test.TestAllTypes.repeated_importenum:type_name -> goproto.proto.test.ImportEnum + 27, // 14: goproto.proto.test.TestAllTypes.map_int32_int32:type_name -> goproto.proto.test.TestAllTypes.MapInt32Int32Entry + 28, // 15: goproto.proto.test.TestAllTypes.map_int64_int64:type_name -> goproto.proto.test.TestAllTypes.MapInt64Int64Entry + 29, // 16: goproto.proto.test.TestAllTypes.map_uint32_uint32:type_name -> goproto.proto.test.TestAllTypes.MapUint32Uint32Entry + 30, // 17: goproto.proto.test.TestAllTypes.map_uint64_uint64:type_name -> goproto.proto.test.TestAllTypes.MapUint64Uint64Entry + 31, // 18: goproto.proto.test.TestAllTypes.map_sint32_sint32:type_name -> goproto.proto.test.TestAllTypes.MapSint32Sint32Entry + 32, // 19: goproto.proto.test.TestAllTypes.map_sint64_sint64:type_name -> goproto.proto.test.TestAllTypes.MapSint64Sint64Entry + 33, // 20: goproto.proto.test.TestAllTypes.map_fixed32_fixed32:type_name -> goproto.proto.test.TestAllTypes.MapFixed32Fixed32Entry + 34, // 21: goproto.proto.test.TestAllTypes.map_fixed64_fixed64:type_name -> goproto.proto.test.TestAllTypes.MapFixed64Fixed64Entry + 35, // 22: goproto.proto.test.TestAllTypes.map_sfixed32_sfixed32:type_name -> goproto.proto.test.TestAllTypes.MapSfixed32Sfixed32Entry + 36, // 23: goproto.proto.test.TestAllTypes.map_sfixed64_sfixed64:type_name -> goproto.proto.test.TestAllTypes.MapSfixed64Sfixed64Entry + 37, // 24: goproto.proto.test.TestAllTypes.map_int32_float:type_name -> goproto.proto.test.TestAllTypes.MapInt32FloatEntry + 38, // 25: goproto.proto.test.TestAllTypes.map_int32_double:type_name -> goproto.proto.test.TestAllTypes.MapInt32DoubleEntry + 39, // 26: goproto.proto.test.TestAllTypes.map_bool_bool:type_name -> goproto.proto.test.TestAllTypes.MapBoolBoolEntry + 40, // 27: goproto.proto.test.TestAllTypes.map_string_string:type_name -> goproto.proto.test.TestAllTypes.MapStringStringEntry + 41, // 28: goproto.proto.test.TestAllTypes.map_string_bytes:type_name -> goproto.proto.test.TestAllTypes.MapStringBytesEntry + 42, // 29: goproto.proto.test.TestAllTypes.map_string_nested_message:type_name -> goproto.proto.test.TestAllTypes.MapStringNestedMessageEntry + 43, // 30: goproto.proto.test.TestAllTypes.map_string_nested_enum:type_name -> goproto.proto.test.TestAllTypes.MapStringNestedEnumEntry + 2, // 31: goproto.proto.test.TestAllTypes.default_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum + 0, // 32: goproto.proto.test.TestAllTypes.default_foreign_enum:type_name -> goproto.proto.test.ForeignEnum + 24, // 33: goproto.proto.test.TestAllTypes.oneof_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage + 2, // 34: goproto.proto.test.TestAllTypes.oneof_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum + 44, // 35: goproto.proto.test.TestAllTypes.oneofgroup:type_name -> goproto.proto.test.TestAllTypes.OneofGroup + 45, // 36: goproto.proto.test.OptionalGroup.optional_nested_message:type_name -> goproto.proto.test.TestAllExtensions.NestedMessage + 45, // 37: goproto.proto.test.RepeatedGroup.optional_nested_message:type_name -> goproto.proto.test.TestAllExtensions.NestedMessage + 12, // 38: goproto.proto.test.TestRequiredForeign.optional_message:type_name -> goproto.proto.test.TestRequired + 12, // 39: goproto.proto.test.TestRequiredForeign.repeated_message:type_name -> goproto.proto.test.TestRequired + 46, // 40: goproto.proto.test.TestRequiredForeign.map_message:type_name -> goproto.proto.test.TestRequiredForeign.MapMessageEntry + 12, // 41: goproto.proto.test.TestRequiredForeign.oneof_message:type_name -> goproto.proto.test.TestRequired + 47, // 42: goproto.proto.test.TestRequiredGroupFields.optionalgroup:type_name -> goproto.proto.test.TestRequiredGroupFields.OptionalGroup + 48, // 43: goproto.proto.test.TestRequiredGroupFields.repeatedgroup:type_name -> goproto.proto.test.TestRequiredGroupFields.RepeatedGroup + 51, // 44: goproto.proto.test.TestWeak.weak_message1:type_name -> goproto.proto.test.weak.WeakImportMessage1 + 52, // 45: goproto.proto.test.TestWeak.weak_message2:type_name -> goproto.proto.test.weak.WeakImportMessage2 + 0, // 46: goproto.proto.test.TestPackedTypes.packed_enum:type_name -> goproto.proto.test.ForeignEnum + 0, // 47: goproto.proto.test.TestUnpackedTypes.unpacked_enum:type_name -> goproto.proto.test.ForeignEnum + 53, // 48: goproto.proto.test.RemoteDefault.default:type_name -> goproto.proto.enums.Enum + 53, // 49: goproto.proto.test.RemoteDefault.zero:type_name -> goproto.proto.enums.Enum + 53, // 50: goproto.proto.test.RemoteDefault.one:type_name -> goproto.proto.enums.Enum + 53, // 51: goproto.proto.test.RemoteDefault.elevent:type_name -> goproto.proto.enums.Enum + 53, // 52: goproto.proto.test.RemoteDefault.seventeen:type_name -> goproto.proto.enums.Enum + 53, // 53: goproto.proto.test.RemoteDefault.thirtyseven:type_name -> goproto.proto.enums.Enum + 53, // 54: goproto.proto.test.RemoteDefault.sixtyseven:type_name -> goproto.proto.enums.Enum + 53, // 55: goproto.proto.test.RemoteDefault.negative:type_name -> goproto.proto.enums.Enum + 4, // 56: goproto.proto.test.TestAllTypes.NestedMessage.corecursive:type_name -> goproto.proto.test.TestAllTypes + 24, // 57: goproto.proto.test.TestAllTypes.OptionalGroup.optional_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage + 24, // 58: goproto.proto.test.TestAllTypes.RepeatedGroup.optional_nested_message:type_name -> goproto.proto.test.TestAllTypes.NestedMessage + 24, // 59: goproto.proto.test.TestAllTypes.MapStringNestedMessageEntry.value:type_name -> goproto.proto.test.TestAllTypes.NestedMessage + 2, // 60: goproto.proto.test.TestAllTypes.MapStringNestedEnumEntry.value:type_name -> goproto.proto.test.TestAllTypes.NestedEnum + 8, // 61: goproto.proto.test.TestAllExtensions.NestedMessage.corecursive:type_name -> goproto.proto.test.TestAllExtensions + 12, // 62: goproto.proto.test.TestRequiredForeign.MapMessageEntry.value:type_name -> goproto.proto.test.TestRequired + 8, // 63: goproto.proto.test.optional_int32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 64: goproto.proto.test.optional_int64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 65: goproto.proto.test.optional_uint32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 66: goproto.proto.test.optional_uint64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 67: goproto.proto.test.optional_sint32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 68: goproto.proto.test.optional_sint64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 69: goproto.proto.test.optional_fixed32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 70: goproto.proto.test.optional_fixed64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 71: goproto.proto.test.optional_sfixed32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 72: goproto.proto.test.optional_sfixed64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 73: goproto.proto.test.optional_float:extendee -> goproto.proto.test.TestAllExtensions + 8, // 74: goproto.proto.test.optional_double:extendee -> goproto.proto.test.TestAllExtensions + 8, // 75: goproto.proto.test.optional_bool:extendee -> goproto.proto.test.TestAllExtensions + 8, // 76: goproto.proto.test.optional_string:extendee -> goproto.proto.test.TestAllExtensions + 8, // 77: goproto.proto.test.optional_bytes:extendee -> goproto.proto.test.TestAllExtensions + 8, // 78: goproto.proto.test.optionalgroup:extendee -> goproto.proto.test.TestAllExtensions + 8, // 79: goproto.proto.test.optional_nested_message:extendee -> goproto.proto.test.TestAllExtensions + 8, // 80: goproto.proto.test.optional_nested_enum:extendee -> goproto.proto.test.TestAllExtensions + 8, // 81: goproto.proto.test.repeated_int32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 82: goproto.proto.test.repeated_int64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 83: goproto.proto.test.repeated_uint32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 84: goproto.proto.test.repeated_uint64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 85: goproto.proto.test.repeated_sint32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 86: goproto.proto.test.repeated_sint64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 87: goproto.proto.test.repeated_fixed32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 88: goproto.proto.test.repeated_fixed64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 89: goproto.proto.test.repeated_sfixed32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 90: goproto.proto.test.repeated_sfixed64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 91: goproto.proto.test.repeated_float:extendee -> goproto.proto.test.TestAllExtensions + 8, // 92: goproto.proto.test.repeated_double:extendee -> goproto.proto.test.TestAllExtensions + 8, // 93: goproto.proto.test.repeated_bool:extendee -> goproto.proto.test.TestAllExtensions + 8, // 94: goproto.proto.test.repeated_string:extendee -> goproto.proto.test.TestAllExtensions + 8, // 95: goproto.proto.test.repeated_bytes:extendee -> goproto.proto.test.TestAllExtensions + 8, // 96: goproto.proto.test.repeatedgroup:extendee -> goproto.proto.test.TestAllExtensions + 8, // 97: goproto.proto.test.repeated_nested_message:extendee -> goproto.proto.test.TestAllExtensions + 8, // 98: goproto.proto.test.repeated_nested_enum:extendee -> goproto.proto.test.TestAllExtensions + 8, // 99: goproto.proto.test.default_int32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 100: goproto.proto.test.default_int64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 101: goproto.proto.test.default_uint32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 102: goproto.proto.test.default_uint64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 103: goproto.proto.test.default_sint32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 104: goproto.proto.test.default_sint64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 105: goproto.proto.test.default_fixed32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 106: goproto.proto.test.default_fixed64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 107: goproto.proto.test.default_sfixed32:extendee -> goproto.proto.test.TestAllExtensions + 8, // 108: goproto.proto.test.default_sfixed64:extendee -> goproto.proto.test.TestAllExtensions + 8, // 109: goproto.proto.test.default_float:extendee -> goproto.proto.test.TestAllExtensions + 8, // 110: goproto.proto.test.default_double:extendee -> goproto.proto.test.TestAllExtensions + 8, // 111: goproto.proto.test.default_bool:extendee -> goproto.proto.test.TestAllExtensions + 8, // 112: goproto.proto.test.default_string:extendee -> goproto.proto.test.TestAllExtensions + 8, // 113: goproto.proto.test.default_bytes:extendee -> goproto.proto.test.TestAllExtensions + 18, // 114: goproto.proto.test.packed_int32:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 115: goproto.proto.test.packed_int64:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 116: goproto.proto.test.packed_uint32:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 117: goproto.proto.test.packed_uint64:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 118: goproto.proto.test.packed_sint32:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 119: goproto.proto.test.packed_sint64:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 120: goproto.proto.test.packed_fixed32:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 121: goproto.proto.test.packed_fixed64:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 122: goproto.proto.test.packed_sfixed32:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 123: goproto.proto.test.packed_sfixed64:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 124: goproto.proto.test.packed_float:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 125: goproto.proto.test.packed_double:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 126: goproto.proto.test.packed_bool:extendee -> goproto.proto.test.TestPackedExtensions + 18, // 127: goproto.proto.test.packed_enum:extendee -> goproto.proto.test.TestPackedExtensions + 19, // 128: goproto.proto.test.unpacked_int32:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 129: goproto.proto.test.unpacked_int64:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 130: goproto.proto.test.unpacked_uint32:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 131: goproto.proto.test.unpacked_uint64:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 132: goproto.proto.test.unpacked_sint32:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 133: goproto.proto.test.unpacked_sint64:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 134: goproto.proto.test.unpacked_fixed32:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 135: goproto.proto.test.unpacked_fixed64:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 136: goproto.proto.test.unpacked_sfixed32:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 137: goproto.proto.test.unpacked_sfixed64:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 138: goproto.proto.test.unpacked_float:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 139: goproto.proto.test.unpacked_double:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 140: goproto.proto.test.unpacked_bool:extendee -> goproto.proto.test.TestUnpackedExtensions + 19, // 141: goproto.proto.test.unpacked_enum:extendee -> goproto.proto.test.TestUnpackedExtensions + 8, // 142: goproto.proto.test.TestNestedExtension.nested_string_extension:extendee -> goproto.proto.test.TestAllExtensions + 8, // 143: goproto.proto.test.TestRequired.single:extendee -> goproto.proto.test.TestAllExtensions + 8, // 144: goproto.proto.test.TestRequired.multi:extendee -> goproto.proto.test.TestAllExtensions + 9, // 145: goproto.proto.test.optionalgroup:type_name -> goproto.proto.test.OptionalGroup + 45, // 146: goproto.proto.test.optional_nested_message:type_name -> goproto.proto.test.TestAllExtensions.NestedMessage + 2, // 147: goproto.proto.test.optional_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum + 10, // 148: goproto.proto.test.repeatedgroup:type_name -> goproto.proto.test.RepeatedGroup + 45, // 149: goproto.proto.test.repeated_nested_message:type_name -> goproto.proto.test.TestAllExtensions.NestedMessage + 2, // 150: goproto.proto.test.repeated_nested_enum:type_name -> goproto.proto.test.TestAllTypes.NestedEnum + 0, // 151: goproto.proto.test.packed_enum:type_name -> goproto.proto.test.ForeignEnum + 0, // 152: goproto.proto.test.unpacked_enum:type_name -> goproto.proto.test.ForeignEnum + 12, // 153: goproto.proto.test.TestRequired.single:type_name -> goproto.proto.test.TestRequired + 12, // 154: goproto.proto.test.TestRequired.multi:type_name -> goproto.proto.test.TestRequired + 20, // 155: goproto.proto.test.TestService.Foo:input_type -> goproto.proto.test.FooRequest + 20, // 156: goproto.proto.test.TestService.TestStream:input_type -> goproto.proto.test.FooRequest + 5, // 157: goproto.proto.test.TestDeprecatedService.Deprecated:input_type -> goproto.proto.test.TestDeprecatedMessage + 21, // 158: goproto.proto.test.TestService.Foo:output_type -> goproto.proto.test.FooResponse + 21, // 159: goproto.proto.test.TestService.TestStream:output_type -> goproto.proto.test.FooResponse + 5, // 160: goproto.proto.test.TestDeprecatedService.Deprecated:output_type -> goproto.proto.test.TestDeprecatedMessage + 158, // [158:161] is the sub-list for method output_type + 155, // [155:158] is the sub-list for method input_type + 145, // [145:155] is the sub-list for extension type_name + 63, // [63:145] is the sub-list for extension extendee + 0, // [0:63] is the sub-list for field type_name +} + +func init() { file_internal_protojson_testprotos_test_test_proto_init() } +func file_internal_protojson_testprotos_test_test_proto_init() { + if File_internal_protojson_testprotos_test_test_proto != nil { + return + } + file_internal_protojson_testprotos_test_test_import_proto_init() + file_internal_protojson_testprotos_test_test_public_proto_init() + file_internal_protojson_testprotos_test_test_proto_msgTypes[0].OneofWrappers = []any{ + (*TestAllTypes_OneofUint32)(nil), + (*TestAllTypes_OneofNestedMessage)(nil), + (*TestAllTypes_OneofString)(nil), + (*TestAllTypes_OneofBytes)(nil), + (*TestAllTypes_OneofBool)(nil), + (*TestAllTypes_OneofUint64)(nil), + (*TestAllTypes_OneofFloat)(nil), + (*TestAllTypes_OneofDouble)(nil), + (*TestAllTypes_OneofEnum)(nil), + (*TestAllTypes_Oneofgroup)(nil), + (*TestAllTypes_OneofOptionalUint32)(nil), + } + file_internal_protojson_testprotos_test_test_proto_msgTypes[1].OneofWrappers = []any{ + (*TestDeprecatedMessage_DeprecatedOneofField)(nil), + } + file_internal_protojson_testprotos_test_test_proto_msgTypes[9].OneofWrappers = []any{ + (*TestRequiredForeign_OneofMessage)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_test_proto_rawDesc), len(file_internal_protojson_testprotos_test_test_proto_rawDesc)), + NumEnums: 4, + NumMessages: 45, + NumExtensions: 82, + NumServices: 2, + }, + GoTypes: file_internal_protojson_testprotos_test_test_proto_goTypes, + DependencyIndexes: file_internal_protojson_testprotos_test_test_proto_depIdxs, + EnumInfos: file_internal_protojson_testprotos_test_test_proto_enumTypes, + MessageInfos: file_internal_protojson_testprotos_test_test_proto_msgTypes, + ExtensionInfos: file_internal_protojson_testprotos_test_test_proto_extTypes, + }.Build() + File_internal_protojson_testprotos_test_test_proto = out.File + file_internal_protojson_testprotos_test_test_proto_goTypes = nil + file_internal_protojson_testprotos_test_test_proto_depIdxs = nil +} diff --git a/api_next/internal/protojson/testprotos/test/test.proto b/api_next/internal/protojson/testprotos/test/test.proto new file mode 100644 index 00000000..e1c1d02c --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/test.proto @@ -0,0 +1,395 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto2"; + +package goproto.proto.test; + +import "internal/protojson/testprotos/enums/enums.proto"; +import "internal/protojson/testprotos/test/test_import.proto"; +import public "internal/protojson/testprotos/test/test_public.proto"; +import weak "internal/protojson/testprotos/test/weak1/test_weak.proto"; +import weak "internal/protojson/testprotos/test/weak2/test_weak.proto"; + +option go_package = "go.temporal.io/api/internal/protojson/testprotos/test"; + +message TestAllTypes { + message NestedMessage { + optional int32 a = 1; + optional TestAllTypes corecursive = 2; + } + + enum NestedEnum { + FOO = 0; + BAR = 1; + BAZ = 2; + NEG = -1; // Intentionally negative. + } + + optional int32 optional_int32 = 1; + optional int64 optional_int64 = 2; + optional uint32 optional_uint32 = 3; + optional uint64 optional_uint64 = 4; + optional sint32 optional_sint32 = 5; + optional sint64 optional_sint64 = 6; + optional fixed32 optional_fixed32 = 7; + optional fixed64 optional_fixed64 = 8; + optional sfixed32 optional_sfixed32 = 9; + optional sfixed64 optional_sfixed64 = 10; + optional float optional_float = 11; + optional double optional_double = 12; + optional bool optional_bool = 13; + optional string optional_string = 14; + optional bytes optional_bytes = 15; + optional group OptionalGroup = 16 { + optional int32 a = 17; + optional NestedMessage optional_nested_message = 1000; + optional int32 same_field_number = 16; + } + optional NestedMessage optional_nested_message = 18; + optional ForeignMessage optional_foreign_message = 19; + optional ImportMessage optional_import_message = 20; + optional NestedEnum optional_nested_enum = 21; + optional ForeignEnum optional_foreign_enum = 22; + optional ImportEnum optional_import_enum = 23; + + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + repeated group RepeatedGroup = 46 { + optional int32 a = 47; + optional NestedMessage optional_nested_message = 1001; + } + repeated NestedMessage repeated_nested_message = 48; + repeated ForeignMessage repeated_foreign_message = 49; + repeated ImportMessage repeated_importmessage = 50; + repeated NestedEnum repeated_nested_enum = 51; + repeated ForeignEnum repeated_foreign_enum = 52; + repeated ImportEnum repeated_importenum = 53; + + map < int32, int32> map_int32_int32 = 56; + map < int64, int64> map_int64_int64 = 57; + map < uint32, uint32> map_uint32_uint32 = 58; + map < uint64, uint64> map_uint64_uint64 = 59; + map < sint32, sint32> map_sint32_sint32 = 60; + map < sint64, sint64> map_sint64_sint64 = 61; + map < fixed32, fixed32> map_fixed32_fixed32 = 62; + map < fixed64, fixed64> map_fixed64_fixed64 = 63; + map map_sfixed32_sfixed32 = 64; + map map_sfixed64_sfixed64 = 65; + map < int32, float> map_int32_float = 66; + map < int32, double> map_int32_double = 67; + map < bool, bool> map_bool_bool = 68; + map < string, string> map_string_string = 69; + map < string, bytes> map_string_bytes = 70; + map < string, NestedMessage> map_string_nested_message = 71; + map < string, NestedEnum> map_string_nested_enum = 73; + + // Singular with defaults + optional int32 default_int32 = 81 [default = 81 ]; + optional int64 default_int64 = 82 [default = 82 ]; + optional uint32 default_uint32 = 83 [default = 83 ]; + optional uint64 default_uint64 = 84 [default = 84 ]; + optional sint32 default_sint32 = 85 [default = -85 ]; + optional sint64 default_sint64 = 86 [default = 86 ]; + optional fixed32 default_fixed32 = 87 [default = 87 ]; + optional fixed64 default_fixed64 = 88 [default = 88 ]; + optional sfixed32 default_sfixed32 = 89 [default = 89 ]; + optional sfixed64 default_sfixed64 = 80 [default = -90 ]; + optional float default_float = 91 [default = 91.5 ]; + optional double default_double = 92 [default = 92e3 ]; + optional bool default_bool = 93 [default = true ]; + optional string default_string = 94 [default = "hello"]; + optional bytes default_bytes = 95 [default = "world"]; + optional NestedEnum default_nested_enum = 96 [default = BAR ]; + optional ForeignEnum default_foreign_enum = 97 [default = FOREIGN_BAR]; + + oneof oneof_field { + uint32 oneof_uint32 = 111; + NestedMessage oneof_nested_message = 112; + string oneof_string = 113; + bytes oneof_bytes = 114; + bool oneof_bool = 115; + uint64 oneof_uint64 = 116; + float oneof_float = 117; + double oneof_double = 118; + NestedEnum oneof_enum = 119; + group OneofGroup = 121 { + optional int32 a = 1; + optional int32 b = 2; + } + } + + // A oneof with exactly one field. + oneof oneof_optional { + uint32 oneof_optional_uint32 = 120; + } +} + +message TestDeprecatedMessage { + option deprecated = true; + optional int32 deprecated_int32 = 1 [deprecated=true]; + enum DeprecatedEnum { + option deprecated = true; + DEPRECATED = 0 [deprecated=true]; + } + oneof deprecated_oneof { + int32 deprecated_oneof_field = 2 [deprecated = true]; + } +} + +message ForeignMessage { + optional int32 c = 1; + optional int32 d = 2; +} + +enum ForeignEnum { + FOREIGN_FOO = 4; + FOREIGN_BAR = 5; + FOREIGN_BAZ = 6; +} + +message TestReservedFields { + reserved 2, 15, 9 to 11; + reserved "bar", "baz"; +} + +enum TestReservedEnumFields { + RESERVED_ENUM = 0; + reserved 2, 15, 9 to 11; + reserved "BAR", "BAZ"; +} + +message TestAllExtensions { + message NestedMessage { + optional int32 a = 1; + optional TestAllExtensions corecursive = 2; + } + + extensions 1 to max; +} + +extend TestAllExtensions { + optional int32 optional_int32 = 1; + optional int64 optional_int64 = 2; + optional uint32 optional_uint32 = 3; + optional uint64 optional_uint64 = 4; + optional sint32 optional_sint32 = 5; + optional sint64 optional_sint64 = 6; + optional fixed32 optional_fixed32 = 7; + optional fixed64 optional_fixed64 = 8; + optional sfixed32 optional_sfixed32 = 9; + optional sfixed64 optional_sfixed64 = 10; + optional float optional_float = 11; + optional double optional_double = 12; + optional bool optional_bool = 13; + optional string optional_string = 14; + optional bytes optional_bytes = 15; + + optional group OptionalGroup = 16 { + optional int32 a = 17; + optional int32 same_field_number = 16; + optional TestAllExtensions.NestedMessage optional_nested_message = 1000; + } + + optional TestAllExtensions.NestedMessage optional_nested_message = 18; + optional TestAllTypes.NestedEnum optional_nested_enum = 21; + + repeated int32 repeated_int32 = 31; + repeated int64 repeated_int64 = 32; + repeated uint32 repeated_uint32 = 33; + repeated uint64 repeated_uint64 = 34; + repeated sint32 repeated_sint32 = 35; + repeated sint64 repeated_sint64 = 36; + repeated fixed32 repeated_fixed32 = 37; + repeated fixed64 repeated_fixed64 = 38; + repeated sfixed32 repeated_sfixed32 = 39; + repeated sfixed64 repeated_sfixed64 = 40; + repeated float repeated_float = 41; + repeated double repeated_double = 42; + repeated bool repeated_bool = 43; + repeated string repeated_string = 44; + repeated bytes repeated_bytes = 45; + + repeated group RepeatedGroup = 46 { + optional int32 a = 47; + optional TestAllExtensions.NestedMessage optional_nested_message = 1001; + } + + repeated TestAllExtensions.NestedMessage repeated_nested_message = 48; + repeated TestAllTypes.NestedEnum repeated_nested_enum = 51; + + optional int32 default_int32 = 81 [default = 81 ]; + optional int64 default_int64 = 82 [default = 82 ]; + optional uint32 default_uint32 = 83 [default = 83 ]; + optional uint64 default_uint64 = 84 [default = 84 ]; + optional sint32 default_sint32 = 85 [default = -85 ]; + optional sint64 default_sint64 = 86 [default = 86 ]; + optional fixed32 default_fixed32 = 87 [default = 87 ]; + optional fixed64 default_fixed64 = 88 [default = 88 ]; + optional sfixed32 default_sfixed32 = 89 [default = 89 ]; + optional sfixed64 default_sfixed64 = 80 [default = -90 ]; + optional float default_float = 91 [default = 91.5 ]; + optional double default_double = 92 [default = 92e3 ]; + optional bool default_bool = 93 [default = true ]; + optional string default_string = 94 [default = "hello"]; + optional bytes default_bytes = 95 [default = "world"]; +} + +message TestNestedExtension { + extend TestAllExtensions { + optional string nested_string_extension = 1003; + } +} + +message TestRequired { + required int32 required_field = 1; + + extend TestAllExtensions { + optional TestRequired single = 1000; + repeated TestRequired multi = 1001; + } +} + +message TestRequiredForeign { + optional TestRequired optional_message = 1; + repeated TestRequired repeated_message = 2; + map map_message = 3; + oneof oneof_field { + TestRequired oneof_message = 4; + } +} + +message TestRequiredGroupFields { + optional group OptionalGroup = 1 { + required int32 a = 2; + } + repeated group RepeatedGroup = 3 { + required int32 a = 4; + } +} + +message TestWeak { + optional goproto.proto.test.weak.WeakImportMessage1 weak_message1 = 1 [weak=true]; + optional goproto.proto.test.weak.WeakImportMessage2 weak_message2 = 2 [weak=true]; +} + +message TestPackedTypes { + repeated int32 packed_int32 = 90 [packed = true]; + repeated int64 packed_int64 = 91 [packed = true]; + repeated uint32 packed_uint32 = 92 [packed = true]; + repeated uint64 packed_uint64 = 93 [packed = true]; + repeated sint32 packed_sint32 = 94 [packed = true]; + repeated sint64 packed_sint64 = 95 [packed = true]; + repeated fixed32 packed_fixed32 = 96 [packed = true]; + repeated fixed64 packed_fixed64 = 97 [packed = true]; + repeated sfixed32 packed_sfixed32 = 98 [packed = true]; + repeated sfixed64 packed_sfixed64 = 99 [packed = true]; + repeated float packed_float = 100 [packed = true]; + repeated double packed_double = 101 [packed = true]; + repeated bool packed_bool = 102 [packed = true]; + repeated ForeignEnum packed_enum = 103 [packed = true]; +} + +message TestUnpackedTypes { + repeated int32 unpacked_int32 = 90 [packed = false]; + repeated int64 unpacked_int64 = 91 [packed = false]; + repeated uint32 unpacked_uint32 = 92 [packed = false]; + repeated uint64 unpacked_uint64 = 93 [packed = false]; + repeated sint32 unpacked_sint32 = 94 [packed = false]; + repeated sint64 unpacked_sint64 = 95 [packed = false]; + repeated fixed32 unpacked_fixed32 = 96 [packed = false]; + repeated fixed64 unpacked_fixed64 = 97 [packed = false]; + repeated sfixed32 unpacked_sfixed32 = 98 [packed = false]; + repeated sfixed64 unpacked_sfixed64 = 99 [packed = false]; + repeated float unpacked_float = 100 [packed = false]; + repeated double unpacked_double = 101 [packed = false]; + repeated bool unpacked_bool = 102 [packed = false]; + repeated ForeignEnum unpacked_enum = 103 [packed = false]; +} + +message TestPackedExtensions { + extensions 1 to max; +} + +extend TestPackedExtensions { + repeated int32 packed_int32 = 90 [packed = true]; + repeated int64 packed_int64 = 91 [packed = true]; + repeated uint32 packed_uint32 = 92 [packed = true]; + repeated uint64 packed_uint64 = 93 [packed = true]; + repeated sint32 packed_sint32 = 94 [packed = true]; + repeated sint64 packed_sint64 = 95 [packed = true]; + repeated fixed32 packed_fixed32 = 96 [packed = true]; + repeated fixed64 packed_fixed64 = 97 [packed = true]; + repeated sfixed32 packed_sfixed32 = 98 [packed = true]; + repeated sfixed64 packed_sfixed64 = 99 [packed = true]; + repeated float packed_float = 100 [packed = true]; + repeated double packed_double = 101 [packed = true]; + repeated bool packed_bool = 102 [packed = true]; + repeated ForeignEnum packed_enum = 103 [packed = true]; +} + +message TestUnpackedExtensions { + extensions 1 to max; +} + +extend TestUnpackedExtensions { + repeated int32 unpacked_int32 = 90 [packed = false]; + repeated int64 unpacked_int64 = 91 [packed = false]; + repeated uint32 unpacked_uint32 = 92 [packed = false]; + repeated uint64 unpacked_uint64 = 93 [packed = false]; + repeated sint32 unpacked_sint32 = 94 [packed = false]; + repeated sint64 unpacked_sint64 = 95 [packed = false]; + repeated fixed32 unpacked_fixed32 = 96 [packed = false]; + repeated fixed64 unpacked_fixed64 = 97 [packed = false]; + repeated sfixed32 unpacked_sfixed32 = 98 [packed = false]; + repeated sfixed64 unpacked_sfixed64 = 99 [packed = false]; + repeated float unpacked_float = 100 [packed = false]; + repeated double unpacked_double = 101 [packed = false]; + repeated bool unpacked_bool = 102 [packed = false]; + repeated ForeignEnum unpacked_enum = 103 [packed = false]; +} + +// Test that RPC services work. +message FooRequest {} +message FooResponse {} + +service TestService { + rpc Foo(FooRequest) returns (FooResponse); + rpc TestStream(stream FooRequest) returns (stream FooResponse); +} + +service TestDeprecatedService { + option deprecated = true; + rpc Deprecated(TestDeprecatedMessage) returns (TestDeprecatedMessage) { + option deprecated = true; + } +} + +message WeirdDefault { + optional bytes weird_default = 1 [default = "hello, \"world!\"\ndead\xde\xad\xbe\xefbeef`"]; +} + +message RemoteDefault { + optional goproto.proto.enums.Enum default = 1; + optional goproto.proto.enums.Enum zero = 2 [default = ZERO]; + optional goproto.proto.enums.Enum one = 3 [default = ONE]; + optional goproto.proto.enums.Enum elevent = 4 [default = ELEVENT]; + optional goproto.proto.enums.Enum seventeen = 5 [default = SEVENTEEN]; + optional goproto.proto.enums.Enum thirtyseven = 6 [default = THIRTYSEVEN]; + optional goproto.proto.enums.Enum sixtyseven = 7 [default = SIXTYSEVEN]; + optional goproto.proto.enums.Enum negative = 8 [default = NEGATIVE]; +} diff --git a/api_next/internal/protojson/testprotos/test/test_import.pb.go b/api_next/internal/protojson/testprotos/test/test_import.pb.go new file mode 100644 index 00000000..38aa1a14 --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/test_import.pb.go @@ -0,0 +1,184 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.5 +// protoc v5.29.2 +// source: internal/protojson/testprotos/test/test_import.proto + +package test + +import ( + reflect "reflect" + sync "sync" + unsafe "unsafe" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +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) +) + +type ImportEnum int32 + +const ( + ImportEnum_IMPORT_ZERO ImportEnum = 0 +) + +// Enum value maps for ImportEnum. +var ( + ImportEnum_name = map[int32]string{ + 0: "IMPORT_ZERO", + } + ImportEnum_value = map[string]int32{ + "IMPORT_ZERO": 0, + } +) + +func (x ImportEnum) Enum() *ImportEnum { + p := new(ImportEnum) + *p = x + return p +} + +func (x ImportEnum) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ImportEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_protojson_testprotos_test_test_import_proto_enumTypes[0].Descriptor() +} + +func (ImportEnum) Type() protoreflect.EnumType { + return &file_internal_protojson_testprotos_test_test_import_proto_enumTypes[0] +} + +func (x ImportEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *ImportEnum) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = ImportEnum(num) + return nil +} + +// Deprecated: Use ImportEnum.Descriptor instead. +func (ImportEnum) EnumDescriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_import_proto_rawDescGZIP(), []int{0} +} + +type ImportMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ImportMessage) Reset() { + *x = ImportMessage{} + mi := &file_internal_protojson_testprotos_test_test_import_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ImportMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ImportMessage) ProtoMessage() {} + +func (x *ImportMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_import_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ImportMessage.ProtoReflect.Descriptor instead. +func (*ImportMessage) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_import_proto_rawDescGZIP(), []int{0} +} + +var File_internal_protojson_testprotos_test_test_import_proto protoreflect.FileDescriptor + +var file_internal_protojson_testprotos_test_test_import_proto_rawDesc = string([]byte{ + 0x0a, 0x34, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x6d, 0x70, 0x6f, 0x72, 0x74, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x22, 0x0f, 0x0a, 0x0d, 0x49, 0x6d, + 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2a, 0x1d, 0x0a, 0x0a, 0x49, + 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x0a, 0x0b, 0x49, 0x4d, 0x50, + 0x4f, 0x52, 0x54, 0x5f, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x6f, + 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6a, + 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, + 0x65, 0x73, 0x74, +}) + +var ( + file_internal_protojson_testprotos_test_test_import_proto_rawDescOnce sync.Once + file_internal_protojson_testprotos_test_test_import_proto_rawDescData []byte +) + +func file_internal_protojson_testprotos_test_test_import_proto_rawDescGZIP() []byte { + file_internal_protojson_testprotos_test_test_import_proto_rawDescOnce.Do(func() { + file_internal_protojson_testprotos_test_test_import_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_test_import_proto_rawDesc), len(file_internal_protojson_testprotos_test_test_import_proto_rawDesc))) + }) + return file_internal_protojson_testprotos_test_test_import_proto_rawDescData +} + +var file_internal_protojson_testprotos_test_test_import_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_internal_protojson_testprotos_test_test_import_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_internal_protojson_testprotos_test_test_import_proto_goTypes = []any{ + (ImportEnum)(0), // 0: goproto.proto.test.ImportEnum + (*ImportMessage)(nil), // 1: goproto.proto.test.ImportMessage +} +var file_internal_protojson_testprotos_test_test_import_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_internal_protojson_testprotos_test_test_import_proto_init() } +func file_internal_protojson_testprotos_test_test_import_proto_init() { + if File_internal_protojson_testprotos_test_test_import_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_test_import_proto_rawDesc), len(file_internal_protojson_testprotos_test_test_import_proto_rawDesc)), + NumEnums: 1, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_protojson_testprotos_test_test_import_proto_goTypes, + DependencyIndexes: file_internal_protojson_testprotos_test_test_import_proto_depIdxs, + EnumInfos: file_internal_protojson_testprotos_test_test_import_proto_enumTypes, + MessageInfos: file_internal_protojson_testprotos_test_test_import_proto_msgTypes, + }.Build() + File_internal_protojson_testprotos_test_test_import_proto = out.File + file_internal_protojson_testprotos_test_test_import_proto_goTypes = nil + file_internal_protojson_testprotos_test_test_import_proto_depIdxs = nil +} diff --git a/api_next/internal/protojson/testprotos/test/test_import.proto b/api_next/internal/protojson/testprotos/test/test_import.proto new file mode 100644 index 00000000..22704356 --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/test_import.proto @@ -0,0 +1,16 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto2"; + +package goproto.proto.test; + +option go_package = "go.temporal.io/api/internal/protojson/testprotos/test"; + +message ImportMessage { +} + +enum ImportEnum { + IMPORT_ZERO = 0; +} diff --git a/api_next/internal/protojson/testprotos/test/test_public.pb.go b/api_next/internal/protojson/testprotos/test/test_public.pb.go new file mode 100644 index 00000000..890fbda7 --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/test_public.pb.go @@ -0,0 +1,126 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.5 +// protoc v5.29.2 +// source: internal/protojson/testprotos/test/test_public.proto + +package test + +import ( + reflect "reflect" + sync "sync" + unsafe "unsafe" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +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) +) + +type PublicImportMessage struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PublicImportMessage) Reset() { + *x = PublicImportMessage{} + mi := &file_internal_protojson_testprotos_test_test_public_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PublicImportMessage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PublicImportMessage) ProtoMessage() {} + +func (x *PublicImportMessage) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_test_public_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PublicImportMessage.ProtoReflect.Descriptor instead. +func (*PublicImportMessage) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_test_public_proto_rawDescGZIP(), []int{0} +} + +var File_internal_protojson_testprotos_test_test_public_proto protoreflect.FileDescriptor + +var file_internal_protojson_testprotos_test_test_public_proto_rawDesc = string([]byte{ + 0x0a, 0x34, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x12, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x50, 0x75, + 0x62, 0x6c, 0x69, 0x63, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x42, 0x37, 0x5a, 0x35, 0x67, 0x6f, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, + 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, +}) + +var ( + file_internal_protojson_testprotos_test_test_public_proto_rawDescOnce sync.Once + file_internal_protojson_testprotos_test_test_public_proto_rawDescData []byte +) + +func file_internal_protojson_testprotos_test_test_public_proto_rawDescGZIP() []byte { + file_internal_protojson_testprotos_test_test_public_proto_rawDescOnce.Do(func() { + file_internal_protojson_testprotos_test_test_public_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_test_public_proto_rawDesc), len(file_internal_protojson_testprotos_test_test_public_proto_rawDesc))) + }) + return file_internal_protojson_testprotos_test_test_public_proto_rawDescData +} + +var file_internal_protojson_testprotos_test_test_public_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_internal_protojson_testprotos_test_test_public_proto_goTypes = []any{ + (*PublicImportMessage)(nil), // 0: goproto.proto.test.PublicImportMessage +} +var file_internal_protojson_testprotos_test_test_public_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_internal_protojson_testprotos_test_test_public_proto_init() } +func file_internal_protojson_testprotos_test_test_public_proto_init() { + if File_internal_protojson_testprotos_test_test_public_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_test_public_proto_rawDesc), len(file_internal_protojson_testprotos_test_test_public_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_protojson_testprotos_test_test_public_proto_goTypes, + DependencyIndexes: file_internal_protojson_testprotos_test_test_public_proto_depIdxs, + MessageInfos: file_internal_protojson_testprotos_test_test_public_proto_msgTypes, + }.Build() + File_internal_protojson_testprotos_test_test_public_proto = out.File + file_internal_protojson_testprotos_test_test_public_proto_goTypes = nil + file_internal_protojson_testprotos_test_test_public_proto_depIdxs = nil +} diff --git a/api_next/internal/protojson/testprotos/test/test_public.proto b/api_next/internal/protojson/testprotos/test/test_public.proto new file mode 100644 index 00000000..9b5d324a --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/test_public.proto @@ -0,0 +1,12 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto2"; + +package goproto.proto.test; + +option go_package = "go.temporal.io/api/internal/protojson/testprotos/test"; + +message PublicImportMessage { +} diff --git a/api_next/internal/protojson/testprotos/test/weak1/test_weak.pb.go b/api_next/internal/protojson/testprotos/test/weak1/test_weak.pb.go new file mode 100644 index 00000000..f7f7afe4 --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/weak1/test_weak.pb.go @@ -0,0 +1,136 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.5 +// protoc v5.29.2 +// source: internal/protojson/testprotos/test/weak1/test_weak.proto + +package weak1 + +import ( + reflect "reflect" + sync "sync" + unsafe "unsafe" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +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) +) + +type WeakImportMessage1 struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,1,req,name=a" json:"a,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WeakImportMessage1) Reset() { + *x = WeakImportMessage1{} + mi := &file_internal_protojson_testprotos_test_weak1_test_weak_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WeakImportMessage1) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WeakImportMessage1) ProtoMessage() {} + +func (x *WeakImportMessage1) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_weak1_test_weak_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WeakImportMessage1.ProtoReflect.Descriptor instead. +func (*WeakImportMessage1) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDescGZIP(), []int{0} +} + +func (x *WeakImportMessage1) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +var File_internal_protojson_testprotos_test_weak1_test_weak_proto protoreflect.FileDescriptor + +var file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDesc = string([]byte{ + 0x0a, 0x38, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x2f, 0x77, 0x65, 0x61, 0x6b, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x77, 0x65, 0x61, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x77, + 0x65, 0x61, 0x6b, 0x22, 0x22, 0x0a, 0x12, 0x57, 0x65, 0x61, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x31, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, + 0x20, 0x02, 0x28, 0x05, 0x52, 0x01, 0x61, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x6f, 0x2e, 0x74, 0x65, + 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6a, 0x73, 0x6f, 0x6e, + 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x2f, 0x77, 0x65, 0x61, 0x6b, 0x31, +}) + +var ( + file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDescOnce sync.Once + file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDescData []byte +) + +func file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDescGZIP() []byte { + file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDescOnce.Do(func() { + file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDesc), len(file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDesc))) + }) + return file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDescData +} + +var file_internal_protojson_testprotos_test_weak1_test_weak_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_internal_protojson_testprotos_test_weak1_test_weak_proto_goTypes = []any{ + (*WeakImportMessage1)(nil), // 0: goproto.proto.test.weak.WeakImportMessage1 +} +var file_internal_protojson_testprotos_test_weak1_test_weak_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_internal_protojson_testprotos_test_weak1_test_weak_proto_init() } +func file_internal_protojson_testprotos_test_weak1_test_weak_proto_init() { + if File_internal_protojson_testprotos_test_weak1_test_weak_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDesc), len(file_internal_protojson_testprotos_test_weak1_test_weak_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_protojson_testprotos_test_weak1_test_weak_proto_goTypes, + DependencyIndexes: file_internal_protojson_testprotos_test_weak1_test_weak_proto_depIdxs, + MessageInfos: file_internal_protojson_testprotos_test_weak1_test_weak_proto_msgTypes, + }.Build() + File_internal_protojson_testprotos_test_weak1_test_weak_proto = out.File + file_internal_protojson_testprotos_test_weak1_test_weak_proto_goTypes = nil + file_internal_protojson_testprotos_test_weak1_test_weak_proto_depIdxs = nil +} diff --git a/api_next/internal/protojson/testprotos/test/weak1/test_weak.proto b/api_next/internal/protojson/testprotos/test/weak1/test_weak.proto new file mode 100644 index 00000000..0bcc632a --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/weak1/test_weak.proto @@ -0,0 +1,13 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto2"; + +package goproto.proto.test.weak; + +option go_package = "go.temporal.io/api/internal/protojson/testprotos/test/weak1"; + +message WeakImportMessage1 { + required int32 a = 1; +} diff --git a/api_next/internal/protojson/testprotos/test/weak2/test_weak.pb.go b/api_next/internal/protojson/testprotos/test/weak2/test_weak.pb.go new file mode 100644 index 00000000..5e77e2ad --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/weak2/test_weak.pb.go @@ -0,0 +1,136 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.36.5 +// protoc v5.29.2 +// source: internal/protojson/testprotos/test/weak2/test_weak.proto + +package weak2 + +import ( + reflect "reflect" + sync "sync" + unsafe "unsafe" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +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) +) + +type WeakImportMessage2 struct { + state protoimpl.MessageState `protogen:"open.v1"` + A *int32 `protobuf:"varint,1,req,name=a" json:"a,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WeakImportMessage2) Reset() { + *x = WeakImportMessage2{} + mi := &file_internal_protojson_testprotos_test_weak2_test_weak_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WeakImportMessage2) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WeakImportMessage2) ProtoMessage() {} + +func (x *WeakImportMessage2) ProtoReflect() protoreflect.Message { + mi := &file_internal_protojson_testprotos_test_weak2_test_weak_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WeakImportMessage2.ProtoReflect.Descriptor instead. +func (*WeakImportMessage2) Descriptor() ([]byte, []int) { + return file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDescGZIP(), []int{0} +} + +func (x *WeakImportMessage2) GetA() int32 { + if x != nil && x.A != nil { + return *x.A + } + return 0 +} + +var File_internal_protojson_testprotos_test_weak2_test_weak_proto protoreflect.FileDescriptor + +var file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDesc = string([]byte{ + 0x0a, 0x38, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x6a, 0x73, 0x6f, 0x6e, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, + 0x74, 0x65, 0x73, 0x74, 0x2f, 0x77, 0x65, 0x61, 0x6b, 0x32, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x5f, + 0x77, 0x65, 0x61, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x77, + 0x65, 0x61, 0x6b, 0x22, 0x22, 0x0a, 0x12, 0x57, 0x65, 0x61, 0x6b, 0x49, 0x6d, 0x70, 0x6f, 0x72, + 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x12, 0x0c, 0x0a, 0x01, 0x61, 0x18, 0x01, + 0x20, 0x02, 0x28, 0x05, 0x52, 0x01, 0x61, 0x42, 0x3d, 0x5a, 0x3b, 0x67, 0x6f, 0x2e, 0x74, 0x65, + 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x6c, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x6a, 0x73, 0x6f, 0x6e, + 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, + 0x2f, 0x77, 0x65, 0x61, 0x6b, 0x32, +}) + +var ( + file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDescOnce sync.Once + file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDescData []byte +) + +func file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDescGZIP() []byte { + file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDescOnce.Do(func() { + file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDesc), len(file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDesc))) + }) + return file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDescData +} + +var file_internal_protojson_testprotos_test_weak2_test_weak_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_internal_protojson_testprotos_test_weak2_test_weak_proto_goTypes = []any{ + (*WeakImportMessage2)(nil), // 0: goproto.proto.test.weak.WeakImportMessage2 +} +var file_internal_protojson_testprotos_test_weak2_test_weak_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_internal_protojson_testprotos_test_weak2_test_weak_proto_init() } +func file_internal_protojson_testprotos_test_weak2_test_weak_proto_init() { + if File_internal_protojson_testprotos_test_weak2_test_weak_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDesc), len(file_internal_protojson_testprotos_test_weak2_test_weak_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_protojson_testprotos_test_weak2_test_weak_proto_goTypes, + DependencyIndexes: file_internal_protojson_testprotos_test_weak2_test_weak_proto_depIdxs, + MessageInfos: file_internal_protojson_testprotos_test_weak2_test_weak_proto_msgTypes, + }.Build() + File_internal_protojson_testprotos_test_weak2_test_weak_proto = out.File + file_internal_protojson_testprotos_test_weak2_test_weak_proto_goTypes = nil + file_internal_protojson_testprotos_test_weak2_test_weak_proto_depIdxs = nil +} diff --git a/api_next/internal/protojson/testprotos/test/weak2/test_weak.proto b/api_next/internal/protojson/testprotos/test/weak2/test_weak.proto new file mode 100644 index 00000000..d7c99ffd --- /dev/null +++ b/api_next/internal/protojson/testprotos/test/weak2/test_weak.proto @@ -0,0 +1,13 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +syntax = "proto2"; + +package goproto.proto.test.weak; + +option go_package = "go.temporal.io/api/internal/protojson/testprotos/test/weak2"; + +message WeakImportMessage2 { + required int32 a = 1; +} diff --git a/api_next/internal/protojson/testprotos/textpb2/test.pb.go b/api_next/internal/protojson/testprotos/textpb2/test.pb.go new file mode 100644 index 00000000..af9affe9 --- /dev/null +++ b/api_next/internal/protojson/testprotos/textpb2/test.pb.go @@ -0,0 +1,2598 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Test Protobuf definitions with proto2 syntax. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: internal/testprotos/textpb2/test.proto + +package textpb2 + +import ( + reflect "reflect" + "strconv" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + durationpb "google.golang.org/protobuf/types/known/durationpb" + emptypb "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + structpb "google.golang.org/protobuf/types/known/structpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" +) + +type Enum int32 + +const ( + Enum_ONE Enum = 1 + Enum_TWO Enum = 2 + Enum_TEN Enum = 10 +) + +// Enum value maps for Enum. +var ( + Enum_name = map[int32]string{ + 1: "ONE", + 2: "TWO", + 10: "TEN", + } + Enum_value = map[string]int32{ + "ONE": 1, + "TWO": 2, + "TEN": 10, + } +) + +func (x Enum) Enum() *Enum { + p := new(Enum) + *p = x + return p +} + +func (x Enum) String() string { + switch x { + case Enum_ONE: + return "One" + case Enum_TWO: + return "Two" + case Enum_TEN: + return "Ten" + default: + return strconv.Itoa(int(x)) + } + +} + +func (Enum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_textpb2_test_proto_enumTypes[0].Descriptor() +} + +func (Enum) Type() protoreflect.EnumType { + return &file_internal_testprotos_textpb2_test_proto_enumTypes[0] +} + +func (x Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *Enum) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = Enum(num) + return nil +} + +// Deprecated: Use Enum.Descriptor instead. +func (Enum) EnumDescriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{0} +} + +type Enums_NestedEnum int32 + +const ( + Enums_UNO Enums_NestedEnum = 1 + Enums_DOS Enums_NestedEnum = 2 + Enums_DIEZ Enums_NestedEnum = 10 +) + +// Enum value maps for Enums_NestedEnum. +var ( + Enums_NestedEnum_name = map[int32]string{ + 1: "UNO", + 2: "DOS", + 10: "DIEZ", + } + Enums_NestedEnum_value = map[string]int32{ + "UNO": 1, + "DOS": 2, + "DIEZ": 10, + } +) + +func (x Enums_NestedEnum) Enum() *Enums_NestedEnum { + p := new(Enums_NestedEnum) + *p = x + return p +} + +func (x Enums_NestedEnum) String() string { + switch x { + case Enums_UNO: + return "EnumsUno" + case Enums_DOS: + return "EnumsDos" + case Enums_DIEZ: + return "EnumsDiez" + default: + return strconv.Itoa(int(x)) + } + +} + +func (Enums_NestedEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_textpb2_test_proto_enumTypes[1].Descriptor() +} + +func (Enums_NestedEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_textpb2_test_proto_enumTypes[1] +} + +func (x Enums_NestedEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Do not use. +func (x *Enums_NestedEnum) UnmarshalJSON(b []byte) error { + num, err := protoimpl.X.UnmarshalJSONEnum(x.Descriptor(), b) + if err != nil { + return err + } + *x = Enums_NestedEnum(num) + return nil +} + +// Deprecated: Use Enums_NestedEnum.Descriptor instead. +func (Enums_NestedEnum) EnumDescriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{1, 0} +} + +// Scalars contains optional scalar fields. +type Scalars struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptBool *bool `protobuf:"varint,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"` + OptInt32 *int32 `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"` + OptInt64 *int64 `protobuf:"varint,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"` + OptUint32 *uint32 `protobuf:"varint,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"` + OptUint64 *uint64 `protobuf:"varint,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"` + OptSint32 *int32 `protobuf:"zigzag32,6,opt,name=opt_sint32,json=optSint32" json:"opt_sint32,omitempty"` + OptSint64 *int64 `protobuf:"zigzag64,7,opt,name=opt_sint64,json=optSint64" json:"opt_sint64,omitempty"` + OptFixed32 *uint32 `protobuf:"fixed32,8,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"` + OptFixed64 *uint64 `protobuf:"fixed64,9,opt,name=opt_fixed64,json=optFixed64" json:"opt_fixed64,omitempty"` + OptSfixed32 *int32 `protobuf:"fixed32,10,opt,name=opt_sfixed32,json=optSfixed32" json:"opt_sfixed32,omitempty"` + OptSfixed64 *int64 `protobuf:"fixed64,11,opt,name=opt_sfixed64,json=optSfixed64" json:"opt_sfixed64,omitempty"` + OptFloat *float32 `protobuf:"fixed32,20,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"` + OptDouble *float64 `protobuf:"fixed64,21,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"` + OptBytes []byte `protobuf:"bytes,14,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"` + OptString *string `protobuf:"bytes,13,opt,name=opt_string,json=optString" json:"opt_string,omitempty"` +} + +func (x *Scalars) Reset() { + *x = Scalars{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Scalars) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Scalars) ProtoMessage() {} + +func (x *Scalars) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Scalars.ProtoReflect.Descriptor instead. +func (*Scalars) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{0} +} + +func (x *Scalars) GetOptBool() bool { + if x != nil && x.OptBool != nil { + return *x.OptBool + } + return false +} + +func (x *Scalars) GetOptInt32() int32 { + if x != nil && x.OptInt32 != nil { + return *x.OptInt32 + } + return 0 +} + +func (x *Scalars) GetOptInt64() int64 { + if x != nil && x.OptInt64 != nil { + return *x.OptInt64 + } + return 0 +} + +func (x *Scalars) GetOptUint32() uint32 { + if x != nil && x.OptUint32 != nil { + return *x.OptUint32 + } + return 0 +} + +func (x *Scalars) GetOptUint64() uint64 { + if x != nil && x.OptUint64 != nil { + return *x.OptUint64 + } + return 0 +} + +func (x *Scalars) GetOptSint32() int32 { + if x != nil && x.OptSint32 != nil { + return *x.OptSint32 + } + return 0 +} + +func (x *Scalars) GetOptSint64() int64 { + if x != nil && x.OptSint64 != nil { + return *x.OptSint64 + } + return 0 +} + +func (x *Scalars) GetOptFixed32() uint32 { + if x != nil && x.OptFixed32 != nil { + return *x.OptFixed32 + } + return 0 +} + +func (x *Scalars) GetOptFixed64() uint64 { + if x != nil && x.OptFixed64 != nil { + return *x.OptFixed64 + } + return 0 +} + +func (x *Scalars) GetOptSfixed32() int32 { + if x != nil && x.OptSfixed32 != nil { + return *x.OptSfixed32 + } + return 0 +} + +func (x *Scalars) GetOptSfixed64() int64 { + if x != nil && x.OptSfixed64 != nil { + return *x.OptSfixed64 + } + return 0 +} + +func (x *Scalars) GetOptFloat() float32 { + if x != nil && x.OptFloat != nil { + return *x.OptFloat + } + return 0 +} + +func (x *Scalars) GetOptDouble() float64 { + if x != nil && x.OptDouble != nil { + return *x.OptDouble + } + return 0 +} + +func (x *Scalars) GetOptBytes() []byte { + if x != nil { + return x.OptBytes + } + return nil +} + +func (x *Scalars) GetOptString() string { + if x != nil && x.OptString != nil { + return *x.OptString + } + return "" +} + +// Message contains enum fields. +type Enums struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptEnum *Enum `protobuf:"varint,1,opt,name=opt_enum,json=optEnum,enum=pb2.Enum" json:"opt_enum,omitempty"` + RptEnum []Enum `protobuf:"varint,2,rep,name=rpt_enum,json=rptEnum,enum=pb2.Enum" json:"rpt_enum,omitempty"` + OptNestedEnum *Enums_NestedEnum `protobuf:"varint,3,opt,name=opt_nested_enum,json=optNestedEnum,enum=pb2.Enums_NestedEnum" json:"opt_nested_enum,omitempty"` + RptNestedEnum []Enums_NestedEnum `protobuf:"varint,4,rep,name=rpt_nested_enum,json=rptNestedEnum,enum=pb2.Enums_NestedEnum" json:"rpt_nested_enum,omitempty"` +} + +func (x *Enums) Reset() { + *x = Enums{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Enums) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Enums) ProtoMessage() {} + +func (x *Enums) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Enums.ProtoReflect.Descriptor instead. +func (*Enums) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{1} +} + +func (x *Enums) GetOptEnum() Enum { + if x != nil && x.OptEnum != nil { + return *x.OptEnum + } + return Enum_ONE +} + +func (x *Enums) GetRptEnum() []Enum { + if x != nil { + return x.RptEnum + } + return nil +} + +func (x *Enums) GetOptNestedEnum() Enums_NestedEnum { + if x != nil && x.OptNestedEnum != nil { + return *x.OptNestedEnum + } + return Enums_UNO +} + +func (x *Enums) GetRptNestedEnum() []Enums_NestedEnum { + if x != nil { + return x.RptNestedEnum + } + return nil +} + +// Message contains repeated fields. +type Repeats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RptBool []bool `protobuf:"varint,1,rep,name=rpt_bool,json=rptBool" json:"rpt_bool,omitempty"` + RptInt32 []int32 `protobuf:"varint,2,rep,name=rpt_int32,json=rptInt32" json:"rpt_int32,omitempty"` + RptInt64 []int64 `protobuf:"varint,3,rep,name=rpt_int64,json=rptInt64" json:"rpt_int64,omitempty"` + RptUint32 []uint32 `protobuf:"varint,4,rep,name=rpt_uint32,json=rptUint32" json:"rpt_uint32,omitempty"` + RptUint64 []uint64 `protobuf:"varint,5,rep,name=rpt_uint64,json=rptUint64" json:"rpt_uint64,omitempty"` + RptFloat []float32 `protobuf:"fixed32,6,rep,name=rpt_float,json=rptFloat" json:"rpt_float,omitempty"` + RptDouble []float64 `protobuf:"fixed64,7,rep,name=rpt_double,json=rptDouble" json:"rpt_double,omitempty"` + RptString []string `protobuf:"bytes,8,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"` + RptBytes [][]byte `protobuf:"bytes,9,rep,name=rpt_bytes,json=rptBytes" json:"rpt_bytes,omitempty"` +} + +func (x *Repeats) Reset() { + *x = Repeats{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Repeats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Repeats) ProtoMessage() {} + +func (x *Repeats) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Repeats.ProtoReflect.Descriptor instead. +func (*Repeats) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{2} +} + +func (x *Repeats) GetRptBool() []bool { + if x != nil { + return x.RptBool + } + return nil +} + +func (x *Repeats) GetRptInt32() []int32 { + if x != nil { + return x.RptInt32 + } + return nil +} + +func (x *Repeats) GetRptInt64() []int64 { + if x != nil { + return x.RptInt64 + } + return nil +} + +func (x *Repeats) GetRptUint32() []uint32 { + if x != nil { + return x.RptUint32 + } + return nil +} + +func (x *Repeats) GetRptUint64() []uint64 { + if x != nil { + return x.RptUint64 + } + return nil +} + +func (x *Repeats) GetRptFloat() []float32 { + if x != nil { + return x.RptFloat + } + return nil +} + +func (x *Repeats) GetRptDouble() []float64 { + if x != nil { + return x.RptDouble + } + return nil +} + +func (x *Repeats) GetRptString() []string { + if x != nil { + return x.RptString + } + return nil +} + +func (x *Repeats) GetRptBytes() [][]byte { + if x != nil { + return x.RptBytes + } + return nil +} + +// Message contains map fields. +type Maps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Int32ToStr map[int32]string `protobuf:"bytes,1,rep,name=int32_to_str,json=int32ToStr" json:"int32_to_str,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + StrToNested map[string]*Nested `protobuf:"bytes,4,rep,name=str_to_nested,json=strToNested" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` +} + +func (x *Maps) Reset() { + *x = Maps{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Maps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Maps) ProtoMessage() {} + +func (x *Maps) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Maps.ProtoReflect.Descriptor instead. +func (*Maps) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{3} +} + +func (x *Maps) GetInt32ToStr() map[int32]string { + if x != nil { + return x.Int32ToStr + } + return nil +} + +func (x *Maps) GetStrToNested() map[string]*Nested { + if x != nil { + return x.StrToNested + } + return nil +} + +// Message type used as submessage. +type Nested struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"` + OptNested *Nested `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"` +} + +func (x *Nested) Reset() { + *x = Nested{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Nested) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nested) ProtoMessage() {} + +func (x *Nested) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Nested.ProtoReflect.Descriptor instead. +func (*Nested) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{4} +} + +func (x *Nested) GetOptString() string { + if x != nil && x.OptString != nil { + return *x.OptString + } + return "" +} + +func (x *Nested) GetOptNested() *Nested { + if x != nil { + return x.OptNested + } + return nil +} + +// Message contains message and group fields. +type Nests struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptNested *Nested `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"` + Optgroup *Nests_OptGroup `protobuf:"group,2,opt,name=OptGroup,json=optgroup" json:"optgroup,omitempty"` + RptNested []*Nested `protobuf:"bytes,4,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"` + Rptgroup []*Nests_RptGroup `protobuf:"group,5,rep,name=RptGroup,json=rptgroup" json:"rptgroup,omitempty"` +} + +func (x *Nests) Reset() { + *x = Nests{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Nests) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nests) ProtoMessage() {} + +func (x *Nests) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Nests.ProtoReflect.Descriptor instead. +func (*Nests) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{5} +} + +func (x *Nests) GetOptNested() *Nested { + if x != nil { + return x.OptNested + } + return nil +} + +func (x *Nests) GetOptgroup() *Nests_OptGroup { + if x != nil { + return x.Optgroup + } + return nil +} + +func (x *Nests) GetRptNested() []*Nested { + if x != nil { + return x.RptNested + } + return nil +} + +func (x *Nests) GetRptgroup() []*Nests_RptGroup { + if x != nil { + return x.Rptgroup + } + return nil +} + +// Message contains required fields. +type Requireds struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqBool *bool `protobuf:"varint,1,req,name=req_bool,json=reqBool" json:"req_bool,omitempty"` + ReqSfixed64 *int64 `protobuf:"fixed64,2,req,name=req_sfixed64,json=reqSfixed64" json:"req_sfixed64,omitempty"` + ReqDouble *float64 `protobuf:"fixed64,3,req,name=req_double,json=reqDouble" json:"req_double,omitempty"` + ReqString *string `protobuf:"bytes,4,req,name=req_string,json=reqString" json:"req_string,omitempty"` + ReqEnum *Enum `protobuf:"varint,5,req,name=req_enum,json=reqEnum,enum=pb2.Enum" json:"req_enum,omitempty"` + ReqNested *Nested `protobuf:"bytes,6,req,name=req_nested,json=reqNested" json:"req_nested,omitempty"` +} + +func (x *Requireds) Reset() { + *x = Requireds{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Requireds) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Requireds) ProtoMessage() {} + +func (x *Requireds) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Requireds.ProtoReflect.Descriptor instead. +func (*Requireds) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{6} +} + +func (x *Requireds) GetReqBool() bool { + if x != nil && x.ReqBool != nil { + return *x.ReqBool + } + return false +} + +func (x *Requireds) GetReqSfixed64() int64 { + if x != nil && x.ReqSfixed64 != nil { + return *x.ReqSfixed64 + } + return 0 +} + +func (x *Requireds) GetReqDouble() float64 { + if x != nil && x.ReqDouble != nil { + return *x.ReqDouble + } + return 0 +} + +func (x *Requireds) GetReqString() string { + if x != nil && x.ReqString != nil { + return *x.ReqString + } + return "" +} + +func (x *Requireds) GetReqEnum() Enum { + if x != nil && x.ReqEnum != nil { + return *x.ReqEnum + } + return Enum_ONE +} + +func (x *Requireds) GetReqNested() *Nested { + if x != nil { + return x.ReqNested + } + return nil +} + +// Message contains both required and optional fields. +type PartialRequired struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqString *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"` + OptString *string `protobuf:"bytes,2,opt,name=opt_string,json=optString" json:"opt_string,omitempty"` +} + +func (x *PartialRequired) Reset() { + *x = PartialRequired{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *PartialRequired) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PartialRequired) ProtoMessage() {} + +func (x *PartialRequired) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 PartialRequired.ProtoReflect.Descriptor instead. +func (*PartialRequired) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{7} +} + +func (x *PartialRequired) GetReqString() string { + if x != nil && x.ReqString != nil { + return *x.ReqString + } + return "" +} + +func (x *PartialRequired) GetOptString() string { + if x != nil && x.OptString != nil { + return *x.OptString + } + return "" +} + +type NestedWithRequired struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ReqString *string `protobuf:"bytes,1,req,name=req_string,json=reqString" json:"req_string,omitempty"` +} + +func (x *NestedWithRequired) Reset() { + *x = NestedWithRequired{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NestedWithRequired) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NestedWithRequired) ProtoMessage() {} + +func (x *NestedWithRequired) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 NestedWithRequired.ProtoReflect.Descriptor instead. +func (*NestedWithRequired) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{8} +} + +func (x *NestedWithRequired) GetReqString() string { + if x != nil && x.ReqString != nil { + return *x.ReqString + } + return "" +} + +type IndirectRequired struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptNested *NestedWithRequired `protobuf:"bytes,1,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"` + RptNested []*NestedWithRequired `protobuf:"bytes,2,rep,name=rpt_nested,json=rptNested" json:"rpt_nested,omitempty"` + StrToNested map[string]*NestedWithRequired `protobuf:"bytes,3,rep,name=str_to_nested,json=strToNested" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Types that are assignable to Union: + // + // *IndirectRequired_OneofNested + Union isIndirectRequired_Union `protobuf_oneof:"union"` +} + +func (x *IndirectRequired) Reset() { + *x = IndirectRequired{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *IndirectRequired) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IndirectRequired) ProtoMessage() {} + +func (x *IndirectRequired) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 IndirectRequired.ProtoReflect.Descriptor instead. +func (*IndirectRequired) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{9} +} + +func (x *IndirectRequired) GetOptNested() *NestedWithRequired { + if x != nil { + return x.OptNested + } + return nil +} + +func (x *IndirectRequired) GetRptNested() []*NestedWithRequired { + if x != nil { + return x.RptNested + } + return nil +} + +func (x *IndirectRequired) GetStrToNested() map[string]*NestedWithRequired { + if x != nil { + return x.StrToNested + } + return nil +} + +func (m *IndirectRequired) GetUnion() isIndirectRequired_Union { + if m != nil { + return m.Union + } + return nil +} + +func (x *IndirectRequired) GetOneofNested() *NestedWithRequired { + if x, ok := x.GetUnion().(*IndirectRequired_OneofNested); ok { + return x.OneofNested + } + return nil +} + +type isIndirectRequired_Union interface { + isIndirectRequired_Union() +} + +type IndirectRequired_OneofNested struct { + OneofNested *NestedWithRequired `protobuf:"bytes,4,opt,name=oneof_nested,json=oneofNested,oneof"` +} + +func (*IndirectRequired_OneofNested) isIndirectRequired_Union() {} + +type Extensions struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields + + OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"` + OptBool *bool `protobuf:"varint,101,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"` + OptInt32 *int32 `protobuf:"varint,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"` +} + +func (x *Extensions) Reset() { + *x = Extensions{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Extensions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Extensions) ProtoMessage() {} + +func (x *Extensions) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Extensions.ProtoReflect.Descriptor instead. +func (*Extensions) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{10} +} + +func (x *Extensions) GetOptString() string { + if x != nil && x.OptString != nil { + return *x.OptString + } + return "" +} + +func (x *Extensions) GetOptBool() bool { + if x != nil && x.OptBool != nil { + return *x.OptBool + } + return false +} + +func (x *Extensions) GetOptInt32() int32 { + if x != nil && x.OptInt32 != nil { + return *x.OptInt32 + } + return 0 +} + +type ExtensionsContainer struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields +} + +func (x *ExtensionsContainer) Reset() { + *x = ExtensionsContainer{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ExtensionsContainer) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExtensionsContainer) ProtoMessage() {} + +func (x *ExtensionsContainer) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 ExtensionsContainer.ProtoReflect.Descriptor instead. +func (*ExtensionsContainer) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{11} +} + +type MessageSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields +} + +func (x *MessageSet) Reset() { + *x = MessageSet{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MessageSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageSet) ProtoMessage() {} + +func (x *MessageSet) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 MessageSet.ProtoReflect.Descriptor instead. +func (*MessageSet) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{12} +} + +type MessageSetExtension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"` +} + +func (x *MessageSetExtension) Reset() { + *x = MessageSetExtension{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MessageSetExtension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageSetExtension) ProtoMessage() {} + +func (x *MessageSetExtension) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 MessageSetExtension.ProtoReflect.Descriptor instead. +func (*MessageSetExtension) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{13} +} + +func (x *MessageSetExtension) GetOptString() string { + if x != nil && x.OptString != nil { + return *x.OptString + } + return "" +} + +type FakeMessageSet struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + extensionFields protoimpl.ExtensionFields +} + +func (x *FakeMessageSet) Reset() { + *x = FakeMessageSet{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FakeMessageSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FakeMessageSet) ProtoMessage() {} + +func (x *FakeMessageSet) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 FakeMessageSet.ProtoReflect.Descriptor instead. +func (*FakeMessageSet) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{14} +} + +type FakeMessageSetExtension struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"` +} + +func (x *FakeMessageSetExtension) Reset() { + *x = FakeMessageSetExtension{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *FakeMessageSetExtension) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FakeMessageSetExtension) ProtoMessage() {} + +func (x *FakeMessageSetExtension) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 FakeMessageSetExtension.ProtoReflect.Descriptor instead. +func (*FakeMessageSetExtension) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{15} +} + +func (x *FakeMessageSetExtension) GetOptString() string { + if x != nil && x.OptString != nil { + return *x.OptString + } + return "" +} + +// Message contains well-known type fields. +type KnownTypes struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptBool *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=opt_bool,json=optBool" json:"opt_bool,omitempty"` + OptInt32 *wrapperspb.Int32Value `protobuf:"bytes,2,opt,name=opt_int32,json=optInt32" json:"opt_int32,omitempty"` + OptInt64 *wrapperspb.Int64Value `protobuf:"bytes,3,opt,name=opt_int64,json=optInt64" json:"opt_int64,omitempty"` + OptUint32 *wrapperspb.UInt32Value `protobuf:"bytes,4,opt,name=opt_uint32,json=optUint32" json:"opt_uint32,omitempty"` + OptUint64 *wrapperspb.UInt64Value `protobuf:"bytes,5,opt,name=opt_uint64,json=optUint64" json:"opt_uint64,omitempty"` + OptFloat *wrapperspb.FloatValue `protobuf:"bytes,6,opt,name=opt_float,json=optFloat" json:"opt_float,omitempty"` + OptDouble *wrapperspb.DoubleValue `protobuf:"bytes,7,opt,name=opt_double,json=optDouble" json:"opt_double,omitempty"` + OptString *wrapperspb.StringValue `protobuf:"bytes,8,opt,name=opt_string,json=optString" json:"opt_string,omitempty"` + OptBytes *wrapperspb.BytesValue `protobuf:"bytes,9,opt,name=opt_bytes,json=optBytes" json:"opt_bytes,omitempty"` + OptDuration *durationpb.Duration `protobuf:"bytes,20,opt,name=opt_duration,json=optDuration" json:"opt_duration,omitempty"` + OptTimestamp *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=opt_timestamp,json=optTimestamp" json:"opt_timestamp,omitempty"` + OptStruct *structpb.Struct `protobuf:"bytes,25,opt,name=opt_struct,json=optStruct" json:"opt_struct,omitempty"` + OptList *structpb.ListValue `protobuf:"bytes,26,opt,name=opt_list,json=optList" json:"opt_list,omitempty"` + OptValue *structpb.Value `protobuf:"bytes,27,opt,name=opt_value,json=optValue" json:"opt_value,omitempty"` + OptNull *structpb.NullValue `protobuf:"varint,28,opt,name=opt_null,json=optNull,enum=google.protobuf.NullValue" json:"opt_null,omitempty"` + OptEmpty *emptypb.Empty `protobuf:"bytes,30,opt,name=opt_empty,json=optEmpty" json:"opt_empty,omitempty"` + OptAny *anypb.Any `protobuf:"bytes,32,opt,name=opt_any,json=optAny" json:"opt_any,omitempty"` + OptFieldmask *fieldmaskpb.FieldMask `protobuf:"bytes,40,opt,name=opt_fieldmask,json=optFieldmask" json:"opt_fieldmask,omitempty"` +} + +func (x *KnownTypes) Reset() { + *x = KnownTypes{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *KnownTypes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*KnownTypes) ProtoMessage() {} + +func (x *KnownTypes) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 KnownTypes.ProtoReflect.Descriptor instead. +func (*KnownTypes) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{16} +} + +func (x *KnownTypes) GetOptBool() *wrapperspb.BoolValue { + if x != nil { + return x.OptBool + } + return nil +} + +func (x *KnownTypes) GetOptInt32() *wrapperspb.Int32Value { + if x != nil { + return x.OptInt32 + } + return nil +} + +func (x *KnownTypes) GetOptInt64() *wrapperspb.Int64Value { + if x != nil { + return x.OptInt64 + } + return nil +} + +func (x *KnownTypes) GetOptUint32() *wrapperspb.UInt32Value { + if x != nil { + return x.OptUint32 + } + return nil +} + +func (x *KnownTypes) GetOptUint64() *wrapperspb.UInt64Value { + if x != nil { + return x.OptUint64 + } + return nil +} + +func (x *KnownTypes) GetOptFloat() *wrapperspb.FloatValue { + if x != nil { + return x.OptFloat + } + return nil +} + +func (x *KnownTypes) GetOptDouble() *wrapperspb.DoubleValue { + if x != nil { + return x.OptDouble + } + return nil +} + +func (x *KnownTypes) GetOptString() *wrapperspb.StringValue { + if x != nil { + return x.OptString + } + return nil +} + +func (x *KnownTypes) GetOptBytes() *wrapperspb.BytesValue { + if x != nil { + return x.OptBytes + } + return nil +} + +func (x *KnownTypes) GetOptDuration() *durationpb.Duration { + if x != nil { + return x.OptDuration + } + return nil +} + +func (x *KnownTypes) GetOptTimestamp() *timestamppb.Timestamp { + if x != nil { + return x.OptTimestamp + } + return nil +} + +func (x *KnownTypes) GetOptStruct() *structpb.Struct { + if x != nil { + return x.OptStruct + } + return nil +} + +func (x *KnownTypes) GetOptList() *structpb.ListValue { + if x != nil { + return x.OptList + } + return nil +} + +func (x *KnownTypes) GetOptValue() *structpb.Value { + if x != nil { + return x.OptValue + } + return nil +} + +func (x *KnownTypes) GetOptNull() structpb.NullValue { + if x != nil && x.OptNull != nil { + return *x.OptNull + } + return structpb.NullValue(0) +} + +func (x *KnownTypes) GetOptEmpty() *emptypb.Empty { + if x != nil { + return x.OptEmpty + } + return nil +} + +func (x *KnownTypes) GetOptAny() *anypb.Any { + if x != nil { + return x.OptAny + } + return nil +} + +func (x *KnownTypes) GetOptFieldmask() *fieldmaskpb.FieldMask { + if x != nil { + return x.OptFieldmask + } + return nil +} + +type Nests_OptGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptString *string `protobuf:"bytes,1,opt,name=opt_string,json=optString" json:"opt_string,omitempty"` + OptNested *Nested `protobuf:"bytes,2,opt,name=opt_nested,json=optNested" json:"opt_nested,omitempty"` + Optnestedgroup *Nests_OptGroup_OptNestedGroup `protobuf:"group,3,opt,name=OptNestedGroup,json=optnestedgroup" json:"optnestedgroup,omitempty"` +} + +func (x *Nests_OptGroup) Reset() { + *x = Nests_OptGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Nests_OptGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nests_OptGroup) ProtoMessage() {} + +func (x *Nests_OptGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Nests_OptGroup.ProtoReflect.Descriptor instead. +func (*Nests_OptGroup) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{5, 0} +} + +func (x *Nests_OptGroup) GetOptString() string { + if x != nil && x.OptString != nil { + return *x.OptString + } + return "" +} + +func (x *Nests_OptGroup) GetOptNested() *Nested { + if x != nil { + return x.OptNested + } + return nil +} + +func (x *Nests_OptGroup) GetOptnestedgroup() *Nests_OptGroup_OptNestedGroup { + if x != nil { + return x.Optnestedgroup + } + return nil +} + +type Nests_RptGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RptString []string `protobuf:"bytes,1,rep,name=rpt_string,json=rptString" json:"rpt_string,omitempty"` +} + +func (x *Nests_RptGroup) Reset() { + *x = Nests_RptGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Nests_RptGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nests_RptGroup) ProtoMessage() {} + +func (x *Nests_RptGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Nests_RptGroup.ProtoReflect.Descriptor instead. +func (*Nests_RptGroup) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{5, 1} +} + +func (x *Nests_RptGroup) GetRptString() []string { + if x != nil { + return x.RptString + } + return nil +} + +type Nests_OptGroup_OptNestedGroup struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptFixed32 *uint32 `protobuf:"fixed32,1,opt,name=opt_fixed32,json=optFixed32" json:"opt_fixed32,omitempty"` +} + +func (x *Nests_OptGroup_OptNestedGroup) Reset() { + *x = Nests_OptGroup_OptNestedGroup{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb2_test_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Nests_OptGroup_OptNestedGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nests_OptGroup_OptNestedGroup) ProtoMessage() {} + +func (x *Nests_OptGroup_OptNestedGroup) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb2_test_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 Nests_OptGroup_OptNestedGroup.ProtoReflect.Descriptor instead. +func (*Nests_OptGroup_OptNestedGroup) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb2_test_proto_rawDescGZIP(), []int{5, 0, 0} +} + +func (x *Nests_OptGroup_OptNestedGroup) GetOptFixed32() uint32 { + if x != nil && x.OptFixed32 != nil { + return *x.OptFixed32 + } + return 0 +} + +var file_internal_testprotos_textpb2_test_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*bool)(nil), + Field: 21, + Name: "pb2.opt_ext_bool", + Tag: "varint,21,opt,name=opt_ext_bool", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*string)(nil), + Field: 22, + Name: "pb2.opt_ext_string", + Tag: "bytes,22,opt,name=opt_ext_string", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*Enum)(nil), + Field: 23, + Name: "pb2.opt_ext_enum", + Tag: "varint,23,opt,name=opt_ext_enum,enum=pb2.Enum", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*Nested)(nil), + Field: 24, + Name: "pb2.opt_ext_nested", + Tag: "bytes,24,opt,name=opt_ext_nested", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*PartialRequired)(nil), + Field: 25, + Name: "pb2.opt_ext_partial", + Tag: "bytes,25,opt,name=opt_ext_partial", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: ([]uint32)(nil), + Field: 31, + Name: "pb2.rpt_ext_fixed32", + Tag: "fixed32,31,rep,name=rpt_ext_fixed32", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: ([]Enum)(nil), + Field: 32, + Name: "pb2.rpt_ext_enum", + Tag: "varint,32,rep,name=rpt_ext_enum,enum=pb2.Enum", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: ([]*Nested)(nil), + Field: 33, + Name: "pb2.rpt_ext_nested", + Tag: "bytes,33,rep,name=rpt_ext_nested", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*MessageSet)(nil), + ExtensionType: (*FakeMessageSetExtension)(nil), + Field: 50, + Name: "pb2.message_set_extension", + Tag: "bytes,50,opt,name=message_set_extension", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*bool)(nil), + Field: 51, + Name: "pb2.ExtensionsContainer.opt_ext_bool", + Tag: "varint,51,opt,name=opt_ext_bool", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*string)(nil), + Field: 52, + Name: "pb2.ExtensionsContainer.opt_ext_string", + Tag: "bytes,52,opt,name=opt_ext_string", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*Enum)(nil), + Field: 53, + Name: "pb2.ExtensionsContainer.opt_ext_enum", + Tag: "varint,53,opt,name=opt_ext_enum,enum=pb2.Enum", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*Nested)(nil), + Field: 54, + Name: "pb2.ExtensionsContainer.opt_ext_nested", + Tag: "bytes,54,opt,name=opt_ext_nested", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: (*PartialRequired)(nil), + Field: 55, + Name: "pb2.ExtensionsContainer.opt_ext_partial", + Tag: "bytes,55,opt,name=opt_ext_partial", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: ([]string)(nil), + Field: 61, + Name: "pb2.ExtensionsContainer.rpt_ext_string", + Tag: "bytes,61,rep,name=rpt_ext_string", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: ([]Enum)(nil), + Field: 62, + Name: "pb2.ExtensionsContainer.rpt_ext_enum", + Tag: "varint,62,rep,name=rpt_ext_enum,enum=pb2.Enum", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*Extensions)(nil), + ExtensionType: ([]*Nested)(nil), + Field: 63, + Name: "pb2.ExtensionsContainer.rpt_ext_nested", + Tag: "bytes,63,rep,name=rpt_ext_nested", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*MessageSet)(nil), + ExtensionType: (*MessageSetExtension)(nil), + Field: 10, + Name: "pb2.MessageSetExtension.message_set_extension", + Tag: "bytes,10,opt,name=message_set_extension", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*MessageSet)(nil), + ExtensionType: (*MessageSetExtension)(nil), + Field: 20, + Name: "pb2.MessageSetExtension.not_message_set_extension", + Tag: "bytes,20,opt,name=not_message_set_extension", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*MessageSet)(nil), + ExtensionType: (*Nested)(nil), + Field: 30, + Name: "pb2.MessageSetExtension.ext_nested", + Tag: "bytes,30,opt,name=ext_nested", + Filename: "internal/testprotos/textpb2/test.proto", + }, + { + ExtendedType: (*FakeMessageSet)(nil), + ExtensionType: (*FakeMessageSetExtension)(nil), + Field: 10, + Name: "pb2.FakeMessageSetExtension.message_set_extension", + Tag: "bytes,10,opt,name=message_set_extension", + Filename: "internal/testprotos/textpb2/test.proto", + }, +} + +// Extension fields to Extensions. +var ( + // optional bool opt_ext_bool = 21; + E_OptExtBool = &file_internal_testprotos_textpb2_test_proto_extTypes[0] + // optional string opt_ext_string = 22; + E_OptExtString = &file_internal_testprotos_textpb2_test_proto_extTypes[1] + // optional pb2.Enum opt_ext_enum = 23; + E_OptExtEnum = &file_internal_testprotos_textpb2_test_proto_extTypes[2] + // optional pb2.Nested opt_ext_nested = 24; + E_OptExtNested = &file_internal_testprotos_textpb2_test_proto_extTypes[3] + // optional pb2.PartialRequired opt_ext_partial = 25; + E_OptExtPartial = &file_internal_testprotos_textpb2_test_proto_extTypes[4] + // repeated fixed32 rpt_ext_fixed32 = 31; + E_RptExtFixed32 = &file_internal_testprotos_textpb2_test_proto_extTypes[5] + // repeated pb2.Enum rpt_ext_enum = 32; + E_RptExtEnum = &file_internal_testprotos_textpb2_test_proto_extTypes[6] + // repeated pb2.Nested rpt_ext_nested = 33; + E_RptExtNested = &file_internal_testprotos_textpb2_test_proto_extTypes[7] + // optional bool opt_ext_bool = 51; + E_ExtensionsContainer_OptExtBool = &file_internal_testprotos_textpb2_test_proto_extTypes[9] + // optional string opt_ext_string = 52; + E_ExtensionsContainer_OptExtString = &file_internal_testprotos_textpb2_test_proto_extTypes[10] + // optional pb2.Enum opt_ext_enum = 53; + E_ExtensionsContainer_OptExtEnum = &file_internal_testprotos_textpb2_test_proto_extTypes[11] + // optional pb2.Nested opt_ext_nested = 54; + E_ExtensionsContainer_OptExtNested = &file_internal_testprotos_textpb2_test_proto_extTypes[12] + // optional pb2.PartialRequired opt_ext_partial = 55; + E_ExtensionsContainer_OptExtPartial = &file_internal_testprotos_textpb2_test_proto_extTypes[13] + // repeated string rpt_ext_string = 61; + E_ExtensionsContainer_RptExtString = &file_internal_testprotos_textpb2_test_proto_extTypes[14] + // repeated pb2.Enum rpt_ext_enum = 62; + E_ExtensionsContainer_RptExtEnum = &file_internal_testprotos_textpb2_test_proto_extTypes[15] + // repeated pb2.Nested rpt_ext_nested = 63; + E_ExtensionsContainer_RptExtNested = &file_internal_testprotos_textpb2_test_proto_extTypes[16] +) + +// Extension fields to MessageSet. +var ( + // optional pb2.FakeMessageSetExtension message_set_extension = 50; + E_MessageSetExtension = &file_internal_testprotos_textpb2_test_proto_extTypes[8] + // optional pb2.MessageSetExtension message_set_extension = 10; + E_MessageSetExtension_MessageSetExtension = &file_internal_testprotos_textpb2_test_proto_extTypes[17] + // optional pb2.MessageSetExtension not_message_set_extension = 20; + E_MessageSetExtension_NotMessageSetExtension = &file_internal_testprotos_textpb2_test_proto_extTypes[18] + // optional pb2.Nested ext_nested = 30; + E_MessageSetExtension_ExtNested = &file_internal_testprotos_textpb2_test_proto_extTypes[19] +) + +// Extension fields to FakeMessageSet. +var ( + // optional pb2.FakeMessageSetExtension message_set_extension = 10; + E_FakeMessageSetExtension_MessageSetExtension = &file_internal_testprotos_textpb2_test_proto_extTypes[20] +) + +var File_internal_testprotos_textpb2_test_proto protoreflect.FileDescriptor + +var file_internal_testprotos_textpb2_test_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x32, 0x2f, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x70, 0x62, 0x32, 0x1a, 0x19, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x61, + 0x6e, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xda, 0x03, 0x0a, 0x07, 0x53, 0x63, 0x61, 0x6c, 0x61, + 0x72, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, + 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, + 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, + 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x6f, + 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x09, 0x6f, 0x70, 0x74, + 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x18, 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x69, 0x6e, + 0x74, 0x36, 0x34, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, + 0x33, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x78, 0x65, + 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x46, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x0b, 0x6f, 0x70, 0x74, + 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, + 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x10, 0x52, 0x0b, + 0x6f, 0x70, 0x74, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1b, 0x0a, 0x09, 0x6f, + 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x08, + 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, + 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x01, 0x52, 0x09, 0x6f, 0x70, + 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x62, + 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x22, 0xfb, 0x01, 0x0a, 0x05, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x24, 0x0a, + 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x45, + 0x6e, 0x75, 0x6d, 0x12, 0x24, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, + 0x52, 0x07, 0x72, 0x70, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, + 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3d, 0x0a, 0x0f, 0x72, 0x70, 0x74, 0x5f, + 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x15, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0d, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x22, 0x28, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x55, 0x4e, 0x4f, 0x10, 0x01, 0x12, 0x07, + 0x0a, 0x03, 0x44, 0x4f, 0x53, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x44, 0x49, 0x45, 0x5a, 0x10, + 0x0a, 0x22, 0x94, 0x02, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, + 0x08, 0x72, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x08, 0x52, + 0x07, 0x72, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x72, 0x70, 0x74, + 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x18, 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, + 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, + 0x05, 0x20, 0x03, 0x28, 0x04, 0x52, 0x09, 0x72, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, + 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20, + 0x03, 0x28, 0x02, 0x52, 0x08, 0x72, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, + 0x01, 0x52, 0x09, 0x72, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, + 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x09, 0x72, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x72, + 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, + 0x72, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x8f, 0x02, 0x0a, 0x04, 0x4d, 0x61, 0x70, + 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, 0x6f, 0x5f, 0x73, 0x74, + 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x61, + 0x70, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72, 0x12, 0x3e, + 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, + 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x61, 0x70, 0x73, + 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a, 0x3d, + 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, + 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, + 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x53, 0x0a, 0x06, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, + 0xd3, 0x03, 0x0a, 0x05, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, + 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, + 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, + 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0a, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, + 0x73, 0x74, 0x73, 0x2e, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x08, 0x6f, 0x70, + 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2a, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, + 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x12, 0x2f, 0x0a, 0x08, 0x72, 0x70, 0x74, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0a, 0x32, 0x13, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, + 0x2e, 0x52, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x08, 0x72, 0x70, 0x74, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x1a, 0xd4, 0x01, 0x0a, 0x08, 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x2a, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0e, 0x6f, + 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0a, 0x32, 0x22, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x73, 0x2e, + 0x4f, 0x70, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x4f, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0e, 0x6f, 0x70, 0x74, 0x6e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x31, 0x0a, 0x0e, 0x4f, 0x70, 0x74, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x70, 0x74, + 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x52, 0x0a, + 0x6f, 0x70, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x1a, 0x29, 0x0a, 0x08, 0x52, 0x70, + 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, 0x70, 0x74, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x5f, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x22, 0xd9, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x64, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, + 0x01, 0x20, 0x02, 0x28, 0x08, 0x52, 0x07, 0x72, 0x65, 0x71, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x21, + 0x0a, 0x0c, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x02, + 0x20, 0x02, 0x28, 0x10, 0x52, 0x0b, 0x72, 0x65, 0x71, 0x53, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, + 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, + 0x03, 0x20, 0x02, 0x28, 0x01, 0x52, 0x09, 0x72, 0x65, 0x71, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x04, + 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, + 0x24, 0x0a, 0x08, 0x72, 0x65, 0x71, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x05, 0x20, 0x02, 0x28, + 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x07, 0x72, 0x65, + 0x71, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x2a, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x6e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x02, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x72, 0x65, 0x71, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x22, 0x4f, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, 0x73, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x22, 0x33, 0x0a, 0x12, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, + 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x5f, + 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x02, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, + 0x71, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0xee, 0x02, 0x0a, 0x10, 0x49, 0x6e, 0x64, 0x69, + 0x72, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0a, + 0x6f, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, + 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x12, 0x36, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, + 0x64, 0x52, 0x09, 0x72, 0x70, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x4a, 0x0a, 0x0d, + 0x73, 0x74, 0x72, 0x5f, 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x49, 0x6e, 0x64, 0x69, 0x72, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, + 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3c, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, + 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x1a, 0x57, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, + 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2d, 0x0a, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x70, 0x62, + 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x57, 0x69, 0x74, 0x68, 0x52, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, + 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0x69, 0x0a, 0x0a, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x19, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, + 0x6c, 0x18, 0x65, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, + 0x12, 0x1b, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x2a, 0x04, 0x08, + 0x14, 0x10, 0x65, 0x22, 0x89, 0x04, 0x0a, 0x13, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x32, 0x31, 0x0a, 0x0c, 0x6f, + 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x0f, 0x2e, 0x70, 0x62, + 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x33, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x32, 0x35, + 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x34, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x3c, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, + 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x35, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, + 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, + 0x6e, 0x75, 0x6d, 0x32, 0x42, 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x36, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, + 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, + 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x32, 0x4d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x65, + 0x78, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, + 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x37, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x14, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, + 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x50, + 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x32, 0x35, 0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, + 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, + 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3d, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x3c, 0x0a, + 0x0c, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, + 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3e, + 0x20, 0x03, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, + 0x0a, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x32, 0x42, 0x0a, 0x0e, 0x72, + 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, + 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x3f, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x52, 0x0c, 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, + 0x1a, 0x0a, 0x0a, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, + 0x04, 0x10, 0xff, 0xff, 0xff, 0xff, 0x07, 0x3a, 0x02, 0x08, 0x01, 0x22, 0xb6, 0x02, 0x0a, 0x13, + 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, + 0x6e, 0x67, 0x32, 0x5d, 0x0a, 0x15, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, + 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62, + 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x32, 0x64, 0x0a, 0x19, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, + 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, + 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, + 0x16, 0x6e, 0x6f, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, + 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x3b, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x5f, 0x6e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, + 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x09, 0x65, 0x78, 0x74, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x22, 0x1a, 0x0a, 0x0e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x2a, 0x08, 0x08, 0x04, 0x10, 0x80, 0x80, 0x80, 0x80, 0x02, + 0x22, 0x9f, 0x01, 0x0a, 0x17, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1d, 0x0a, 0x0a, + 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x32, 0x65, 0x0a, 0x15, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x13, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1c, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, + 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, + 0x6f, 0x6e, 0x22, 0x9e, 0x08, 0x0a, 0x0a, 0x4b, 0x6e, 0x6f, 0x77, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, + 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x3b, 0x0a, 0x0a, + 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x55, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, + 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, + 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x55, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, + 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x6c, 0x6f, 0x61, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, + 0x12, 0x3b, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x3b, 0x0a, + 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, + 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x38, 0x0a, 0x09, 0x6f, 0x70, + 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x75, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x6f, 0x70, 0x74, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x12, 0x36, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x75, 0x63, + 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x12, 0x35, 0x0a, 0x08, 0x6f, + 0x70, 0x74, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x33, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, + 0x1b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6f, + 0x70, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x6e, + 0x75, 0x6c, 0x6c, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4e, 0x75, 0x6c, 0x6c, + 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x07, 0x6f, 0x70, 0x74, 0x4e, 0x75, 0x6c, 0x6c, 0x12, 0x33, + 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x18, 0x1e, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x45, 0x6d, + 0x70, 0x74, 0x79, 0x12, 0x2d, 0x0a, 0x07, 0x6f, 0x70, 0x74, 0x5f, 0x61, 0x6e, 0x79, 0x18, 0x20, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x41, 0x6e, 0x79, 0x52, 0x06, 0x6f, 0x70, 0x74, 0x41, + 0x6e, 0x79, 0x12, 0x3f, 0x0a, 0x0d, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x6d, + 0x61, 0x73, 0x6b, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x6d, + 0x61, 0x73, 0x6b, 0x2a, 0x21, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x07, 0x0a, 0x03, 0x4f, + 0x4e, 0x45, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x57, 0x4f, 0x10, 0x02, 0x12, 0x07, 0x0a, + 0x03, 0x54, 0x45, 0x4e, 0x10, 0x0a, 0x3a, 0x31, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, + 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, + 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x15, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6f, + 0x70, 0x74, 0x45, 0x78, 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x3a, 0x35, 0x0a, 0x0e, 0x6f, 0x70, 0x74, + 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x0f, 0x2e, 0x70, 0x62, + 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x16, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, + 0x3a, 0x3c, 0x0a, 0x0c, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, + 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, + 0x75, 0x6d, 0x52, 0x0a, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x42, + 0x0a, 0x0e, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, + 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x3a, 0x4d, 0x0a, 0x0f, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, + 0x72, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x70, + 0x62, 0x32, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, + 0x65, 0x64, 0x52, 0x0d, 0x6f, 0x70, 0x74, 0x45, 0x78, 0x74, 0x50, 0x61, 0x72, 0x74, 0x69, 0x61, + 0x6c, 0x3a, 0x37, 0x0a, 0x0f, 0x72, 0x70, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x66, 0x69, 0x78, + 0x65, 0x64, 0x33, 0x32, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, + 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x1f, 0x20, 0x03, 0x28, 0x07, 0x52, 0x0d, 0x72, 0x70, 0x74, + 0x45, 0x78, 0x74, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x3a, 0x3c, 0x0a, 0x0c, 0x72, 0x70, + 0x74, 0x5f, 0x65, 0x78, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, + 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x20, 0x20, 0x03, 0x28, + 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0a, 0x72, 0x70, + 0x74, 0x45, 0x78, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x3a, 0x42, 0x0a, 0x0e, 0x72, 0x70, 0x74, 0x5f, + 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, + 0x2e, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x21, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x0c, + 0x72, 0x70, 0x74, 0x45, 0x78, 0x74, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x3a, 0x61, 0x0a, 0x15, + 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x65, 0x78, 0x74, 0x65, + 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x2e, 0x70, 0x62, 0x32, 0x2e, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x70, + 0x62, 0x32, 0x2e, 0x46, 0x61, 0x6b, 0x65, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x53, 0x65, + 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x13, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x53, 0x65, 0x74, 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x42, + 0x38, 0x5a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, + 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x73, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x32, +} + +var ( + file_internal_testprotos_textpb2_test_proto_rawDescOnce sync.Once + file_internal_testprotos_textpb2_test_proto_rawDescData = file_internal_testprotos_textpb2_test_proto_rawDesc +) + +func file_internal_testprotos_textpb2_test_proto_rawDescGZIP() []byte { + file_internal_testprotos_textpb2_test_proto_rawDescOnce.Do(func() { + file_internal_testprotos_textpb2_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_internal_testprotos_textpb2_test_proto_rawDescData) + }) + return file_internal_testprotos_textpb2_test_proto_rawDescData +} + +var file_internal_testprotos_textpb2_test_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_internal_testprotos_textpb2_test_proto_msgTypes = make([]protoimpl.MessageInfo, 23) +var file_internal_testprotos_textpb2_test_proto_goTypes = []interface{}{ + (Enum)(0), // 0: pb2.Enum + (Enums_NestedEnum)(0), // 1: pb2.Enums.NestedEnum + (*Scalars)(nil), // 2: pb2.Scalars + (*Enums)(nil), // 3: pb2.Enums + (*Repeats)(nil), // 4: pb2.Repeats + (*Maps)(nil), // 5: pb2.Maps + (*Nested)(nil), // 6: pb2.Nested + (*Nests)(nil), // 7: pb2.Nests + (*Requireds)(nil), // 8: pb2.Requireds + (*PartialRequired)(nil), // 9: pb2.PartialRequired + (*NestedWithRequired)(nil), // 10: pb2.NestedWithRequired + (*IndirectRequired)(nil), // 11: pb2.IndirectRequired + (*Extensions)(nil), // 12: pb2.Extensions + (*ExtensionsContainer)(nil), // 13: pb2.ExtensionsContainer + (*MessageSet)(nil), // 14: pb2.MessageSet + (*MessageSetExtension)(nil), // 15: pb2.MessageSetExtension + (*FakeMessageSet)(nil), // 16: pb2.FakeMessageSet + (*FakeMessageSetExtension)(nil), // 17: pb2.FakeMessageSetExtension + (*KnownTypes)(nil), // 18: pb2.KnownTypes + nil, // 19: pb2.Maps.Int32ToStrEntry + nil, // 20: pb2.Maps.StrToNestedEntry + (*Nests_OptGroup)(nil), // 21: pb2.Nests.OptGroup + (*Nests_RptGroup)(nil), // 22: pb2.Nests.RptGroup + (*Nests_OptGroup_OptNestedGroup)(nil), // 23: pb2.Nests.OptGroup.OptNestedGroup + nil, // 24: pb2.IndirectRequired.StrToNestedEntry + (*wrapperspb.BoolValue)(nil), // 25: google.protobuf.BoolValue + (*wrapperspb.Int32Value)(nil), // 26: google.protobuf.Int32Value + (*wrapperspb.Int64Value)(nil), // 27: google.protobuf.Int64Value + (*wrapperspb.UInt32Value)(nil), // 28: google.protobuf.UInt32Value + (*wrapperspb.UInt64Value)(nil), // 29: google.protobuf.UInt64Value + (*wrapperspb.FloatValue)(nil), // 30: google.protobuf.FloatValue + (*wrapperspb.DoubleValue)(nil), // 31: google.protobuf.DoubleValue + (*wrapperspb.StringValue)(nil), // 32: google.protobuf.StringValue + (*wrapperspb.BytesValue)(nil), // 33: google.protobuf.BytesValue + (*durationpb.Duration)(nil), // 34: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 35: google.protobuf.Timestamp + (*structpb.Struct)(nil), // 36: google.protobuf.Struct + (*structpb.ListValue)(nil), // 37: google.protobuf.ListValue + (*structpb.Value)(nil), // 38: google.protobuf.Value + (structpb.NullValue)(0), // 39: google.protobuf.NullValue + (*emptypb.Empty)(nil), // 40: google.protobuf.Empty + (*anypb.Any)(nil), // 41: google.protobuf.Any + (*fieldmaskpb.FieldMask)(nil), // 42: google.protobuf.FieldMask +} +var file_internal_testprotos_textpb2_test_proto_depIdxs = []int32{ + 0, // 0: pb2.Enums.opt_enum:type_name -> pb2.Enum + 0, // 1: pb2.Enums.rpt_enum:type_name -> pb2.Enum + 1, // 2: pb2.Enums.opt_nested_enum:type_name -> pb2.Enums.NestedEnum + 1, // 3: pb2.Enums.rpt_nested_enum:type_name -> pb2.Enums.NestedEnum + 19, // 4: pb2.Maps.int32_to_str:type_name -> pb2.Maps.Int32ToStrEntry + 20, // 5: pb2.Maps.str_to_nested:type_name -> pb2.Maps.StrToNestedEntry + 6, // 6: pb2.Nested.opt_nested:type_name -> pb2.Nested + 6, // 7: pb2.Nests.opt_nested:type_name -> pb2.Nested + 21, // 8: pb2.Nests.optgroup:type_name -> pb2.Nests.OptGroup + 6, // 9: pb2.Nests.rpt_nested:type_name -> pb2.Nested + 22, // 10: pb2.Nests.rptgroup:type_name -> pb2.Nests.RptGroup + 0, // 11: pb2.Requireds.req_enum:type_name -> pb2.Enum + 6, // 12: pb2.Requireds.req_nested:type_name -> pb2.Nested + 10, // 13: pb2.IndirectRequired.opt_nested:type_name -> pb2.NestedWithRequired + 10, // 14: pb2.IndirectRequired.rpt_nested:type_name -> pb2.NestedWithRequired + 24, // 15: pb2.IndirectRequired.str_to_nested:type_name -> pb2.IndirectRequired.StrToNestedEntry + 10, // 16: pb2.IndirectRequired.oneof_nested:type_name -> pb2.NestedWithRequired + 25, // 17: pb2.KnownTypes.opt_bool:type_name -> google.protobuf.BoolValue + 26, // 18: pb2.KnownTypes.opt_int32:type_name -> google.protobuf.Int32Value + 27, // 19: pb2.KnownTypes.opt_int64:type_name -> google.protobuf.Int64Value + 28, // 20: pb2.KnownTypes.opt_uint32:type_name -> google.protobuf.UInt32Value + 29, // 21: pb2.KnownTypes.opt_uint64:type_name -> google.protobuf.UInt64Value + 30, // 22: pb2.KnownTypes.opt_float:type_name -> google.protobuf.FloatValue + 31, // 23: pb2.KnownTypes.opt_double:type_name -> google.protobuf.DoubleValue + 32, // 24: pb2.KnownTypes.opt_string:type_name -> google.protobuf.StringValue + 33, // 25: pb2.KnownTypes.opt_bytes:type_name -> google.protobuf.BytesValue + 34, // 26: pb2.KnownTypes.opt_duration:type_name -> google.protobuf.Duration + 35, // 27: pb2.KnownTypes.opt_timestamp:type_name -> google.protobuf.Timestamp + 36, // 28: pb2.KnownTypes.opt_struct:type_name -> google.protobuf.Struct + 37, // 29: pb2.KnownTypes.opt_list:type_name -> google.protobuf.ListValue + 38, // 30: pb2.KnownTypes.opt_value:type_name -> google.protobuf.Value + 39, // 31: pb2.KnownTypes.opt_null:type_name -> google.protobuf.NullValue + 40, // 32: pb2.KnownTypes.opt_empty:type_name -> google.protobuf.Empty + 41, // 33: pb2.KnownTypes.opt_any:type_name -> google.protobuf.Any + 42, // 34: pb2.KnownTypes.opt_fieldmask:type_name -> google.protobuf.FieldMask + 6, // 35: pb2.Maps.StrToNestedEntry.value:type_name -> pb2.Nested + 6, // 36: pb2.Nests.OptGroup.opt_nested:type_name -> pb2.Nested + 23, // 37: pb2.Nests.OptGroup.optnestedgroup:type_name -> pb2.Nests.OptGroup.OptNestedGroup + 10, // 38: pb2.IndirectRequired.StrToNestedEntry.value:type_name -> pb2.NestedWithRequired + 12, // 39: pb2.opt_ext_bool:extendee -> pb2.Extensions + 12, // 40: pb2.opt_ext_string:extendee -> pb2.Extensions + 12, // 41: pb2.opt_ext_enum:extendee -> pb2.Extensions + 12, // 42: pb2.opt_ext_nested:extendee -> pb2.Extensions + 12, // 43: pb2.opt_ext_partial:extendee -> pb2.Extensions + 12, // 44: pb2.rpt_ext_fixed32:extendee -> pb2.Extensions + 12, // 45: pb2.rpt_ext_enum:extendee -> pb2.Extensions + 12, // 46: pb2.rpt_ext_nested:extendee -> pb2.Extensions + 14, // 47: pb2.message_set_extension:extendee -> pb2.MessageSet + 12, // 48: pb2.ExtensionsContainer.opt_ext_bool:extendee -> pb2.Extensions + 12, // 49: pb2.ExtensionsContainer.opt_ext_string:extendee -> pb2.Extensions + 12, // 50: pb2.ExtensionsContainer.opt_ext_enum:extendee -> pb2.Extensions + 12, // 51: pb2.ExtensionsContainer.opt_ext_nested:extendee -> pb2.Extensions + 12, // 52: pb2.ExtensionsContainer.opt_ext_partial:extendee -> pb2.Extensions + 12, // 53: pb2.ExtensionsContainer.rpt_ext_string:extendee -> pb2.Extensions + 12, // 54: pb2.ExtensionsContainer.rpt_ext_enum:extendee -> pb2.Extensions + 12, // 55: pb2.ExtensionsContainer.rpt_ext_nested:extendee -> pb2.Extensions + 14, // 56: pb2.MessageSetExtension.message_set_extension:extendee -> pb2.MessageSet + 14, // 57: pb2.MessageSetExtension.not_message_set_extension:extendee -> pb2.MessageSet + 14, // 58: pb2.MessageSetExtension.ext_nested:extendee -> pb2.MessageSet + 16, // 59: pb2.FakeMessageSetExtension.message_set_extension:extendee -> pb2.FakeMessageSet + 0, // 60: pb2.opt_ext_enum:type_name -> pb2.Enum + 6, // 61: pb2.opt_ext_nested:type_name -> pb2.Nested + 9, // 62: pb2.opt_ext_partial:type_name -> pb2.PartialRequired + 0, // 63: pb2.rpt_ext_enum:type_name -> pb2.Enum + 6, // 64: pb2.rpt_ext_nested:type_name -> pb2.Nested + 17, // 65: pb2.message_set_extension:type_name -> pb2.FakeMessageSetExtension + 0, // 66: pb2.ExtensionsContainer.opt_ext_enum:type_name -> pb2.Enum + 6, // 67: pb2.ExtensionsContainer.opt_ext_nested:type_name -> pb2.Nested + 9, // 68: pb2.ExtensionsContainer.opt_ext_partial:type_name -> pb2.PartialRequired + 0, // 69: pb2.ExtensionsContainer.rpt_ext_enum:type_name -> pb2.Enum + 6, // 70: pb2.ExtensionsContainer.rpt_ext_nested:type_name -> pb2.Nested + 15, // 71: pb2.MessageSetExtension.message_set_extension:type_name -> pb2.MessageSetExtension + 15, // 72: pb2.MessageSetExtension.not_message_set_extension:type_name -> pb2.MessageSetExtension + 6, // 73: pb2.MessageSetExtension.ext_nested:type_name -> pb2.Nested + 17, // 74: pb2.FakeMessageSetExtension.message_set_extension:type_name -> pb2.FakeMessageSetExtension + 75, // [75:75] is the sub-list for method output_type + 75, // [75:75] is the sub-list for method input_type + 60, // [60:75] is the sub-list for extension type_name + 39, // [39:60] is the sub-list for extension extendee + 0, // [0:39] is the sub-list for field type_name +} + +func init() { file_internal_testprotos_textpb2_test_proto_init() } +func file_internal_testprotos_textpb2_test_proto_init() { + if File_internal_testprotos_textpb2_test_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_internal_testprotos_textpb2_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Scalars); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Enums); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Repeats); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Maps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Nested); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Nests); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Requireds); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*PartialRequired); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NestedWithRequired); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*IndirectRequired); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Extensions); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ExtensionsContainer); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MessageSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MessageSetExtension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FakeMessageSet); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + case 3: + return &v.extensionFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*FakeMessageSetExtension); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*KnownTypes); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Nests_OptGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Nests_RptGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Nests_OptGroup_OptNestedGroup); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_internal_testprotos_textpb2_test_proto_msgTypes[9].OneofWrappers = []interface{}{ + (*IndirectRequired_OneofNested)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_testprotos_textpb2_test_proto_rawDesc, + NumEnums: 2, + NumMessages: 23, + NumExtensions: 21, + NumServices: 0, + }, + GoTypes: file_internal_testprotos_textpb2_test_proto_goTypes, + DependencyIndexes: file_internal_testprotos_textpb2_test_proto_depIdxs, + EnumInfos: file_internal_testprotos_textpb2_test_proto_enumTypes, + MessageInfos: file_internal_testprotos_textpb2_test_proto_msgTypes, + ExtensionInfos: file_internal_testprotos_textpb2_test_proto_extTypes, + }.Build() + File_internal_testprotos_textpb2_test_proto = out.File + file_internal_testprotos_textpb2_test_proto_rawDesc = nil + file_internal_testprotos_textpb2_test_proto_goTypes = nil + file_internal_testprotos_textpb2_test_proto_depIdxs = nil +} diff --git a/api_next/internal/protojson/testprotos/textpb2/test.proto b/api_next/internal/protojson/testprotos/textpb2/test.proto new file mode 100644 index 00000000..a23558b2 --- /dev/null +++ b/api_next/internal/protojson/testprotos/textpb2/test.proto @@ -0,0 +1,234 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Test Protobuf definitions with proto2 syntax. +syntax = "proto2"; + +package pb2; +option go_package = "google.golang.org/protobuf/internal/testprotos/textpb2"; + +import "google/protobuf/any.proto"; +import "google/protobuf/empty.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/duration.proto"; +import "google/protobuf/struct.proto"; +import "google/protobuf/timestamp.proto"; +import "google/protobuf/wrappers.proto"; + +// Scalars contains optional scalar fields. +message Scalars { + optional bool opt_bool = 1; + optional int32 opt_int32 = 2; + optional int64 opt_int64 = 3; + optional uint32 opt_uint32 = 4; + optional uint64 opt_uint64 = 5; + optional sint32 opt_sint32 = 6; + optional sint64 opt_sint64 = 7; + optional fixed32 opt_fixed32 = 8; + optional fixed64 opt_fixed64 = 9; + optional sfixed32 opt_sfixed32 = 10; + optional sfixed64 opt_sfixed64 = 11; + + // Textproto marshal outputs fields in the same order as this proto + // definition regardless of field number. Following fields are intended to + // test that assumption. + + optional float opt_float = 20; + optional double opt_double = 21; + + optional bytes opt_bytes = 14; + optional string opt_string = 13; +} + +enum Enum { + ONE = 1; + TWO = 2; + TEN = 10; +} + +// Message contains enum fields. +message Enums { + optional Enum opt_enum = 1; + repeated Enum rpt_enum = 2; + + enum NestedEnum { + UNO = 1; + DOS = 2; + DIEZ = 10; + } + optional NestedEnum opt_nested_enum = 3; + repeated NestedEnum rpt_nested_enum = 4; +} + +// Message contains repeated fields. +message Repeats { + repeated bool rpt_bool = 1; + repeated int32 rpt_int32 = 2; + repeated int64 rpt_int64 = 3; + repeated uint32 rpt_uint32 = 4; + repeated uint64 rpt_uint64 = 5; + repeated float rpt_float = 6; + repeated double rpt_double = 7; + repeated string rpt_string = 8; + repeated bytes rpt_bytes = 9; +} + +// Message contains map fields. +message Maps { + map int32_to_str = 1; + map str_to_nested = 4; +} + +// Message type used as submessage. +message Nested { + optional string opt_string = 1; + optional Nested opt_nested = 2; +} + +// Message contains message and group fields. +message Nests { + optional Nested opt_nested = 1; + optional group OptGroup = 2 { + optional string opt_string = 1; + optional Nested opt_nested = 2; + + optional group OptNestedGroup = 3 { + optional fixed32 opt_fixed32 = 1; + } + } + + repeated Nested rpt_nested = 4; + repeated group RptGroup = 5 { + repeated string rpt_string = 1; + } + + reserved "reserved_field"; +} + +// Message contains required fields. +message Requireds { + required bool req_bool = 1; + required sfixed64 req_sfixed64 = 2; + required double req_double = 3; + required string req_string = 4; + required Enum req_enum = 5; + required Nested req_nested = 6; +} + +// Message contains both required and optional fields. +message PartialRequired { + required string req_string = 1; + optional string opt_string = 2; +} + +// Following messages are for testing required field nested in optional, repeated and map fields. + +message NestedWithRequired { + required string req_string = 1; +} + +message IndirectRequired { + optional NestedWithRequired opt_nested = 1; + repeated NestedWithRequired rpt_nested = 2; + map str_to_nested = 3; + + oneof union { + NestedWithRequired oneof_nested = 4; + } +} + +// Following messages are for testing extensions. + +message Extensions { + optional string opt_string = 1; + extensions 20 to 100; + optional bool opt_bool = 101; + optional int32 opt_int32 = 2; +} + +extend Extensions { + optional bool opt_ext_bool = 21; + optional string opt_ext_string = 22; + optional Enum opt_ext_enum = 23; + optional Nested opt_ext_nested = 24; + optional PartialRequired opt_ext_partial = 25; + + repeated fixed32 rpt_ext_fixed32 = 31; + repeated Enum rpt_ext_enum = 32; + repeated Nested rpt_ext_nested = 33; +} + +message ExtensionsContainer { + extend Extensions { + optional bool opt_ext_bool = 51; + optional string opt_ext_string = 52; + optional Enum opt_ext_enum = 53; + optional Nested opt_ext_nested = 54; + optional PartialRequired opt_ext_partial = 55; + + repeated string rpt_ext_string = 61; + repeated Enum rpt_ext_enum = 62; + repeated Nested rpt_ext_nested = 63; + } +} + +// Following messages are for testing MessageSet. + +message MessageSet { + option message_set_wire_format = true; + + extensions 4 to max; +} + +message MessageSetExtension { + optional string opt_string = 1; + + extend MessageSet { + optional MessageSetExtension message_set_extension = 10; + optional MessageSetExtension not_message_set_extension = 20; + optional Nested ext_nested = 30; + } +} + +message FakeMessageSet { + extensions 4 to max; +} + +message FakeMessageSetExtension { + optional string opt_string = 1; + + extend FakeMessageSet { + optional FakeMessageSetExtension message_set_extension = 10; + } +} + +extend MessageSet { + optional FakeMessageSetExtension message_set_extension = 50; +} + +// Message contains well-known type fields. +message KnownTypes { + optional google.protobuf.BoolValue opt_bool = 1; + optional google.protobuf.Int32Value opt_int32 = 2; + optional google.protobuf.Int64Value opt_int64 = 3; + optional google.protobuf.UInt32Value opt_uint32 = 4; + optional google.protobuf.UInt64Value opt_uint64 = 5; + optional google.protobuf.FloatValue opt_float = 6; + optional google.protobuf.DoubleValue opt_double = 7; + optional google.protobuf.StringValue opt_string = 8; + optional google.protobuf.BytesValue opt_bytes = 9; + + optional google.protobuf.Duration opt_duration = 20; + optional google.protobuf.Timestamp opt_timestamp = 21; + + optional google.protobuf.Struct opt_struct = 25; + optional google.protobuf.ListValue opt_list = 26; + optional google.protobuf.Value opt_value = 27; + optional google.protobuf.NullValue opt_null = 28; + + optional google.protobuf.Empty opt_empty = 30; + optional google.protobuf.Any opt_any = 32; + + optional google.protobuf.FieldMask opt_fieldmask = 40; +} diff --git a/api_next/internal/protojson/testprotos/textpb3/test.pb.go b/api_next/internal/protojson/testprotos/textpb3/test.pb.go new file mode 100644 index 00000000..d89b4b21 --- /dev/null +++ b/api_next/internal/protojson/testprotos/textpb3/test.pb.go @@ -0,0 +1,1296 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Test Protobuf definitions with proto3 syntax. + +// Code generated by protoc-gen-go. DO NOT EDIT. +// source: internal/testprotos/textpb3/test.proto + +package textpb3 + +import ( + reflect "reflect" + "strconv" + sync "sync" + + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" +) + +type Enum int32 + +const ( + Enum_ZERO Enum = 0 + Enum_ONE Enum = 1 + Enum_TWO Enum = 2 + Enum_TEN Enum = 10 +) + +// Enum value maps for Enum. +var ( + Enum_name = map[int32]string{ + 0: "ZERO", + 1: "ONE", + 2: "TWO", + 10: "TEN", + } + Enum_value = map[string]int32{ + "ZERO": 0, + "ONE": 1, + "TWO": 2, + "TEN": 10, + } +) + +func (x Enum) Enum() *Enum { + p := new(Enum) + *p = x + return p +} + +func (x Enum) String() string { + switch x { + case Enum_ZERO: + return "Zero" + case Enum_ONE: + return "One" + case Enum_TWO: + return "Two" + case Enum_TEN: + return "Ten" + default: + return strconv.Itoa(int(x)) + } + +} + +func (Enum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_textpb3_test_proto_enumTypes[0].Descriptor() +} + +func (Enum) Type() protoreflect.EnumType { + return &file_internal_testprotos_textpb3_test_proto_enumTypes[0] +} + +func (x Enum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Enum.Descriptor instead. +func (Enum) EnumDescriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{0} +} + +type Enums_NestedEnum int32 + +const ( + Enums_CERO Enums_NestedEnum = 0 + Enums_UNO Enums_NestedEnum = 1 + Enums_DOS Enums_NestedEnum = 2 + Enums_DIEZ Enums_NestedEnum = 10 +) + +// Enum value maps for Enums_NestedEnum. +var ( + Enums_NestedEnum_name = map[int32]string{ + 0: "CERO", + 1: "UNO", + 2: "DOS", + 10: "DIEZ", + } + Enums_NestedEnum_value = map[string]int32{ + "CERO": 0, + "UNO": 1, + "DOS": 2, + "DIEZ": 10, + } +) + +func (x Enums_NestedEnum) Enum() *Enums_NestedEnum { + p := new(Enums_NestedEnum) + *p = x + return p +} + +func (x Enums_NestedEnum) String() string { + switch x { + case Enums_CERO: + return "EnumsCero" + case Enums_UNO: + return "EnumsUno" + case Enums_DOS: + return "EnumsDos" + case Enums_DIEZ: + return "EnumsDiez" + default: + return strconv.Itoa(int(x)) + } + +} + +func (Enums_NestedEnum) Descriptor() protoreflect.EnumDescriptor { + return file_internal_testprotos_textpb3_test_proto_enumTypes[1].Descriptor() +} + +func (Enums_NestedEnum) Type() protoreflect.EnumType { + return &file_internal_testprotos_textpb3_test_proto_enumTypes[1] +} + +func (x Enums_NestedEnum) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Enums_NestedEnum.Descriptor instead. +func (Enums_NestedEnum) EnumDescriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{3, 0} +} + +// Scalars contains scalar field types. +type Scalars struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SBool bool `protobuf:"varint,1,opt,name=s_bool,json=sBool,proto3" json:"s_bool,omitempty"` + SInt32 int32 `protobuf:"varint,2,opt,name=s_int32,json=sInt32,proto3" json:"s_int32,omitempty"` + SInt64 int64 `protobuf:"varint,3,opt,name=s_int64,json=sInt64,proto3" json:"s_int64,omitempty"` + SUint32 uint32 `protobuf:"varint,4,opt,name=s_uint32,json=sUint32,proto3" json:"s_uint32,omitempty"` + SUint64 uint64 `protobuf:"varint,5,opt,name=s_uint64,json=sUint64,proto3" json:"s_uint64,omitempty"` + SSint32 int32 `protobuf:"zigzag32,6,opt,name=s_sint32,json=sSint32,proto3" json:"s_sint32,omitempty"` + SSint64 int64 `protobuf:"zigzag64,7,opt,name=s_sint64,json=sSint64,proto3" json:"s_sint64,omitempty"` + SFixed32 uint32 `protobuf:"fixed32,8,opt,name=s_fixed32,json=sFixed32,proto3" json:"s_fixed32,omitempty"` + SFixed64 uint64 `protobuf:"fixed64,9,opt,name=s_fixed64,json=sFixed64,proto3" json:"s_fixed64,omitempty"` + SSfixed32 int32 `protobuf:"fixed32,10,opt,name=s_sfixed32,json=sSfixed32,proto3" json:"s_sfixed32,omitempty"` + SSfixed64 int64 `protobuf:"fixed64,11,opt,name=s_sfixed64,json=sSfixed64,proto3" json:"s_sfixed64,omitempty"` + SFloat float32 `protobuf:"fixed32,20,opt,name=s_float,json=sFloat,proto3" json:"s_float,omitempty"` + SDouble float64 `protobuf:"fixed64,21,opt,name=s_double,json=sDouble,proto3" json:"s_double,omitempty"` + SBytes []byte `protobuf:"bytes,14,opt,name=s_bytes,json=sBytes,proto3" json:"s_bytes,omitempty"` + SString string `protobuf:"bytes,13,opt,name=s_string,json=sString,proto3" json:"s_string,omitempty"` +} + +func (x *Scalars) Reset() { + *x = Scalars{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb3_test_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Scalars) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Scalars) ProtoMessage() {} + +func (x *Scalars) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb3_test_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 Scalars.ProtoReflect.Descriptor instead. +func (*Scalars) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{0} +} + +func (x *Scalars) GetSBool() bool { + if x != nil { + return x.SBool + } + return false +} + +func (x *Scalars) GetSInt32() int32 { + if x != nil { + return x.SInt32 + } + return 0 +} + +func (x *Scalars) GetSInt64() int64 { + if x != nil { + return x.SInt64 + } + return 0 +} + +func (x *Scalars) GetSUint32() uint32 { + if x != nil { + return x.SUint32 + } + return 0 +} + +func (x *Scalars) GetSUint64() uint64 { + if x != nil { + return x.SUint64 + } + return 0 +} + +func (x *Scalars) GetSSint32() int32 { + if x != nil { + return x.SSint32 + } + return 0 +} + +func (x *Scalars) GetSSint64() int64 { + if x != nil { + return x.SSint64 + } + return 0 +} + +func (x *Scalars) GetSFixed32() uint32 { + if x != nil { + return x.SFixed32 + } + return 0 +} + +func (x *Scalars) GetSFixed64() uint64 { + if x != nil { + return x.SFixed64 + } + return 0 +} + +func (x *Scalars) GetSSfixed32() int32 { + if x != nil { + return x.SSfixed32 + } + return 0 +} + +func (x *Scalars) GetSSfixed64() int64 { + if x != nil { + return x.SSfixed64 + } + return 0 +} + +func (x *Scalars) GetSFloat() float32 { + if x != nil { + return x.SFloat + } + return 0 +} + +func (x *Scalars) GetSDouble() float64 { + if x != nil { + return x.SDouble + } + return 0 +} + +func (x *Scalars) GetSBytes() []byte { + if x != nil { + return x.SBytes + } + return nil +} + +func (x *Scalars) GetSString() string { + if x != nil { + return x.SString + } + return "" +} + +// Message contains repeated fields. +type Repeats struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RptBool []bool `protobuf:"varint,1,rep,packed,name=rpt_bool,json=rptBool,proto3" json:"rpt_bool,omitempty"` + RptInt32 []int32 `protobuf:"varint,2,rep,packed,name=rpt_int32,json=rptInt32,proto3" json:"rpt_int32,omitempty"` + RptInt64 []int64 `protobuf:"varint,3,rep,packed,name=rpt_int64,json=rptInt64,proto3" json:"rpt_int64,omitempty"` + RptUint32 []uint32 `protobuf:"varint,4,rep,packed,name=rpt_uint32,json=rptUint32,proto3" json:"rpt_uint32,omitempty"` + RptUint64 []uint64 `protobuf:"varint,5,rep,packed,name=rpt_uint64,json=rptUint64,proto3" json:"rpt_uint64,omitempty"` + RptFloat []float32 `protobuf:"fixed32,6,rep,packed,name=rpt_float,json=rptFloat,proto3" json:"rpt_float,omitempty"` + RptDouble []float64 `protobuf:"fixed64,7,rep,packed,name=rpt_double,json=rptDouble,proto3" json:"rpt_double,omitempty"` + RptString []string `protobuf:"bytes,8,rep,name=rpt_string,json=rptString,proto3" json:"rpt_string,omitempty"` + RptBytes [][]byte `protobuf:"bytes,9,rep,name=rpt_bytes,json=rptBytes,proto3" json:"rpt_bytes,omitempty"` +} + +func (x *Repeats) Reset() { + *x = Repeats{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb3_test_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Repeats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Repeats) ProtoMessage() {} + +func (x *Repeats) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb3_test_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 Repeats.ProtoReflect.Descriptor instead. +func (*Repeats) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{1} +} + +func (x *Repeats) GetRptBool() []bool { + if x != nil { + return x.RptBool + } + return nil +} + +func (x *Repeats) GetRptInt32() []int32 { + if x != nil { + return x.RptInt32 + } + return nil +} + +func (x *Repeats) GetRptInt64() []int64 { + if x != nil { + return x.RptInt64 + } + return nil +} + +func (x *Repeats) GetRptUint32() []uint32 { + if x != nil { + return x.RptUint32 + } + return nil +} + +func (x *Repeats) GetRptUint64() []uint64 { + if x != nil { + return x.RptUint64 + } + return nil +} + +func (x *Repeats) GetRptFloat() []float32 { + if x != nil { + return x.RptFloat + } + return nil +} + +func (x *Repeats) GetRptDouble() []float64 { + if x != nil { + return x.RptDouble + } + return nil +} + +func (x *Repeats) GetRptString() []string { + if x != nil { + return x.RptString + } + return nil +} + +func (x *Repeats) GetRptBytes() [][]byte { + if x != nil { + return x.RptBytes + } + return nil +} + +type Proto3Optional struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + OptBool *bool `protobuf:"varint,1,opt,name=opt_bool,json=optBool,proto3,oneof" json:"opt_bool,omitempty"` + OptInt32 *int32 `protobuf:"varint,2,opt,name=opt_int32,json=optInt32,proto3,oneof" json:"opt_int32,omitempty"` + OptInt64 *int64 `protobuf:"varint,3,opt,name=opt_int64,json=optInt64,proto3,oneof" json:"opt_int64,omitempty"` + OptUint32 *uint32 `protobuf:"varint,4,opt,name=opt_uint32,json=optUint32,proto3,oneof" json:"opt_uint32,omitempty"` + OptUint64 *uint64 `protobuf:"varint,5,opt,name=opt_uint64,json=optUint64,proto3,oneof" json:"opt_uint64,omitempty"` + OptFloat *float32 `protobuf:"fixed32,6,opt,name=opt_float,json=optFloat,proto3,oneof" json:"opt_float,omitempty"` + OptDouble *float64 `protobuf:"fixed64,7,opt,name=opt_double,json=optDouble,proto3,oneof" json:"opt_double,omitempty"` + OptString *string `protobuf:"bytes,8,opt,name=opt_string,json=optString,proto3,oneof" json:"opt_string,omitempty"` + OptBytes []byte `protobuf:"bytes,9,opt,name=opt_bytes,json=optBytes,proto3,oneof" json:"opt_bytes,omitempty"` + OptEnum *Enum `protobuf:"varint,10,opt,name=opt_enum,json=optEnum,proto3,enum=pb3.Enum,oneof" json:"opt_enum,omitempty"` + OptMessage *Nested `protobuf:"bytes,11,opt,name=opt_message,json=optMessage,proto3,oneof" json:"opt_message,omitempty"` +} + +func (x *Proto3Optional) Reset() { + *x = Proto3Optional{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb3_test_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Proto3Optional) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Proto3Optional) ProtoMessage() {} + +func (x *Proto3Optional) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb3_test_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 Proto3Optional.ProtoReflect.Descriptor instead. +func (*Proto3Optional) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{2} +} + +func (x *Proto3Optional) GetOptBool() bool { + if x != nil && x.OptBool != nil { + return *x.OptBool + } + return false +} + +func (x *Proto3Optional) GetOptInt32() int32 { + if x != nil && x.OptInt32 != nil { + return *x.OptInt32 + } + return 0 +} + +func (x *Proto3Optional) GetOptInt64() int64 { + if x != nil && x.OptInt64 != nil { + return *x.OptInt64 + } + return 0 +} + +func (x *Proto3Optional) GetOptUint32() uint32 { + if x != nil && x.OptUint32 != nil { + return *x.OptUint32 + } + return 0 +} + +func (x *Proto3Optional) GetOptUint64() uint64 { + if x != nil && x.OptUint64 != nil { + return *x.OptUint64 + } + return 0 +} + +func (x *Proto3Optional) GetOptFloat() float32 { + if x != nil && x.OptFloat != nil { + return *x.OptFloat + } + return 0 +} + +func (x *Proto3Optional) GetOptDouble() float64 { + if x != nil && x.OptDouble != nil { + return *x.OptDouble + } + return 0 +} + +func (x *Proto3Optional) GetOptString() string { + if x != nil && x.OptString != nil { + return *x.OptString + } + return "" +} + +func (x *Proto3Optional) GetOptBytes() []byte { + if x != nil { + return x.OptBytes + } + return nil +} + +func (x *Proto3Optional) GetOptEnum() Enum { + if x != nil && x.OptEnum != nil { + return *x.OptEnum + } + return Enum_ZERO +} + +func (x *Proto3Optional) GetOptMessage() *Nested { + if x != nil { + return x.OptMessage + } + return nil +} + +// Message contains enum fields. +type Enums struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SEnum Enum `protobuf:"varint,1,opt,name=s_enum,json=sEnum,proto3,enum=pb3.Enum" json:"s_enum,omitempty"` + SNestedEnum Enums_NestedEnum `protobuf:"varint,3,opt,name=s_nested_enum,json=sNestedEnum,proto3,enum=pb3.Enums_NestedEnum" json:"s_nested_enum,omitempty"` +} + +func (x *Enums) Reset() { + *x = Enums{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb3_test_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Enums) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Enums) ProtoMessage() {} + +func (x *Enums) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb3_test_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 Enums.ProtoReflect.Descriptor instead. +func (*Enums) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{3} +} + +func (x *Enums) GetSEnum() Enum { + if x != nil { + return x.SEnum + } + return Enum_ZERO +} + +func (x *Enums) GetSNestedEnum() Enums_NestedEnum { + if x != nil { + return x.SNestedEnum + } + return Enums_CERO +} + +// Message contains nested message field. +type Nests struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SNested *Nested `protobuf:"bytes,2,opt,name=s_nested,json=sNested,proto3" json:"s_nested,omitempty"` +} + +func (x *Nests) Reset() { + *x = Nests{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb3_test_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Nests) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nests) ProtoMessage() {} + +func (x *Nests) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb3_test_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 Nests.ProtoReflect.Descriptor instead. +func (*Nests) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{4} +} + +func (x *Nests) GetSNested() *Nested { + if x != nil { + return x.SNested + } + return nil +} + +// Message type used as submessage. +type Nested struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SString string `protobuf:"bytes,1,opt,name=s_string,json=sString,proto3" json:"s_string,omitempty"` + SNested *Nested `protobuf:"bytes,2,opt,name=s_nested,json=sNested,proto3" json:"s_nested,omitempty"` +} + +func (x *Nested) Reset() { + *x = Nested{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb3_test_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Nested) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Nested) ProtoMessage() {} + +func (x *Nested) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb3_test_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 Nested.ProtoReflect.Descriptor instead. +func (*Nested) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{5} +} + +func (x *Nested) GetSString() string { + if x != nil { + return x.SString + } + return "" +} + +func (x *Nested) GetSNested() *Nested { + if x != nil { + return x.SNested + } + return nil +} + +// Message contains oneof field. +type Oneofs struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + // Types that are assignable to Union: + // + // *Oneofs_OneofEnum + // *Oneofs_OneofString + // *Oneofs_OneofNested + Union isOneofs_Union `protobuf_oneof:"union"` +} + +func (x *Oneofs) Reset() { + *x = Oneofs{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb3_test_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Oneofs) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Oneofs) ProtoMessage() {} + +func (x *Oneofs) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb3_test_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 Oneofs.ProtoReflect.Descriptor instead. +func (*Oneofs) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{6} +} + +func (m *Oneofs) GetUnion() isOneofs_Union { + if m != nil { + return m.Union + } + return nil +} + +func (x *Oneofs) GetOneofEnum() Enum { + if x, ok := x.GetUnion().(*Oneofs_OneofEnum); ok { + return x.OneofEnum + } + return Enum_ZERO +} + +func (x *Oneofs) GetOneofString() string { + if x, ok := x.GetUnion().(*Oneofs_OneofString); ok { + return x.OneofString + } + return "" +} + +func (x *Oneofs) GetOneofNested() *Nested { + if x, ok := x.GetUnion().(*Oneofs_OneofNested); ok { + return x.OneofNested + } + return nil +} + +type isOneofs_Union interface { + isOneofs_Union() +} + +type Oneofs_OneofEnum struct { + OneofEnum Enum `protobuf:"varint,1,opt,name=oneof_enum,json=oneofEnum,proto3,enum=pb3.Enum,oneof"` +} + +type Oneofs_OneofString struct { + OneofString string `protobuf:"bytes,2,opt,name=oneof_string,json=oneofString,proto3,oneof"` +} + +type Oneofs_OneofNested struct { + OneofNested *Nested `protobuf:"bytes,3,opt,name=oneof_nested,json=oneofNested,proto3,oneof"` +} + +func (*Oneofs_OneofEnum) isOneofs_Union() {} + +func (*Oneofs_OneofString) isOneofs_Union() {} + +func (*Oneofs_OneofNested) isOneofs_Union() {} + +// Message contains map fields. +type Maps struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Int32ToStr map[int32]string `protobuf:"bytes,1,rep,name=int32_to_str,json=int32ToStr,proto3" json:"int32_to_str,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + BoolToUint32 map[bool]uint32 `protobuf:"bytes,2,rep,name=bool_to_uint32,json=boolToUint32,proto3" json:"bool_to_uint32,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3"` + Uint64ToEnum map[uint64]Enum `protobuf:"bytes,3,rep,name=uint64_to_enum,json=uint64ToEnum,proto3" json:"uint64_to_enum,omitempty" protobuf_key:"varint,1,opt,name=key,proto3" protobuf_val:"varint,2,opt,name=value,proto3,enum=pb3.Enum"` + StrToNested map[string]*Nested `protobuf:"bytes,4,rep,name=str_to_nested,json=strToNested,proto3" json:"str_to_nested,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + StrToOneofs map[string]*Oneofs `protobuf:"bytes,5,rep,name=str_to_oneofs,json=strToOneofs,proto3" json:"str_to_oneofs,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` +} + +func (x *Maps) Reset() { + *x = Maps{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb3_test_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Maps) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Maps) ProtoMessage() {} + +func (x *Maps) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb3_test_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 Maps.ProtoReflect.Descriptor instead. +func (*Maps) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{7} +} + +func (x *Maps) GetInt32ToStr() map[int32]string { + if x != nil { + return x.Int32ToStr + } + return nil +} + +func (x *Maps) GetBoolToUint32() map[bool]uint32 { + if x != nil { + return x.BoolToUint32 + } + return nil +} + +func (x *Maps) GetUint64ToEnum() map[uint64]Enum { + if x != nil { + return x.Uint64ToEnum + } + return nil +} + +func (x *Maps) GetStrToNested() map[string]*Nested { + if x != nil { + return x.StrToNested + } + return nil +} + +func (x *Maps) GetStrToOneofs() map[string]*Oneofs { + if x != nil { + return x.StrToOneofs + } + return nil +} + +// Message for testing json_name option. +type JSONNames struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + SString string `protobuf:"bytes,1,opt,name=s_string,json=foo_bar,proto3" json:"s_string,omitempty"` +} + +func (x *JSONNames) Reset() { + *x = JSONNames{} + if protoimpl.UnsafeEnabled { + mi := &file_internal_testprotos_textpb3_test_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *JSONNames) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*JSONNames) ProtoMessage() {} + +func (x *JSONNames) ProtoReflect() protoreflect.Message { + mi := &file_internal_testprotos_textpb3_test_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 JSONNames.ProtoReflect.Descriptor instead. +func (*JSONNames) Descriptor() ([]byte, []int) { + return file_internal_testprotos_textpb3_test_proto_rawDescGZIP(), []int{8} +} + +func (x *JSONNames) GetSString() string { + if x != nil { + return x.SString + } + return "" +} + +var File_internal_testprotos_textpb3_test_proto protoreflect.FileDescriptor + +var file_internal_testprotos_textpb3_test_proto_rawDesc = []byte{ + 0x0a, 0x26, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x33, 0x2f, 0x74, 0x65, + 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x03, 0x70, 0x62, 0x33, 0x22, 0x9e, 0x03, + 0x0a, 0x07, 0x53, 0x63, 0x61, 0x6c, 0x61, 0x72, 0x73, 0x12, 0x15, 0x0a, 0x06, 0x73, 0x5f, 0x62, + 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x73, 0x42, 0x6f, 0x6f, 0x6c, + 0x12, 0x17, 0x0a, 0x07, 0x73, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x06, 0x73, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x5f, 0x69, + 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x06, 0x73, 0x49, 0x6e, 0x74, + 0x36, 0x34, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x73, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x19, 0x0a, + 0x08, 0x73, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x01, 0x28, 0x04, 0x52, + 0x07, 0x73, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x18, 0x06, 0x20, 0x01, 0x28, 0x11, 0x52, 0x07, 0x73, 0x53, 0x69, 0x6e, + 0x74, 0x33, 0x32, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x12, 0x52, 0x07, 0x73, 0x53, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1b, + 0x0a, 0x09, 0x73, 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x08, 0x20, 0x01, 0x28, + 0x07, 0x52, 0x08, 0x73, 0x46, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x73, + 0x5f, 0x66, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x09, 0x20, 0x01, 0x28, 0x06, 0x52, 0x08, + 0x73, 0x46, 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x5f, 0x73, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0f, 0x52, 0x09, 0x73, 0x53, + 0x66, 0x69, 0x78, 0x65, 0x64, 0x33, 0x32, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x5f, 0x73, 0x66, 0x69, + 0x78, 0x65, 0x64, 0x36, 0x34, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x10, 0x52, 0x09, 0x73, 0x53, 0x66, + 0x69, 0x78, 0x65, 0x64, 0x36, 0x34, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x73, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, + 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, + 0x01, 0x52, 0x07, 0x73, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x07, 0x73, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, + 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x22, 0x94, + 0x02, 0x0a, 0x07, 0x52, 0x65, 0x70, 0x65, 0x61, 0x74, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x72, 0x70, + 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x03, 0x28, 0x08, 0x52, 0x07, 0x72, 0x70, + 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x18, 0x02, 0x20, 0x03, 0x28, 0x05, 0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, + 0x33, 0x32, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x03, 0x52, 0x08, 0x72, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x12, + 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, + 0x03, 0x28, 0x0d, 0x52, 0x09, 0x72, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x1d, + 0x0a, 0x0a, 0x72, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, 0x20, 0x03, + 0x28, 0x04, 0x52, 0x09, 0x72, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x12, 0x1b, 0x0a, + 0x09, 0x72, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, 0x74, 0x18, 0x06, 0x20, 0x03, 0x28, 0x02, + 0x52, 0x08, 0x72, 0x70, 0x74, 0x46, 0x6c, 0x6f, 0x61, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, + 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x03, 0x28, 0x01, 0x52, 0x09, + 0x72, 0x70, 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x70, 0x74, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 0x09, 0x72, + 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x72, 0x70, 0x74, 0x5f, + 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x70, 0x74, + 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xc4, 0x04, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, + 0x62, 0x6f, 0x6f, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x07, 0x6f, 0x70, + 0x74, 0x42, 0x6f, 0x6f, 0x6c, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x6f, + 0x70, 0x74, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6f, 0x70, + 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, + 0x08, 0x6f, 0x70, 0x74, 0x49, 0x6e, 0x74, 0x36, 0x34, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, + 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0d, + 0x48, 0x03, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x88, 0x01, 0x01, + 0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x04, 0x48, 0x04, 0x52, 0x09, 0x6f, 0x70, 0x74, 0x55, 0x69, 0x6e, 0x74, 0x36, + 0x34, 0x88, 0x01, 0x01, 0x12, 0x20, 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, 0x6f, 0x61, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x48, 0x05, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x46, 0x6c, + 0x6f, 0x61, 0x74, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f, + 0x75, 0x62, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x01, 0x48, 0x06, 0x52, 0x09, 0x6f, 0x70, + 0x74, 0x44, 0x6f, 0x75, 0x62, 0x6c, 0x65, 0x88, 0x01, 0x01, 0x12, 0x22, 0x0a, 0x0a, 0x6f, 0x70, + 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x48, 0x07, + 0x52, 0x09, 0x6f, 0x70, 0x74, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x20, + 0x0a, 0x09, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x0c, 0x48, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x42, 0x79, 0x74, 0x65, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x29, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, 0x09, 0x52, + 0x07, 0x6f, 0x70, 0x74, 0x45, 0x6e, 0x75, 0x6d, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x0b, 0x6f, + 0x70, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x48, 0x0a, 0x52, + 0x0a, 0x6f, 0x70, 0x74, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x88, 0x01, 0x01, 0x42, 0x0b, + 0x0a, 0x09, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x6f, 0x6f, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, + 0x6f, 0x70, 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x70, + 0x74, 0x5f, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x70, 0x74, 0x5f, + 0x75, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x75, + 0x69, 0x6e, 0x74, 0x36, 0x34, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x66, 0x6c, + 0x6f, 0x61, 0x74, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x64, 0x6f, 0x75, 0x62, + 0x6c, 0x65, 0x42, 0x0d, 0x0a, 0x0b, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x42, 0x0e, 0x0a, 0x0c, + 0x5f, 0x6f, 0x70, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x98, 0x01, 0x0a, + 0x05, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x12, 0x20, 0x0a, 0x06, 0x73, 0x5f, 0x65, 0x6e, 0x75, 0x6d, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, + 0x6d, 0x52, 0x05, 0x73, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x39, 0x0a, 0x0d, 0x73, 0x5f, 0x6e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x15, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x73, 0x2e, 0x4e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x0b, 0x73, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, + 0x6e, 0x75, 0x6d, 0x22, 0x32, 0x0a, 0x0a, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x75, + 0x6d, 0x12, 0x08, 0x0a, 0x04, 0x43, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x55, + 0x4e, 0x4f, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x4f, 0x53, 0x10, 0x02, 0x12, 0x08, 0x0a, + 0x04, 0x44, 0x49, 0x45, 0x5a, 0x10, 0x0a, 0x22, 0x2f, 0x0a, 0x05, 0x4e, 0x65, 0x73, 0x74, 0x73, + 0x12, 0x26, 0x0a, 0x08, 0x73, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, + 0x07, 0x73, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x4b, 0x0a, 0x06, 0x4e, 0x65, 0x73, 0x74, + 0x65, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x26, 0x0a, + 0x08, 0x73, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x07, 0x73, 0x4e, + 0x65, 0x73, 0x74, 0x65, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x06, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, + 0x12, 0x2a, 0x0a, 0x0a, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x48, + 0x00, 0x52, 0x09, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x23, 0x0a, 0x0c, + 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x53, 0x74, 0x72, 0x69, 0x6e, + 0x67, 0x12, 0x30, 0x0a, 0x0c, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, + 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4e, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x48, 0x00, 0x52, 0x0b, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x75, 0x6e, 0x69, 0x6f, 0x6e, 0x22, 0xaf, 0x05, 0x0a, + 0x04, 0x4d, 0x61, 0x70, 0x73, 0x12, 0x3b, 0x0a, 0x0c, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x5f, 0x74, + 0x6f, 0x5f, 0x73, 0x74, 0x72, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x70, 0x62, + 0x33, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x49, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, 0x74, + 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x54, 0x6f, 0x53, + 0x74, 0x72, 0x12, 0x41, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x6c, 0x5f, 0x74, 0x6f, 0x5f, 0x75, 0x69, + 0x6e, 0x74, 0x33, 0x32, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x70, 0x62, 0x33, + 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x54, 0x6f, 0x55, 0x69, 0x6e, 0x74, + 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x6c, 0x54, 0x6f, 0x55, + 0x69, 0x6e, 0x74, 0x33, 0x32, 0x12, 0x41, 0x0a, 0x0e, 0x75, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x5f, + 0x74, 0x6f, 0x5f, 0x65, 0x6e, 0x75, 0x6d, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1b, 0x2e, + 0x70, 0x62, 0x33, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x55, 0x69, 0x6e, 0x74, 0x36, 0x34, 0x54, + 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0c, 0x75, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x54, 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, + 0x74, 0x6f, 0x5f, 0x6e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, + 0x54, 0x6f, 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x0d, 0x73, 0x74, 0x72, 0x5f, + 0x74, 0x6f, 0x5f, 0x6f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4d, 0x61, 0x70, 0x73, 0x2e, 0x53, 0x74, 0x72, 0x54, 0x6f, + 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0b, 0x73, 0x74, 0x72, + 0x54, 0x6f, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, 0x1a, 0x3d, 0x0a, 0x0f, 0x49, 0x6e, 0x74, 0x33, + 0x32, 0x54, 0x6f, 0x53, 0x74, 0x72, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, + 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, + 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3f, 0x0a, 0x11, 0x42, 0x6f, 0x6f, 0x6c, 0x54, + 0x6f, 0x55, 0x69, 0x6e, 0x74, 0x33, 0x32, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4a, 0x0a, 0x11, 0x55, 0x69, 0x6e, 0x74, + 0x36, 0x34, 0x54, 0x6f, 0x45, 0x6e, 0x75, 0x6d, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x04, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x1f, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x09, + 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x45, 0x6e, 0x75, 0x6d, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x4b, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4e, 0x65, 0x73, + 0x74, 0x65, 0x64, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, + 0x4e, 0x65, 0x73, 0x74, 0x65, 0x64, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x1a, 0x4b, 0x0a, 0x10, 0x53, 0x74, 0x72, 0x54, 0x6f, 0x4f, 0x6e, 0x65, 0x6f, 0x66, 0x73, + 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x21, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0b, 0x2e, 0x70, 0x62, 0x33, 0x2e, 0x4f, 0x6e, 0x65, + 0x6f, 0x66, 0x73, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x26, + 0x0a, 0x09, 0x4a, 0x53, 0x4f, 0x4e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, + 0x5f, 0x73, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x66, + 0x6f, 0x6f, 0x5f, 0x62, 0x61, 0x72, 0x2a, 0x2b, 0x0a, 0x04, 0x45, 0x6e, 0x75, 0x6d, 0x12, 0x08, + 0x0a, 0x04, 0x5a, 0x45, 0x52, 0x4f, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x4f, 0x4e, 0x45, 0x10, + 0x01, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x57, 0x4f, 0x10, 0x02, 0x12, 0x07, 0x0a, 0x03, 0x54, 0x45, + 0x4e, 0x10, 0x0a, 0x42, 0x38, 0x5a, 0x36, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, + 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x73, 0x2f, 0x74, 0x65, 0x78, 0x74, 0x70, 0x62, 0x33, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_internal_testprotos_textpb3_test_proto_rawDescOnce sync.Once + file_internal_testprotos_textpb3_test_proto_rawDescData = file_internal_testprotos_textpb3_test_proto_rawDesc +) + +func file_internal_testprotos_textpb3_test_proto_rawDescGZIP() []byte { + file_internal_testprotos_textpb3_test_proto_rawDescOnce.Do(func() { + file_internal_testprotos_textpb3_test_proto_rawDescData = protoimpl.X.CompressGZIP(file_internal_testprotos_textpb3_test_proto_rawDescData) + }) + return file_internal_testprotos_textpb3_test_proto_rawDescData +} + +var file_internal_testprotos_textpb3_test_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_internal_testprotos_textpb3_test_proto_msgTypes = make([]protoimpl.MessageInfo, 14) +var file_internal_testprotos_textpb3_test_proto_goTypes = []interface{}{ + (Enum)(0), // 0: pb3.Enum + (Enums_NestedEnum)(0), // 1: pb3.Enums.NestedEnum + (*Scalars)(nil), // 2: pb3.Scalars + (*Repeats)(nil), // 3: pb3.Repeats + (*Proto3Optional)(nil), // 4: pb3.Proto3Optional + (*Enums)(nil), // 5: pb3.Enums + (*Nests)(nil), // 6: pb3.Nests + (*Nested)(nil), // 7: pb3.Nested + (*Oneofs)(nil), // 8: pb3.Oneofs + (*Maps)(nil), // 9: pb3.Maps + (*JSONNames)(nil), // 10: pb3.JSONNames + nil, // 11: pb3.Maps.Int32ToStrEntry + nil, // 12: pb3.Maps.BoolToUint32Entry + nil, // 13: pb3.Maps.Uint64ToEnumEntry + nil, // 14: pb3.Maps.StrToNestedEntry + nil, // 15: pb3.Maps.StrToOneofsEntry +} +var file_internal_testprotos_textpb3_test_proto_depIdxs = []int32{ + 0, // 0: pb3.Proto3Optional.opt_enum:type_name -> pb3.Enum + 7, // 1: pb3.Proto3Optional.opt_message:type_name -> pb3.Nested + 0, // 2: pb3.Enums.s_enum:type_name -> pb3.Enum + 1, // 3: pb3.Enums.s_nested_enum:type_name -> pb3.Enums.NestedEnum + 7, // 4: pb3.Nests.s_nested:type_name -> pb3.Nested + 7, // 5: pb3.Nested.s_nested:type_name -> pb3.Nested + 0, // 6: pb3.Oneofs.oneof_enum:type_name -> pb3.Enum + 7, // 7: pb3.Oneofs.oneof_nested:type_name -> pb3.Nested + 11, // 8: pb3.Maps.int32_to_str:type_name -> pb3.Maps.Int32ToStrEntry + 12, // 9: pb3.Maps.bool_to_uint32:type_name -> pb3.Maps.BoolToUint32Entry + 13, // 10: pb3.Maps.uint64_to_enum:type_name -> pb3.Maps.Uint64ToEnumEntry + 14, // 11: pb3.Maps.str_to_nested:type_name -> pb3.Maps.StrToNestedEntry + 15, // 12: pb3.Maps.str_to_oneofs:type_name -> pb3.Maps.StrToOneofsEntry + 0, // 13: pb3.Maps.Uint64ToEnumEntry.value:type_name -> pb3.Enum + 7, // 14: pb3.Maps.StrToNestedEntry.value:type_name -> pb3.Nested + 8, // 15: pb3.Maps.StrToOneofsEntry.value:type_name -> pb3.Oneofs + 16, // [16:16] is the sub-list for method output_type + 16, // [16:16] is the sub-list for method input_type + 16, // [16:16] is the sub-list for extension type_name + 16, // [16:16] is the sub-list for extension extendee + 0, // [0:16] is the sub-list for field type_name +} + +func init() { file_internal_testprotos_textpb3_test_proto_init() } +func file_internal_testprotos_textpb3_test_proto_init() { + if File_internal_testprotos_textpb3_test_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_internal_testprotos_textpb3_test_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Scalars); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb3_test_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Repeats); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb3_test_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Proto3Optional); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb3_test_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Enums); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb3_test_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Nests); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb3_test_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Nested); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb3_test_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Oneofs); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb3_test_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Maps); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_internal_testprotos_textpb3_test_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*JSONNames); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_internal_testprotos_textpb3_test_proto_msgTypes[2].OneofWrappers = []interface{}{} + file_internal_testprotos_textpb3_test_proto_msgTypes[6].OneofWrappers = []interface{}{ + (*Oneofs_OneofEnum)(nil), + (*Oneofs_OneofString)(nil), + (*Oneofs_OneofNested)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_internal_testprotos_textpb3_test_proto_rawDesc, + NumEnums: 2, + NumMessages: 14, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_internal_testprotos_textpb3_test_proto_goTypes, + DependencyIndexes: file_internal_testprotos_textpb3_test_proto_depIdxs, + EnumInfos: file_internal_testprotos_textpb3_test_proto_enumTypes, + MessageInfos: file_internal_testprotos_textpb3_test_proto_msgTypes, + }.Build() + File_internal_testprotos_textpb3_test_proto = out.File + file_internal_testprotos_textpb3_test_proto_rawDesc = nil + file_internal_testprotos_textpb3_test_proto_goTypes = nil + file_internal_testprotos_textpb3_test_proto_depIdxs = nil +} diff --git a/api_next/internal/protojson/testprotos/textpb3/test.proto b/api_next/internal/protojson/testprotos/textpb3/test.proto new file mode 100644 index 00000000..8b1c7db5 --- /dev/null +++ b/api_next/internal/protojson/testprotos/textpb3/test.proto @@ -0,0 +1,115 @@ +// Copyright 2018 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Test Protobuf definitions with proto3 syntax. +syntax = "proto3"; + +package pb3; +option go_package = "google.golang.org/protobuf/internal/testprotos/textpb3"; + +// Scalars contains scalar field types. +message Scalars { + bool s_bool = 1; + int32 s_int32 = 2; + int64 s_int64 = 3; + uint32 s_uint32 = 4; + uint64 s_uint64 = 5; + sint32 s_sint32 = 6; + sint64 s_sint64 = 7; + fixed32 s_fixed32 = 8; + fixed64 s_fixed64 = 9; + sfixed32 s_sfixed32 = 10; + sfixed64 s_sfixed64 = 11; + + // Textproto marshal outputs fields in the same order as this proto + // definition regardless of field number. Following fields are intended to + // test that assumption. + + float s_float = 20; + double s_double = 21; + + bytes s_bytes = 14; + string s_string = 13; +} + +// Message contains repeated fields. +message Repeats { + repeated bool rpt_bool = 1; + repeated int32 rpt_int32 = 2; + repeated int64 rpt_int64 = 3; + repeated uint32 rpt_uint32 = 4; + repeated uint64 rpt_uint64 = 5; + repeated float rpt_float = 6; + repeated double rpt_double = 7; + repeated string rpt_string = 8; + repeated bytes rpt_bytes = 9; +} + +message Proto3Optional { + optional bool opt_bool = 1; + optional int32 opt_int32 = 2; + optional int64 opt_int64 = 3; + optional uint32 opt_uint32 = 4; + optional uint64 opt_uint64 = 5; + optional float opt_float = 6; + optional double opt_double = 7; + optional string opt_string = 8; + optional bytes opt_bytes = 9; + optional Enum opt_enum = 10; + optional Nested opt_message = 11; +} + +enum Enum { + ZERO = 0; + ONE = 1; + TWO = 2; + TEN = 10; +} + +// Message contains enum fields. +message Enums { + Enum s_enum = 1; + + enum NestedEnum { + CERO = 0; + UNO = 1; + DOS = 2; + DIEZ = 10; + } + NestedEnum s_nested_enum = 3; +} + +// Message contains nested message field. +message Nests { + Nested s_nested = 2; +} + +// Message type used as submessage. +message Nested { + string s_string = 1; + Nested s_nested = 2; +} + +// Message contains oneof field. +message Oneofs { + oneof union { + Enum oneof_enum = 1; + string oneof_string = 2; + Nested oneof_nested = 3; + } +} + +// Message contains map fields. +message Maps { + map int32_to_str = 1; + map bool_to_uint32 = 2; + map uint64_to_enum = 3; + map str_to_nested = 4; + map str_to_oneofs = 5; +} + +// Message for testing json_name option. +message JSONNames { + string s_string = 1 [json_name = "foo_bar"]; +} diff --git a/api_next/internal/protojson/well_known_types.go b/api_next/internal/protojson/well_known_types.go new file mode 100644 index 00000000..894630b2 --- /dev/null +++ b/api_next/internal/protojson/well_known_types.go @@ -0,0 +1,877 @@ +// Copyright 2019 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package protojson + +import ( + "bytes" + "fmt" + "math" + "strconv" + "strings" + "time" + + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/reflect/protoreflect" + + "go.temporal.io/api/internal/protojson/errors" + "go.temporal.io/api/internal/protojson/genid" + "go.temporal.io/api/internal/protojson/json" + "go.temporal.io/api/internal/protojson/strs" +) + +type marshalFunc func(encoder, protoreflect.Message) error + +// wellKnownTypeMarshaler returns a marshal function if the message type +// has specialized serialization behavior. It returns nil otherwise. +func wellKnownTypeMarshaler(name protoreflect.FullName) marshalFunc { + if name.Parent() == genid.GoogleProtobuf_package { + switch name.Name() { + case genid.Any_message_name: + return encoder.marshalAny + case genid.Timestamp_message_name: + return encoder.marshalTimestamp + case genid.Duration_message_name: + return encoder.marshalDuration + case genid.BoolValue_message_name, + genid.Int32Value_message_name, + genid.Int64Value_message_name, + genid.UInt32Value_message_name, + genid.UInt64Value_message_name, + genid.FloatValue_message_name, + genid.DoubleValue_message_name, + genid.StringValue_message_name, + genid.BytesValue_message_name: + return encoder.marshalWrapperType + case genid.Struct_message_name: + return encoder.marshalStruct + case genid.ListValue_message_name: + return encoder.marshalListValue + case genid.Value_message_name: + return encoder.marshalKnownValue + case genid.FieldMask_message_name: + return encoder.marshalFieldMask + case genid.Empty_message_name: + return encoder.marshalEmpty + } + } + return nil +} + +type unmarshalFunc func(decoder, protoreflect.Message) error + +// wellKnownTypeUnmarshaler returns a unmarshal function if the message type +// has specialized serialization behavior. It returns nil otherwise. +func wellKnownTypeUnmarshaler(name protoreflect.FullName) unmarshalFunc { + if name.Parent() == genid.GoogleProtobuf_package { + switch name.Name() { + case genid.Any_message_name: + return decoder.unmarshalAny + case genid.Timestamp_message_name: + return decoder.unmarshalTimestamp + case genid.Duration_message_name: + return decoder.unmarshalDuration + case genid.BoolValue_message_name, + genid.Int32Value_message_name, + genid.Int64Value_message_name, + genid.UInt32Value_message_name, + genid.UInt64Value_message_name, + genid.FloatValue_message_name, + genid.DoubleValue_message_name, + genid.StringValue_message_name, + genid.BytesValue_message_name: + return decoder.unmarshalWrapperType + case genid.Struct_message_name: + return decoder.unmarshalStruct + case genid.ListValue_message_name: + return decoder.unmarshalListValue + case genid.Value_message_name: + return decoder.unmarshalKnownValue + case genid.FieldMask_message_name: + return decoder.unmarshalFieldMask + case genid.Empty_message_name: + return decoder.unmarshalEmpty + } + } + return nil +} + +// The JSON representation of an Any message uses the regular representation of +// the deserialized, embedded message, with an additional field `@type` which +// contains the type URL. If the embedded message type is well-known and has a +// custom JSON representation, that representation will be embedded adding a +// field `value` which holds the custom JSON in addition to the `@type` field. + +func (e encoder) marshalAny(m protoreflect.Message) error { + fds := m.Descriptor().Fields() + fdType := fds.ByNumber(genid.Any_TypeUrl_field_number) + fdValue := fds.ByNumber(genid.Any_Value_field_number) + + if !m.Has(fdType) { + if !m.Has(fdValue) { + // If message is empty, marshal out empty JSON object. + e.StartObject() + e.EndObject() + return nil + } else { + // Return error if type_url field is not set, but value is set. + return errors.New("%s: %v is not set", genid.Any_message_fullname, genid.Any_TypeUrl_field_name) + } + } + + typeVal := m.Get(fdType) + valueVal := m.Get(fdValue) + + // Resolve the type in order to unmarshal value field. + typeURL := typeVal.String() + emt, err := e.opts.Resolver.FindMessageByURL(typeURL) + if err != nil { + return errors.New("%s: unable to resolve %q: %v", genid.Any_message_fullname, typeURL, err) + } + + em := emt.New() + err = proto.UnmarshalOptions{ + AllowPartial: true, // never check required fields inside an Any + Resolver: e.opts.Resolver, + }.Unmarshal(valueVal.Bytes(), em.Interface()) + if err != nil { + return errors.New("%s: unable to unmarshal %q: %v", genid.Any_message_fullname, typeURL, err) + } + + // If type of value has custom JSON encoding, marshal out a field "value" + // with corresponding custom JSON encoding of the embedded message as a + // field. + if marshal := wellKnownTypeMarshaler(emt.Descriptor().FullName()); marshal != nil { + e.StartObject() + defer e.EndObject() + + // Marshal out @type field. + e.WriteName("@type") + if err := e.WriteString(typeURL); err != nil { + return err + } + + e.WriteName("value") + return marshal(e, em) + } + + // Else, marshal out the embedded message's fields in this Any object. + if err := e.marshalMessage(em, typeURL); err != nil { + return err + } + + return nil +} + +func (d decoder) unmarshalAny(m protoreflect.Message) error { + // Peek to check for json.ObjectOpen to avoid advancing a read. + start, err := d.Peek() + if err != nil { + return err + } + if start.Kind() != json.ObjectOpen { + return d.unexpectedTokenError(start) + } + + // Use another decoder to parse the unread bytes for @type field. This + // avoids advancing a read from current decoder because the current JSON + // object may contain the fields of the embedded type. + dec := decoder{d.Clone(), UnmarshalOptions{RecursionLimit: d.opts.RecursionLimit}} + tok, err := findTypeURL(dec) + switch err { + case errEmptyObject: + // An empty JSON object translates to an empty Any message. + d.Read() // Read json.ObjectOpen. + d.Read() // Read json.ObjectClose. + return nil + + case errMissingType: + if d.opts.DiscardUnknown { + // Treat all fields as unknowns, similar to an empty object. + return d.skipJSONValue() + } + // Use start.Pos() for line position. + return d.newError(start.Pos(), err.Error()) + + default: + if err != nil { + return err + } + } + + typeURL := tok.ParsedString() + emt, err := d.opts.Resolver.FindMessageByURL(typeURL) + if err != nil { + return d.newError(tok.Pos(), "unable to resolve %v: %q", tok.RawString(), err) + } + + // Create new message for the embedded message type and unmarshal into it. + em := emt.New() + if unmarshal := wellKnownTypeUnmarshaler(emt.Descriptor().FullName()); unmarshal != nil { + // If embedded message is a custom type, + // unmarshal the JSON "value" field into it. + if err := d.unmarshalAnyValue(unmarshal, em); err != nil { + return err + } + } else { + // Else unmarshal the current JSON object into it. + if err := d.unmarshalMessage(em, true); err != nil { + return err + } + } + // Serialize the embedded message and assign the resulting bytes to the + // proto value field. + b, err := proto.MarshalOptions{ + AllowPartial: true, // No need to check required fields inside an Any. + Deterministic: true, + }.Marshal(em.Interface()) + if err != nil { + return d.newError(start.Pos(), "error in marshaling Any.value field: %v", err) + } + + fds := m.Descriptor().Fields() + fdType := fds.ByNumber(genid.Any_TypeUrl_field_number) + fdValue := fds.ByNumber(genid.Any_Value_field_number) + + m.Set(fdType, protoreflect.ValueOfString(typeURL)) + m.Set(fdValue, protoreflect.ValueOfBytes(b)) + return nil +} + +var errEmptyObject = fmt.Errorf(`empty object`) +var errMissingType = fmt.Errorf(`missing "@type" field`) + +// findTypeURL returns the token for the "@type" field value from the given +// JSON bytes. It is expected that the given bytes start with json.ObjectOpen. +// It returns errEmptyObject if the JSON object is empty or errMissingType if +// @type field does not exist. It returns other error if the @type field is not +// valid or other decoding issues. +func findTypeURL(d decoder) (json.Token, error) { + var typeURL string + var typeTok json.Token + numFields := 0 + // Skip start object. + d.Read() + +Loop: + for { + tok, err := d.Read() + if err != nil { + return json.Token{}, err + } + + switch tok.Kind() { + case json.ObjectClose: + if typeURL == "" { + // Did not find @type field. + if numFields > 0 { + return json.Token{}, errMissingType + } + return json.Token{}, errEmptyObject + } + break Loop + + case json.Name: + numFields++ + if tok.Name() != "@type" { + // Skip value. + if err := d.skipJSONValue(); err != nil { + return json.Token{}, err + } + continue + } + + // Return error if this was previously set already. + if typeURL != "" { + return json.Token{}, d.newError(tok.Pos(), `duplicate "@type" field`) + } + // Read field value. + tok, err := d.Read() + if err != nil { + return json.Token{}, err + } + if tok.Kind() != json.String { + return json.Token{}, d.newError(tok.Pos(), `@type field value is not a string: %v`, tok.RawString()) + } + typeURL = tok.ParsedString() + if typeURL == "" { + return json.Token{}, d.newError(tok.Pos(), `@type field contains empty value`) + } + typeTok = tok + } + } + + return typeTok, nil +} + +// skipJSONValue parses a JSON value (null, boolean, string, number, object and +// array) in order to advance the read to the next JSON value. It relies on +// the decoder returning an error if the types are not in valid sequence. +func (d decoder) skipJSONValue() error { + var open int + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case json.ObjectClose, json.ArrayClose: + open-- + case json.ObjectOpen, json.ArrayOpen: + open++ + if open > d.opts.RecursionLimit { + return errors.New("exceeded max recursion depth") + } + case json.EOF: + // This can only happen if there's a bug in Decoder.Read. + // Avoid an infinite loop if this does happen. + return errors.New("unexpected EOF") + } + if open == 0 { + return nil + } + } +} + +// unmarshalAnyValue unmarshals the given custom-type message from the JSON +// object's "value" field. +func (d decoder) unmarshalAnyValue(unmarshal unmarshalFunc, m protoreflect.Message) error { + // Skip ObjectOpen, and start reading the fields. + d.Read() + + var found bool // Used for detecting duplicate "value". + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case json.ObjectClose: + if !found { + return d.newError(tok.Pos(), `missing "value" field`) + } + return nil + + case json.Name: + switch tok.Name() { + case "@type": + // Skip the value as this was previously parsed already. + d.Read() + + case "value": + if found { + return d.newError(tok.Pos(), `duplicate "value" field`) + } + // Unmarshal the field value into the given message. + if err := unmarshal(d, m); err != nil { + return err + } + found = true + + default: + if d.opts.DiscardUnknown { + if err := d.skipJSONValue(); err != nil { + return err + } + continue + } + return d.newError(tok.Pos(), "unknown field %v", tok.RawString()) + } + } + } +} + +// Wrapper types are encoded as JSON primitives like string, number or boolean. + +func (e encoder) marshalWrapperType(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.WrapperValue_Value_field_number) + val := m.Get(fd) + return e.marshalSingular(val, fd) +} + +func (d decoder) unmarshalWrapperType(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.WrapperValue_Value_field_number) + val, err := d.unmarshalScalar(fd) + if err != nil { + return err + } + m.Set(fd, val) + return nil +} + +// The JSON representation for Empty is an empty JSON object. + +func (e encoder) marshalEmpty(protoreflect.Message) error { + e.StartObject() + e.EndObject() + return nil +} + +func (d decoder) unmarshalEmpty(protoreflect.Message) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.ObjectOpen { + return d.unexpectedTokenError(tok) + } + + for { + tok, err := d.Read() + if err != nil { + return err + } + switch tok.Kind() { + case json.ObjectClose: + return nil + + case json.Name: + if d.opts.DiscardUnknown { + if err := d.skipJSONValue(); err != nil { + return err + } + continue + } + return d.newError(tok.Pos(), "unknown field %v", tok.RawString()) + + default: + return d.unexpectedTokenError(tok) + } + } +} + +// The JSON representation for Struct is a JSON object that contains the encoded +// Struct.fields map and follows the serialization rules for a map. + +func (e encoder) marshalStruct(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.Struct_Fields_field_number) + return e.marshalMap(m.Get(fd).Map(), fd) +} + +func (d decoder) unmarshalStruct(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.Struct_Fields_field_number) + return d.unmarshalMap(m.Mutable(fd).Map(), fd) +} + +// The JSON representation for ListValue is JSON array that contains the encoded +// ListValue.values repeated field and follows the serialization rules for a +// repeated field. + +func (e encoder) marshalListValue(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.ListValue_Values_field_number) + return e.marshalList(m.Get(fd).List(), fd) +} + +func (d decoder) unmarshalListValue(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.ListValue_Values_field_number) + return d.unmarshalList(m.Mutable(fd).List(), fd) +} + +// The JSON representation for a Value is dependent on the oneof field that is +// set. Each of the field in the oneof has its own custom serialization rule. A +// Value message needs to be a oneof field set, else it is an error. + +func (e encoder) marshalKnownValue(m protoreflect.Message) error { + od := m.Descriptor().Oneofs().ByName(genid.Value_Kind_oneof_name) + fd := m.WhichOneof(od) + if fd == nil { + return errors.New("%s: none of the oneof fields is set", genid.Value_message_fullname) + } + if fd.Number() == genid.Value_NumberValue_field_number { + if v := m.Get(fd).Float(); math.IsNaN(v) || math.IsInf(v, 0) { + return errors.New("%s: invalid %v value", genid.Value_NumberValue_field_fullname, v) + } + } + return e.marshalSingular(m.Get(fd), fd) +} + +func (d decoder) unmarshalKnownValue(m protoreflect.Message) error { + tok, err := d.Peek() + if err != nil { + return err + } + + var fd protoreflect.FieldDescriptor + var val protoreflect.Value + switch tok.Kind() { + case json.Null: + d.Read() + fd = m.Descriptor().Fields().ByNumber(genid.Value_NullValue_field_number) + val = protoreflect.ValueOfEnum(0) + + case json.Bool: + tok, err := d.Read() + if err != nil { + return err + } + fd = m.Descriptor().Fields().ByNumber(genid.Value_BoolValue_field_number) + val = protoreflect.ValueOfBool(tok.Bool()) + + case json.Number: + tok, err := d.Read() + if err != nil { + return err + } + fd = m.Descriptor().Fields().ByNumber(genid.Value_NumberValue_field_number) + var ok bool + val, ok = unmarshalFloat(tok, 64) + if !ok { + return d.newError(tok.Pos(), "invalid %v: %v", genid.Value_message_fullname, tok.RawString()) + } + + case json.String: + // A JSON string may have been encoded from the number_value field, + // e.g. "NaN", "Infinity", etc. Parsing a proto double type also allows + // for it to be in JSON string form. Given this custom encoding spec, + // however, there is no way to identify that and hence a JSON string is + // always assigned to the string_value field, which means that certain + // encoding cannot be parsed back to the same field. + tok, err := d.Read() + if err != nil { + return err + } + fd = m.Descriptor().Fields().ByNumber(genid.Value_StringValue_field_number) + val = protoreflect.ValueOfString(tok.ParsedString()) + + case json.ObjectOpen: + fd = m.Descriptor().Fields().ByNumber(genid.Value_StructValue_field_number) + val = m.NewField(fd) + if err := d.unmarshalStruct(val.Message()); err != nil { + return err + } + + case json.ArrayOpen: + fd = m.Descriptor().Fields().ByNumber(genid.Value_ListValue_field_number) + val = m.NewField(fd) + if err := d.unmarshalListValue(val.Message()); err != nil { + return err + } + + default: + return d.newError(tok.Pos(), "invalid %v: %v", genid.Value_message_fullname, tok.RawString()) + } + + m.Set(fd, val) + return nil +} + +// The JSON representation for a Duration is a JSON string that ends in the +// suffix "s" (indicating seconds) and is preceded by the number of seconds, +// with nanoseconds expressed as fractional seconds. +// +// Durations less than one second are represented with a 0 seconds field and a +// positive or negative nanos field. For durations of one second or more, a +// non-zero value for the nanos field must be of the same sign as the seconds +// field. +// +// Duration.seconds must be from -315,576,000,000 to +315,576,000,000 inclusive. +// Duration.nanos must be from -999,999,999 to +999,999,999 inclusive. + +const ( + secondsInNanos = 999999999 + maxSecondsInDuration = 315576000000 +) + +func (e encoder) marshalDuration(m protoreflect.Message) error { + fds := m.Descriptor().Fields() + fdSeconds := fds.ByNumber(genid.Duration_Seconds_field_number) + fdNanos := fds.ByNumber(genid.Duration_Nanos_field_number) + + secsVal := m.Get(fdSeconds) + nanosVal := m.Get(fdNanos) + secs := secsVal.Int() + nanos := nanosVal.Int() + if secs < -maxSecondsInDuration || secs > maxSecondsInDuration { + return errors.New("%s: seconds out of range %v", genid.Duration_message_fullname, secs) + } + if nanos < -secondsInNanos || nanos > secondsInNanos { + return errors.New("%s: nanos out of range %v", genid.Duration_message_fullname, nanos) + } + if (secs > 0 && nanos < 0) || (secs < 0 && nanos > 0) { + return errors.New("%s: signs of seconds and nanos do not match", genid.Duration_message_fullname) + } + // Generated output always contains 0, 3, 6, or 9 fractional digits, + // depending on required precision, followed by the suffix "s". + var sign string + if secs < 0 || nanos < 0 { + sign, secs, nanos = "-", -1*secs, -1*nanos + } + x := fmt.Sprintf("%s%d.%09d", sign, secs, nanos) + x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, ".000") + e.WriteString(x + "s") + return nil +} + +func (d decoder) unmarshalDuration(m protoreflect.Message) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.String { + return d.unexpectedTokenError(tok) + } + + secs, nanos, ok := parseDuration(tok.ParsedString()) + if !ok { + return d.newError(tok.Pos(), "invalid %v value %v", genid.Duration_message_fullname, tok.RawString()) + } + // Validate seconds. No need to validate nanos because parseDuration would + // have covered that already. + if secs < -maxSecondsInDuration || secs > maxSecondsInDuration { + return d.newError(tok.Pos(), "%v value out of range: %v", genid.Duration_message_fullname, tok.RawString()) + } + + fds := m.Descriptor().Fields() + fdSeconds := fds.ByNumber(genid.Duration_Seconds_field_number) + fdNanos := fds.ByNumber(genid.Duration_Nanos_field_number) + + m.Set(fdSeconds, protoreflect.ValueOfInt64(secs)) + m.Set(fdNanos, protoreflect.ValueOfInt32(nanos)) + return nil +} + +// parseDuration parses the given input string for seconds and nanoseconds value +// for the Duration JSON format. The format is a decimal number with a suffix +// 's'. It can have optional plus/minus sign. There needs to be at least an +// integer or fractional part. Fractional part is limited to 9 digits only for +// nanoseconds precision, regardless of whether there are trailing zero digits. +// Example values are 1s, 0.1s, 1.s, .1s, +1s, -1s, -.1s. +func parseDuration(input string) (int64, int32, bool) { + b := []byte(input) + size := len(b) + if size < 2 { + return 0, 0, false + } + if b[size-1] != 's' { + return 0, 0, false + } + b = b[:size-1] + + // Read optional plus/minus symbol. + var neg bool + switch b[0] { + case '-': + neg = true + b = b[1:] + case '+': + b = b[1:] + } + if len(b) == 0 { + return 0, 0, false + } + + // Read the integer part. + var intp []byte + switch { + case b[0] == '0': + b = b[1:] + + case '1' <= b[0] && b[0] <= '9': + intp = b[0:] + b = b[1:] + n := 1 + for len(b) > 0 && '0' <= b[0] && b[0] <= '9' { + n++ + b = b[1:] + } + intp = intp[:n] + + case b[0] == '.': + // Continue below. + + default: + return 0, 0, false + } + + hasFrac := false + var frac [9]byte + if len(b) > 0 { + if b[0] != '.' { + return 0, 0, false + } + // Read the fractional part. + b = b[1:] + n := 0 + for len(b) > 0 && n < 9 && '0' <= b[0] && b[0] <= '9' { + frac[n] = b[0] + n++ + b = b[1:] + } + // It is not valid if there are more bytes left. + if len(b) > 0 { + return 0, 0, false + } + // Pad fractional part with 0s. + for i := n; i < 9; i++ { + frac[i] = '0' + } + hasFrac = true + } + + var secs int64 + if len(intp) > 0 { + var err error + secs, err = strconv.ParseInt(string(intp), 10, 64) + if err != nil { + return 0, 0, false + } + } + + var nanos int64 + if hasFrac { + nanob := bytes.TrimLeft(frac[:], "0") + if len(nanob) > 0 { + var err error + nanos, err = strconv.ParseInt(string(nanob), 10, 32) + if err != nil { + return 0, 0, false + } + } + } + + if neg { + if secs > 0 { + secs = -secs + } + if nanos > 0 { + nanos = -nanos + } + } + return secs, int32(nanos), true +} + +// The JSON representation for a Timestamp is a JSON string in the RFC 3339 +// format, i.e. "{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z" where +// {year} is always expressed using four digits while {month}, {day}, {hour}, +// {min}, and {sec} are zero-padded to two digits each. The fractional seconds, +// which can go up to 9 digits, up to 1 nanosecond resolution, is optional. The +// "Z" suffix indicates the timezone ("UTC"); the timezone is required. Encoding +// should always use UTC (as indicated by "Z") and a decoder should be able to +// accept both UTC and other timezones (as indicated by an offset). +// +// Timestamp.seconds must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z +// inclusive. +// Timestamp.nanos must be from 0 to 999,999,999 inclusive. + +const ( + maxTimestampSeconds = 253402300799 + minTimestampSeconds = -62135596800 +) + +func (e encoder) marshalTimestamp(m protoreflect.Message) error { + fds := m.Descriptor().Fields() + fdSeconds := fds.ByNumber(genid.Timestamp_Seconds_field_number) + fdNanos := fds.ByNumber(genid.Timestamp_Nanos_field_number) + + secsVal := m.Get(fdSeconds) + nanosVal := m.Get(fdNanos) + secs := secsVal.Int() + nanos := nanosVal.Int() + if secs < minTimestampSeconds || secs > maxTimestampSeconds { + return errors.New("%s: seconds out of range %v", genid.Timestamp_message_fullname, secs) + } + if nanos < 0 || nanos > secondsInNanos { + return errors.New("%s: nanos out of range %v", genid.Timestamp_message_fullname, nanos) + } + // Uses RFC 3339, where generated output will be Z-normalized and uses 0, 3, + // 6 or 9 fractional digits. + t := time.Unix(secs, nanos).UTC() + x := t.Format("2006-01-02T15:04:05.000000000") + x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, "000") + x = strings.TrimSuffix(x, ".000") + e.WriteString(x + "Z") + return nil +} + +func (d decoder) unmarshalTimestamp(m protoreflect.Message) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.String { + return d.unexpectedTokenError(tok) + } + + s := tok.ParsedString() + t, err := time.Parse(time.RFC3339Nano, s) + if err != nil { + return d.newError(tok.Pos(), "invalid %v value %v", genid.Timestamp_message_fullname, tok.RawString()) + } + // Validate seconds. + secs := t.Unix() + if secs < minTimestampSeconds || secs > maxTimestampSeconds { + return d.newError(tok.Pos(), "%v value out of range: %v", genid.Timestamp_message_fullname, tok.RawString()) + } + // Validate subseconds. + i := strings.LastIndexByte(s, '.') // start of subsecond field + j := strings.LastIndexAny(s, "Z-+") // start of timezone field + if i >= 0 && j >= i && j-i > len(".999999999") { + return d.newError(tok.Pos(), "invalid %v value %v", genid.Timestamp_message_fullname, tok.RawString()) + } + + fds := m.Descriptor().Fields() + fdSeconds := fds.ByNumber(genid.Timestamp_Seconds_field_number) + fdNanos := fds.ByNumber(genid.Timestamp_Nanos_field_number) + + m.Set(fdSeconds, protoreflect.ValueOfInt64(secs)) + m.Set(fdNanos, protoreflect.ValueOfInt32(int32(t.Nanosecond()))) + return nil +} + +// The JSON representation for a FieldMask is a JSON string where paths are +// separated by a comma. Fields name in each path are converted to/from +// lower-camel naming conventions. Encoding should fail if the path name would +// end up differently after a round-trip. + +func (e encoder) marshalFieldMask(m protoreflect.Message) error { + fd := m.Descriptor().Fields().ByNumber(genid.FieldMask_Paths_field_number) + list := m.Get(fd).List() + paths := make([]string, 0, list.Len()) + + for i := 0; i < list.Len(); i++ { + s := list.Get(i).String() + if !protoreflect.FullName(s).IsValid() { + return errors.New("%s contains invalid path: %q", genid.FieldMask_Paths_field_fullname, s) + } + // Return error if conversion to camelCase is not reversible. + cc := strs.JSONCamelCase(s) + if s != strs.JSONSnakeCase(cc) { + return errors.New("%s contains irreversible value %q", genid.FieldMask_Paths_field_fullname, s) + } + paths = append(paths, cc) + } + + e.WriteString(strings.Join(paths, ",")) + return nil +} + +func (d decoder) unmarshalFieldMask(m protoreflect.Message) error { + tok, err := d.Read() + if err != nil { + return err + } + if tok.Kind() != json.String { + return d.unexpectedTokenError(tok) + } + str := strings.TrimSpace(tok.ParsedString()) + if str == "" { + return nil + } + paths := strings.Split(str, ",") + + fd := m.Descriptor().Fields().ByNumber(genid.FieldMask_Paths_field_number) + list := m.Mutable(fd).List() + + for _, s0 := range paths { + s := strs.JSONSnakeCase(s0) + if strings.Contains(s0, "_") || !protoreflect.FullName(s).IsValid() { + return d.newError(tok.Pos(), "%v contains invalid path: %q", genid.FieldMask_Paths_field_fullname, s0) + } + list.Append(protoreflect.ValueOfString(s)) + } + return nil +} diff --git a/api_next/internal/strcase/strcase.go b/api_next/internal/strcase/strcase.go new file mode 100644 index 00000000..8a10c033 --- /dev/null +++ b/api_next/internal/strcase/strcase.go @@ -0,0 +1,139 @@ +// The MIT License +// +// Copyright (c) 2015 Ian Coleman +// Copyright (c) 2018 Ma_124, +// +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: +// +// The above copyright notice and this permission notice shall be included in +// all copies or substantial portions of the Software. +// +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +// THE SOFTWARE. + +// Package strcase copies the portions of code we need from https://github.com/iancoleman/strcase. This is done to avoid +// adding a new dependency to the project since many of the functions in strcase are not used, and api-go is used by so +// many other projects. +package strcase + +import ( + "strings" +) + +// ToScreamingSnake converts a string to SCREAMING_SNAKE_CASE +func ToScreamingSnake(s string) string { + return ToScreamingDelimited(s, '_', "", true) +} + +// ToScreamingDelimited converts a string to SCREAMING.DELIMITED.SNAKE.CASE +// (in this case `delimiter = '.'; screaming = true`) +// or delimited.snake.case +// (in this case `delimiter = '.'; screaming = false`) +func ToScreamingDelimited(s string, delimiter uint8, ignore string, screaming bool) string { + s = strings.TrimSpace(s) + n := strings.Builder{} + n.Grow(len(s) + 2) // nominal 2 bytes of extra space for inserted delimiters + for i, v := range []byte(s) { + vIsCap := v >= 'A' && v <= 'Z' + vIsLow := v >= 'a' && v <= 'z' + if vIsLow && screaming { + v += 'A' + v -= 'a' + } else if vIsCap && !screaming { + v += 'a' + v -= 'A' + } + + // treat acronyms as words, eg for JSONData -> JSON is a whole word + if i+1 < len(s) { + next := s[i+1] + vIsNum := v >= '0' && v <= '9' + nextIsCap := next >= 'A' && next <= 'Z' + nextIsLow := next >= 'a' && next <= 'z' + nextIsNum := next >= '0' && next <= '9' + // add underscore if next letter case type is changed + if (vIsCap && (nextIsLow || nextIsNum)) || (vIsLow && (nextIsCap || nextIsNum)) || (vIsNum && (nextIsCap || nextIsLow)) { + prevIgnore := ignore != "" && i > 0 && strings.ContainsAny(string(s[i-1]), ignore) + if !prevIgnore { + if vIsCap && nextIsLow { + if prevIsCap := i > 0 && s[i-1] >= 'A' && s[i-1] <= 'Z'; prevIsCap { + n.WriteByte(delimiter) + } + } + n.WriteByte(v) + if vIsLow || vIsNum || nextIsNum { + n.WriteByte(delimiter) + } + continue + } + } + } + + if (v == ' ' || v == '_' || v == '-' || v == '.') && !strings.ContainsAny(string(v), ignore) { + // replace space/underscore/hyphen/dot with delimiter + n.WriteByte(delimiter) + } else { + n.WriteByte(v) + } + } + + return n.String() +} + +// ToCamel converts a string to CamelCase +func ToCamel(s string) string { + return toCamelInitCase(s, true) +} + +// Converts a string to CamelCase +func toCamelInitCase(s string, initCase bool) string { + s = strings.TrimSpace(s) + if s == "" { + return s + } + + n := strings.Builder{} + n.Grow(len(s)) + capNext := initCase + prevIsCap := false + for i, v := range []byte(s) { + vIsCap := v >= 'A' && v <= 'Z' + vIsLow := v >= 'a' && v <= 'z' + if capNext { + if vIsLow { + v += 'A' + v -= 'a' + } + } else if i == 0 { + if vIsCap { + v += 'a' + v -= 'A' + } + } else if prevIsCap && vIsCap { + v += 'a' + v -= 'A' + } + prevIsCap = vIsCap + + if vIsCap || vIsLow { + n.WriteByte(v) + capNext = false + } else if vIsNum := v >= '0' && v <= '9'; vIsNum { + n.WriteByte(v) + capNext = true + } else { + capNext = v == '_' || v == ' ' || v == '-' || v == '.' + } + } + return n.String() +} diff --git a/api_next/internal/temporalcommonv1/README.md b/api_next/internal/temporalcommonv1/README.md new file mode 100644 index 00000000..d878ce7f --- /dev/null +++ b/api_next/internal/temporalcommonv1/README.md @@ -0,0 +1,9 @@ +# temporalcommonv1 + +This package contains [payload_json.go](payload_json.go) which is copied to [../../common/v1](../../common/v1) after +proto generation. The code is kept here separately to keep the delete-entire-directory cleanup before code generation +simple. + +This code adds "shorthand" formatting support to payloads by implementing `MaybeMarshalProtoJSON` and +`MaybeUnmarshalProtoJSON` on both `Payloads` and `Payload`. Tests for this code are in +[../../proxy/marshal_test.go](../../proxy/marshal_test.go). diff --git a/api_next/internal/temporalcommonv1/message.go b/api_next/internal/temporalcommonv1/message.go new file mode 100644 index 00000000..57a2a647 --- /dev/null +++ b/api_next/internal/temporalcommonv1/message.go @@ -0,0 +1,16 @@ +package common + +// These are dummy messages, never used + +type Payloads struct { + Payloads []*Payload +} + +type Payload struct { + Metadata map[string][]byte + Data []byte +} + +func (*Payload) Reset() { panic("NOT IMPLEMENTED") } +func (*Payload) ProtoMessage() { panic("NOT IMPLEMENTED") } +func (*Payload) String() string { panic("NOT IMPLEMENTED") } diff --git a/api_next/internal/temporalcommonv1/payload_json.go b/api_next/internal/temporalcommonv1/payload_json.go new file mode 100644 index 00000000..0de0b471 --- /dev/null +++ b/api_next/internal/temporalcommonv1/payload_json.go @@ -0,0 +1,605 @@ +package common + +import ( + //"bytes" + + "encoding" + "encoding/base64" + gojson "encoding/json" + "fmt" + "reflect" + "sort" + "strconv" + "strings" + + "go.temporal.io/api/internal/protojson" + "go.temporal.io/api/internal/protojson/json" + // "google.golang.org/protobuf/encoding/protojson" +) + +const ( + payloadMetadataKey = "metadata" + payloadDataKey = "data" + shorthandMessageTypeKey = "_protoMessageType" + binaryNullBase64 = "YmluYXJ5L251bGw=" +) + +var _ protojson.ProtoJSONMaybeMarshaler = (*Payload)(nil) +var _ protojson.ProtoJSONMaybeMarshaler = (*Payloads)(nil) +var _ protojson.ProtoJSONMaybeUnmarshaler = (*Payload)(nil) +var _ protojson.ProtoJSONMaybeUnmarshaler = (*Payloads)(nil) + +// !!! This file is copied from internal/temporalcommonv1 to common/v1. +// !!! DO NOT EDIT at common/v1/payload_json.go. +func marshalSingular(enc *json.Encoder, value interface{}) error { + switch vv := value.(type) { + case string: + return enc.WriteString(vv) + case bool: + enc.WriteBool(vv) + case int: + enc.WriteInt(int64(vv)) + case int64: + enc.WriteInt(vv) + case uint: + enc.WriteUint(uint64(vv)) + case uint64: + enc.WriteUint(vv) + case float32: + enc.WriteFloat(float64(vv), 32) + case float64: + enc.WriteFloat(vv, 64) + default: + return fmt.Errorf("cannot marshal type %[1]T value %[1]v", vv) + } + return nil +} + +func marshalStruct(enc *json.Encoder, vv reflect.Value) error { + enc.StartObject() + defer enc.EndObject() + ty := vv.Type() + +Loop: + for i, n := 0, vv.NumField(); i < n; i++ { + f := vv.Field(i) + name := f.String() + // lowercase. private field + if name[0] >= 'a' && name[0] <= 'z' { + continue + } + + // Handle encoding/json struct tags + tag, present := ty.Field(i).Tag.Lookup("json") + if present { + opts := strings.Split(tag, ",") + for j := range opts { + if opts[j] == "omitempty" && vv.IsZero() { + continue Loop + } else if opts[j] == "-" { + continue Loop + } + // name overridden + name = opts[j] + } + } + if err := enc.WriteName(name); err != nil { + return fmt.Errorf("unable to write name %s: %w", name, err) + } + if err := marshalSingular(enc, f.Interface()); err != nil { + return fmt.Errorf("unable to marshal value for name %s: %w", name, err) + } + } + return nil +} + +type keyVal struct { + k string + v reflect.Value +} + +// Map keys must be either strings or integers. We don't use encoding.TextMarshaler so we don't care +func marshalMap(enc *json.Encoder, vv reflect.Value) error { + enc.StartObject() + defer enc.EndObject() + + sv := make([]keyVal, vv.Len()) + iter := vv.MapRange() + for i := 0; iter.Next(); i++ { + k := iter.Key() + sv[i].v = iter.Value() + + if k.Kind() == reflect.String { + sv[i].k = k.String() + } else if tm, ok := k.Interface().(encoding.TextMarshaler); ok { + if k.Kind() == reflect.Pointer && k.IsNil() { + return nil + } + buf, err := tm.MarshalText() + sv[i].k = string(buf) + if err != nil { + return err + } + } else { + switch k.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + sv[i].k = strconv.FormatInt(k.Int(), 10) + return nil + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + sv[i].k = strconv.FormatUint(k.Uint(), 10) + return nil + default: + return fmt.Errorf("map key type %T not supported", k) + } + } + } + // Sort keys just like encoding/json + sort.Slice(sv, func(i, j int) bool { return sv[i].k < sv[j].k }) + + for i := 0; i < len(sv); i++ { + if err := enc.WriteName(sv[i].k); err != nil { + return fmt.Errorf("unable to write name %s: %w", sv[i].k, err) + } + if err := marshalValue(enc, sv[i].v); err != nil { + return fmt.Errorf("unable to marshal value for name %s: %w", sv[i].k, err) + } + } + return nil +} + +func marshalValue(enc *json.Encoder, vv reflect.Value) error { + switch vv.Kind() { + case reflect.Slice, reflect.Array: + if vv.IsNil() || vv.Len() == 0 { + enc.WriteNull() + return nil + } + enc.StartArray() + defer enc.EndArray() + for i := 0; i < vv.Len(); i++ { + if err := marshalValue(enc, vv.Index(i)); err != nil { + return err + } + } + case reflect.Interface, reflect.Pointer: + if vv.IsNil() { + enc.WriteNull() + } else { + marshalValue(enc, vv.Elem()) + } + case reflect.Struct: + marshalStruct(enc, vv) + case reflect.Map: + if vv.IsNil() || vv.Len() == 0 { + enc.StartObject() + enc.EndObject() + return nil + } + marshalMap(enc, vv) + case reflect.Bool, + reflect.String, + reflect.Int, + reflect.Int8, + reflect.Int16, + reflect.Int32, + reflect.Int64, + reflect.Uint, + reflect.Uint8, + reflect.Uint16, + reflect.Uint32, + reflect.Uint64, + reflect.Uintptr, + reflect.Float32, + reflect.Float64, + reflect.Complex64, + reflect.Complex128: + marshalSingular(enc, vv.Interface()) + default: + return fmt.Errorf("cannot marshal %[1]T value %[1]v", vv.Interface()) + } + + return nil +} + +func marshal(enc *json.Encoder, value interface{}) error { + if value == nil { + // nil data means we send the binary/null encoding + enc.StartObject() + defer enc.EndObject() + if err := enc.WriteName("metadata"); err != nil { + return err + } + + enc.StartObject() + defer enc.EndObject() + if err := enc.WriteName("encoding"); err != nil { + return err + } + // base64(binary/null) + return enc.WriteString(binaryNullBase64) + } + return marshalValue(enc, reflect.ValueOf(value)) +} + +// Key on the marshaler metadata specifying whether shorthand is enabled. +// +// WARNING: This is internal API and should not be called externally. +const EnablePayloadShorthandMetadataKey = "__temporal_enable_payload_shorthand" + +// MaybeMarshalProtoJSON implements +// [go.temporal.io/api/internal/temporaljsonpb.ProtoJSONMaybeMarshaler.MaybeMarshalProtoJSON]. +// +// WARNING: This is internal API and should not be called externally. +func (p *Payloads) MaybeMarshalProtoJSON(meta map[string]interface{}, enc *json.Encoder) (handled bool, err error) { + // If this is nil, ignore + if p == nil { + return false, nil + } + + // Skip unless explicitly enabled + if _, enabled := meta[EnablePayloadShorthandMetadataKey].(bool); !enabled { + return false, nil + } + + // We only support marshalling to shorthand if all payloads are handled or + // there are no payloads, so check if all can be handled first. + vals := make([]any, len(p.Payloads)) + for i, payload := range p.Payloads { + handled, vals[i], err = payload.toJSONShorthand() + if !handled || err != nil { + return handled, err + } + } + + enc.StartArray() + defer enc.EndArray() + + for _, val := range vals { + if err = marshal(enc, val); err != nil { + return true, err + } + } + return true, err +} + +// MaybeUnmarshalProtoJSON implements +// [go.temporal.io/api/internal/temporaljsonpb.ProtoJSONMaybeUnmarshaler.MaybeUnmarshalProtoJSON]. +// +// WARNING: This is internal API and should not be called externally. +func (p *Payloads) MaybeUnmarshalProtoJSON(meta map[string]interface{}, dec *json.Decoder) (handled bool, err error) { + // If this is nil, ignore (should never be) + if p == nil { + return false, nil + } + // Skip unless explicitly enabled + if _, enabled := meta[EnablePayloadShorthandMetadataKey].(bool); !enabled { + return false, nil + } + tok, err := dec.Peek() + if err != nil { + return true, err + } + + if tok.Kind() == json.Null { + // Null is accepted as empty list + _, _ = dec.Read() + return true, nil + } else if tok.Kind() != json.ArrayOpen { + // If this isn't an array, then it's not shorthand + return false, nil + } + _, _ = dec.Read() + for { + tok, err := dec.Peek() + if err != nil { + return true, err + } + if tok.Kind() == json.ArrayClose { + _, _ = dec.Read() + break + } + var pl Payload + if err := pl.fromJSONMaybeShorthand(dec); err != nil { + return true, fmt.Errorf("unable to unmarshal payload: %w", err) + } + p.Payloads = append(p.Payloads, &pl) + } + + return true, nil +} + +// MaybeMarshalProtoJSON implements +// [go.temporal.io/api/internal/temporaljsonpb.ProtoJSONMaybeMarshaler.MaybeMarshalProtoJSON]. +// +// WARNING: This is internal API and should not be called externally. +func (p *Payload) MaybeMarshalProtoJSON(meta map[string]interface{}, enc *json.Encoder) (handled bool, err error) { + // If this is nil, ignore + if p == nil { + return false, nil + } + // Skip unless explicitly enabled + if _, enabled := meta[EnablePayloadShorthandMetadataKey].(bool); !enabled { + return false, nil + } + // If any are not handled or there is an error, return + handled, val, err := p.toJSONShorthand() + if !handled || err != nil { + return handled, err + } + return true, marshal(enc, val) +} + +// MaybeUnmarshalProtoJSON implements +// [go.temporal.io/api/internal/temporaljsonpb.ProtoJSONMaybeUnmarshaler.MaybeUnmarshalProtoJSON]. +// +// WARNING: This is internal API and should not be called externally. +func (p *Payload) MaybeUnmarshalProtoJSON(meta map[string]interface{}, dec *json.Decoder) (handled bool, err error) { + // If this is nil, ignore (should never be) + if p == nil { + return false, nil + } + // Skip unless explicitly enabled + if _, enabled := meta[EnablePayloadShorthandMetadataKey].(bool); !enabled { + return false, nil + } + // Always considered handled, unmarshaler ignored (unknown fields always + // disallowed for non-shorthand payloads at this time) + p.fromJSONMaybeShorthand(dec) + return true, nil +} + +func (p *Payload) toJSONShorthand() (handled bool, value interface{}, err error) { + // Only support binary null, plain JSON and proto JSON + switch string(p.Metadata["encoding"]) { + case "binary/null": + // Leave value as nil + handled = true + case "json/plain": + // Must only have this single metadata + if len(p.Metadata) != 1 { + return false, nil, nil + } + // We unmarshal because we may have to indent. We let this error fail the + // marshaller. + handled = true + err = gojson.Unmarshal(p.Data, &value) + case "json/protobuf": + // Must have the message type and no other metadata + msgType := string(p.Metadata["messageType"]) + if msgType == "" || len(p.Metadata) != 2 { + return false, nil, nil + } + // Since this is a proto object, this must unmarshal to a object. We let + // this error fail the marshaller. + var valueMap map[string]interface{} + handled = true + err = gojson.Unmarshal(p.Data, &valueMap) + // Put the message type on the object + if valueMap != nil { + valueMap[shorthandMessageTypeKey] = msgType + } + value = valueMap + default: + return false, nil, fmt.Errorf("unsupported encoding %s", string(p.Metadata["encoding"])) + } + return +} + +func unmarshalArray(dec *json.Decoder) (interface{}, error) { + var arr []interface{} + for { + tok, err := dec.Read() + if err != nil { + return nil, err + } + if tok.Kind() == json.ArrayClose { + return arr, nil + } + obj, err := unmarshalValue(dec, tok) + if err != nil { + return nil, err + } + arr = append(arr, obj) + } + +} + +func unmarshalValue(dec *json.Decoder, tok json.Token) (interface{}, error) { + switch tok.Kind() { + case json.Null: + return nil, nil + case json.Bool: + return tok.Bool(), nil + case json.Number: + i64, ok := tok.Int(64) + if ok { + return i64, nil + } + f64, ok := tok.Float(64) + if ok { + return f64, nil + } + return nil, fmt.Errorf("unable to parse number from %s", tok.Kind()) + case json.String: + return tok.ParsedString(), nil + case json.ObjectOpen: + out := map[string]interface{}{} + if err := unmarshalMap(dec, out); err != nil { + return nil, err + } + return out, nil + case json.ArrayOpen: + return unmarshalArray(dec) + default: + return nil, fmt.Errorf("unexpected %s token %v", tok.Kind(), tok) + } +} + +// Payloads are a map of string to things. All keys are strings however, so we can take shortcuts here. +func unmarshalMap(dec *json.Decoder, out map[string]interface{}) error { + for { + tok, err := dec.Read() + if err != nil { + return err + } + switch tok.Kind() { + default: + return fmt.Errorf("unexpected %s token", tok.Kind()) + case json.ObjectClose: + return nil + case json.Name: + key := tok.Name() + tok, err = dec.Read() + if err != nil { + return fmt.Errorf("unexpected error unmarshalling value for map key %q: %w", key, err) + } + val, err := unmarshalValue(dec, tok) + if err != nil { + return fmt.Errorf("unable to unmarshal value for map key %q: %w", key, err) + } + out[key] = val + } + } +} + +// Protojson marshals bytes as base64-encoded strings +func unmarshalBytes(s string) ([]byte, bool) { + enc := base64.StdEncoding + if strings.ContainsAny(s, "-_") { + enc = base64.URLEncoding + } + if len(s)%4 != 0 { + enc = enc.WithPadding(base64.NoPadding) + } + b, err := enc.DecodeString(s) + if err != nil { + return nil, false + } + return b, true +} + +// Attempt to unmarshal a standard payload from this map. Returns true if successful +func (p *Payload) unmarshalPayload(valueMap map[string]interface{}) bool { + md, mdOk := valueMap[payloadMetadataKey] + if !mdOk { + return false + } + + mdm, ok := md.(map[string]interface{}) + if !ok { + return false + } + + // Payloads must have an encoding + enc, ok := mdm["encoding"] + if !ok { + return false + } + + d, dataOk := valueMap[payloadDataKey] + // It's ok to have no data key if the encoding is binary/null + if mdOk && !dataOk && enc == binaryNullBase64 { + p.Metadata = map[string][]byte{ + "encoding": []byte("binary/null"), + } + return true + } else if !mdOk && !dataOk { + return false + } else if len(valueMap) > 2 { + // If we change the schema of the Payload type we'll need to update this + } + + // By this point payloads must have both data and metadata keys and no others + if !(dataOk && mdOk && len(valueMap) == 2) { + return false + } + + // We're probably a payload by this point + ds, ok := d.(string) + if !ok { + return false + } + + dataBytes, ok := unmarshalBytes(ds) + if !ok { + return false + } + mdbm := make(map[string][]byte, len(mdm)) + for k, v := range mdm { + vs, ok := v.(string) + // metadata keys will be encoded as base64 strings so we can reject everything else + if !ok { + return false + } + vb, ok := unmarshalBytes(vs) + if !ok { + return false + } + mdbm[k] = vb + } + + p.Metadata = mdbm + p.Data = dataBytes + return true +} + +func (p *Payload) fromJSONMaybeShorthand(dec *json.Decoder) error { + // We need to try to deserialize into the regular payload first. If it works + // and there is metadata _and_ data actually present (or null with a null + // metadata encoding), we assume it's a non-shorthand payload. If it fails + // (which it will if not an object or there is an unknown field or if + // 'metadata' is not string + base64 or if 'data' is not base64), we assume + // shorthand. We are ok disallowing unknown fields for payloads here even if + // the outer unmarshaler allows them. + tok, err := dec.Read() + if err != nil { + return err + } + val, err := unmarshalValue(dec, tok) + if err != nil { + return err + } + switch tv := val.(type) { + default: + // take it as-is + p.Metadata = map[string][]byte{"encoding": []byte("json/plain")} + p.Data, err = gojson.Marshal(val) + return err + case nil: + p.Data = nil + p.Metadata = map[string][]byte{"encoding": []byte("binary/null")} + return nil + case map[string]interface{}: + if handled := p.unmarshalPayload(tv); handled { + // Standard payload + return nil + } + + // Now that we know it is shorthand, it might be a proto JSON with a message + // type. If it does have the message type, we need to remove it and + // re-serialize it to data. So the quickest way to check whether it has the + // message type is to search for the key. + if maybeMsgType, found := tv[shorthandMessageTypeKey]; found { + msgType, ok := maybeMsgType.(string) + if !ok { + return fmt.Errorf("internal key %q should have type string, not %T", shorthandMessageTypeKey, maybeMsgType) + } + // Now we know it's a proto JSON, so remove the key and re-serialize + delete(tv, "_protoMessageType") + // This won't error. The resulting JSON payload data may not be exactly + // what user passed in sans message type (e.g. user may have indented or + // did not have same field order), but that is acceptable when going + // from shorthand to non-shorthand. + p.Data, _ = gojson.Marshal(tv) + p.Metadata = map[string][]byte{ + "encoding": []byte("json/protobuf"), + "messageType": []byte(msgType), + } + } else { + p.Metadata = map[string][]byte{"encoding": []byte("json/plain")} + p.Data, err = gojson.Marshal(val) + return err + } + return nil + } +} diff --git a/api_next/namespace/v1/message.go-helpers.pb.go b/api_next/namespace/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..b52342e4 --- /dev/null +++ b/api_next/namespace/v1/message.go-helpers.pb.go @@ -0,0 +1,228 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package namespace + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type NamespaceInfo to the protobuf v3 wire format +func (val *NamespaceInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NamespaceInfo from the protobuf v3 wire format +func (val *NamespaceInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NamespaceInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NamespaceInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NamespaceInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NamespaceInfo + switch t := that.(type) { + case *NamespaceInfo: + that1 = t + case NamespaceInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NamespaceConfig to the protobuf v3 wire format +func (val *NamespaceConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NamespaceConfig from the protobuf v3 wire format +func (val *NamespaceConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NamespaceConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NamespaceConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NamespaceConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NamespaceConfig + switch t := that.(type) { + case *NamespaceConfig: + that1 = t + case NamespaceConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BadBinaries to the protobuf v3 wire format +func (val *BadBinaries) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BadBinaries from the protobuf v3 wire format +func (val *BadBinaries) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BadBinaries) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BadBinaries values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BadBinaries) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BadBinaries + switch t := that.(type) { + case *BadBinaries: + that1 = t + case BadBinaries: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BadBinaryInfo to the protobuf v3 wire format +func (val *BadBinaryInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BadBinaryInfo from the protobuf v3 wire format +func (val *BadBinaryInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BadBinaryInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BadBinaryInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BadBinaryInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BadBinaryInfo + switch t := that.(type) { + case *BadBinaryInfo: + that1 = t + case BadBinaryInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateNamespaceInfo to the protobuf v3 wire format +func (val *UpdateNamespaceInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateNamespaceInfo from the protobuf v3 wire format +func (val *UpdateNamespaceInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateNamespaceInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateNamespaceInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateNamespaceInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateNamespaceInfo + switch t := that.(type) { + case *UpdateNamespaceInfo: + that1 = t + case UpdateNamespaceInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NamespaceFilter to the protobuf v3 wire format +func (val *NamespaceFilter) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NamespaceFilter from the protobuf v3 wire format +func (val *NamespaceFilter) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NamespaceFilter) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NamespaceFilter values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NamespaceFilter) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NamespaceFilter + switch t := that.(type) { + case *NamespaceFilter: + that1 = t + case NamespaceFilter: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/namespace/v1/message.pb.go b/api_next/namespace/v1/message.pb.go new file mode 100644 index 00000000..366bf227 --- /dev/null +++ b/api_next/namespace/v1/message.pb.go @@ -0,0 +1,795 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/namespace/v1/message.proto + +package namespace + +import ( + v1 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type NamespaceInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + State v1.NamespaceState `protobuf:"varint,2,opt,name=state,proto3,enum=temporal.api.enums.v1.NamespaceState" json:"state,omitempty"` + Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"` + OwnerEmail string `protobuf:"bytes,4,opt,name=owner_email,json=ownerEmail,proto3" json:"owner_email,omitempty"` + // A key-value map for any customized purpose. + Data map[string]string `protobuf:"bytes,5,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Id string `protobuf:"bytes,6,opt,name=id,proto3" json:"id,omitempty"` + // All capabilities the namespace supports. + Capabilities *NamespaceInfo_Capabilities `protobuf:"bytes,7,opt,name=capabilities,proto3" json:"capabilities,omitempty"` + // Namespace configured limits + Limits *NamespaceInfo_Limits `protobuf:"bytes,8,opt,name=limits,proto3" json:"limits,omitempty"` + // Whether scheduled workflows are supported on this namespace. This is only needed + // temporarily while the feature is experimental, so we can give it a high tag. + SupportsSchedules bool `protobuf:"varint,100,opt,name=supports_schedules,json=supportsSchedules,proto3" json:"supports_schedules,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NamespaceInfo) Reset() { + *x = NamespaceInfo{} + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NamespaceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NamespaceInfo) ProtoMessage() {} + +func (x *NamespaceInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NamespaceInfo.ProtoReflect.Descriptor instead. +func (*NamespaceInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_namespace_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *NamespaceInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *NamespaceInfo) GetState() v1.NamespaceState { + if x != nil { + return x.State + } + return v1.NamespaceState(0) +} + +func (x *NamespaceInfo) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *NamespaceInfo) GetOwnerEmail() string { + if x != nil { + return x.OwnerEmail + } + return "" +} + +func (x *NamespaceInfo) GetData() map[string]string { + if x != nil { + return x.Data + } + return nil +} + +func (x *NamespaceInfo) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *NamespaceInfo) GetCapabilities() *NamespaceInfo_Capabilities { + if x != nil { + return x.Capabilities + } + return nil +} + +func (x *NamespaceInfo) GetLimits() *NamespaceInfo_Limits { + if x != nil { + return x.Limits + } + return nil +} + +func (x *NamespaceInfo) GetSupportsSchedules() bool { + if x != nil { + return x.SupportsSchedules + } + return false +} + +type NamespaceConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowExecutionRetentionTtl *durationpb.Duration `protobuf:"bytes,1,opt,name=workflow_execution_retention_ttl,json=workflowExecutionRetentionTtl,proto3" json:"workflow_execution_retention_ttl,omitempty"` + BadBinaries *BadBinaries `protobuf:"bytes,2,opt,name=bad_binaries,json=badBinaries,proto3" json:"bad_binaries,omitempty"` + // If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used. + HistoryArchivalState v1.ArchivalState `protobuf:"varint,3,opt,name=history_archival_state,json=historyArchivalState,proto3,enum=temporal.api.enums.v1.ArchivalState" json:"history_archival_state,omitempty"` + HistoryArchivalUri string `protobuf:"bytes,4,opt,name=history_archival_uri,json=historyArchivalUri,proto3" json:"history_archival_uri,omitempty"` + // If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used. + VisibilityArchivalState v1.ArchivalState `protobuf:"varint,5,opt,name=visibility_archival_state,json=visibilityArchivalState,proto3,enum=temporal.api.enums.v1.ArchivalState" json:"visibility_archival_state,omitempty"` + VisibilityArchivalUri string `protobuf:"bytes,6,opt,name=visibility_archival_uri,json=visibilityArchivalUri,proto3" json:"visibility_archival_uri,omitempty"` + // Map from field name to alias. + CustomSearchAttributeAliases map[string]string `protobuf:"bytes,7,rep,name=custom_search_attribute_aliases,json=customSearchAttributeAliases,proto3" json:"custom_search_attribute_aliases,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NamespaceConfig) Reset() { + *x = NamespaceConfig{} + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NamespaceConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NamespaceConfig) ProtoMessage() {} + +func (x *NamespaceConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NamespaceConfig.ProtoReflect.Descriptor instead. +func (*NamespaceConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_namespace_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *NamespaceConfig) GetWorkflowExecutionRetentionTtl() *durationpb.Duration { + if x != nil { + return x.WorkflowExecutionRetentionTtl + } + return nil +} + +func (x *NamespaceConfig) GetBadBinaries() *BadBinaries { + if x != nil { + return x.BadBinaries + } + return nil +} + +func (x *NamespaceConfig) GetHistoryArchivalState() v1.ArchivalState { + if x != nil { + return x.HistoryArchivalState + } + return v1.ArchivalState(0) +} + +func (x *NamespaceConfig) GetHistoryArchivalUri() string { + if x != nil { + return x.HistoryArchivalUri + } + return "" +} + +func (x *NamespaceConfig) GetVisibilityArchivalState() v1.ArchivalState { + if x != nil { + return x.VisibilityArchivalState + } + return v1.ArchivalState(0) +} + +func (x *NamespaceConfig) GetVisibilityArchivalUri() string { + if x != nil { + return x.VisibilityArchivalUri + } + return "" +} + +func (x *NamespaceConfig) GetCustomSearchAttributeAliases() map[string]string { + if x != nil { + return x.CustomSearchAttributeAliases + } + return nil +} + +type BadBinaries struct { + state protoimpl.MessageState `protogen:"open.v1"` + Binaries map[string]*BadBinaryInfo `protobuf:"bytes,1,rep,name=binaries,proto3" json:"binaries,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BadBinaries) Reset() { + *x = BadBinaries{} + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BadBinaries) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BadBinaries) ProtoMessage() {} + +func (x *BadBinaries) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BadBinaries.ProtoReflect.Descriptor instead. +func (*BadBinaries) Descriptor() ([]byte, []int) { + return file_temporal_api_namespace_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *BadBinaries) GetBinaries() map[string]*BadBinaryInfo { + if x != nil { + return x.Binaries + } + return nil +} + +type BadBinaryInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` + Operator string `protobuf:"bytes,2,opt,name=operator,proto3" json:"operator,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BadBinaryInfo) Reset() { + *x = BadBinaryInfo{} + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BadBinaryInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BadBinaryInfo) ProtoMessage() {} + +func (x *BadBinaryInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BadBinaryInfo.ProtoReflect.Descriptor instead. +func (*BadBinaryInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_namespace_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *BadBinaryInfo) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *BadBinaryInfo) GetOperator() string { + if x != nil { + return x.Operator + } + return "" +} + +func (x *BadBinaryInfo) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +type UpdateNamespaceInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"` + OwnerEmail string `protobuf:"bytes,2,opt,name=owner_email,json=ownerEmail,proto3" json:"owner_email,omitempty"` + // A key-value map for any customized purpose. + // If data already exists on the namespace, + // this will merge with the existing key values. + Data map[string]string `protobuf:"bytes,3,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // New namespace state, server will reject if transition is not allowed. + // Allowed transitions are: + // + // Registered -> [ Deleted | Deprecated | Handover ] + // Handover -> [ Registered ] + // + // Default is NAMESPACE_STATE_UNSPECIFIED which is do not change state. + State v1.NamespaceState `protobuf:"varint,4,opt,name=state,proto3,enum=temporal.api.enums.v1.NamespaceState" json:"state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNamespaceInfo) Reset() { + *x = UpdateNamespaceInfo{} + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNamespaceInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNamespaceInfo) ProtoMessage() {} + +func (x *UpdateNamespaceInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNamespaceInfo.ProtoReflect.Descriptor instead. +func (*UpdateNamespaceInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_namespace_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *UpdateNamespaceInfo) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *UpdateNamespaceInfo) GetOwnerEmail() string { + if x != nil { + return x.OwnerEmail + } + return "" +} + +func (x *UpdateNamespaceInfo) GetData() map[string]string { + if x != nil { + return x.Data + } + return nil +} + +func (x *UpdateNamespaceInfo) GetState() v1.NamespaceState { + if x != nil { + return x.State + } + return v1.NamespaceState(0) +} + +type NamespaceFilter struct { + state protoimpl.MessageState `protogen:"open.v1"` + // By default namespaces in NAMESPACE_STATE_DELETED state are not included. + // Setting include_deleted to true will include deleted namespaces. + // Note: Namespace is in NAMESPACE_STATE_DELETED state when it was deleted from the system but associated data is not deleted yet. + IncludeDeleted bool `protobuf:"varint,1,opt,name=include_deleted,json=includeDeleted,proto3" json:"include_deleted,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NamespaceFilter) Reset() { + *x = NamespaceFilter{} + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NamespaceFilter) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NamespaceFilter) ProtoMessage() {} + +func (x *NamespaceFilter) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NamespaceFilter.ProtoReflect.Descriptor instead. +func (*NamespaceFilter) Descriptor() ([]byte, []int) { + return file_temporal_api_namespace_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *NamespaceFilter) GetIncludeDeleted() bool { + if x != nil { + return x.IncludeDeleted + } + return false +} + +// Namespace capability details. Should contain what features are enabled in a namespace. +type NamespaceInfo_Capabilities struct { + state protoimpl.MessageState `protogen:"open.v1"` + // True if the namespace supports eager workflow start. + EagerWorkflowStart bool `protobuf:"varint,1,opt,name=eager_workflow_start,json=eagerWorkflowStart,proto3" json:"eager_workflow_start,omitempty"` + // True if the namespace supports sync update + SyncUpdate bool `protobuf:"varint,2,opt,name=sync_update,json=syncUpdate,proto3" json:"sync_update,omitempty"` + // True if the namespace supports async update + AsyncUpdate bool `protobuf:"varint,3,opt,name=async_update,json=asyncUpdate,proto3" json:"async_update,omitempty"` + // True if the namespace supports worker heartbeats + WorkerHeartbeats bool `protobuf:"varint,4,opt,name=worker_heartbeats,json=workerHeartbeats,proto3" json:"worker_heartbeats,omitempty"` + // True if the namespace supports reported problems search attribute + ReportedProblemsSearchAttribute bool `protobuf:"varint,5,opt,name=reported_problems_search_attribute,json=reportedProblemsSearchAttribute,proto3" json:"reported_problems_search_attribute,omitempty"` + // True if the namespace supports pausing workflows + WorkflowPause bool `protobuf:"varint,6,opt,name=workflow_pause,json=workflowPause,proto3" json:"workflow_pause,omitempty"` + // True if the namespace supports standalone activities + StandaloneActivities bool `protobuf:"varint,7,opt,name=standalone_activities,json=standaloneActivities,proto3" json:"standalone_activities,omitempty"` + // True if the namespace supports server-side completion of outstanding worker polls on shutdown. + // When enabled, the server will complete polls for workers that send WorkerInstanceKey in their + // poll requests and call ShutdownWorker with the same WorkerInstanceKey. The poll will return + // an empty response. When this flag is true, workers should allow polls to return gracefully + // rather than terminating any open polls on shutdown. + WorkerPollCompleteOnShutdown bool `protobuf:"varint,8,opt,name=worker_poll_complete_on_shutdown,json=workerPollCompleteOnShutdown,proto3" json:"worker_poll_complete_on_shutdown,omitempty"` + // True if the namespace supports poller autoscaling + PollerAutoscaling bool `protobuf:"varint,9,opt,name=poller_autoscaling,json=pollerAutoscaling,proto3" json:"poller_autoscaling,omitempty"` + // True if the namespace supports worker commands (server-to-worker communication via control queues). + WorkerCommands bool `protobuf:"varint,10,opt,name=worker_commands,json=workerCommands,proto3" json:"worker_commands,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NamespaceInfo_Capabilities) Reset() { + *x = NamespaceInfo_Capabilities{} + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NamespaceInfo_Capabilities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NamespaceInfo_Capabilities) ProtoMessage() {} + +func (x *NamespaceInfo_Capabilities) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NamespaceInfo_Capabilities.ProtoReflect.Descriptor instead. +func (*NamespaceInfo_Capabilities) Descriptor() ([]byte, []int) { + return file_temporal_api_namespace_v1_message_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *NamespaceInfo_Capabilities) GetEagerWorkflowStart() bool { + if x != nil { + return x.EagerWorkflowStart + } + return false +} + +func (x *NamespaceInfo_Capabilities) GetSyncUpdate() bool { + if x != nil { + return x.SyncUpdate + } + return false +} + +func (x *NamespaceInfo_Capabilities) GetAsyncUpdate() bool { + if x != nil { + return x.AsyncUpdate + } + return false +} + +func (x *NamespaceInfo_Capabilities) GetWorkerHeartbeats() bool { + if x != nil { + return x.WorkerHeartbeats + } + return false +} + +func (x *NamespaceInfo_Capabilities) GetReportedProblemsSearchAttribute() bool { + if x != nil { + return x.ReportedProblemsSearchAttribute + } + return false +} + +func (x *NamespaceInfo_Capabilities) GetWorkflowPause() bool { + if x != nil { + return x.WorkflowPause + } + return false +} + +func (x *NamespaceInfo_Capabilities) GetStandaloneActivities() bool { + if x != nil { + return x.StandaloneActivities + } + return false +} + +func (x *NamespaceInfo_Capabilities) GetWorkerPollCompleteOnShutdown() bool { + if x != nil { + return x.WorkerPollCompleteOnShutdown + } + return false +} + +func (x *NamespaceInfo_Capabilities) GetPollerAutoscaling() bool { + if x != nil { + return x.PollerAutoscaling + } + return false +} + +func (x *NamespaceInfo_Capabilities) GetWorkerCommands() bool { + if x != nil { + return x.WorkerCommands + } + return false +} + +type NamespaceInfo_Limits struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Maximum size in bytes for payload fields in workflow history events + // (e.g., workflow/activity inputs and results, failure details, signal payloads). + // When exceeded, the server will reject the operation with an error. + BlobSizeLimitError int64 `protobuf:"varint,1,opt,name=blob_size_limit_error,json=blobSizeLimitError,proto3" json:"blob_size_limit_error,omitempty"` + // Maximum total memo size in bytes per workflow execution. + MemoSizeLimitError int64 `protobuf:"varint,2,opt,name=memo_size_limit_error,json=memoSizeLimitError,proto3" json:"memo_size_limit_error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NamespaceInfo_Limits) Reset() { + *x = NamespaceInfo_Limits{} + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NamespaceInfo_Limits) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NamespaceInfo_Limits) ProtoMessage() {} + +func (x *NamespaceInfo_Limits) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_namespace_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NamespaceInfo_Limits.ProtoReflect.Descriptor instead. +func (*NamespaceInfo_Limits) Descriptor() ([]byte, []int) { + return file_temporal_api_namespace_v1_message_proto_rawDescGZIP(), []int{0, 2} +} + +func (x *NamespaceInfo_Limits) GetBlobSizeLimitError() int64 { + if x != nil { + return x.BlobSizeLimitError + } + return 0 +} + +func (x *NamespaceInfo_Limits) GetMemoSizeLimitError() int64 { + if x != nil { + return x.MemoSizeLimitError + } + return 0 +} + +var File_temporal_api_namespace_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_namespace_v1_message_proto_rawDesc = "" + + "\n" + + "'temporal/api/namespace/v1/message.proto\x12\x19temporal.api.namespace.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a%temporal/api/enums/v1/namespace.proto\"\xf4\b\n" + + "\rNamespaceInfo\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12;\n" + + "\x05state\x18\x02 \x01(\x0e2%.temporal.api.enums.v1.NamespaceStateR\x05state\x12 \n" + + "\vdescription\x18\x03 \x01(\tR\vdescription\x12\x1f\n" + + "\vowner_email\x18\x04 \x01(\tR\n" + + "ownerEmail\x12F\n" + + "\x04data\x18\x05 \x03(\v22.temporal.api.namespace.v1.NamespaceInfo.DataEntryR\x04data\x12\x0e\n" + + "\x02id\x18\x06 \x01(\tR\x02id\x12Y\n" + + "\fcapabilities\x18\a \x01(\v25.temporal.api.namespace.v1.NamespaceInfo.CapabilitiesR\fcapabilities\x12G\n" + + "\x06limits\x18\b \x01(\v2/.temporal.api.namespace.v1.NamespaceInfo.LimitsR\x06limits\x12-\n" + + "\x12supports_schedules\x18d \x01(\bR\x11supportsSchedules\x1a7\n" + + "\tDataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a\xfa\x03\n" + + "\fCapabilities\x120\n" + + "\x14eager_workflow_start\x18\x01 \x01(\bR\x12eagerWorkflowStart\x12\x1f\n" + + "\vsync_update\x18\x02 \x01(\bR\n" + + "syncUpdate\x12!\n" + + "\fasync_update\x18\x03 \x01(\bR\vasyncUpdate\x12+\n" + + "\x11worker_heartbeats\x18\x04 \x01(\bR\x10workerHeartbeats\x12K\n" + + "\"reported_problems_search_attribute\x18\x05 \x01(\bR\x1freportedProblemsSearchAttribute\x12%\n" + + "\x0eworkflow_pause\x18\x06 \x01(\bR\rworkflowPause\x123\n" + + "\x15standalone_activities\x18\a \x01(\bR\x14standaloneActivities\x12F\n" + + " worker_poll_complete_on_shutdown\x18\b \x01(\bR\x1cworkerPollCompleteOnShutdown\x12-\n" + + "\x12poller_autoscaling\x18\t \x01(\bR\x11pollerAutoscaling\x12'\n" + + "\x0fworker_commands\x18\n" + + " \x01(\bR\x0eworkerCommands\x1an\n" + + "\x06Limits\x121\n" + + "\x15blob_size_limit_error\x18\x01 \x01(\x03R\x12blobSizeLimitError\x121\n" + + "\x15memo_size_limit_error\x18\x02 \x01(\x03R\x12memoSizeLimitError\"\xcf\x05\n" + + "\x0fNamespaceConfig\x12b\n" + + " workflow_execution_retention_ttl\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\x1dworkflowExecutionRetentionTtl\x12I\n" + + "\fbad_binaries\x18\x02 \x01(\v2&.temporal.api.namespace.v1.BadBinariesR\vbadBinaries\x12Z\n" + + "\x16history_archival_state\x18\x03 \x01(\x0e2$.temporal.api.enums.v1.ArchivalStateR\x14historyArchivalState\x120\n" + + "\x14history_archival_uri\x18\x04 \x01(\tR\x12historyArchivalUri\x12`\n" + + "\x19visibility_archival_state\x18\x05 \x01(\x0e2$.temporal.api.enums.v1.ArchivalStateR\x17visibilityArchivalState\x126\n" + + "\x17visibility_archival_uri\x18\x06 \x01(\tR\x15visibilityArchivalUri\x12\x93\x01\n" + + "\x1fcustom_search_attribute_aliases\x18\a \x03(\v2L.temporal.api.namespace.v1.NamespaceConfig.CustomSearchAttributeAliasesEntryR\x1ccustomSearchAttributeAliases\x1aO\n" + + "!CustomSearchAttributeAliasesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc6\x01\n" + + "\vBadBinaries\x12P\n" + + "\bbinaries\x18\x01 \x03(\v24.temporal.api.namespace.v1.BadBinaries.BinariesEntryR\bbinaries\x1ae\n" + + "\rBinariesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12>\n" + + "\x05value\x18\x02 \x01(\v2(.temporal.api.namespace.v1.BadBinaryInfoR\x05value:\x028\x01\"\x80\x01\n" + + "\rBadBinaryInfo\x12\x16\n" + + "\x06reason\x18\x01 \x01(\tR\x06reason\x12\x1a\n" + + "\boperator\x18\x02 \x01(\tR\boperator\x12;\n" + + "\vcreate_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\"\x9c\x02\n" + + "\x13UpdateNamespaceInfo\x12 \n" + + "\vdescription\x18\x01 \x01(\tR\vdescription\x12\x1f\n" + + "\vowner_email\x18\x02 \x01(\tR\n" + + "ownerEmail\x12L\n" + + "\x04data\x18\x03 \x03(\v28.temporal.api.namespace.v1.UpdateNamespaceInfo.DataEntryR\x04data\x12;\n" + + "\x05state\x18\x04 \x01(\x0e2%.temporal.api.enums.v1.NamespaceStateR\x05state\x1a7\n" + + "\tDataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\":\n" + + "\x0fNamespaceFilter\x12'\n" + + "\x0finclude_deleted\x18\x01 \x01(\bR\x0eincludeDeletedB\x98\x01\n" + + "\x1cio.temporal.api.namespace.v1B\fMessageProtoP\x01Z)go.temporal.io/api/namespace/v1;namespace\xaa\x02\x1bTemporalio.Api.Namespace.V1\xea\x02\x1eTemporalio::Api::Namespace::V1b\x06proto3" + +var ( + file_temporal_api_namespace_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_namespace_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_namespace_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_namespace_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_namespace_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_namespace_v1_message_proto_rawDesc), len(file_temporal_api_namespace_v1_message_proto_rawDesc))) + }) + return file_temporal_api_namespace_v1_message_proto_rawDescData +} + +var file_temporal_api_namespace_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_temporal_api_namespace_v1_message_proto_goTypes = []any{ + (*NamespaceInfo)(nil), // 0: temporal.api.namespace.v1.NamespaceInfo + (*NamespaceConfig)(nil), // 1: temporal.api.namespace.v1.NamespaceConfig + (*BadBinaries)(nil), // 2: temporal.api.namespace.v1.BadBinaries + (*BadBinaryInfo)(nil), // 3: temporal.api.namespace.v1.BadBinaryInfo + (*UpdateNamespaceInfo)(nil), // 4: temporal.api.namespace.v1.UpdateNamespaceInfo + (*NamespaceFilter)(nil), // 5: temporal.api.namespace.v1.NamespaceFilter + nil, // 6: temporal.api.namespace.v1.NamespaceInfo.DataEntry + (*NamespaceInfo_Capabilities)(nil), // 7: temporal.api.namespace.v1.NamespaceInfo.Capabilities + (*NamespaceInfo_Limits)(nil), // 8: temporal.api.namespace.v1.NamespaceInfo.Limits + nil, // 9: temporal.api.namespace.v1.NamespaceConfig.CustomSearchAttributeAliasesEntry + nil, // 10: temporal.api.namespace.v1.BadBinaries.BinariesEntry + nil, // 11: temporal.api.namespace.v1.UpdateNamespaceInfo.DataEntry + (v1.NamespaceState)(0), // 12: temporal.api.enums.v1.NamespaceState + (*durationpb.Duration)(nil), // 13: google.protobuf.Duration + (v1.ArchivalState)(0), // 14: temporal.api.enums.v1.ArchivalState + (*timestamppb.Timestamp)(nil), // 15: google.protobuf.Timestamp +} +var file_temporal_api_namespace_v1_message_proto_depIdxs = []int32{ + 12, // 0: temporal.api.namespace.v1.NamespaceInfo.state:type_name -> temporal.api.enums.v1.NamespaceState + 6, // 1: temporal.api.namespace.v1.NamespaceInfo.data:type_name -> temporal.api.namespace.v1.NamespaceInfo.DataEntry + 7, // 2: temporal.api.namespace.v1.NamespaceInfo.capabilities:type_name -> temporal.api.namespace.v1.NamespaceInfo.Capabilities + 8, // 3: temporal.api.namespace.v1.NamespaceInfo.limits:type_name -> temporal.api.namespace.v1.NamespaceInfo.Limits + 13, // 4: temporal.api.namespace.v1.NamespaceConfig.workflow_execution_retention_ttl:type_name -> google.protobuf.Duration + 2, // 5: temporal.api.namespace.v1.NamespaceConfig.bad_binaries:type_name -> temporal.api.namespace.v1.BadBinaries + 14, // 6: temporal.api.namespace.v1.NamespaceConfig.history_archival_state:type_name -> temporal.api.enums.v1.ArchivalState + 14, // 7: temporal.api.namespace.v1.NamespaceConfig.visibility_archival_state:type_name -> temporal.api.enums.v1.ArchivalState + 9, // 8: temporal.api.namespace.v1.NamespaceConfig.custom_search_attribute_aliases:type_name -> temporal.api.namespace.v1.NamespaceConfig.CustomSearchAttributeAliasesEntry + 10, // 9: temporal.api.namespace.v1.BadBinaries.binaries:type_name -> temporal.api.namespace.v1.BadBinaries.BinariesEntry + 15, // 10: temporal.api.namespace.v1.BadBinaryInfo.create_time:type_name -> google.protobuf.Timestamp + 11, // 11: temporal.api.namespace.v1.UpdateNamespaceInfo.data:type_name -> temporal.api.namespace.v1.UpdateNamespaceInfo.DataEntry + 12, // 12: temporal.api.namespace.v1.UpdateNamespaceInfo.state:type_name -> temporal.api.enums.v1.NamespaceState + 3, // 13: temporal.api.namespace.v1.BadBinaries.BinariesEntry.value:type_name -> temporal.api.namespace.v1.BadBinaryInfo + 14, // [14:14] is the sub-list for method output_type + 14, // [14:14] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name +} + +func init() { file_temporal_api_namespace_v1_message_proto_init() } +func file_temporal_api_namespace_v1_message_proto_init() { + if File_temporal_api_namespace_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_namespace_v1_message_proto_rawDesc), len(file_temporal_api_namespace_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_namespace_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_namespace_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_namespace_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_namespace_v1_message_proto = out.File + file_temporal_api_namespace_v1_message_proto_goTypes = nil + file_temporal_api_namespace_v1_message_proto_depIdxs = nil +} diff --git a/api_next/nexus/v1/message.go-helpers.pb.go b/api_next/nexus/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..69badd2f --- /dev/null +++ b/api_next/nexus/v1/message.go-helpers.pb.go @@ -0,0 +1,598 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package nexus + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type Failure to the protobuf v3 wire format +func (val *Failure) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Failure from the protobuf v3 wire format +func (val *Failure) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Failure) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Failure values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Failure) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Failure + switch t := that.(type) { + case *Failure: + that1 = t + case Failure: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type HandlerError to the protobuf v3 wire format +func (val *HandlerError) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type HandlerError from the protobuf v3 wire format +func (val *HandlerError) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *HandlerError) Size() int { + return proto.Size(val) +} + +// Equal returns whether two HandlerError values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *HandlerError) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *HandlerError + switch t := that.(type) { + case *HandlerError: + that1 = t + case HandlerError: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UnsuccessfulOperationError to the protobuf v3 wire format +func (val *UnsuccessfulOperationError) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UnsuccessfulOperationError from the protobuf v3 wire format +func (val *UnsuccessfulOperationError) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UnsuccessfulOperationError) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UnsuccessfulOperationError values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UnsuccessfulOperationError) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UnsuccessfulOperationError + switch t := that.(type) { + case *UnsuccessfulOperationError: + that1 = t + case UnsuccessfulOperationError: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Link to the protobuf v3 wire format +func (val *Link) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Link from the protobuf v3 wire format +func (val *Link) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Link) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Link values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Link) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Link + switch t := that.(type) { + case *Link: + that1 = t + case Link: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartOperationRequest to the protobuf v3 wire format +func (val *StartOperationRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartOperationRequest from the protobuf v3 wire format +func (val *StartOperationRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartOperationRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartOperationRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartOperationRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartOperationRequest + switch t := that.(type) { + case *StartOperationRequest: + that1 = t + case StartOperationRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CancelOperationRequest to the protobuf v3 wire format +func (val *CancelOperationRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CancelOperationRequest from the protobuf v3 wire format +func (val *CancelOperationRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CancelOperationRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CancelOperationRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CancelOperationRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CancelOperationRequest + switch t := that.(type) { + case *CancelOperationRequest: + that1 = t + case CancelOperationRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Request to the protobuf v3 wire format +func (val *Request) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Request from the protobuf v3 wire format +func (val *Request) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Request) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Request values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Request) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Request + switch t := that.(type) { + case *Request: + that1 = t + case Request: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartOperationResponse to the protobuf v3 wire format +func (val *StartOperationResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartOperationResponse from the protobuf v3 wire format +func (val *StartOperationResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartOperationResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartOperationResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartOperationResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartOperationResponse + switch t := that.(type) { + case *StartOperationResponse: + that1 = t + case StartOperationResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CancelOperationResponse to the protobuf v3 wire format +func (val *CancelOperationResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CancelOperationResponse from the protobuf v3 wire format +func (val *CancelOperationResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CancelOperationResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CancelOperationResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CancelOperationResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CancelOperationResponse + switch t := that.(type) { + case *CancelOperationResponse: + that1 = t + case CancelOperationResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Response to the protobuf v3 wire format +func (val *Response) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Response from the protobuf v3 wire format +func (val *Response) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Response) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Response values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Response) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Response + switch t := that.(type) { + case *Response: + that1 = t + case Response: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Endpoint to the protobuf v3 wire format +func (val *Endpoint) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Endpoint from the protobuf v3 wire format +func (val *Endpoint) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Endpoint) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Endpoint values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Endpoint) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Endpoint + switch t := that.(type) { + case *Endpoint: + that1 = t + case Endpoint: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type EndpointSpec to the protobuf v3 wire format +func (val *EndpointSpec) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type EndpointSpec from the protobuf v3 wire format +func (val *EndpointSpec) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *EndpointSpec) Size() int { + return proto.Size(val) +} + +// Equal returns whether two EndpointSpec values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *EndpointSpec) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *EndpointSpec + switch t := that.(type) { + case *EndpointSpec: + that1 = t + case EndpointSpec: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type EndpointTarget to the protobuf v3 wire format +func (val *EndpointTarget) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type EndpointTarget from the protobuf v3 wire format +func (val *EndpointTarget) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *EndpointTarget) Size() int { + return proto.Size(val) +} + +// Equal returns whether two EndpointTarget values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *EndpointTarget) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *EndpointTarget + switch t := that.(type) { + case *EndpointTarget: + that1 = t + case EndpointTarget: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationExecutionCancellationInfo to the protobuf v3 wire format +func (val *NexusOperationExecutionCancellationInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationExecutionCancellationInfo from the protobuf v3 wire format +func (val *NexusOperationExecutionCancellationInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationExecutionCancellationInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationExecutionCancellationInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationExecutionCancellationInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationExecutionCancellationInfo + switch t := that.(type) { + case *NexusOperationExecutionCancellationInfo: + that1 = t + case NexusOperationExecutionCancellationInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationExecutionInfo to the protobuf v3 wire format +func (val *NexusOperationExecutionInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationExecutionInfo from the protobuf v3 wire format +func (val *NexusOperationExecutionInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationExecutionInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationExecutionInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationExecutionInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationExecutionInfo + switch t := that.(type) { + case *NexusOperationExecutionInfo: + that1 = t + case NexusOperationExecutionInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationExecutionListInfo to the protobuf v3 wire format +func (val *NexusOperationExecutionListInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationExecutionListInfo from the protobuf v3 wire format +func (val *NexusOperationExecutionListInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationExecutionListInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationExecutionListInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationExecutionListInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationExecutionListInfo + switch t := that.(type) { + case *NexusOperationExecutionListInfo: + that1 = t + case NexusOperationExecutionListInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/nexus/v1/message.pb.go b/api_next/nexus/v1/message.pb.go new file mode 100644 index 00000000..739b6bd8 --- /dev/null +++ b/api_next/nexus/v1/message.pb.go @@ -0,0 +1,2202 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/nexus/v1/message.proto + +package nexus + +import ( + v11 "go.temporal.io/api/common/v1" + v1 "go.temporal.io/api/enums/v1" + v12 "go.temporal.io/api/failure/v1" + v13 "go.temporal.io/api/sdk/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// A general purpose failure message. +// See: https://github.com/nexus-rpc/api/blob/main/SPEC.md#failure +type Failure struct { + state protoimpl.MessageState `protogen:"open.v1"` + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + StackTrace string `protobuf:"bytes,4,opt,name=stack_trace,json=stackTrace,proto3" json:"stack_trace,omitempty"` + Metadata map[string]string `protobuf:"bytes,2,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // UTF-8 encoded JSON serializable details. + Details []byte `protobuf:"bytes,3,opt,name=details,proto3" json:"details,omitempty"` + Cause *Failure `protobuf:"bytes,5,opt,name=cause,proto3" json:"cause,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Failure) Reset() { + *x = Failure{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Failure) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Failure) ProtoMessage() {} + +func (x *Failure) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Failure.ProtoReflect.Descriptor instead. +func (*Failure) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *Failure) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Failure) GetStackTrace() string { + if x != nil { + return x.StackTrace + } + return "" +} + +func (x *Failure) GetMetadata() map[string]string { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *Failure) GetDetails() []byte { + if x != nil { + return x.Details + } + return nil +} + +func (x *Failure) GetCause() *Failure { + if x != nil { + return x.Cause + } + return nil +} + +type HandlerError struct { + state protoimpl.MessageState `protogen:"open.v1"` + // See https://github.com/nexus-rpc/api/blob/main/SPEC.md#predefined-handler-errors. + ErrorType string `protobuf:"bytes,1,opt,name=error_type,json=errorType,proto3" json:"error_type,omitempty"` + Failure *Failure `protobuf:"bytes,2,opt,name=failure,proto3" json:"failure,omitempty"` + // Retry behavior, defaults to the retry behavior of the error type as defined in the spec. + RetryBehavior v1.NexusHandlerErrorRetryBehavior `protobuf:"varint,3,opt,name=retry_behavior,json=retryBehavior,proto3,enum=temporal.api.enums.v1.NexusHandlerErrorRetryBehavior" json:"retry_behavior,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *HandlerError) Reset() { + *x = HandlerError{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *HandlerError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*HandlerError) ProtoMessage() {} + +func (x *HandlerError) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use HandlerError.ProtoReflect.Descriptor instead. +func (*HandlerError) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *HandlerError) GetErrorType() string { + if x != nil { + return x.ErrorType + } + return "" +} + +func (x *HandlerError) GetFailure() *Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *HandlerError) GetRetryBehavior() v1.NexusHandlerErrorRetryBehavior { + if x != nil { + return x.RetryBehavior + } + return v1.NexusHandlerErrorRetryBehavior(0) +} + +type UnsuccessfulOperationError struct { + state protoimpl.MessageState `protogen:"open.v1"` + // See https://github.com/nexus-rpc/api/blob/main/SPEC.md#operationinfo. + OperationState string `protobuf:"bytes,1,opt,name=operation_state,json=operationState,proto3" json:"operation_state,omitempty"` + Failure *Failure `protobuf:"bytes,2,opt,name=failure,proto3" json:"failure,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnsuccessfulOperationError) Reset() { + *x = UnsuccessfulOperationError{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnsuccessfulOperationError) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnsuccessfulOperationError) ProtoMessage() {} + +func (x *UnsuccessfulOperationError) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnsuccessfulOperationError.ProtoReflect.Descriptor instead. +func (*UnsuccessfulOperationError) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *UnsuccessfulOperationError) GetOperationState() string { + if x != nil { + return x.OperationState + } + return "" +} + +func (x *UnsuccessfulOperationError) GetFailure() *Failure { + if x != nil { + return x.Failure + } + return nil +} + +type Link struct { + state protoimpl.MessageState `protogen:"open.v1"` + // See https://github.com/nexus-rpc/api/blob/main/SPEC.md#links. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Link) Reset() { + *x = Link{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Link) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Link) ProtoMessage() {} + +func (x *Link) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Link.ProtoReflect.Descriptor instead. +func (*Link) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *Link) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +func (x *Link) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +// A request to start an operation. +type StartOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Name of service to start the operation in. + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + // Type of operation to start. + Operation string `protobuf:"bytes,2,opt,name=operation,proto3" json:"operation,omitempty"` + // A request ID that can be used as an idempotentency key. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Callback URL to call upon completion if the started operation is async. + Callback string `protobuf:"bytes,4,opt,name=callback,proto3" json:"callback,omitempty"` + // Full request body from the incoming HTTP request. + Payload *v11.Payload `protobuf:"bytes,5,opt,name=payload,proto3" json:"payload,omitempty"` + // Header that is expected to be attached to the callback request when the operation completes. + CallbackHeader map[string]string `protobuf:"bytes,6,rep,name=callback_header,json=callbackHeader,proto3" json:"callback_header,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Links contain caller information and can be attached to the operations started by the handler. + Links []*Link `protobuf:"bytes,7,rep,name=links,proto3" json:"links,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartOperationRequest) Reset() { + *x = StartOperationRequest{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartOperationRequest) ProtoMessage() {} + +func (x *StartOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartOperationRequest.ProtoReflect.Descriptor instead. +func (*StartOperationRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *StartOperationRequest) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *StartOperationRequest) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +func (x *StartOperationRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *StartOperationRequest) GetCallback() string { + if x != nil { + return x.Callback + } + return "" +} + +func (x *StartOperationRequest) GetPayload() *v11.Payload { + if x != nil { + return x.Payload + } + return nil +} + +func (x *StartOperationRequest) GetCallbackHeader() map[string]string { + if x != nil { + return x.CallbackHeader + } + return nil +} + +func (x *StartOperationRequest) GetLinks() []*Link { + if x != nil { + return x.Links + } + return nil +} + +// A request to cancel an operation. +type CancelOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Service name. + Service string `protobuf:"bytes,1,opt,name=service,proto3" json:"service,omitempty"` + // Type of operation to cancel. + Operation string `protobuf:"bytes,2,opt,name=operation,proto3" json:"operation,omitempty"` + // Operation ID as originally generated by a Handler. + // + // Deprecated. Renamed to operation_token. + // + // Deprecated: Marked as deprecated in temporal/api/nexus/v1/message.proto. + OperationId string `protobuf:"bytes,3,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Operation token as originally generated by a Handler. + OperationToken string `protobuf:"bytes,4,opt,name=operation_token,json=operationToken,proto3" json:"operation_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelOperationRequest) Reset() { + *x = CancelOperationRequest{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelOperationRequest) ProtoMessage() {} + +func (x *CancelOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelOperationRequest.ProtoReflect.Descriptor instead. +func (*CancelOperationRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *CancelOperationRequest) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *CancelOperationRequest) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/nexus/v1/message.proto. +func (x *CancelOperationRequest) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *CancelOperationRequest) GetOperationToken() string { + if x != nil { + return x.OperationToken + } + return "" +} + +// A Nexus request. +type Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Headers extracted from the original request in the Temporal frontend. + // When using Nexus over HTTP, this includes the request's HTTP headers ignoring multiple values. + Header map[string]string `protobuf:"bytes,1,rep,name=header,proto3" json:"header,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // The timestamp when the request was scheduled in the frontend. + // (-- api-linter: core::0142::time-field-names=disabled + // + // aip.dev/not-precedent: Not following linter rules. --) + ScheduledTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=scheduled_time,json=scheduledTime,proto3" json:"scheduled_time,omitempty"` + Capabilities *Request_Capabilities `protobuf:"bytes,100,opt,name=capabilities,proto3" json:"capabilities,omitempty"` + // Types that are valid to be assigned to Variant: + // + // *Request_StartOperation + // *Request_CancelOperation + Variant isRequest_Variant `protobuf_oneof:"variant"` + // The endpoint this request was addressed to before forwarding to the worker. + // Supported from server version 1.30.0. + Endpoint string `protobuf:"bytes,10,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Request) Reset() { + *x = Request{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Request) ProtoMessage() {} + +func (x *Request) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Request.ProtoReflect.Descriptor instead. +func (*Request) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *Request) GetHeader() map[string]string { + if x != nil { + return x.Header + } + return nil +} + +func (x *Request) GetScheduledTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledTime + } + return nil +} + +func (x *Request) GetCapabilities() *Request_Capabilities { + if x != nil { + return x.Capabilities + } + return nil +} + +func (x *Request) GetVariant() isRequest_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *Request) GetStartOperation() *StartOperationRequest { + if x != nil { + if x, ok := x.Variant.(*Request_StartOperation); ok { + return x.StartOperation + } + } + return nil +} + +func (x *Request) GetCancelOperation() *CancelOperationRequest { + if x != nil { + if x, ok := x.Variant.(*Request_CancelOperation); ok { + return x.CancelOperation + } + } + return nil +} + +func (x *Request) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +type isRequest_Variant interface { + isRequest_Variant() +} + +type Request_StartOperation struct { + StartOperation *StartOperationRequest `protobuf:"bytes,3,opt,name=start_operation,json=startOperation,proto3,oneof"` +} + +type Request_CancelOperation struct { + CancelOperation *CancelOperationRequest `protobuf:"bytes,4,opt,name=cancel_operation,json=cancelOperation,proto3,oneof"` +} + +func (*Request_StartOperation) isRequest_Variant() {} + +func (*Request_CancelOperation) isRequest_Variant() {} + +// Response variant for StartOperationRequest. +type StartOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Variant: + // + // *StartOperationResponse_SyncSuccess + // *StartOperationResponse_AsyncSuccess + // *StartOperationResponse_OperationError + // *StartOperationResponse_Failure + Variant isStartOperationResponse_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartOperationResponse) Reset() { + *x = StartOperationResponse{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartOperationResponse) ProtoMessage() {} + +func (x *StartOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartOperationResponse.ProtoReflect.Descriptor instead. +func (*StartOperationResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *StartOperationResponse) GetVariant() isStartOperationResponse_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *StartOperationResponse) GetSyncSuccess() *StartOperationResponse_Sync { + if x != nil { + if x, ok := x.Variant.(*StartOperationResponse_SyncSuccess); ok { + return x.SyncSuccess + } + } + return nil +} + +func (x *StartOperationResponse) GetAsyncSuccess() *StartOperationResponse_Async { + if x != nil { + if x, ok := x.Variant.(*StartOperationResponse_AsyncSuccess); ok { + return x.AsyncSuccess + } + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/nexus/v1/message.proto. +func (x *StartOperationResponse) GetOperationError() *UnsuccessfulOperationError { + if x != nil { + if x, ok := x.Variant.(*StartOperationResponse_OperationError); ok { + return x.OperationError + } + } + return nil +} + +func (x *StartOperationResponse) GetFailure() *v12.Failure { + if x != nil { + if x, ok := x.Variant.(*StartOperationResponse_Failure); ok { + return x.Failure + } + } + return nil +} + +type isStartOperationResponse_Variant interface { + isStartOperationResponse_Variant() +} + +type StartOperationResponse_SyncSuccess struct { + SyncSuccess *StartOperationResponse_Sync `protobuf:"bytes,1,opt,name=sync_success,json=syncSuccess,proto3,oneof"` +} + +type StartOperationResponse_AsyncSuccess struct { + AsyncSuccess *StartOperationResponse_Async `protobuf:"bytes,2,opt,name=async_success,json=asyncSuccess,proto3,oneof"` +} + +type StartOperationResponse_OperationError struct { + // The operation completed unsuccessfully (failed or canceled). + // Deprecated. Use the failure variant instead. + // + // Deprecated: Marked as deprecated in temporal/api/nexus/v1/message.proto. + OperationError *UnsuccessfulOperationError `protobuf:"bytes,3,opt,name=operation_error,json=operationError,proto3,oneof"` +} + +type StartOperationResponse_Failure struct { + // The operation completed unsuccessfully (failed or canceled). + // Failure object must contain an ApplicationFailureInfo or CanceledFailureInfo object. + Failure *v12.Failure `protobuf:"bytes,4,opt,name=failure,proto3,oneof"` +} + +func (*StartOperationResponse_SyncSuccess) isStartOperationResponse_Variant() {} + +func (*StartOperationResponse_AsyncSuccess) isStartOperationResponse_Variant() {} + +func (*StartOperationResponse_OperationError) isStartOperationResponse_Variant() {} + +func (*StartOperationResponse_Failure) isStartOperationResponse_Variant() {} + +// Response variant for CancelOperationRequest. +type CancelOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelOperationResponse) Reset() { + *x = CancelOperationResponse{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelOperationResponse) ProtoMessage() {} + +func (x *CancelOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelOperationResponse.ProtoReflect.Descriptor instead. +func (*CancelOperationResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{8} +} + +// A response indicating that the handler has successfully processed a request. +type Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Variant must correlate to the corresponding Request's variant. + // + // Types that are valid to be assigned to Variant: + // + // *Response_StartOperation + // *Response_CancelOperation + Variant isResponse_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Response) Reset() { + *x = Response{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Response) ProtoMessage() {} + +func (x *Response) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Response.ProtoReflect.Descriptor instead. +func (*Response) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *Response) GetVariant() isResponse_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *Response) GetStartOperation() *StartOperationResponse { + if x != nil { + if x, ok := x.Variant.(*Response_StartOperation); ok { + return x.StartOperation + } + } + return nil +} + +func (x *Response) GetCancelOperation() *CancelOperationResponse { + if x != nil { + if x, ok := x.Variant.(*Response_CancelOperation); ok { + return x.CancelOperation + } + } + return nil +} + +type isResponse_Variant interface { + isResponse_Variant() +} + +type Response_StartOperation struct { + StartOperation *StartOperationResponse `protobuf:"bytes,1,opt,name=start_operation,json=startOperation,proto3,oneof"` +} + +type Response_CancelOperation struct { + CancelOperation *CancelOperationResponse `protobuf:"bytes,2,opt,name=cancel_operation,json=cancelOperation,proto3,oneof"` +} + +func (*Response_StartOperation) isResponse_Variant() {} + +func (*Response_CancelOperation) isResponse_Variant() {} + +// A cluster-global binding from an endpoint ID to a target for dispatching incoming Nexus requests. +type Endpoint struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Data version for this endpoint, incremented for every update issued via the UpdateNexusEndpoint API. + Version int64 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + // Unique server-generated endpoint ID. + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // Spec for the endpoint. + Spec *EndpointSpec `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"` + // The date and time when the endpoint was created. + // (-- api-linter: core::0142::time-field-names=disabled + // + // aip.dev/not-precedent: Not following linter rules. --) + CreatedTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_time,json=createdTime,proto3" json:"created_time,omitempty"` + // The date and time when the endpoint was last modified. + // Will not be set if the endpoint has never been modified. + // (-- api-linter: core::0142::time-field-names=disabled + // + // aip.dev/not-precedent: Not following linter rules. --) + LastModifiedTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_modified_time,json=lastModifiedTime,proto3" json:"last_modified_time,omitempty"` + // Server exposed URL prefix for invocation of operations on this endpoint. + // This doesn't include the protocol, hostname or port as the server does not know how it should be accessed + // publicly. The URL is stable in the face of endpoint renames. + UrlPrefix string `protobuf:"bytes,6,opt,name=url_prefix,json=urlPrefix,proto3" json:"url_prefix,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Endpoint) Reset() { + *x = Endpoint{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Endpoint) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Endpoint) ProtoMessage() {} + +func (x *Endpoint) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Endpoint.ProtoReflect.Descriptor instead. +func (*Endpoint) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *Endpoint) GetVersion() int64 { + if x != nil { + return x.Version + } + return 0 +} + +func (x *Endpoint) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Endpoint) GetSpec() *EndpointSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *Endpoint) GetCreatedTime() *timestamppb.Timestamp { + if x != nil { + return x.CreatedTime + } + return nil +} + +func (x *Endpoint) GetLastModifiedTime() *timestamppb.Timestamp { + if x != nil { + return x.LastModifiedTime + } + return nil +} + +func (x *Endpoint) GetUrlPrefix() string { + if x != nil { + return x.UrlPrefix + } + return "" +} + +// Contains mutable fields for an Endpoint. +type EndpointSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Endpoint name, unique for this cluster. Must match `[a-zA-Z_][a-zA-Z0-9_]*`. + // Renaming an endpoint breaks all workflow callers that reference this endpoint, causing operations to fail. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Markdown description serialized as a single JSON string. + // If the Payload is encrypted, the UI and CLI may decrypt with the configured codec server endpoint. + // By default, the server enforces a limit of 20,000 bytes for this entire payload. + Description *v11.Payload `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + // Target to route requests to. + Target *EndpointTarget `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EndpointSpec) Reset() { + *x = EndpointSpec{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EndpointSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndpointSpec) ProtoMessage() {} + +func (x *EndpointSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndpointSpec.ProtoReflect.Descriptor instead. +func (*EndpointSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{11} +} + +func (x *EndpointSpec) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *EndpointSpec) GetDescription() *v11.Payload { + if x != nil { + return x.Description + } + return nil +} + +func (x *EndpointSpec) GetTarget() *EndpointTarget { + if x != nil { + return x.Target + } + return nil +} + +// Target to route requests to. +type EndpointTarget struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Variant: + // + // *EndpointTarget_Worker_ + // *EndpointTarget_External_ + Variant isEndpointTarget_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EndpointTarget) Reset() { + *x = EndpointTarget{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EndpointTarget) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndpointTarget) ProtoMessage() {} + +func (x *EndpointTarget) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndpointTarget.ProtoReflect.Descriptor instead. +func (*EndpointTarget) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{12} +} + +func (x *EndpointTarget) GetVariant() isEndpointTarget_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *EndpointTarget) GetWorker() *EndpointTarget_Worker { + if x != nil { + if x, ok := x.Variant.(*EndpointTarget_Worker_); ok { + return x.Worker + } + } + return nil +} + +func (x *EndpointTarget) GetExternal() *EndpointTarget_External { + if x != nil { + if x, ok := x.Variant.(*EndpointTarget_External_); ok { + return x.External + } + } + return nil +} + +type isEndpointTarget_Variant interface { + isEndpointTarget_Variant() +} + +type EndpointTarget_Worker_ struct { + Worker *EndpointTarget_Worker `protobuf:"bytes,1,opt,name=worker,proto3,oneof"` +} + +type EndpointTarget_External_ struct { + External *EndpointTarget_External `protobuf:"bytes,2,opt,name=external,proto3,oneof"` +} + +func (*EndpointTarget_Worker_) isEndpointTarget_Variant() {} + +func (*EndpointTarget_External_) isEndpointTarget_Variant() {} + +// NexusOperationExecutionCancellationInfo contains the state of a Nexus operation cancellation. +type NexusOperationExecutionCancellationInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The time when cancellation was requested. + RequestedTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=requested_time,json=requestedTime,proto3" json:"requested_time,omitempty"` + State v1.NexusOperationCancellationState `protobuf:"varint,2,opt,name=state,proto3,enum=temporal.api.enums.v1.NexusOperationCancellationState" json:"state,omitempty"` + // The number of attempts made to deliver the cancel operation request. + // This number represents a minimum bound since the attempt is incremented after the request completes. + Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"` + // The time when the last attempt completed. + LastAttemptCompleteTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_attempt_complete_time,json=lastAttemptCompleteTime,proto3" json:"last_attempt_complete_time,omitempty"` + // The last attempt's failure, if any. + LastAttemptFailure *v12.Failure `protobuf:"bytes,5,opt,name=last_attempt_failure,json=lastAttemptFailure,proto3" json:"last_attempt_failure,omitempty"` + // The time when the next attempt is scheduled. + NextAttemptScheduleTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=next_attempt_schedule_time,json=nextAttemptScheduleTime,proto3" json:"next_attempt_schedule_time,omitempty"` + // If the state is BLOCKED, blocked reason provides additional information. + BlockedReason string `protobuf:"bytes,7,opt,name=blocked_reason,json=blockedReason,proto3" json:"blocked_reason,omitempty"` + // A reason that may be specified in the CancelNexusOperationRequest. + Reason string `protobuf:"bytes,8,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationExecutionCancellationInfo) Reset() { + *x = NexusOperationExecutionCancellationInfo{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationExecutionCancellationInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationExecutionCancellationInfo) ProtoMessage() {} + +func (x *NexusOperationExecutionCancellationInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationExecutionCancellationInfo.ProtoReflect.Descriptor instead. +func (*NexusOperationExecutionCancellationInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{13} +} + +func (x *NexusOperationExecutionCancellationInfo) GetRequestedTime() *timestamppb.Timestamp { + if x != nil { + return x.RequestedTime + } + return nil +} + +func (x *NexusOperationExecutionCancellationInfo) GetState() v1.NexusOperationCancellationState { + if x != nil { + return x.State + } + return v1.NexusOperationCancellationState(0) +} + +func (x *NexusOperationExecutionCancellationInfo) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *NexusOperationExecutionCancellationInfo) GetLastAttemptCompleteTime() *timestamppb.Timestamp { + if x != nil { + return x.LastAttemptCompleteTime + } + return nil +} + +func (x *NexusOperationExecutionCancellationInfo) GetLastAttemptFailure() *v12.Failure { + if x != nil { + return x.LastAttemptFailure + } + return nil +} + +func (x *NexusOperationExecutionCancellationInfo) GetNextAttemptScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.NextAttemptScheduleTime + } + return nil +} + +func (x *NexusOperationExecutionCancellationInfo) GetBlockedReason() string { + if x != nil { + return x.BlockedReason + } + return "" +} + +func (x *NexusOperationExecutionCancellationInfo) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +// Full current state of a standalone Nexus operation, as of the time of the request. +type NexusOperationExecutionInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unique identifier of this Nexus operation within its namespace along with run ID (below). + OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Endpoint name, resolved to a URL via the cluster's endpoint registry. + Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Service name. + Service string `protobuf:"bytes,4,opt,name=service,proto3" json:"service,omitempty"` + // Operation name. + Operation string `protobuf:"bytes,5,opt,name=operation,proto3" json:"operation,omitempty"` + // A general status for this operation, indicates whether it is currently running or in one of the terminal statuses. + // Updated once when the operation is originally scheduled, and again when it reaches a terminal status. + Status v1.NexusOperationExecutionStatus `protobuf:"varint,6,opt,name=status,proto3,enum=temporal.api.enums.v1.NexusOperationExecutionStatus" json:"status,omitempty"` + // More detailed breakdown of NEXUS_OPERATION_EXECUTION_STATUS_RUNNING. + State v1.PendingNexusOperationState `protobuf:"varint,7,opt,name=state,proto3,enum=temporal.api.enums.v1.PendingNexusOperationState" json:"state,omitempty"` + // Schedule-to-close timeout for this operation. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Schedule-to-start timeout for this operation. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,9,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Start-to-close timeout for this operation. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + // The number of attempts made to deliver the start operation request. + // This number is approximate, it is incremented when a task is added to the history queue. + // In practice, there could be more attempts if a task is executed but fails to commit, or less attempts if a task + // was never executed. + Attempt int32 `protobuf:"varint,11,opt,name=attempt,proto3" json:"attempt,omitempty"` + // Time the operation was originally scheduled via a StartNexusOperation request. + ScheduleTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"` + // Scheduled time + schedule to close timeout. + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + // Time when the operation transitioned to a closed state. + CloseTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"` + // The time when the last attempt completed. + LastAttemptCompleteTime *timestamppb.Timestamp `protobuf:"bytes,15,opt,name=last_attempt_complete_time,json=lastAttemptCompleteTime,proto3" json:"last_attempt_complete_time,omitempty"` + // The last attempt's failure, if any. + LastAttemptFailure *v12.Failure `protobuf:"bytes,16,opt,name=last_attempt_failure,json=lastAttemptFailure,proto3" json:"last_attempt_failure,omitempty"` + // The time when the next attempt is scheduled. + NextAttemptScheduleTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=next_attempt_schedule_time,json=nextAttemptScheduleTime,proto3" json:"next_attempt_schedule_time,omitempty"` + // Elapsed time from schedule_time to now for running operations or to close_time for closed + // operations, including all attempts and backoff between attempts. + ExecutionDuration *durationpb.Duration `protobuf:"bytes,18,opt,name=execution_duration,json=executionDuration,proto3" json:"execution_duration,omitempty"` + CancellationInfo *NexusOperationExecutionCancellationInfo `protobuf:"bytes,19,opt,name=cancellation_info,json=cancellationInfo,proto3" json:"cancellation_info,omitempty"` + // If the state is BLOCKED, blocked reason provides additional information. + BlockedReason string `protobuf:"bytes,20,opt,name=blocked_reason,json=blockedReason,proto3" json:"blocked_reason,omitempty"` + // Server-generated request ID used as an idempotency token when submitting start requests to + // the handler. Distinct from the request_id in StartNexusOperationRequest, which is the + // caller-side idempotency key for the StartNexusOperation RPC itself. + RequestId string `protobuf:"bytes,21,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Operation token. Only set for asynchronous operations after a successful StartOperation call. + OperationToken string `protobuf:"bytes,22,opt,name=operation_token,json=operationToken,proto3" json:"operation_token,omitempty"` + // Incremented each time the operation's state is mutated in persistence. + StateTransitionCount int64 `protobuf:"varint,23,opt,name=state_transition_count,json=stateTransitionCount,proto3" json:"state_transition_count,omitempty"` + SearchAttributes *v11.SearchAttributes `protobuf:"bytes,24,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // Header for context propagation and tracing purposes. + NexusHeader map[string]string `protobuf:"bytes,25,rep,name=nexus_header,json=nexusHeader,proto3" json:"nexus_header,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Metadata for use by user interfaces to display the fixed as-of-start summary and details of the operation. + UserMetadata *v13.UserMetadata `protobuf:"bytes,26,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + // Links attached by the handler of this operation on start or completion. + Links []*v11.Link `protobuf:"bytes,27,rep,name=links,proto3" json:"links,omitempty"` + // The identity of the client who started this operation. + Identity string `protobuf:"bytes,28,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationExecutionInfo) Reset() { + *x = NexusOperationExecutionInfo{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationExecutionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationExecutionInfo) ProtoMessage() {} + +func (x *NexusOperationExecutionInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationExecutionInfo.ProtoReflect.Descriptor instead. +func (*NexusOperationExecutionInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{14} +} + +func (x *NexusOperationExecutionInfo) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *NexusOperationExecutionInfo) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *NexusOperationExecutionInfo) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *NexusOperationExecutionInfo) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *NexusOperationExecutionInfo) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +func (x *NexusOperationExecutionInfo) GetStatus() v1.NexusOperationExecutionStatus { + if x != nil { + return x.Status + } + return v1.NexusOperationExecutionStatus(0) +} + +func (x *NexusOperationExecutionInfo) GetState() v1.PendingNexusOperationState { + if x != nil { + return x.State + } + return v1.PendingNexusOperationState(0) +} + +func (x *NexusOperationExecutionInfo) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *NexusOperationExecutionInfo) GetScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduleTime + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetCloseTime() *timestamppb.Timestamp { + if x != nil { + return x.CloseTime + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetLastAttemptCompleteTime() *timestamppb.Timestamp { + if x != nil { + return x.LastAttemptCompleteTime + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetLastAttemptFailure() *v12.Failure { + if x != nil { + return x.LastAttemptFailure + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetNextAttemptScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.NextAttemptScheduleTime + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetExecutionDuration() *durationpb.Duration { + if x != nil { + return x.ExecutionDuration + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetCancellationInfo() *NexusOperationExecutionCancellationInfo { + if x != nil { + return x.CancellationInfo + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetBlockedReason() string { + if x != nil { + return x.BlockedReason + } + return "" +} + +func (x *NexusOperationExecutionInfo) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *NexusOperationExecutionInfo) GetOperationToken() string { + if x != nil { + return x.OperationToken + } + return "" +} + +func (x *NexusOperationExecutionInfo) GetStateTransitionCount() int64 { + if x != nil { + return x.StateTransitionCount + } + return 0 +} + +func (x *NexusOperationExecutionInfo) GetSearchAttributes() *v11.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetNexusHeader() map[string]string { + if x != nil { + return x.NexusHeader + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetUserMetadata() *v13.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetLinks() []*v11.Link { + if x != nil { + return x.Links + } + return nil +} + +func (x *NexusOperationExecutionInfo) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +// Limited Nexus operation information returned in the list response. +// When adding fields here, ensure that it is also present in NexusOperationExecutionInfo (note that it may already be present in +// NexusOperationExecutionInfo but not at the top-level). +type NexusOperationExecutionListInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A unique identifier of this operation within its namespace along with run ID (below). + OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // The run ID of the standalone Nexus operation. + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Endpoint name. + Endpoint string `protobuf:"bytes,3,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Service name. + Service string `protobuf:"bytes,4,opt,name=service,proto3" json:"service,omitempty"` + // Operation name. + Operation string `protobuf:"bytes,5,opt,name=operation,proto3" json:"operation,omitempty"` + // Time the operation was originally scheduled via a StartNexusOperation request. + ScheduleTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"` + // If the operation is in a terminal status, this field represents the time the operation transitioned to that status. + CloseTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"` + // The status is updated once, when the operation is originally scheduled, and again when the operation reaches a terminal status. + Status v1.NexusOperationExecutionStatus `protobuf:"varint,8,opt,name=status,proto3,enum=temporal.api.enums.v1.NexusOperationExecutionStatus" json:"status,omitempty"` + // Search attributes from the start request. + SearchAttributes *v11.SearchAttributes `protobuf:"bytes,9,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // Updated on terminal status. + StateTransitionCount int64 `protobuf:"varint,10,opt,name=state_transition_count,json=stateTransitionCount,proto3" json:"state_transition_count,omitempty"` + // The difference between close time and scheduled time. + // This field is only populated if the operation is closed. + ExecutionDuration *durationpb.Duration `protobuf:"bytes,11,opt,name=execution_duration,json=executionDuration,proto3" json:"execution_duration,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationExecutionListInfo) Reset() { + *x = NexusOperationExecutionListInfo{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationExecutionListInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationExecutionListInfo) ProtoMessage() {} + +func (x *NexusOperationExecutionListInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationExecutionListInfo.ProtoReflect.Descriptor instead. +func (*NexusOperationExecutionListInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{15} +} + +func (x *NexusOperationExecutionListInfo) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *NexusOperationExecutionListInfo) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *NexusOperationExecutionListInfo) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *NexusOperationExecutionListInfo) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *NexusOperationExecutionListInfo) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +func (x *NexusOperationExecutionListInfo) GetScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduleTime + } + return nil +} + +func (x *NexusOperationExecutionListInfo) GetCloseTime() *timestamppb.Timestamp { + if x != nil { + return x.CloseTime + } + return nil +} + +func (x *NexusOperationExecutionListInfo) GetStatus() v1.NexusOperationExecutionStatus { + if x != nil { + return x.Status + } + return v1.NexusOperationExecutionStatus(0) +} + +func (x *NexusOperationExecutionListInfo) GetSearchAttributes() *v11.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *NexusOperationExecutionListInfo) GetStateTransitionCount() int64 { + if x != nil { + return x.StateTransitionCount + } + return 0 +} + +func (x *NexusOperationExecutionListInfo) GetExecutionDuration() *durationpb.Duration { + if x != nil { + return x.ExecutionDuration + } + return nil +} + +type Request_Capabilities struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If set, handlers may use temporal.api.failure.v1.Failure instances to return failures to the server. + // This also allows handler and operation errors to have their own messages and stack traces. + TemporalFailureResponses bool `protobuf:"varint,1,opt,name=temporal_failure_responses,json=temporalFailureResponses,proto3" json:"temporal_failure_responses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Request_Capabilities) Reset() { + *x = Request_Capabilities{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Request_Capabilities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Request_Capabilities) ProtoMessage() {} + +func (x *Request_Capabilities) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Request_Capabilities.ProtoReflect.Descriptor instead. +func (*Request_Capabilities) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *Request_Capabilities) GetTemporalFailureResponses() bool { + if x != nil { + return x.TemporalFailureResponses + } + return false +} + +// An operation completed successfully. +type StartOperationResponse_Sync struct { + state protoimpl.MessageState `protogen:"open.v1"` + Payload *v11.Payload `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + Links []*Link `protobuf:"bytes,2,rep,name=links,proto3" json:"links,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartOperationResponse_Sync) Reset() { + *x = StartOperationResponse_Sync{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartOperationResponse_Sync) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartOperationResponse_Sync) ProtoMessage() {} + +func (x *StartOperationResponse_Sync) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartOperationResponse_Sync.ProtoReflect.Descriptor instead. +func (*StartOperationResponse_Sync) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{7, 0} +} + +func (x *StartOperationResponse_Sync) GetPayload() *v11.Payload { + if x != nil { + return x.Payload + } + return nil +} + +func (x *StartOperationResponse_Sync) GetLinks() []*Link { + if x != nil { + return x.Links + } + return nil +} + +// The operation will complete asynchronously. +// The returned ID can be used to reference this operation. +type StartOperationResponse_Async struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated. Renamed to operation_token. + // + // Deprecated: Marked as deprecated in temporal/api/nexus/v1/message.proto. + OperationId string `protobuf:"bytes,1,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + Links []*Link `protobuf:"bytes,2,rep,name=links,proto3" json:"links,omitempty"` + OperationToken string `protobuf:"bytes,3,opt,name=operation_token,json=operationToken,proto3" json:"operation_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartOperationResponse_Async) Reset() { + *x = StartOperationResponse_Async{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartOperationResponse_Async) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartOperationResponse_Async) ProtoMessage() {} + +func (x *StartOperationResponse_Async) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartOperationResponse_Async.ProtoReflect.Descriptor instead. +func (*StartOperationResponse_Async) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{7, 1} +} + +// Deprecated: Marked as deprecated in temporal/api/nexus/v1/message.proto. +func (x *StartOperationResponse_Async) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *StartOperationResponse_Async) GetLinks() []*Link { + if x != nil { + return x.Links + } + return nil +} + +func (x *StartOperationResponse_Async) GetOperationToken() string { + if x != nil { + return x.OperationToken + } + return "" +} + +// Target a worker polling on a Nexus task queue in a specific namespace. +type EndpointTarget_Worker struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace to route requests to. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Nexus task queue to route requests to. + TaskQueue string `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EndpointTarget_Worker) Reset() { + *x = EndpointTarget_Worker{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EndpointTarget_Worker) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndpointTarget_Worker) ProtoMessage() {} + +func (x *EndpointTarget_Worker) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndpointTarget_Worker.ProtoReflect.Descriptor instead. +func (*EndpointTarget_Worker) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{12, 0} +} + +func (x *EndpointTarget_Worker) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *EndpointTarget_Worker) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +// Target an external server by URL. +// At a later point, this will support providing credentials, in the meantime, an http.RoundTripper can be injected +// into the server to modify the request. +type EndpointTarget_External struct { + state protoimpl.MessageState `protogen:"open.v1"` + // URL to call. + Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EndpointTarget_External) Reset() { + *x = EndpointTarget_External{} + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EndpointTarget_External) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EndpointTarget_External) ProtoMessage() {} + +func (x *EndpointTarget_External) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexus_v1_message_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EndpointTarget_External.ProtoReflect.Descriptor instead. +func (*EndpointTarget_External) Descriptor() ([]byte, []int) { + return file_temporal_api_nexus_v1_message_proto_rawDescGZIP(), []int{12, 1} +} + +func (x *EndpointTarget_External) GetUrl() string { + if x != nil { + return x.Url + } + return "" +} + +var File_temporal_api_nexus_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_nexus_v1_message_proto_rawDesc = "" + + "\n" + + "#temporal/api/nexus/v1/message.proto\x12\x15temporal.api.nexus.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a\"temporal/api/enums/v1/common.proto\x1a!temporal/api/enums/v1/nexus.proto\x1a%temporal/api/failure/v1/message.proto\x1a'temporal/api/sdk/v1/user_metadata.proto\"\x9b\x02\n" + + "\aFailure\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\x12\x1f\n" + + "\vstack_trace\x18\x04 \x01(\tR\n" + + "stackTrace\x12H\n" + + "\bmetadata\x18\x02 \x03(\v2,.temporal.api.nexus.v1.Failure.MetadataEntryR\bmetadata\x12\x18\n" + + "\adetails\x18\x03 \x01(\fR\adetails\x124\n" + + "\x05cause\x18\x05 \x01(\v2\x1e.temporal.api.nexus.v1.FailureR\x05cause\x1a;\n" + + "\rMetadataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xc5\x01\n" + + "\fHandlerError\x12\x1d\n" + + "\n" + + "error_type\x18\x01 \x01(\tR\terrorType\x128\n" + + "\afailure\x18\x02 \x01(\v2\x1e.temporal.api.nexus.v1.FailureR\afailure\x12\\\n" + + "\x0eretry_behavior\x18\x03 \x01(\x0e25.temporal.api.enums.v1.NexusHandlerErrorRetryBehaviorR\rretryBehavior\"\x7f\n" + + "\x1aUnsuccessfulOperationError\x12'\n" + + "\x0foperation_state\x18\x01 \x01(\tR\x0eoperationState\x128\n" + + "\afailure\x18\x02 \x01(\v2\x1e.temporal.api.nexus.v1.FailureR\afailure\",\n" + + "\x04Link\x12\x10\n" + + "\x03url\x18\x01 \x01(\tR\x03url\x12\x12\n" + + "\x04type\x18\x02 \x01(\tR\x04type\"\xa6\x03\n" + + "\x15StartOperationRequest\x12\x18\n" + + "\aservice\x18\x01 \x01(\tR\aservice\x12\x1c\n" + + "\toperation\x18\x02 \x01(\tR\toperation\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\x12\x1a\n" + + "\bcallback\x18\x04 \x01(\tR\bcallback\x129\n" + + "\apayload\x18\x05 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\apayload\x12i\n" + + "\x0fcallback_header\x18\x06 \x03(\v2@.temporal.api.nexus.v1.StartOperationRequest.CallbackHeaderEntryR\x0ecallbackHeader\x121\n" + + "\x05links\x18\a \x03(\v2\x1b.temporal.api.nexus.v1.LinkR\x05links\x1aA\n" + + "\x13CallbackHeaderEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xa0\x01\n" + + "\x16CancelOperationRequest\x12\x18\n" + + "\aservice\x18\x01 \x01(\tR\aservice\x12\x1c\n" + + "\toperation\x18\x02 \x01(\tR\toperation\x12%\n" + + "\foperation_id\x18\x03 \x01(\tB\x02\x18\x01R\voperationId\x12'\n" + + "\x0foperation_token\x18\x04 \x01(\tR\x0eoperationToken\"\xc6\x04\n" + + "\aRequest\x12B\n" + + "\x06header\x18\x01 \x03(\v2*.temporal.api.nexus.v1.Request.HeaderEntryR\x06header\x12A\n" + + "\x0escheduled_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\rscheduledTime\x12O\n" + + "\fcapabilities\x18d \x01(\v2+.temporal.api.nexus.v1.Request.CapabilitiesR\fcapabilities\x12W\n" + + "\x0fstart_operation\x18\x03 \x01(\v2,.temporal.api.nexus.v1.StartOperationRequestH\x00R\x0estartOperation\x12Z\n" + + "\x10cancel_operation\x18\x04 \x01(\v2-.temporal.api.nexus.v1.CancelOperationRequestH\x00R\x0fcancelOperation\x12\x1a\n" + + "\bendpoint\x18\n" + + " \x01(\tR\bendpoint\x1aL\n" + + "\fCapabilities\x12<\n" + + "\x1atemporal_failure_responses\x18\x01 \x01(\bR\x18temporalFailureResponses\x1a9\n" + + "\vHeaderEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\t\n" + + "\avariant\"\xfb\x04\n" + + "\x16StartOperationResponse\x12W\n" + + "\fsync_success\x18\x01 \x01(\v22.temporal.api.nexus.v1.StartOperationResponse.SyncH\x00R\vsyncSuccess\x12Z\n" + + "\rasync_success\x18\x02 \x01(\v23.temporal.api.nexus.v1.StartOperationResponse.AsyncH\x00R\fasyncSuccess\x12`\n" + + "\x0foperation_error\x18\x03 \x01(\v21.temporal.api.nexus.v1.UnsuccessfulOperationErrorB\x02\x18\x01H\x00R\x0eoperationError\x12<\n" + + "\afailure\x18\x04 \x01(\v2 .temporal.api.failure.v1.FailureH\x00R\afailure\x1at\n" + + "\x04Sync\x129\n" + + "\apayload\x18\x01 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\apayload\x121\n" + + "\x05links\x18\x02 \x03(\v2\x1b.temporal.api.nexus.v1.LinkR\x05links\x1a\x8a\x01\n" + + "\x05Async\x12%\n" + + "\foperation_id\x18\x01 \x01(\tB\x02\x18\x01R\voperationId\x121\n" + + "\x05links\x18\x02 \x03(\v2\x1b.temporal.api.nexus.v1.LinkR\x05links\x12'\n" + + "\x0foperation_token\x18\x03 \x01(\tR\x0eoperationTokenB\t\n" + + "\avariant\"\x19\n" + + "\x17CancelOperationResponse\"\xcc\x01\n" + + "\bResponse\x12X\n" + + "\x0fstart_operation\x18\x01 \x01(\v2-.temporal.api.nexus.v1.StartOperationResponseH\x00R\x0estartOperation\x12[\n" + + "\x10cancel_operation\x18\x02 \x01(\v2..temporal.api.nexus.v1.CancelOperationResponseH\x00R\x0fcancelOperationB\t\n" + + "\avariant\"\x95\x02\n" + + "\bEndpoint\x12\x18\n" + + "\aversion\x18\x01 \x01(\x03R\aversion\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x127\n" + + "\x04spec\x18\x03 \x01(\v2#.temporal.api.nexus.v1.EndpointSpecR\x04spec\x12=\n" + + "\fcreated_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\vcreatedTime\x12H\n" + + "\x12last_modified_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x10lastModifiedTime\x12\x1d\n" + + "\n" + + "url_prefix\x18\x06 \x01(\tR\turlPrefix\"\xa4\x01\n" + + "\fEndpointSpec\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12A\n" + + "\vdescription\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\vdescription\x12=\n" + + "\x06target\x18\x03 \x01(\v2%.temporal.api.nexus.v1.EndpointTargetR\x06target\"\x96\x02\n" + + "\x0eEndpointTarget\x12F\n" + + "\x06worker\x18\x01 \x01(\v2,.temporal.api.nexus.v1.EndpointTarget.WorkerH\x00R\x06worker\x12L\n" + + "\bexternal\x18\x02 \x01(\v2..temporal.api.nexus.v1.EndpointTarget.ExternalH\x00R\bexternal\x1aE\n" + + "\x06Worker\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1d\n" + + "\n" + + "task_queue\x18\x02 \x01(\tR\ttaskQueue\x1a\x1c\n" + + "\bExternal\x12\x10\n" + + "\x03url\x18\x01 \x01(\tR\x03urlB\t\n" + + "\avariant\"\x99\x04\n" + + "'NexusOperationExecutionCancellationInfo\x12A\n" + + "\x0erequested_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\rrequestedTime\x12L\n" + + "\x05state\x18\x02 \x01(\x0e26.temporal.api.enums.v1.NexusOperationCancellationStateR\x05state\x12\x18\n" + + "\aattempt\x18\x03 \x01(\x05R\aattempt\x12W\n" + + "\x1alast_attempt_complete_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x17lastAttemptCompleteTime\x12R\n" + + "\x14last_attempt_failure\x18\x05 \x01(\v2 .temporal.api.failure.v1.FailureR\x12lastAttemptFailure\x12W\n" + + "\x1anext_attempt_schedule_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x17nextAttemptScheduleTime\x12%\n" + + "\x0eblocked_reason\x18\a \x01(\tR\rblockedReason\x12\x16\n" + + "\x06reason\x18\b \x01(\tR\x06reason\"\x92\x0e\n" + + "\x1bNexusOperationExecutionInfo\x12!\n" + + "\foperation_id\x18\x01 \x01(\tR\voperationId\x12\x15\n" + + "\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1a\n" + + "\bendpoint\x18\x03 \x01(\tR\bendpoint\x12\x18\n" + + "\aservice\x18\x04 \x01(\tR\aservice\x12\x1c\n" + + "\toperation\x18\x05 \x01(\tR\toperation\x12L\n" + + "\x06status\x18\x06 \x01(\x0e24.temporal.api.enums.v1.NexusOperationExecutionStatusR\x06status\x12G\n" + + "\x05state\x18\a \x01(\x0e21.temporal.api.enums.v1.PendingNexusOperationStateR\x05state\x12T\n" + + "\x19schedule_to_close_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12T\n" + + "\x19schedule_to_start_timeout\x18\t \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\n" + + " \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x12\x18\n" + + "\aattempt\x18\v \x01(\x05R\aattempt\x12?\n" + + "\rschedule_time\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\fscheduleTime\x12C\n" + + "\x0fexpiration_time\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\x0eexpirationTime\x129\n" + + "\n" + + "close_time\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampR\tcloseTime\x12W\n" + + "\x1alast_attempt_complete_time\x18\x0f \x01(\v2\x1a.google.protobuf.TimestampR\x17lastAttemptCompleteTime\x12R\n" + + "\x14last_attempt_failure\x18\x10 \x01(\v2 .temporal.api.failure.v1.FailureR\x12lastAttemptFailure\x12W\n" + + "\x1anext_attempt_schedule_time\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\x17nextAttemptScheduleTime\x12H\n" + + "\x12execution_duration\x18\x12 \x01(\v2\x19.google.protobuf.DurationR\x11executionDuration\x12k\n" + + "\x11cancellation_info\x18\x13 \x01(\v2>.temporal.api.nexus.v1.NexusOperationExecutionCancellationInfoR\x10cancellationInfo\x12%\n" + + "\x0eblocked_reason\x18\x14 \x01(\tR\rblockedReason\x12\x1d\n" + + "\n" + + "request_id\x18\x15 \x01(\tR\trequestId\x12'\n" + + "\x0foperation_token\x18\x16 \x01(\tR\x0eoperationToken\x124\n" + + "\x16state_transition_count\x18\x17 \x01(\x03R\x14stateTransitionCount\x12U\n" + + "\x11search_attributes\x18\x18 \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12f\n" + + "\fnexus_header\x18\x19 \x03(\v2C.temporal.api.nexus.v1.NexusOperationExecutionInfo.NexusHeaderEntryR\vnexusHeader\x12F\n" + + "\ruser_metadata\x18\x1a \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\x122\n" + + "\x05links\x18\x1b \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\x12\x1a\n" + + "\bidentity\x18\x1c \x01(\tR\bidentity\x1a>\n" + + "\x10NexusHeaderEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xd0\x04\n" + + "\x1fNexusOperationExecutionListInfo\x12!\n" + + "\foperation_id\x18\x01 \x01(\tR\voperationId\x12\x15\n" + + "\x06run_id\x18\x02 \x01(\tR\x05runId\x12\x1a\n" + + "\bendpoint\x18\x03 \x01(\tR\bendpoint\x12\x18\n" + + "\aservice\x18\x04 \x01(\tR\aservice\x12\x1c\n" + + "\toperation\x18\x05 \x01(\tR\toperation\x12?\n" + + "\rschedule_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\fscheduleTime\x129\n" + + "\n" + + "close_time\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcloseTime\x12L\n" + + "\x06status\x18\b \x01(\x0e24.temporal.api.enums.v1.NexusOperationExecutionStatusR\x06status\x12U\n" + + "\x11search_attributes\x18\t \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x124\n" + + "\x16state_transition_count\x18\n" + + " \x01(\x03R\x14stateTransitionCount\x12H\n" + + "\x12execution_duration\x18\v \x01(\v2\x19.google.protobuf.DurationR\x11executionDurationB\x84\x01\n" + + "\x18io.temporal.api.nexus.v1B\fMessageProtoP\x01Z!go.temporal.io/api/nexus/v1;nexus\xaa\x02\x17Temporalio.Api.Nexus.V1\xea\x02\x1aTemporalio::Api::Nexus::V1b\x06proto3" + +var ( + file_temporal_api_nexus_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_nexus_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_nexus_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_nexus_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_nexus_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_nexus_v1_message_proto_rawDesc), len(file_temporal_api_nexus_v1_message_proto_rawDesc))) + }) + return file_temporal_api_nexus_v1_message_proto_rawDescData +} + +var file_temporal_api_nexus_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 25) +var file_temporal_api_nexus_v1_message_proto_goTypes = []any{ + (*Failure)(nil), // 0: temporal.api.nexus.v1.Failure + (*HandlerError)(nil), // 1: temporal.api.nexus.v1.HandlerError + (*UnsuccessfulOperationError)(nil), // 2: temporal.api.nexus.v1.UnsuccessfulOperationError + (*Link)(nil), // 3: temporal.api.nexus.v1.Link + (*StartOperationRequest)(nil), // 4: temporal.api.nexus.v1.StartOperationRequest + (*CancelOperationRequest)(nil), // 5: temporal.api.nexus.v1.CancelOperationRequest + (*Request)(nil), // 6: temporal.api.nexus.v1.Request + (*StartOperationResponse)(nil), // 7: temporal.api.nexus.v1.StartOperationResponse + (*CancelOperationResponse)(nil), // 8: temporal.api.nexus.v1.CancelOperationResponse + (*Response)(nil), // 9: temporal.api.nexus.v1.Response + (*Endpoint)(nil), // 10: temporal.api.nexus.v1.Endpoint + (*EndpointSpec)(nil), // 11: temporal.api.nexus.v1.EndpointSpec + (*EndpointTarget)(nil), // 12: temporal.api.nexus.v1.EndpointTarget + (*NexusOperationExecutionCancellationInfo)(nil), // 13: temporal.api.nexus.v1.NexusOperationExecutionCancellationInfo + (*NexusOperationExecutionInfo)(nil), // 14: temporal.api.nexus.v1.NexusOperationExecutionInfo + (*NexusOperationExecutionListInfo)(nil), // 15: temporal.api.nexus.v1.NexusOperationExecutionListInfo + nil, // 16: temporal.api.nexus.v1.Failure.MetadataEntry + nil, // 17: temporal.api.nexus.v1.StartOperationRequest.CallbackHeaderEntry + (*Request_Capabilities)(nil), // 18: temporal.api.nexus.v1.Request.Capabilities + nil, // 19: temporal.api.nexus.v1.Request.HeaderEntry + (*StartOperationResponse_Sync)(nil), // 20: temporal.api.nexus.v1.StartOperationResponse.Sync + (*StartOperationResponse_Async)(nil), // 21: temporal.api.nexus.v1.StartOperationResponse.Async + (*EndpointTarget_Worker)(nil), // 22: temporal.api.nexus.v1.EndpointTarget.Worker + (*EndpointTarget_External)(nil), // 23: temporal.api.nexus.v1.EndpointTarget.External + nil, // 24: temporal.api.nexus.v1.NexusOperationExecutionInfo.NexusHeaderEntry + (v1.NexusHandlerErrorRetryBehavior)(0), // 25: temporal.api.enums.v1.NexusHandlerErrorRetryBehavior + (*v11.Payload)(nil), // 26: temporal.api.common.v1.Payload + (*timestamppb.Timestamp)(nil), // 27: google.protobuf.Timestamp + (*v12.Failure)(nil), // 28: temporal.api.failure.v1.Failure + (v1.NexusOperationCancellationState)(0), // 29: temporal.api.enums.v1.NexusOperationCancellationState + (v1.NexusOperationExecutionStatus)(0), // 30: temporal.api.enums.v1.NexusOperationExecutionStatus + (v1.PendingNexusOperationState)(0), // 31: temporal.api.enums.v1.PendingNexusOperationState + (*durationpb.Duration)(nil), // 32: google.protobuf.Duration + (*v11.SearchAttributes)(nil), // 33: temporal.api.common.v1.SearchAttributes + (*v13.UserMetadata)(nil), // 34: temporal.api.sdk.v1.UserMetadata + (*v11.Link)(nil), // 35: temporal.api.common.v1.Link +} +var file_temporal_api_nexus_v1_message_proto_depIdxs = []int32{ + 16, // 0: temporal.api.nexus.v1.Failure.metadata:type_name -> temporal.api.nexus.v1.Failure.MetadataEntry + 0, // 1: temporal.api.nexus.v1.Failure.cause:type_name -> temporal.api.nexus.v1.Failure + 0, // 2: temporal.api.nexus.v1.HandlerError.failure:type_name -> temporal.api.nexus.v1.Failure + 25, // 3: temporal.api.nexus.v1.HandlerError.retry_behavior:type_name -> temporal.api.enums.v1.NexusHandlerErrorRetryBehavior + 0, // 4: temporal.api.nexus.v1.UnsuccessfulOperationError.failure:type_name -> temporal.api.nexus.v1.Failure + 26, // 5: temporal.api.nexus.v1.StartOperationRequest.payload:type_name -> temporal.api.common.v1.Payload + 17, // 6: temporal.api.nexus.v1.StartOperationRequest.callback_header:type_name -> temporal.api.nexus.v1.StartOperationRequest.CallbackHeaderEntry + 3, // 7: temporal.api.nexus.v1.StartOperationRequest.links:type_name -> temporal.api.nexus.v1.Link + 19, // 8: temporal.api.nexus.v1.Request.header:type_name -> temporal.api.nexus.v1.Request.HeaderEntry + 27, // 9: temporal.api.nexus.v1.Request.scheduled_time:type_name -> google.protobuf.Timestamp + 18, // 10: temporal.api.nexus.v1.Request.capabilities:type_name -> temporal.api.nexus.v1.Request.Capabilities + 4, // 11: temporal.api.nexus.v1.Request.start_operation:type_name -> temporal.api.nexus.v1.StartOperationRequest + 5, // 12: temporal.api.nexus.v1.Request.cancel_operation:type_name -> temporal.api.nexus.v1.CancelOperationRequest + 20, // 13: temporal.api.nexus.v1.StartOperationResponse.sync_success:type_name -> temporal.api.nexus.v1.StartOperationResponse.Sync + 21, // 14: temporal.api.nexus.v1.StartOperationResponse.async_success:type_name -> temporal.api.nexus.v1.StartOperationResponse.Async + 2, // 15: temporal.api.nexus.v1.StartOperationResponse.operation_error:type_name -> temporal.api.nexus.v1.UnsuccessfulOperationError + 28, // 16: temporal.api.nexus.v1.StartOperationResponse.failure:type_name -> temporal.api.failure.v1.Failure + 7, // 17: temporal.api.nexus.v1.Response.start_operation:type_name -> temporal.api.nexus.v1.StartOperationResponse + 8, // 18: temporal.api.nexus.v1.Response.cancel_operation:type_name -> temporal.api.nexus.v1.CancelOperationResponse + 11, // 19: temporal.api.nexus.v1.Endpoint.spec:type_name -> temporal.api.nexus.v1.EndpointSpec + 27, // 20: temporal.api.nexus.v1.Endpoint.created_time:type_name -> google.protobuf.Timestamp + 27, // 21: temporal.api.nexus.v1.Endpoint.last_modified_time:type_name -> google.protobuf.Timestamp + 26, // 22: temporal.api.nexus.v1.EndpointSpec.description:type_name -> temporal.api.common.v1.Payload + 12, // 23: temporal.api.nexus.v1.EndpointSpec.target:type_name -> temporal.api.nexus.v1.EndpointTarget + 22, // 24: temporal.api.nexus.v1.EndpointTarget.worker:type_name -> temporal.api.nexus.v1.EndpointTarget.Worker + 23, // 25: temporal.api.nexus.v1.EndpointTarget.external:type_name -> temporal.api.nexus.v1.EndpointTarget.External + 27, // 26: temporal.api.nexus.v1.NexusOperationExecutionCancellationInfo.requested_time:type_name -> google.protobuf.Timestamp + 29, // 27: temporal.api.nexus.v1.NexusOperationExecutionCancellationInfo.state:type_name -> temporal.api.enums.v1.NexusOperationCancellationState + 27, // 28: temporal.api.nexus.v1.NexusOperationExecutionCancellationInfo.last_attempt_complete_time:type_name -> google.protobuf.Timestamp + 28, // 29: temporal.api.nexus.v1.NexusOperationExecutionCancellationInfo.last_attempt_failure:type_name -> temporal.api.failure.v1.Failure + 27, // 30: temporal.api.nexus.v1.NexusOperationExecutionCancellationInfo.next_attempt_schedule_time:type_name -> google.protobuf.Timestamp + 30, // 31: temporal.api.nexus.v1.NexusOperationExecutionInfo.status:type_name -> temporal.api.enums.v1.NexusOperationExecutionStatus + 31, // 32: temporal.api.nexus.v1.NexusOperationExecutionInfo.state:type_name -> temporal.api.enums.v1.PendingNexusOperationState + 32, // 33: temporal.api.nexus.v1.NexusOperationExecutionInfo.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 32, // 34: temporal.api.nexus.v1.NexusOperationExecutionInfo.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 32, // 35: temporal.api.nexus.v1.NexusOperationExecutionInfo.start_to_close_timeout:type_name -> google.protobuf.Duration + 27, // 36: temporal.api.nexus.v1.NexusOperationExecutionInfo.schedule_time:type_name -> google.protobuf.Timestamp + 27, // 37: temporal.api.nexus.v1.NexusOperationExecutionInfo.expiration_time:type_name -> google.protobuf.Timestamp + 27, // 38: temporal.api.nexus.v1.NexusOperationExecutionInfo.close_time:type_name -> google.protobuf.Timestamp + 27, // 39: temporal.api.nexus.v1.NexusOperationExecutionInfo.last_attempt_complete_time:type_name -> google.protobuf.Timestamp + 28, // 40: temporal.api.nexus.v1.NexusOperationExecutionInfo.last_attempt_failure:type_name -> temporal.api.failure.v1.Failure + 27, // 41: temporal.api.nexus.v1.NexusOperationExecutionInfo.next_attempt_schedule_time:type_name -> google.protobuf.Timestamp + 32, // 42: temporal.api.nexus.v1.NexusOperationExecutionInfo.execution_duration:type_name -> google.protobuf.Duration + 13, // 43: temporal.api.nexus.v1.NexusOperationExecutionInfo.cancellation_info:type_name -> temporal.api.nexus.v1.NexusOperationExecutionCancellationInfo + 33, // 44: temporal.api.nexus.v1.NexusOperationExecutionInfo.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 24, // 45: temporal.api.nexus.v1.NexusOperationExecutionInfo.nexus_header:type_name -> temporal.api.nexus.v1.NexusOperationExecutionInfo.NexusHeaderEntry + 34, // 46: temporal.api.nexus.v1.NexusOperationExecutionInfo.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 35, // 47: temporal.api.nexus.v1.NexusOperationExecutionInfo.links:type_name -> temporal.api.common.v1.Link + 27, // 48: temporal.api.nexus.v1.NexusOperationExecutionListInfo.schedule_time:type_name -> google.protobuf.Timestamp + 27, // 49: temporal.api.nexus.v1.NexusOperationExecutionListInfo.close_time:type_name -> google.protobuf.Timestamp + 30, // 50: temporal.api.nexus.v1.NexusOperationExecutionListInfo.status:type_name -> temporal.api.enums.v1.NexusOperationExecutionStatus + 33, // 51: temporal.api.nexus.v1.NexusOperationExecutionListInfo.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 32, // 52: temporal.api.nexus.v1.NexusOperationExecutionListInfo.execution_duration:type_name -> google.protobuf.Duration + 26, // 53: temporal.api.nexus.v1.StartOperationResponse.Sync.payload:type_name -> temporal.api.common.v1.Payload + 3, // 54: temporal.api.nexus.v1.StartOperationResponse.Sync.links:type_name -> temporal.api.nexus.v1.Link + 3, // 55: temporal.api.nexus.v1.StartOperationResponse.Async.links:type_name -> temporal.api.nexus.v1.Link + 56, // [56:56] is the sub-list for method output_type + 56, // [56:56] is the sub-list for method input_type + 56, // [56:56] is the sub-list for extension type_name + 56, // [56:56] is the sub-list for extension extendee + 0, // [0:56] is the sub-list for field type_name +} + +func init() { file_temporal_api_nexus_v1_message_proto_init() } +func file_temporal_api_nexus_v1_message_proto_init() { + if File_temporal_api_nexus_v1_message_proto != nil { + return + } + file_temporal_api_nexus_v1_message_proto_msgTypes[6].OneofWrappers = []any{ + (*Request_StartOperation)(nil), + (*Request_CancelOperation)(nil), + } + file_temporal_api_nexus_v1_message_proto_msgTypes[7].OneofWrappers = []any{ + (*StartOperationResponse_SyncSuccess)(nil), + (*StartOperationResponse_AsyncSuccess)(nil), + (*StartOperationResponse_OperationError)(nil), + (*StartOperationResponse_Failure)(nil), + } + file_temporal_api_nexus_v1_message_proto_msgTypes[9].OneofWrappers = []any{ + (*Response_StartOperation)(nil), + (*Response_CancelOperation)(nil), + } + file_temporal_api_nexus_v1_message_proto_msgTypes[12].OneofWrappers = []any{ + (*EndpointTarget_Worker_)(nil), + (*EndpointTarget_External_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_nexus_v1_message_proto_rawDesc), len(file_temporal_api_nexus_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 25, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_nexus_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_nexus_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_nexus_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_nexus_v1_message_proto = out.File + file_temporal_api_nexus_v1_message_proto_goTypes = nil + file_temporal_api_nexus_v1_message_proto_depIdxs = nil +} diff --git a/api_next/nexusservices/workerservice/v1/request_response.go-helpers.pb.go b/api_next/nexusservices/workerservice/v1/request_response.go-helpers.pb.go new file mode 100644 index 00000000..abeeac9e --- /dev/null +++ b/api_next/nexusservices/workerservice/v1/request_response.go-helpers.pb.go @@ -0,0 +1,80 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package workerservice + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ExecuteCommandsRequest to the protobuf v3 wire format +func (val *ExecuteCommandsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ExecuteCommandsRequest from the protobuf v3 wire format +func (val *ExecuteCommandsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ExecuteCommandsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ExecuteCommandsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ExecuteCommandsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ExecuteCommandsRequest + switch t := that.(type) { + case *ExecuteCommandsRequest: + that1 = t + case ExecuteCommandsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ExecuteCommandsResponse to the protobuf v3 wire format +func (val *ExecuteCommandsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ExecuteCommandsResponse from the protobuf v3 wire format +func (val *ExecuteCommandsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ExecuteCommandsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ExecuteCommandsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ExecuteCommandsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ExecuteCommandsResponse + switch t := that.(type) { + case *ExecuteCommandsResponse: + that1 = t + case ExecuteCommandsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/nexusservices/workerservice/v1/request_response.pb.go b/api_next/nexusservices/workerservice/v1/request_response.pb.go new file mode 100644 index 00000000..0f04dde1 --- /dev/null +++ b/api_next/nexusservices/workerservice/v1/request_response.pb.go @@ -0,0 +1,178 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/nexusservices/workerservice/v1/request_response.proto + +package workerservice + +import ( + v1 "go.temporal.io/api/worker/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Request payload for the "ExecuteCommands" Nexus operation. +type ExecuteCommandsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Commands []*v1.WorkerCommand `protobuf:"bytes,1,rep,name=commands,proto3" json:"commands,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecuteCommandsRequest) Reset() { + *x = ExecuteCommandsRequest{} + mi := &file_temporal_api_nexusservices_workerservice_v1_request_response_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteCommandsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteCommandsRequest) ProtoMessage() {} + +func (x *ExecuteCommandsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexusservices_workerservice_v1_request_response_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteCommandsRequest.ProtoReflect.Descriptor instead. +func (*ExecuteCommandsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDescGZIP(), []int{0} +} + +func (x *ExecuteCommandsRequest) GetCommands() []*v1.WorkerCommand { + if x != nil { + return x.Commands + } + return nil +} + +// Response payload for the "ExecuteCommands" Nexus operation. +// The results list must be 1:1 with the commands list in the request (same size and order). +type ExecuteCommandsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Results []*v1.WorkerCommandResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecuteCommandsResponse) Reset() { + *x = ExecuteCommandsResponse{} + mi := &file_temporal_api_nexusservices_workerservice_v1_request_response_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteCommandsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteCommandsResponse) ProtoMessage() {} + +func (x *ExecuteCommandsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_nexusservices_workerservice_v1_request_response_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteCommandsResponse.ProtoReflect.Descriptor instead. +func (*ExecuteCommandsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDescGZIP(), []int{1} +} + +func (x *ExecuteCommandsResponse) GetResults() []*v1.WorkerCommandResult { + if x != nil { + return x.Results + } + return nil +} + +var File_temporal_api_nexusservices_workerservice_v1_request_response_proto protoreflect.FileDescriptor + +const file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDesc = "" + + "\n" + + "Btemporal/api/nexusservices/workerservice/v1/request_response.proto\x12+temporal.api.nexusservices.workerservice.v1\x1a$temporal/api/worker/v1/message.proto\"[\n" + + "\x16ExecuteCommandsRequest\x12A\n" + + "\bcommands\x18\x01 \x03(\v2%.temporal.api.worker.v1.WorkerCommandR\bcommands\"`\n" + + "\x17ExecuteCommandsResponse\x12E\n" + + "\aresults\x18\x01 \x03(\v2+.temporal.api.worker.v1.WorkerCommandResultR\aresultsB\xed\x01\n" + + ".io.temporal.api.nexusservices.workerservice.v1B\x14RequestResponseProtoP\x01Z?go.temporal.io/api/nexusservices/workerservice/v1;workerservice\xaa\x02-Temporalio.Api.Nexusservices.Workerservice.V1\xea\x021Temporalio::Api::Nexusservices::Workerservice::V1b\x06proto3" + +var ( + file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDescOnce sync.Once + file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDescData []byte +) + +func file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDescGZIP() []byte { + file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDescOnce.Do(func() { + file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDesc), len(file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDesc))) + }) + return file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDescData +} + +var file_temporal_api_nexusservices_workerservice_v1_request_response_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_temporal_api_nexusservices_workerservice_v1_request_response_proto_goTypes = []any{ + (*ExecuteCommandsRequest)(nil), // 0: temporal.api.nexusservices.workerservice.v1.ExecuteCommandsRequest + (*ExecuteCommandsResponse)(nil), // 1: temporal.api.nexusservices.workerservice.v1.ExecuteCommandsResponse + (*v1.WorkerCommand)(nil), // 2: temporal.api.worker.v1.WorkerCommand + (*v1.WorkerCommandResult)(nil), // 3: temporal.api.worker.v1.WorkerCommandResult +} +var file_temporal_api_nexusservices_workerservice_v1_request_response_proto_depIdxs = []int32{ + 2, // 0: temporal.api.nexusservices.workerservice.v1.ExecuteCommandsRequest.commands:type_name -> temporal.api.worker.v1.WorkerCommand + 3, // 1: temporal.api.nexusservices.workerservice.v1.ExecuteCommandsResponse.results:type_name -> temporal.api.worker.v1.WorkerCommandResult + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_temporal_api_nexusservices_workerservice_v1_request_response_proto_init() } +func file_temporal_api_nexusservices_workerservice_v1_request_response_proto_init() { + if File_temporal_api_nexusservices_workerservice_v1_request_response_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDesc), len(file_temporal_api_nexusservices_workerservice_v1_request_response_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_nexusservices_workerservice_v1_request_response_proto_goTypes, + DependencyIndexes: file_temporal_api_nexusservices_workerservice_v1_request_response_proto_depIdxs, + MessageInfos: file_temporal_api_nexusservices_workerservice_v1_request_response_proto_msgTypes, + }.Build() + File_temporal_api_nexusservices_workerservice_v1_request_response_proto = out.File + file_temporal_api_nexusservices_workerservice_v1_request_response_proto_goTypes = nil + file_temporal_api_nexusservices_workerservice_v1_request_response_proto_depIdxs = nil +} diff --git a/api_next/operatorservice/v1/request_response.go-helpers.pb.go b/api_next/operatorservice/v1/request_response.go-helpers.pb.go new file mode 100644 index 00000000..2f4b794f --- /dev/null +++ b/api_next/operatorservice/v1/request_response.go-helpers.pb.go @@ -0,0 +1,931 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package operatorservice + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type AddSearchAttributesRequest to the protobuf v3 wire format +func (val *AddSearchAttributesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type AddSearchAttributesRequest from the protobuf v3 wire format +func (val *AddSearchAttributesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *AddSearchAttributesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two AddSearchAttributesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *AddSearchAttributesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *AddSearchAttributesRequest + switch t := that.(type) { + case *AddSearchAttributesRequest: + that1 = t + case AddSearchAttributesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type AddSearchAttributesResponse to the protobuf v3 wire format +func (val *AddSearchAttributesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type AddSearchAttributesResponse from the protobuf v3 wire format +func (val *AddSearchAttributesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *AddSearchAttributesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two AddSearchAttributesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *AddSearchAttributesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *AddSearchAttributesResponse + switch t := that.(type) { + case *AddSearchAttributesResponse: + that1 = t + case AddSearchAttributesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RemoveSearchAttributesRequest to the protobuf v3 wire format +func (val *RemoveSearchAttributesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RemoveSearchAttributesRequest from the protobuf v3 wire format +func (val *RemoveSearchAttributesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RemoveSearchAttributesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RemoveSearchAttributesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RemoveSearchAttributesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RemoveSearchAttributesRequest + switch t := that.(type) { + case *RemoveSearchAttributesRequest: + that1 = t + case RemoveSearchAttributesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RemoveSearchAttributesResponse to the protobuf v3 wire format +func (val *RemoveSearchAttributesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RemoveSearchAttributesResponse from the protobuf v3 wire format +func (val *RemoveSearchAttributesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RemoveSearchAttributesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RemoveSearchAttributesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RemoveSearchAttributesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RemoveSearchAttributesResponse + switch t := that.(type) { + case *RemoveSearchAttributesResponse: + that1 = t + case RemoveSearchAttributesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListSearchAttributesRequest to the protobuf v3 wire format +func (val *ListSearchAttributesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListSearchAttributesRequest from the protobuf v3 wire format +func (val *ListSearchAttributesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListSearchAttributesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListSearchAttributesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListSearchAttributesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListSearchAttributesRequest + switch t := that.(type) { + case *ListSearchAttributesRequest: + that1 = t + case ListSearchAttributesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListSearchAttributesResponse to the protobuf v3 wire format +func (val *ListSearchAttributesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListSearchAttributesResponse from the protobuf v3 wire format +func (val *ListSearchAttributesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListSearchAttributesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListSearchAttributesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListSearchAttributesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListSearchAttributesResponse + switch t := that.(type) { + case *ListSearchAttributesResponse: + that1 = t + case ListSearchAttributesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteNamespaceRequest to the protobuf v3 wire format +func (val *DeleteNamespaceRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteNamespaceRequest from the protobuf v3 wire format +func (val *DeleteNamespaceRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteNamespaceRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteNamespaceRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteNamespaceRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteNamespaceRequest + switch t := that.(type) { + case *DeleteNamespaceRequest: + that1 = t + case DeleteNamespaceRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteNamespaceResponse to the protobuf v3 wire format +func (val *DeleteNamespaceResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteNamespaceResponse from the protobuf v3 wire format +func (val *DeleteNamespaceResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteNamespaceResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteNamespaceResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteNamespaceResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteNamespaceResponse + switch t := that.(type) { + case *DeleteNamespaceResponse: + that1 = t + case DeleteNamespaceResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type AddOrUpdateRemoteClusterRequest to the protobuf v3 wire format +func (val *AddOrUpdateRemoteClusterRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type AddOrUpdateRemoteClusterRequest from the protobuf v3 wire format +func (val *AddOrUpdateRemoteClusterRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *AddOrUpdateRemoteClusterRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two AddOrUpdateRemoteClusterRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *AddOrUpdateRemoteClusterRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *AddOrUpdateRemoteClusterRequest + switch t := that.(type) { + case *AddOrUpdateRemoteClusterRequest: + that1 = t + case AddOrUpdateRemoteClusterRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type AddOrUpdateRemoteClusterResponse to the protobuf v3 wire format +func (val *AddOrUpdateRemoteClusterResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type AddOrUpdateRemoteClusterResponse from the protobuf v3 wire format +func (val *AddOrUpdateRemoteClusterResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *AddOrUpdateRemoteClusterResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two AddOrUpdateRemoteClusterResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *AddOrUpdateRemoteClusterResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *AddOrUpdateRemoteClusterResponse + switch t := that.(type) { + case *AddOrUpdateRemoteClusterResponse: + that1 = t + case AddOrUpdateRemoteClusterResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RemoveRemoteClusterRequest to the protobuf v3 wire format +func (val *RemoveRemoteClusterRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RemoveRemoteClusterRequest from the protobuf v3 wire format +func (val *RemoveRemoteClusterRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RemoveRemoteClusterRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RemoveRemoteClusterRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RemoveRemoteClusterRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RemoveRemoteClusterRequest + switch t := that.(type) { + case *RemoveRemoteClusterRequest: + that1 = t + case RemoveRemoteClusterRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RemoveRemoteClusterResponse to the protobuf v3 wire format +func (val *RemoveRemoteClusterResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RemoveRemoteClusterResponse from the protobuf v3 wire format +func (val *RemoveRemoteClusterResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RemoveRemoteClusterResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RemoveRemoteClusterResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RemoveRemoteClusterResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RemoveRemoteClusterResponse + switch t := that.(type) { + case *RemoveRemoteClusterResponse: + that1 = t + case RemoveRemoteClusterResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListClustersRequest to the protobuf v3 wire format +func (val *ListClustersRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListClustersRequest from the protobuf v3 wire format +func (val *ListClustersRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListClustersRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListClustersRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListClustersRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListClustersRequest + switch t := that.(type) { + case *ListClustersRequest: + that1 = t + case ListClustersRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListClustersResponse to the protobuf v3 wire format +func (val *ListClustersResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListClustersResponse from the protobuf v3 wire format +func (val *ListClustersResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListClustersResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListClustersResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListClustersResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListClustersResponse + switch t := that.(type) { + case *ListClustersResponse: + that1 = t + case ListClustersResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ClusterMetadata to the protobuf v3 wire format +func (val *ClusterMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ClusterMetadata from the protobuf v3 wire format +func (val *ClusterMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ClusterMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ClusterMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ClusterMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ClusterMetadata + switch t := that.(type) { + case *ClusterMetadata: + that1 = t + case ClusterMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetNexusEndpointRequest to the protobuf v3 wire format +func (val *GetNexusEndpointRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetNexusEndpointRequest from the protobuf v3 wire format +func (val *GetNexusEndpointRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetNexusEndpointRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetNexusEndpointRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetNexusEndpointRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetNexusEndpointRequest + switch t := that.(type) { + case *GetNexusEndpointRequest: + that1 = t + case GetNexusEndpointRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetNexusEndpointResponse to the protobuf v3 wire format +func (val *GetNexusEndpointResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetNexusEndpointResponse from the protobuf v3 wire format +func (val *GetNexusEndpointResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetNexusEndpointResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetNexusEndpointResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetNexusEndpointResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetNexusEndpointResponse + switch t := that.(type) { + case *GetNexusEndpointResponse: + that1 = t + case GetNexusEndpointResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateNexusEndpointRequest to the protobuf v3 wire format +func (val *CreateNexusEndpointRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateNexusEndpointRequest from the protobuf v3 wire format +func (val *CreateNexusEndpointRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateNexusEndpointRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateNexusEndpointRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateNexusEndpointRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateNexusEndpointRequest + switch t := that.(type) { + case *CreateNexusEndpointRequest: + that1 = t + case CreateNexusEndpointRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateNexusEndpointResponse to the protobuf v3 wire format +func (val *CreateNexusEndpointResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateNexusEndpointResponse from the protobuf v3 wire format +func (val *CreateNexusEndpointResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateNexusEndpointResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateNexusEndpointResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateNexusEndpointResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateNexusEndpointResponse + switch t := that.(type) { + case *CreateNexusEndpointResponse: + that1 = t + case CreateNexusEndpointResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateNexusEndpointRequest to the protobuf v3 wire format +func (val *UpdateNexusEndpointRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateNexusEndpointRequest from the protobuf v3 wire format +func (val *UpdateNexusEndpointRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateNexusEndpointRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateNexusEndpointRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateNexusEndpointRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateNexusEndpointRequest + switch t := that.(type) { + case *UpdateNexusEndpointRequest: + that1 = t + case UpdateNexusEndpointRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateNexusEndpointResponse to the protobuf v3 wire format +func (val *UpdateNexusEndpointResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateNexusEndpointResponse from the protobuf v3 wire format +func (val *UpdateNexusEndpointResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateNexusEndpointResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateNexusEndpointResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateNexusEndpointResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateNexusEndpointResponse + switch t := that.(type) { + case *UpdateNexusEndpointResponse: + that1 = t + case UpdateNexusEndpointResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteNexusEndpointRequest to the protobuf v3 wire format +func (val *DeleteNexusEndpointRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteNexusEndpointRequest from the protobuf v3 wire format +func (val *DeleteNexusEndpointRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteNexusEndpointRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteNexusEndpointRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteNexusEndpointRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteNexusEndpointRequest + switch t := that.(type) { + case *DeleteNexusEndpointRequest: + that1 = t + case DeleteNexusEndpointRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteNexusEndpointResponse to the protobuf v3 wire format +func (val *DeleteNexusEndpointResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteNexusEndpointResponse from the protobuf v3 wire format +func (val *DeleteNexusEndpointResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteNexusEndpointResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteNexusEndpointResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteNexusEndpointResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteNexusEndpointResponse + switch t := that.(type) { + case *DeleteNexusEndpointResponse: + that1 = t + case DeleteNexusEndpointResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListNexusEndpointsRequest to the protobuf v3 wire format +func (val *ListNexusEndpointsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListNexusEndpointsRequest from the protobuf v3 wire format +func (val *ListNexusEndpointsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListNexusEndpointsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListNexusEndpointsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListNexusEndpointsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListNexusEndpointsRequest + switch t := that.(type) { + case *ListNexusEndpointsRequest: + that1 = t + case ListNexusEndpointsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListNexusEndpointsResponse to the protobuf v3 wire format +func (val *ListNexusEndpointsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListNexusEndpointsResponse from the protobuf v3 wire format +func (val *ListNexusEndpointsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListNexusEndpointsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListNexusEndpointsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListNexusEndpointsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListNexusEndpointsResponse + switch t := that.(type) { + case *ListNexusEndpointsResponse: + that1 = t + case ListNexusEndpointsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/operatorservice/v1/request_response.pb.go b/api_next/operatorservice/v1/request_response.pb.go new file mode 100644 index 00000000..1835fe4a --- /dev/null +++ b/api_next/operatorservice/v1/request_response.pb.go @@ -0,0 +1,1502 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/operatorservice/v1/request_response.proto + +package operatorservice + +import ( + v1 "go.temporal.io/api/enums/v1" + v11 "go.temporal.io/api/nexus/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type AddSearchAttributesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Mapping between search attribute name and its IndexedValueType. + SearchAttributes map[string]v1.IndexedValueType `protobuf:"bytes,1,rep,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=temporal.api.enums.v1.IndexedValueType"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddSearchAttributesRequest) Reset() { + *x = AddSearchAttributesRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddSearchAttributesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddSearchAttributesRequest) ProtoMessage() {} + +func (x *AddSearchAttributesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddSearchAttributesRequest.ProtoReflect.Descriptor instead. +func (*AddSearchAttributesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{0} +} + +func (x *AddSearchAttributesRequest) GetSearchAttributes() map[string]v1.IndexedValueType { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *AddSearchAttributesRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +type AddSearchAttributesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddSearchAttributesResponse) Reset() { + *x = AddSearchAttributesResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddSearchAttributesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddSearchAttributesResponse) ProtoMessage() {} + +func (x *AddSearchAttributesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddSearchAttributesResponse.ProtoReflect.Descriptor instead. +func (*AddSearchAttributesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{1} +} + +type RemoveSearchAttributesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Search attribute names to delete. + SearchAttributes []string `protobuf:"bytes,1,rep,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + Namespace string `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveSearchAttributesRequest) Reset() { + *x = RemoveSearchAttributesRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveSearchAttributesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveSearchAttributesRequest) ProtoMessage() {} + +func (x *RemoveSearchAttributesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveSearchAttributesRequest.ProtoReflect.Descriptor instead. +func (*RemoveSearchAttributesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{2} +} + +func (x *RemoveSearchAttributesRequest) GetSearchAttributes() []string { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *RemoveSearchAttributesRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +type RemoveSearchAttributesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveSearchAttributesResponse) Reset() { + *x = RemoveSearchAttributesResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveSearchAttributesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveSearchAttributesResponse) ProtoMessage() {} + +func (x *RemoveSearchAttributesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveSearchAttributesResponse.ProtoReflect.Descriptor instead. +func (*RemoveSearchAttributesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{3} +} + +type ListSearchAttributesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListSearchAttributesRequest) Reset() { + *x = ListSearchAttributesRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListSearchAttributesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSearchAttributesRequest) ProtoMessage() {} + +func (x *ListSearchAttributesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListSearchAttributesRequest.ProtoReflect.Descriptor instead. +func (*ListSearchAttributesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{4} +} + +func (x *ListSearchAttributesRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +type ListSearchAttributesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Mapping between custom (user-registered) search attribute name to its IndexedValueType. + CustomAttributes map[string]v1.IndexedValueType `protobuf:"bytes,1,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=temporal.api.enums.v1.IndexedValueType"` + // Mapping between system (predefined) search attribute name to its IndexedValueType. + SystemAttributes map[string]v1.IndexedValueType `protobuf:"bytes,2,rep,name=system_attributes,json=systemAttributes,proto3" json:"system_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=temporal.api.enums.v1.IndexedValueType"` + // Mapping from the attribute name to the visibility storage native type. + StorageSchema map[string]string `protobuf:"bytes,3,rep,name=storage_schema,json=storageSchema,proto3" json:"storage_schema,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListSearchAttributesResponse) Reset() { + *x = ListSearchAttributesResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListSearchAttributesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSearchAttributesResponse) ProtoMessage() {} + +func (x *ListSearchAttributesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListSearchAttributesResponse.ProtoReflect.Descriptor instead. +func (*ListSearchAttributesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{5} +} + +func (x *ListSearchAttributesResponse) GetCustomAttributes() map[string]v1.IndexedValueType { + if x != nil { + return x.CustomAttributes + } + return nil +} + +func (x *ListSearchAttributesResponse) GetSystemAttributes() map[string]v1.IndexedValueType { + if x != nil { + return x.SystemAttributes + } + return nil +} + +func (x *ListSearchAttributesResponse) GetStorageSchema() map[string]string { + if x != nil { + return x.StorageSchema + } + return nil +} + +type DeleteNamespaceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Only one of namespace or namespace_id must be specified to identify namespace. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + NamespaceId string `protobuf:"bytes,2,opt,name=namespace_id,json=namespaceId,proto3" json:"namespace_id,omitempty"` + // If provided, the deletion of namespace info will be delayed for the given duration (0 means no delay). + // If not provided, the default delay configured in the cluster will be used. + NamespaceDeleteDelay *durationpb.Duration `protobuf:"bytes,3,opt,name=namespace_delete_delay,json=namespaceDeleteDelay,proto3" json:"namespace_delete_delay,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNamespaceRequest) Reset() { + *x = DeleteNamespaceRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNamespaceRequest) ProtoMessage() {} + +func (x *DeleteNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNamespaceRequest.ProtoReflect.Descriptor instead. +func (*DeleteNamespaceRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{6} +} + +func (x *DeleteNamespaceRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DeleteNamespaceRequest) GetNamespaceId() string { + if x != nil { + return x.NamespaceId + } + return "" +} + +func (x *DeleteNamespaceRequest) GetNamespaceDeleteDelay() *durationpb.Duration { + if x != nil { + return x.NamespaceDeleteDelay + } + return nil +} + +type DeleteNamespaceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Temporary namespace name that is used during reclaim resources step. + DeletedNamespace string `protobuf:"bytes,1,opt,name=deleted_namespace,json=deletedNamespace,proto3" json:"deleted_namespace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNamespaceResponse) Reset() { + *x = DeleteNamespaceResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNamespaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNamespaceResponse) ProtoMessage() {} + +func (x *DeleteNamespaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNamespaceResponse.ProtoReflect.Descriptor instead. +func (*DeleteNamespaceResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{7} +} + +func (x *DeleteNamespaceResponse) GetDeletedNamespace() string { + if x != nil { + return x.DeletedNamespace + } + return "" +} + +type AddOrUpdateRemoteClusterRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Frontend Address is a cross cluster accessible address for gRPC traffic. This field is required. + FrontendAddress string `protobuf:"bytes,1,opt,name=frontend_address,json=frontendAddress,proto3" json:"frontend_address,omitempty"` + // Flag to enable / disable the cross cluster connection. + EnableRemoteClusterConnection bool `protobuf:"varint,2,opt,name=enable_remote_cluster_connection,json=enableRemoteClusterConnection,proto3" json:"enable_remote_cluster_connection,omitempty"` + // Frontend HTTP Address is a cross cluster accessible address for HTTP traffic. This field is optional. If not provided + // + // on update, the existing HTTP address will be removed. + FrontendHttpAddress string `protobuf:"bytes,3,opt,name=frontend_http_address,json=frontendHttpAddress,proto3" json:"frontend_http_address,omitempty"` + // Controls whether replication streams are active. + EnableReplication bool `protobuf:"varint,4,opt,name=enable_replication,json=enableReplication,proto3" json:"enable_replication,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddOrUpdateRemoteClusterRequest) Reset() { + *x = AddOrUpdateRemoteClusterRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddOrUpdateRemoteClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddOrUpdateRemoteClusterRequest) ProtoMessage() {} + +func (x *AddOrUpdateRemoteClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddOrUpdateRemoteClusterRequest.ProtoReflect.Descriptor instead. +func (*AddOrUpdateRemoteClusterRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{8} +} + +func (x *AddOrUpdateRemoteClusterRequest) GetFrontendAddress() string { + if x != nil { + return x.FrontendAddress + } + return "" +} + +func (x *AddOrUpdateRemoteClusterRequest) GetEnableRemoteClusterConnection() bool { + if x != nil { + return x.EnableRemoteClusterConnection + } + return false +} + +func (x *AddOrUpdateRemoteClusterRequest) GetFrontendHttpAddress() string { + if x != nil { + return x.FrontendHttpAddress + } + return "" +} + +func (x *AddOrUpdateRemoteClusterRequest) GetEnableReplication() bool { + if x != nil { + return x.EnableReplication + } + return false +} + +type AddOrUpdateRemoteClusterResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *AddOrUpdateRemoteClusterResponse) Reset() { + *x = AddOrUpdateRemoteClusterResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *AddOrUpdateRemoteClusterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*AddOrUpdateRemoteClusterResponse) ProtoMessage() {} + +func (x *AddOrUpdateRemoteClusterResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use AddOrUpdateRemoteClusterResponse.ProtoReflect.Descriptor instead. +func (*AddOrUpdateRemoteClusterResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{9} +} + +type RemoveRemoteClusterRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Remote cluster name to be removed. + ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveRemoteClusterRequest) Reset() { + *x = RemoveRemoteClusterRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveRemoteClusterRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveRemoteClusterRequest) ProtoMessage() {} + +func (x *RemoveRemoteClusterRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveRemoteClusterRequest.ProtoReflect.Descriptor instead. +func (*RemoveRemoteClusterRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{10} +} + +func (x *RemoveRemoteClusterRequest) GetClusterName() string { + if x != nil { + return x.ClusterName + } + return "" +} + +type RemoveRemoteClusterResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoveRemoteClusterResponse) Reset() { + *x = RemoveRemoteClusterResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoveRemoteClusterResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoveRemoteClusterResponse) ProtoMessage() {} + +func (x *RemoveRemoteClusterResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoveRemoteClusterResponse.ProtoReflect.Descriptor instead. +func (*RemoveRemoteClusterResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{11} +} + +type ListClustersRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListClustersRequest) Reset() { + *x = ListClustersRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListClustersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListClustersRequest) ProtoMessage() {} + +func (x *ListClustersRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListClustersRequest.ProtoReflect.Descriptor instead. +func (*ListClustersRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{12} +} + +func (x *ListClustersRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListClustersRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type ListClustersResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // List of all cluster information + Clusters []*ClusterMetadata `protobuf:"bytes,1,rep,name=clusters,proto3" json:"clusters,omitempty"` + NextPageToken []byte `protobuf:"bytes,4,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListClustersResponse) Reset() { + *x = ListClustersResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListClustersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListClustersResponse) ProtoMessage() {} + +func (x *ListClustersResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListClustersResponse.ProtoReflect.Descriptor instead. +func (*ListClustersResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{13} +} + +func (x *ListClustersResponse) GetClusters() []*ClusterMetadata { + if x != nil { + return x.Clusters + } + return nil +} + +func (x *ListClustersResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type ClusterMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Name of the cluster name. + ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` + // Id of the cluster. + ClusterId string `protobuf:"bytes,2,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` + // gRPC address. + Address string `protobuf:"bytes,3,opt,name=address,proto3" json:"address,omitempty"` + // HTTP address, if one exists. + HttpAddress string `protobuf:"bytes,7,opt,name=http_address,json=httpAddress,proto3" json:"http_address,omitempty"` + // A unique failover version across all connected clusters. + InitialFailoverVersion int64 `protobuf:"varint,4,opt,name=initial_failover_version,json=initialFailoverVersion,proto3" json:"initial_failover_version,omitempty"` + // History service shard number. + HistoryShardCount int32 `protobuf:"varint,5,opt,name=history_shard_count,json=historyShardCount,proto3" json:"history_shard_count,omitempty"` + // A flag to indicate if a connection is active. + IsConnectionEnabled bool `protobuf:"varint,6,opt,name=is_connection_enabled,json=isConnectionEnabled,proto3" json:"is_connection_enabled,omitempty"` + // A flag to indicate if replication is enabled. + IsReplicationEnabled bool `protobuf:"varint,8,opt,name=is_replication_enabled,json=isReplicationEnabled,proto3" json:"is_replication_enabled,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClusterMetadata) Reset() { + *x = ClusterMetadata{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClusterMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterMetadata) ProtoMessage() {} + +func (x *ClusterMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterMetadata.ProtoReflect.Descriptor instead. +func (*ClusterMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{14} +} + +func (x *ClusterMetadata) GetClusterName() string { + if x != nil { + return x.ClusterName + } + return "" +} + +func (x *ClusterMetadata) GetClusterId() string { + if x != nil { + return x.ClusterId + } + return "" +} + +func (x *ClusterMetadata) GetAddress() string { + if x != nil { + return x.Address + } + return "" +} + +func (x *ClusterMetadata) GetHttpAddress() string { + if x != nil { + return x.HttpAddress + } + return "" +} + +func (x *ClusterMetadata) GetInitialFailoverVersion() int64 { + if x != nil { + return x.InitialFailoverVersion + } + return 0 +} + +func (x *ClusterMetadata) GetHistoryShardCount() int32 { + if x != nil { + return x.HistoryShardCount + } + return 0 +} + +func (x *ClusterMetadata) GetIsConnectionEnabled() bool { + if x != nil { + return x.IsConnectionEnabled + } + return false +} + +func (x *ClusterMetadata) GetIsReplicationEnabled() bool { + if x != nil { + return x.IsReplicationEnabled + } + return false +} + +type GetNexusEndpointRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Server-generated unique endpoint ID. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNexusEndpointRequest) Reset() { + *x = GetNexusEndpointRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNexusEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNexusEndpointRequest) ProtoMessage() {} + +func (x *GetNexusEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNexusEndpointRequest.ProtoReflect.Descriptor instead. +func (*GetNexusEndpointRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{15} +} + +func (x *GetNexusEndpointRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +type GetNexusEndpointResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Endpoint *v11.Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetNexusEndpointResponse) Reset() { + *x = GetNexusEndpointResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetNexusEndpointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetNexusEndpointResponse) ProtoMessage() {} + +func (x *GetNexusEndpointResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetNexusEndpointResponse.ProtoReflect.Descriptor instead. +func (*GetNexusEndpointResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{16} +} + +func (x *GetNexusEndpointResponse) GetEndpoint() *v11.Endpoint { + if x != nil { + return x.Endpoint + } + return nil +} + +type CreateNexusEndpointRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Endpoint definition to create. + Spec *v11.EndpointSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateNexusEndpointRequest) Reset() { + *x = CreateNexusEndpointRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateNexusEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNexusEndpointRequest) ProtoMessage() {} + +func (x *CreateNexusEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNexusEndpointRequest.ProtoReflect.Descriptor instead. +func (*CreateNexusEndpointRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{17} +} + +func (x *CreateNexusEndpointRequest) GetSpec() *v11.EndpointSpec { + if x != nil { + return x.Spec + } + return nil +} + +type CreateNexusEndpointResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Data post acceptance. Can be used to issue additional updates to this record. + Endpoint *v11.Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateNexusEndpointResponse) Reset() { + *x = CreateNexusEndpointResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateNexusEndpointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateNexusEndpointResponse) ProtoMessage() {} + +func (x *CreateNexusEndpointResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateNexusEndpointResponse.ProtoReflect.Descriptor instead. +func (*CreateNexusEndpointResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{18} +} + +func (x *CreateNexusEndpointResponse) GetEndpoint() *v11.Endpoint { + if x != nil { + return x.Endpoint + } + return nil +} + +type UpdateNexusEndpointRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Server-generated unique endpoint ID. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Data version for this endpoint. Must match current version. + Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + Spec *v11.EndpointSpec `protobuf:"bytes,3,opt,name=spec,proto3" json:"spec,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNexusEndpointRequest) Reset() { + *x = UpdateNexusEndpointRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNexusEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNexusEndpointRequest) ProtoMessage() {} + +func (x *UpdateNexusEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNexusEndpointRequest.ProtoReflect.Descriptor instead. +func (*UpdateNexusEndpointRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{19} +} + +func (x *UpdateNexusEndpointRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *UpdateNexusEndpointRequest) GetVersion() int64 { + if x != nil { + return x.Version + } + return 0 +} + +func (x *UpdateNexusEndpointRequest) GetSpec() *v11.EndpointSpec { + if x != nil { + return x.Spec + } + return nil +} + +type UpdateNexusEndpointResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Data post acceptance. Can be used to issue additional updates to this record. + Endpoint *v11.Endpoint `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNexusEndpointResponse) Reset() { + *x = UpdateNexusEndpointResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNexusEndpointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNexusEndpointResponse) ProtoMessage() {} + +func (x *UpdateNexusEndpointResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNexusEndpointResponse.ProtoReflect.Descriptor instead. +func (*UpdateNexusEndpointResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{20} +} + +func (x *UpdateNexusEndpointResponse) GetEndpoint() *v11.Endpoint { + if x != nil { + return x.Endpoint + } + return nil +} + +type DeleteNexusEndpointRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Server-generated unique endpoint ID. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Data version for this endpoint. Must match current version. + Version int64 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNexusEndpointRequest) Reset() { + *x = DeleteNexusEndpointRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNexusEndpointRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNexusEndpointRequest) ProtoMessage() {} + +func (x *DeleteNexusEndpointRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNexusEndpointRequest.ProtoReflect.Descriptor instead. +func (*DeleteNexusEndpointRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{21} +} + +func (x *DeleteNexusEndpointRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DeleteNexusEndpointRequest) GetVersion() int64 { + if x != nil { + return x.Version + } + return 0 +} + +type DeleteNexusEndpointResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNexusEndpointResponse) Reset() { + *x = DeleteNexusEndpointResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNexusEndpointResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNexusEndpointResponse) ProtoMessage() {} + +func (x *DeleteNexusEndpointResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNexusEndpointResponse.ProtoReflect.Descriptor instead. +func (*DeleteNexusEndpointResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{22} +} + +type ListNexusEndpointsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // To get the next page, pass in `ListNexusEndpointsResponse.next_page_token` from the previous page's + // response, the token will be empty if there's no other page. + // Note: the last page may be empty if the total number of endpoints registered is a multiple of the page size. + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Name of the incoming endpoint to filter on - optional. Specifying this will result in zero or one results. + // (-- api-linter: core::203::field-behavior-required=disabled + // + // aip.dev/not-precedent: Not following linter rules. --) + Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNexusEndpointsRequest) Reset() { + *x = ListNexusEndpointsRequest{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNexusEndpointsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNexusEndpointsRequest) ProtoMessage() {} + +func (x *ListNexusEndpointsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNexusEndpointsRequest.ProtoReflect.Descriptor instead. +func (*ListNexusEndpointsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{23} +} + +func (x *ListNexusEndpointsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNexusEndpointsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListNexusEndpointsRequest) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +type ListNexusEndpointsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Token for getting the next page. + NextPageToken []byte `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Endpoints []*v11.Endpoint `protobuf:"bytes,2,rep,name=endpoints,proto3" json:"endpoints,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNexusEndpointsResponse) Reset() { + *x = ListNexusEndpointsResponse{} + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNexusEndpointsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNexusEndpointsResponse) ProtoMessage() {} + +func (x *ListNexusEndpointsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_operatorservice_v1_request_response_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNexusEndpointsResponse.ProtoReflect.Descriptor instead. +func (*ListNexusEndpointsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP(), []int{24} +} + +func (x *ListNexusEndpointsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListNexusEndpointsResponse) GetEndpoints() []*v11.Endpoint { + if x != nil { + return x.Endpoints + } + return nil +} + +var File_temporal_api_operatorservice_v1_request_response_proto protoreflect.FileDescriptor + +const file_temporal_api_operatorservice_v1_request_response_proto_rawDesc = "" + + "\n" + + "6temporal/api/operatorservice/v1/request_response.proto\x12\x1ftemporal.api.operatorservice.v1\x1a\"temporal/api/enums/v1/common.proto\x1a#temporal/api/nexus/v1/message.proto\x1a\x1egoogle/protobuf/duration.proto\"\xa8\x02\n" + + "\x1aAddSearchAttributesRequest\x12~\n" + + "\x11search_attributes\x18\x01 \x03(\v2Q.temporal.api.operatorservice.v1.AddSearchAttributesRequest.SearchAttributesEntryR\x10searchAttributes\x12\x1c\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\x1al\n" + + "\x15SearchAttributesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12=\n" + + "\x05value\x18\x02 \x01(\x0e2'.temporal.api.enums.v1.IndexedValueTypeR\x05value:\x028\x01\"\x1d\n" + + "\x1bAddSearchAttributesResponse\"j\n" + + "\x1dRemoveSearchAttributesRequest\x12+\n" + + "\x11search_attributes\x18\x01 \x03(\tR\x10searchAttributes\x12\x1c\n" + + "\tnamespace\x18\x02 \x01(\tR\tnamespace\" \n" + + "\x1eRemoveSearchAttributesResponse\";\n" + + "\x1bListSearchAttributesRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\"\xbb\x05\n" + + "\x1cListSearchAttributesResponse\x12\x80\x01\n" + + "\x11custom_attributes\x18\x01 \x03(\v2S.temporal.api.operatorservice.v1.ListSearchAttributesResponse.CustomAttributesEntryR\x10customAttributes\x12\x80\x01\n" + + "\x11system_attributes\x18\x02 \x03(\v2S.temporal.api.operatorservice.v1.ListSearchAttributesResponse.SystemAttributesEntryR\x10systemAttributes\x12w\n" + + "\x0estorage_schema\x18\x03 \x03(\v2P.temporal.api.operatorservice.v1.ListSearchAttributesResponse.StorageSchemaEntryR\rstorageSchema\x1al\n" + + "\x15CustomAttributesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12=\n" + + "\x05value\x18\x02 \x01(\x0e2'.temporal.api.enums.v1.IndexedValueTypeR\x05value:\x028\x01\x1al\n" + + "\x15SystemAttributesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12=\n" + + "\x05value\x18\x02 \x01(\x0e2'.temporal.api.enums.v1.IndexedValueTypeR\x05value:\x028\x01\x1a@\n" + + "\x12StorageSchemaEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\xaa\x01\n" + + "\x16DeleteNamespaceRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\fnamespace_id\x18\x02 \x01(\tR\vnamespaceId\x12O\n" + + "\x16namespace_delete_delay\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x14namespaceDeleteDelay\"F\n" + + "\x17DeleteNamespaceResponse\x12+\n" + + "\x11deleted_namespace\x18\x01 \x01(\tR\x10deletedNamespace\"\xf8\x01\n" + + "\x1fAddOrUpdateRemoteClusterRequest\x12)\n" + + "\x10frontend_address\x18\x01 \x01(\tR\x0ffrontendAddress\x12G\n" + + " enable_remote_cluster_connection\x18\x02 \x01(\bR\x1denableRemoteClusterConnection\x122\n" + + "\x15frontend_http_address\x18\x03 \x01(\tR\x13frontendHttpAddress\x12-\n" + + "\x12enable_replication\x18\x04 \x01(\bR\x11enableReplication\"\"\n" + + " AddOrUpdateRemoteClusterResponse\"?\n" + + "\x1aRemoveRemoteClusterRequest\x12!\n" + + "\fcluster_name\x18\x01 \x01(\tR\vclusterName\"\x1d\n" + + "\x1bRemoveRemoteClusterResponse\"Z\n" + + "\x13ListClustersRequest\x12\x1b\n" + + "\tpage_size\x18\x01 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"\x8c\x01\n" + + "\x14ListClustersResponse\x12L\n" + + "\bclusters\x18\x01 \x03(\v20.temporal.api.operatorservice.v1.ClusterMetadataR\bclusters\x12&\n" + + "\x0fnext_page_token\x18\x04 \x01(\fR\rnextPageToken\"\xe4\x02\n" + + "\x0fClusterMetadata\x12!\n" + + "\fcluster_name\x18\x01 \x01(\tR\vclusterName\x12\x1d\n" + + "\n" + + "cluster_id\x18\x02 \x01(\tR\tclusterId\x12\x18\n" + + "\aaddress\x18\x03 \x01(\tR\aaddress\x12!\n" + + "\fhttp_address\x18\a \x01(\tR\vhttpAddress\x128\n" + + "\x18initial_failover_version\x18\x04 \x01(\x03R\x16initialFailoverVersion\x12.\n" + + "\x13history_shard_count\x18\x05 \x01(\x05R\x11historyShardCount\x122\n" + + "\x15is_connection_enabled\x18\x06 \x01(\bR\x13isConnectionEnabled\x124\n" + + "\x16is_replication_enabled\x18\b \x01(\bR\x14isReplicationEnabled\")\n" + + "\x17GetNexusEndpointRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\"W\n" + + "\x18GetNexusEndpointResponse\x12;\n" + + "\bendpoint\x18\x01 \x01(\v2\x1f.temporal.api.nexus.v1.EndpointR\bendpoint\"U\n" + + "\x1aCreateNexusEndpointRequest\x127\n" + + "\x04spec\x18\x01 \x01(\v2#.temporal.api.nexus.v1.EndpointSpecR\x04spec\"Z\n" + + "\x1bCreateNexusEndpointResponse\x12;\n" + + "\bendpoint\x18\x01 \x01(\v2\x1f.temporal.api.nexus.v1.EndpointR\bendpoint\"\x7f\n" + + "\x1aUpdateNexusEndpointRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" + + "\aversion\x18\x02 \x01(\x03R\aversion\x127\n" + + "\x04spec\x18\x03 \x01(\v2#.temporal.api.nexus.v1.EndpointSpecR\x04spec\"Z\n" + + "\x1bUpdateNexusEndpointResponse\x12;\n" + + "\bendpoint\x18\x01 \x01(\v2\x1f.temporal.api.nexus.v1.EndpointR\bendpoint\"F\n" + + "\x1aDeleteNexusEndpointRequest\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x18\n" + + "\aversion\x18\x02 \x01(\x03R\aversion\"\x1d\n" + + "\x1bDeleteNexusEndpointResponse\"t\n" + + "\x19ListNexusEndpointsRequest\x12\x1b\n" + + "\tpage_size\x18\x01 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\x12\x12\n" + + "\x04name\x18\x03 \x01(\tR\x04name\"\x83\x01\n" + + "\x1aListNexusEndpointsResponse\x12&\n" + + "\x0fnext_page_token\x18\x01 \x01(\fR\rnextPageToken\x12=\n" + + "\tendpoints\x18\x02 \x03(\v2\x1f.temporal.api.nexus.v1.EndpointR\tendpointsB\xbe\x01\n" + + "\"io.temporal.api.operatorservice.v1B\x14RequestResponseProtoP\x01Z5go.temporal.io/api/operatorservice/v1;operatorservice\xaa\x02!Temporalio.Api.OperatorService.V1\xea\x02$Temporalio::Api::OperatorService::V1b\x06proto3" + +var ( + file_temporal_api_operatorservice_v1_request_response_proto_rawDescOnce sync.Once + file_temporal_api_operatorservice_v1_request_response_proto_rawDescData []byte +) + +func file_temporal_api_operatorservice_v1_request_response_proto_rawDescGZIP() []byte { + file_temporal_api_operatorservice_v1_request_response_proto_rawDescOnce.Do(func() { + file_temporal_api_operatorservice_v1_request_response_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_operatorservice_v1_request_response_proto_rawDesc), len(file_temporal_api_operatorservice_v1_request_response_proto_rawDesc))) + }) + return file_temporal_api_operatorservice_v1_request_response_proto_rawDescData +} + +var file_temporal_api_operatorservice_v1_request_response_proto_msgTypes = make([]protoimpl.MessageInfo, 29) +var file_temporal_api_operatorservice_v1_request_response_proto_goTypes = []any{ + (*AddSearchAttributesRequest)(nil), // 0: temporal.api.operatorservice.v1.AddSearchAttributesRequest + (*AddSearchAttributesResponse)(nil), // 1: temporal.api.operatorservice.v1.AddSearchAttributesResponse + (*RemoveSearchAttributesRequest)(nil), // 2: temporal.api.operatorservice.v1.RemoveSearchAttributesRequest + (*RemoveSearchAttributesResponse)(nil), // 3: temporal.api.operatorservice.v1.RemoveSearchAttributesResponse + (*ListSearchAttributesRequest)(nil), // 4: temporal.api.operatorservice.v1.ListSearchAttributesRequest + (*ListSearchAttributesResponse)(nil), // 5: temporal.api.operatorservice.v1.ListSearchAttributesResponse + (*DeleteNamespaceRequest)(nil), // 6: temporal.api.operatorservice.v1.DeleteNamespaceRequest + (*DeleteNamespaceResponse)(nil), // 7: temporal.api.operatorservice.v1.DeleteNamespaceResponse + (*AddOrUpdateRemoteClusterRequest)(nil), // 8: temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterRequest + (*AddOrUpdateRemoteClusterResponse)(nil), // 9: temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterResponse + (*RemoveRemoteClusterRequest)(nil), // 10: temporal.api.operatorservice.v1.RemoveRemoteClusterRequest + (*RemoveRemoteClusterResponse)(nil), // 11: temporal.api.operatorservice.v1.RemoveRemoteClusterResponse + (*ListClustersRequest)(nil), // 12: temporal.api.operatorservice.v1.ListClustersRequest + (*ListClustersResponse)(nil), // 13: temporal.api.operatorservice.v1.ListClustersResponse + (*ClusterMetadata)(nil), // 14: temporal.api.operatorservice.v1.ClusterMetadata + (*GetNexusEndpointRequest)(nil), // 15: temporal.api.operatorservice.v1.GetNexusEndpointRequest + (*GetNexusEndpointResponse)(nil), // 16: temporal.api.operatorservice.v1.GetNexusEndpointResponse + (*CreateNexusEndpointRequest)(nil), // 17: temporal.api.operatorservice.v1.CreateNexusEndpointRequest + (*CreateNexusEndpointResponse)(nil), // 18: temporal.api.operatorservice.v1.CreateNexusEndpointResponse + (*UpdateNexusEndpointRequest)(nil), // 19: temporal.api.operatorservice.v1.UpdateNexusEndpointRequest + (*UpdateNexusEndpointResponse)(nil), // 20: temporal.api.operatorservice.v1.UpdateNexusEndpointResponse + (*DeleteNexusEndpointRequest)(nil), // 21: temporal.api.operatorservice.v1.DeleteNexusEndpointRequest + (*DeleteNexusEndpointResponse)(nil), // 22: temporal.api.operatorservice.v1.DeleteNexusEndpointResponse + (*ListNexusEndpointsRequest)(nil), // 23: temporal.api.operatorservice.v1.ListNexusEndpointsRequest + (*ListNexusEndpointsResponse)(nil), // 24: temporal.api.operatorservice.v1.ListNexusEndpointsResponse + nil, // 25: temporal.api.operatorservice.v1.AddSearchAttributesRequest.SearchAttributesEntry + nil, // 26: temporal.api.operatorservice.v1.ListSearchAttributesResponse.CustomAttributesEntry + nil, // 27: temporal.api.operatorservice.v1.ListSearchAttributesResponse.SystemAttributesEntry + nil, // 28: temporal.api.operatorservice.v1.ListSearchAttributesResponse.StorageSchemaEntry + (*durationpb.Duration)(nil), // 29: google.protobuf.Duration + (*v11.Endpoint)(nil), // 30: temporal.api.nexus.v1.Endpoint + (*v11.EndpointSpec)(nil), // 31: temporal.api.nexus.v1.EndpointSpec + (v1.IndexedValueType)(0), // 32: temporal.api.enums.v1.IndexedValueType +} +var file_temporal_api_operatorservice_v1_request_response_proto_depIdxs = []int32{ + 25, // 0: temporal.api.operatorservice.v1.AddSearchAttributesRequest.search_attributes:type_name -> temporal.api.operatorservice.v1.AddSearchAttributesRequest.SearchAttributesEntry + 26, // 1: temporal.api.operatorservice.v1.ListSearchAttributesResponse.custom_attributes:type_name -> temporal.api.operatorservice.v1.ListSearchAttributesResponse.CustomAttributesEntry + 27, // 2: temporal.api.operatorservice.v1.ListSearchAttributesResponse.system_attributes:type_name -> temporal.api.operatorservice.v1.ListSearchAttributesResponse.SystemAttributesEntry + 28, // 3: temporal.api.operatorservice.v1.ListSearchAttributesResponse.storage_schema:type_name -> temporal.api.operatorservice.v1.ListSearchAttributesResponse.StorageSchemaEntry + 29, // 4: temporal.api.operatorservice.v1.DeleteNamespaceRequest.namespace_delete_delay:type_name -> google.protobuf.Duration + 14, // 5: temporal.api.operatorservice.v1.ListClustersResponse.clusters:type_name -> temporal.api.operatorservice.v1.ClusterMetadata + 30, // 6: temporal.api.operatorservice.v1.GetNexusEndpointResponse.endpoint:type_name -> temporal.api.nexus.v1.Endpoint + 31, // 7: temporal.api.operatorservice.v1.CreateNexusEndpointRequest.spec:type_name -> temporal.api.nexus.v1.EndpointSpec + 30, // 8: temporal.api.operatorservice.v1.CreateNexusEndpointResponse.endpoint:type_name -> temporal.api.nexus.v1.Endpoint + 31, // 9: temporal.api.operatorservice.v1.UpdateNexusEndpointRequest.spec:type_name -> temporal.api.nexus.v1.EndpointSpec + 30, // 10: temporal.api.operatorservice.v1.UpdateNexusEndpointResponse.endpoint:type_name -> temporal.api.nexus.v1.Endpoint + 30, // 11: temporal.api.operatorservice.v1.ListNexusEndpointsResponse.endpoints:type_name -> temporal.api.nexus.v1.Endpoint + 32, // 12: temporal.api.operatorservice.v1.AddSearchAttributesRequest.SearchAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType + 32, // 13: temporal.api.operatorservice.v1.ListSearchAttributesResponse.CustomAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType + 32, // 14: temporal.api.operatorservice.v1.ListSearchAttributesResponse.SystemAttributesEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType + 15, // [15:15] is the sub-list for method output_type + 15, // [15:15] is the sub-list for method input_type + 15, // [15:15] is the sub-list for extension type_name + 15, // [15:15] is the sub-list for extension extendee + 0, // [0:15] is the sub-list for field type_name +} + +func init() { file_temporal_api_operatorservice_v1_request_response_proto_init() } +func file_temporal_api_operatorservice_v1_request_response_proto_init() { + if File_temporal_api_operatorservice_v1_request_response_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_operatorservice_v1_request_response_proto_rawDesc), len(file_temporal_api_operatorservice_v1_request_response_proto_rawDesc)), + NumEnums: 0, + NumMessages: 29, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_operatorservice_v1_request_response_proto_goTypes, + DependencyIndexes: file_temporal_api_operatorservice_v1_request_response_proto_depIdxs, + MessageInfos: file_temporal_api_operatorservice_v1_request_response_proto_msgTypes, + }.Build() + File_temporal_api_operatorservice_v1_request_response_proto = out.File + file_temporal_api_operatorservice_v1_request_response_proto_goTypes = nil + file_temporal_api_operatorservice_v1_request_response_proto_depIdxs = nil +} diff --git a/api_next/operatorservice/v1/service.pb.go b/api_next/operatorservice/v1/service.pb.go new file mode 100644 index 00000000..3dbb31da --- /dev/null +++ b/api_next/operatorservice/v1/service.pb.go @@ -0,0 +1,124 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/operatorservice/v1/service.proto + +package operatorservice + +import ( + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + unsafe "unsafe" +) + +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) +) + +var File_temporal_api_operatorservice_v1_service_proto protoreflect.FileDescriptor + +const file_temporal_api_operatorservice_v1_service_proto_rawDesc = "" + + "\n" + + "-temporal/api/operatorservice/v1/service.proto\x12\x1ftemporal.api.operatorservice.v1\x1a6temporal/api/operatorservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto2\xc6\x11\n" + + "\x0fOperatorService\x12\x92\x01\n" + + "\x13AddSearchAttributes\x12;.temporal.api.operatorservice.v1.AddSearchAttributesRequest\x1a<.temporal.api.operatorservice.v1.AddSearchAttributesResponse\"\x00\x12\x9b\x01\n" + + "\x16RemoveSearchAttributes\x12>.temporal.api.operatorservice.v1.RemoveSearchAttributesRequest\x1a?.temporal.api.operatorservice.v1.RemoveSearchAttributesResponse\"\x00\x12\x82\x02\n" + + "\x14ListSearchAttributes\x12<.temporal.api.operatorservice.v1.ListSearchAttributesRequest\x1a=.temporal.api.operatorservice.v1.ListSearchAttributesResponse\"m\x82\xd3\xe4\x93\x02gZ2\x120/api/v1/namespaces/{namespace}/search-attributes\x121/cluster/namespaces/{namespace}/search-attributes\x12\x86\x01\n" + + "\x0fDeleteNamespace\x127.temporal.api.operatorservice.v1.DeleteNamespaceRequest\x1a8.temporal.api.operatorservice.v1.DeleteNamespaceResponse\"\x00\x12\xa1\x01\n" + + "\x18AddOrUpdateRemoteCluster\x12@.temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterRequest\x1aA.temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterResponse\"\x00\x12\x92\x01\n" + + "\x13RemoveRemoteCluster\x12;.temporal.api.operatorservice.v1.RemoveRemoteClusterRequest\x1a<.temporal.api.operatorservice.v1.RemoveRemoteClusterResponse\"\x00\x12}\n" + + "\fListClusters\x124.temporal.api.operatorservice.v1.ListClustersRequest\x1a5.temporal.api.operatorservice.v1.ListClustersResponse\"\x00\x12\xce\x01\n" + + "\x10GetNexusEndpoint\x128.temporal.api.operatorservice.v1.GetNexusEndpointRequest\x1a9.temporal.api.operatorservice.v1.GetNexusEndpointResponse\"E\x82\xd3\xe4\x93\x02?Z\x1e\x12\x1c/api/v1/nexus/endpoints/{id}\x12\x1d/cluster/nexus/endpoints/{id}\x12\xd3\x01\n" + + "\x13CreateNexusEndpoint\x12;.temporal.api.operatorservice.v1.CreateNexusEndpointRequest\x1a<.temporal.api.operatorservice.v1.CreateNexusEndpointResponse\"A\x82\xd3\xe4\x93\x02;:\x01*Z\x1c:\x01*\"\x17/api/v1/nexus/endpoints\"\x18/cluster/nexus/endpoints\x12\xeb\x01\n" + + "\x13UpdateNexusEndpoint\x12;.temporal.api.operatorservice.v1.UpdateNexusEndpointRequest\x1a<.temporal.api.operatorservice.v1.UpdateNexusEndpointResponse\"Y\x82\xd3\xe4\x93\x02S:\x01*Z(:\x01*\"#/api/v1/nexus/endpoints/{id}/update\"$/cluster/nexus/endpoints/{id}/update\x12\xd7\x01\n" + + "\x13DeleteNexusEndpoint\x12;.temporal.api.operatorservice.v1.DeleteNexusEndpointRequest\x1a<.temporal.api.operatorservice.v1.DeleteNexusEndpointResponse\"E\x82\xd3\xe4\x93\x02?Z\x1e*\x1c/api/v1/nexus/endpoints/{id}*\x1d/cluster/nexus/endpoints/{id}\x12\xca\x01\n" + + "\x12ListNexusEndpoints\x12:.temporal.api.operatorservice.v1.ListNexusEndpointsRequest\x1a;.temporal.api.operatorservice.v1.ListNexusEndpointsResponse\";\x82\xd3\xe4\x93\x025Z\x19\x12\x17/api/v1/nexus/endpoints\x12\x18/cluster/nexus/endpointsB\xb6\x01\n" + + "\"io.temporal.api.operatorservice.v1B\fServiceProtoP\x01Z5go.temporal.io/api/operatorservice/v1;operatorservice\xaa\x02!Temporalio.Api.OperatorService.V1\xea\x02$Temporalio::Api::OperatorService::V1b\x06proto3" + +var file_temporal_api_operatorservice_v1_service_proto_goTypes = []any{ + (*AddSearchAttributesRequest)(nil), // 0: temporal.api.operatorservice.v1.AddSearchAttributesRequest + (*RemoveSearchAttributesRequest)(nil), // 1: temporal.api.operatorservice.v1.RemoveSearchAttributesRequest + (*ListSearchAttributesRequest)(nil), // 2: temporal.api.operatorservice.v1.ListSearchAttributesRequest + (*DeleteNamespaceRequest)(nil), // 3: temporal.api.operatorservice.v1.DeleteNamespaceRequest + (*AddOrUpdateRemoteClusterRequest)(nil), // 4: temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterRequest + (*RemoveRemoteClusterRequest)(nil), // 5: temporal.api.operatorservice.v1.RemoveRemoteClusterRequest + (*ListClustersRequest)(nil), // 6: temporal.api.operatorservice.v1.ListClustersRequest + (*GetNexusEndpointRequest)(nil), // 7: temporal.api.operatorservice.v1.GetNexusEndpointRequest + (*CreateNexusEndpointRequest)(nil), // 8: temporal.api.operatorservice.v1.CreateNexusEndpointRequest + (*UpdateNexusEndpointRequest)(nil), // 9: temporal.api.operatorservice.v1.UpdateNexusEndpointRequest + (*DeleteNexusEndpointRequest)(nil), // 10: temporal.api.operatorservice.v1.DeleteNexusEndpointRequest + (*ListNexusEndpointsRequest)(nil), // 11: temporal.api.operatorservice.v1.ListNexusEndpointsRequest + (*AddSearchAttributesResponse)(nil), // 12: temporal.api.operatorservice.v1.AddSearchAttributesResponse + (*RemoveSearchAttributesResponse)(nil), // 13: temporal.api.operatorservice.v1.RemoveSearchAttributesResponse + (*ListSearchAttributesResponse)(nil), // 14: temporal.api.operatorservice.v1.ListSearchAttributesResponse + (*DeleteNamespaceResponse)(nil), // 15: temporal.api.operatorservice.v1.DeleteNamespaceResponse + (*AddOrUpdateRemoteClusterResponse)(nil), // 16: temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterResponse + (*RemoveRemoteClusterResponse)(nil), // 17: temporal.api.operatorservice.v1.RemoveRemoteClusterResponse + (*ListClustersResponse)(nil), // 18: temporal.api.operatorservice.v1.ListClustersResponse + (*GetNexusEndpointResponse)(nil), // 19: temporal.api.operatorservice.v1.GetNexusEndpointResponse + (*CreateNexusEndpointResponse)(nil), // 20: temporal.api.operatorservice.v1.CreateNexusEndpointResponse + (*UpdateNexusEndpointResponse)(nil), // 21: temporal.api.operatorservice.v1.UpdateNexusEndpointResponse + (*DeleteNexusEndpointResponse)(nil), // 22: temporal.api.operatorservice.v1.DeleteNexusEndpointResponse + (*ListNexusEndpointsResponse)(nil), // 23: temporal.api.operatorservice.v1.ListNexusEndpointsResponse +} +var file_temporal_api_operatorservice_v1_service_proto_depIdxs = []int32{ + 0, // 0: temporal.api.operatorservice.v1.OperatorService.AddSearchAttributes:input_type -> temporal.api.operatorservice.v1.AddSearchAttributesRequest + 1, // 1: temporal.api.operatorservice.v1.OperatorService.RemoveSearchAttributes:input_type -> temporal.api.operatorservice.v1.RemoveSearchAttributesRequest + 2, // 2: temporal.api.operatorservice.v1.OperatorService.ListSearchAttributes:input_type -> temporal.api.operatorservice.v1.ListSearchAttributesRequest + 3, // 3: temporal.api.operatorservice.v1.OperatorService.DeleteNamespace:input_type -> temporal.api.operatorservice.v1.DeleteNamespaceRequest + 4, // 4: temporal.api.operatorservice.v1.OperatorService.AddOrUpdateRemoteCluster:input_type -> temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterRequest + 5, // 5: temporal.api.operatorservice.v1.OperatorService.RemoveRemoteCluster:input_type -> temporal.api.operatorservice.v1.RemoveRemoteClusterRequest + 6, // 6: temporal.api.operatorservice.v1.OperatorService.ListClusters:input_type -> temporal.api.operatorservice.v1.ListClustersRequest + 7, // 7: temporal.api.operatorservice.v1.OperatorService.GetNexusEndpoint:input_type -> temporal.api.operatorservice.v1.GetNexusEndpointRequest + 8, // 8: temporal.api.operatorservice.v1.OperatorService.CreateNexusEndpoint:input_type -> temporal.api.operatorservice.v1.CreateNexusEndpointRequest + 9, // 9: temporal.api.operatorservice.v1.OperatorService.UpdateNexusEndpoint:input_type -> temporal.api.operatorservice.v1.UpdateNexusEndpointRequest + 10, // 10: temporal.api.operatorservice.v1.OperatorService.DeleteNexusEndpoint:input_type -> temporal.api.operatorservice.v1.DeleteNexusEndpointRequest + 11, // 11: temporal.api.operatorservice.v1.OperatorService.ListNexusEndpoints:input_type -> temporal.api.operatorservice.v1.ListNexusEndpointsRequest + 12, // 12: temporal.api.operatorservice.v1.OperatorService.AddSearchAttributes:output_type -> temporal.api.operatorservice.v1.AddSearchAttributesResponse + 13, // 13: temporal.api.operatorservice.v1.OperatorService.RemoveSearchAttributes:output_type -> temporal.api.operatorservice.v1.RemoveSearchAttributesResponse + 14, // 14: temporal.api.operatorservice.v1.OperatorService.ListSearchAttributes:output_type -> temporal.api.operatorservice.v1.ListSearchAttributesResponse + 15, // 15: temporal.api.operatorservice.v1.OperatorService.DeleteNamespace:output_type -> temporal.api.operatorservice.v1.DeleteNamespaceResponse + 16, // 16: temporal.api.operatorservice.v1.OperatorService.AddOrUpdateRemoteCluster:output_type -> temporal.api.operatorservice.v1.AddOrUpdateRemoteClusterResponse + 17, // 17: temporal.api.operatorservice.v1.OperatorService.RemoveRemoteCluster:output_type -> temporal.api.operatorservice.v1.RemoveRemoteClusterResponse + 18, // 18: temporal.api.operatorservice.v1.OperatorService.ListClusters:output_type -> temporal.api.operatorservice.v1.ListClustersResponse + 19, // 19: temporal.api.operatorservice.v1.OperatorService.GetNexusEndpoint:output_type -> temporal.api.operatorservice.v1.GetNexusEndpointResponse + 20, // 20: temporal.api.operatorservice.v1.OperatorService.CreateNexusEndpoint:output_type -> temporal.api.operatorservice.v1.CreateNexusEndpointResponse + 21, // 21: temporal.api.operatorservice.v1.OperatorService.UpdateNexusEndpoint:output_type -> temporal.api.operatorservice.v1.UpdateNexusEndpointResponse + 22, // 22: temporal.api.operatorservice.v1.OperatorService.DeleteNexusEndpoint:output_type -> temporal.api.operatorservice.v1.DeleteNexusEndpointResponse + 23, // 23: temporal.api.operatorservice.v1.OperatorService.ListNexusEndpoints:output_type -> temporal.api.operatorservice.v1.ListNexusEndpointsResponse + 12, // [12:24] is the sub-list for method output_type + 0, // [0:12] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_operatorservice_v1_service_proto_init() } +func file_temporal_api_operatorservice_v1_service_proto_init() { + if File_temporal_api_operatorservice_v1_service_proto != nil { + return + } + file_temporal_api_operatorservice_v1_request_response_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_operatorservice_v1_service_proto_rawDesc), len(file_temporal_api_operatorservice_v1_service_proto_rawDesc)), + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_temporal_api_operatorservice_v1_service_proto_goTypes, + DependencyIndexes: file_temporal_api_operatorservice_v1_service_proto_depIdxs, + }.Build() + File_temporal_api_operatorservice_v1_service_proto = out.File + file_temporal_api_operatorservice_v1_service_proto_goTypes = nil + file_temporal_api_operatorservice_v1_service_proto_depIdxs = nil +} diff --git a/api_next/operatorservice/v1/service.pb.gw.go b/api_next/operatorservice/v1/service.pb.gw.go new file mode 100644 index 00000000..91597f5d --- /dev/null +++ b/api_next/operatorservice/v1/service.pb.gw.go @@ -0,0 +1,1035 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: temporal/api/operatorservice/v1/service.proto + +/* +Package operatorservice is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package operatorservice + +import ( + "context" + "errors" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var ( + _ codes.Code + _ io.Reader + _ status.Status + _ = errors.New + _ = runtime.String + _ = utilities.NewDoubleArray + _ = metadata.Join +) + +func request_OperatorService_ListSearchAttributes_0(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListSearchAttributesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.ListSearchAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_ListSearchAttributes_0(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListSearchAttributesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.ListSearchAttributes(ctx, &protoReq) + return msg, metadata, err +} + +func request_OperatorService_ListSearchAttributes_1(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListSearchAttributesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.ListSearchAttributes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_ListSearchAttributes_1(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListSearchAttributesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.ListSearchAttributes(ctx, &protoReq) + return msg, metadata, err +} + +func request_OperatorService_GetNexusEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := client.GetNexusEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_GetNexusEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := server.GetNexusEndpoint(ctx, &protoReq) + return msg, metadata, err +} + +func request_OperatorService_GetNexusEndpoint_1(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := client.GetNexusEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_GetNexusEndpoint_1(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := server.GetNexusEndpoint(ctx, &protoReq) + return msg, metadata, err +} + +func request_OperatorService_CreateNexusEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateNexusEndpointRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + msg, err := client.CreateNexusEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_CreateNexusEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateNexusEndpointRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CreateNexusEndpoint(ctx, &protoReq) + return msg, metadata, err +} + +func request_OperatorService_CreateNexusEndpoint_1(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateNexusEndpointRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + msg, err := client.CreateNexusEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_CreateNexusEndpoint_1(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateNexusEndpointRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CreateNexusEndpoint(ctx, &protoReq) + return msg, metadata, err +} + +func request_OperatorService_UpdateNexusEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := client.UpdateNexusEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_UpdateNexusEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := server.UpdateNexusEndpoint(ctx, &protoReq) + return msg, metadata, err +} + +func request_OperatorService_UpdateNexusEndpoint_1(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := client.UpdateNexusEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_UpdateNexusEndpoint_1(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + msg, err := server.UpdateNexusEndpoint(ctx, &protoReq) + return msg, metadata, err +} + +var filter_OperatorService_DeleteNexusEndpoint_0 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_OperatorService_DeleteNexusEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_OperatorService_DeleteNexusEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DeleteNexusEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_DeleteNexusEndpoint_0(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_OperatorService_DeleteNexusEndpoint_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DeleteNexusEndpoint(ctx, &protoReq) + return msg, metadata, err +} + +var filter_OperatorService_DeleteNexusEndpoint_1 = &utilities.DoubleArray{Encoding: map[string]int{"id": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_OperatorService_DeleteNexusEndpoint_1(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_OperatorService_DeleteNexusEndpoint_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DeleteNexusEndpoint(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_DeleteNexusEndpoint_1(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteNexusEndpointRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "id") + } + protoReq.Id, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_OperatorService_DeleteNexusEndpoint_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DeleteNexusEndpoint(ctx, &protoReq) + return msg, metadata, err +} + +var filter_OperatorService_ListNexusEndpoints_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + +func request_OperatorService_ListNexusEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNexusEndpointsRequest + metadata runtime.ServerMetadata + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_OperatorService_ListNexusEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListNexusEndpoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_ListNexusEndpoints_0(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNexusEndpointsRequest + metadata runtime.ServerMetadata + ) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_OperatorService_ListNexusEndpoints_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListNexusEndpoints(ctx, &protoReq) + return msg, metadata, err +} + +var filter_OperatorService_ListNexusEndpoints_1 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + +func request_OperatorService_ListNexusEndpoints_1(ctx context.Context, marshaler runtime.Marshaler, client OperatorServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNexusEndpointsRequest + metadata runtime.ServerMetadata + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_OperatorService_ListNexusEndpoints_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListNexusEndpoints(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_OperatorService_ListNexusEndpoints_1(ctx context.Context, marshaler runtime.Marshaler, server OperatorServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNexusEndpointsRequest + metadata runtime.ServerMetadata + ) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_OperatorService_ListNexusEndpoints_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListNexusEndpoints(ctx, &protoReq) + return msg, metadata, err +} + +// RegisterOperatorServiceHandlerServer registers the http handlers for service OperatorService to "mux". +// UnaryRPC :call OperatorServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterOperatorServiceHandlerFromEndpoint instead. +// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call. +func RegisterOperatorServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server OperatorServiceServer) error { + mux.Handle(http.MethodGet, pattern_OperatorService_ListSearchAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/ListSearchAttributes", runtime.WithHTTPPathPattern("/cluster/namespaces/{namespace}/search-attributes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_ListSearchAttributes_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_ListSearchAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_ListSearchAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/ListSearchAttributes", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/search-attributes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_ListSearchAttributes_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_ListSearchAttributes_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_GetNexusEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/GetNexusEndpoint", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_GetNexusEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_GetNexusEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_GetNexusEndpoint_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/GetNexusEndpoint", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_GetNexusEndpoint_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_GetNexusEndpoint_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_OperatorService_CreateNexusEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/CreateNexusEndpoint", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_CreateNexusEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_CreateNexusEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_OperatorService_CreateNexusEndpoint_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/CreateNexusEndpoint", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_CreateNexusEndpoint_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_CreateNexusEndpoint_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_OperatorService_UpdateNexusEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/UpdateNexusEndpoint", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints/{id}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_UpdateNexusEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_UpdateNexusEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_OperatorService_UpdateNexusEndpoint_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/UpdateNexusEndpoint", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints/{id}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_UpdateNexusEndpoint_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_UpdateNexusEndpoint_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_OperatorService_DeleteNexusEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/DeleteNexusEndpoint", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_DeleteNexusEndpoint_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_DeleteNexusEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_OperatorService_DeleteNexusEndpoint_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/DeleteNexusEndpoint", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_DeleteNexusEndpoint_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_DeleteNexusEndpoint_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_ListNexusEndpoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/ListNexusEndpoints", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_ListNexusEndpoints_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_ListNexusEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_ListNexusEndpoints_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/ListNexusEndpoints", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_OperatorService_ListNexusEndpoints_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_ListNexusEndpoints_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + + return nil +} + +// RegisterOperatorServiceHandlerFromEndpoint is same as RegisterOperatorServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterOperatorServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.NewClient(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + return RegisterOperatorServiceHandler(ctx, mux, conn) +} + +// RegisterOperatorServiceHandler registers the http handlers for service OperatorService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterOperatorServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterOperatorServiceHandlerClient(ctx, mux, NewOperatorServiceClient(conn)) +} + +// RegisterOperatorServiceHandlerClient registers the http handlers for service OperatorService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "OperatorServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "OperatorServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "OperatorServiceClient" to call the correct interceptors. This client ignores the HTTP middlewares. +func RegisterOperatorServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client OperatorServiceClient) error { + mux.Handle(http.MethodGet, pattern_OperatorService_ListSearchAttributes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/ListSearchAttributes", runtime.WithHTTPPathPattern("/cluster/namespaces/{namespace}/search-attributes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_ListSearchAttributes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_ListSearchAttributes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_ListSearchAttributes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/ListSearchAttributes", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/search-attributes")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_ListSearchAttributes_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_ListSearchAttributes_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_GetNexusEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/GetNexusEndpoint", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_GetNexusEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_GetNexusEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_GetNexusEndpoint_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/GetNexusEndpoint", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_GetNexusEndpoint_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_GetNexusEndpoint_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_OperatorService_CreateNexusEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/CreateNexusEndpoint", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_CreateNexusEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_CreateNexusEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_OperatorService_CreateNexusEndpoint_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/CreateNexusEndpoint", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_CreateNexusEndpoint_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_CreateNexusEndpoint_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_OperatorService_UpdateNexusEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/UpdateNexusEndpoint", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints/{id}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_UpdateNexusEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_UpdateNexusEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_OperatorService_UpdateNexusEndpoint_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/UpdateNexusEndpoint", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints/{id}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_UpdateNexusEndpoint_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_UpdateNexusEndpoint_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_OperatorService_DeleteNexusEndpoint_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/DeleteNexusEndpoint", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_DeleteNexusEndpoint_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_DeleteNexusEndpoint_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_OperatorService_DeleteNexusEndpoint_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/DeleteNexusEndpoint", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints/{id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_DeleteNexusEndpoint_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_DeleteNexusEndpoint_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_ListNexusEndpoints_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/ListNexusEndpoints", runtime.WithHTTPPathPattern("/cluster/nexus/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_ListNexusEndpoints_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_ListNexusEndpoints_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_OperatorService_ListNexusEndpoints_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.operatorservice.v1.OperatorService/ListNexusEndpoints", runtime.WithHTTPPathPattern("/api/v1/nexus/endpoints")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_OperatorService_ListNexusEndpoints_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_OperatorService_ListNexusEndpoints_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + return nil +} + +var ( + pattern_OperatorService_ListSearchAttributes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"cluster", "namespaces", "namespace", "search-attributes"}, "")) + pattern_OperatorService_ListSearchAttributes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "search-attributes"}, "")) + pattern_OperatorService_GetNexusEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"cluster", "nexus", "endpoints", "id"}, "")) + pattern_OperatorService_GetNexusEndpoint_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "nexus", "endpoints", "id"}, "")) + pattern_OperatorService_CreateNexusEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cluster", "nexus", "endpoints"}, "")) + pattern_OperatorService_CreateNexusEndpoint_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "nexus", "endpoints"}, "")) + pattern_OperatorService_UpdateNexusEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"cluster", "nexus", "endpoints", "id", "update"}, "")) + pattern_OperatorService_UpdateNexusEndpoint_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"api", "v1", "nexus", "endpoints", "id", "update"}, "")) + pattern_OperatorService_DeleteNexusEndpoint_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"cluster", "nexus", "endpoints", "id"}, "")) + pattern_OperatorService_DeleteNexusEndpoint_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"api", "v1", "nexus", "endpoints", "id"}, "")) + pattern_OperatorService_ListNexusEndpoints_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"cluster", "nexus", "endpoints"}, "")) + pattern_OperatorService_ListNexusEndpoints_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"api", "v1", "nexus", "endpoints"}, "")) +) + +var ( + forward_OperatorService_ListSearchAttributes_0 = runtime.ForwardResponseMessage + forward_OperatorService_ListSearchAttributes_1 = runtime.ForwardResponseMessage + forward_OperatorService_GetNexusEndpoint_0 = runtime.ForwardResponseMessage + forward_OperatorService_GetNexusEndpoint_1 = runtime.ForwardResponseMessage + forward_OperatorService_CreateNexusEndpoint_0 = runtime.ForwardResponseMessage + forward_OperatorService_CreateNexusEndpoint_1 = runtime.ForwardResponseMessage + forward_OperatorService_UpdateNexusEndpoint_0 = runtime.ForwardResponseMessage + forward_OperatorService_UpdateNexusEndpoint_1 = runtime.ForwardResponseMessage + forward_OperatorService_DeleteNexusEndpoint_0 = runtime.ForwardResponseMessage + forward_OperatorService_DeleteNexusEndpoint_1 = runtime.ForwardResponseMessage + forward_OperatorService_ListNexusEndpoints_0 = runtime.ForwardResponseMessage + forward_OperatorService_ListNexusEndpoints_1 = runtime.ForwardResponseMessage +) diff --git a/api_next/operatorservice/v1/service_grpc.pb.go b/api_next/operatorservice/v1/service_grpc.pb.go new file mode 100644 index 00000000..46791bb8 --- /dev/null +++ b/api_next/operatorservice/v1/service_grpc.pb.go @@ -0,0 +1,601 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// plugins: +// - protoc-gen-go-grpc +// - protoc +// source: temporal/api/operatorservice/v1/service.proto + +package operatorservice + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + OperatorService_AddSearchAttributes_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/AddSearchAttributes" + OperatorService_RemoveSearchAttributes_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/RemoveSearchAttributes" + OperatorService_ListSearchAttributes_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/ListSearchAttributes" + OperatorService_DeleteNamespace_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/DeleteNamespace" + OperatorService_AddOrUpdateRemoteCluster_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/AddOrUpdateRemoteCluster" + OperatorService_RemoveRemoteCluster_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/RemoveRemoteCluster" + OperatorService_ListClusters_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/ListClusters" + OperatorService_GetNexusEndpoint_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/GetNexusEndpoint" + OperatorService_CreateNexusEndpoint_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/CreateNexusEndpoint" + OperatorService_UpdateNexusEndpoint_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/UpdateNexusEndpoint" + OperatorService_DeleteNexusEndpoint_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/DeleteNexusEndpoint" + OperatorService_ListNexusEndpoints_FullMethodName = "/temporal.api.operatorservice.v1.OperatorService/ListNexusEndpoints" +) + +// OperatorServiceClient is the client API for OperatorService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// OperatorService API defines how Temporal SDKs and other clients interact with the Temporal server +// to perform administrative functions like registering a search attribute or a namespace. +// APIs in this file could be not compatible with Temporal Cloud, hence it's usage in SDKs should be limited by +// designated APIs that clearly state that they shouldn't be used by the main Application (Workflows & Activities) framework. +type OperatorServiceClient interface { + // AddSearchAttributes add custom search attributes. + // + // Returns ALREADY_EXISTS status code if a Search Attribute with any of the specified names already exists + // Returns INTERNAL status code with temporal.api.errordetails.v1.SystemWorkflowFailure in Error Details if registration process fails, + AddSearchAttributes(ctx context.Context, in *AddSearchAttributesRequest, opts ...grpc.CallOption) (*AddSearchAttributesResponse, error) + // RemoveSearchAttributes removes custom search attributes. + // + // Returns NOT_FOUND status code if a Search Attribute with any of the specified names is not registered + RemoveSearchAttributes(ctx context.Context, in *RemoveSearchAttributesRequest, opts ...grpc.CallOption) (*RemoveSearchAttributesResponse, error) + // ListSearchAttributes returns comprehensive information about search attributes. + ListSearchAttributes(ctx context.Context, in *ListSearchAttributesRequest, opts ...grpc.CallOption) (*ListSearchAttributesResponse, error) + // DeleteNamespace synchronously deletes a namespace and asynchronously reclaims all namespace resources. + DeleteNamespace(ctx context.Context, in *DeleteNamespaceRequest, opts ...grpc.CallOption) (*DeleteNamespaceResponse, error) + // AddOrUpdateRemoteCluster adds or updates remote cluster. + AddOrUpdateRemoteCluster(ctx context.Context, in *AddOrUpdateRemoteClusterRequest, opts ...grpc.CallOption) (*AddOrUpdateRemoteClusterResponse, error) + // RemoveRemoteCluster removes remote cluster. + RemoveRemoteCluster(ctx context.Context, in *RemoveRemoteClusterRequest, opts ...grpc.CallOption) (*RemoveRemoteClusterResponse, error) + // ListClusters returns information about Temporal clusters. + ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error) + // Get a registered Nexus endpoint by ID. The returned version can be used for optimistic updates. + GetNexusEndpoint(ctx context.Context, in *GetNexusEndpointRequest, opts ...grpc.CallOption) (*GetNexusEndpointResponse, error) + // Create a Nexus endpoint. This will fail if an endpoint with the same name is already registered with a status of + // ALREADY_EXISTS. + // Returns the created endpoint with its initial version. You may use this version for subsequent updates. + CreateNexusEndpoint(ctx context.Context, in *CreateNexusEndpointRequest, opts ...grpc.CallOption) (*CreateNexusEndpointResponse, error) + // Optimistically update a Nexus endpoint based on provided version as obtained via the `GetNexusEndpoint` or + // `ListNexusEndpointResponse` APIs. This will fail with a status of FAILED_PRECONDITION if the version does not + // match. + // Returns the updated endpoint with its updated version. You may use this version for subsequent updates. You don't + // need to increment the version yourself. The server will increment the version for you after each update. + UpdateNexusEndpoint(ctx context.Context, in *UpdateNexusEndpointRequest, opts ...grpc.CallOption) (*UpdateNexusEndpointResponse, error) + // Delete an incoming Nexus service by ID. + DeleteNexusEndpoint(ctx context.Context, in *DeleteNexusEndpointRequest, opts ...grpc.CallOption) (*DeleteNexusEndpointResponse, error) + // List all Nexus endpoints for the cluster, sorted by ID in ascending order. Set page_token in the request to the + // next_page_token field of the previous response to get the next page of results. An empty next_page_token + // indicates that there are no more results. During pagination, a newly added service with an ID lexicographically + // earlier than the previous page's last endpoint's ID may be missed. + ListNexusEndpoints(ctx context.Context, in *ListNexusEndpointsRequest, opts ...grpc.CallOption) (*ListNexusEndpointsResponse, error) +} + +type operatorServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewOperatorServiceClient(cc grpc.ClientConnInterface) OperatorServiceClient { + return &operatorServiceClient{cc} +} + +func (c *operatorServiceClient) AddSearchAttributes(ctx context.Context, in *AddSearchAttributesRequest, opts ...grpc.CallOption) (*AddSearchAttributesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AddSearchAttributesResponse) + err := c.cc.Invoke(ctx, OperatorService_AddSearchAttributes_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) RemoveSearchAttributes(ctx context.Context, in *RemoveSearchAttributesRequest, opts ...grpc.CallOption) (*RemoveSearchAttributesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RemoveSearchAttributesResponse) + err := c.cc.Invoke(ctx, OperatorService_RemoveSearchAttributes_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) ListSearchAttributes(ctx context.Context, in *ListSearchAttributesRequest, opts ...grpc.CallOption) (*ListSearchAttributesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListSearchAttributesResponse) + err := c.cc.Invoke(ctx, OperatorService_ListSearchAttributes_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) DeleteNamespace(ctx context.Context, in *DeleteNamespaceRequest, opts ...grpc.CallOption) (*DeleteNamespaceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteNamespaceResponse) + err := c.cc.Invoke(ctx, OperatorService_DeleteNamespace_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) AddOrUpdateRemoteCluster(ctx context.Context, in *AddOrUpdateRemoteClusterRequest, opts ...grpc.CallOption) (*AddOrUpdateRemoteClusterResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(AddOrUpdateRemoteClusterResponse) + err := c.cc.Invoke(ctx, OperatorService_AddOrUpdateRemoteCluster_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) RemoveRemoteCluster(ctx context.Context, in *RemoveRemoteClusterRequest, opts ...grpc.CallOption) (*RemoveRemoteClusterResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RemoveRemoteClusterResponse) + err := c.cc.Invoke(ctx, OperatorService_RemoveRemoteCluster_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) ListClusters(ctx context.Context, in *ListClustersRequest, opts ...grpc.CallOption) (*ListClustersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListClustersResponse) + err := c.cc.Invoke(ctx, OperatorService_ListClusters_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) GetNexusEndpoint(ctx context.Context, in *GetNexusEndpointRequest, opts ...grpc.CallOption) (*GetNexusEndpointResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetNexusEndpointResponse) + err := c.cc.Invoke(ctx, OperatorService_GetNexusEndpoint_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) CreateNexusEndpoint(ctx context.Context, in *CreateNexusEndpointRequest, opts ...grpc.CallOption) (*CreateNexusEndpointResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CreateNexusEndpointResponse) + err := c.cc.Invoke(ctx, OperatorService_CreateNexusEndpoint_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) UpdateNexusEndpoint(ctx context.Context, in *UpdateNexusEndpointRequest, opts ...grpc.CallOption) (*UpdateNexusEndpointResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateNexusEndpointResponse) + err := c.cc.Invoke(ctx, OperatorService_UpdateNexusEndpoint_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) DeleteNexusEndpoint(ctx context.Context, in *DeleteNexusEndpointRequest, opts ...grpc.CallOption) (*DeleteNexusEndpointResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteNexusEndpointResponse) + err := c.cc.Invoke(ctx, OperatorService_DeleteNexusEndpoint_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *operatorServiceClient) ListNexusEndpoints(ctx context.Context, in *ListNexusEndpointsRequest, opts ...grpc.CallOption) (*ListNexusEndpointsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListNexusEndpointsResponse) + err := c.cc.Invoke(ctx, OperatorService_ListNexusEndpoints_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// OperatorServiceServer is the server API for OperatorService service. +// All implementations must embed UnimplementedOperatorServiceServer +// for forward compatibility. +// +// OperatorService API defines how Temporal SDKs and other clients interact with the Temporal server +// to perform administrative functions like registering a search attribute or a namespace. +// APIs in this file could be not compatible with Temporal Cloud, hence it's usage in SDKs should be limited by +// designated APIs that clearly state that they shouldn't be used by the main Application (Workflows & Activities) framework. +type OperatorServiceServer interface { + // AddSearchAttributes add custom search attributes. + // + // Returns ALREADY_EXISTS status code if a Search Attribute with any of the specified names already exists + // Returns INTERNAL status code with temporal.api.errordetails.v1.SystemWorkflowFailure in Error Details if registration process fails, + AddSearchAttributes(context.Context, *AddSearchAttributesRequest) (*AddSearchAttributesResponse, error) + // RemoveSearchAttributes removes custom search attributes. + // + // Returns NOT_FOUND status code if a Search Attribute with any of the specified names is not registered + RemoveSearchAttributes(context.Context, *RemoveSearchAttributesRequest) (*RemoveSearchAttributesResponse, error) + // ListSearchAttributes returns comprehensive information about search attributes. + ListSearchAttributes(context.Context, *ListSearchAttributesRequest) (*ListSearchAttributesResponse, error) + // DeleteNamespace synchronously deletes a namespace and asynchronously reclaims all namespace resources. + DeleteNamespace(context.Context, *DeleteNamespaceRequest) (*DeleteNamespaceResponse, error) + // AddOrUpdateRemoteCluster adds or updates remote cluster. + AddOrUpdateRemoteCluster(context.Context, *AddOrUpdateRemoteClusterRequest) (*AddOrUpdateRemoteClusterResponse, error) + // RemoveRemoteCluster removes remote cluster. + RemoveRemoteCluster(context.Context, *RemoveRemoteClusterRequest) (*RemoveRemoteClusterResponse, error) + // ListClusters returns information about Temporal clusters. + ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error) + // Get a registered Nexus endpoint by ID. The returned version can be used for optimistic updates. + GetNexusEndpoint(context.Context, *GetNexusEndpointRequest) (*GetNexusEndpointResponse, error) + // Create a Nexus endpoint. This will fail if an endpoint with the same name is already registered with a status of + // ALREADY_EXISTS. + // Returns the created endpoint with its initial version. You may use this version for subsequent updates. + CreateNexusEndpoint(context.Context, *CreateNexusEndpointRequest) (*CreateNexusEndpointResponse, error) + // Optimistically update a Nexus endpoint based on provided version as obtained via the `GetNexusEndpoint` or + // `ListNexusEndpointResponse` APIs. This will fail with a status of FAILED_PRECONDITION if the version does not + // match. + // Returns the updated endpoint with its updated version. You may use this version for subsequent updates. You don't + // need to increment the version yourself. The server will increment the version for you after each update. + UpdateNexusEndpoint(context.Context, *UpdateNexusEndpointRequest) (*UpdateNexusEndpointResponse, error) + // Delete an incoming Nexus service by ID. + DeleteNexusEndpoint(context.Context, *DeleteNexusEndpointRequest) (*DeleteNexusEndpointResponse, error) + // List all Nexus endpoints for the cluster, sorted by ID in ascending order. Set page_token in the request to the + // next_page_token field of the previous response to get the next page of results. An empty next_page_token + // indicates that there are no more results. During pagination, a newly added service with an ID lexicographically + // earlier than the previous page's last endpoint's ID may be missed. + ListNexusEndpoints(context.Context, *ListNexusEndpointsRequest) (*ListNexusEndpointsResponse, error) + mustEmbedUnimplementedOperatorServiceServer() +} + +// UnimplementedOperatorServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedOperatorServiceServer struct{} + +func (UnimplementedOperatorServiceServer) AddSearchAttributes(context.Context, *AddSearchAttributesRequest) (*AddSearchAttributesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method AddSearchAttributes not implemented") +} +func (UnimplementedOperatorServiceServer) RemoveSearchAttributes(context.Context, *RemoveSearchAttributesRequest) (*RemoveSearchAttributesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RemoveSearchAttributes not implemented") +} +func (UnimplementedOperatorServiceServer) ListSearchAttributes(context.Context, *ListSearchAttributesRequest) (*ListSearchAttributesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListSearchAttributes not implemented") +} +func (UnimplementedOperatorServiceServer) DeleteNamespace(context.Context, *DeleteNamespaceRequest) (*DeleteNamespaceResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteNamespace not implemented") +} +func (UnimplementedOperatorServiceServer) AddOrUpdateRemoteCluster(context.Context, *AddOrUpdateRemoteClusterRequest) (*AddOrUpdateRemoteClusterResponse, error) { + return nil, status.Error(codes.Unimplemented, "method AddOrUpdateRemoteCluster not implemented") +} +func (UnimplementedOperatorServiceServer) RemoveRemoteCluster(context.Context, *RemoveRemoteClusterRequest) (*RemoveRemoteClusterResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RemoveRemoteCluster not implemented") +} +func (UnimplementedOperatorServiceServer) ListClusters(context.Context, *ListClustersRequest) (*ListClustersResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListClusters not implemented") +} +func (UnimplementedOperatorServiceServer) GetNexusEndpoint(context.Context, *GetNexusEndpointRequest) (*GetNexusEndpointResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetNexusEndpoint not implemented") +} +func (UnimplementedOperatorServiceServer) CreateNexusEndpoint(context.Context, *CreateNexusEndpointRequest) (*CreateNexusEndpointResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CreateNexusEndpoint not implemented") +} +func (UnimplementedOperatorServiceServer) UpdateNexusEndpoint(context.Context, *UpdateNexusEndpointRequest) (*UpdateNexusEndpointResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateNexusEndpoint not implemented") +} +func (UnimplementedOperatorServiceServer) DeleteNexusEndpoint(context.Context, *DeleteNexusEndpointRequest) (*DeleteNexusEndpointResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteNexusEndpoint not implemented") +} +func (UnimplementedOperatorServiceServer) ListNexusEndpoints(context.Context, *ListNexusEndpointsRequest) (*ListNexusEndpointsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListNexusEndpoints not implemented") +} +func (UnimplementedOperatorServiceServer) mustEmbedUnimplementedOperatorServiceServer() {} +func (UnimplementedOperatorServiceServer) testEmbeddedByValue() {} + +// UnsafeOperatorServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to OperatorServiceServer will +// result in compilation errors. +type UnsafeOperatorServiceServer interface { + mustEmbedUnimplementedOperatorServiceServer() +} + +func RegisterOperatorServiceServer(s grpc.ServiceRegistrar, srv OperatorServiceServer) { + // If the following call panics, it indicates UnimplementedOperatorServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&OperatorService_ServiceDesc, srv) +} + +func _OperatorService_AddSearchAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddSearchAttributesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).AddSearchAttributes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_AddSearchAttributes_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).AddSearchAttributes(ctx, req.(*AddSearchAttributesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_RemoveSearchAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveSearchAttributesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).RemoveSearchAttributes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_RemoveSearchAttributes_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).RemoveSearchAttributes(ctx, req.(*RemoveSearchAttributesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_ListSearchAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSearchAttributesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).ListSearchAttributes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_ListSearchAttributes_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).ListSearchAttributes(ctx, req.(*ListSearchAttributesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_DeleteNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).DeleteNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_DeleteNamespace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).DeleteNamespace(ctx, req.(*DeleteNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_AddOrUpdateRemoteCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(AddOrUpdateRemoteClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).AddOrUpdateRemoteCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_AddOrUpdateRemoteCluster_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).AddOrUpdateRemoteCluster(ctx, req.(*AddOrUpdateRemoteClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_RemoveRemoteCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RemoveRemoteClusterRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).RemoveRemoteCluster(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_RemoveRemoteCluster_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).RemoveRemoteCluster(ctx, req.(*RemoveRemoteClusterRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_ListClusters_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListClustersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).ListClusters(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_ListClusters_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).ListClusters(ctx, req.(*ListClustersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_GetNexusEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetNexusEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).GetNexusEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_GetNexusEndpoint_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).GetNexusEndpoint(ctx, req.(*GetNexusEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_CreateNexusEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateNexusEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).CreateNexusEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_CreateNexusEndpoint_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).CreateNexusEndpoint(ctx, req.(*CreateNexusEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_UpdateNexusEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNexusEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).UpdateNexusEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_UpdateNexusEndpoint_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).UpdateNexusEndpoint(ctx, req.(*UpdateNexusEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_DeleteNexusEndpoint_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNexusEndpointRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).DeleteNexusEndpoint(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_DeleteNexusEndpoint_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).DeleteNexusEndpoint(ctx, req.(*DeleteNexusEndpointRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _OperatorService_ListNexusEndpoints_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNexusEndpointsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(OperatorServiceServer).ListNexusEndpoints(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: OperatorService_ListNexusEndpoints_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(OperatorServiceServer).ListNexusEndpoints(ctx, req.(*ListNexusEndpointsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// OperatorService_ServiceDesc is the grpc.ServiceDesc for OperatorService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var OperatorService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "temporal.api.operatorservice.v1.OperatorService", + HandlerType: (*OperatorServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "AddSearchAttributes", + Handler: _OperatorService_AddSearchAttributes_Handler, + }, + { + MethodName: "RemoveSearchAttributes", + Handler: _OperatorService_RemoveSearchAttributes_Handler, + }, + { + MethodName: "ListSearchAttributes", + Handler: _OperatorService_ListSearchAttributes_Handler, + }, + { + MethodName: "DeleteNamespace", + Handler: _OperatorService_DeleteNamespace_Handler, + }, + { + MethodName: "AddOrUpdateRemoteCluster", + Handler: _OperatorService_AddOrUpdateRemoteCluster_Handler, + }, + { + MethodName: "RemoveRemoteCluster", + Handler: _OperatorService_RemoveRemoteCluster_Handler, + }, + { + MethodName: "ListClusters", + Handler: _OperatorService_ListClusters_Handler, + }, + { + MethodName: "GetNexusEndpoint", + Handler: _OperatorService_GetNexusEndpoint_Handler, + }, + { + MethodName: "CreateNexusEndpoint", + Handler: _OperatorService_CreateNexusEndpoint_Handler, + }, + { + MethodName: "UpdateNexusEndpoint", + Handler: _OperatorService_UpdateNexusEndpoint_Handler, + }, + { + MethodName: "DeleteNexusEndpoint", + Handler: _OperatorService_DeleteNexusEndpoint_Handler, + }, + { + MethodName: "ListNexusEndpoints", + Handler: _OperatorService_ListNexusEndpoints_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "temporal/api/operatorservice/v1/service.proto", +} diff --git a/api_next/operatorservicemock/v1/service_grpc.pb.mock.go b/api_next/operatorservicemock/v1/service_grpc.pb.mock.go new file mode 100644 index 00000000..3c6c664d --- /dev/null +++ b/api_next/operatorservicemock/v1/service_grpc.pb.mock.go @@ -0,0 +1,530 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: operatorservice/v1/service_grpc.pb.go + +// Package operatorservicemock is a generated GoMock package. +package operatorservicemock + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + operatorservice "go.temporal.io/api/operatorservice/v1" + grpc "google.golang.org/grpc" +) + +// MockOperatorServiceClient is a mock of OperatorServiceClient interface. +type MockOperatorServiceClient struct { + ctrl *gomock.Controller + recorder *MockOperatorServiceClientMockRecorder +} + +// MockOperatorServiceClientMockRecorder is the mock recorder for MockOperatorServiceClient. +type MockOperatorServiceClientMockRecorder struct { + mock *MockOperatorServiceClient +} + +// NewMockOperatorServiceClient creates a new mock instance. +func NewMockOperatorServiceClient(ctrl *gomock.Controller) *MockOperatorServiceClient { + mock := &MockOperatorServiceClient{ctrl: ctrl} + mock.recorder = &MockOperatorServiceClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOperatorServiceClient) EXPECT() *MockOperatorServiceClientMockRecorder { + return m.recorder +} + +// AddOrUpdateRemoteCluster mocks base method. +func (m *MockOperatorServiceClient) AddOrUpdateRemoteCluster(ctx context.Context, in *operatorservice.AddOrUpdateRemoteClusterRequest, opts ...grpc.CallOption) (*operatorservice.AddOrUpdateRemoteClusterResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddOrUpdateRemoteCluster", varargs...) + ret0, _ := ret[0].(*operatorservice.AddOrUpdateRemoteClusterResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AddOrUpdateRemoteCluster indicates an expected call of AddOrUpdateRemoteCluster. +func (mr *MockOperatorServiceClientMockRecorder) AddOrUpdateRemoteCluster(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddOrUpdateRemoteCluster", reflect.TypeOf((*MockOperatorServiceClient)(nil).AddOrUpdateRemoteCluster), varargs...) +} + +// AddSearchAttributes mocks base method. +func (m *MockOperatorServiceClient) AddSearchAttributes(ctx context.Context, in *operatorservice.AddSearchAttributesRequest, opts ...grpc.CallOption) (*operatorservice.AddSearchAttributesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "AddSearchAttributes", varargs...) + ret0, _ := ret[0].(*operatorservice.AddSearchAttributesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AddSearchAttributes indicates an expected call of AddSearchAttributes. +func (mr *MockOperatorServiceClientMockRecorder) AddSearchAttributes(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddSearchAttributes", reflect.TypeOf((*MockOperatorServiceClient)(nil).AddSearchAttributes), varargs...) +} + +// CreateNexusEndpoint mocks base method. +func (m *MockOperatorServiceClient) CreateNexusEndpoint(ctx context.Context, in *operatorservice.CreateNexusEndpointRequest, opts ...grpc.CallOption) (*operatorservice.CreateNexusEndpointResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateNexusEndpoint", varargs...) + ret0, _ := ret[0].(*operatorservice.CreateNexusEndpointResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateNexusEndpoint indicates an expected call of CreateNexusEndpoint. +func (mr *MockOperatorServiceClientMockRecorder) CreateNexusEndpoint(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateNexusEndpoint", reflect.TypeOf((*MockOperatorServiceClient)(nil).CreateNexusEndpoint), varargs...) +} + +// DeleteNamespace mocks base method. +func (m *MockOperatorServiceClient) DeleteNamespace(ctx context.Context, in *operatorservice.DeleteNamespaceRequest, opts ...grpc.CallOption) (*operatorservice.DeleteNamespaceResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteNamespace", varargs...) + ret0, _ := ret[0].(*operatorservice.DeleteNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteNamespace indicates an expected call of DeleteNamespace. +func (mr *MockOperatorServiceClientMockRecorder) DeleteNamespace(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNamespace", reflect.TypeOf((*MockOperatorServiceClient)(nil).DeleteNamespace), varargs...) +} + +// DeleteNexusEndpoint mocks base method. +func (m *MockOperatorServiceClient) DeleteNexusEndpoint(ctx context.Context, in *operatorservice.DeleteNexusEndpointRequest, opts ...grpc.CallOption) (*operatorservice.DeleteNexusEndpointResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteNexusEndpoint", varargs...) + ret0, _ := ret[0].(*operatorservice.DeleteNexusEndpointResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteNexusEndpoint indicates an expected call of DeleteNexusEndpoint. +func (mr *MockOperatorServiceClientMockRecorder) DeleteNexusEndpoint(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNexusEndpoint", reflect.TypeOf((*MockOperatorServiceClient)(nil).DeleteNexusEndpoint), varargs...) +} + +// GetNexusEndpoint mocks base method. +func (m *MockOperatorServiceClient) GetNexusEndpoint(ctx context.Context, in *operatorservice.GetNexusEndpointRequest, opts ...grpc.CallOption) (*operatorservice.GetNexusEndpointResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetNexusEndpoint", varargs...) + ret0, _ := ret[0].(*operatorservice.GetNexusEndpointResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetNexusEndpoint indicates an expected call of GetNexusEndpoint. +func (mr *MockOperatorServiceClientMockRecorder) GetNexusEndpoint(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNexusEndpoint", reflect.TypeOf((*MockOperatorServiceClient)(nil).GetNexusEndpoint), varargs...) +} + +// ListClusters mocks base method. +func (m *MockOperatorServiceClient) ListClusters(ctx context.Context, in *operatorservice.ListClustersRequest, opts ...grpc.CallOption) (*operatorservice.ListClustersResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListClusters", varargs...) + ret0, _ := ret[0].(*operatorservice.ListClustersResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListClusters indicates an expected call of ListClusters. +func (mr *MockOperatorServiceClientMockRecorder) ListClusters(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListClusters", reflect.TypeOf((*MockOperatorServiceClient)(nil).ListClusters), varargs...) +} + +// ListNexusEndpoints mocks base method. +func (m *MockOperatorServiceClient) ListNexusEndpoints(ctx context.Context, in *operatorservice.ListNexusEndpointsRequest, opts ...grpc.CallOption) (*operatorservice.ListNexusEndpointsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListNexusEndpoints", varargs...) + ret0, _ := ret[0].(*operatorservice.ListNexusEndpointsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListNexusEndpoints indicates an expected call of ListNexusEndpoints. +func (mr *MockOperatorServiceClientMockRecorder) ListNexusEndpoints(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNexusEndpoints", reflect.TypeOf((*MockOperatorServiceClient)(nil).ListNexusEndpoints), varargs...) +} + +// ListSearchAttributes mocks base method. +func (m *MockOperatorServiceClient) ListSearchAttributes(ctx context.Context, in *operatorservice.ListSearchAttributesRequest, opts ...grpc.CallOption) (*operatorservice.ListSearchAttributesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListSearchAttributes", varargs...) + ret0, _ := ret[0].(*operatorservice.ListSearchAttributesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListSearchAttributes indicates an expected call of ListSearchAttributes. +func (mr *MockOperatorServiceClientMockRecorder) ListSearchAttributes(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSearchAttributes", reflect.TypeOf((*MockOperatorServiceClient)(nil).ListSearchAttributes), varargs...) +} + +// RemoveRemoteCluster mocks base method. +func (m *MockOperatorServiceClient) RemoveRemoteCluster(ctx context.Context, in *operatorservice.RemoveRemoteClusterRequest, opts ...grpc.CallOption) (*operatorservice.RemoveRemoteClusterResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RemoveRemoteCluster", varargs...) + ret0, _ := ret[0].(*operatorservice.RemoveRemoteClusterResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RemoveRemoteCluster indicates an expected call of RemoveRemoteCluster. +func (mr *MockOperatorServiceClientMockRecorder) RemoveRemoteCluster(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveRemoteCluster", reflect.TypeOf((*MockOperatorServiceClient)(nil).RemoveRemoteCluster), varargs...) +} + +// RemoveSearchAttributes mocks base method. +func (m *MockOperatorServiceClient) RemoveSearchAttributes(ctx context.Context, in *operatorservice.RemoveSearchAttributesRequest, opts ...grpc.CallOption) (*operatorservice.RemoveSearchAttributesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RemoveSearchAttributes", varargs...) + ret0, _ := ret[0].(*operatorservice.RemoveSearchAttributesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RemoveSearchAttributes indicates an expected call of RemoveSearchAttributes. +func (mr *MockOperatorServiceClientMockRecorder) RemoveSearchAttributes(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveSearchAttributes", reflect.TypeOf((*MockOperatorServiceClient)(nil).RemoveSearchAttributes), varargs...) +} + +// UpdateNexusEndpoint mocks base method. +func (m *MockOperatorServiceClient) UpdateNexusEndpoint(ctx context.Context, in *operatorservice.UpdateNexusEndpointRequest, opts ...grpc.CallOption) (*operatorservice.UpdateNexusEndpointResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateNexusEndpoint", varargs...) + ret0, _ := ret[0].(*operatorservice.UpdateNexusEndpointResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateNexusEndpoint indicates an expected call of UpdateNexusEndpoint. +func (mr *MockOperatorServiceClientMockRecorder) UpdateNexusEndpoint(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateNexusEndpoint", reflect.TypeOf((*MockOperatorServiceClient)(nil).UpdateNexusEndpoint), varargs...) +} + +// MockOperatorServiceServer is a mock of OperatorServiceServer interface. +type MockOperatorServiceServer struct { + operatorservice.UnimplementedOperatorServiceServer + ctrl *gomock.Controller + recorder *MockOperatorServiceServerMockRecorder +} + +var _ operatorservice.OperatorServiceServer = (*MockOperatorServiceServer)(nil) + +// MockOperatorServiceServerMockRecorder is the mock recorder for MockOperatorServiceServer. +type MockOperatorServiceServerMockRecorder struct { + mock *MockOperatorServiceServer +} + +// NewMockOperatorServiceServer creates a new mock instance. +func NewMockOperatorServiceServer(ctrl *gomock.Controller) *MockOperatorServiceServer { + mock := &MockOperatorServiceServer{ctrl: ctrl} + mock.recorder = &MockOperatorServiceServerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockOperatorServiceServer) EXPECT() *MockOperatorServiceServerMockRecorder { + return m.recorder +} + +// AddOrUpdateRemoteCluster mocks base method. +func (m *MockOperatorServiceServer) AddOrUpdateRemoteCluster(arg0 context.Context, arg1 *operatorservice.AddOrUpdateRemoteClusterRequest) (*operatorservice.AddOrUpdateRemoteClusterResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AddOrUpdateRemoteCluster", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.AddOrUpdateRemoteClusterResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AddOrUpdateRemoteCluster indicates an expected call of AddOrUpdateRemoteCluster. +func (mr *MockOperatorServiceServerMockRecorder) AddOrUpdateRemoteCluster(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddOrUpdateRemoteCluster", reflect.TypeOf((*MockOperatorServiceServer)(nil).AddOrUpdateRemoteCluster), arg0, arg1) +} + +// AddSearchAttributes mocks base method. +func (m *MockOperatorServiceServer) AddSearchAttributes(arg0 context.Context, arg1 *operatorservice.AddSearchAttributesRequest) (*operatorservice.AddSearchAttributesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "AddSearchAttributes", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.AddSearchAttributesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// AddSearchAttributes indicates an expected call of AddSearchAttributes. +func (mr *MockOperatorServiceServerMockRecorder) AddSearchAttributes(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "AddSearchAttributes", reflect.TypeOf((*MockOperatorServiceServer)(nil).AddSearchAttributes), arg0, arg1) +} + +// CreateNexusEndpoint mocks base method. +func (m *MockOperatorServiceServer) CreateNexusEndpoint(arg0 context.Context, arg1 *operatorservice.CreateNexusEndpointRequest) (*operatorservice.CreateNexusEndpointResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateNexusEndpoint", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.CreateNexusEndpointResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateNexusEndpoint indicates an expected call of CreateNexusEndpoint. +func (mr *MockOperatorServiceServerMockRecorder) CreateNexusEndpoint(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateNexusEndpoint", reflect.TypeOf((*MockOperatorServiceServer)(nil).CreateNexusEndpoint), arg0, arg1) +} + +// DeleteNamespace mocks base method. +func (m *MockOperatorServiceServer) DeleteNamespace(arg0 context.Context, arg1 *operatorservice.DeleteNamespaceRequest) (*operatorservice.DeleteNamespaceResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteNamespace", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.DeleteNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteNamespace indicates an expected call of DeleteNamespace. +func (mr *MockOperatorServiceServerMockRecorder) DeleteNamespace(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNamespace", reflect.TypeOf((*MockOperatorServiceServer)(nil).DeleteNamespace), arg0, arg1) +} + +// DeleteNexusEndpoint mocks base method. +func (m *MockOperatorServiceServer) DeleteNexusEndpoint(arg0 context.Context, arg1 *operatorservice.DeleteNexusEndpointRequest) (*operatorservice.DeleteNexusEndpointResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteNexusEndpoint", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.DeleteNexusEndpointResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteNexusEndpoint indicates an expected call of DeleteNexusEndpoint. +func (mr *MockOperatorServiceServerMockRecorder) DeleteNexusEndpoint(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNexusEndpoint", reflect.TypeOf((*MockOperatorServiceServer)(nil).DeleteNexusEndpoint), arg0, arg1) +} + +// GetNexusEndpoint mocks base method. +func (m *MockOperatorServiceServer) GetNexusEndpoint(arg0 context.Context, arg1 *operatorservice.GetNexusEndpointRequest) (*operatorservice.GetNexusEndpointResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetNexusEndpoint", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.GetNexusEndpointResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetNexusEndpoint indicates an expected call of GetNexusEndpoint. +func (mr *MockOperatorServiceServerMockRecorder) GetNexusEndpoint(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetNexusEndpoint", reflect.TypeOf((*MockOperatorServiceServer)(nil).GetNexusEndpoint), arg0, arg1) +} + +// ListClusters mocks base method. +func (m *MockOperatorServiceServer) ListClusters(arg0 context.Context, arg1 *operatorservice.ListClustersRequest) (*operatorservice.ListClustersResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListClusters", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.ListClustersResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListClusters indicates an expected call of ListClusters. +func (mr *MockOperatorServiceServerMockRecorder) ListClusters(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListClusters", reflect.TypeOf((*MockOperatorServiceServer)(nil).ListClusters), arg0, arg1) +} + +// ListNexusEndpoints mocks base method. +func (m *MockOperatorServiceServer) ListNexusEndpoints(arg0 context.Context, arg1 *operatorservice.ListNexusEndpointsRequest) (*operatorservice.ListNexusEndpointsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListNexusEndpoints", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.ListNexusEndpointsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListNexusEndpoints indicates an expected call of ListNexusEndpoints. +func (mr *MockOperatorServiceServerMockRecorder) ListNexusEndpoints(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNexusEndpoints", reflect.TypeOf((*MockOperatorServiceServer)(nil).ListNexusEndpoints), arg0, arg1) +} + +// ListSearchAttributes mocks base method. +func (m *MockOperatorServiceServer) ListSearchAttributes(arg0 context.Context, arg1 *operatorservice.ListSearchAttributesRequest) (*operatorservice.ListSearchAttributesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListSearchAttributes", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.ListSearchAttributesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListSearchAttributes indicates an expected call of ListSearchAttributes. +func (mr *MockOperatorServiceServerMockRecorder) ListSearchAttributes(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSearchAttributes", reflect.TypeOf((*MockOperatorServiceServer)(nil).ListSearchAttributes), arg0, arg1) +} + +// RemoveRemoteCluster mocks base method. +func (m *MockOperatorServiceServer) RemoveRemoteCluster(arg0 context.Context, arg1 *operatorservice.RemoveRemoteClusterRequest) (*operatorservice.RemoveRemoteClusterResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RemoveRemoteCluster", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.RemoveRemoteClusterResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RemoveRemoteCluster indicates an expected call of RemoveRemoteCluster. +func (mr *MockOperatorServiceServerMockRecorder) RemoveRemoteCluster(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveRemoteCluster", reflect.TypeOf((*MockOperatorServiceServer)(nil).RemoveRemoteCluster), arg0, arg1) +} + +// RemoveSearchAttributes mocks base method. +func (m *MockOperatorServiceServer) RemoveSearchAttributes(arg0 context.Context, arg1 *operatorservice.RemoveSearchAttributesRequest) (*operatorservice.RemoveSearchAttributesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RemoveSearchAttributes", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.RemoveSearchAttributesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RemoveSearchAttributes indicates an expected call of RemoveSearchAttributes. +func (mr *MockOperatorServiceServerMockRecorder) RemoveSearchAttributes(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RemoveSearchAttributes", reflect.TypeOf((*MockOperatorServiceServer)(nil).RemoveSearchAttributes), arg0, arg1) +} + +// UpdateNexusEndpoint mocks base method. +func (m *MockOperatorServiceServer) UpdateNexusEndpoint(arg0 context.Context, arg1 *operatorservice.UpdateNexusEndpointRequest) (*operatorservice.UpdateNexusEndpointResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateNexusEndpoint", arg0, arg1) + ret0, _ := ret[0].(*operatorservice.UpdateNexusEndpointResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateNexusEndpoint indicates an expected call of UpdateNexusEndpoint. +func (mr *MockOperatorServiceServerMockRecorder) UpdateNexusEndpoint(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateNexusEndpoint", reflect.TypeOf((*MockOperatorServiceServer)(nil).UpdateNexusEndpoint), arg0, arg1) +} + +// mustEmbedUnimplementedOperatorServiceServer mocks base method. +func (m *MockOperatorServiceServer) mustEmbedUnimplementedOperatorServiceServer() { + m.ctrl.T.Helper() + m.ctrl.Call(m, "mustEmbedUnimplementedOperatorServiceServer") +} + +// mustEmbedUnimplementedOperatorServiceServer indicates an expected call of mustEmbedUnimplementedOperatorServiceServer. +func (mr *MockOperatorServiceServerMockRecorder) mustEmbedUnimplementedOperatorServiceServer() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedOperatorServiceServer", reflect.TypeOf((*MockOperatorServiceServer)(nil).mustEmbedUnimplementedOperatorServiceServer)) +} + +// MockUnsafeOperatorServiceServer is a mock of UnsafeOperatorServiceServer interface. +type MockUnsafeOperatorServiceServer struct { + ctrl *gomock.Controller + recorder *MockUnsafeOperatorServiceServerMockRecorder +} + +// MockUnsafeOperatorServiceServerMockRecorder is the mock recorder for MockUnsafeOperatorServiceServer. +type MockUnsafeOperatorServiceServerMockRecorder struct { + mock *MockUnsafeOperatorServiceServer +} + +// NewMockUnsafeOperatorServiceServer creates a new mock instance. +func NewMockUnsafeOperatorServiceServer(ctrl *gomock.Controller) *MockUnsafeOperatorServiceServer { + mock := &MockUnsafeOperatorServiceServer{ctrl: ctrl} + mock.recorder = &MockUnsafeOperatorServiceServerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockUnsafeOperatorServiceServer) EXPECT() *MockUnsafeOperatorServiceServerMockRecorder { + return m.recorder +} + +// mustEmbedUnimplementedOperatorServiceServer mocks base method. +func (m *MockUnsafeOperatorServiceServer) mustEmbedUnimplementedOperatorServiceServer() { + m.ctrl.T.Helper() + m.ctrl.Call(m, "mustEmbedUnimplementedOperatorServiceServer") +} + +// mustEmbedUnimplementedOperatorServiceServer indicates an expected call of mustEmbedUnimplementedOperatorServiceServer. +func (mr *MockUnsafeOperatorServiceServerMockRecorder) mustEmbedUnimplementedOperatorServiceServer() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedOperatorServiceServer", reflect.TypeOf((*MockUnsafeOperatorServiceServer)(nil).mustEmbedUnimplementedOperatorServiceServer)) +} diff --git a/api_next/protocol/v1/message.go-helpers.pb.go b/api_next/protocol/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..cc916475 --- /dev/null +++ b/api_next/protocol/v1/message.go-helpers.pb.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package protocol + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type Message to the protobuf v3 wire format +func (val *Message) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Message from the protobuf v3 wire format +func (val *Message) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Message) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Message values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Message) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Message + switch t := that.(type) { + case *Message: + that1 = t + case Message: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/protocol/v1/message.pb.go b/api_next/protocol/v1/message.pb.go new file mode 100644 index 00000000..e565c5ff --- /dev/null +++ b/api_next/protocol/v1/message.pb.go @@ -0,0 +1,209 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/protocol/v1/message.proto + +package protocol + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + anypb "google.golang.org/protobuf/types/known/anypb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// (-- api-linter: core::0146::any=disabled +// +// aip.dev/not-precedent: We want runtime extensibility for the body field --) +type Message struct { + state protoimpl.MessageState `protogen:"open.v1"` + // An ID for this specific message. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Identifies the specific instance of a protocol to which this message + // belongs. + ProtocolInstanceId string `protobuf:"bytes,2,opt,name=protocol_instance_id,json=protocolInstanceId,proto3" json:"protocol_instance_id,omitempty"` + // The event ID or command ID after which this message can be delivered. The + // effects of history up to and including this event ID should be visible to + // the code that handles this message. Omit to opt out of sequencing. + // + // Types that are valid to be assigned to SequencingId: + // + // *Message_EventId + // *Message_CommandIndex + SequencingId isMessage_SequencingId `protobuf_oneof:"sequencing_id"` + // The opaque data carried by this message. The protocol type can be + // extracted from the package name of the message carried inside the Any. + Body *anypb.Any `protobuf:"bytes,5,opt,name=body,proto3" json:"body,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Message) Reset() { + *x = Message{} + mi := &file_temporal_api_protocol_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Message) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Message) ProtoMessage() {} + +func (x *Message) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_protocol_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Message.ProtoReflect.Descriptor instead. +func (*Message) Descriptor() ([]byte, []int) { + return file_temporal_api_protocol_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *Message) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *Message) GetProtocolInstanceId() string { + if x != nil { + return x.ProtocolInstanceId + } + return "" +} + +func (x *Message) GetSequencingId() isMessage_SequencingId { + if x != nil { + return x.SequencingId + } + return nil +} + +func (x *Message) GetEventId() int64 { + if x != nil { + if x, ok := x.SequencingId.(*Message_EventId); ok { + return x.EventId + } + } + return 0 +} + +func (x *Message) GetCommandIndex() int64 { + if x != nil { + if x, ok := x.SequencingId.(*Message_CommandIndex); ok { + return x.CommandIndex + } + } + return 0 +} + +func (x *Message) GetBody() *anypb.Any { + if x != nil { + return x.Body + } + return nil +} + +type isMessage_SequencingId interface { + isMessage_SequencingId() +} + +type Message_EventId struct { + EventId int64 `protobuf:"varint,3,opt,name=event_id,json=eventId,proto3,oneof"` +} + +type Message_CommandIndex struct { + CommandIndex int64 `protobuf:"varint,4,opt,name=command_index,json=commandIndex,proto3,oneof"` +} + +func (*Message_EventId) isMessage_SequencingId() {} + +func (*Message_CommandIndex) isMessage_SequencingId() {} + +var File_temporal_api_protocol_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_protocol_v1_message_proto_rawDesc = "" + + "\n" + + "&temporal/api/protocol/v1/message.proto\x12\x18temporal.api.protocol.v1\x1a\x19google/protobuf/any.proto\"\xca\x01\n" + + "\aMessage\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x120\n" + + "\x14protocol_instance_id\x18\x02 \x01(\tR\x12protocolInstanceId\x12\x1b\n" + + "\bevent_id\x18\x03 \x01(\x03H\x00R\aeventId\x12%\n" + + "\rcommand_index\x18\x04 \x01(\x03H\x00R\fcommandIndex\x12(\n" + + "\x04body\x18\x05 \x01(\v2\x14.google.protobuf.AnyR\x04bodyB\x0f\n" + + "\rsequencing_idB\x93\x01\n" + + "\x1bio.temporal.api.protocol.v1B\fMessageProtoP\x01Z'go.temporal.io/api/protocol/v1;protocol\xaa\x02\x1aTemporalio.Api.Protocol.V1\xea\x02\x1dTemporalio::Api::Protocol::V1b\x06proto3" + +var ( + file_temporal_api_protocol_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_protocol_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_protocol_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_protocol_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_protocol_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_protocol_v1_message_proto_rawDesc), len(file_temporal_api_protocol_v1_message_proto_rawDesc))) + }) + return file_temporal_api_protocol_v1_message_proto_rawDescData +} + +var file_temporal_api_protocol_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_temporal_api_protocol_v1_message_proto_goTypes = []any{ + (*Message)(nil), // 0: temporal.api.protocol.v1.Message + (*anypb.Any)(nil), // 1: google.protobuf.Any +} +var file_temporal_api_protocol_v1_message_proto_depIdxs = []int32{ + 1, // 0: temporal.api.protocol.v1.Message.body:type_name -> google.protobuf.Any + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_temporal_api_protocol_v1_message_proto_init() } +func file_temporal_api_protocol_v1_message_proto_init() { + if File_temporal_api_protocol_v1_message_proto != nil { + return + } + file_temporal_api_protocol_v1_message_proto_msgTypes[0].OneofWrappers = []any{ + (*Message_EventId)(nil), + (*Message_CommandIndex)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_protocol_v1_message_proto_rawDesc), len(file_temporal_api_protocol_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_protocol_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_protocol_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_protocol_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_protocol_v1_message_proto = out.File + file_temporal_api_protocol_v1_message_proto_goTypes = nil + file_temporal_api_protocol_v1_message_proto_depIdxs = nil +} diff --git a/api_next/protometa/v1/annotations.go-helpers.pb.go b/api_next/protometa/v1/annotations.go-helpers.pb.go new file mode 100644 index 00000000..2647a02c --- /dev/null +++ b/api_next/protometa/v1/annotations.go-helpers.pb.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package protometa + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type RequestHeaderAnnotation to the protobuf v3 wire format +func (val *RequestHeaderAnnotation) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestHeaderAnnotation from the protobuf v3 wire format +func (val *RequestHeaderAnnotation) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestHeaderAnnotation) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestHeaderAnnotation values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestHeaderAnnotation) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestHeaderAnnotation + switch t := that.(type) { + case *RequestHeaderAnnotation: + that1 = t + case RequestHeaderAnnotation: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/protometa/v1/annotations.pb.go b/api_next/protometa/v1/annotations.pb.go new file mode 100644 index 00000000..14bae654 --- /dev/null +++ b/api_next/protometa/v1/annotations.pb.go @@ -0,0 +1,169 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/protometa/v1/annotations.proto + +package protometa + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + descriptorpb "google.golang.org/protobuf/types/descriptorpb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// RequestHeaderAnnotation allows specifying that field values from a request +// should be propagated as outbound headers. +// +// The value field supports template interpolation where field paths enclosed +// in braces will be replaced with the actual field values from the request. +// For example: +// +// value: "{workflow_execution.workflow_id}" +// value: "workflow-{workflow_execution.workflow_id}" +// value: "{namespace}/{workflow_execution.workflow_id}" +type RequestHeaderAnnotation struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The name of the header to set (e.g., "temporal-resource-id") + Header string `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // A template string that may contain field paths in braces. + // Field paths use dot notation to traverse nested messages. + // Example: "{workflow_execution.workflow_id}" + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestHeaderAnnotation) Reset() { + *x = RequestHeaderAnnotation{} + mi := &file_temporal_api_protometa_v1_annotations_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestHeaderAnnotation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestHeaderAnnotation) ProtoMessage() {} + +func (x *RequestHeaderAnnotation) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_protometa_v1_annotations_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestHeaderAnnotation.ProtoReflect.Descriptor instead. +func (*RequestHeaderAnnotation) Descriptor() ([]byte, []int) { + return file_temporal_api_protometa_v1_annotations_proto_rawDescGZIP(), []int{0} +} + +func (x *RequestHeaderAnnotation) GetHeader() string { + if x != nil { + return x.Header + } + return "" +} + +func (x *RequestHeaderAnnotation) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +var file_temporal_api_protometa_v1_annotations_proto_extTypes = []protoimpl.ExtensionInfo{ + { + ExtendedType: (*descriptorpb.MethodOptions)(nil), + ExtensionType: ([]*RequestHeaderAnnotation)(nil), + Field: 7234001, + Name: "temporal.api.protometa.v1.request_header", + Tag: "bytes,7234001,rep,name=request_header", + Filename: "temporal/api/protometa/v1/annotations.proto", + }, +} + +// Extension fields to descriptorpb.MethodOptions. +var ( + // repeated temporal.api.protometa.v1.RequestHeaderAnnotation request_header = 7234001; + E_RequestHeader = &file_temporal_api_protometa_v1_annotations_proto_extTypes[0] +) + +var File_temporal_api_protometa_v1_annotations_proto protoreflect.FileDescriptor + +const file_temporal_api_protometa_v1_annotations_proto_rawDesc = "" + + "\n" + + "+temporal/api/protometa/v1/annotations.proto\x12\x19temporal.api.protometa.v1\x1a google/protobuf/descriptor.proto\"G\n" + + "\x17RequestHeaderAnnotation\x12\x16\n" + + "\x06header\x18\x01 \x01(\tR\x06header\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:|\n" + + "\x0erequest_header\x12\x1e.google.protobuf.MethodOptions\x18\xd1ù\x03 \x03(\v22.temporal.api.protometa.v1.RequestHeaderAnnotationR\rrequestHeaderB\x9c\x01\n" + + "\x1cio.temporal.api.protometa.v1B\x10AnnotationsProtoP\x01Z)go.temporal.io/api/protometa/v1;protometa\xaa\x02\x1bTemporalio.Api.Protometa.V1\xea\x02\x1eTemporalio::Api::Protometa::V1b\x06proto3" + +var ( + file_temporal_api_protometa_v1_annotations_proto_rawDescOnce sync.Once + file_temporal_api_protometa_v1_annotations_proto_rawDescData []byte +) + +func file_temporal_api_protometa_v1_annotations_proto_rawDescGZIP() []byte { + file_temporal_api_protometa_v1_annotations_proto_rawDescOnce.Do(func() { + file_temporal_api_protometa_v1_annotations_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_protometa_v1_annotations_proto_rawDesc), len(file_temporal_api_protometa_v1_annotations_proto_rawDesc))) + }) + return file_temporal_api_protometa_v1_annotations_proto_rawDescData +} + +var file_temporal_api_protometa_v1_annotations_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_temporal_api_protometa_v1_annotations_proto_goTypes = []any{ + (*RequestHeaderAnnotation)(nil), // 0: temporal.api.protometa.v1.RequestHeaderAnnotation + (*descriptorpb.MethodOptions)(nil), // 1: google.protobuf.MethodOptions +} +var file_temporal_api_protometa_v1_annotations_proto_depIdxs = []int32{ + 1, // 0: temporal.api.protometa.v1.request_header:extendee -> google.protobuf.MethodOptions + 0, // 1: temporal.api.protometa.v1.request_header:type_name -> temporal.api.protometa.v1.RequestHeaderAnnotation + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 1, // [1:2] is the sub-list for extension type_name + 0, // [0:1] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_protometa_v1_annotations_proto_init() } +func file_temporal_api_protometa_v1_annotations_proto_init() { + if File_temporal_api_protometa_v1_annotations_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_protometa_v1_annotations_proto_rawDesc), len(file_temporal_api_protometa_v1_annotations_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 1, + NumServices: 0, + }, + GoTypes: file_temporal_api_protometa_v1_annotations_proto_goTypes, + DependencyIndexes: file_temporal_api_protometa_v1_annotations_proto_depIdxs, + MessageInfos: file_temporal_api_protometa_v1_annotations_proto_msgTypes, + ExtensionInfos: file_temporal_api_protometa_v1_annotations_proto_extTypes, + }.Build() + File_temporal_api_protometa_v1_annotations_proto = out.File + file_temporal_api_protometa_v1_annotations_proto_goTypes = nil + file_temporal_api_protometa_v1_annotations_proto_depIdxs = nil +} diff --git a/api_next/proxy/interceptor.go b/api_next/proxy/interceptor.go new file mode 100644 index 00000000..5d92bbd4 --- /dev/null +++ b/api_next/proxy/interceptor.go @@ -0,0 +1,6857 @@ +// Code generated by proxygenerator; DO NOT EDIT. + +package proxy + +import ( + "context" + "fmt" + "slices" + "sync" + "sync/atomic" + + "go.temporal.io/api/activity/v1" + "go.temporal.io/api/batch/v1" + "go.temporal.io/api/callback/v1" + "go.temporal.io/api/command/v1" + "go.temporal.io/api/common/v1" + "go.temporal.io/api/compute/v1" + "go.temporal.io/api/deployment/v1" + "go.temporal.io/api/errordetails/v1" + "go.temporal.io/api/export/v1" + "go.temporal.io/api/failure/v1" + "go.temporal.io/api/history/v1" + "go.temporal.io/api/nexus/v1" + "go.temporal.io/api/operatorservice/v1" + "go.temporal.io/api/protocol/v1" + "go.temporal.io/api/query/v1" + "go.temporal.io/api/schedule/v1" + "go.temporal.io/api/sdk/v1" + "go.temporal.io/api/update/v1" + "go.temporal.io/api/workflow/v1" + workflowservice "go.temporal.io/api/workflowservice/v1" + "google.golang.org/grpc" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" + "google.golang.org/protobuf/types/known/anypb" +) + +// payloadConcurrencyState coordinates concurrent payload visitor goroutines +// within a single VisitPayloads call. +type payloadConcurrencyState struct { + // sem is a buffered channel used as a counting semaphore. A slot is acquired + // by the traversal goroutine before spawning each visitor goroutine, ensuring + // at most ConcurrencyLimit goroutines are in flight at any time. + sem chan struct{} + // wg tracks in-flight goroutines so the caller can wait for all of them to + // finish before inspecting firstErr or returning. + wg sync.WaitGroup + // firstErr holds a pointer to the first error returned by any visitor + // goroutine. Later errors are discarded; new goroutines are skipped once + // this is set. + firstErr atomic.Pointer[error] +} + +func (c *payloadConcurrencyState) recordErr(err error) { + c.firstErr.CompareAndSwap(nil, &err) +} + +// VisitPayloadsContext provides Payload context for visitor functions. +type VisitPayloadsContext struct { + context.Context + // The parent message for this payload. + Parent proto.Message + // If true, a single payload is given and a single payload must be returned. + SinglePayloadRequired bool +} + +// VisitPayloadsOptions configure visitor behaviour. +type VisitPayloadsOptions struct { + // Context is the same for every call of a visit, callers should not store it. This must never + // return an empty set of payloads. + Visitor func(*VisitPayloadsContext, []*common.Payload) ([]*common.Payload, error) + // Don't visit search attribute payloads. + SkipSearchAttributes bool + // Will be called for each Any encountered. If not set, the default is to recurse into the Any + // object, unmarshal it, visit, and re-marshal it always (even if there are no changes). + WellKnownAnyVisitor func(*VisitPayloadsContext, *anypb.Any) error + // ContextHook, if set, is called before visiting a proto message's payloads and children. + // The returned context replaces ctx.Context for the duration of visiting that message's + // subtree; the original is restored afterward. Use this to inject context values keyed to + // the message being entered. If nil, the context is not updated during traversal. + // + // NOTE: Experimental. + ContextHook func(context.Context, proto.Message) (context.Context, error) + // ConcurrencyLimit controls how many Visitor callbacks may run concurrently + // during a single VisitPayloads call. 0 or 1 means sequential. + // + // NOTE: Experimental. + ConcurrencyLimit int +} + +// VisitPayloads calls the options.Visitor function for every Payload proto within msg. +// +// Note: Directly visiting *common.Payload is not supported. Payloads must be passed through +// a parent proto. +// +// Cancellation behaviour differs by mode: in sequential mode (ConcurrencyLimit <= 1) the +// traversal only stops early if the Visitor itself returns an error. Context cancellation +// is not checked between visits. In concurrent mode (ConcurrencyLimit > 1) context +// cancellation is detected when acquiring the semaphore before each goroutine spawn, +// so traversal stops promptly without requiring the Visitor to check the context. +func VisitPayloads(ctx context.Context, msg proto.Message, options VisitPayloadsOptions) error { + if options.ConcurrencyLimit < 0 { + return fmt.Errorf("ConcurrencyLimit must be 0 or greater, got %d", options.ConcurrencyLimit) + } + visitCtx := VisitPayloadsContext{Context: ctx, Parent: msg} + if options.ConcurrencyLimit <= 1 { + return visitPayloads(&visitCtx, &options, nil, nil, msg) + } + c := &payloadConcurrencyState{sem: make(chan struct{}, options.ConcurrencyLimit)} + err := visitPayloads(&visitCtx, &options, nil, c, msg) + c.wg.Wait() + if err != nil { + return err + } + if errPtr := c.firstErr.Load(); errPtr != nil { + return *errPtr + } + return nil +} + +// PayloadVisitorInterceptorOptions configures outbound/inbound interception of Payloads within msgs. +type PayloadVisitorInterceptorOptions struct { + // Visit options for outbound messages + Outbound *VisitPayloadsOptions + // Visit options for inbound messages + Inbound *VisitPayloadsOptions +} + +var payloadTypes = []string{"temporal.api.errordetails.v1.QueryFailedFailure", "temporal.api.errordetails.v1.MultiOperationExecutionFailure"} +var failureTypes = []string{"temporal.api.errordetails.v1.QueryFailedFailure", "temporal.api.errordetails.v1.MultiOperationExecutionFailure"} + +// NewPayloadVisitorInterceptor creates a new gRPC interceptor for workflowservice messages. +// +// Note: Failure converters should come before payload codec converts, to allow the +// payloads generated by the failure convert to be intercepted by the payload codec converters. +func NewPayloadVisitorInterceptor(options PayloadVisitorInterceptorOptions) (grpc.UnaryClientInterceptor, error) { + return func(ctx context.Context, method string, req, response interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error { + if reqMsg, ok := req.(proto.Message); ok && options.Outbound != nil { + err := VisitPayloads(ctx, reqMsg, *options.Outbound) + if err != nil { + return err + } + } + + err := invoker(ctx, method, req, response, cc, opts...) + if err != nil && options.Inbound != nil { + if s, ok := status.FromError(err); ok { + // user provided payloads can sometimes end up in the status details of + // gRPC errors, make sure to visit those as well + err = visitGrpcErrorPayload(ctx, err, s, options.Inbound) + } + } + + if resMsg, ok := response.(proto.Message); ok && options.Inbound != nil { + if visitErr := VisitPayloads(ctx, resMsg, *options.Inbound); visitErr != nil { + // We are choosing visit error over RPC error in this basically-never-should-happen case + err = visitErr + } + } + + return err + }, nil +} + +func visitGrpcErrorPayload(ctx context.Context, err error, s *status.Status, inbound *VisitPayloadsOptions) error { + p := s.Proto() + for _, detail := range p.Details { + if slices.Contains(payloadTypes, string(detail.MessageName())) { + if vErr := VisitPayloads(ctx, detail, *inbound); vErr != nil { + return vErr + } + } + } + return status.ErrorProto(p) +} + +// VisitFailuresContext provides Failure context for visitor functions. +type VisitFailuresContext struct { + context.Context + // The parent message for this failure. + Parent proto.Message +} + +// VisitFailuresOptions configure visitor behaviour. +type VisitFailuresOptions struct { + // Context is the same for every call of a visit, callers should not store it. + // Visitor is free to mutate the passed failure struct. + Visitor func(*VisitFailuresContext, *failure.Failure) error + // Will be called for each Any encountered. If not set, the default is to recurse into the Any + // object, unmarshal it, visit, and re-marshal it always (even if there are no changes). + WellKnownAnyVisitor func(*VisitFailuresContext, *anypb.Any) error +} + +// VisitFailures calls the options.Visitor function for every Failure proto within msg. +func VisitFailures(ctx context.Context, msg proto.Message, options VisitFailuresOptions) error { + visitCtx := VisitFailuresContext{Context: ctx, Parent: msg} + + return visitFailures(&visitCtx, &options, msg) +} + +// FailureVisitorInterceptorOptions configures outbound/inbound interception of Failures within msgs. +type FailureVisitorInterceptorOptions struct { + // Visit options for outbound messages + Outbound *VisitFailuresOptions + // Visit options for inbound messages + Inbound *VisitFailuresOptions +} + +// NewFailureVisitorInterceptor creates a new gRPC interceptor for workflowservice messages. +// +// Note: Failure converters should come before payload codec converts, to allow the +// payloads generated by the failure convert to be intercepted by the payload codec converters. +func NewFailureVisitorInterceptor(options FailureVisitorInterceptorOptions) (grpc.UnaryClientInterceptor, error) { + return func(ctx context.Context, method string, req, response interface{}, cc *grpc.ClientConn, invoker grpc.UnaryInvoker, opts ...grpc.CallOption) error { + if reqMsg, ok := req.(proto.Message); ok && options.Outbound != nil { + err := VisitFailures(ctx, reqMsg, *options.Outbound) + if err != nil { + return err + } + } + + err := invoker(ctx, method, req, response, cc, opts...) + if err != nil && options.Inbound != nil { + if s, ok := status.FromError(err); ok { + // user provided payloads can sometimes end up in the status details of + // gRPC errors, make sure to visit those as well + err = visitGrpcErrorFailure(ctx, err, s, options.Inbound) + } + } + + if resMsg, ok := response.(proto.Message); ok && options.Inbound != nil { + if visitErr := VisitFailures(ctx, resMsg, *options.Inbound); visitErr != nil { + // We are choosing visit error over RPC error in this basically-never-should-happen case + err = visitErr + } + } + + return err + }, nil +} + +func visitGrpcErrorFailure(ctx context.Context, err error, s *status.Status, inbound *VisitFailuresOptions) error { + p := s.Proto() + for _, detail := range p.Details { + if slices.Contains(failureTypes, string(detail.MessageName())) { + if vErr := VisitFailures(ctx, detail, *inbound); vErr != nil { + return vErr + } + } + } + return status.ErrorProto(p) +} + +func (o *VisitFailuresOptions) defaultWellKnownAnyVisitor(ctx *VisitFailuresContext, p *anypb.Any) error { + child, err := p.UnmarshalNew() + if err != nil { + return fmt.Errorf("failed to unmarshal any: %w", err) + } + // We choose to visit and re-marshal always instead of cloning, visiting, + // and checking if anything changed before re-marshaling. It is assumed the + // clone + equality check is not much cheaper than re-marshal. + if err := visitFailures(ctx, o, child); err != nil { + return err + } + // Confirmed this replaces both Any fields on non-error, there is nothing + // left over + if err := p.MarshalFrom(child); err != nil { + return fmt.Errorf("failed to marshal any: %w", err) + } + return nil +} + +func (o *VisitPayloadsOptions) defaultWellKnownAnyVisitor(ctx *VisitPayloadsContext, concState *payloadConcurrencyState, p *anypb.Any) error { + child, err := p.UnmarshalNew() + if err != nil { + return fmt.Errorf("failed to unmarshal any: %w", err) + } + + // Sub-state shares the semaphore but has its own WaitGroup so we can wait + // for goroutines writing into child's fields before re-marshaling. + var anyConcState *payloadConcurrencyState + if concState != nil { + anyConcState = &payloadConcurrencyState{sem: concState.sem} + } + + // We choose to visit and re-marshal always instead of cloning, visiting, + // and checking if anything changed before re-marshaling. It is assumed the + // clone + equality check is not much cheaper than re-marshal. + if err := visitPayloads(ctx, o, p, anyConcState, child); err != nil { + return err + } + + if anyConcState != nil { + anyConcState.wg.Wait() + if errPtr := anyConcState.firstErr.Load(); errPtr != nil { + return *errPtr + } + } + + // Confirmed this replaces both Any fields on non-error, there is nothing + // left over + if err := p.MarshalFrom(child); err != nil { + return fmt.Errorf("failed to marshal any: %w", err) + } + return nil +} + +func visitPayload( + ctx *VisitPayloadsContext, + options *VisitPayloadsOptions, + parent proto.Message, + concState *payloadConcurrencyState, + fieldPtr **common.Payload, +) error { + if concState != nil { + if errPtr := concState.firstErr.Load(); errPtr != nil { + return *errPtr + } + taskCtx := VisitPayloadsContext{ + Context: ctx.Context, + Parent: parent, + SinglePayloadRequired: true, + } + msg := *fieldPtr + select { + case concState.sem <- struct{}{}: + case <-ctx.Context.Done(): + concState.recordErr(ctx.Context.Err()) + return ctx.Context.Err() + } + if errPtr := concState.firstErr.Load(); errPtr != nil { + <-concState.sem + return *errPtr + } + concState.wg.Add(1) + go func() { + defer concState.wg.Done() + defer func() { <-concState.sem }() + result, err := options.Visitor(&taskCtx, []*common.Payload{msg}) + if err != nil { + concState.recordErr(err) + return + } + if len(result) != 1 { + concState.recordErr(fmt.Errorf("visitor func must return 1 payload when SinglePayloadRequired = true")) + return + } + *fieldPtr = result[0] + }() + return nil + } + // Sequential path: + ctx.SinglePayloadRequired, ctx.Parent = true, parent + newPayloads, err := options.Visitor(ctx, []*common.Payload{*fieldPtr}) + ctx.SinglePayloadRequired, ctx.Parent = false, nil + if err != nil { + return err + } + if len(newPayloads) != 1 { + return fmt.Errorf("visitor func must return 1 payload when SinglePayloadRequired = true") + } + *fieldPtr = newPayloads[0] + return nil +} + +func visitPayloads( + ctx *VisitPayloadsContext, + options *VisitPayloadsOptions, + parent proto.Message, + concState *payloadConcurrencyState, + objs ...interface{}, +) error { + for _, obj := range objs { + ctx.SinglePayloadRequired = false + + switch o := obj.(type) { + case map[string]*common.Payload: + if concState != nil { + if errPtr := concState.firstErr.Load(); errPtr != nil { + return *errPtr + } + // Snapshot entries before spawning goroutines to avoid a + // data race between the range and goroutine write-backs. + type entry struct { + key string + value *common.Payload + } + entries := make([]entry, 0, len(o)) + for k, v := range o { + entries = append(entries, entry{k, v}) + } + var mapMu sync.Mutex + for _, e := range entries { + if errPtr := concState.firstErr.Load(); errPtr != nil { + return *errPtr + } + e := e + taskCtx := VisitPayloadsContext{ + Context: ctx.Context, + Parent: parent, + SinglePayloadRequired: true, + } + select { + case concState.sem <- struct{}{}: + case <-ctx.Context.Done(): + concState.recordErr(ctx.Context.Err()) + return ctx.Context.Err() + } + if errPtr := concState.firstErr.Load(); errPtr != nil { + <-concState.sem + return *errPtr + } + concState.wg.Add(1) + go func() { + defer concState.wg.Done() + defer func() { <-concState.sem }() + p, err := options.Visitor(&taskCtx, []*common.Payload{e.value}) + if err != nil { + concState.recordErr(err) + return + } + if len(p) != 1 { + concState.recordErr(fmt.Errorf("visitor func must return 1 payload when SinglePayloadRequired = true")) + return + } + mapMu.Lock() + o[e.key] = p[0] + mapMu.Unlock() + }() + } + } else { + for k, v := range o { + if err := visitPayload(ctx, options, parent, concState, &v); err != nil { + return err + } + o[k] = v + } + } + case *common.Payloads: + if o == nil { + continue + } + if concState != nil { + if errPtr := concState.firstErr.Load(); errPtr != nil { + return *errPtr + } + taskCtx := VisitPayloadsContext{Context: ctx.Context, Parent: parent} + payloads := o.Payloads + oRef := o + select { + case concState.sem <- struct{}{}: + case <-ctx.Context.Done(): + concState.recordErr(ctx.Context.Err()) + return ctx.Context.Err() + } + if errPtr := concState.firstErr.Load(); errPtr != nil { + <-concState.sem + return *errPtr + } + concState.wg.Add(1) + go func() { + defer concState.wg.Done() + defer func() { <-concState.sem }() + result, err := options.Visitor(&taskCtx, payloads) + if err != nil { + concState.recordErr(err) + return + } + oRef.Payloads = result + }() + } else { + ctx.Parent = parent + newPayloads, err := options.Visitor(ctx, o.Payloads) + ctx.Parent = nil + if err != nil { + return err + } + o.Payloads = newPayloads + } + case map[string]*common.Payloads: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + case []*common.Payload: + for ix := range o { + if err := visitPayload(ctx, options, parent, concState, &o[ix]); err != nil { + return err + } + } + case *anypb.Any: + if o == nil { + continue + } + ctx.Parent = o + var err error + if options.WellKnownAnyVisitor != nil { + err = options.WellKnownAnyVisitor(ctx, o) + } else { + err = options.defaultWellKnownAnyVisitor(ctx, concState, o) + } + ctx.Parent = nil + if err != nil { + return err + } + case []*anypb.Any: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *activity.ActivityExecutionInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetHeartbeatDetails(), + o.GetLastFailure(), + o.GetSearchAttributes(), + o.GetUserMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*activity.ActivityExecutionListInfo: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *activity.ActivityExecutionListInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *activity.ActivityExecutionOutcome: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetResult(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*activity.CallbackInfo: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *activity.CallbackInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetInfo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *batch.BatchOperationReset: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetPostResetOperations(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *batch.BatchOperationSignal: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *batch.BatchOperationTermination: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *callback.CallbackInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.CancelWorkflowExecutionCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*command.Command: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *command.Command: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetCancelWorkflowExecutionCommandAttributes(), + o.GetCompleteWorkflowExecutionCommandAttributes(), + o.GetContinueAsNewWorkflowExecutionCommandAttributes(), + o.GetFailWorkflowExecutionCommandAttributes(), + o.GetModifyWorkflowPropertiesCommandAttributes(), + o.GetRecordMarkerCommandAttributes(), + o.GetScheduleActivityTaskCommandAttributes(), + o.GetScheduleNexusOperationCommandAttributes(), + o.GetSignalExternalWorkflowExecutionCommandAttributes(), + o.GetStartChildWorkflowExecutionCommandAttributes(), + o.GetUpsertWorkflowSearchAttributesCommandAttributes(), + o.GetUserMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.CompleteWorkflowExecutionCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetResult(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.ContinueAsNewWorkflowExecutionCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetHeader(), + o.GetInput(), + o.GetLastCompletionResult(), + o.GetMemo(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.FailWorkflowExecutionCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.ModifyWorkflowPropertiesCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetUpsertedMemo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.RecordMarkerCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + o.GetFailure(), + o.GetHeader(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.ScheduleActivityTaskCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.ScheduleNexusOperationCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Input != nil { + if err := visitPayload(ctx, options, o, concState, &o.Input); err != nil { + return err + } + } + + ctx.Context = prevCtx + + case *command.SignalExternalWorkflowExecutionCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.StartChildWorkflowExecutionCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + o.GetMemo(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *command.UpsertWorkflowSearchAttributesCommandAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *common.Header: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFields(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *common.Memo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFields(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *common.SearchAttributes: + + if options.SkipSearchAttributes { + continue + } + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetIndexedFields(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *compute.ComputeConfig: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetScalingGroups(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case map[string]*compute.ComputeConfigScalingGroup: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *compute.ComputeConfigScalingGroup: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetProvider(), + o.GetScaler(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case map[string]*compute.ComputeConfigScalingGroupUpdate: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *compute.ComputeConfigScalingGroupUpdate: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetScalingGroup(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *compute.ComputeProvider: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Details != nil { + if err := visitPayload(ctx, options, o, concState, &o.Details); err != nil { + return err + } + } + + ctx.Context = prevCtx + + case *compute.ComputeScaler: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Details != nil { + if err := visitPayload(ctx, options, o, concState, &o.Details); err != nil { + return err + } + } + + ctx.Context = prevCtx + + case *deployment.DeploymentInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *deployment.UpdateDeploymentMetadata: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetUpsertEntries(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *deployment.VersionMetadata: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetEntries(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *deployment.WorkerDeploymentVersionInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetComputeConfig(), + o.GetMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *errordetails.MultiOperationExecutionFailure: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetStatuses(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*errordetails.MultiOperationExecutionFailure_OperationStatus: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *errordetails.MultiOperationExecutionFailure_OperationStatus: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *errordetails.QueryFailedFailure: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*export.WorkflowExecution: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *export.WorkflowExecution: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHistory(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *export.WorkflowExecutions: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetItems(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *failure.ApplicationFailureInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *failure.CanceledFailureInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*failure.Failure: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *failure.Failure: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.EncodedAttributes != nil { + if err := visitPayload(ctx, options, o, concState, &o.EncodedAttributes); err != nil { + return err + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetApplicationFailureInfo(), + o.GetCanceledFailureInfo(), + o.GetCause(), + o.GetResetWorkflowFailureInfo(), + o.GetTimeoutFailureInfo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *failure.ResetWorkflowFailureInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetLastHeartbeatDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *failure.TimeoutFailureInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetLastHeartbeatDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ActivityTaskCanceledEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ActivityTaskCompletedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetResult(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ActivityTaskFailedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ActivityTaskScheduledEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ActivityTaskStartedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetLastFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ActivityTaskTimedOutEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ChildWorkflowExecutionCanceledEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ChildWorkflowExecutionCompletedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetResult(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ChildWorkflowExecutionFailedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.ChildWorkflowExecutionStartedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.History: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetEvents(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*history.HistoryEvent: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *history.HistoryEvent: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetActivityTaskCanceledEventAttributes(), + o.GetActivityTaskCompletedEventAttributes(), + o.GetActivityTaskFailedEventAttributes(), + o.GetActivityTaskScheduledEventAttributes(), + o.GetActivityTaskStartedEventAttributes(), + o.GetActivityTaskTimedOutEventAttributes(), + o.GetChildWorkflowExecutionCanceledEventAttributes(), + o.GetChildWorkflowExecutionCompletedEventAttributes(), + o.GetChildWorkflowExecutionFailedEventAttributes(), + o.GetChildWorkflowExecutionStartedEventAttributes(), + o.GetMarkerRecordedEventAttributes(), + o.GetNexusOperationCancelRequestFailedEventAttributes(), + o.GetNexusOperationCanceledEventAttributes(), + o.GetNexusOperationCompletedEventAttributes(), + o.GetNexusOperationFailedEventAttributes(), + o.GetNexusOperationScheduledEventAttributes(), + o.GetNexusOperationTimedOutEventAttributes(), + o.GetSignalExternalWorkflowExecutionInitiatedEventAttributes(), + o.GetStartChildWorkflowExecutionInitiatedEventAttributes(), + o.GetUpsertWorkflowSearchAttributesEventAttributes(), + o.GetUserMetadata(), + o.GetWorkflowExecutionCanceledEventAttributes(), + o.GetWorkflowExecutionCompletedEventAttributes(), + o.GetWorkflowExecutionContinuedAsNewEventAttributes(), + o.GetWorkflowExecutionFailedEventAttributes(), + o.GetWorkflowExecutionSignaledEventAttributes(), + o.GetWorkflowExecutionStartedEventAttributes(), + o.GetWorkflowExecutionTerminatedEventAttributes(), + o.GetWorkflowExecutionUpdateAcceptedEventAttributes(), + o.GetWorkflowExecutionUpdateAdmittedEventAttributes(), + o.GetWorkflowExecutionUpdateCompletedEventAttributes(), + o.GetWorkflowExecutionUpdateRejectedEventAttributes(), + o.GetWorkflowPropertiesModifiedEventAttributes(), + o.GetWorkflowPropertiesModifiedExternallyEventAttributes(), + o.GetWorkflowTaskFailedEventAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.MarkerRecordedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + o.GetFailure(), + o.GetHeader(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.NexusOperationCancelRequestFailedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.NexusOperationCanceledEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.NexusOperationCompletedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Result != nil { + if err := visitPayload(ctx, options, o, concState, &o.Result); err != nil { + return err + } + } + + ctx.Context = prevCtx + + case *history.NexusOperationFailedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.NexusOperationScheduledEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Input != nil { + if err := visitPayload(ctx, options, o, concState, &o.Input); err != nil { + return err + } + } + + ctx.Context = prevCtx + + case *history.NexusOperationTimedOutEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.SignalExternalWorkflowExecutionInitiatedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.StartChildWorkflowExecutionInitiatedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + o.GetMemo(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.UpsertWorkflowSearchAttributesEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionCanceledEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionCompletedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetResult(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionContinuedAsNewEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetHeader(), + o.GetInput(), + o.GetLastCompletionResult(), + o.GetMemo(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionFailedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionSignaledEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionStartedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetContinuedFailure(), + o.GetHeader(), + o.GetInput(), + o.GetLastCompletionResult(), + o.GetMemo(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionTerminatedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionUpdateAcceptedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetAcceptedRequest(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionUpdateAdmittedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetRequest(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionUpdateCompletedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetOutcome(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowExecutionUpdateRejectedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetRejectedRequest(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowPropertiesModifiedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetUpsertedMemo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowPropertiesModifiedExternallyEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetUpsertedMemo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *history.WorkflowTaskFailedEventAttributes: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*nexus.Endpoint: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *nexus.Endpoint: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSpec(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *nexus.EndpointSpec: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Description != nil { + if err := visitPayload(ctx, options, o, concState, &o.Description); err != nil { + return err + } + } + + ctx.Context = prevCtx + + case *nexus.NexusOperationExecutionCancellationInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *nexus.NexusOperationExecutionInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetCancellationInfo(), + o.GetLastAttemptFailure(), + o.GetSearchAttributes(), + o.GetUserMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*nexus.NexusOperationExecutionListInfo: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *nexus.NexusOperationExecutionListInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *nexus.Request: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetStartOperation(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *nexus.Response: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetStartOperation(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *nexus.StartOperationRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Payload != nil { + if err := visitPayload(ctx, options, o, concState, &o.Payload); err != nil { + return err + } + } + + ctx.Context = prevCtx + + case *nexus.StartOperationResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetSyncSuccess(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *nexus.StartOperationResponse_Sync: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Payload != nil { + if err := visitPayload(ctx, options, o, concState, &o.Payload); err != nil { + return err + } + } + + ctx.Context = prevCtx + + case *operatorservice.CreateNexusEndpointRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSpec(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *operatorservice.CreateNexusEndpointResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetEndpoint(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *operatorservice.GetNexusEndpointResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetEndpoint(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *operatorservice.ListNexusEndpointsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetEndpoints(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *operatorservice.UpdateNexusEndpointRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSpec(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *operatorservice.UpdateNexusEndpointResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetEndpoint(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*protocol.Message: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *protocol.Message: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetBody(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case map[string]*query.WorkflowQuery: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *query.WorkflowQuery: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetQueryArgs(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case map[string]*query.WorkflowQueryResult: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *query.WorkflowQueryResult: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetAnswer(), + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *schedule.Schedule: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetAction(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *schedule.ScheduleAction: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetStartWorkflow(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*schedule.ScheduleListEntry: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *schedule.ScheduleListEntry: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetMemo(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *sdk.UserMetadata: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Details != nil { + if err := visitPayload(ctx, options, o, concState, &o.Details); err != nil { + return err + } + } + + if o.Summary != nil { + if err := visitPayload(ctx, options, o, concState, &o.Summary); err != nil { + return err + } + } + + ctx.Context = prevCtx + + case *update.Acceptance: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetAcceptedRequest(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *update.Input: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetArgs(), + o.GetHeader(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *update.Outcome: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetSuccess(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *update.Rejection: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetRejectedRequest(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *update.Request: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *update.Response: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetOutcome(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflow.CallbackInfo: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflow.CallbackInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflow.NewWorkflowExecutionInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + o.GetMemo(), + o.GetSearchAttributes(), + o.GetUserMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflow.NexusOperationCancellationInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflow.PendingActivityInfo: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflow.PendingActivityInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeartbeatDetails(), + o.GetLastFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflow.PendingNexusOperationInfo: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflow.PendingNexusOperationInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetCancellationInfo(), + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflow.PostResetOperation: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflow.PostResetOperation: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSignalWorkflow(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflow.PostResetOperation_SignalWorkflow: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflow.WorkflowExecutionConfig: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetUserMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflow.WorkflowExecutionInfo: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflow.WorkflowExecutionInfo: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetMemo(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.CountActivityExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetGroups(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflowservice.CountActivityExecutionsResponse_AggregationGroup: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflowservice.CountActivityExecutionsResponse_AggregationGroup: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetGroupValues(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.CountNexusOperationExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetGroups(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflowservice.CountNexusOperationExecutionsResponse_AggregationGroup: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflowservice.CountNexusOperationExecutionsResponse_AggregationGroup: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetGroupValues(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.CountSchedulesResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetGroups(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflowservice.CountSchedulesResponse_AggregationGroup: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflowservice.CountSchedulesResponse_AggregationGroup: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetGroupValues(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.CountWorkflowExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetGroups(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflowservice.CountWorkflowExecutionsResponse_AggregationGroup: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflowservice.CountWorkflowExecutionsResponse_AggregationGroup: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetGroupValues(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.CreateScheduleRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetMemo(), + o.GetSchedule(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.CreateWorkerDeploymentVersionRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetComputeConfig(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.DescribeActivityExecutionResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetCallbacks(), + o.GetInfo(), + o.GetInput(), + o.GetOutcome(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.DescribeDeploymentResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDeploymentInfo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.DescribeNexusOperationExecutionResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Input != nil { + if err := visitPayload(ctx, options, o, concState, &o.Input); err != nil { + return err + } + } + + if o.GetResult() != nil { + result := o.GetResult() + if err := visitPayload(ctx, options, o, concState, &result); err != nil { + return err + } + o.Outcome = &workflowservice.DescribeNexusOperationExecutionResponse_Result{Result: result} + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetInfo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.DescribeScheduleResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetMemo(), + o.GetSchedule(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.DescribeWorkerDeploymentVersionResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetWorkerDeploymentVersionInfo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.DescribeWorkflowExecutionResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetCallbacks(), + o.GetExecutionConfig(), + o.GetPendingActivities(), + o.GetPendingNexusOperations(), + o.GetWorkflowExecutionInfo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ExecuteMultiOperationRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetOperations(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflowservice.ExecuteMultiOperationRequest_Operation: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflowservice.ExecuteMultiOperationRequest_Operation: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetStartWorkflow(), + o.GetUpdateWorkflow(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ExecuteMultiOperationResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetResponses(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflowservice.ExecuteMultiOperationResponse_Response: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflowservice.ExecuteMultiOperationResponse_Response: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetStartWorkflow(), + o.GetUpdateWorkflow(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.GetCurrentDeploymentResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetCurrentDeploymentInfo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.GetDeploymentReachabilityResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDeploymentInfo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.GetWorkflowExecutionHistoryResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHistory(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.GetWorkflowExecutionHistoryReverseResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHistory(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ListActivityExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetExecutions(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ListArchivedWorkflowExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetExecutions(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ListClosedWorkflowExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetExecutions(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ListNexusOperationExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetOperations(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ListOpenWorkflowExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetExecutions(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ListSchedulesResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSchedules(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ListWorkflowExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetExecutions(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.PollActivityExecutionResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetOutcome(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case []*workflowservice.PollActivityTaskQueueResponse: + for _, x := range o { + if err := visitPayloads(ctx, options, parent, concState, x); err != nil { + return err + } + } + + case *workflowservice.PollActivityTaskQueueResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetHeartbeatDetails(), + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.PollNexusOperationExecutionResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.GetResult() != nil { + result := o.GetResult() + if err := visitPayload(ctx, options, o, concState, &result); err != nil { + return err + } + o.Outcome = &workflowservice.PollNexusOperationExecutionResponse_Result{Result: result} + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.PollNexusTaskQueueResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetRequest(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.PollWorkflowExecutionUpdateResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetOutcome(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.PollWorkflowTaskQueueResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHistory(), + o.GetMessages(), + o.GetQueries(), + o.GetQuery(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.QueryWorkflowRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetQuery(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.QueryWorkflowResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetQueryResult(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RecordActivityTaskHeartbeatByIdRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RecordActivityTaskHeartbeatRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ResetWorkflowExecutionRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetPostResetOperations(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondActivityTaskCanceledByIdRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondActivityTaskCanceledRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondActivityTaskCompletedByIdRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetResult(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondActivityTaskCompletedRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetResult(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondActivityTaskFailedByIdRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetLastHeartbeatDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondActivityTaskFailedByIdResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailures(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondActivityTaskFailedRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetLastHeartbeatDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondActivityTaskFailedResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailures(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondNexusTaskCompletedRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetResponse(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondNexusTaskFailedRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondQueryTaskCompletedRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetQueryResult(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondWorkflowTaskCompletedRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetCommands(), + o.GetMessages(), + o.GetQueryResults(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondWorkflowTaskCompletedResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetActivityTasks(), + o.GetWorkflowTask(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.RespondWorkflowTaskFailedRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetFailure(), + o.GetMessages(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ScanWorkflowExecutionsResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetExecutions(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.SetCurrentDeploymentRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetUpdateMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.SetCurrentDeploymentResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetCurrentDeploymentInfo(), + o.GetPreviousDeploymentInfo(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.SignalWithStartWorkflowExecutionRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + o.GetMemo(), + o.GetSearchAttributes(), + o.GetSignalInput(), + o.GetUserMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.SignalWorkflowExecutionRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.StartActivityExecutionRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetHeader(), + o.GetInput(), + o.GetSearchAttributes(), + o.GetUserMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.StartBatchOperationRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetResetOperation(), + o.GetSignalOperation(), + o.GetTerminationOperation(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.StartNexusOperationExecutionRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if o.Input != nil { + if err := visitPayload(ctx, options, o, concState, &o.Input); err != nil { + return err + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetSearchAttributes(), + o.GetUserMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.StartWorkflowExecutionRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetContinuedFailure(), + o.GetHeader(), + o.GetInput(), + o.GetLastCompletionResult(), + o.GetMemo(), + o.GetSearchAttributes(), + o.GetUserMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.StartWorkflowExecutionResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetEagerWorkflowTask(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.TerminateWorkflowExecutionRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetDetails(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.UpdateScheduleRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetMemo(), + o.GetSchedule(), + o.GetSearchAttributes(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.UpdateWorkerDeploymentVersionComputeConfigRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetComputeConfigScalingGroups(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.UpdateWorkerDeploymentVersionMetadataRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetUpsertEntries(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.UpdateWorkerDeploymentVersionMetadataResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetMetadata(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.UpdateWorkflowExecutionRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetRequest(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.UpdateWorkflowExecutionResponse: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetOutcome(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + case *workflowservice.ValidateWorkerDeploymentVersionComputeConfigRequest: + + if o == nil { + continue + } + + prevCtx := ctx.Context + if options.ContextHook != nil { + var hookErr error + if ctx.Context, hookErr = options.ContextHook(prevCtx, o); hookErr != nil { + return hookErr + } + } + + if err := visitPayloads( + ctx, + options, + o, + concState, + o.GetComputeConfigScalingGroups(), + ); err != nil { + return err + } + + ctx.Context = prevCtx + + } + } + + return nil +} + +func visitFailures(ctx *VisitFailuresContext, options *VisitFailuresOptions, objs ...interface{}) error { + for _, obj := range objs { + switch o := obj.(type) { + case *failure.Failure: + if o == nil { + continue + } + if err := options.Visitor(ctx, o); err != nil { + return err + } + if err := visitFailures(ctx, options, o.GetCause()); err != nil { + return err + } + case *anypb.Any: + if o == nil { + continue + } + visitor := options.WellKnownAnyVisitor + if visitor == nil { + visitor = options.defaultWellKnownAnyVisitor + } + ctx.Parent = o + err := visitor(ctx, o) + ctx.Parent = nil + if err != nil { + return err + } + case []*anypb.Any: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *activity.ActivityExecutionInfo: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetLastFailure(), + ); err != nil { + return err + } + + case *activity.ActivityExecutionOutcome: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case []*activity.CallbackInfo: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *activity.CallbackInfo: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetInfo(), + ); err != nil { + return err + } + + case *callback.CallbackInfo: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + case []*command.Command: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *command.Command: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetContinueAsNewWorkflowExecutionCommandAttributes(), + o.GetFailWorkflowExecutionCommandAttributes(), + o.GetRecordMarkerCommandAttributes(), + ); err != nil { + return err + } + + case *command.ContinueAsNewWorkflowExecutionCommandAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *command.FailWorkflowExecutionCommandAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *command.RecordMarkerCommandAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *errordetails.MultiOperationExecutionFailure: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetStatuses(), + ); err != nil { + return err + } + + case []*errordetails.MultiOperationExecutionFailure_OperationStatus: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *errordetails.MultiOperationExecutionFailure_OperationStatus: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetDetails(), + ); err != nil { + return err + } + + case *errordetails.QueryFailedFailure: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case []*export.WorkflowExecution: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *export.WorkflowExecution: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetHistory(), + ); err != nil { + return err + } + + case *export.WorkflowExecutions: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetItems(), + ); err != nil { + return err + } + + case *history.ActivityTaskFailedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.ActivityTaskStartedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetLastFailure(), + ); err != nil { + return err + } + + case *history.ActivityTaskTimedOutEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.ChildWorkflowExecutionFailedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.History: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetEvents(), + ); err != nil { + return err + } + + case []*history.HistoryEvent: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *history.HistoryEvent: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetActivityTaskFailedEventAttributes(), + o.GetActivityTaskStartedEventAttributes(), + o.GetActivityTaskTimedOutEventAttributes(), + o.GetChildWorkflowExecutionFailedEventAttributes(), + o.GetMarkerRecordedEventAttributes(), + o.GetNexusOperationCancelRequestFailedEventAttributes(), + o.GetNexusOperationCanceledEventAttributes(), + o.GetNexusOperationFailedEventAttributes(), + o.GetNexusOperationTimedOutEventAttributes(), + o.GetWorkflowExecutionContinuedAsNewEventAttributes(), + o.GetWorkflowExecutionFailedEventAttributes(), + o.GetWorkflowExecutionStartedEventAttributes(), + o.GetWorkflowExecutionUpdateCompletedEventAttributes(), + o.GetWorkflowExecutionUpdateRejectedEventAttributes(), + o.GetWorkflowTaskFailedEventAttributes(), + ); err != nil { + return err + } + + case *history.MarkerRecordedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.NexusOperationCancelRequestFailedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.NexusOperationCanceledEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.NexusOperationFailedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.NexusOperationTimedOutEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.WorkflowExecutionContinuedAsNewEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.WorkflowExecutionFailedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.WorkflowExecutionStartedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetContinuedFailure(), + ); err != nil { + return err + } + + case *history.WorkflowExecutionUpdateCompletedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetOutcome(), + ); err != nil { + return err + } + + case *history.WorkflowExecutionUpdateRejectedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *history.WorkflowTaskFailedEventAttributes: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *nexus.NexusOperationExecutionCancellationInfo: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + case *nexus.NexusOperationExecutionInfo: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetCancellationInfo(), + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + case *nexus.Response: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetStartOperation(), + ); err != nil { + return err + } + + case *nexus.StartOperationResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case []*protocol.Message: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *protocol.Message: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetBody(), + ); err != nil { + return err + } + + case map[string]*query.WorkflowQueryResult: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *query.WorkflowQueryResult: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *update.Outcome: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *update.Rejection: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *update.Response: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetOutcome(), + ); err != nil { + return err + } + + case []*workflow.CallbackInfo: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *workflow.CallbackInfo: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + case *workflow.NexusOperationCancellationInfo: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + case []*workflow.PendingActivityInfo: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *workflow.PendingActivityInfo: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetLastFailure(), + ); err != nil { + return err + } + + case []*workflow.PendingNexusOperationInfo: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *workflow.PendingNexusOperationInfo: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetCancellationInfo(), + o.GetLastAttemptFailure(), + ); err != nil { + return err + } + + case *workflowservice.DescribeActivityExecutionResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetCallbacks(), + o.GetInfo(), + o.GetOutcome(), + ); err != nil { + return err + } + + case *workflowservice.DescribeNexusOperationExecutionResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + o.GetInfo(), + ); err != nil { + return err + } + + case *workflowservice.DescribeWorkflowExecutionResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetCallbacks(), + o.GetPendingActivities(), + o.GetPendingNexusOperations(), + ); err != nil { + return err + } + + case *workflowservice.ExecuteMultiOperationRequest: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetOperations(), + ); err != nil { + return err + } + + case []*workflowservice.ExecuteMultiOperationRequest_Operation: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *workflowservice.ExecuteMultiOperationRequest_Operation: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetStartWorkflow(), + ); err != nil { + return err + } + + case *workflowservice.ExecuteMultiOperationResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetResponses(), + ); err != nil { + return err + } + + case []*workflowservice.ExecuteMultiOperationResponse_Response: + for _, x := range o { + if err := visitFailures(ctx, options, x); err != nil { + return err + } + } + + case *workflowservice.ExecuteMultiOperationResponse_Response: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetStartWorkflow(), + o.GetUpdateWorkflow(), + ); err != nil { + return err + } + + case *workflowservice.GetWorkflowExecutionHistoryResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetHistory(), + ); err != nil { + return err + } + + case *workflowservice.GetWorkflowExecutionHistoryReverseResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetHistory(), + ); err != nil { + return err + } + + case *workflowservice.PollActivityExecutionResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetOutcome(), + ); err != nil { + return err + } + + case *workflowservice.PollNexusOperationExecutionResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *workflowservice.PollWorkflowExecutionUpdateResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetOutcome(), + ); err != nil { + return err + } + + case *workflowservice.PollWorkflowTaskQueueResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetHistory(), + o.GetMessages(), + ); err != nil { + return err + } + + case *workflowservice.RespondActivityTaskFailedByIdRequest: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *workflowservice.RespondActivityTaskFailedByIdResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailures(), + ); err != nil { + return err + } + + case *workflowservice.RespondActivityTaskFailedRequest: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *workflowservice.RespondActivityTaskFailedResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailures(), + ); err != nil { + return err + } + + case *workflowservice.RespondNexusTaskCompletedRequest: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetResponse(), + ); err != nil { + return err + } + + case *workflowservice.RespondNexusTaskFailedRequest: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *workflowservice.RespondQueryTaskCompletedRequest: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + ); err != nil { + return err + } + + case *workflowservice.RespondWorkflowTaskCompletedRequest: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetCommands(), + o.GetMessages(), + o.GetQueryResults(), + ); err != nil { + return err + } + + case *workflowservice.RespondWorkflowTaskCompletedResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetWorkflowTask(), + ); err != nil { + return err + } + + case *workflowservice.RespondWorkflowTaskFailedRequest: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetFailure(), + o.GetMessages(), + ); err != nil { + return err + } + + case *workflowservice.StartWorkflowExecutionRequest: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetContinuedFailure(), + ); err != nil { + return err + } + + case *workflowservice.StartWorkflowExecutionResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetEagerWorkflowTask(), + ); err != nil { + return err + } + + case *workflowservice.UpdateWorkflowExecutionResponse: + if o == nil { + continue + } + ctx.Parent = o + if err := visitFailures( + ctx, + options, + o.GetOutcome(), + ); err != nil { + return err + } + + } + } + + return nil +} diff --git a/api_next/proxy/request_header.go b/api_next/proxy/request_header.go new file mode 100644 index 00000000..15fe4857 --- /dev/null +++ b/api_next/proxy/request_header.go @@ -0,0 +1,339 @@ +// Code generated by proxygenerator; DO NOT EDIT. + +package proxy + +import ( + "context" + "errors" + "fmt" + + "google.golang.org/grpc/metadata" + "google.golang.org/protobuf/proto" + + workflowservice "go.temporal.io/api/workflowservice/v1" +) + +// ExtractHeadersOptions contains options for extracting Temporal request headers. +type ExtractHeadersOptions struct { + // Request is the proto message to extract headers from. Required. + Request proto.Message + + // ExistingMetadata contains existing metadata to check for duplicates. + // If provided, headers that already exist will not be added again. + // If nil, no duplicate checking is performed. + ExistingMetadata metadata.MD +} + +// ExtractTemporalRequestHeaders extracts field values from request messages and returns +// them as a slice of key-value pairs suitable for use with metadata.AppendToOutgoingContext. +// Returns nil if no headers should be set. +func ExtractTemporalRequestHeaders(ctx context.Context, opts ExtractHeadersOptions) ([]string, error) { + if opts.Request == nil { + return nil, errors.New("request cannot be nil") + } + + var headers []string + + // Set namespace header if present and not already exists + if len(opts.ExistingMetadata.Get("temporal-namespace")) == 0 { + if nsReq, ok := opts.Request.(interface{ GetNamespace() string }); ok { + if ns := nsReq.GetNamespace(); ns != "" { + headers = append(headers, "temporal-namespace", ns) + } + } + } + + // Set headers from proto annotations + switch r := opts.Request.(type) { + case *workflowservice.CreateScheduleRequest: + if val := r.GetScheduleId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("schedule:%s", val)) + } + case *workflowservice.DeleteScheduleRequest: + if val := r.GetScheduleId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("schedule:%s", val)) + } + case *workflowservice.DeleteWorkerDeploymentRequest: + if val := r.GetDeploymentName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("deployment:%s", val)) + } + case *workflowservice.DeleteWorkerDeploymentVersionRequest: + if val := r.GetDeploymentVersion().GetDeploymentName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("deployment:%s", val)) + } + case *workflowservice.DeleteWorkflowExecutionRequest: + if val := r.GetWorkflowExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.DescribeActivityExecutionRequest: + if val := r.GetActivityId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("activity:%s", val)) + } + case *workflowservice.DescribeBatchOperationRequest: + if val := r.GetJobId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("batch:%s", val)) + } + case *workflowservice.DescribeScheduleRequest: + if val := r.GetScheduleId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("schedule:%s", val)) + } + case *workflowservice.DescribeTaskQueueRequest: + if val := r.GetTaskQueue().GetName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("taskqueue:%s", val)) + } + case *workflowservice.DescribeWorkerDeploymentRequest: + if val := r.GetDeploymentName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("deployment:%s", val)) + } + case *workflowservice.DescribeWorkerDeploymentVersionRequest: + if val := r.GetDeploymentVersion().GetDeploymentName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("deployment:%s", val)) + } + case *workflowservice.DescribeWorkerRequest: + if val := r.GetWorkerInstanceKey(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("worker:%s", val)) + } + case *workflowservice.DescribeWorkflowExecutionRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.ExecuteMultiOperationRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.FetchWorkerConfigRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.GetWorkflowExecutionHistoryRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.GetWorkflowExecutionHistoryReverseRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.ListScheduleMatchingTimesRequest: + if val := r.GetScheduleId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("schedule:%s", val)) + } + case *workflowservice.ListTaskQueuePartitionsRequest: + if val := r.GetTaskQueue().GetName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("taskqueue:%s", val)) + } + case *workflowservice.PatchScheduleRequest: + if val := r.GetScheduleId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("schedule:%s", val)) + } + case *workflowservice.PauseActivityExecutionRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.PauseActivityRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.PauseWorkflowExecutionRequest: + if val := r.GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.PollActivityExecutionRequest: + if val := r.GetActivityId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("activity:%s", val)) + } + case *workflowservice.PollActivityTaskQueueRequest: + if val := r.GetPollerGroupId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("poller:%s", val)) + } + case *workflowservice.PollNexusTaskQueueRequest: + if val := r.GetPollerGroupId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("poller:%s", val)) + } + case *workflowservice.PollWorkflowExecutionUpdateRequest: + if val := r.GetUpdateRef().GetWorkflowExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.PollWorkflowTaskQueueRequest: + if val := r.GetPollerGroupId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("poller:%s", val)) + } + case *workflowservice.QueryWorkflowRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.RecordActivityTaskHeartbeatByIdRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RecordActivityTaskHeartbeatRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RecordWorkerHeartbeatRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RequestCancelActivityExecutionRequest: + if val := r.GetActivityId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("activity:%s", val)) + } + case *workflowservice.RequestCancelWorkflowExecutionRequest: + if val := r.GetWorkflowExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.ResetActivityExecutionRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.ResetActivityRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.ResetStickyTaskQueueRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.ResetWorkflowExecutionRequest: + if val := r.GetWorkflowExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.RespondActivityTaskCanceledByIdRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RespondActivityTaskCanceledRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RespondActivityTaskCompletedByIdRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RespondActivityTaskCompletedRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RespondActivityTaskFailedByIdRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RespondActivityTaskFailedRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RespondNexusTaskCompletedRequest: + if val := r.GetPollerGroupId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("poller:%s", val)) + } + case *workflowservice.RespondNexusTaskFailedRequest: + if val := r.GetPollerGroupId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("poller:%s", val)) + } + case *workflowservice.RespondQueryTaskCompletedRequest: + if val := r.GetPollerGroupId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("poller:%s", val)) + } + case *workflowservice.RespondWorkflowTaskCompletedRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.RespondWorkflowTaskFailedRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.SetWorkerDeploymentCurrentVersionRequest: + if val := r.GetDeploymentName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("deployment:%s", val)) + } + case *workflowservice.SetWorkerDeploymentManagerRequest: + if val := r.GetDeploymentName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("deployment:%s", val)) + } + case *workflowservice.SetWorkerDeploymentRampingVersionRequest: + if val := r.GetDeploymentName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("deployment:%s", val)) + } + case *workflowservice.SignalWithStartWorkflowExecutionRequest: + if val := r.GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.SignalWorkflowExecutionRequest: + if val := r.GetWorkflowExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.StartActivityExecutionRequest: + if val := r.GetActivityId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("activity:%s", val)) + } + case *workflowservice.StartBatchOperationRequest: + if val := r.GetJobId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("batch:%s", val)) + } + case *workflowservice.StartWorkflowExecutionRequest: + if val := r.GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.StopBatchOperationRequest: + if val := r.GetJobId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("batch:%s", val)) + } + case *workflowservice.TerminateActivityExecutionRequest: + if val := r.GetActivityId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("activity:%s", val)) + } + case *workflowservice.TerminateWorkflowExecutionRequest: + if val := r.GetWorkflowExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.TriggerWorkflowRuleRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.UnpauseActivityExecutionRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.UnpauseActivityRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.UnpauseWorkflowExecutionRequest: + if val := r.GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.UpdateActivityExecutionOptionsRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.UpdateActivityOptionsRequest: + if val := r.GetExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.UpdateScheduleRequest: + if val := r.GetScheduleId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("schedule:%s", val)) + } + case *workflowservice.UpdateTaskQueueConfigRequest: + if val := r.GetTaskQueue(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("taskqueue:%s", val)) + } + case *workflowservice.UpdateWorkerConfigRequest: + if val := r.GetResourceId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", val) + } + case *workflowservice.UpdateWorkerDeploymentVersionMetadataRequest: + if val := r.GetDeploymentVersion().GetDeploymentName(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("deployment:%s", val)) + } + case *workflowservice.UpdateWorkflowExecutionOptionsRequest: + if val := r.GetWorkflowExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + case *workflowservice.UpdateWorkflowExecutionRequest: + if val := r.GetWorkflowExecution().GetWorkflowId(); val != "" && len(opts.ExistingMetadata.Get("temporal-resource-id")) == 0 { + headers = append(headers, "temporal-resource-id", fmt.Sprintf("workflow:%s", val)) + } + } + + return headers, nil +} diff --git a/api_next/proxy/service.go b/api_next/proxy/service.go new file mode 100644 index 00000000..a387d6da --- /dev/null +++ b/api_next/proxy/service.go @@ -0,0 +1,517 @@ +// Code generated by proxygenerator; DO NOT EDIT. + +package proxy + +import ( + "context" + + "go.temporal.io/api/workflowservice/v1" +) + +// WorkflowServiceProxyOptions provides options for configuring a WorkflowServiceProxyServer. +// Client is a WorkflowServiceClient used to forward requests received by the server to the +// Temporal Frontend. +type WorkflowServiceProxyOptions struct { + Client workflowservice.WorkflowServiceClient + DisableHeaderForwarding bool +} + +type workflowServiceProxyServer struct { + workflowservice.UnimplementedWorkflowServiceServer + client workflowservice.WorkflowServiceClient + disableHeaderForwarding bool +} + +// NewWorkflowServiceProxyServer creates a WorkflowServiceServer suitable for registering with a gRPC Server. Requests will +// be forwarded to the passed in WorkflowService Client. gRPC interceptors can be added on the Server or Client to adjust +// requests and responses. +func NewWorkflowServiceProxyServer(options WorkflowServiceProxyOptions) (workflowservice.WorkflowServiceServer, error) { + return &workflowServiceProxyServer{ + client: options.Client, + disableHeaderForwarding: options.DisableHeaderForwarding, + }, nil +} + +func (s *workflowServiceProxyServer) CountActivityExecutions(ctx context.Context, in0 *workflowservice.CountActivityExecutionsRequest) (*workflowservice.CountActivityExecutionsResponse, error) { + return s.client.CountActivityExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) CountNexusOperationExecutions(ctx context.Context, in0 *workflowservice.CountNexusOperationExecutionsRequest) (*workflowservice.CountNexusOperationExecutionsResponse, error) { + return s.client.CountNexusOperationExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) CountSchedules(ctx context.Context, in0 *workflowservice.CountSchedulesRequest) (*workflowservice.CountSchedulesResponse, error) { + return s.client.CountSchedules(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) CountWorkflowExecutions(ctx context.Context, in0 *workflowservice.CountWorkflowExecutionsRequest) (*workflowservice.CountWorkflowExecutionsResponse, error) { + return s.client.CountWorkflowExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) CreateSchedule(ctx context.Context, in0 *workflowservice.CreateScheduleRequest) (*workflowservice.CreateScheduleResponse, error) { + return s.client.CreateSchedule(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) CreateWorkerDeployment(ctx context.Context, in0 *workflowservice.CreateWorkerDeploymentRequest) (*workflowservice.CreateWorkerDeploymentResponse, error) { + return s.client.CreateWorkerDeployment(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) CreateWorkerDeploymentVersion(ctx context.Context, in0 *workflowservice.CreateWorkerDeploymentVersionRequest) (*workflowservice.CreateWorkerDeploymentVersionResponse, error) { + return s.client.CreateWorkerDeploymentVersion(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) CreateWorkflowRule(ctx context.Context, in0 *workflowservice.CreateWorkflowRuleRequest) (*workflowservice.CreateWorkflowRuleResponse, error) { + return s.client.CreateWorkflowRule(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DeleteActivityExecution(ctx context.Context, in0 *workflowservice.DeleteActivityExecutionRequest) (*workflowservice.DeleteActivityExecutionResponse, error) { + return s.client.DeleteActivityExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DeleteNexusOperationExecution(ctx context.Context, in0 *workflowservice.DeleteNexusOperationExecutionRequest) (*workflowservice.DeleteNexusOperationExecutionResponse, error) { + return s.client.DeleteNexusOperationExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DeleteSchedule(ctx context.Context, in0 *workflowservice.DeleteScheduleRequest) (*workflowservice.DeleteScheduleResponse, error) { + return s.client.DeleteSchedule(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DeleteWorkerDeployment(ctx context.Context, in0 *workflowservice.DeleteWorkerDeploymentRequest) (*workflowservice.DeleteWorkerDeploymentResponse, error) { + return s.client.DeleteWorkerDeployment(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DeleteWorkerDeploymentVersion(ctx context.Context, in0 *workflowservice.DeleteWorkerDeploymentVersionRequest) (*workflowservice.DeleteWorkerDeploymentVersionResponse, error) { + return s.client.DeleteWorkerDeploymentVersion(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DeleteWorkflowExecution(ctx context.Context, in0 *workflowservice.DeleteWorkflowExecutionRequest) (*workflowservice.DeleteWorkflowExecutionResponse, error) { + return s.client.DeleteWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DeleteWorkflowRule(ctx context.Context, in0 *workflowservice.DeleteWorkflowRuleRequest) (*workflowservice.DeleteWorkflowRuleResponse, error) { + return s.client.DeleteWorkflowRule(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DeprecateNamespace(ctx context.Context, in0 *workflowservice.DeprecateNamespaceRequest) (*workflowservice.DeprecateNamespaceResponse, error) { + return s.client.DeprecateNamespace(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeActivityExecution(ctx context.Context, in0 *workflowservice.DescribeActivityExecutionRequest) (*workflowservice.DescribeActivityExecutionResponse, error) { + return s.client.DescribeActivityExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeBatchOperation(ctx context.Context, in0 *workflowservice.DescribeBatchOperationRequest) (*workflowservice.DescribeBatchOperationResponse, error) { + return s.client.DescribeBatchOperation(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeDeployment(ctx context.Context, in0 *workflowservice.DescribeDeploymentRequest) (*workflowservice.DescribeDeploymentResponse, error) { + return s.client.DescribeDeployment(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeNamespace(ctx context.Context, in0 *workflowservice.DescribeNamespaceRequest) (*workflowservice.DescribeNamespaceResponse, error) { + return s.client.DescribeNamespace(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeNexusOperationExecution(ctx context.Context, in0 *workflowservice.DescribeNexusOperationExecutionRequest) (*workflowservice.DescribeNexusOperationExecutionResponse, error) { + return s.client.DescribeNexusOperationExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeSchedule(ctx context.Context, in0 *workflowservice.DescribeScheduleRequest) (*workflowservice.DescribeScheduleResponse, error) { + return s.client.DescribeSchedule(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeTaskQueue(ctx context.Context, in0 *workflowservice.DescribeTaskQueueRequest) (*workflowservice.DescribeTaskQueueResponse, error) { + return s.client.DescribeTaskQueue(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeWorker(ctx context.Context, in0 *workflowservice.DescribeWorkerRequest) (*workflowservice.DescribeWorkerResponse, error) { + return s.client.DescribeWorker(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeWorkerDeployment(ctx context.Context, in0 *workflowservice.DescribeWorkerDeploymentRequest) (*workflowservice.DescribeWorkerDeploymentResponse, error) { + return s.client.DescribeWorkerDeployment(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeWorkerDeploymentVersion(ctx context.Context, in0 *workflowservice.DescribeWorkerDeploymentVersionRequest) (*workflowservice.DescribeWorkerDeploymentVersionResponse, error) { + return s.client.DescribeWorkerDeploymentVersion(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeWorkflowExecution(ctx context.Context, in0 *workflowservice.DescribeWorkflowExecutionRequest) (*workflowservice.DescribeWorkflowExecutionResponse, error) { + return s.client.DescribeWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) DescribeWorkflowRule(ctx context.Context, in0 *workflowservice.DescribeWorkflowRuleRequest) (*workflowservice.DescribeWorkflowRuleResponse, error) { + return s.client.DescribeWorkflowRule(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ExecuteMultiOperation(ctx context.Context, in0 *workflowservice.ExecuteMultiOperationRequest) (*workflowservice.ExecuteMultiOperationResponse, error) { + return s.client.ExecuteMultiOperation(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) FetchWorkerConfig(ctx context.Context, in0 *workflowservice.FetchWorkerConfigRequest) (*workflowservice.FetchWorkerConfigResponse, error) { + return s.client.FetchWorkerConfig(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetClusterInfo(ctx context.Context, in0 *workflowservice.GetClusterInfoRequest) (*workflowservice.GetClusterInfoResponse, error) { + return s.client.GetClusterInfo(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetCurrentDeployment(ctx context.Context, in0 *workflowservice.GetCurrentDeploymentRequest) (*workflowservice.GetCurrentDeploymentResponse, error) { + return s.client.GetCurrentDeployment(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetDeploymentReachability(ctx context.Context, in0 *workflowservice.GetDeploymentReachabilityRequest) (*workflowservice.GetDeploymentReachabilityResponse, error) { + return s.client.GetDeploymentReachability(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetSearchAttributes(ctx context.Context, in0 *workflowservice.GetSearchAttributesRequest) (*workflowservice.GetSearchAttributesResponse, error) { + return s.client.GetSearchAttributes(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetSystemInfo(ctx context.Context, in0 *workflowservice.GetSystemInfoRequest) (*workflowservice.GetSystemInfoResponse, error) { + return s.client.GetSystemInfo(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetWorkerBuildIdCompatibility(ctx context.Context, in0 *workflowservice.GetWorkerBuildIdCompatibilityRequest) (*workflowservice.GetWorkerBuildIdCompatibilityResponse, error) { + return s.client.GetWorkerBuildIdCompatibility(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetWorkerTaskReachability(ctx context.Context, in0 *workflowservice.GetWorkerTaskReachabilityRequest) (*workflowservice.GetWorkerTaskReachabilityResponse, error) { + return s.client.GetWorkerTaskReachability(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetWorkerVersioningRules(ctx context.Context, in0 *workflowservice.GetWorkerVersioningRulesRequest) (*workflowservice.GetWorkerVersioningRulesResponse, error) { + return s.client.GetWorkerVersioningRules(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetWorkflowExecutionHistory(ctx context.Context, in0 *workflowservice.GetWorkflowExecutionHistoryRequest) (*workflowservice.GetWorkflowExecutionHistoryResponse, error) { + return s.client.GetWorkflowExecutionHistory(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) GetWorkflowExecutionHistoryReverse(ctx context.Context, in0 *workflowservice.GetWorkflowExecutionHistoryReverseRequest) (*workflowservice.GetWorkflowExecutionHistoryReverseResponse, error) { + return s.client.GetWorkflowExecutionHistoryReverse(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListActivityExecutions(ctx context.Context, in0 *workflowservice.ListActivityExecutionsRequest) (*workflowservice.ListActivityExecutionsResponse, error) { + return s.client.ListActivityExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListArchivedWorkflowExecutions(ctx context.Context, in0 *workflowservice.ListArchivedWorkflowExecutionsRequest) (*workflowservice.ListArchivedWorkflowExecutionsResponse, error) { + return s.client.ListArchivedWorkflowExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListBatchOperations(ctx context.Context, in0 *workflowservice.ListBatchOperationsRequest) (*workflowservice.ListBatchOperationsResponse, error) { + return s.client.ListBatchOperations(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListClosedWorkflowExecutions(ctx context.Context, in0 *workflowservice.ListClosedWorkflowExecutionsRequest) (*workflowservice.ListClosedWorkflowExecutionsResponse, error) { + return s.client.ListClosedWorkflowExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListDeployments(ctx context.Context, in0 *workflowservice.ListDeploymentsRequest) (*workflowservice.ListDeploymentsResponse, error) { + return s.client.ListDeployments(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListNamespaces(ctx context.Context, in0 *workflowservice.ListNamespacesRequest) (*workflowservice.ListNamespacesResponse, error) { + return s.client.ListNamespaces(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListNexusOperationExecutions(ctx context.Context, in0 *workflowservice.ListNexusOperationExecutionsRequest) (*workflowservice.ListNexusOperationExecutionsResponse, error) { + return s.client.ListNexusOperationExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListOpenWorkflowExecutions(ctx context.Context, in0 *workflowservice.ListOpenWorkflowExecutionsRequest) (*workflowservice.ListOpenWorkflowExecutionsResponse, error) { + return s.client.ListOpenWorkflowExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListScheduleMatchingTimes(ctx context.Context, in0 *workflowservice.ListScheduleMatchingTimesRequest) (*workflowservice.ListScheduleMatchingTimesResponse, error) { + return s.client.ListScheduleMatchingTimes(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListSchedules(ctx context.Context, in0 *workflowservice.ListSchedulesRequest) (*workflowservice.ListSchedulesResponse, error) { + return s.client.ListSchedules(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListTaskQueuePartitions(ctx context.Context, in0 *workflowservice.ListTaskQueuePartitionsRequest) (*workflowservice.ListTaskQueuePartitionsResponse, error) { + return s.client.ListTaskQueuePartitions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListWorkerDeployments(ctx context.Context, in0 *workflowservice.ListWorkerDeploymentsRequest) (*workflowservice.ListWorkerDeploymentsResponse, error) { + return s.client.ListWorkerDeployments(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListWorkers(ctx context.Context, in0 *workflowservice.ListWorkersRequest) (*workflowservice.ListWorkersResponse, error) { + return s.client.ListWorkers(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListWorkflowExecutions(ctx context.Context, in0 *workflowservice.ListWorkflowExecutionsRequest) (*workflowservice.ListWorkflowExecutionsResponse, error) { + return s.client.ListWorkflowExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ListWorkflowRules(ctx context.Context, in0 *workflowservice.ListWorkflowRulesRequest) (*workflowservice.ListWorkflowRulesResponse, error) { + return s.client.ListWorkflowRules(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PatchSchedule(ctx context.Context, in0 *workflowservice.PatchScheduleRequest) (*workflowservice.PatchScheduleResponse, error) { + return s.client.PatchSchedule(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PauseActivity(ctx context.Context, in0 *workflowservice.PauseActivityRequest) (*workflowservice.PauseActivityResponse, error) { + return s.client.PauseActivity(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PauseActivityExecution(ctx context.Context, in0 *workflowservice.PauseActivityExecutionRequest) (*workflowservice.PauseActivityExecutionResponse, error) { + return s.client.PauseActivityExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PauseWorkflowExecution(ctx context.Context, in0 *workflowservice.PauseWorkflowExecutionRequest) (*workflowservice.PauseWorkflowExecutionResponse, error) { + return s.client.PauseWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PollActivityExecution(ctx context.Context, in0 *workflowservice.PollActivityExecutionRequest) (*workflowservice.PollActivityExecutionResponse, error) { + return s.client.PollActivityExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PollActivityTaskQueue(ctx context.Context, in0 *workflowservice.PollActivityTaskQueueRequest) (*workflowservice.PollActivityTaskQueueResponse, error) { + return s.client.PollActivityTaskQueue(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PollNexusOperationExecution(ctx context.Context, in0 *workflowservice.PollNexusOperationExecutionRequest) (*workflowservice.PollNexusOperationExecutionResponse, error) { + return s.client.PollNexusOperationExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PollNexusTaskQueue(ctx context.Context, in0 *workflowservice.PollNexusTaskQueueRequest) (*workflowservice.PollNexusTaskQueueResponse, error) { + return s.client.PollNexusTaskQueue(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PollWorkflowExecutionUpdate(ctx context.Context, in0 *workflowservice.PollWorkflowExecutionUpdateRequest) (*workflowservice.PollWorkflowExecutionUpdateResponse, error) { + return s.client.PollWorkflowExecutionUpdate(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) PollWorkflowTaskQueue(ctx context.Context, in0 *workflowservice.PollWorkflowTaskQueueRequest) (*workflowservice.PollWorkflowTaskQueueResponse, error) { + return s.client.PollWorkflowTaskQueue(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) QueryWorkflow(ctx context.Context, in0 *workflowservice.QueryWorkflowRequest) (*workflowservice.QueryWorkflowResponse, error) { + return s.client.QueryWorkflow(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RecordActivityTaskHeartbeat(ctx context.Context, in0 *workflowservice.RecordActivityTaskHeartbeatRequest) (*workflowservice.RecordActivityTaskHeartbeatResponse, error) { + return s.client.RecordActivityTaskHeartbeat(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RecordActivityTaskHeartbeatById(ctx context.Context, in0 *workflowservice.RecordActivityTaskHeartbeatByIdRequest) (*workflowservice.RecordActivityTaskHeartbeatByIdResponse, error) { + return s.client.RecordActivityTaskHeartbeatById(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RecordWorkerHeartbeat(ctx context.Context, in0 *workflowservice.RecordWorkerHeartbeatRequest) (*workflowservice.RecordWorkerHeartbeatResponse, error) { + return s.client.RecordWorkerHeartbeat(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RegisterNamespace(ctx context.Context, in0 *workflowservice.RegisterNamespaceRequest) (*workflowservice.RegisterNamespaceResponse, error) { + return s.client.RegisterNamespace(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RequestCancelActivityExecution(ctx context.Context, in0 *workflowservice.RequestCancelActivityExecutionRequest) (*workflowservice.RequestCancelActivityExecutionResponse, error) { + return s.client.RequestCancelActivityExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RequestCancelNexusOperationExecution(ctx context.Context, in0 *workflowservice.RequestCancelNexusOperationExecutionRequest) (*workflowservice.RequestCancelNexusOperationExecutionResponse, error) { + return s.client.RequestCancelNexusOperationExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RequestCancelWorkflowExecution(ctx context.Context, in0 *workflowservice.RequestCancelWorkflowExecutionRequest) (*workflowservice.RequestCancelWorkflowExecutionResponse, error) { + return s.client.RequestCancelWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ResetActivity(ctx context.Context, in0 *workflowservice.ResetActivityRequest) (*workflowservice.ResetActivityResponse, error) { + return s.client.ResetActivity(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ResetActivityExecution(ctx context.Context, in0 *workflowservice.ResetActivityExecutionRequest) (*workflowservice.ResetActivityExecutionResponse, error) { + return s.client.ResetActivityExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ResetStickyTaskQueue(ctx context.Context, in0 *workflowservice.ResetStickyTaskQueueRequest) (*workflowservice.ResetStickyTaskQueueResponse, error) { + return s.client.ResetStickyTaskQueue(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ResetWorkflowExecution(ctx context.Context, in0 *workflowservice.ResetWorkflowExecutionRequest) (*workflowservice.ResetWorkflowExecutionResponse, error) { + return s.client.ResetWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondActivityTaskCanceled(ctx context.Context, in0 *workflowservice.RespondActivityTaskCanceledRequest) (*workflowservice.RespondActivityTaskCanceledResponse, error) { + return s.client.RespondActivityTaskCanceled(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondActivityTaskCanceledById(ctx context.Context, in0 *workflowservice.RespondActivityTaskCanceledByIdRequest) (*workflowservice.RespondActivityTaskCanceledByIdResponse, error) { + return s.client.RespondActivityTaskCanceledById(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondActivityTaskCompleted(ctx context.Context, in0 *workflowservice.RespondActivityTaskCompletedRequest) (*workflowservice.RespondActivityTaskCompletedResponse, error) { + return s.client.RespondActivityTaskCompleted(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondActivityTaskCompletedById(ctx context.Context, in0 *workflowservice.RespondActivityTaskCompletedByIdRequest) (*workflowservice.RespondActivityTaskCompletedByIdResponse, error) { + return s.client.RespondActivityTaskCompletedById(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondActivityTaskFailed(ctx context.Context, in0 *workflowservice.RespondActivityTaskFailedRequest) (*workflowservice.RespondActivityTaskFailedResponse, error) { + return s.client.RespondActivityTaskFailed(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondActivityTaskFailedById(ctx context.Context, in0 *workflowservice.RespondActivityTaskFailedByIdRequest) (*workflowservice.RespondActivityTaskFailedByIdResponse, error) { + return s.client.RespondActivityTaskFailedById(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondNexusTaskCompleted(ctx context.Context, in0 *workflowservice.RespondNexusTaskCompletedRequest) (*workflowservice.RespondNexusTaskCompletedResponse, error) { + return s.client.RespondNexusTaskCompleted(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondNexusTaskFailed(ctx context.Context, in0 *workflowservice.RespondNexusTaskFailedRequest) (*workflowservice.RespondNexusTaskFailedResponse, error) { + return s.client.RespondNexusTaskFailed(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondQueryTaskCompleted(ctx context.Context, in0 *workflowservice.RespondQueryTaskCompletedRequest) (*workflowservice.RespondQueryTaskCompletedResponse, error) { + return s.client.RespondQueryTaskCompleted(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondWorkflowTaskCompleted(ctx context.Context, in0 *workflowservice.RespondWorkflowTaskCompletedRequest) (*workflowservice.RespondWorkflowTaskCompletedResponse, error) { + return s.client.RespondWorkflowTaskCompleted(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) RespondWorkflowTaskFailed(ctx context.Context, in0 *workflowservice.RespondWorkflowTaskFailedRequest) (*workflowservice.RespondWorkflowTaskFailedResponse, error) { + return s.client.RespondWorkflowTaskFailed(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ScanWorkflowExecutions(ctx context.Context, in0 *workflowservice.ScanWorkflowExecutionsRequest) (*workflowservice.ScanWorkflowExecutionsResponse, error) { + return s.client.ScanWorkflowExecutions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) SetCurrentDeployment(ctx context.Context, in0 *workflowservice.SetCurrentDeploymentRequest) (*workflowservice.SetCurrentDeploymentResponse, error) { + return s.client.SetCurrentDeployment(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) SetWorkerDeploymentCurrentVersion(ctx context.Context, in0 *workflowservice.SetWorkerDeploymentCurrentVersionRequest) (*workflowservice.SetWorkerDeploymentCurrentVersionResponse, error) { + return s.client.SetWorkerDeploymentCurrentVersion(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) SetWorkerDeploymentManager(ctx context.Context, in0 *workflowservice.SetWorkerDeploymentManagerRequest) (*workflowservice.SetWorkerDeploymentManagerResponse, error) { + return s.client.SetWorkerDeploymentManager(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) SetWorkerDeploymentRampingVersion(ctx context.Context, in0 *workflowservice.SetWorkerDeploymentRampingVersionRequest) (*workflowservice.SetWorkerDeploymentRampingVersionResponse, error) { + return s.client.SetWorkerDeploymentRampingVersion(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ShutdownWorker(ctx context.Context, in0 *workflowservice.ShutdownWorkerRequest) (*workflowservice.ShutdownWorkerResponse, error) { + return s.client.ShutdownWorker(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) SignalWithStartWorkflowExecution(ctx context.Context, in0 *workflowservice.SignalWithStartWorkflowExecutionRequest) (*workflowservice.SignalWithStartWorkflowExecutionResponse, error) { + return s.client.SignalWithStartWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) SignalWorkflowExecution(ctx context.Context, in0 *workflowservice.SignalWorkflowExecutionRequest) (*workflowservice.SignalWorkflowExecutionResponse, error) { + return s.client.SignalWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) StartActivityExecution(ctx context.Context, in0 *workflowservice.StartActivityExecutionRequest) (*workflowservice.StartActivityExecutionResponse, error) { + return s.client.StartActivityExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) StartBatchOperation(ctx context.Context, in0 *workflowservice.StartBatchOperationRequest) (*workflowservice.StartBatchOperationResponse, error) { + return s.client.StartBatchOperation(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) StartNexusOperationExecution(ctx context.Context, in0 *workflowservice.StartNexusOperationExecutionRequest) (*workflowservice.StartNexusOperationExecutionResponse, error) { + return s.client.StartNexusOperationExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) StartWorkflowExecution(ctx context.Context, in0 *workflowservice.StartWorkflowExecutionRequest) (*workflowservice.StartWorkflowExecutionResponse, error) { + return s.client.StartWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) StopBatchOperation(ctx context.Context, in0 *workflowservice.StopBatchOperationRequest) (*workflowservice.StopBatchOperationResponse, error) { + return s.client.StopBatchOperation(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) TerminateActivityExecution(ctx context.Context, in0 *workflowservice.TerminateActivityExecutionRequest) (*workflowservice.TerminateActivityExecutionResponse, error) { + return s.client.TerminateActivityExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) TerminateNexusOperationExecution(ctx context.Context, in0 *workflowservice.TerminateNexusOperationExecutionRequest) (*workflowservice.TerminateNexusOperationExecutionResponse, error) { + return s.client.TerminateNexusOperationExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) TerminateWorkflowExecution(ctx context.Context, in0 *workflowservice.TerminateWorkflowExecutionRequest) (*workflowservice.TerminateWorkflowExecutionResponse, error) { + return s.client.TerminateWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) TriggerWorkflowRule(ctx context.Context, in0 *workflowservice.TriggerWorkflowRuleRequest) (*workflowservice.TriggerWorkflowRuleResponse, error) { + return s.client.TriggerWorkflowRule(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UnpauseActivity(ctx context.Context, in0 *workflowservice.UnpauseActivityRequest) (*workflowservice.UnpauseActivityResponse, error) { + return s.client.UnpauseActivity(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UnpauseActivityExecution(ctx context.Context, in0 *workflowservice.UnpauseActivityExecutionRequest) (*workflowservice.UnpauseActivityExecutionResponse, error) { + return s.client.UnpauseActivityExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UnpauseWorkflowExecution(ctx context.Context, in0 *workflowservice.UnpauseWorkflowExecutionRequest) (*workflowservice.UnpauseWorkflowExecutionResponse, error) { + return s.client.UnpauseWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateActivityExecutionOptions(ctx context.Context, in0 *workflowservice.UpdateActivityExecutionOptionsRequest) (*workflowservice.UpdateActivityExecutionOptionsResponse, error) { + return s.client.UpdateActivityExecutionOptions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateActivityOptions(ctx context.Context, in0 *workflowservice.UpdateActivityOptionsRequest) (*workflowservice.UpdateActivityOptionsResponse, error) { + return s.client.UpdateActivityOptions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateNamespace(ctx context.Context, in0 *workflowservice.UpdateNamespaceRequest) (*workflowservice.UpdateNamespaceResponse, error) { + return s.client.UpdateNamespace(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateSchedule(ctx context.Context, in0 *workflowservice.UpdateScheduleRequest) (*workflowservice.UpdateScheduleResponse, error) { + return s.client.UpdateSchedule(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateTaskQueueConfig(ctx context.Context, in0 *workflowservice.UpdateTaskQueueConfigRequest) (*workflowservice.UpdateTaskQueueConfigResponse, error) { + return s.client.UpdateTaskQueueConfig(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateWorkerBuildIdCompatibility(ctx context.Context, in0 *workflowservice.UpdateWorkerBuildIdCompatibilityRequest) (*workflowservice.UpdateWorkerBuildIdCompatibilityResponse, error) { + return s.client.UpdateWorkerBuildIdCompatibility(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateWorkerConfig(ctx context.Context, in0 *workflowservice.UpdateWorkerConfigRequest) (*workflowservice.UpdateWorkerConfigResponse, error) { + return s.client.UpdateWorkerConfig(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateWorkerDeploymentVersionComputeConfig(ctx context.Context, in0 *workflowservice.UpdateWorkerDeploymentVersionComputeConfigRequest) (*workflowservice.UpdateWorkerDeploymentVersionComputeConfigResponse, error) { + return s.client.UpdateWorkerDeploymentVersionComputeConfig(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateWorkerDeploymentVersionMetadata(ctx context.Context, in0 *workflowservice.UpdateWorkerDeploymentVersionMetadataRequest) (*workflowservice.UpdateWorkerDeploymentVersionMetadataResponse, error) { + return s.client.UpdateWorkerDeploymentVersionMetadata(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateWorkerVersioningRules(ctx context.Context, in0 *workflowservice.UpdateWorkerVersioningRulesRequest) (*workflowservice.UpdateWorkerVersioningRulesResponse, error) { + return s.client.UpdateWorkerVersioningRules(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateWorkflowExecution(ctx context.Context, in0 *workflowservice.UpdateWorkflowExecutionRequest) (*workflowservice.UpdateWorkflowExecutionResponse, error) { + return s.client.UpdateWorkflowExecution(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) UpdateWorkflowExecutionOptions(ctx context.Context, in0 *workflowservice.UpdateWorkflowExecutionOptionsRequest) (*workflowservice.UpdateWorkflowExecutionOptionsResponse, error) { + return s.client.UpdateWorkflowExecutionOptions(s.reqCtx(ctx), in0) +} + +func (s *workflowServiceProxyServer) ValidateWorkerDeploymentVersionComputeConfig(ctx context.Context, in0 *workflowservice.ValidateWorkerDeploymentVersionComputeConfigRequest) (*workflowservice.ValidateWorkerDeploymentVersionComputeConfigResponse, error) { + return s.client.ValidateWorkerDeploymentVersionComputeConfig(s.reqCtx(ctx), in0) +} diff --git a/api_next/proxy/service_util.go b/api_next/proxy/service_util.go new file mode 100644 index 00000000..f2c5bccc --- /dev/null +++ b/api_next/proxy/service_util.go @@ -0,0 +1,38 @@ +package proxy + +import ( + "context" + + "google.golang.org/grpc/metadata" +) + +func (s *workflowServiceProxyServer) reqCtx(ctx context.Context) context.Context { + if s.disableHeaderForwarding { + return ctx + } + + // Copy incoming header to outgoing if not already present in outgoing. We + // have confirmed in gRPC that incoming is a copy so we can mutate it. + incoming, _ := metadata.FromIncomingContext(ctx) + + // Remove common headers and if there's nothing left, return early + incoming.Delete("user-agent") + incoming.Delete(":authority") + incoming.Delete("content-type") + if len(incoming) == 0 { + return ctx + } + + // Put all incoming on outgoing if they are not already there. We have + // confirmed in gRPC that outgoing is a copy so we can mutate it. + outgoing, _ := metadata.FromOutgoingContext(ctx) + if outgoing == nil { + outgoing = metadata.MD{} + } + for k, v := range incoming { + if len(outgoing.Get(k)) == 0 { + outgoing.Set(k, v...) + } + } + return metadata.NewOutgoingContext(ctx, outgoing) +} diff --git a/api_next/query/v1/message.go-helpers.pb.go b/api_next/query/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..36daec2f --- /dev/null +++ b/api_next/query/v1/message.go-helpers.pb.go @@ -0,0 +1,117 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package query + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkflowQuery to the protobuf v3 wire format +func (val *WorkflowQuery) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowQuery from the protobuf v3 wire format +func (val *WorkflowQuery) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowQuery) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowQuery values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowQuery) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowQuery + switch t := that.(type) { + case *WorkflowQuery: + that1 = t + case WorkflowQuery: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowQueryResult to the protobuf v3 wire format +func (val *WorkflowQueryResult) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowQueryResult from the protobuf v3 wire format +func (val *WorkflowQueryResult) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowQueryResult) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowQueryResult values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowQueryResult) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowQueryResult + switch t := that.(type) { + case *WorkflowQueryResult: + that1 = t + case WorkflowQueryResult: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type QueryRejected to the protobuf v3 wire format +func (val *QueryRejected) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type QueryRejected from the protobuf v3 wire format +func (val *QueryRejected) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *QueryRejected) Size() int { + return proto.Size(val) +} + +// Equal returns whether two QueryRejected values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *QueryRejected) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *QueryRejected + switch t := that.(type) { + case *QueryRejected: + that1 = t + case QueryRejected: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/query/v1/message.pb.go b/api_next/query/v1/message.pb.go new file mode 100644 index 00000000..018a8e27 --- /dev/null +++ b/api_next/query/v1/message.pb.go @@ -0,0 +1,293 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/query/v1/message.proto + +package query + +import ( + v1 "go.temporal.io/api/common/v1" + v11 "go.temporal.io/api/enums/v1" + v12 "go.temporal.io/api/failure/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// See https://docs.temporal.io/docs/concepts/queries/ +type WorkflowQuery struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The workflow-author-defined identifier of the query. Typically a function name. + QueryType string `protobuf:"bytes,1,opt,name=query_type,json=queryType,proto3" json:"query_type,omitempty"` + // Serialized arguments that will be provided to the query handler. + QueryArgs *v1.Payloads `protobuf:"bytes,2,opt,name=query_args,json=queryArgs,proto3" json:"query_args,omitempty"` + // Headers that were passed by the caller of the query and copied by temporal + // server into the workflow task. + Header *v1.Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowQuery) Reset() { + *x = WorkflowQuery{} + mi := &file_temporal_api_query_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowQuery) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowQuery) ProtoMessage() {} + +func (x *WorkflowQuery) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_query_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowQuery.ProtoReflect.Descriptor instead. +func (*WorkflowQuery) Descriptor() ([]byte, []int) { + return file_temporal_api_query_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkflowQuery) GetQueryType() string { + if x != nil { + return x.QueryType + } + return "" +} + +func (x *WorkflowQuery) GetQueryArgs() *v1.Payloads { + if x != nil { + return x.QueryArgs + } + return nil +} + +func (x *WorkflowQuery) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +// Answer to a `WorkflowQuery` +type WorkflowQueryResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Did the query succeed or fail? + ResultType v11.QueryResultType `protobuf:"varint,1,opt,name=result_type,json=resultType,proto3,enum=temporal.api.enums.v1.QueryResultType" json:"result_type,omitempty"` + // Set when the query succeeds with the results. + // Mutually exclusive with `error_message` and `failure`. + Answer *v1.Payloads `protobuf:"bytes,2,opt,name=answer,proto3" json:"answer,omitempty"` + // Mutually exclusive with `answer`. Set when the query fails. + // See also the newer `failure` field. + ErrorMessage string `protobuf:"bytes,3,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + // The full reason for this query failure. This field is newer than `error_message` and can be encoded by the SDK's + // failure converter to support E2E encryption of messages and stack traces. + // Mutually exclusive with `answer`. Set when the query fails. + Failure *v12.Failure `protobuf:"bytes,4,opt,name=failure,proto3" json:"failure,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowQueryResult) Reset() { + *x = WorkflowQueryResult{} + mi := &file_temporal_api_query_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowQueryResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowQueryResult) ProtoMessage() {} + +func (x *WorkflowQueryResult) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_query_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowQueryResult.ProtoReflect.Descriptor instead. +func (*WorkflowQueryResult) Descriptor() ([]byte, []int) { + return file_temporal_api_query_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkflowQueryResult) GetResultType() v11.QueryResultType { + if x != nil { + return x.ResultType + } + return v11.QueryResultType(0) +} + +func (x *WorkflowQueryResult) GetAnswer() *v1.Payloads { + if x != nil { + return x.Answer + } + return nil +} + +func (x *WorkflowQueryResult) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *WorkflowQueryResult) GetFailure() *v12.Failure { + if x != nil { + return x.Failure + } + return nil +} + +type QueryRejected struct { + state protoimpl.MessageState `protogen:"open.v1"` + Status v11.WorkflowExecutionStatus `protobuf:"varint,1,opt,name=status,proto3,enum=temporal.api.enums.v1.WorkflowExecutionStatus" json:"status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueryRejected) Reset() { + *x = QueryRejected{} + mi := &file_temporal_api_query_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueryRejected) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryRejected) ProtoMessage() {} + +func (x *QueryRejected) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_query_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryRejected.ProtoReflect.Descriptor instead. +func (*QueryRejected) Descriptor() ([]byte, []int) { + return file_temporal_api_query_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *QueryRejected) GetStatus() v11.WorkflowExecutionStatus { + if x != nil { + return x.Status + } + return v11.WorkflowExecutionStatus(0) +} + +var File_temporal_api_query_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_query_v1_message_proto_rawDesc = "" + + "\n" + + "#temporal/api/query/v1/message.proto\x12\x15temporal.api.query.v1\x1a!temporal/api/enums/v1/query.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\"\xa7\x01\n" + + "\rWorkflowQuery\x12\x1d\n" + + "\n" + + "query_type\x18\x01 \x01(\tR\tqueryType\x12?\n" + + "\n" + + "query_args\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\tqueryArgs\x126\n" + + "\x06header\x18\x03 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\"\xf9\x01\n" + + "\x13WorkflowQueryResult\x12G\n" + + "\vresult_type\x18\x01 \x01(\x0e2&.temporal.api.enums.v1.QueryResultTypeR\n" + + "resultType\x128\n" + + "\x06answer\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\x06answer\x12#\n" + + "\rerror_message\x18\x03 \x01(\tR\ferrorMessage\x12:\n" + + "\afailure\x18\x04 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\"W\n" + + "\rQueryRejected\x12F\n" + + "\x06status\x18\x01 \x01(\x0e2..temporal.api.enums.v1.WorkflowExecutionStatusR\x06statusB\x84\x01\n" + + "\x18io.temporal.api.query.v1B\fMessageProtoP\x01Z!go.temporal.io/api/query/v1;query\xaa\x02\x17Temporalio.Api.Query.V1\xea\x02\x1aTemporalio::Api::Query::V1b\x06proto3" + +var ( + file_temporal_api_query_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_query_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_query_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_query_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_query_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_query_v1_message_proto_rawDesc), len(file_temporal_api_query_v1_message_proto_rawDesc))) + }) + return file_temporal_api_query_v1_message_proto_rawDescData +} + +var file_temporal_api_query_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_temporal_api_query_v1_message_proto_goTypes = []any{ + (*WorkflowQuery)(nil), // 0: temporal.api.query.v1.WorkflowQuery + (*WorkflowQueryResult)(nil), // 1: temporal.api.query.v1.WorkflowQueryResult + (*QueryRejected)(nil), // 2: temporal.api.query.v1.QueryRejected + (*v1.Payloads)(nil), // 3: temporal.api.common.v1.Payloads + (*v1.Header)(nil), // 4: temporal.api.common.v1.Header + (v11.QueryResultType)(0), // 5: temporal.api.enums.v1.QueryResultType + (*v12.Failure)(nil), // 6: temporal.api.failure.v1.Failure + (v11.WorkflowExecutionStatus)(0), // 7: temporal.api.enums.v1.WorkflowExecutionStatus +} +var file_temporal_api_query_v1_message_proto_depIdxs = []int32{ + 3, // 0: temporal.api.query.v1.WorkflowQuery.query_args:type_name -> temporal.api.common.v1.Payloads + 4, // 1: temporal.api.query.v1.WorkflowQuery.header:type_name -> temporal.api.common.v1.Header + 5, // 2: temporal.api.query.v1.WorkflowQueryResult.result_type:type_name -> temporal.api.enums.v1.QueryResultType + 3, // 3: temporal.api.query.v1.WorkflowQueryResult.answer:type_name -> temporal.api.common.v1.Payloads + 6, // 4: temporal.api.query.v1.WorkflowQueryResult.failure:type_name -> temporal.api.failure.v1.Failure + 7, // 5: temporal.api.query.v1.QueryRejected.status:type_name -> temporal.api.enums.v1.WorkflowExecutionStatus + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_temporal_api_query_v1_message_proto_init() } +func file_temporal_api_query_v1_message_proto_init() { + if File_temporal_api_query_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_query_v1_message_proto_rawDesc), len(file_temporal_api_query_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_query_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_query_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_query_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_query_v1_message_proto = out.File + file_temporal_api_query_v1_message_proto_goTypes = nil + file_temporal_api_query_v1_message_proto_depIdxs = nil +} diff --git a/api_next/replication/v1/message.go-helpers.pb.go b/api_next/replication/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..1b492ed6 --- /dev/null +++ b/api_next/replication/v1/message.go-helpers.pb.go @@ -0,0 +1,117 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package replication + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ClusterReplicationConfig to the protobuf v3 wire format +func (val *ClusterReplicationConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ClusterReplicationConfig from the protobuf v3 wire format +func (val *ClusterReplicationConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ClusterReplicationConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ClusterReplicationConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ClusterReplicationConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ClusterReplicationConfig + switch t := that.(type) { + case *ClusterReplicationConfig: + that1 = t + case ClusterReplicationConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NamespaceReplicationConfig to the protobuf v3 wire format +func (val *NamespaceReplicationConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NamespaceReplicationConfig from the protobuf v3 wire format +func (val *NamespaceReplicationConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NamespaceReplicationConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NamespaceReplicationConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NamespaceReplicationConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NamespaceReplicationConfig + switch t := that.(type) { + case *NamespaceReplicationConfig: + that1 = t + case NamespaceReplicationConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type FailoverStatus to the protobuf v3 wire format +func (val *FailoverStatus) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type FailoverStatus from the protobuf v3 wire format +func (val *FailoverStatus) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *FailoverStatus) Size() int { + return proto.Size(val) +} + +// Equal returns whether two FailoverStatus values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *FailoverStatus) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *FailoverStatus + switch t := that.(type) { + case *FailoverStatus: + that1 = t + case FailoverStatus: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/replication/v1/message.pb.go b/api_next/replication/v1/message.pb.go new file mode 100644 index 00000000..82b6ceac --- /dev/null +++ b/api_next/replication/v1/message.pb.go @@ -0,0 +1,253 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/replication/v1/message.proto + +package replication + +import ( + v1 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type ClusterReplicationConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + ClusterName string `protobuf:"bytes,1,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ClusterReplicationConfig) Reset() { + *x = ClusterReplicationConfig{} + mi := &file_temporal_api_replication_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ClusterReplicationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterReplicationConfig) ProtoMessage() {} + +func (x *ClusterReplicationConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_replication_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterReplicationConfig.ProtoReflect.Descriptor instead. +func (*ClusterReplicationConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_replication_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *ClusterReplicationConfig) GetClusterName() string { + if x != nil { + return x.ClusterName + } + return "" +} + +type NamespaceReplicationConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActiveClusterName string `protobuf:"bytes,1,opt,name=active_cluster_name,json=activeClusterName,proto3" json:"active_cluster_name,omitempty"` + Clusters []*ClusterReplicationConfig `protobuf:"bytes,2,rep,name=clusters,proto3" json:"clusters,omitempty"` + State v1.ReplicationState `protobuf:"varint,3,opt,name=state,proto3,enum=temporal.api.enums.v1.ReplicationState" json:"state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NamespaceReplicationConfig) Reset() { + *x = NamespaceReplicationConfig{} + mi := &file_temporal_api_replication_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NamespaceReplicationConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NamespaceReplicationConfig) ProtoMessage() {} + +func (x *NamespaceReplicationConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_replication_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NamespaceReplicationConfig.ProtoReflect.Descriptor instead. +func (*NamespaceReplicationConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_replication_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *NamespaceReplicationConfig) GetActiveClusterName() string { + if x != nil { + return x.ActiveClusterName + } + return "" +} + +func (x *NamespaceReplicationConfig) GetClusters() []*ClusterReplicationConfig { + if x != nil { + return x.Clusters + } + return nil +} + +func (x *NamespaceReplicationConfig) GetState() v1.ReplicationState { + if x != nil { + return x.State + } + return v1.ReplicationState(0) +} + +// Represents a historical replication status of a Namespace +type FailoverStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Timestamp when the Cluster switched to the following failover_version + FailoverTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=failover_time,json=failoverTime,proto3" json:"failover_time,omitempty"` + FailoverVersion int64 `protobuf:"varint,2,opt,name=failover_version,json=failoverVersion,proto3" json:"failover_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FailoverStatus) Reset() { + *x = FailoverStatus{} + mi := &file_temporal_api_replication_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FailoverStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FailoverStatus) ProtoMessage() {} + +func (x *FailoverStatus) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_replication_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FailoverStatus.ProtoReflect.Descriptor instead. +func (*FailoverStatus) Descriptor() ([]byte, []int) { + return file_temporal_api_replication_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *FailoverStatus) GetFailoverTime() *timestamppb.Timestamp { + if x != nil { + return x.FailoverTime + } + return nil +} + +func (x *FailoverStatus) GetFailoverVersion() int64 { + if x != nil { + return x.FailoverVersion + } + return 0 +} + +var File_temporal_api_replication_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_replication_v1_message_proto_rawDesc = "" + + "\n" + + ")temporal/api/replication/v1/message.proto\x12\x1btemporal.api.replication.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a%temporal/api/enums/v1/namespace.proto\"=\n" + + "\x18ClusterReplicationConfig\x12!\n" + + "\fcluster_name\x18\x01 \x01(\tR\vclusterName\"\xde\x01\n" + + "\x1aNamespaceReplicationConfig\x12.\n" + + "\x13active_cluster_name\x18\x01 \x01(\tR\x11activeClusterName\x12Q\n" + + "\bclusters\x18\x02 \x03(\v25.temporal.api.replication.v1.ClusterReplicationConfigR\bclusters\x12=\n" + + "\x05state\x18\x03 \x01(\x0e2'.temporal.api.enums.v1.ReplicationStateR\x05state\"|\n" + + "\x0eFailoverStatus\x12?\n" + + "\rfailover_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\ffailoverTime\x12)\n" + + "\x10failover_version\x18\x02 \x01(\x03R\x0ffailoverVersionB\xa2\x01\n" + + "\x1eio.temporal.api.replication.v1B\fMessageProtoP\x01Z-go.temporal.io/api/replication/v1;replication\xaa\x02\x1dTemporalio.Api.Replication.V1\xea\x02 Temporalio::Api::Replication::V1b\x06proto3" + +var ( + file_temporal_api_replication_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_replication_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_replication_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_replication_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_replication_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_replication_v1_message_proto_rawDesc), len(file_temporal_api_replication_v1_message_proto_rawDesc))) + }) + return file_temporal_api_replication_v1_message_proto_rawDescData +} + +var file_temporal_api_replication_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_temporal_api_replication_v1_message_proto_goTypes = []any{ + (*ClusterReplicationConfig)(nil), // 0: temporal.api.replication.v1.ClusterReplicationConfig + (*NamespaceReplicationConfig)(nil), // 1: temporal.api.replication.v1.NamespaceReplicationConfig + (*FailoverStatus)(nil), // 2: temporal.api.replication.v1.FailoverStatus + (v1.ReplicationState)(0), // 3: temporal.api.enums.v1.ReplicationState + (*timestamppb.Timestamp)(nil), // 4: google.protobuf.Timestamp +} +var file_temporal_api_replication_v1_message_proto_depIdxs = []int32{ + 0, // 0: temporal.api.replication.v1.NamespaceReplicationConfig.clusters:type_name -> temporal.api.replication.v1.ClusterReplicationConfig + 3, // 1: temporal.api.replication.v1.NamespaceReplicationConfig.state:type_name -> temporal.api.enums.v1.ReplicationState + 4, // 2: temporal.api.replication.v1.FailoverStatus.failover_time:type_name -> google.protobuf.Timestamp + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_temporal_api_replication_v1_message_proto_init() } +func file_temporal_api_replication_v1_message_proto_init() { + if File_temporal_api_replication_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_replication_v1_message_proto_rawDesc), len(file_temporal_api_replication_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_replication_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_replication_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_replication_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_replication_v1_message_proto = out.File + file_temporal_api_replication_v1_message_proto_goTypes = nil + file_temporal_api_replication_v1_message_proto_depIdxs = nil +} diff --git a/api_next/rules/v1/message.go-helpers.pb.go b/api_next/rules/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..2e84fc81 --- /dev/null +++ b/api_next/rules/v1/message.go-helpers.pb.go @@ -0,0 +1,117 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package rules + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkflowRuleAction to the protobuf v3 wire format +func (val *WorkflowRuleAction) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowRuleAction from the protobuf v3 wire format +func (val *WorkflowRuleAction) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowRuleAction) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowRuleAction values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowRuleAction) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowRuleAction + switch t := that.(type) { + case *WorkflowRuleAction: + that1 = t + case WorkflowRuleAction: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowRuleSpec to the protobuf v3 wire format +func (val *WorkflowRuleSpec) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowRuleSpec from the protobuf v3 wire format +func (val *WorkflowRuleSpec) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowRuleSpec) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowRuleSpec values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowRuleSpec) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowRuleSpec + switch t := that.(type) { + case *WorkflowRuleSpec: + that1 = t + case WorkflowRuleSpec: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowRule to the protobuf v3 wire format +func (val *WorkflowRule) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowRule from the protobuf v3 wire format +func (val *WorkflowRule) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowRule) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowRule values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowRule) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowRule + switch t := that.(type) { + case *WorkflowRule: + that1 = t + case WorkflowRule: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/rules/v1/message.pb.go b/api_next/rules/v1/message.pb.go new file mode 100644 index 00000000..22450926 --- /dev/null +++ b/api_next/rules/v1/message.pb.go @@ -0,0 +1,471 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/rules/v1/message.proto + +package rules + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type WorkflowRuleAction struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Supported actions. + // + // Types that are valid to be assigned to Variant: + // + // *WorkflowRuleAction_ActivityPause + Variant isWorkflowRuleAction_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRuleAction) Reset() { + *x = WorkflowRuleAction{} + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRuleAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRuleAction) ProtoMessage() {} + +func (x *WorkflowRuleAction) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRuleAction.ProtoReflect.Descriptor instead. +func (*WorkflowRuleAction) Descriptor() ([]byte, []int) { + return file_temporal_api_rules_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkflowRuleAction) GetVariant() isWorkflowRuleAction_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *WorkflowRuleAction) GetActivityPause() *WorkflowRuleAction_ActionActivityPause { + if x != nil { + if x, ok := x.Variant.(*WorkflowRuleAction_ActivityPause); ok { + return x.ActivityPause + } + } + return nil +} + +type isWorkflowRuleAction_Variant interface { + isWorkflowRuleAction_Variant() +} + +type WorkflowRuleAction_ActivityPause struct { + ActivityPause *WorkflowRuleAction_ActionActivityPause `protobuf:"bytes,1,opt,name=activity_pause,json=activityPause,proto3,oneof"` +} + +func (*WorkflowRuleAction_ActivityPause) isWorkflowRuleAction_Variant() {} + +type WorkflowRuleSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The id of the new workflow rule. Must be unique within the namespace. + // Can be set by the user, and can have business meaning. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + // Specifies how the rule should be triggered and evaluated. + // Currently, only "activity start" type is supported. + // + // Types that are valid to be assigned to Trigger: + // + // *WorkflowRuleSpec_ActivityStart + Trigger isWorkflowRuleSpec_Trigger `protobuf_oneof:"trigger"` + // Restricted Visibility query. + // This query is used to filter workflows in this namespace to which this rule should apply. + // It is applied to any running workflow each time a triggering event occurs, before the trigger predicate is evaluated. + // The following workflow attributes are supported: + // - WorkflowType + // - WorkflowId + // - StartTime + // - ExecutionStatus + VisibilityQuery string `protobuf:"bytes,3,opt,name=visibility_query,json=visibilityQuery,proto3" json:"visibility_query,omitempty"` + // WorkflowRuleAction to be taken when the rule is triggered and predicate is matched. + Actions []*WorkflowRuleAction `protobuf:"bytes,4,rep,name=actions,proto3" json:"actions,omitempty"` + // Expiration time of the rule. After this time, the rule will be deleted. + // Can be empty if the rule should never expire. + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRuleSpec) Reset() { + *x = WorkflowRuleSpec{} + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRuleSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRuleSpec) ProtoMessage() {} + +func (x *WorkflowRuleSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRuleSpec.ProtoReflect.Descriptor instead. +func (*WorkflowRuleSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_rules_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkflowRuleSpec) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *WorkflowRuleSpec) GetTrigger() isWorkflowRuleSpec_Trigger { + if x != nil { + return x.Trigger + } + return nil +} + +func (x *WorkflowRuleSpec) GetActivityStart() *WorkflowRuleSpec_ActivityStartingTrigger { + if x != nil { + if x, ok := x.Trigger.(*WorkflowRuleSpec_ActivityStart); ok { + return x.ActivityStart + } + } + return nil +} + +func (x *WorkflowRuleSpec) GetVisibilityQuery() string { + if x != nil { + return x.VisibilityQuery + } + return "" +} + +func (x *WorkflowRuleSpec) GetActions() []*WorkflowRuleAction { + if x != nil { + return x.Actions + } + return nil +} + +func (x *WorkflowRuleSpec) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +type isWorkflowRuleSpec_Trigger interface { + isWorkflowRuleSpec_Trigger() +} + +type WorkflowRuleSpec_ActivityStart struct { + ActivityStart *WorkflowRuleSpec_ActivityStartingTrigger `protobuf:"bytes,2,opt,name=activity_start,json=activityStart,proto3,oneof"` +} + +func (*WorkflowRuleSpec_ActivityStart) isWorkflowRuleSpec_Trigger() {} + +// WorkflowRule describes a rule that can be applied to any workflow in this namespace. +type WorkflowRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Rule creation time. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // Rule specification + Spec *WorkflowRuleSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` + // Identity of the actor that created the rule + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: It is better reflect the intent this way, we will also have updated_by. --) + // + // (-- api-linter: core::0142::time-field-names=disabled + // + // aip.dev/not-precedent: Same as above. All other options sounds clumsy --) + CreatedByIdentity string `protobuf:"bytes,3,opt,name=created_by_identity,json=createdByIdentity,proto3" json:"created_by_identity,omitempty"` + // Rule description. + Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRule) Reset() { + *x = WorkflowRule{} + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRule) ProtoMessage() {} + +func (x *WorkflowRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRule.ProtoReflect.Descriptor instead. +func (*WorkflowRule) Descriptor() ([]byte, []int) { + return file_temporal_api_rules_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *WorkflowRule) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *WorkflowRule) GetSpec() *WorkflowRuleSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *WorkflowRule) GetCreatedByIdentity() string { + if x != nil { + return x.CreatedByIdentity + } + return "" +} + +func (x *WorkflowRule) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +type WorkflowRuleAction_ActionActivityPause struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRuleAction_ActionActivityPause) Reset() { + *x = WorkflowRuleAction_ActionActivityPause{} + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRuleAction_ActionActivityPause) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRuleAction_ActionActivityPause) ProtoMessage() {} + +func (x *WorkflowRuleAction_ActionActivityPause) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRuleAction_ActionActivityPause.ProtoReflect.Descriptor instead. +func (*WorkflowRuleAction_ActionActivityPause) Descriptor() ([]byte, []int) { + return file_temporal_api_rules_v1_message_proto_rawDescGZIP(), []int{0, 0} +} + +// Activity trigger will be triggered when an activity is about to start. +type WorkflowRuleSpec_ActivityStartingTrigger struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Activity predicate is a SQL-like string filter parameter. + // It is used to match against workflow data. + // The following activity attributes are supported as part of the predicate: + // - ActivityType: An Activity Type is the mapping of a name to an Activity Definition.. + // - ActivityId: The ID of the activity. + // - ActivityAttempt: The number attempts of the activity. + // - BackoffInterval: The current amount of time between scheduled attempts of the activity. + // - ActivityStatus: The status of the activity. Can be one of "Scheduled", "Started", "Paused". + // - TaskQueue: The name of the task queue the workflow specified that the activity should run on. + // Activity predicate support the following operators: + // - =, !=, >, >=, <, <= + // - AND, OR, () + // - BETWEEN ... AND + // STARTS_WITH + Predicate string `protobuf:"bytes,1,opt,name=predicate,proto3" json:"predicate,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowRuleSpec_ActivityStartingTrigger) Reset() { + *x = WorkflowRuleSpec_ActivityStartingTrigger{} + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowRuleSpec_ActivityStartingTrigger) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowRuleSpec_ActivityStartingTrigger) ProtoMessage() {} + +func (x *WorkflowRuleSpec_ActivityStartingTrigger) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_rules_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowRuleSpec_ActivityStartingTrigger.ProtoReflect.Descriptor instead. +func (*WorkflowRuleSpec_ActivityStartingTrigger) Descriptor() ([]byte, []int) { + return file_temporal_api_rules_v1_message_proto_rawDescGZIP(), []int{1, 0} +} + +func (x *WorkflowRuleSpec_ActivityStartingTrigger) GetPredicate() string { + if x != nil { + return x.Predicate + } + return "" +} + +var File_temporal_api_rules_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_rules_v1_message_proto_rawDesc = "" + + "\n" + + "#temporal/api/rules/v1/message.proto\x12\x15temporal.api.rules.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9e\x01\n" + + "\x12WorkflowRuleAction\x12f\n" + + "\x0eactivity_pause\x18\x01 \x01(\v2=.temporal.api.rules.v1.WorkflowRuleAction.ActionActivityPauseH\x00R\ractivityPause\x1a\x15\n" + + "\x13ActionActivityPauseB\t\n" + + "\avariant\"\x85\x03\n" + + "\x10WorkflowRuleSpec\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12h\n" + + "\x0eactivity_start\x18\x02 \x01(\v2?.temporal.api.rules.v1.WorkflowRuleSpec.ActivityStartingTriggerH\x00R\ractivityStart\x12)\n" + + "\x10visibility_query\x18\x03 \x01(\tR\x0fvisibilityQuery\x12C\n" + + "\aactions\x18\x04 \x03(\v2).temporal.api.rules.v1.WorkflowRuleActionR\aactions\x12C\n" + + "\x0fexpiration_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x0eexpirationTime\x1a7\n" + + "\x17ActivityStartingTrigger\x12\x1c\n" + + "\tpredicate\x18\x01 \x01(\tR\tpredicateB\t\n" + + "\atrigger\"\xda\x01\n" + + "\fWorkflowRule\x12;\n" + + "\vcreate_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\x12;\n" + + "\x04spec\x18\x02 \x01(\v2'.temporal.api.rules.v1.WorkflowRuleSpecR\x04spec\x12.\n" + + "\x13created_by_identity\x18\x03 \x01(\tR\x11createdByIdentity\x12 \n" + + "\vdescription\x18\x04 \x01(\tR\vdescriptionB\x84\x01\n" + + "\x18io.temporal.api.rules.v1B\fMessageProtoP\x01Z!go.temporal.io/api/rules/v1;rules\xaa\x02\x17Temporalio.Api.Rules.V1\xea\x02\x1aTemporalio::Api::Rules::V1b\x06proto3" + +var ( + file_temporal_api_rules_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_rules_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_rules_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_rules_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_rules_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_rules_v1_message_proto_rawDesc), len(file_temporal_api_rules_v1_message_proto_rawDesc))) + }) + return file_temporal_api_rules_v1_message_proto_rawDescData +} + +var file_temporal_api_rules_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_temporal_api_rules_v1_message_proto_goTypes = []any{ + (*WorkflowRuleAction)(nil), // 0: temporal.api.rules.v1.WorkflowRuleAction + (*WorkflowRuleSpec)(nil), // 1: temporal.api.rules.v1.WorkflowRuleSpec + (*WorkflowRule)(nil), // 2: temporal.api.rules.v1.WorkflowRule + (*WorkflowRuleAction_ActionActivityPause)(nil), // 3: temporal.api.rules.v1.WorkflowRuleAction.ActionActivityPause + (*WorkflowRuleSpec_ActivityStartingTrigger)(nil), // 4: temporal.api.rules.v1.WorkflowRuleSpec.ActivityStartingTrigger + (*timestamppb.Timestamp)(nil), // 5: google.protobuf.Timestamp +} +var file_temporal_api_rules_v1_message_proto_depIdxs = []int32{ + 3, // 0: temporal.api.rules.v1.WorkflowRuleAction.activity_pause:type_name -> temporal.api.rules.v1.WorkflowRuleAction.ActionActivityPause + 4, // 1: temporal.api.rules.v1.WorkflowRuleSpec.activity_start:type_name -> temporal.api.rules.v1.WorkflowRuleSpec.ActivityStartingTrigger + 0, // 2: temporal.api.rules.v1.WorkflowRuleSpec.actions:type_name -> temporal.api.rules.v1.WorkflowRuleAction + 5, // 3: temporal.api.rules.v1.WorkflowRuleSpec.expiration_time:type_name -> google.protobuf.Timestamp + 5, // 4: temporal.api.rules.v1.WorkflowRule.create_time:type_name -> google.protobuf.Timestamp + 1, // 5: temporal.api.rules.v1.WorkflowRule.spec:type_name -> temporal.api.rules.v1.WorkflowRuleSpec + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_temporal_api_rules_v1_message_proto_init() } +func file_temporal_api_rules_v1_message_proto_init() { + if File_temporal_api_rules_v1_message_proto != nil { + return + } + file_temporal_api_rules_v1_message_proto_msgTypes[0].OneofWrappers = []any{ + (*WorkflowRuleAction_ActivityPause)(nil), + } + file_temporal_api_rules_v1_message_proto_msgTypes[1].OneofWrappers = []any{ + (*WorkflowRuleSpec_ActivityStart)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_rules_v1_message_proto_rawDesc), len(file_temporal_api_rules_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_rules_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_rules_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_rules_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_rules_v1_message_proto = out.File + file_temporal_api_rules_v1_message_proto_goTypes = nil + file_temporal_api_rules_v1_message_proto_depIdxs = nil +} diff --git a/api_next/schedule/v1/message.go-helpers.pb.go b/api_next/schedule/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..d8ab939d --- /dev/null +++ b/api_next/schedule/v1/message.go-helpers.pb.go @@ -0,0 +1,598 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package schedule + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type CalendarSpec to the protobuf v3 wire format +func (val *CalendarSpec) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CalendarSpec from the protobuf v3 wire format +func (val *CalendarSpec) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CalendarSpec) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CalendarSpec values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CalendarSpec) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CalendarSpec + switch t := that.(type) { + case *CalendarSpec: + that1 = t + case CalendarSpec: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Range to the protobuf v3 wire format +func (val *Range) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Range from the protobuf v3 wire format +func (val *Range) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Range) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Range values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Range) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Range + switch t := that.(type) { + case *Range: + that1 = t + case Range: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StructuredCalendarSpec to the protobuf v3 wire format +func (val *StructuredCalendarSpec) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StructuredCalendarSpec from the protobuf v3 wire format +func (val *StructuredCalendarSpec) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StructuredCalendarSpec) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StructuredCalendarSpec values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StructuredCalendarSpec) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StructuredCalendarSpec + switch t := that.(type) { + case *StructuredCalendarSpec: + that1 = t + case StructuredCalendarSpec: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type IntervalSpec to the protobuf v3 wire format +func (val *IntervalSpec) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type IntervalSpec from the protobuf v3 wire format +func (val *IntervalSpec) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *IntervalSpec) Size() int { + return proto.Size(val) +} + +// Equal returns whether two IntervalSpec values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *IntervalSpec) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *IntervalSpec + switch t := that.(type) { + case *IntervalSpec: + that1 = t + case IntervalSpec: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScheduleSpec to the protobuf v3 wire format +func (val *ScheduleSpec) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScheduleSpec from the protobuf v3 wire format +func (val *ScheduleSpec) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScheduleSpec) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScheduleSpec values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScheduleSpec) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScheduleSpec + switch t := that.(type) { + case *ScheduleSpec: + that1 = t + case ScheduleSpec: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SchedulePolicies to the protobuf v3 wire format +func (val *SchedulePolicies) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SchedulePolicies from the protobuf v3 wire format +func (val *SchedulePolicies) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SchedulePolicies) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SchedulePolicies values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SchedulePolicies) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SchedulePolicies + switch t := that.(type) { + case *SchedulePolicies: + that1 = t + case SchedulePolicies: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScheduleAction to the protobuf v3 wire format +func (val *ScheduleAction) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScheduleAction from the protobuf v3 wire format +func (val *ScheduleAction) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScheduleAction) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScheduleAction values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScheduleAction) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScheduleAction + switch t := that.(type) { + case *ScheduleAction: + that1 = t + case ScheduleAction: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScheduleActionResult to the protobuf v3 wire format +func (val *ScheduleActionResult) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScheduleActionResult from the protobuf v3 wire format +func (val *ScheduleActionResult) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScheduleActionResult) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScheduleActionResult values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScheduleActionResult) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScheduleActionResult + switch t := that.(type) { + case *ScheduleActionResult: + that1 = t + case ScheduleActionResult: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScheduleState to the protobuf v3 wire format +func (val *ScheduleState) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScheduleState from the protobuf v3 wire format +func (val *ScheduleState) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScheduleState) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScheduleState values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScheduleState) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScheduleState + switch t := that.(type) { + case *ScheduleState: + that1 = t + case ScheduleState: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TriggerImmediatelyRequest to the protobuf v3 wire format +func (val *TriggerImmediatelyRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TriggerImmediatelyRequest from the protobuf v3 wire format +func (val *TriggerImmediatelyRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TriggerImmediatelyRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TriggerImmediatelyRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TriggerImmediatelyRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TriggerImmediatelyRequest + switch t := that.(type) { + case *TriggerImmediatelyRequest: + that1 = t + case TriggerImmediatelyRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BackfillRequest to the protobuf v3 wire format +func (val *BackfillRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BackfillRequest from the protobuf v3 wire format +func (val *BackfillRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BackfillRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BackfillRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BackfillRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BackfillRequest + switch t := that.(type) { + case *BackfillRequest: + that1 = t + case BackfillRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SchedulePatch to the protobuf v3 wire format +func (val *SchedulePatch) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SchedulePatch from the protobuf v3 wire format +func (val *SchedulePatch) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SchedulePatch) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SchedulePatch values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SchedulePatch) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SchedulePatch + switch t := that.(type) { + case *SchedulePatch: + that1 = t + case SchedulePatch: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScheduleInfo to the protobuf v3 wire format +func (val *ScheduleInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScheduleInfo from the protobuf v3 wire format +func (val *ScheduleInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScheduleInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScheduleInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScheduleInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScheduleInfo + switch t := that.(type) { + case *ScheduleInfo: + that1 = t + case ScheduleInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Schedule to the protobuf v3 wire format +func (val *Schedule) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Schedule from the protobuf v3 wire format +func (val *Schedule) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Schedule) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Schedule values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Schedule) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Schedule + switch t := that.(type) { + case *Schedule: + that1 = t + case Schedule: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScheduleListInfo to the protobuf v3 wire format +func (val *ScheduleListInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScheduleListInfo from the protobuf v3 wire format +func (val *ScheduleListInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScheduleListInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScheduleListInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScheduleListInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScheduleListInfo + switch t := that.(type) { + case *ScheduleListInfo: + that1 = t + case ScheduleListInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScheduleListEntry to the protobuf v3 wire format +func (val *ScheduleListEntry) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScheduleListEntry from the protobuf v3 wire format +func (val *ScheduleListEntry) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScheduleListEntry) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScheduleListEntry values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScheduleListEntry) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScheduleListEntry + switch t := that.(type) { + case *ScheduleListEntry: + that1 = t + case ScheduleListEntry: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/schedule/v1/message.pb.go b/api_next/schedule/v1/message.pb.go new file mode 100644 index 00000000..3601c8cf --- /dev/null +++ b/api_next/schedule/v1/message.pb.go @@ -0,0 +1,1721 @@ +// (-- api-linter: core::0203::optional=disabled +// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --) +// (-- api-linter: core::0203::input-only=disabled +// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --) + +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/schedule/v1/message.proto + +package schedule + +import ( + v12 "go.temporal.io/api/common/v1" + v1 "go.temporal.io/api/enums/v1" + v11 "go.temporal.io/api/workflow/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// CalendarSpec describes an event specification relative to the calendar, +// similar to a traditional cron specification, but with labeled fields. Each +// field can be one of: +// +// *: matches always +// x: matches when the field equals x +// x/y : matches when the field equals x+n*y where n is an integer +// x-z: matches when the field is between x and z inclusive +// w,x,y,...: matches when the field is one of the listed values +// +// Each x, y, z, ... is either a decimal integer, or a month or day of week name +// or abbreviation (in the appropriate fields). +// A timestamp matches if all fields match. +// Note that fields have different default values, for convenience. +// Note that the special case that some cron implementations have for treating +// day_of_month and day_of_week as "or" instead of "and" when both are set is +// not implemented. +// day_of_week can accept 0 or 7 as Sunday +// CalendarSpec gets compiled into StructuredCalendarSpec, which is what will be +// returned if you describe the schedule. +type CalendarSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Expression to match seconds. Default: 0 + Second string `protobuf:"bytes,1,opt,name=second,proto3" json:"second,omitempty"` + // Expression to match minutes. Default: 0 + Minute string `protobuf:"bytes,2,opt,name=minute,proto3" json:"minute,omitempty"` + // Expression to match hours. Default: 0 + Hour string `protobuf:"bytes,3,opt,name=hour,proto3" json:"hour,omitempty"` + // Expression to match days of the month. Default: * + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: standard name of field --) + DayOfMonth string `protobuf:"bytes,4,opt,name=day_of_month,json=dayOfMonth,proto3" json:"day_of_month,omitempty"` + // Expression to match months. Default: * + Month string `protobuf:"bytes,5,opt,name=month,proto3" json:"month,omitempty"` + // Expression to match years. Default: * + Year string `protobuf:"bytes,6,opt,name=year,proto3" json:"year,omitempty"` + // Expression to match days of the week. Default: * + DayOfWeek string `protobuf:"bytes,7,opt,name=day_of_week,json=dayOfWeek,proto3" json:"day_of_week,omitempty"` + // Free-form comment describing the intention of this spec. + Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CalendarSpec) Reset() { + *x = CalendarSpec{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CalendarSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CalendarSpec) ProtoMessage() {} + +func (x *CalendarSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CalendarSpec.ProtoReflect.Descriptor instead. +func (*CalendarSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *CalendarSpec) GetSecond() string { + if x != nil { + return x.Second + } + return "" +} + +func (x *CalendarSpec) GetMinute() string { + if x != nil { + return x.Minute + } + return "" +} + +func (x *CalendarSpec) GetHour() string { + if x != nil { + return x.Hour + } + return "" +} + +func (x *CalendarSpec) GetDayOfMonth() string { + if x != nil { + return x.DayOfMonth + } + return "" +} + +func (x *CalendarSpec) GetMonth() string { + if x != nil { + return x.Month + } + return "" +} + +func (x *CalendarSpec) GetYear() string { + if x != nil { + return x.Year + } + return "" +} + +func (x *CalendarSpec) GetDayOfWeek() string { + if x != nil { + return x.DayOfWeek + } + return "" +} + +func (x *CalendarSpec) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +// Range represents a set of integer values, used to match fields of a calendar +// time in StructuredCalendarSpec. If end < start, then end is interpreted as +// equal to start. This means you can use a Range with start set to a value, and +// end and step unset (defaulting to 0) to represent a single value. +type Range struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Start of range (inclusive). + Start int32 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"` + // End of range (inclusive). + End int32 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"` + // Step (optional, default 1). + Step int32 `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Range) Reset() { + *x = Range{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Range) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Range) ProtoMessage() {} + +func (x *Range) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Range.ProtoReflect.Descriptor instead. +func (*Range) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *Range) GetStart() int32 { + if x != nil { + return x.Start + } + return 0 +} + +func (x *Range) GetEnd() int32 { + if x != nil { + return x.End + } + return 0 +} + +func (x *Range) GetStep() int32 { + if x != nil { + return x.Step + } + return 0 +} + +// StructuredCalendarSpec describes an event specification relative to the +// calendar, in a form that's easy to work with programmatically. Each field can +// be one or more ranges. +// A timestamp matches if at least one range of each field matches the +// corresponding fields of the timestamp, except for year: if year is missing, +// that means all years match. For all fields besides year, at least one Range +// must be present to match anything. +// Relative expressions such as "last day of the month" or "third Monday" are not currently +// representable; callers must enumerate the concrete days they require. +type StructuredCalendarSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Match seconds (0-59) + Second []*Range `protobuf:"bytes,1,rep,name=second,proto3" json:"second,omitempty"` + // Match minutes (0-59) + Minute []*Range `protobuf:"bytes,2,rep,name=minute,proto3" json:"minute,omitempty"` + // Match hours (0-23) + Hour []*Range `protobuf:"bytes,3,rep,name=hour,proto3" json:"hour,omitempty"` + // Match days of the month (1-31) + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: standard name of field --) + DayOfMonth []*Range `protobuf:"bytes,4,rep,name=day_of_month,json=dayOfMonth,proto3" json:"day_of_month,omitempty"` + // Match months (1-12) + Month []*Range `protobuf:"bytes,5,rep,name=month,proto3" json:"month,omitempty"` + // Match years. + Year []*Range `protobuf:"bytes,6,rep,name=year,proto3" json:"year,omitempty"` + // Match days of the week (0-6; 0 is Sunday). + DayOfWeek []*Range `protobuf:"bytes,7,rep,name=day_of_week,json=dayOfWeek,proto3" json:"day_of_week,omitempty"` + // Free-form comment describing the intention of this spec. + Comment string `protobuf:"bytes,8,opt,name=comment,proto3" json:"comment,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StructuredCalendarSpec) Reset() { + *x = StructuredCalendarSpec{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StructuredCalendarSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StructuredCalendarSpec) ProtoMessage() {} + +func (x *StructuredCalendarSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StructuredCalendarSpec.ProtoReflect.Descriptor instead. +func (*StructuredCalendarSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *StructuredCalendarSpec) GetSecond() []*Range { + if x != nil { + return x.Second + } + return nil +} + +func (x *StructuredCalendarSpec) GetMinute() []*Range { + if x != nil { + return x.Minute + } + return nil +} + +func (x *StructuredCalendarSpec) GetHour() []*Range { + if x != nil { + return x.Hour + } + return nil +} + +func (x *StructuredCalendarSpec) GetDayOfMonth() []*Range { + if x != nil { + return x.DayOfMonth + } + return nil +} + +func (x *StructuredCalendarSpec) GetMonth() []*Range { + if x != nil { + return x.Month + } + return nil +} + +func (x *StructuredCalendarSpec) GetYear() []*Range { + if x != nil { + return x.Year + } + return nil +} + +func (x *StructuredCalendarSpec) GetDayOfWeek() []*Range { + if x != nil { + return x.DayOfWeek + } + return nil +} + +func (x *StructuredCalendarSpec) GetComment() string { + if x != nil { + return x.Comment + } + return "" +} + +// IntervalSpec matches times that can be expressed as: +// epoch + n * interval + phase +// where n is an integer. +// phase defaults to zero if missing. interval is required. +// Both interval and phase must be non-negative and are truncated to the nearest +// second before any calculations. +// For example, an interval of 1 hour with phase of zero would match every hour, +// on the hour. The same interval but a phase of 19 minutes would match every +// xx:19:00. An interval of 28 days with phase zero would match +// 2022-02-17T00:00:00Z (among other times). The same interval with a phase of 3 +// days, 5 hours, and 23 minutes would match 2022-02-20T05:23:00Z instead. +type IntervalSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + Interval *durationpb.Duration `protobuf:"bytes,1,opt,name=interval,proto3" json:"interval,omitempty"` + Phase *durationpb.Duration `protobuf:"bytes,2,opt,name=phase,proto3" json:"phase,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *IntervalSpec) Reset() { + *x = IntervalSpec{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *IntervalSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*IntervalSpec) ProtoMessage() {} + +func (x *IntervalSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use IntervalSpec.ProtoReflect.Descriptor instead. +func (*IntervalSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *IntervalSpec) GetInterval() *durationpb.Duration { + if x != nil { + return x.Interval + } + return nil +} + +func (x *IntervalSpec) GetPhase() *durationpb.Duration { + if x != nil { + return x.Phase + } + return nil +} + +// ScheduleSpec is a complete description of a set of absolute timestamps +// (possibly infinite) that an action should occur at. The meaning of a +// ScheduleSpec depends only on its contents and never changes, except that the +// definition of a time zone can change over time (most commonly, when daylight +// saving time policy changes for an area). To create a totally self-contained +// ScheduleSpec, use UTC or include timezone_data. +// +// For input, you can provide zero or more of: structured_calendar, calendar, +// cron_string, interval, and exclude_structured_calendar, and all of them will +// be used (the schedule will take action at the union of all of their times, +// minus the ones that match exclude_structured_calendar). +// +// On input, calendar and cron_string fields will be compiled into +// structured_calendar (and maybe interval and timezone_name), so if you +// Describe a schedule, you'll see only structured_calendar, interval, etc. +// +// If a spec has no matching times after the current time, then the schedule +// will be subject to automatic deletion (after several days). +type ScheduleSpec struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Calendar-based specifications of times. + StructuredCalendar []*StructuredCalendarSpec `protobuf:"bytes,7,rep,name=structured_calendar,json=structuredCalendar,proto3" json:"structured_calendar,omitempty"` + // cron_string holds a traditional cron specification as a string. It + // accepts 5, 6, or 7 fields, separated by spaces, and interprets them the + // same way as CalendarSpec. + // 5 fields: minute, hour, day_of_month, month, day_of_week + // 6 fields: minute, hour, day_of_month, month, day_of_week, year + // 7 fields: second, minute, hour, day_of_month, month, day_of_week, year + // If year is not given, it defaults to *. If second is not given, it + // defaults to 0. + // Shorthands @yearly, @monthly, @weekly, @daily, and @hourly are also + // accepted instead of the 5-7 time fields. + // Optionally, the string can be preceded by CRON_TZ= or + // TZ=, which will get copied to timezone_name. (There must + // not also be a timezone_name present.) + // Optionally "#" followed by a comment can appear at the end of the string. + // Note that the special case that some cron implementations have for + // treating day_of_month and day_of_week as "or" instead of "and" when both + // are set is not implemented. + // @every [/] is accepted and gets compiled into an + // IntervalSpec instead. and should be a decimal integer + // with a unit suffix s, m, h, or d. + CronString []string `protobuf:"bytes,8,rep,name=cron_string,json=cronString,proto3" json:"cron_string,omitempty"` + // Calendar-based specifications of times. + Calendar []*CalendarSpec `protobuf:"bytes,1,rep,name=calendar,proto3" json:"calendar,omitempty"` + // Interval-based specifications of times. + Interval []*IntervalSpec `protobuf:"bytes,2,rep,name=interval,proto3" json:"interval,omitempty"` + // Any timestamps matching any of exclude_* will be skipped. + // Deprecated. Use exclude_structured_calendar. + // + // Deprecated: Marked as deprecated in temporal/api/schedule/v1/message.proto. + ExcludeCalendar []*CalendarSpec `protobuf:"bytes,3,rep,name=exclude_calendar,json=excludeCalendar,proto3" json:"exclude_calendar,omitempty"` + ExcludeStructuredCalendar []*StructuredCalendarSpec `protobuf:"bytes,9,rep,name=exclude_structured_calendar,json=excludeStructuredCalendar,proto3" json:"exclude_structured_calendar,omitempty"` + // If start_time is set, any timestamps before start_time will be skipped. + // (Together, start_time and end_time make an inclusive interval.) + StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // If end_time is set, any timestamps after end_time will be skipped. + EndTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // All timestamps will be incremented by a random value from 0 to this + // amount of jitter. Default: 0 + Jitter *durationpb.Duration `protobuf:"bytes,6,opt,name=jitter,proto3" json:"jitter,omitempty"` + // Time zone to interpret all calendar-based specs in. + // + // If unset, defaults to UTC. We recommend using UTC for your application if + // at all possible, to avoid various surprising properties of time zones. + // + // Time zones may be provided by name, corresponding to names in the IANA + // time zone database (see https://www.iana.org/time-zones). The definition + // will be loaded by the Temporal server from the environment it runs in. + // + // If your application requires more control over the time zone definition + // used, it may pass in a complete definition in the form of a TZif file + // from the time zone database. If present, this will be used instead of + // loading anything from the environment. You are then responsible for + // updating timezone_data when the definition changes. + // + // Calendar spec matching is based on literal matching of the clock time + // with no special handling of DST: if you write a calendar spec that fires + // at 2:30am and specify a time zone that follows DST, that action will not + // be triggered on the day that has no 2:30am. Similarly, an action that + // fires at 1:30am will be triggered twice on the day that has two 1:30s. + // + // Also note that no actions are taken on leap-seconds (e.g. 23:59:60 UTC). + TimezoneName string `protobuf:"bytes,10,opt,name=timezone_name,json=timezoneName,proto3" json:"timezone_name,omitempty"` + TimezoneData []byte `protobuf:"bytes,11,opt,name=timezone_data,json=timezoneData,proto3" json:"timezone_data,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleSpec) Reset() { + *x = ScheduleSpec{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleSpec) ProtoMessage() {} + +func (x *ScheduleSpec) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleSpec.ProtoReflect.Descriptor instead. +func (*ScheduleSpec) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *ScheduleSpec) GetStructuredCalendar() []*StructuredCalendarSpec { + if x != nil { + return x.StructuredCalendar + } + return nil +} + +func (x *ScheduleSpec) GetCronString() []string { + if x != nil { + return x.CronString + } + return nil +} + +func (x *ScheduleSpec) GetCalendar() []*CalendarSpec { + if x != nil { + return x.Calendar + } + return nil +} + +func (x *ScheduleSpec) GetInterval() []*IntervalSpec { + if x != nil { + return x.Interval + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/schedule/v1/message.proto. +func (x *ScheduleSpec) GetExcludeCalendar() []*CalendarSpec { + if x != nil { + return x.ExcludeCalendar + } + return nil +} + +func (x *ScheduleSpec) GetExcludeStructuredCalendar() []*StructuredCalendarSpec { + if x != nil { + return x.ExcludeStructuredCalendar + } + return nil +} + +func (x *ScheduleSpec) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *ScheduleSpec) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *ScheduleSpec) GetJitter() *durationpb.Duration { + if x != nil { + return x.Jitter + } + return nil +} + +func (x *ScheduleSpec) GetTimezoneName() string { + if x != nil { + return x.TimezoneName + } + return "" +} + +func (x *ScheduleSpec) GetTimezoneData() []byte { + if x != nil { + return x.TimezoneData + } + return nil +} + +type SchedulePolicies struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Policy for overlaps. + // Note that this can be changed after a schedule has taken some actions, + // and some changes might produce unintuitive results. In general, the later + // policy overrides the earlier policy. + OverlapPolicy v1.ScheduleOverlapPolicy `protobuf:"varint,1,opt,name=overlap_policy,json=overlapPolicy,proto3,enum=temporal.api.enums.v1.ScheduleOverlapPolicy" json:"overlap_policy,omitempty"` + // Policy for catchups: + // If the Temporal server misses an action due to one or more components + // being down, and comes back up, the action will be run if the scheduled + // time is within this window from the current time. + // This value defaults to one year, and can't be less than 10 seconds. + CatchupWindow *durationpb.Duration `protobuf:"bytes,2,opt,name=catchup_window,json=catchupWindow,proto3" json:"catchup_window,omitempty"` + // If true, and a workflow run fails or times out, turn on "paused". + // This applies after retry policies: the full chain of retries must fail to + // trigger a pause here. + PauseOnFailure bool `protobuf:"varint,3,opt,name=pause_on_failure,json=pauseOnFailure,proto3" json:"pause_on_failure,omitempty"` + // If true, and the action would start a workflow, a timestamp will not be + // appended to the scheduled workflow id. + KeepOriginalWorkflowId bool `protobuf:"varint,4,opt,name=keep_original_workflow_id,json=keepOriginalWorkflowId,proto3" json:"keep_original_workflow_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SchedulePolicies) Reset() { + *x = SchedulePolicies{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SchedulePolicies) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SchedulePolicies) ProtoMessage() {} + +func (x *SchedulePolicies) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SchedulePolicies.ProtoReflect.Descriptor instead. +func (*SchedulePolicies) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *SchedulePolicies) GetOverlapPolicy() v1.ScheduleOverlapPolicy { + if x != nil { + return x.OverlapPolicy + } + return v1.ScheduleOverlapPolicy(0) +} + +func (x *SchedulePolicies) GetCatchupWindow() *durationpb.Duration { + if x != nil { + return x.CatchupWindow + } + return nil +} + +func (x *SchedulePolicies) GetPauseOnFailure() bool { + if x != nil { + return x.PauseOnFailure + } + return false +} + +func (x *SchedulePolicies) GetKeepOriginalWorkflowId() bool { + if x != nil { + return x.KeepOriginalWorkflowId + } + return false +} + +type ScheduleAction struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Action: + // + // *ScheduleAction_StartWorkflow + Action isScheduleAction_Action `protobuf_oneof:"action"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleAction) Reset() { + *x = ScheduleAction{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleAction) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleAction) ProtoMessage() {} + +func (x *ScheduleAction) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleAction.ProtoReflect.Descriptor instead. +func (*ScheduleAction) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *ScheduleAction) GetAction() isScheduleAction_Action { + if x != nil { + return x.Action + } + return nil +} + +func (x *ScheduleAction) GetStartWorkflow() *v11.NewWorkflowExecutionInfo { + if x != nil { + if x, ok := x.Action.(*ScheduleAction_StartWorkflow); ok { + return x.StartWorkflow + } + } + return nil +} + +type isScheduleAction_Action interface { + isScheduleAction_Action() +} + +type ScheduleAction_StartWorkflow struct { + // All fields of NewWorkflowExecutionInfo are valid except for: + // - workflow_id_reuse_policy + // - cron_schedule + // The workflow id of the started workflow may not match this exactly, + // it may have a timestamp appended for uniqueness. + StartWorkflow *v11.NewWorkflowExecutionInfo `protobuf:"bytes,1,opt,name=start_workflow,json=startWorkflow,proto3,oneof"` +} + +func (*ScheduleAction_StartWorkflow) isScheduleAction_Action() {} + +type ScheduleActionResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Time that the action was taken (according to the schedule, including jitter). + ScheduleTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=schedule_time,json=scheduleTime,proto3" json:"schedule_time,omitempty"` + // Time that the action was taken (real time). + ActualTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=actual_time,json=actualTime,proto3" json:"actual_time,omitempty"` + // If action was start_workflow: + StartWorkflowResult *v12.WorkflowExecution `protobuf:"bytes,11,opt,name=start_workflow_result,json=startWorkflowResult,proto3" json:"start_workflow_result,omitempty"` + // If the action was start_workflow, this field will reflect an + // eventually-consistent view of the started workflow's status. + StartWorkflowStatus v1.WorkflowExecutionStatus `protobuf:"varint,12,opt,name=start_workflow_status,json=startWorkflowStatus,proto3,enum=temporal.api.enums.v1.WorkflowExecutionStatus" json:"start_workflow_status,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleActionResult) Reset() { + *x = ScheduleActionResult{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleActionResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleActionResult) ProtoMessage() {} + +func (x *ScheduleActionResult) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleActionResult.ProtoReflect.Descriptor instead. +func (*ScheduleActionResult) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *ScheduleActionResult) GetScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduleTime + } + return nil +} + +func (x *ScheduleActionResult) GetActualTime() *timestamppb.Timestamp { + if x != nil { + return x.ActualTime + } + return nil +} + +func (x *ScheduleActionResult) GetStartWorkflowResult() *v12.WorkflowExecution { + if x != nil { + return x.StartWorkflowResult + } + return nil +} + +func (x *ScheduleActionResult) GetStartWorkflowStatus() v1.WorkflowExecutionStatus { + if x != nil { + return x.StartWorkflowStatus + } + return v1.WorkflowExecutionStatus(0) +} + +type ScheduleState struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Informative human-readable message with contextual notes, e.g. the reason + // a schedule is paused. The system may overwrite this message on certain + // conditions, e.g. when pause-on-failure happens. + Notes string `protobuf:"bytes,1,opt,name=notes,proto3" json:"notes,omitempty"` + // If true, do not take any actions based on the schedule spec. + Paused bool `protobuf:"varint,2,opt,name=paused,proto3" json:"paused,omitempty"` + // If limited_actions is true, decrement remaining_actions after each + // action, and do not take any more scheduled actions if remaining_actions + // is zero. Actions may still be taken by explicit request (i.e. trigger + // immediately or backfill). Skipped actions (due to overlap policy) do not + // count against remaining actions. + // If a schedule has no more remaining actions, then the schedule will be + // subject to automatic deletion (after several days). + LimitedActions bool `protobuf:"varint,3,opt,name=limited_actions,json=limitedActions,proto3" json:"limited_actions,omitempty"` + RemainingActions int64 `protobuf:"varint,4,opt,name=remaining_actions,json=remainingActions,proto3" json:"remaining_actions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleState) Reset() { + *x = ScheduleState{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleState) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleState) ProtoMessage() {} + +func (x *ScheduleState) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleState.ProtoReflect.Descriptor instead. +func (*ScheduleState) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *ScheduleState) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +func (x *ScheduleState) GetPaused() bool { + if x != nil { + return x.Paused + } + return false +} + +func (x *ScheduleState) GetLimitedActions() bool { + if x != nil { + return x.LimitedActions + } + return false +} + +func (x *ScheduleState) GetRemainingActions() int64 { + if x != nil { + return x.RemainingActions + } + return 0 +} + +type TriggerImmediatelyRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If set, override overlap policy for this one request. + OverlapPolicy v1.ScheduleOverlapPolicy `protobuf:"varint,1,opt,name=overlap_policy,json=overlapPolicy,proto3,enum=temporal.api.enums.v1.ScheduleOverlapPolicy" json:"overlap_policy,omitempty"` + // Timestamp used for the identity of the target workflow. + // If not set the default value is the current time. + ScheduledTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=scheduled_time,json=scheduledTime,proto3" json:"scheduled_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TriggerImmediatelyRequest) Reset() { + *x = TriggerImmediatelyRequest{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TriggerImmediatelyRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerImmediatelyRequest) ProtoMessage() {} + +func (x *TriggerImmediatelyRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerImmediatelyRequest.ProtoReflect.Descriptor instead. +func (*TriggerImmediatelyRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *TriggerImmediatelyRequest) GetOverlapPolicy() v1.ScheduleOverlapPolicy { + if x != nil { + return x.OverlapPolicy + } + return v1.ScheduleOverlapPolicy(0) +} + +func (x *TriggerImmediatelyRequest) GetScheduledTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledTime + } + return nil +} + +type BackfillRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Time range to evaluate schedule in. Currently, this time range is + // exclusive on start_time and inclusive on end_time. (This is admittedly + // counterintuitive and it may change in the future, so to be safe, use a + // start time strictly before a scheduled time.) Also note that an action + // nominally scheduled in the interval but with jitter that pushes it after + // end_time will not be included. + StartTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + // If set, override overlap policy for this request. + OverlapPolicy v1.ScheduleOverlapPolicy `protobuf:"varint,3,opt,name=overlap_policy,json=overlapPolicy,proto3,enum=temporal.api.enums.v1.ScheduleOverlapPolicy" json:"overlap_policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BackfillRequest) Reset() { + *x = BackfillRequest{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BackfillRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BackfillRequest) ProtoMessage() {} + +func (x *BackfillRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BackfillRequest.ProtoReflect.Descriptor instead. +func (*BackfillRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *BackfillRequest) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *BackfillRequest) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +func (x *BackfillRequest) GetOverlapPolicy() v1.ScheduleOverlapPolicy { + if x != nil { + return x.OverlapPolicy + } + return v1.ScheduleOverlapPolicy(0) +} + +type SchedulePatch struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If set, trigger one action immediately. + TriggerImmediately *TriggerImmediatelyRequest `protobuf:"bytes,1,opt,name=trigger_immediately,json=triggerImmediately,proto3" json:"trigger_immediately,omitempty"` + // If set, runs though the specified time period(s) and takes actions as if that time + // passed by right now, all at once. The overlap policy can be overridden for the + // scope of the backfill. + BackfillRequest []*BackfillRequest `protobuf:"bytes,2,rep,name=backfill_request,json=backfillRequest,proto3" json:"backfill_request,omitempty"` + // If set, change the state to paused or unpaused (respectively) and set the + // notes field to the value of the string. + Pause string `protobuf:"bytes,3,opt,name=pause,proto3" json:"pause,omitempty"` + Unpause string `protobuf:"bytes,4,opt,name=unpause,proto3" json:"unpause,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SchedulePatch) Reset() { + *x = SchedulePatch{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SchedulePatch) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SchedulePatch) ProtoMessage() {} + +func (x *SchedulePatch) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SchedulePatch.ProtoReflect.Descriptor instead. +func (*SchedulePatch) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{11} +} + +func (x *SchedulePatch) GetTriggerImmediately() *TriggerImmediatelyRequest { + if x != nil { + return x.TriggerImmediately + } + return nil +} + +func (x *SchedulePatch) GetBackfillRequest() []*BackfillRequest { + if x != nil { + return x.BackfillRequest + } + return nil +} + +func (x *SchedulePatch) GetPause() string { + if x != nil { + return x.Pause + } + return "" +} + +func (x *SchedulePatch) GetUnpause() string { + if x != nil { + return x.Unpause + } + return "" +} + +type ScheduleInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Number of actions taken so far. + ActionCount int64 `protobuf:"varint,1,opt,name=action_count,json=actionCount,proto3" json:"action_count,omitempty"` + // Number of times a scheduled action was skipped due to missing the catchup window. + MissedCatchupWindow int64 `protobuf:"varint,2,opt,name=missed_catchup_window,json=missedCatchupWindow,proto3" json:"missed_catchup_window,omitempty"` + // Number of skipped actions due to overlap. + OverlapSkipped int64 `protobuf:"varint,3,opt,name=overlap_skipped,json=overlapSkipped,proto3" json:"overlap_skipped,omitempty"` + // Number of dropped actions due to buffer limit. + BufferDropped int64 `protobuf:"varint,10,opt,name=buffer_dropped,json=bufferDropped,proto3" json:"buffer_dropped,omitempty"` + // Number of actions in the buffer. The buffer holds the actions that cannot + // be immediately triggered (due to the overlap policy). These actions can be a result of + // the normal schedule or a backfill. + BufferSize int64 `protobuf:"varint,11,opt,name=buffer_size,json=bufferSize,proto3" json:"buffer_size,omitempty"` + // Currently-running workflows started by this schedule. (There might be + // more than one if the overlap policy allows overlaps.) + // Note that the run_ids in here are the original execution run ids as + // started by the schedule. If the workflows retried, did continue-as-new, + // or were reset, they might still be running but with a different run_id. + RunningWorkflows []*v12.WorkflowExecution `protobuf:"bytes,9,rep,name=running_workflows,json=runningWorkflows,proto3" json:"running_workflows,omitempty"` + // Most recent ten actual action times (including manual triggers). + RecentActions []*ScheduleActionResult `protobuf:"bytes,4,rep,name=recent_actions,json=recentActions,proto3" json:"recent_actions,omitempty"` + // Next ten scheduled action times. + FutureActionTimes []*timestamppb.Timestamp `protobuf:"bytes,5,rep,name=future_action_times,json=futureActionTimes,proto3" json:"future_action_times,omitempty"` + // Timestamps of schedule creation and last update. + CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/schedule/v1/message.proto. + InvalidScheduleError string `protobuf:"bytes,8,opt,name=invalid_schedule_error,json=invalidScheduleError,proto3" json:"invalid_schedule_error,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleInfo) Reset() { + *x = ScheduleInfo{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleInfo) ProtoMessage() {} + +func (x *ScheduleInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleInfo.ProtoReflect.Descriptor instead. +func (*ScheduleInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{12} +} + +func (x *ScheduleInfo) GetActionCount() int64 { + if x != nil { + return x.ActionCount + } + return 0 +} + +func (x *ScheduleInfo) GetMissedCatchupWindow() int64 { + if x != nil { + return x.MissedCatchupWindow + } + return 0 +} + +func (x *ScheduleInfo) GetOverlapSkipped() int64 { + if x != nil { + return x.OverlapSkipped + } + return 0 +} + +func (x *ScheduleInfo) GetBufferDropped() int64 { + if x != nil { + return x.BufferDropped + } + return 0 +} + +func (x *ScheduleInfo) GetBufferSize() int64 { + if x != nil { + return x.BufferSize + } + return 0 +} + +func (x *ScheduleInfo) GetRunningWorkflows() []*v12.WorkflowExecution { + if x != nil { + return x.RunningWorkflows + } + return nil +} + +func (x *ScheduleInfo) GetRecentActions() []*ScheduleActionResult { + if x != nil { + return x.RecentActions + } + return nil +} + +func (x *ScheduleInfo) GetFutureActionTimes() []*timestamppb.Timestamp { + if x != nil { + return x.FutureActionTimes + } + return nil +} + +func (x *ScheduleInfo) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ScheduleInfo) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/schedule/v1/message.proto. +func (x *ScheduleInfo) GetInvalidScheduleError() string { + if x != nil { + return x.InvalidScheduleError + } + return "" +} + +type Schedule struct { + state protoimpl.MessageState `protogen:"open.v1"` + Spec *ScheduleSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + Action *ScheduleAction `protobuf:"bytes,2,opt,name=action,proto3" json:"action,omitempty"` + Policies *SchedulePolicies `protobuf:"bytes,3,opt,name=policies,proto3" json:"policies,omitempty"` + State *ScheduleState `protobuf:"bytes,4,opt,name=state,proto3" json:"state,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Schedule) Reset() { + *x = Schedule{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Schedule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Schedule) ProtoMessage() {} + +func (x *Schedule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Schedule.ProtoReflect.Descriptor instead. +func (*Schedule) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{13} +} + +func (x *Schedule) GetSpec() *ScheduleSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *Schedule) GetAction() *ScheduleAction { + if x != nil { + return x.Action + } + return nil +} + +func (x *Schedule) GetPolicies() *SchedulePolicies { + if x != nil { + return x.Policies + } + return nil +} + +func (x *Schedule) GetState() *ScheduleState { + if x != nil { + return x.State + } + return nil +} + +// ScheduleListInfo is an abbreviated set of values from Schedule and ScheduleInfo +// that's returned in ListSchedules. +type ScheduleListInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // From spec: + // Some fields are dropped from this copy of spec: timezone_data + Spec *ScheduleSpec `protobuf:"bytes,1,opt,name=spec,proto3" json:"spec,omitempty"` + // From action: + // Action is a oneof field, but we need to encode this in JSON and oneof fields don't work + // well with JSON. If action is start_workflow, this is set: + WorkflowType *v12.WorkflowType `protobuf:"bytes,2,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // From state: + Notes string `protobuf:"bytes,3,opt,name=notes,proto3" json:"notes,omitempty"` + Paused bool `protobuf:"varint,4,opt,name=paused,proto3" json:"paused,omitempty"` + // From info (maybe fewer entries): + RecentActions []*ScheduleActionResult `protobuf:"bytes,5,rep,name=recent_actions,json=recentActions,proto3" json:"recent_actions,omitempty"` + FutureActionTimes []*timestamppb.Timestamp `protobuf:"bytes,6,rep,name=future_action_times,json=futureActionTimes,proto3" json:"future_action_times,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleListInfo) Reset() { + *x = ScheduleListInfo{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleListInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleListInfo) ProtoMessage() {} + +func (x *ScheduleListInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleListInfo.ProtoReflect.Descriptor instead. +func (*ScheduleListInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{14} +} + +func (x *ScheduleListInfo) GetSpec() *ScheduleSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *ScheduleListInfo) GetWorkflowType() *v12.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *ScheduleListInfo) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +func (x *ScheduleListInfo) GetPaused() bool { + if x != nil { + return x.Paused + } + return false +} + +func (x *ScheduleListInfo) GetRecentActions() []*ScheduleActionResult { + if x != nil { + return x.RecentActions + } + return nil +} + +func (x *ScheduleListInfo) GetFutureActionTimes() []*timestamppb.Timestamp { + if x != nil { + return x.FutureActionTimes + } + return nil +} + +// ScheduleListEntry is returned by ListSchedules. +type ScheduleListEntry struct { + state protoimpl.MessageState `protogen:"open.v1"` + ScheduleId string `protobuf:"bytes,1,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"` + Memo *v12.Memo `protobuf:"bytes,2,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v12.SearchAttributes `protobuf:"bytes,3,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + Info *ScheduleListInfo `protobuf:"bytes,4,opt,name=info,proto3" json:"info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScheduleListEntry) Reset() { + *x = ScheduleListEntry{} + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScheduleListEntry) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScheduleListEntry) ProtoMessage() {} + +func (x *ScheduleListEntry) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_schedule_v1_message_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScheduleListEntry.ProtoReflect.Descriptor instead. +func (*ScheduleListEntry) Descriptor() ([]byte, []int) { + return file_temporal_api_schedule_v1_message_proto_rawDescGZIP(), []int{15} +} + +func (x *ScheduleListEntry) GetScheduleId() string { + if x != nil { + return x.ScheduleId + } + return "" +} + +func (x *ScheduleListEntry) GetMemo() *v12.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *ScheduleListEntry) GetSearchAttributes() *v12.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *ScheduleListEntry) GetInfo() *ScheduleListInfo { + if x != nil { + return x.Info + } + return nil +} + +var File_temporal_api_schedule_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_schedule_v1_message_proto_rawDesc = "" + + "\n" + + "&temporal/api/schedule/v1/message.proto\x12\x18temporal.api.schedule.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a$temporal/api/common/v1/message.proto\x1a$temporal/api/enums/v1/schedule.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a&temporal/api/workflow/v1/message.proto\"\xd8\x01\n" + + "\fCalendarSpec\x12\x16\n" + + "\x06second\x18\x01 \x01(\tR\x06second\x12\x16\n" + + "\x06minute\x18\x02 \x01(\tR\x06minute\x12\x12\n" + + "\x04hour\x18\x03 \x01(\tR\x04hour\x12 \n" + + "\fday_of_month\x18\x04 \x01(\tR\n" + + "dayOfMonth\x12\x14\n" + + "\x05month\x18\x05 \x01(\tR\x05month\x12\x12\n" + + "\x04year\x18\x06 \x01(\tR\x04year\x12\x1e\n" + + "\vday_of_week\x18\a \x01(\tR\tdayOfWeek\x12\x18\n" + + "\acomment\x18\b \x01(\tR\acomment\"C\n" + + "\x05Range\x12\x14\n" + + "\x05start\x18\x01 \x01(\x05R\x05start\x12\x10\n" + + "\x03end\x18\x02 \x01(\x05R\x03end\x12\x12\n" + + "\x04step\x18\x03 \x01(\x05R\x04step\"\xc9\x03\n" + + "\x16StructuredCalendarSpec\x127\n" + + "\x06second\x18\x01 \x03(\v2\x1f.temporal.api.schedule.v1.RangeR\x06second\x127\n" + + "\x06minute\x18\x02 \x03(\v2\x1f.temporal.api.schedule.v1.RangeR\x06minute\x123\n" + + "\x04hour\x18\x03 \x03(\v2\x1f.temporal.api.schedule.v1.RangeR\x04hour\x12A\n" + + "\fday_of_month\x18\x04 \x03(\v2\x1f.temporal.api.schedule.v1.RangeR\n" + + "dayOfMonth\x125\n" + + "\x05month\x18\x05 \x03(\v2\x1f.temporal.api.schedule.v1.RangeR\x05month\x123\n" + + "\x04year\x18\x06 \x03(\v2\x1f.temporal.api.schedule.v1.RangeR\x04year\x12?\n" + + "\vday_of_week\x18\a \x03(\v2\x1f.temporal.api.schedule.v1.RangeR\tdayOfWeek\x12\x18\n" + + "\acomment\x18\b \x01(\tR\acomment\"v\n" + + "\fIntervalSpec\x125\n" + + "\binterval\x18\x01 \x01(\v2\x19.google.protobuf.DurationR\binterval\x12/\n" + + "\x05phase\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x05phase\"\xd2\x05\n" + + "\fScheduleSpec\x12a\n" + + "\x13structured_calendar\x18\a \x03(\v20.temporal.api.schedule.v1.StructuredCalendarSpecR\x12structuredCalendar\x12\x1f\n" + + "\vcron_string\x18\b \x03(\tR\n" + + "cronString\x12B\n" + + "\bcalendar\x18\x01 \x03(\v2&.temporal.api.schedule.v1.CalendarSpecR\bcalendar\x12B\n" + + "\binterval\x18\x02 \x03(\v2&.temporal.api.schedule.v1.IntervalSpecR\binterval\x12U\n" + + "\x10exclude_calendar\x18\x03 \x03(\v2&.temporal.api.schedule.v1.CalendarSpecB\x02\x18\x01R\x0fexcludeCalendar\x12p\n" + + "\x1bexclude_structured_calendar\x18\t \x03(\v20.temporal.api.schedule.v1.StructuredCalendarSpecR\x19excludeStructuredCalendar\x129\n" + + "\n" + + "start_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x125\n" + + "\bend_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\x121\n" + + "\x06jitter\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x06jitter\x12#\n" + + "\rtimezone_name\x18\n" + + " \x01(\tR\ftimezoneName\x12#\n" + + "\rtimezone_data\x18\v \x01(\fR\ftimezoneData\"\x8e\x02\n" + + "\x10SchedulePolicies\x12S\n" + + "\x0eoverlap_policy\x18\x01 \x01(\x0e2,.temporal.api.enums.v1.ScheduleOverlapPolicyR\roverlapPolicy\x12@\n" + + "\x0ecatchup_window\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\rcatchupWindow\x12(\n" + + "\x10pause_on_failure\x18\x03 \x01(\bR\x0epauseOnFailure\x129\n" + + "\x19keep_original_workflow_id\x18\x04 \x01(\bR\x16keepOriginalWorkflowId\"w\n" + + "\x0eScheduleAction\x12[\n" + + "\x0estart_workflow\x18\x01 \x01(\v22.temporal.api.workflow.v1.NewWorkflowExecutionInfoH\x00R\rstartWorkflowB\b\n" + + "\x06action\"\xd7\x02\n" + + "\x14ScheduleActionResult\x12?\n" + + "\rschedule_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\fscheduleTime\x12;\n" + + "\vactual_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "actualTime\x12]\n" + + "\x15start_workflow_result\x18\v \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x13startWorkflowResult\x12b\n" + + "\x15start_workflow_status\x18\f \x01(\x0e2..temporal.api.enums.v1.WorkflowExecutionStatusR\x13startWorkflowStatus\"\x93\x01\n" + + "\rScheduleState\x12\x14\n" + + "\x05notes\x18\x01 \x01(\tR\x05notes\x12\x16\n" + + "\x06paused\x18\x02 \x01(\bR\x06paused\x12'\n" + + "\x0flimited_actions\x18\x03 \x01(\bR\x0elimitedActions\x12+\n" + + "\x11remaining_actions\x18\x04 \x01(\x03R\x10remainingActions\"\xb3\x01\n" + + "\x19TriggerImmediatelyRequest\x12S\n" + + "\x0eoverlap_policy\x18\x01 \x01(\x0e2,.temporal.api.enums.v1.ScheduleOverlapPolicyR\roverlapPolicy\x12A\n" + + "\x0escheduled_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\rscheduledTime\"\xd8\x01\n" + + "\x0fBackfillRequest\x129\n" + + "\n" + + "start_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x125\n" + + "\bend_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\x12S\n" + + "\x0eoverlap_policy\x18\x03 \x01(\x0e2,.temporal.api.enums.v1.ScheduleOverlapPolicyR\roverlapPolicy\"\xfb\x01\n" + + "\rSchedulePatch\x12d\n" + + "\x13trigger_immediately\x18\x01 \x01(\v23.temporal.api.schedule.v1.TriggerImmediatelyRequestR\x12triggerImmediately\x12T\n" + + "\x10backfill_request\x18\x02 \x03(\v2).temporal.api.schedule.v1.BackfillRequestR\x0fbackfillRequest\x12\x14\n" + + "\x05pause\x18\x03 \x01(\tR\x05pause\x12\x18\n" + + "\aunpause\x18\x04 \x01(\tR\aunpause\"\x85\x05\n" + + "\fScheduleInfo\x12!\n" + + "\faction_count\x18\x01 \x01(\x03R\vactionCount\x122\n" + + "\x15missed_catchup_window\x18\x02 \x01(\x03R\x13missedCatchupWindow\x12'\n" + + "\x0foverlap_skipped\x18\x03 \x01(\x03R\x0eoverlapSkipped\x12%\n" + + "\x0ebuffer_dropped\x18\n" + + " \x01(\x03R\rbufferDropped\x12\x1f\n" + + "\vbuffer_size\x18\v \x01(\x03R\n" + + "bufferSize\x12V\n" + + "\x11running_workflows\x18\t \x03(\v2).temporal.api.common.v1.WorkflowExecutionR\x10runningWorkflows\x12U\n" + + "\x0erecent_actions\x18\x04 \x03(\v2..temporal.api.schedule.v1.ScheduleActionResultR\rrecentActions\x12J\n" + + "\x13future_action_times\x18\x05 \x03(\v2\x1a.google.protobuf.TimestampR\x11futureActionTimes\x12;\n" + + "\vcreate_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\x12;\n" + + "\vupdate_time\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "updateTime\x128\n" + + "\x16invalid_schedule_error\x18\b \x01(\tB\x02\x18\x01R\x14invalidScheduleError\"\x8f\x02\n" + + "\bSchedule\x12:\n" + + "\x04spec\x18\x01 \x01(\v2&.temporal.api.schedule.v1.ScheduleSpecR\x04spec\x12@\n" + + "\x06action\x18\x02 \x01(\v2(.temporal.api.schedule.v1.ScheduleActionR\x06action\x12F\n" + + "\bpolicies\x18\x03 \x01(\v2*.temporal.api.schedule.v1.SchedulePoliciesR\bpolicies\x12=\n" + + "\x05state\x18\x04 \x01(\v2'.temporal.api.schedule.v1.ScheduleStateR\x05state\"\xea\x02\n" + + "\x10ScheduleListInfo\x12:\n" + + "\x04spec\x18\x01 \x01(\v2&.temporal.api.schedule.v1.ScheduleSpecR\x04spec\x12I\n" + + "\rworkflow_type\x18\x02 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12\x14\n" + + "\x05notes\x18\x03 \x01(\tR\x05notes\x12\x16\n" + + "\x06paused\x18\x04 \x01(\bR\x06paused\x12U\n" + + "\x0erecent_actions\x18\x05 \x03(\v2..temporal.api.schedule.v1.ScheduleActionResultR\rrecentActions\x12J\n" + + "\x13future_action_times\x18\x06 \x03(\v2\x1a.google.protobuf.TimestampR\x11futureActionTimes\"\xfd\x01\n" + + "\x11ScheduleListEntry\x12\x1f\n" + + "\vschedule_id\x18\x01 \x01(\tR\n" + + "scheduleId\x120\n" + + "\x04memo\x18\x02 \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\x03 \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12>\n" + + "\x04info\x18\x04 \x01(\v2*.temporal.api.schedule.v1.ScheduleListInfoR\x04infoB\x93\x01\n" + + "\x1bio.temporal.api.schedule.v1B\fMessageProtoP\x01Z'go.temporal.io/api/schedule/v1;schedule\xaa\x02\x1aTemporalio.Api.Schedule.V1\xea\x02\x1dTemporalio::Api::Schedule::V1b\x06proto3" + +var ( + file_temporal_api_schedule_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_schedule_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_schedule_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_schedule_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_schedule_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_schedule_v1_message_proto_rawDesc), len(file_temporal_api_schedule_v1_message_proto_rawDesc))) + }) + return file_temporal_api_schedule_v1_message_proto_rawDescData +} + +var file_temporal_api_schedule_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 16) +var file_temporal_api_schedule_v1_message_proto_goTypes = []any{ + (*CalendarSpec)(nil), // 0: temporal.api.schedule.v1.CalendarSpec + (*Range)(nil), // 1: temporal.api.schedule.v1.Range + (*StructuredCalendarSpec)(nil), // 2: temporal.api.schedule.v1.StructuredCalendarSpec + (*IntervalSpec)(nil), // 3: temporal.api.schedule.v1.IntervalSpec + (*ScheduleSpec)(nil), // 4: temporal.api.schedule.v1.ScheduleSpec + (*SchedulePolicies)(nil), // 5: temporal.api.schedule.v1.SchedulePolicies + (*ScheduleAction)(nil), // 6: temporal.api.schedule.v1.ScheduleAction + (*ScheduleActionResult)(nil), // 7: temporal.api.schedule.v1.ScheduleActionResult + (*ScheduleState)(nil), // 8: temporal.api.schedule.v1.ScheduleState + (*TriggerImmediatelyRequest)(nil), // 9: temporal.api.schedule.v1.TriggerImmediatelyRequest + (*BackfillRequest)(nil), // 10: temporal.api.schedule.v1.BackfillRequest + (*SchedulePatch)(nil), // 11: temporal.api.schedule.v1.SchedulePatch + (*ScheduleInfo)(nil), // 12: temporal.api.schedule.v1.ScheduleInfo + (*Schedule)(nil), // 13: temporal.api.schedule.v1.Schedule + (*ScheduleListInfo)(nil), // 14: temporal.api.schedule.v1.ScheduleListInfo + (*ScheduleListEntry)(nil), // 15: temporal.api.schedule.v1.ScheduleListEntry + (*durationpb.Duration)(nil), // 16: google.protobuf.Duration + (*timestamppb.Timestamp)(nil), // 17: google.protobuf.Timestamp + (v1.ScheduleOverlapPolicy)(0), // 18: temporal.api.enums.v1.ScheduleOverlapPolicy + (*v11.NewWorkflowExecutionInfo)(nil), // 19: temporal.api.workflow.v1.NewWorkflowExecutionInfo + (*v12.WorkflowExecution)(nil), // 20: temporal.api.common.v1.WorkflowExecution + (v1.WorkflowExecutionStatus)(0), // 21: temporal.api.enums.v1.WorkflowExecutionStatus + (*v12.WorkflowType)(nil), // 22: temporal.api.common.v1.WorkflowType + (*v12.Memo)(nil), // 23: temporal.api.common.v1.Memo + (*v12.SearchAttributes)(nil), // 24: temporal.api.common.v1.SearchAttributes +} +var file_temporal_api_schedule_v1_message_proto_depIdxs = []int32{ + 1, // 0: temporal.api.schedule.v1.StructuredCalendarSpec.second:type_name -> temporal.api.schedule.v1.Range + 1, // 1: temporal.api.schedule.v1.StructuredCalendarSpec.minute:type_name -> temporal.api.schedule.v1.Range + 1, // 2: temporal.api.schedule.v1.StructuredCalendarSpec.hour:type_name -> temporal.api.schedule.v1.Range + 1, // 3: temporal.api.schedule.v1.StructuredCalendarSpec.day_of_month:type_name -> temporal.api.schedule.v1.Range + 1, // 4: temporal.api.schedule.v1.StructuredCalendarSpec.month:type_name -> temporal.api.schedule.v1.Range + 1, // 5: temporal.api.schedule.v1.StructuredCalendarSpec.year:type_name -> temporal.api.schedule.v1.Range + 1, // 6: temporal.api.schedule.v1.StructuredCalendarSpec.day_of_week:type_name -> temporal.api.schedule.v1.Range + 16, // 7: temporal.api.schedule.v1.IntervalSpec.interval:type_name -> google.protobuf.Duration + 16, // 8: temporal.api.schedule.v1.IntervalSpec.phase:type_name -> google.protobuf.Duration + 2, // 9: temporal.api.schedule.v1.ScheduleSpec.structured_calendar:type_name -> temporal.api.schedule.v1.StructuredCalendarSpec + 0, // 10: temporal.api.schedule.v1.ScheduleSpec.calendar:type_name -> temporal.api.schedule.v1.CalendarSpec + 3, // 11: temporal.api.schedule.v1.ScheduleSpec.interval:type_name -> temporal.api.schedule.v1.IntervalSpec + 0, // 12: temporal.api.schedule.v1.ScheduleSpec.exclude_calendar:type_name -> temporal.api.schedule.v1.CalendarSpec + 2, // 13: temporal.api.schedule.v1.ScheduleSpec.exclude_structured_calendar:type_name -> temporal.api.schedule.v1.StructuredCalendarSpec + 17, // 14: temporal.api.schedule.v1.ScheduleSpec.start_time:type_name -> google.protobuf.Timestamp + 17, // 15: temporal.api.schedule.v1.ScheduleSpec.end_time:type_name -> google.protobuf.Timestamp + 16, // 16: temporal.api.schedule.v1.ScheduleSpec.jitter:type_name -> google.protobuf.Duration + 18, // 17: temporal.api.schedule.v1.SchedulePolicies.overlap_policy:type_name -> temporal.api.enums.v1.ScheduleOverlapPolicy + 16, // 18: temporal.api.schedule.v1.SchedulePolicies.catchup_window:type_name -> google.protobuf.Duration + 19, // 19: temporal.api.schedule.v1.ScheduleAction.start_workflow:type_name -> temporal.api.workflow.v1.NewWorkflowExecutionInfo + 17, // 20: temporal.api.schedule.v1.ScheduleActionResult.schedule_time:type_name -> google.protobuf.Timestamp + 17, // 21: temporal.api.schedule.v1.ScheduleActionResult.actual_time:type_name -> google.protobuf.Timestamp + 20, // 22: temporal.api.schedule.v1.ScheduleActionResult.start_workflow_result:type_name -> temporal.api.common.v1.WorkflowExecution + 21, // 23: temporal.api.schedule.v1.ScheduleActionResult.start_workflow_status:type_name -> temporal.api.enums.v1.WorkflowExecutionStatus + 18, // 24: temporal.api.schedule.v1.TriggerImmediatelyRequest.overlap_policy:type_name -> temporal.api.enums.v1.ScheduleOverlapPolicy + 17, // 25: temporal.api.schedule.v1.TriggerImmediatelyRequest.scheduled_time:type_name -> google.protobuf.Timestamp + 17, // 26: temporal.api.schedule.v1.BackfillRequest.start_time:type_name -> google.protobuf.Timestamp + 17, // 27: temporal.api.schedule.v1.BackfillRequest.end_time:type_name -> google.protobuf.Timestamp + 18, // 28: temporal.api.schedule.v1.BackfillRequest.overlap_policy:type_name -> temporal.api.enums.v1.ScheduleOverlapPolicy + 9, // 29: temporal.api.schedule.v1.SchedulePatch.trigger_immediately:type_name -> temporal.api.schedule.v1.TriggerImmediatelyRequest + 10, // 30: temporal.api.schedule.v1.SchedulePatch.backfill_request:type_name -> temporal.api.schedule.v1.BackfillRequest + 20, // 31: temporal.api.schedule.v1.ScheduleInfo.running_workflows:type_name -> temporal.api.common.v1.WorkflowExecution + 7, // 32: temporal.api.schedule.v1.ScheduleInfo.recent_actions:type_name -> temporal.api.schedule.v1.ScheduleActionResult + 17, // 33: temporal.api.schedule.v1.ScheduleInfo.future_action_times:type_name -> google.protobuf.Timestamp + 17, // 34: temporal.api.schedule.v1.ScheduleInfo.create_time:type_name -> google.protobuf.Timestamp + 17, // 35: temporal.api.schedule.v1.ScheduleInfo.update_time:type_name -> google.protobuf.Timestamp + 4, // 36: temporal.api.schedule.v1.Schedule.spec:type_name -> temporal.api.schedule.v1.ScheduleSpec + 6, // 37: temporal.api.schedule.v1.Schedule.action:type_name -> temporal.api.schedule.v1.ScheduleAction + 5, // 38: temporal.api.schedule.v1.Schedule.policies:type_name -> temporal.api.schedule.v1.SchedulePolicies + 8, // 39: temporal.api.schedule.v1.Schedule.state:type_name -> temporal.api.schedule.v1.ScheduleState + 4, // 40: temporal.api.schedule.v1.ScheduleListInfo.spec:type_name -> temporal.api.schedule.v1.ScheduleSpec + 22, // 41: temporal.api.schedule.v1.ScheduleListInfo.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 7, // 42: temporal.api.schedule.v1.ScheduleListInfo.recent_actions:type_name -> temporal.api.schedule.v1.ScheduleActionResult + 17, // 43: temporal.api.schedule.v1.ScheduleListInfo.future_action_times:type_name -> google.protobuf.Timestamp + 23, // 44: temporal.api.schedule.v1.ScheduleListEntry.memo:type_name -> temporal.api.common.v1.Memo + 24, // 45: temporal.api.schedule.v1.ScheduleListEntry.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 14, // 46: temporal.api.schedule.v1.ScheduleListEntry.info:type_name -> temporal.api.schedule.v1.ScheduleListInfo + 47, // [47:47] is the sub-list for method output_type + 47, // [47:47] is the sub-list for method input_type + 47, // [47:47] is the sub-list for extension type_name + 47, // [47:47] is the sub-list for extension extendee + 0, // [0:47] is the sub-list for field type_name +} + +func init() { file_temporal_api_schedule_v1_message_proto_init() } +func file_temporal_api_schedule_v1_message_proto_init() { + if File_temporal_api_schedule_v1_message_proto != nil { + return + } + file_temporal_api_schedule_v1_message_proto_msgTypes[6].OneofWrappers = []any{ + (*ScheduleAction_StartWorkflow)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_schedule_v1_message_proto_rawDesc), len(file_temporal_api_schedule_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 16, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_schedule_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_schedule_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_schedule_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_schedule_v1_message_proto = out.File + file_temporal_api_schedule_v1_message_proto_goTypes = nil + file_temporal_api_schedule_v1_message_proto_depIdxs = nil +} diff --git a/api_next/sdk/v1/enhanced_stack_trace.go-helpers.pb.go b/api_next/sdk/v1/enhanced_stack_trace.go-helpers.pb.go new file mode 100644 index 00000000..5f3a3c88 --- /dev/null +++ b/api_next/sdk/v1/enhanced_stack_trace.go-helpers.pb.go @@ -0,0 +1,191 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package sdk + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type EnhancedStackTrace to the protobuf v3 wire format +func (val *EnhancedStackTrace) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type EnhancedStackTrace from the protobuf v3 wire format +func (val *EnhancedStackTrace) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *EnhancedStackTrace) Size() int { + return proto.Size(val) +} + +// Equal returns whether two EnhancedStackTrace values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *EnhancedStackTrace) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *EnhancedStackTrace + switch t := that.(type) { + case *EnhancedStackTrace: + that1 = t + case EnhancedStackTrace: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StackTraceSDKInfo to the protobuf v3 wire format +func (val *StackTraceSDKInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StackTraceSDKInfo from the protobuf v3 wire format +func (val *StackTraceSDKInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StackTraceSDKInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StackTraceSDKInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StackTraceSDKInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StackTraceSDKInfo + switch t := that.(type) { + case *StackTraceSDKInfo: + that1 = t + case StackTraceSDKInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StackTraceFileSlice to the protobuf v3 wire format +func (val *StackTraceFileSlice) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StackTraceFileSlice from the protobuf v3 wire format +func (val *StackTraceFileSlice) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StackTraceFileSlice) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StackTraceFileSlice values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StackTraceFileSlice) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StackTraceFileSlice + switch t := that.(type) { + case *StackTraceFileSlice: + that1 = t + case StackTraceFileSlice: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StackTraceFileLocation to the protobuf v3 wire format +func (val *StackTraceFileLocation) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StackTraceFileLocation from the protobuf v3 wire format +func (val *StackTraceFileLocation) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StackTraceFileLocation) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StackTraceFileLocation values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StackTraceFileLocation) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StackTraceFileLocation + switch t := that.(type) { + case *StackTraceFileLocation: + that1 = t + case StackTraceFileLocation: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StackTrace to the protobuf v3 wire format +func (val *StackTrace) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StackTrace from the protobuf v3 wire format +func (val *StackTrace) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StackTrace) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StackTrace values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StackTrace) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StackTrace + switch t := that.(type) { + case *StackTrace: + that1 = t + case StackTrace: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/sdk/v1/enhanced_stack_trace.pb.go b/api_next/sdk/v1/enhanced_stack_trace.pb.go new file mode 100644 index 00000000..f138b11b --- /dev/null +++ b/api_next/sdk/v1/enhanced_stack_trace.pb.go @@ -0,0 +1,424 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/sdk/v1/enhanced_stack_trace.proto + +package sdk + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Internal structure used to create worker stack traces with references to code. +type EnhancedStackTrace struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Information pertaining to the SDK that the trace has been captured from. + Sdk *StackTraceSDKInfo `protobuf:"bytes,1,opt,name=sdk,proto3" json:"sdk,omitempty"` + // Mapping of file path to file contents. + Sources map[string]*StackTraceFileSlice `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Collection of stacks captured. + Stacks []*StackTrace `protobuf:"bytes,3,rep,name=stacks,proto3" json:"stacks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EnhancedStackTrace) Reset() { + *x = EnhancedStackTrace{} + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EnhancedStackTrace) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EnhancedStackTrace) ProtoMessage() {} + +func (x *EnhancedStackTrace) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EnhancedStackTrace.ProtoReflect.Descriptor instead. +func (*EnhancedStackTrace) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescGZIP(), []int{0} +} + +func (x *EnhancedStackTrace) GetSdk() *StackTraceSDKInfo { + if x != nil { + return x.Sdk + } + return nil +} + +func (x *EnhancedStackTrace) GetSources() map[string]*StackTraceFileSlice { + if x != nil { + return x.Sources + } + return nil +} + +func (x *EnhancedStackTrace) GetStacks() []*StackTrace { + if x != nil { + return x.Stacks + } + return nil +} + +// Information pertaining to the SDK that the trace has been captured from. +// (-- api-linter: core::0123::resource-annotation=disabled +// +// aip.dev/not-precedent: Naming SDK version is optional. --) +type StackTraceSDKInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Name of the SDK + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Version string of the SDK + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StackTraceSDKInfo) Reset() { + *x = StackTraceSDKInfo{} + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StackTraceSDKInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StackTraceSDKInfo) ProtoMessage() {} + +func (x *StackTraceSDKInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StackTraceSDKInfo.ProtoReflect.Descriptor instead. +func (*StackTraceSDKInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescGZIP(), []int{1} +} + +func (x *StackTraceSDKInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *StackTraceSDKInfo) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +// "Slice" of a file starting at line_offset -- a line offset and code fragment corresponding to the worker's stack. +type StackTraceFileSlice struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Only used (possibly) to trim the file without breaking syntax highlighting. This is not optional, unlike + // the `line` property of a `StackTraceFileLocation`. + // (-- api-linter: core::0141::forbidden-types=disabled + // + // aip.dev/not-precedent: These really shouldn't have negative values. --) + LineOffset uint32 `protobuf:"varint,1,opt,name=line_offset,json=lineOffset,proto3" json:"line_offset,omitempty"` + // Slice of a file with the respective OS-specific line terminator. + Content string `protobuf:"bytes,2,opt,name=content,proto3" json:"content,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StackTraceFileSlice) Reset() { + *x = StackTraceFileSlice{} + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StackTraceFileSlice) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StackTraceFileSlice) ProtoMessage() {} + +func (x *StackTraceFileSlice) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StackTraceFileSlice.ProtoReflect.Descriptor instead. +func (*StackTraceFileSlice) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescGZIP(), []int{2} +} + +func (x *StackTraceFileSlice) GetLineOffset() uint32 { + if x != nil { + return x.LineOffset + } + return 0 +} + +func (x *StackTraceFileSlice) GetContent() string { + if x != nil { + return x.Content + } + return "" +} + +// More specific location details of a file: its path, precise line and column numbers if applicable, and function name if available. +// In essence, a pointer to a location in a file +type StackTraceFileLocation struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Path to source file (absolute or relative). + // If the paths are relative, ensure that they are all relative to the same root. + FilePath string `protobuf:"bytes,1,opt,name=file_path,json=filePath,proto3" json:"file_path,omitempty"` + // Optional; If possible, SDK should send this -- this is required for displaying the code location. + // If not provided, set to -1. + Line int32 `protobuf:"varint,2,opt,name=line,proto3" json:"line,omitempty"` + // Optional; if possible, SDK should send this. + // If not provided, set to -1. + Column int32 `protobuf:"varint,3,opt,name=column,proto3" json:"column,omitempty"` + // Function name this line belongs to, if applicable. + // Used for falling back to stack trace view. + FunctionName string `protobuf:"bytes,4,opt,name=function_name,json=functionName,proto3" json:"function_name,omitempty"` + // Flag to communicate whether a location should be hidden by default in the stack view. + InternalCode bool `protobuf:"varint,5,opt,name=internal_code,json=internalCode,proto3" json:"internal_code,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StackTraceFileLocation) Reset() { + *x = StackTraceFileLocation{} + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StackTraceFileLocation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StackTraceFileLocation) ProtoMessage() {} + +func (x *StackTraceFileLocation) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StackTraceFileLocation.ProtoReflect.Descriptor instead. +func (*StackTraceFileLocation) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescGZIP(), []int{3} +} + +func (x *StackTraceFileLocation) GetFilePath() string { + if x != nil { + return x.FilePath + } + return "" +} + +func (x *StackTraceFileLocation) GetLine() int32 { + if x != nil { + return x.Line + } + return 0 +} + +func (x *StackTraceFileLocation) GetColumn() int32 { + if x != nil { + return x.Column + } + return 0 +} + +func (x *StackTraceFileLocation) GetFunctionName() string { + if x != nil { + return x.FunctionName + } + return "" +} + +func (x *StackTraceFileLocation) GetInternalCode() bool { + if x != nil { + return x.InternalCode + } + return false +} + +// Collection of FileLocation messages from a single stack. +type StackTrace struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Collection of `FileLocation`s, each for a stack frame that comprise a stack trace. + Locations []*StackTraceFileLocation `protobuf:"bytes,1,rep,name=locations,proto3" json:"locations,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StackTrace) Reset() { + *x = StackTrace{} + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StackTrace) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StackTrace) ProtoMessage() {} + +func (x *StackTrace) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StackTrace.ProtoReflect.Descriptor instead. +func (*StackTrace) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescGZIP(), []int{4} +} + +func (x *StackTrace) GetLocations() []*StackTraceFileLocation { + if x != nil { + return x.Locations + } + return nil +} + +var File_temporal_api_sdk_v1_enhanced_stack_trace_proto protoreflect.FileDescriptor + +const file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDesc = "" + + "\n" + + ".temporal/api/sdk/v1/enhanced_stack_trace.proto\x12\x13temporal.api.sdk.v1\"\xbd\x02\n" + + "\x12EnhancedStackTrace\x128\n" + + "\x03sdk\x18\x01 \x01(\v2&.temporal.api.sdk.v1.StackTraceSDKInfoR\x03sdk\x12N\n" + + "\asources\x18\x02 \x03(\v24.temporal.api.sdk.v1.EnhancedStackTrace.SourcesEntryR\asources\x127\n" + + "\x06stacks\x18\x03 \x03(\v2\x1f.temporal.api.sdk.v1.StackTraceR\x06stacks\x1ad\n" + + "\fSourcesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12>\n" + + "\x05value\x18\x02 \x01(\v2(.temporal.api.sdk.v1.StackTraceFileSliceR\x05value:\x028\x01\"A\n" + + "\x11StackTraceSDKInfo\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\"P\n" + + "\x13StackTraceFileSlice\x12\x1f\n" + + "\vline_offset\x18\x01 \x01(\rR\n" + + "lineOffset\x12\x18\n" + + "\acontent\x18\x02 \x01(\tR\acontent\"\xab\x01\n" + + "\x16StackTraceFileLocation\x12\x1b\n" + + "\tfile_path\x18\x01 \x01(\tR\bfilePath\x12\x12\n" + + "\x04line\x18\x02 \x01(\x05R\x04line\x12\x16\n" + + "\x06column\x18\x03 \x01(\x05R\x06column\x12#\n" + + "\rfunction_name\x18\x04 \x01(\tR\ffunctionName\x12#\n" + + "\rinternal_code\x18\x05 \x01(\bR\finternalCode\"W\n" + + "\n" + + "StackTrace\x12I\n" + + "\tlocations\x18\x01 \x03(\v2+.temporal.api.sdk.v1.StackTraceFileLocationR\tlocationsB\x85\x01\n" + + "\x16io.temporal.api.sdk.v1B\x17EnhancedStackTraceProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" + +var ( + file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescOnce sync.Once + file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescData []byte +) + +func file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescGZIP() []byte { + file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescOnce.Do(func() { + file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDesc), len(file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDesc))) + }) + return file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDescData +} + +var file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes = make([]protoimpl.MessageInfo, 6) +var file_temporal_api_sdk_v1_enhanced_stack_trace_proto_goTypes = []any{ + (*EnhancedStackTrace)(nil), // 0: temporal.api.sdk.v1.EnhancedStackTrace + (*StackTraceSDKInfo)(nil), // 1: temporal.api.sdk.v1.StackTraceSDKInfo + (*StackTraceFileSlice)(nil), // 2: temporal.api.sdk.v1.StackTraceFileSlice + (*StackTraceFileLocation)(nil), // 3: temporal.api.sdk.v1.StackTraceFileLocation + (*StackTrace)(nil), // 4: temporal.api.sdk.v1.StackTrace + nil, // 5: temporal.api.sdk.v1.EnhancedStackTrace.SourcesEntry +} +var file_temporal_api_sdk_v1_enhanced_stack_trace_proto_depIdxs = []int32{ + 1, // 0: temporal.api.sdk.v1.EnhancedStackTrace.sdk:type_name -> temporal.api.sdk.v1.StackTraceSDKInfo + 5, // 1: temporal.api.sdk.v1.EnhancedStackTrace.sources:type_name -> temporal.api.sdk.v1.EnhancedStackTrace.SourcesEntry + 4, // 2: temporal.api.sdk.v1.EnhancedStackTrace.stacks:type_name -> temporal.api.sdk.v1.StackTrace + 3, // 3: temporal.api.sdk.v1.StackTrace.locations:type_name -> temporal.api.sdk.v1.StackTraceFileLocation + 2, // 4: temporal.api.sdk.v1.EnhancedStackTrace.SourcesEntry.value:type_name -> temporal.api.sdk.v1.StackTraceFileSlice + 5, // [5:5] is the sub-list for method output_type + 5, // [5:5] is the sub-list for method input_type + 5, // [5:5] is the sub-list for extension type_name + 5, // [5:5] is the sub-list for extension extendee + 0, // [0:5] is the sub-list for field type_name +} + +func init() { file_temporal_api_sdk_v1_enhanced_stack_trace_proto_init() } +func file_temporal_api_sdk_v1_enhanced_stack_trace_proto_init() { + if File_temporal_api_sdk_v1_enhanced_stack_trace_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDesc), len(file_temporal_api_sdk_v1_enhanced_stack_trace_proto_rawDesc)), + NumEnums: 0, + NumMessages: 6, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_sdk_v1_enhanced_stack_trace_proto_goTypes, + DependencyIndexes: file_temporal_api_sdk_v1_enhanced_stack_trace_proto_depIdxs, + MessageInfos: file_temporal_api_sdk_v1_enhanced_stack_trace_proto_msgTypes, + }.Build() + File_temporal_api_sdk_v1_enhanced_stack_trace_proto = out.File + file_temporal_api_sdk_v1_enhanced_stack_trace_proto_goTypes = nil + file_temporal_api_sdk_v1_enhanced_stack_trace_proto_depIdxs = nil +} diff --git a/api_next/sdk/v1/external_storage.go-helpers.pb.go b/api_next/sdk/v1/external_storage.go-helpers.pb.go new file mode 100644 index 00000000..5a6495be --- /dev/null +++ b/api_next/sdk/v1/external_storage.go-helpers.pb.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package sdk + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ExternalStorageReference to the protobuf v3 wire format +func (val *ExternalStorageReference) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ExternalStorageReference from the protobuf v3 wire format +func (val *ExternalStorageReference) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ExternalStorageReference) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ExternalStorageReference values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ExternalStorageReference) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ExternalStorageReference + switch t := that.(type) { + case *ExternalStorageReference: + that1 = t + case ExternalStorageReference: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/sdk/v1/external_storage.pb.go b/api_next/sdk/v1/external_storage.pb.go new file mode 100644 index 00000000..bf7bcb1d --- /dev/null +++ b/api_next/sdk/v1/external_storage.pb.go @@ -0,0 +1,144 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/sdk/v1/external_storage.proto + +package sdk + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// ExternalStorageReference identifies a payload stored in an external storage system. +// It is used as a claim-check token, allowing the actual payload data to be retrieved +// from the named driver using the provided claim data. +type ExternalStorageReference struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The name of the storage driver responsible for retrieving the payload. + DriverName string `protobuf:"bytes,1,opt,name=driver_name,json=driverName,proto3" json:"driver_name,omitempty"` + // Driver-specific key-value pairs that identify and provide access to the stored payload. + ClaimData map[string]string `protobuf:"bytes,2,rep,name=claim_data,json=claimData,proto3" json:"claim_data,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExternalStorageReference) Reset() { + *x = ExternalStorageReference{} + mi := &file_temporal_api_sdk_v1_external_storage_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExternalStorageReference) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExternalStorageReference) ProtoMessage() {} + +func (x *ExternalStorageReference) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_external_storage_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExternalStorageReference.ProtoReflect.Descriptor instead. +func (*ExternalStorageReference) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_external_storage_proto_rawDescGZIP(), []int{0} +} + +func (x *ExternalStorageReference) GetDriverName() string { + if x != nil { + return x.DriverName + } + return "" +} + +func (x *ExternalStorageReference) GetClaimData() map[string]string { + if x != nil { + return x.ClaimData + } + return nil +} + +var File_temporal_api_sdk_v1_external_storage_proto protoreflect.FileDescriptor + +const file_temporal_api_sdk_v1_external_storage_proto_rawDesc = "" + + "\n" + + "*temporal/api/sdk/v1/external_storage.proto\x12\x13temporal.api.sdk.v1\"\xd6\x01\n" + + "\x18ExternalStorageReference\x12\x1f\n" + + "\vdriver_name\x18\x01 \x01(\tR\n" + + "driverName\x12[\n" + + "\n" + + "claim_data\x18\x02 \x03(\v2<.temporal.api.sdk.v1.ExternalStorageReference.ClaimDataEntryR\tclaimData\x1a<\n" + + "\x0eClaimDataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\x82\x01\n" + + "\x16io.temporal.api.sdk.v1B\x14ExternalStorageProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" + +var ( + file_temporal_api_sdk_v1_external_storage_proto_rawDescOnce sync.Once + file_temporal_api_sdk_v1_external_storage_proto_rawDescData []byte +) + +func file_temporal_api_sdk_v1_external_storage_proto_rawDescGZIP() []byte { + file_temporal_api_sdk_v1_external_storage_proto_rawDescOnce.Do(func() { + file_temporal_api_sdk_v1_external_storage_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_external_storage_proto_rawDesc), len(file_temporal_api_sdk_v1_external_storage_proto_rawDesc))) + }) + return file_temporal_api_sdk_v1_external_storage_proto_rawDescData +} + +var file_temporal_api_sdk_v1_external_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 2) +var file_temporal_api_sdk_v1_external_storage_proto_goTypes = []any{ + (*ExternalStorageReference)(nil), // 0: temporal.api.sdk.v1.ExternalStorageReference + nil, // 1: temporal.api.sdk.v1.ExternalStorageReference.ClaimDataEntry +} +var file_temporal_api_sdk_v1_external_storage_proto_depIdxs = []int32{ + 1, // 0: temporal.api.sdk.v1.ExternalStorageReference.claim_data:type_name -> temporal.api.sdk.v1.ExternalStorageReference.ClaimDataEntry + 1, // [1:1] is the sub-list for method output_type + 1, // [1:1] is the sub-list for method input_type + 1, // [1:1] is the sub-list for extension type_name + 1, // [1:1] is the sub-list for extension extendee + 0, // [0:1] is the sub-list for field type_name +} + +func init() { file_temporal_api_sdk_v1_external_storage_proto_init() } +func file_temporal_api_sdk_v1_external_storage_proto_init() { + if File_temporal_api_sdk_v1_external_storage_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_external_storage_proto_rawDesc), len(file_temporal_api_sdk_v1_external_storage_proto_rawDesc)), + NumEnums: 0, + NumMessages: 2, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_sdk_v1_external_storage_proto_goTypes, + DependencyIndexes: file_temporal_api_sdk_v1_external_storage_proto_depIdxs, + MessageInfos: file_temporal_api_sdk_v1_external_storage_proto_msgTypes, + }.Build() + File_temporal_api_sdk_v1_external_storage_proto = out.File + file_temporal_api_sdk_v1_external_storage_proto_goTypes = nil + file_temporal_api_sdk_v1_external_storage_proto_depIdxs = nil +} diff --git a/api_next/sdk/v1/task_complete_metadata.go-helpers.pb.go b/api_next/sdk/v1/task_complete_metadata.go-helpers.pb.go new file mode 100644 index 00000000..f345a698 --- /dev/null +++ b/api_next/sdk/v1/task_complete_metadata.go-helpers.pb.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package sdk + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkflowTaskCompletedMetadata to the protobuf v3 wire format +func (val *WorkflowTaskCompletedMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowTaskCompletedMetadata from the protobuf v3 wire format +func (val *WorkflowTaskCompletedMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowTaskCompletedMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowTaskCompletedMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowTaskCompletedMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowTaskCompletedMetadata + switch t := that.(type) { + case *WorkflowTaskCompletedMetadata: + that1 = t + case WorkflowTaskCompletedMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/sdk/v1/task_complete_metadata.pb.go b/api_next/sdk/v1/task_complete_metadata.pb.go new file mode 100644 index 00000000..502c9860 --- /dev/null +++ b/api_next/sdk/v1/task_complete_metadata.pb.go @@ -0,0 +1,188 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/sdk/v1/task_complete_metadata.proto + +package sdk + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type WorkflowTaskCompletedMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Internal flags used by the core SDK. SDKs using flags must comply with the following behavior: + // + // During replay: + // - If a flag is not recognized (value is too high or not defined), it must fail the workflow + // task. + // - If a flag is recognized, it is stored in a set of used flags for the run. Code checks for + // that flag during and after this WFT are allowed to assume that the flag is present. + // - If a code check for a flag does not find the flag in the set of used flags, it must take + // the branch corresponding to the absence of that flag. + // + // During non-replay execution of new WFTs: + // - The SDK is free to use all flags it knows about. It must record any newly-used (IE: not + // previously recorded) flags when completing the WFT. + // + // SDKs which are too old to even know about this field at all are considered to produce + // undefined behavior if they replay workflows which used this mechanism. + // + // (-- api-linter: core::0141::forbidden-types=disabled + // + // aip.dev/not-precedent: These really shouldn't have negative values. --) + CoreUsedFlags []uint32 `protobuf:"varint,1,rep,packed,name=core_used_flags,json=coreUsedFlags,proto3" json:"core_used_flags,omitempty"` + // Flags used by the SDK lang. No attempt is made to distinguish between different SDK languages + // here as processing a workflow with a different language than the one which authored it is + // already undefined behavior. See `core_used_patches` for more. + // + // (-- api-linter: core::0141::forbidden-types=disabled + // + // aip.dev/not-precedent: These really shouldn't have negative values. --) + LangUsedFlags []uint32 `protobuf:"varint,2,rep,packed,name=lang_used_flags,json=langUsedFlags,proto3" json:"lang_used_flags,omitempty"` + // Name of the SDK that processed the task. This is usually something like "temporal-go" and is + // usually the same as client-name gRPC header. This should only be set if its value changed + // since the last time recorded on the workflow (or be set on the first task). + // + // (-- api-linter: core::0122::name-suffix=disabled + // + // aip.dev/not-precedent: We're ok with a name suffix here. --) + SdkName string `protobuf:"bytes,3,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"` + // Version of the SDK that processed the task. This is usually something like "1.20.0" and is + // usually the same as client-version gRPC header. This should only be set if its value changed + // since the last time recorded on the workflow (or be set on the first task). + SdkVersion string `protobuf:"bytes,4,opt,name=sdk_version,json=sdkVersion,proto3" json:"sdk_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowTaskCompletedMetadata) Reset() { + *x = WorkflowTaskCompletedMetadata{} + mi := &file_temporal_api_sdk_v1_task_complete_metadata_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowTaskCompletedMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowTaskCompletedMetadata) ProtoMessage() {} + +func (x *WorkflowTaskCompletedMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_task_complete_metadata_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowTaskCompletedMetadata.ProtoReflect.Descriptor instead. +func (*WorkflowTaskCompletedMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkflowTaskCompletedMetadata) GetCoreUsedFlags() []uint32 { + if x != nil { + return x.CoreUsedFlags + } + return nil +} + +func (x *WorkflowTaskCompletedMetadata) GetLangUsedFlags() []uint32 { + if x != nil { + return x.LangUsedFlags + } + return nil +} + +func (x *WorkflowTaskCompletedMetadata) GetSdkName() string { + if x != nil { + return x.SdkName + } + return "" +} + +func (x *WorkflowTaskCompletedMetadata) GetSdkVersion() string { + if x != nil { + return x.SdkVersion + } + return "" +} + +var File_temporal_api_sdk_v1_task_complete_metadata_proto protoreflect.FileDescriptor + +const file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDesc = "" + + "\n" + + "0temporal/api/sdk/v1/task_complete_metadata.proto\x12\x13temporal.api.sdk.v1\"\xab\x01\n" + + "\x1dWorkflowTaskCompletedMetadata\x12&\n" + + "\x0fcore_used_flags\x18\x01 \x03(\rR\rcoreUsedFlags\x12&\n" + + "\x0flang_used_flags\x18\x02 \x03(\rR\rlangUsedFlags\x12\x19\n" + + "\bsdk_name\x18\x03 \x01(\tR\asdkName\x12\x1f\n" + + "\vsdk_version\x18\x04 \x01(\tR\n" + + "sdkVersionB\x87\x01\n" + + "\x16io.temporal.api.sdk.v1B\x19TaskCompleteMetadataProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" + +var ( + file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDescOnce sync.Once + file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDescData []byte +) + +func file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDescGZIP() []byte { + file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDescOnce.Do(func() { + file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDesc), len(file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDesc))) + }) + return file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDescData +} + +var file_temporal_api_sdk_v1_task_complete_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_temporal_api_sdk_v1_task_complete_metadata_proto_goTypes = []any{ + (*WorkflowTaskCompletedMetadata)(nil), // 0: temporal.api.sdk.v1.WorkflowTaskCompletedMetadata +} +var file_temporal_api_sdk_v1_task_complete_metadata_proto_depIdxs = []int32{ + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_sdk_v1_task_complete_metadata_proto_init() } +func file_temporal_api_sdk_v1_task_complete_metadata_proto_init() { + if File_temporal_api_sdk_v1_task_complete_metadata_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDesc), len(file_temporal_api_sdk_v1_task_complete_metadata_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_sdk_v1_task_complete_metadata_proto_goTypes, + DependencyIndexes: file_temporal_api_sdk_v1_task_complete_metadata_proto_depIdxs, + MessageInfos: file_temporal_api_sdk_v1_task_complete_metadata_proto_msgTypes, + }.Build() + File_temporal_api_sdk_v1_task_complete_metadata_proto = out.File + file_temporal_api_sdk_v1_task_complete_metadata_proto_goTypes = nil + file_temporal_api_sdk_v1_task_complete_metadata_proto_depIdxs = nil +} diff --git a/api_next/sdk/v1/user_metadata.go-helpers.pb.go b/api_next/sdk/v1/user_metadata.go-helpers.pb.go new file mode 100644 index 00000000..9b402ae4 --- /dev/null +++ b/api_next/sdk/v1/user_metadata.go-helpers.pb.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package sdk + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type UserMetadata to the protobuf v3 wire format +func (val *UserMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UserMetadata from the protobuf v3 wire format +func (val *UserMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UserMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UserMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UserMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UserMetadata + switch t := that.(type) { + case *UserMetadata: + that1 = t + case UserMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/sdk/v1/user_metadata.pb.go b/api_next/sdk/v1/user_metadata.pb.go new file mode 100644 index 00000000..4de1460b --- /dev/null +++ b/api_next/sdk/v1/user_metadata.pb.go @@ -0,0 +1,144 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/sdk/v1/user_metadata.proto + +package sdk + +import ( + v1 "go.temporal.io/api/common/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Information a user can set, often for use by user interfaces. +type UserMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Short-form text that provides a summary. This payload should be a "json/plain"-encoded payload + // that is a single JSON string for use in user interfaces. User interface formatting may not + // apply to this text when used in "title" situations. The payload data section is limited to 400 + // bytes by default. + Summary *v1.Payload `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"` + // Long-form text that provides details. This payload should be a "json/plain"-encoded payload + // that is a single JSON string for use in user interfaces. User interface formatting may apply to + // this text in common use. The payload data section is limited to 20000 bytes by default. + Details *v1.Payload `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UserMetadata) Reset() { + *x = UserMetadata{} + mi := &file_temporal_api_sdk_v1_user_metadata_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UserMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UserMetadata) ProtoMessage() {} + +func (x *UserMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_user_metadata_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UserMetadata.ProtoReflect.Descriptor instead. +func (*UserMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_user_metadata_proto_rawDescGZIP(), []int{0} +} + +func (x *UserMetadata) GetSummary() *v1.Payload { + if x != nil { + return x.Summary + } + return nil +} + +func (x *UserMetadata) GetDetails() *v1.Payload { + if x != nil { + return x.Details + } + return nil +} + +var File_temporal_api_sdk_v1_user_metadata_proto protoreflect.FileDescriptor + +const file_temporal_api_sdk_v1_user_metadata_proto_rawDesc = "" + + "\n" + + "'temporal/api/sdk/v1/user_metadata.proto\x12\x13temporal.api.sdk.v1\x1a$temporal/api/common/v1/message.proto\"\x84\x01\n" + + "\fUserMetadata\x129\n" + + "\asummary\x18\x01 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\asummary\x129\n" + + "\adetails\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\adetailsB\x7f\n" + + "\x16io.temporal.api.sdk.v1B\x11UserMetadataProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" + +var ( + file_temporal_api_sdk_v1_user_metadata_proto_rawDescOnce sync.Once + file_temporal_api_sdk_v1_user_metadata_proto_rawDescData []byte +) + +func file_temporal_api_sdk_v1_user_metadata_proto_rawDescGZIP() []byte { + file_temporal_api_sdk_v1_user_metadata_proto_rawDescOnce.Do(func() { + file_temporal_api_sdk_v1_user_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_user_metadata_proto_rawDesc), len(file_temporal_api_sdk_v1_user_metadata_proto_rawDesc))) + }) + return file_temporal_api_sdk_v1_user_metadata_proto_rawDescData +} + +var file_temporal_api_sdk_v1_user_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 1) +var file_temporal_api_sdk_v1_user_metadata_proto_goTypes = []any{ + (*UserMetadata)(nil), // 0: temporal.api.sdk.v1.UserMetadata + (*v1.Payload)(nil), // 1: temporal.api.common.v1.Payload +} +var file_temporal_api_sdk_v1_user_metadata_proto_depIdxs = []int32{ + 1, // 0: temporal.api.sdk.v1.UserMetadata.summary:type_name -> temporal.api.common.v1.Payload + 1, // 1: temporal.api.sdk.v1.UserMetadata.details:type_name -> temporal.api.common.v1.Payload + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_temporal_api_sdk_v1_user_metadata_proto_init() } +func file_temporal_api_sdk_v1_user_metadata_proto_init() { + if File_temporal_api_sdk_v1_user_metadata_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_user_metadata_proto_rawDesc), len(file_temporal_api_sdk_v1_user_metadata_proto_rawDesc)), + NumEnums: 0, + NumMessages: 1, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_sdk_v1_user_metadata_proto_goTypes, + DependencyIndexes: file_temporal_api_sdk_v1_user_metadata_proto_depIdxs, + MessageInfos: file_temporal_api_sdk_v1_user_metadata_proto_msgTypes, + }.Build() + File_temporal_api_sdk_v1_user_metadata_proto = out.File + file_temporal_api_sdk_v1_user_metadata_proto_goTypes = nil + file_temporal_api_sdk_v1_user_metadata_proto_depIdxs = nil +} diff --git a/api_next/sdk/v1/worker_config.go-helpers.pb.go b/api_next/sdk/v1/worker_config.go-helpers.pb.go new file mode 100644 index 00000000..5825ad6d --- /dev/null +++ b/api_next/sdk/v1/worker_config.go-helpers.pb.go @@ -0,0 +1,43 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package sdk + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkerConfig to the protobuf v3 wire format +func (val *WorkerConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerConfig from the protobuf v3 wire format +func (val *WorkerConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerConfig + switch t := that.(type) { + case *WorkerConfig: + that1 = t + case WorkerConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/sdk/v1/worker_config.pb.go b/api_next/sdk/v1/worker_config.pb.go new file mode 100644 index 00000000..5f85029f --- /dev/null +++ b/api_next/sdk/v1/worker_config.pb.go @@ -0,0 +1,299 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/sdk/v1/worker_config.proto + +package sdk + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type WorkerConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowCacheSize int32 `protobuf:"varint,1,opt,name=workflow_cache_size,json=workflowCacheSize,proto3" json:"workflow_cache_size,omitempty"` + // Types that are valid to be assigned to PollerBehavior: + // + // *WorkerConfig_SimplePollerBehavior_ + // *WorkerConfig_AutoscalingPollerBehavior_ + PollerBehavior isWorkerConfig_PollerBehavior `protobuf_oneof:"poller_behavior"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerConfig) Reset() { + *x = WorkerConfig{} + mi := &file_temporal_api_sdk_v1_worker_config_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerConfig) ProtoMessage() {} + +func (x *WorkerConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_worker_config_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerConfig.ProtoReflect.Descriptor instead. +func (*WorkerConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_worker_config_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkerConfig) GetWorkflowCacheSize() int32 { + if x != nil { + return x.WorkflowCacheSize + } + return 0 +} + +func (x *WorkerConfig) GetPollerBehavior() isWorkerConfig_PollerBehavior { + if x != nil { + return x.PollerBehavior + } + return nil +} + +func (x *WorkerConfig) GetSimplePollerBehavior() *WorkerConfig_SimplePollerBehavior { + if x != nil { + if x, ok := x.PollerBehavior.(*WorkerConfig_SimplePollerBehavior_); ok { + return x.SimplePollerBehavior + } + } + return nil +} + +func (x *WorkerConfig) GetAutoscalingPollerBehavior() *WorkerConfig_AutoscalingPollerBehavior { + if x != nil { + if x, ok := x.PollerBehavior.(*WorkerConfig_AutoscalingPollerBehavior_); ok { + return x.AutoscalingPollerBehavior + } + } + return nil +} + +type isWorkerConfig_PollerBehavior interface { + isWorkerConfig_PollerBehavior() +} + +type WorkerConfig_SimplePollerBehavior_ struct { + SimplePollerBehavior *WorkerConfig_SimplePollerBehavior `protobuf:"bytes,2,opt,name=simple_poller_behavior,json=simplePollerBehavior,proto3,oneof"` +} + +type WorkerConfig_AutoscalingPollerBehavior_ struct { + AutoscalingPollerBehavior *WorkerConfig_AutoscalingPollerBehavior `protobuf:"bytes,3,opt,name=autoscaling_poller_behavior,json=autoscalingPollerBehavior,proto3,oneof"` +} + +func (*WorkerConfig_SimplePollerBehavior_) isWorkerConfig_PollerBehavior() {} + +func (*WorkerConfig_AutoscalingPollerBehavior_) isWorkerConfig_PollerBehavior() {} + +type WorkerConfig_SimplePollerBehavior struct { + state protoimpl.MessageState `protogen:"open.v1"` + MaxPollers int32 `protobuf:"varint,1,opt,name=max_pollers,json=maxPollers,proto3" json:"max_pollers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerConfig_SimplePollerBehavior) Reset() { + *x = WorkerConfig_SimplePollerBehavior{} + mi := &file_temporal_api_sdk_v1_worker_config_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerConfig_SimplePollerBehavior) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerConfig_SimplePollerBehavior) ProtoMessage() {} + +func (x *WorkerConfig_SimplePollerBehavior) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_worker_config_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerConfig_SimplePollerBehavior.ProtoReflect.Descriptor instead. +func (*WorkerConfig_SimplePollerBehavior) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_worker_config_proto_rawDescGZIP(), []int{0, 0} +} + +func (x *WorkerConfig_SimplePollerBehavior) GetMaxPollers() int32 { + if x != nil { + return x.MaxPollers + } + return 0 +} + +type WorkerConfig_AutoscalingPollerBehavior struct { + state protoimpl.MessageState `protogen:"open.v1"` + // At least this many poll calls will always be attempted (assuming slots are available). + // Cannot be zero. + MinPollers int32 `protobuf:"varint,1,opt,name=min_pollers,json=minPollers,proto3" json:"min_pollers,omitempty"` + // At most this many poll calls will ever be open at once. Must be >= `minimum`. + MaxPollers int32 `protobuf:"varint,2,opt,name=max_pollers,json=maxPollers,proto3" json:"max_pollers,omitempty"` + // This many polls will be attempted initially before scaling kicks in. Must be between + // + // `minimum` and `maximum`. + InitialPollers int32 `protobuf:"varint,3,opt,name=initial_pollers,json=initialPollers,proto3" json:"initial_pollers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerConfig_AutoscalingPollerBehavior) Reset() { + *x = WorkerConfig_AutoscalingPollerBehavior{} + mi := &file_temporal_api_sdk_v1_worker_config_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerConfig_AutoscalingPollerBehavior) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerConfig_AutoscalingPollerBehavior) ProtoMessage() {} + +func (x *WorkerConfig_AutoscalingPollerBehavior) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_worker_config_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerConfig_AutoscalingPollerBehavior.ProtoReflect.Descriptor instead. +func (*WorkerConfig_AutoscalingPollerBehavior) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_worker_config_proto_rawDescGZIP(), []int{0, 1} +} + +func (x *WorkerConfig_AutoscalingPollerBehavior) GetMinPollers() int32 { + if x != nil { + return x.MinPollers + } + return 0 +} + +func (x *WorkerConfig_AutoscalingPollerBehavior) GetMaxPollers() int32 { + if x != nil { + return x.MaxPollers + } + return 0 +} + +func (x *WorkerConfig_AutoscalingPollerBehavior) GetInitialPollers() int32 { + if x != nil { + return x.InitialPollers + } + return 0 +} + +var File_temporal_api_sdk_v1_worker_config_proto protoreflect.FileDescriptor + +const file_temporal_api_sdk_v1_worker_config_proto_rawDesc = "" + + "\n" + + "'temporal/api/sdk/v1/worker_config.proto\x12\x13temporal.api.sdk.v1\"\x82\x04\n" + + "\fWorkerConfig\x12.\n" + + "\x13workflow_cache_size\x18\x01 \x01(\x05R\x11workflowCacheSize\x12n\n" + + "\x16simple_poller_behavior\x18\x02 \x01(\v26.temporal.api.sdk.v1.WorkerConfig.SimplePollerBehaviorH\x00R\x14simplePollerBehavior\x12}\n" + + "\x1bautoscaling_poller_behavior\x18\x03 \x01(\v2;.temporal.api.sdk.v1.WorkerConfig.AutoscalingPollerBehaviorH\x00R\x19autoscalingPollerBehavior\x1a7\n" + + "\x14SimplePollerBehavior\x12\x1f\n" + + "\vmax_pollers\x18\x01 \x01(\x05R\n" + + "maxPollers\x1a\x86\x01\n" + + "\x19AutoscalingPollerBehavior\x12\x1f\n" + + "\vmin_pollers\x18\x01 \x01(\x05R\n" + + "minPollers\x12\x1f\n" + + "\vmax_pollers\x18\x02 \x01(\x05R\n" + + "maxPollers\x12'\n" + + "\x0finitial_pollers\x18\x03 \x01(\x05R\x0einitialPollersB\x11\n" + + "\x0fpoller_behaviorB\x7f\n" + + "\x16io.temporal.api.sdk.v1B\x11WorkerConfigProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" + +var ( + file_temporal_api_sdk_v1_worker_config_proto_rawDescOnce sync.Once + file_temporal_api_sdk_v1_worker_config_proto_rawDescData []byte +) + +func file_temporal_api_sdk_v1_worker_config_proto_rawDescGZIP() []byte { + file_temporal_api_sdk_v1_worker_config_proto_rawDescOnce.Do(func() { + file_temporal_api_sdk_v1_worker_config_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_worker_config_proto_rawDesc), len(file_temporal_api_sdk_v1_worker_config_proto_rawDesc))) + }) + return file_temporal_api_sdk_v1_worker_config_proto_rawDescData +} + +var file_temporal_api_sdk_v1_worker_config_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_temporal_api_sdk_v1_worker_config_proto_goTypes = []any{ + (*WorkerConfig)(nil), // 0: temporal.api.sdk.v1.WorkerConfig + (*WorkerConfig_SimplePollerBehavior)(nil), // 1: temporal.api.sdk.v1.WorkerConfig.SimplePollerBehavior + (*WorkerConfig_AutoscalingPollerBehavior)(nil), // 2: temporal.api.sdk.v1.WorkerConfig.AutoscalingPollerBehavior +} +var file_temporal_api_sdk_v1_worker_config_proto_depIdxs = []int32{ + 1, // 0: temporal.api.sdk.v1.WorkerConfig.simple_poller_behavior:type_name -> temporal.api.sdk.v1.WorkerConfig.SimplePollerBehavior + 2, // 1: temporal.api.sdk.v1.WorkerConfig.autoscaling_poller_behavior:type_name -> temporal.api.sdk.v1.WorkerConfig.AutoscalingPollerBehavior + 2, // [2:2] is the sub-list for method output_type + 2, // [2:2] is the sub-list for method input_type + 2, // [2:2] is the sub-list for extension type_name + 2, // [2:2] is the sub-list for extension extendee + 0, // [0:2] is the sub-list for field type_name +} + +func init() { file_temporal_api_sdk_v1_worker_config_proto_init() } +func file_temporal_api_sdk_v1_worker_config_proto_init() { + if File_temporal_api_sdk_v1_worker_config_proto != nil { + return + } + file_temporal_api_sdk_v1_worker_config_proto_msgTypes[0].OneofWrappers = []any{ + (*WorkerConfig_SimplePollerBehavior_)(nil), + (*WorkerConfig_AutoscalingPollerBehavior_)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_worker_config_proto_rawDesc), len(file_temporal_api_sdk_v1_worker_config_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_sdk_v1_worker_config_proto_goTypes, + DependencyIndexes: file_temporal_api_sdk_v1_worker_config_proto_depIdxs, + MessageInfos: file_temporal_api_sdk_v1_worker_config_proto_msgTypes, + }.Build() + File_temporal_api_sdk_v1_worker_config_proto = out.File + file_temporal_api_sdk_v1_worker_config_proto_goTypes = nil + file_temporal_api_sdk_v1_worker_config_proto_depIdxs = nil +} diff --git a/api_next/sdk/v1/workflow_metadata.go-helpers.pb.go b/api_next/sdk/v1/workflow_metadata.go-helpers.pb.go new file mode 100644 index 00000000..e2a53a23 --- /dev/null +++ b/api_next/sdk/v1/workflow_metadata.go-helpers.pb.go @@ -0,0 +1,117 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package sdk + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkflowMetadata to the protobuf v3 wire format +func (val *WorkflowMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowMetadata from the protobuf v3 wire format +func (val *WorkflowMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowMetadata + switch t := that.(type) { + case *WorkflowMetadata: + that1 = t + case WorkflowMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowDefinition to the protobuf v3 wire format +func (val *WorkflowDefinition) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowDefinition from the protobuf v3 wire format +func (val *WorkflowDefinition) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowDefinition) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowDefinition values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowDefinition) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowDefinition + switch t := that.(type) { + case *WorkflowDefinition: + that1 = t + case WorkflowDefinition: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowInteractionDefinition to the protobuf v3 wire format +func (val *WorkflowInteractionDefinition) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowInteractionDefinition from the protobuf v3 wire format +func (val *WorkflowInteractionDefinition) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowInteractionDefinition) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowInteractionDefinition values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowInteractionDefinition) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowInteractionDefinition + switch t := that.(type) { + case *WorkflowInteractionDefinition: + that1 = t + case WorkflowInteractionDefinition: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/sdk/v1/workflow_metadata.pb.go b/api_next/sdk/v1/workflow_metadata.pb.go new file mode 100644 index 00000000..58285b9a --- /dev/null +++ b/api_next/sdk/v1/workflow_metadata.pb.go @@ -0,0 +1,289 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/sdk/v1/workflow_metadata.proto + +package sdk + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +// The name of the query to retrieve this information is `__temporal_workflow_metadata`. +type WorkflowMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Metadata provided at declaration or creation time. + Definition *WorkflowDefinition `protobuf:"bytes,1,opt,name=definition,proto3" json:"definition,omitempty"` + // Current long-form details of the workflow's state. This is used by user interfaces to show + // long-form text. This text may be formatted by the user interface. + CurrentDetails string `protobuf:"bytes,2,opt,name=current_details,json=currentDetails,proto3" json:"current_details,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowMetadata) Reset() { + *x = WorkflowMetadata{} + mi := &file_temporal_api_sdk_v1_workflow_metadata_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowMetadata) ProtoMessage() {} + +func (x *WorkflowMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_workflow_metadata_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowMetadata.ProtoReflect.Descriptor instead. +func (*WorkflowMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_workflow_metadata_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkflowMetadata) GetDefinition() *WorkflowDefinition { + if x != nil { + return x.Definition + } + return nil +} + +func (x *WorkflowMetadata) GetCurrentDetails() string { + if x != nil { + return x.CurrentDetails + } + return "" +} + +// (-- api-linter: core::0203::optional=disabled --) +type WorkflowDefinition struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A name scoped by the task queue that maps to this workflow definition. + // If missing, this workflow is a dynamic workflow. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + // Query definitions, sorted by name. + QueryDefinitions []*WorkflowInteractionDefinition `protobuf:"bytes,2,rep,name=query_definitions,json=queryDefinitions,proto3" json:"query_definitions,omitempty"` + // Signal definitions, sorted by name. + SignalDefinitions []*WorkflowInteractionDefinition `protobuf:"bytes,3,rep,name=signal_definitions,json=signalDefinitions,proto3" json:"signal_definitions,omitempty"` + // Update definitions, sorted by name. + UpdateDefinitions []*WorkflowInteractionDefinition `protobuf:"bytes,4,rep,name=update_definitions,json=updateDefinitions,proto3" json:"update_definitions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowDefinition) Reset() { + *x = WorkflowDefinition{} + mi := &file_temporal_api_sdk_v1_workflow_metadata_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowDefinition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowDefinition) ProtoMessage() {} + +func (x *WorkflowDefinition) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_workflow_metadata_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowDefinition.ProtoReflect.Descriptor instead. +func (*WorkflowDefinition) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_workflow_metadata_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkflowDefinition) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *WorkflowDefinition) GetQueryDefinitions() []*WorkflowInteractionDefinition { + if x != nil { + return x.QueryDefinitions + } + return nil +} + +func (x *WorkflowDefinition) GetSignalDefinitions() []*WorkflowInteractionDefinition { + if x != nil { + return x.SignalDefinitions + } + return nil +} + +func (x *WorkflowDefinition) GetUpdateDefinitions() []*WorkflowInteractionDefinition { + if x != nil { + return x.UpdateDefinitions + } + return nil +} + +// (-- api-linter: core::0123::resource-annotation=disabled +// +// aip.dev/not-precedent: The `name` field is optional. --) +// +// (-- api-linter: core::0203::optional=disabled --) +type WorkflowInteractionDefinition struct { + state protoimpl.MessageState `protogen:"open.v1"` + // An optional name for the handler. If missing, it represents + // a dynamic handler that processes any interactions not handled by others. + // There is at most one dynamic handler per workflow and interaction kind. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // An optional interaction description provided by the application. + // By convention, external tools may interpret its first part, + // i.e., ending with a line break, as a summary of the description. + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowInteractionDefinition) Reset() { + *x = WorkflowInteractionDefinition{} + mi := &file_temporal_api_sdk_v1_workflow_metadata_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowInteractionDefinition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowInteractionDefinition) ProtoMessage() {} + +func (x *WorkflowInteractionDefinition) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_sdk_v1_workflow_metadata_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowInteractionDefinition.ProtoReflect.Descriptor instead. +func (*WorkflowInteractionDefinition) Descriptor() ([]byte, []int) { + return file_temporal_api_sdk_v1_workflow_metadata_proto_rawDescGZIP(), []int{2} +} + +func (x *WorkflowInteractionDefinition) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *WorkflowInteractionDefinition) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +var File_temporal_api_sdk_v1_workflow_metadata_proto protoreflect.FileDescriptor + +const file_temporal_api_sdk_v1_workflow_metadata_proto_rawDesc = "" + + "\n" + + "+temporal/api/sdk/v1/workflow_metadata.proto\x12\x13temporal.api.sdk.v1\"\x84\x01\n" + + "\x10WorkflowMetadata\x12G\n" + + "\n" + + "definition\x18\x01 \x01(\v2'.temporal.api.sdk.v1.WorkflowDefinitionR\n" + + "definition\x12'\n" + + "\x0fcurrent_details\x18\x02 \x01(\tR\x0ecurrentDetails\"\xcf\x02\n" + + "\x12WorkflowDefinition\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\x12_\n" + + "\x11query_definitions\x18\x02 \x03(\v22.temporal.api.sdk.v1.WorkflowInteractionDefinitionR\x10queryDefinitions\x12a\n" + + "\x12signal_definitions\x18\x03 \x03(\v22.temporal.api.sdk.v1.WorkflowInteractionDefinitionR\x11signalDefinitions\x12a\n" + + "\x12update_definitions\x18\x04 \x03(\v22.temporal.api.sdk.v1.WorkflowInteractionDefinitionR\x11updateDefinitions\"U\n" + + "\x1dWorkflowInteractionDefinition\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescriptionB\x83\x01\n" + + "\x16io.temporal.api.sdk.v1B\x15WorkflowMetadataProtoP\x01Z\x1dgo.temporal.io/api/sdk/v1;sdk\xaa\x02\x15Temporalio.Api.Sdk.V1\xea\x02\x18Temporalio::Api::Sdk::V1b\x06proto3" + +var ( + file_temporal_api_sdk_v1_workflow_metadata_proto_rawDescOnce sync.Once + file_temporal_api_sdk_v1_workflow_metadata_proto_rawDescData []byte +) + +func file_temporal_api_sdk_v1_workflow_metadata_proto_rawDescGZIP() []byte { + file_temporal_api_sdk_v1_workflow_metadata_proto_rawDescOnce.Do(func() { + file_temporal_api_sdk_v1_workflow_metadata_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_workflow_metadata_proto_rawDesc), len(file_temporal_api_sdk_v1_workflow_metadata_proto_rawDesc))) + }) + return file_temporal_api_sdk_v1_workflow_metadata_proto_rawDescData +} + +var file_temporal_api_sdk_v1_workflow_metadata_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_temporal_api_sdk_v1_workflow_metadata_proto_goTypes = []any{ + (*WorkflowMetadata)(nil), // 0: temporal.api.sdk.v1.WorkflowMetadata + (*WorkflowDefinition)(nil), // 1: temporal.api.sdk.v1.WorkflowDefinition + (*WorkflowInteractionDefinition)(nil), // 2: temporal.api.sdk.v1.WorkflowInteractionDefinition +} +var file_temporal_api_sdk_v1_workflow_metadata_proto_depIdxs = []int32{ + 1, // 0: temporal.api.sdk.v1.WorkflowMetadata.definition:type_name -> temporal.api.sdk.v1.WorkflowDefinition + 2, // 1: temporal.api.sdk.v1.WorkflowDefinition.query_definitions:type_name -> temporal.api.sdk.v1.WorkflowInteractionDefinition + 2, // 2: temporal.api.sdk.v1.WorkflowDefinition.signal_definitions:type_name -> temporal.api.sdk.v1.WorkflowInteractionDefinition + 2, // 3: temporal.api.sdk.v1.WorkflowDefinition.update_definitions:type_name -> temporal.api.sdk.v1.WorkflowInteractionDefinition + 4, // [4:4] is the sub-list for method output_type + 4, // [4:4] is the sub-list for method input_type + 4, // [4:4] is the sub-list for extension type_name + 4, // [4:4] is the sub-list for extension extendee + 0, // [0:4] is the sub-list for field type_name +} + +func init() { file_temporal_api_sdk_v1_workflow_metadata_proto_init() } +func file_temporal_api_sdk_v1_workflow_metadata_proto_init() { + if File_temporal_api_sdk_v1_workflow_metadata_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_sdk_v1_workflow_metadata_proto_rawDesc), len(file_temporal_api_sdk_v1_workflow_metadata_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_sdk_v1_workflow_metadata_proto_goTypes, + DependencyIndexes: file_temporal_api_sdk_v1_workflow_metadata_proto_depIdxs, + MessageInfos: file_temporal_api_sdk_v1_workflow_metadata_proto_msgTypes, + }.Build() + File_temporal_api_sdk_v1_workflow_metadata_proto = out.File + file_temporal_api_sdk_v1_workflow_metadata_proto_goTypes = nil + file_temporal_api_sdk_v1_workflow_metadata_proto_depIdxs = nil +} diff --git a/api_next/serviceerror/aborted.go b/api_next/serviceerror/aborted.go new file mode 100644 index 00000000..1df1283c --- /dev/null +++ b/api_next/serviceerror/aborted.go @@ -0,0 +1,49 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // Aborted represents an aborted error. + Aborted struct { + Message string + st *status.Status + } +) + +// NewAborted returns new Aborted error. +func NewAborted(message string) error { + return &Aborted{ + Message: message, + } +} + +// NewAbortedf returns new Aborted error with formatted message. +func NewAbortedf(format string, args ...any) error { + return &Aborted{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *Aborted) Error() string { + return e.Message +} + +func (e *Aborted) Status() *status.Status { + if e.st != nil { + return e.st + } + return status.New(codes.Aborted, e.Message) +} + +func newAborted(st *status.Status) error { + return &Aborted{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/activity_execution_already_started.go b/api_next/serviceerror/activity_execution_already_started.go new file mode 100644 index 00000000..89951b23 --- /dev/null +++ b/api_next/serviceerror/activity_execution_already_started.go @@ -0,0 +1,67 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // ActivityExecutionAlreadyStarted represents activity execution already started error. + ActivityExecutionAlreadyStarted struct { + Message string + StartRequestId string + RunId string + st *status.Status + } +) + +// NewActivityExecutionAlreadyStarted returns new ActivityExecutionAlreadyStarted error. +func NewActivityExecutionAlreadyStarted(message, startRequestId, runId string) error { + return &ActivityExecutionAlreadyStarted{ + Message: message, + StartRequestId: startRequestId, + RunId: runId, + } +} + +// NewActivityExecutionAlreadyStartedf returns new ActivityExecutionAlreadyStarted error with formatted message. +func NewActivityExecutionAlreadyStartedf(startRequestId, runId, format string, args ...any) error { + return &ActivityExecutionAlreadyStarted{ + Message: fmt.Sprintf(format, args...), + StartRequestId: startRequestId, + RunId: runId, + } +} + +// Error returns string message. +func (e *ActivityExecutionAlreadyStarted) Error() string { + return e.Message +} + +func (e *ActivityExecutionAlreadyStarted) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.AlreadyExists, e.Message) + st, _ = st.WithDetails( + &errordetails.ActivityExecutionAlreadyStartedFailure{ + StartRequestId: e.StartRequestId, + RunId: e.RunId, + }, + ) + return st +} + +func newActivityExecutionAlreadyStarted(st *status.Status, errDetails *errordetails.ActivityExecutionAlreadyStartedFailure) error { + return &ActivityExecutionAlreadyStarted{ + Message: st.Message(), + StartRequestId: errDetails.GetStartRequestId(), + RunId: errDetails.GetRunId(), + st: st, + } +} diff --git a/api_next/serviceerror/already_exists.go b/api_next/serviceerror/already_exists.go new file mode 100644 index 00000000..a67c43fa --- /dev/null +++ b/api_next/serviceerror/already_exists.go @@ -0,0 +1,55 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // AlreadyExists represents general AlreadyExists gRPC error. + AlreadyExists struct { + Message string + st *status.Status + } +) + +// Deprecated. Typo in the name. Use NewAlreadyExists instead. +func NewAlreadyExist(message string) error { + return NewAlreadyExists(message) +} + +// NewAlreadyExists returns new AlreadyExists error. +func NewAlreadyExists(message string) error { + return &AlreadyExists{ + Message: message, + } +} + +// NewAlreadyExistsf returns new AlreadyExists error with formatted message. +func NewAlreadyExistsf(format string, args ...any) error { + return &AlreadyExists{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *AlreadyExists) Error() string { + return e.Message +} + +func (e *AlreadyExists) Status() *status.Status { + if e.st != nil { + return e.st + } + + return status.New(codes.AlreadyExists, e.Message) +} + +func newAlreadyExists(st *status.Status) error { + return &AlreadyExists{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/canceled.go b/api_next/serviceerror/canceled.go new file mode 100644 index 00000000..4ba4809d --- /dev/null +++ b/api_next/serviceerror/canceled.go @@ -0,0 +1,50 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // Canceled represents canceled error. + Canceled struct { + Message string + st *status.Status + } +) + +// NewCanceled returns new Canceled error. +func NewCanceled(message string) error { + return &Canceled{ + Message: message, + } +} + +// NewCanceledf returns new Canceled error with formatted message. +func NewCanceledf(format string, args ...any) error { + return &Canceled{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *Canceled) Error() string { + return e.Message +} + +func (e *Canceled) Status() *status.Status { + if e.st != nil { + return e.st + } + + return status.New(codes.Canceled, e.Message) +} + +func newCanceled(st *status.Status) error { + return &Canceled{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/cancellation_already_requested.go b/api_next/serviceerror/cancellation_already_requested.go new file mode 100644 index 00000000..48dfd223 --- /dev/null +++ b/api_next/serviceerror/cancellation_already_requested.go @@ -0,0 +1,56 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // CancellationAlreadyRequested represents cancellation already requested error. + CancellationAlreadyRequested struct { + Message string + st *status.Status + } +) + +// NewCancellationAlreadyRequested returns new CancellationAlreadyRequested error. +func NewCancellationAlreadyRequested(message string) error { + return &CancellationAlreadyRequested{ + Message: message, + } +} + +// NewCancellationAlreadyRequestedf returns new CancellationAlreadyRequested error with formatted message. +func NewCancellationAlreadyRequestedf(format string, args ...any) error { + return &CancellationAlreadyRequested{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *CancellationAlreadyRequested) Error() string { + return e.Message +} + +func (e *CancellationAlreadyRequested) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.AlreadyExists, e.Message) + st, _ = st.WithDetails( + &errordetails.CancellationAlreadyRequestedFailure{}, + ) + return st +} + +func newCancellationAlreadyRequested(st *status.Status) error { + return &CancellationAlreadyRequested{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/client_version_not_supported.go b/api_next/serviceerror/client_version_not_supported.go new file mode 100644 index 00000000..e6d800e9 --- /dev/null +++ b/api_next/serviceerror/client_version_not_supported.go @@ -0,0 +1,72 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // ClientVersionNotSupported represents client version is not supported error. + ClientVersionNotSupported struct { + Message string + ClientVersion string + ClientName string + SupportedVersions string + st *status.Status + } +) + +// NewClientVersionNotSupported returns new ClientVersionNotSupported error. +func NewClientVersionNotSupported(clientVersion, clientName, supportedVersions string) error { + return &ClientVersionNotSupported{ + Message: fmt.Sprintf("Client version %s is not supported. Server supports %s versions: %s", clientVersion, clientName, supportedVersions), + ClientVersion: clientVersion, + ClientName: clientName, + SupportedVersions: supportedVersions, + } +} + +// NewClientVersionNotSupportedf returns new ClientVersionNotSupported error with formatted message. +func NewClientVersionNotSupportedf(clientVersion, clientName, supportedVersions, format string, args ...any) error { + return &ClientVersionNotSupported{ + Message: fmt.Sprintf(format, args...), + ClientVersion: clientVersion, + ClientName: clientName, + SupportedVersions: supportedVersions, + } +} + +// Error returns string message. +func (e *ClientVersionNotSupported) Error() string { + return e.Message +} + +func (e *ClientVersionNotSupported) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.FailedPrecondition, e.Message) + st, _ = st.WithDetails( + &errordetails.ClientVersionNotSupportedFailure{ + ClientVersion: e.ClientVersion, + ClientName: e.ClientName, + SupportedVersions: e.SupportedVersions, + }, + ) + return st +} + +func newClientVersionNotSupported(st *status.Status, errDetails *errordetails.ClientVersionNotSupportedFailure) error { + return &ClientVersionNotSupported{ + Message: st.Message(), + ClientVersion: errDetails.GetClientVersion(), + ClientName: errDetails.GetClientName(), + SupportedVersions: errDetails.GetSupportedVersions(), + st: st, + } +} diff --git a/api_next/serviceerror/convert.go b/api_next/serviceerror/convert.go new file mode 100644 index 00000000..603a176b --- /dev/null +++ b/api_next/serviceerror/convert.go @@ -0,0 +1,190 @@ +package serviceerror + +import ( + "context" + "errors" + + spb "google.golang.org/genproto/googleapis/rpc/status" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" + "go.temporal.io/api/failure/v1" +) + +// ToStatus converts service error to gRPC Status. +// If error is not a service error it returns status with code Unknown. +func ToStatus(err error) *status.Status { + if err == nil { + return status.New(codes.OK, "") + } + + if svcerr, ok := err.(ServiceError); ok { + return svcerr.Status() + } + // err does not implement ServiceError directly, but check if it wraps it. + // This path does more allocation so prefer to return a ServiceError directly if possible. + var svcerr ServiceError + if errors.As(err, &svcerr) { + s := svcerr.Status().Proto() + s.Message = err.Error() // don't lose the wrapped message + return status.FromProto(s) + } + + // Special case for context.DeadlineExceeded and context.Canceled because they can happen in unpredictable places. + if errors.Is(err, context.DeadlineExceeded) { + return status.New(codes.DeadlineExceeded, err.Error()) + } + if errors.Is(err, context.Canceled) { + return status.New(codes.Canceled, err.Error()) + } + + // Internal logic of status.Convert is: + // - if err is already Status or gRPC Status, then just return it (this should never happen though). + // - otherwise returns codes.Unknown with message from err.Error() (this might happen if some generic go error reach to this point). + return status.Convert(err) +} + +// FromStatus converts gRPC Status to service error. +func FromStatus(st *status.Status) error { + if st == nil || st.Code() == codes.OK { + return nil + } + + errDetails := extractErrorDetails(st) + + // Special case: MultiOperation error can have any status code. + if err, ok := errDetails.(*errordetails.MultiOperationExecutionFailure); ok { + errs := make([]error, len(err.Statuses)) + for i, opStatus := range err.Statuses { + errs[i] = FromStatus(status.FromProto(&spb.Status{ + Code: opStatus.Code, + Message: opStatus.Message, + Details: opStatus.Details, + })) + } + return newMultiOperationExecution(st, errs) + } + + // If there was an error during details extraction, for example unknown message type, + // which can happen when new error details are added and getting read by old clients, + // then errDetails will be of type `error` with corresponding error inside. + // This error is ignored and `serviceerror` is built using `st.Code()` only. + switch st.Code() { + case codes.DataLoss: + return newDataLoss(st) + case codes.DeadlineExceeded: + return newDeadlineExceeded(st) + case codes.Canceled: + return newCanceled(st) + case codes.Unavailable: + switch errDetails := errDetails.(type) { + case *errordetails.NamespaceUnavailableFailure: + return newNamespaceUnavailable(st, errDetails) + default: + return newUnavailable(st) + } + case codes.Unimplemented: + return newUnimplemented(st) + case codes.Unknown: + // Unwrap error message from unknown error. + return errors.New(st.Message()) + case codes.Aborted: + switch errDetails.(type) { + case *failure.MultiOperationExecutionAborted: + return newMultiOperationAborted(st) + default: + return newAborted(st) + } + case codes.Internal: + switch errDetails := errDetails.(type) { + case *errordetails.SystemWorkflowFailure: + return newSystemWorkflow(st, errDetails) + default: + return newInternal(st) + } + case codes.NotFound: + switch errDetails := errDetails.(type) { + case *errordetails.NotFoundFailure: + return newNotFound(st, errDetails) + case *errordetails.NamespaceNotFoundFailure: + return newNamespaceNotFound(st, errDetails) + default: + return newNotFound(st, nil) + } + case codes.InvalidArgument: + switch errDetails := errDetails.(type) { + case *errordetails.QueryFailedFailure: + return newQueryFailed(st, errDetails) + default: + return newInvalidArgument(st) + } + case codes.ResourceExhausted: + switch errDetails := errDetails.(type) { + case *errordetails.ResourceExhaustedFailure: + return newResourceExhausted(st, errDetails) + default: + return newResourceExhausted(st, nil) + } + case codes.AlreadyExists: + switch errDetails := errDetails.(type) { + case *errordetails.NamespaceAlreadyExistsFailure: + return newNamespaceAlreadyExists(st) + case *errordetails.WorkflowExecutionAlreadyStartedFailure: + return newWorkflowExecutionAlreadyStarted(st, errDetails) + case *errordetails.ActivityExecutionAlreadyStartedFailure: + return newActivityExecutionAlreadyStarted(st, errDetails) + case *errordetails.CancellationAlreadyRequestedFailure: + return newCancellationAlreadyRequested(st) + case *errordetails.NexusOperationExecutionAlreadyStartedFailure: + return newNexusOperationExecutionAlreadyStarted(st, errDetails) + default: + return newAlreadyExists(st) + } + case codes.FailedPrecondition: + switch errDetails := errDetails.(type) { + case *errordetails.NamespaceNotActiveFailure: + return newNamespaceNotActive(st, errDetails) + case *errordetails.NamespaceInvalidStateFailure: + return newNamespaceInvalidState(st, errDetails) + case *errordetails.ClientVersionNotSupportedFailure: + return newClientVersionNotSupported(st, errDetails) + case *errordetails.ServerVersionNotSupportedFailure: + return newServerVersionNotSupported(st, errDetails) + case *errordetails.WorkflowNotReadyFailure: + return newWorkflowNotReady(st) + default: + return newFailedPrecondition(st) + } + case codes.PermissionDenied: + switch errDetails := errDetails.(type) { + case *errordetails.PermissionDeniedFailure: + return newPermissionDenied(st, errDetails) + default: + return newPermissionDenied(st, nil) + } + case codes.OutOfRange: + switch errDetails := errDetails.(type) { + case *errordetails.NewerBuildExistsFailure: + return newNewerBuildExists(st, errDetails) + default: + // fall through to st.Err() + } + // Unsupported code: + case codes.Unauthenticated: + // fall through to st.Err() + } + + // `st.Code()` has unknown value (should never happen). + // Use standard gRPC error representation "rpc error: code = %s desc = %s". + return st.Err() +} + +func extractErrorDetails(st *status.Status) any { + details := st.Details() + if len(details) > 0 { + return details[0] + } + + return nil +} diff --git a/api_next/serviceerror/data_loss.go b/api_next/serviceerror/data_loss.go new file mode 100644 index 00000000..2c229f63 --- /dev/null +++ b/api_next/serviceerror/data_loss.go @@ -0,0 +1,50 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // DataLoss represents data loss error. + DataLoss struct { + Message string + st *status.Status + } +) + +// NewDataLoss returns new DataLoss error. +func NewDataLoss(message string) error { + return &DataLoss{ + Message: message, + } +} + +// NewDataLossf returns new DataLoss error with formatted message. +func NewDataLossf(format string, args ...any) error { + return &DataLoss{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *DataLoss) Error() string { + return e.Message +} + +func (e *DataLoss) Status() *status.Status { + if e.st != nil { + return e.st + } + + return status.New(codes.DataLoss, e.Message) +} + +func newDataLoss(st *status.Status) error { + return &DataLoss{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/deadline_exceeded.go b/api_next/serviceerror/deadline_exceeded.go new file mode 100644 index 00000000..8bb97f1a --- /dev/null +++ b/api_next/serviceerror/deadline_exceeded.go @@ -0,0 +1,50 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // DeadlineExceeded represents deadline exceeded error. + DeadlineExceeded struct { + Message string + st *status.Status + } +) + +// NewDeadlineExceeded returns new DeadlineExceeded error. +func NewDeadlineExceeded(message string) error { + return &DeadlineExceeded{ + Message: message, + } +} + +// NewDeadlineExceededf returns new DeadlineExceeded error with formatted message. +func NewDeadlineExceededf(format string, args ...any) error { + return &DeadlineExceeded{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *DeadlineExceeded) Error() string { + return e.Message +} + +func (e *DeadlineExceeded) Status() *status.Status { + if e.st != nil { + return e.st + } + + return status.New(codes.DeadlineExceeded, e.Message) +} + +func newDeadlineExceeded(st *status.Status) error { + return &DeadlineExceeded{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/failed_precondition.go b/api_next/serviceerror/failed_precondition.go new file mode 100644 index 00000000..570b5888 --- /dev/null +++ b/api_next/serviceerror/failed_precondition.go @@ -0,0 +1,50 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // FailedPrecondition represents failed precondition error. + FailedPrecondition struct { + Message string + st *status.Status + } +) + +// NewFailedPrecondition returns new FailedPrecondition error. +func NewFailedPrecondition(message string) error { + return &FailedPrecondition{ + Message: message, + } +} + +// NewFailedPreconditionf returns new FailedPrecondition error with formatted message. +func NewFailedPreconditionf(format string, args ...any) error { + return &FailedPrecondition{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *FailedPrecondition) Error() string { + return e.Message +} + +func (e *FailedPrecondition) Status() *status.Status { + if e.st != nil { + return e.st + } + + return status.New(codes.FailedPrecondition, e.Message) +} + +func newFailedPrecondition(st *status.Status) error { + return &FailedPrecondition{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/internal.go b/api_next/serviceerror/internal.go new file mode 100644 index 00000000..0ea5ca63 --- /dev/null +++ b/api_next/serviceerror/internal.go @@ -0,0 +1,50 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // Internal represents internal error. + Internal struct { + Message string + st *status.Status + } +) + +// NewInternal returns new Internal error. +func NewInternal(message string) error { + return &Internal{ + Message: message, + } +} + +// NewInternalf returns new Internal error with formatted message. +func NewInternalf(format string, args ...any) error { + return &Internal{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *Internal) Error() string { + return e.Message +} + +func (e *Internal) Status() *status.Status { + if e.st != nil { + return e.st + } + + return status.New(codes.Internal, e.Message) +} + +func newInternal(st *status.Status) error { + return &Internal{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/invalid_argument.go b/api_next/serviceerror/invalid_argument.go new file mode 100644 index 00000000..b29fdf97 --- /dev/null +++ b/api_next/serviceerror/invalid_argument.go @@ -0,0 +1,50 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // InvalidArgument represents invalid argument error. + InvalidArgument struct { + Message string + st *status.Status + } +) + +// NewInvalidArgument returns new InvalidArgument error. +func NewInvalidArgument(message string) error { + return &InvalidArgument{ + Message: message, + } +} + +// NewInvalidArgumentf returns new InvalidArgument error with formatted message. +func NewInvalidArgumentf(format string, args ...any) error { + return &InvalidArgument{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *InvalidArgument) Error() string { + return e.Message +} + +func (e *InvalidArgument) Status() *status.Status { + if e.st != nil { + return e.st + } + + return status.New(codes.InvalidArgument, e.Message) +} + +func newInvalidArgument(st *status.Status) error { + return &InvalidArgument{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/multi_op.go b/api_next/serviceerror/multi_op.go new file mode 100644 index 00000000..752c4b02 --- /dev/null +++ b/api_next/serviceerror/multi_op.go @@ -0,0 +1,78 @@ +package serviceerror + +import ( + "errors" + "fmt" + + "go.temporal.io/api/errordetails/v1" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +// MultiOperationExecution represents a MultiOperationExecution error. +type MultiOperationExecution struct { + Message string + errs []error + st *status.Status +} + +// NewMultiOperationExecution returns a new MultiOperationExecution error. +func NewMultiOperationExecution(message string, errs []error) error { + return &MultiOperationExecution{Message: message, errs: errs} +} + +// NewMultiOperationExecutionf returns a new MultiOperationExecution error with formatted message. +func NewMultiOperationExecutionf(errs []error, format string, args ...any) error { + return &MultiOperationExecution{Message: fmt.Sprintf(format, args...), errs: errs} +} + +// Error returns string message. +func (e *MultiOperationExecution) Error() string { + return e.Message +} + +func (e *MultiOperationExecution) OperationErrors() []error { + return e.errs +} + +func (e *MultiOperationExecution) Status() *status.Status { + var code *codes.Code + failure := &errordetails.MultiOperationExecutionFailure{ + Statuses: make([]*errordetails.MultiOperationExecutionFailure_OperationStatus, len(e.errs)), + } + + var abortedErr *MultiOperationAborted + for i, err := range e.errs { + st := ToStatus(err) + + // the first non-OK and non-Aborted code becomes the code for the entire Status + if code == nil && st.Code() != codes.OK && !errors.As(err, &abortedErr) { + c := st.Code() + code = &c + } + + failure.Statuses[i] = &errordetails.MultiOperationExecutionFailure_OperationStatus{ + Code: int32(st.Code()), + Message: st.Message(), + Details: st.Proto().Details, + } + } + + // this should never happen, but it's better to set it to `Aborted` than to panic + if code == nil { + c := codes.Aborted + code = &c + } + + st := status.New(*code, e.Error()) + st, _ = st.WithDetails(failure) + return st +} + +func newMultiOperationExecution(st *status.Status, errs []error) error { + return &MultiOperationExecution{ + Message: st.Message(), + errs: errs, + st: st, + } +} diff --git a/api_next/serviceerror/multi_op_aborted.go b/api_next/serviceerror/multi_op_aborted.go new file mode 100644 index 00000000..11906944 --- /dev/null +++ b/api_next/serviceerror/multi_op_aborted.go @@ -0,0 +1,51 @@ +package serviceerror + +import ( + "fmt" + + failurepb "go.temporal.io/api/failure/v1" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +// MultiOperationAborted represents an aborted operation from a MultiOperationExecution. +type MultiOperationAborted struct { + Message string + st *status.Status +} + +// NewMultiOperationAborted returns MultiOperationAborted. +func NewMultiOperationAborted(message string) error { + return &MultiOperationAborted{ + Message: message, + } +} + +// NewMultiOperationAbortedf returns MultiOperationAborted with formatted message. +func NewMultiOperationAbortedf(format string, args ...any) error { + return &MultiOperationAborted{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e MultiOperationAborted) Error() string { + return e.Message +} + +func (e MultiOperationAborted) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.Aborted, e.Error()) + st, _ = st.WithDetails(&failurepb.MultiOperationExecutionAborted{}) + return st +} + +func newMultiOperationAborted(st *status.Status) error { + return &MultiOperationAborted{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/namespace_already_exists.go b/api_next/serviceerror/namespace_already_exists.go new file mode 100644 index 00000000..c09eddff --- /dev/null +++ b/api_next/serviceerror/namespace_already_exists.go @@ -0,0 +1,56 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // NamespaceAlreadyExists represents namespace already exists error. + NamespaceAlreadyExists struct { + Message string + st *status.Status + } +) + +// NewNamespaceAlreadyExists returns new NamespaceAlreadyExists error. +func NewNamespaceAlreadyExists(message string) error { + return &NamespaceAlreadyExists{ + Message: message, + } +} + +// NewNamespaceAlreadyExistsf returns new NamespaceAlreadyExists error with formatted message. +func NewNamespaceAlreadyExistsf(format string, args ...any) error { + return &NamespaceAlreadyExists{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *NamespaceAlreadyExists) Error() string { + return e.Message +} + +func (e *NamespaceAlreadyExists) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.AlreadyExists, e.Message) + st, _ = st.WithDetails( + &errordetails.NamespaceAlreadyExistsFailure{}, + ) + return st +} + +func newNamespaceAlreadyExists(st *status.Status) error { + return &NamespaceAlreadyExists{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/namespace_invalid_state.go b/api_next/serviceerror/namespace_invalid_state.go new file mode 100644 index 00000000..a729119c --- /dev/null +++ b/api_next/serviceerror/namespace_invalid_state.go @@ -0,0 +1,72 @@ +package serviceerror + +import ( + "fmt" + "strings" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + enumspb "go.temporal.io/api/enums/v1" + "go.temporal.io/api/errordetails/v1" +) + +type ( + // NamespaceInvalidState represents namespace not active error. + NamespaceInvalidState struct { + Message string + Namespace string + State enumspb.NamespaceState + AllowedStates []enumspb.NamespaceState + st *status.Status + } +) + +// NewNamespaceInvalidState returns new NamespaceInvalidState error. +func NewNamespaceInvalidState(namespace string, state enumspb.NamespaceState, allowedStates []enumspb.NamespaceState) error { + var allowedStatesStr []string + for _, allowedState := range allowedStates { + allowedStatesStr = append(allowedStatesStr, allowedState.String()) + } + return &NamespaceInvalidState{ + Message: fmt.Sprintf( + "Namespace has invalid state: %s. Must be %s.", + state, + strings.Join(allowedStatesStr, " or "), + ), + Namespace: namespace, + State: state, + AllowedStates: allowedStates, + } +} + +// Error returns string message. +func (e *NamespaceInvalidState) Error() string { + return e.Message +} + +func (e *NamespaceInvalidState) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.FailedPrecondition, e.Message) + st, _ = st.WithDetails( + &errordetails.NamespaceInvalidStateFailure{ + Namespace: e.Namespace, + State: e.State, + AllowedStates: e.AllowedStates, + }, + ) + return st +} + +func newNamespaceInvalidState(st *status.Status, errDetails *errordetails.NamespaceInvalidStateFailure) error { + return &NamespaceInvalidState{ + Message: st.Message(), + Namespace: errDetails.GetNamespace(), + State: errDetails.GetState(), + AllowedStates: errDetails.GetAllowedStates(), + st: st, + } +} diff --git a/api_next/serviceerror/namespace_not_active.go b/api_next/serviceerror/namespace_not_active.go new file mode 100644 index 00000000..e15931b7 --- /dev/null +++ b/api_next/serviceerror/namespace_not_active.go @@ -0,0 +1,67 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // NamespaceNotActive represents namespace not active error. + NamespaceNotActive struct { + Message string + Namespace string + CurrentCluster string + ActiveCluster string + st *status.Status + } +) + +// NewNamespaceNotActive returns new NamespaceNotActive error. +func NewNamespaceNotActive(namespace, currentCluster, activeCluster string) error { + return &NamespaceNotActive{ + Message: fmt.Sprintf( + "Namespace: %s is active in cluster: %s, while current cluster %s is a standby cluster.", + namespace, + activeCluster, + currentCluster, + ), + Namespace: namespace, + CurrentCluster: currentCluster, + ActiveCluster: activeCluster, + } +} + +// Error returns string message. +func (e *NamespaceNotActive) Error() string { + return e.Message +} + +func (e *NamespaceNotActive) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.FailedPrecondition, e.Message) + st, _ = st.WithDetails( + &errordetails.NamespaceNotActiveFailure{ + Namespace: e.Namespace, + CurrentCluster: e.CurrentCluster, + ActiveCluster: e.ActiveCluster, + }, + ) + return st +} + +func newNamespaceNotActive(st *status.Status, errDetails *errordetails.NamespaceNotActiveFailure) error { + return &NamespaceNotActive{ + Message: st.Message(), + Namespace: errDetails.GetNamespace(), + CurrentCluster: errDetails.GetCurrentCluster(), + ActiveCluster: errDetails.GetActiveCluster(), + st: st, + } +} diff --git a/api_next/serviceerror/namespace_not_found.go b/api_next/serviceerror/namespace_not_found.go new file mode 100644 index 00000000..c40eaada --- /dev/null +++ b/api_next/serviceerror/namespace_not_found.go @@ -0,0 +1,57 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // NamespaceNotFound represents namespace not found error. + NamespaceNotFound struct { + Message string + Namespace string + st *status.Status + } +) + +// NewNamespaceNotFound returns new NamespaceNotFound error. +func NewNamespaceNotFound(namespace string) error { + return &NamespaceNotFound{ + Message: fmt.Sprintf( + "Namespace %s is not found.", + namespace, + ), + Namespace: namespace, + } +} + +// Error returns string message. +func (e *NamespaceNotFound) Error() string { + return e.Message +} + +func (e *NamespaceNotFound) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.NotFound, e.Message) + st, _ = st.WithDetails( + &errordetails.NamespaceNotFoundFailure{ + Namespace: e.Namespace, + }, + ) + return st +} + +func newNamespaceNotFound(st *status.Status, errDetails *errordetails.NamespaceNotFoundFailure) error { + return &NamespaceNotFound{ + Message: st.Message(), + Namespace: errDetails.GetNamespace(), + st: st, + } +} diff --git a/api_next/serviceerror/namespace_unavailable.go b/api_next/serviceerror/namespace_unavailable.go new file mode 100644 index 00000000..8b7357da --- /dev/null +++ b/api_next/serviceerror/namespace_unavailable.go @@ -0,0 +1,59 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // NamespaceUnavailable is returned by the service when a request addresses a namespace that is unavailable. For + // example, when a namespace is in the process of failing over between clusters. This is a transient error that + // should be automatically retried by clients. + NamespaceUnavailable struct { + Namespace string + st *status.Status + } +) + +// NewNamespaceUnavailable returns new NamespaceUnavailable error. +func NewNamespaceUnavailable(namespace string) error { + return &NamespaceUnavailable{ + Namespace: namespace, + } +} + +// Error returns string message. +func (e *NamespaceUnavailable) Error() string { + // No need to do a nil check, that's handled in Message(). + if e.st.Message() != "" { + return e.st.Message() + } + // Continuing the practice of starting errors with upper case and ending with periods even if it's not + // idiomatic. + return fmt.Sprintf("Namespace unavailable: %q.", e.Namespace) +} + +func (e *NamespaceUnavailable) Status() *status.Status { + if e.st != nil { + return e.st + } + st := status.New(codes.Unavailable, e.Error()) + // We seem to be okay ignoring these errors everywhere else, doing this here too. + st, _ = st.WithDetails( + &errordetails.NamespaceUnavailableFailure{ + Namespace: e.Namespace, + }, + ) + return st +} + +func newNamespaceUnavailable(st *status.Status, errDetails *errordetails.NamespaceUnavailableFailure) error { + return &NamespaceUnavailable{ + st: st, + Namespace: errDetails.GetNamespace(), + } +} diff --git a/api_next/serviceerror/newer_build_exists.go b/api_next/serviceerror/newer_build_exists.go new file mode 100644 index 00000000..271a5554 --- /dev/null +++ b/api_next/serviceerror/newer_build_exists.go @@ -0,0 +1,55 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // NewerBuildExists is returned to a poll request from a build that has been superceded by + // a newer build in versioning metadata. + NewerBuildExists struct { + Message string + DefaultBuildID string + st *status.Status + } +) + +// NewNewerBuildExists returns new NewerBuildExists error. +func NewNewerBuildExists(defaultBuildID string) error { + return &NewerBuildExists{ + Message: fmt.Sprintf("Task queue has a newer compatible build: %q", defaultBuildID), + DefaultBuildID: defaultBuildID, + } +} + +// Error returns string message. +func (e *NewerBuildExists) Error() string { + return e.Message +} + +func (e *NewerBuildExists) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.OutOfRange, e.Message) + st, _ = st.WithDetails( + &errordetails.NewerBuildExistsFailure{ + DefaultBuildId: e.DefaultBuildID, + }, + ) + return st +} + +func newNewerBuildExists(st *status.Status, errDetails *errordetails.NewerBuildExistsFailure) error { + return &NewerBuildExists{ + Message: st.Message(), + DefaultBuildID: errDetails.GetDefaultBuildId(), + st: st, + } +} diff --git a/api_next/serviceerror/nexus_operation_execution_already_started.go b/api_next/serviceerror/nexus_operation_execution_already_started.go new file mode 100644 index 00000000..41e3dcdb --- /dev/null +++ b/api_next/serviceerror/nexus_operation_execution_already_started.go @@ -0,0 +1,67 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // NexusOperationExecutionAlreadyStarted represents a nexus operation execution already started error. + NexusOperationExecutionAlreadyStarted struct { + Message string + StartRequestId string + RunId string + st *status.Status + } +) + +// NewNexusOperationExecutionAlreadyStarted returns new NexusOperationExecutionAlreadyStarted error. +func NewNexusOperationExecutionAlreadyStarted(message, startRequestId, runId string) error { + return &NexusOperationExecutionAlreadyStarted{ + Message: message, + StartRequestId: startRequestId, + RunId: runId, + } +} + +// NewNexusOperationExecutionAlreadyStartedf returns new NexusOperationExecutionAlreadyStarted error with formatted message. +func NewNexusOperationExecutionAlreadyStartedf(startRequestId, runId, format string, args ...any) error { + return &NexusOperationExecutionAlreadyStarted{ + Message: fmt.Sprintf(format, args...), + StartRequestId: startRequestId, + RunId: runId, + } +} + +// Error returns string message. +func (e *NexusOperationExecutionAlreadyStarted) Error() string { + return e.Message +} + +func (e *NexusOperationExecutionAlreadyStarted) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.AlreadyExists, e.Message) + st, _ = st.WithDetails( + &errordetails.NexusOperationExecutionAlreadyStartedFailure{ + StartRequestId: e.StartRequestId, + RunId: e.RunId, + }, + ) + return st +} + +func newNexusOperationExecutionAlreadyStarted(st *status.Status, errDetails *errordetails.NexusOperationExecutionAlreadyStartedFailure) error { + return &NexusOperationExecutionAlreadyStarted{ + Message: st.Message(), + StartRequestId: errDetails.GetStartRequestId(), + RunId: errDetails.GetRunId(), + st: st, + } +} diff --git a/api_next/serviceerror/not_found.go b/api_next/serviceerror/not_found.go new file mode 100644 index 00000000..f9e65c5d --- /dev/null +++ b/api_next/serviceerror/not_found.go @@ -0,0 +1,63 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // NotFound represents not found error. + NotFound struct { + Message string + CurrentCluster string + ActiveCluster string + st *status.Status + } +) + +// NewNotFound returns new NotFound error. +func NewNotFound(message string) error { + return &NotFound{ + Message: message, + } +} + +// NewNotFoundf returns new NotFound error with formatted message. +func NewNotFoundf(format string, args ...any) error { + return &NotFound{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *NotFound) Error() string { + return e.Message +} + +func (e *NotFound) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.NotFound, e.Message) + st, _ = st.WithDetails( + &errordetails.NotFoundFailure{ + CurrentCluster: e.CurrentCluster, + ActiveCluster: e.ActiveCluster, + }, + ) + return st +} + +func newNotFound(st *status.Status, errDetails *errordetails.NotFoundFailure) error { + return &NotFound{ + Message: st.Message(), + CurrentCluster: errDetails.GetCurrentCluster(), + ActiveCluster: errDetails.GetActiveCluster(), + st: st, + } +} diff --git a/api_next/serviceerror/permission_denied.go b/api_next/serviceerror/permission_denied.go new file mode 100644 index 00000000..aa855793 --- /dev/null +++ b/api_next/serviceerror/permission_denied.go @@ -0,0 +1,61 @@ +package serviceerror + +import ( + "fmt" + + "go.temporal.io/api/errordetails/v1" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // PermissionDenied represents permission denied error. + PermissionDenied struct { + Message string + Reason string + st *status.Status + } +) + +// NewPermissionDenied returns new PermissionDenied error. +func NewPermissionDenied(message, reason string) error { + return &PermissionDenied{ + Message: message, + Reason: reason, + } +} + +// NewPermissionDeniedf returns new PermissionDenied error with formatted message. +func NewPermissionDeniedf(reason, format string, args ...any) error { + return &PermissionDenied{ + Message: fmt.Sprintf(format, args...), + Reason: reason, + } +} + +// Error returns string message. +func (e *PermissionDenied) Error() string { + return e.Message +} + +func (e *PermissionDenied) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.PermissionDenied, e.Message) + st, _ = st.WithDetails( + &errordetails.PermissionDeniedFailure{ + Reason: e.Reason, + }, + ) + return st +} + +func newPermissionDenied(st *status.Status, errDetails *errordetails.PermissionDeniedFailure) error { + return &PermissionDenied{ + Message: st.Message(), + Reason: errDetails.GetReason(), + st: st, + } +} diff --git a/api_next/serviceerror/query_failed.go b/api_next/serviceerror/query_failed.go new file mode 100644 index 00000000..4ce10065 --- /dev/null +++ b/api_next/serviceerror/query_failed.go @@ -0,0 +1,78 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" + "go.temporal.io/api/failure/v1" +) + +type ( + // QueryFailed represents query failed error. + QueryFailed struct { + Message string + // The full reason for this query failure. May not be available if the response is generated by an old SDK. + Failure *failure.Failure + st *status.Status + } +) + +// NewQueryFailed returns new QueryFailed error. +func NewQueryFailed(message string) error { + return &QueryFailed{ + Message: message, + } +} + +// NewQueryFailedf returns new QueryFailed error with formatted message. +func NewQueryFailedf(format string, args ...any) error { + return &QueryFailed{ + Message: fmt.Sprintf(format, args...), + } +} + +// NewQueryFailed returns new QueryFailed error. +func NewQueryFailedWithFailure(message string, failure *failure.Failure) error { + return &QueryFailed{ + Message: message, + Failure: failure, + } +} + +// NewQueryFailedWithFailuref returns new QueryFailed error with failure and formatted message. +func NewQueryFailedWithFailuref(failure *failure.Failure, format string, args ...any) error { + return &QueryFailed{ + Message: fmt.Sprintf(format, args...), + Failure: failure, + } +} + +// Error returns string message. +func (e *QueryFailed) Error() string { + return e.Message +} + +func (e *QueryFailed) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.InvalidArgument, e.Message) + st, _ = st.WithDetails( + &errordetails.QueryFailedFailure{ + Failure: e.Failure, + }, + ) + return st +} + +func newQueryFailed(st *status.Status, errDetails *errordetails.QueryFailedFailure) error { + return &QueryFailed{ + Message: st.Message(), + Failure: errDetails.Failure, + st: st, + } +} diff --git a/api_next/serviceerror/resource_exhausted.go b/api_next/serviceerror/resource_exhausted.go new file mode 100644 index 00000000..faeb3a3e --- /dev/null +++ b/api_next/serviceerror/resource_exhausted.go @@ -0,0 +1,66 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + enumspb "go.temporal.io/api/enums/v1" + "go.temporal.io/api/errordetails/v1" +) + +type ( + // ResourceExhausted represents resource exhausted error. + ResourceExhausted struct { + Cause enumspb.ResourceExhaustedCause + Scope enumspb.ResourceExhaustedScope + Message string + st *status.Status + } +) + +// NewResourceExhausted returns new ResourceExhausted error. +func NewResourceExhausted(cause enumspb.ResourceExhaustedCause, message string) error { + return &ResourceExhausted{ + Cause: cause, + Message: message, + } +} + +// NewResourceExhaustedf returns new ResourceExhausted error with formatted message. +func NewResourceExhaustedf(cause enumspb.ResourceExhaustedCause, format string, args ...any) error { + return &ResourceExhausted{ + Cause: cause, + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *ResourceExhausted) Error() string { + return e.Message +} + +func (e *ResourceExhausted) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.ResourceExhausted, e.Message) + st, _ = st.WithDetails( + &errordetails.ResourceExhaustedFailure{ + Cause: e.Cause, + Scope: e.Scope, + }, + ) + return st +} + +func newResourceExhausted(st *status.Status, errDetails *errordetails.ResourceExhaustedFailure) error { + return &ResourceExhausted{ + Cause: errDetails.GetCause(), + Scope: errDetails.GetScope(), + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/server_version_not_supported.go b/api_next/serviceerror/server_version_not_supported.go new file mode 100644 index 00000000..7f427eea --- /dev/null +++ b/api_next/serviceerror/server_version_not_supported.go @@ -0,0 +1,58 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // ServerVersionNotSupported represents client version is not supported error. + ServerVersionNotSupported struct { + Message string + ServerVersion string + ClientSupportedServerVersions string + st *status.Status + } +) + +// NewServerVersionNotSupported returns new ServerVersionNotSupported error. +func NewServerVersionNotSupported(serverVersion, supportedVersions string) error { + return &ServerVersionNotSupported{ + Message: fmt.Sprintf("Server version %s is not supported. Client supports server versions: %s", serverVersion, supportedVersions), + ServerVersion: serverVersion, + ClientSupportedServerVersions: supportedVersions, + } +} + +// Error returns string message. +func (e *ServerVersionNotSupported) Error() string { + return e.Message +} + +func (e *ServerVersionNotSupported) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.FailedPrecondition, e.Message) + st, _ = st.WithDetails( + &errordetails.ServerVersionNotSupportedFailure{ + ServerVersion: e.ServerVersion, + ClientSupportedServerVersions: e.ClientSupportedServerVersions, + }, + ) + return st +} + +func newServerVersionNotSupported(st *status.Status, errDetails *errordetails.ServerVersionNotSupportedFailure) error { + return &ServerVersionNotSupported{ + Message: st.Message(), + ServerVersion: errDetails.GetServerVersion(), + ClientSupportedServerVersions: errDetails.GetClientSupportedServerVersions(), + st: st, + } +} diff --git a/api_next/serviceerror/serviceerror.go b/api_next/serviceerror/serviceerror.go new file mode 100644 index 00000000..94e2c8a7 --- /dev/null +++ b/api_next/serviceerror/serviceerror.go @@ -0,0 +1,10 @@ +package serviceerror + +import "google.golang.org/grpc/status" + +type ( + ServiceError interface { + error + Status() *status.Status + } +) diff --git a/api_next/serviceerror/system_workflow.go b/api_next/serviceerror/system_workflow.go new file mode 100644 index 00000000..58d62aaf --- /dev/null +++ b/api_next/serviceerror/system_workflow.go @@ -0,0 +1,66 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/common/v1" + "go.temporal.io/api/errordetails/v1" +) + +type ( + // SystemWorkflow represents an error that happens during execution of the underlying system workflow + SystemWorkflow struct { + WorkflowExecution *common.WorkflowExecution + WorkflowError string + st *status.Status + } +) + +// NewSystemWorkflow returns new SystemWorkflow error. +func NewSystemWorkflow(workflowExecution *common.WorkflowExecution, workflowError error) error { + return &SystemWorkflow{ + WorkflowExecution: workflowExecution, + WorkflowError: workflowError.Error(), + } +} + +// NewSystemWorkflowf returns new SystemWorkflow error with formatted workflow error. +func NewSystemWorkflowf(workflowExecution *common.WorkflowExecution, format string, args ...any) error { + return &SystemWorkflow{ + WorkflowExecution: workflowExecution, + WorkflowError: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *SystemWorkflow) Error() string { + execution := e.WorkflowExecution + return fmt.Sprintf("System Workflow with WorkflowId %s and RunId %s returned an error: %s", + execution.WorkflowId, execution.RunId, e.WorkflowError) +} + +func (e *SystemWorkflow) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.Internal, e.Error()) + st, _ = st.WithDetails( + &errordetails.SystemWorkflowFailure{ + WorkflowExecution: e.WorkflowExecution, + WorkflowError: e.WorkflowError, + }, + ) + return st +} + +func newSystemWorkflow(st *status.Status, errDetails *errordetails.SystemWorkflowFailure) error { + return &SystemWorkflow{ + WorkflowExecution: errDetails.WorkflowExecution, + WorkflowError: errDetails.WorkflowError, + st: st, + } +} diff --git a/api_next/serviceerror/unavailable.go b/api_next/serviceerror/unavailable.go new file mode 100644 index 00000000..6af652ca --- /dev/null +++ b/api_next/serviceerror/unavailable.go @@ -0,0 +1,50 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // Unavailable represents unavailable error. + Unavailable struct { + Message string + st *status.Status + } +) + +// NewUnavailable returns new Unavailable error. +func NewUnavailable(message string) error { + return &Unavailable{ + Message: message, + } +} + +// NewUnavailablef returns new Unavailable error with formatted message. +func NewUnavailablef(format string, args ...any) error { + return &Unavailable{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *Unavailable) Error() string { + return e.Message +} + +func (e *Unavailable) Status() *status.Status { + if e.st != nil { + return e.st + } + + return status.New(codes.Unavailable, e.Message) +} + +func newUnavailable(st *status.Status) error { + return &Unavailable{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/unimplemented.go b/api_next/serviceerror/unimplemented.go new file mode 100644 index 00000000..f41cd226 --- /dev/null +++ b/api_next/serviceerror/unimplemented.go @@ -0,0 +1,50 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" +) + +type ( + // Unimplemented represents unimplemented error. + Unimplemented struct { + Message string + st *status.Status + } +) + +// NewUnimplemented returns new Unimplemented error. +func NewUnimplemented(message string) error { + return &Unimplemented{ + Message: message, + } +} + +// NewUnimplementedf returns new Unimplemented error with formatted message. +func NewUnimplementedf(format string, args ...any) error { + return &Unimplemented{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *Unimplemented) Error() string { + return e.Message +} + +func (e *Unimplemented) Status() *status.Status { + if e.st != nil { + return e.st + } + + return status.New(codes.Unimplemented, e.Message) +} + +func newUnimplemented(st *status.Status) error { + return &Unimplemented{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/serviceerror/workflow_execution_already_started.go b/api_next/serviceerror/workflow_execution_already_started.go new file mode 100644 index 00000000..9bf8bba2 --- /dev/null +++ b/api_next/serviceerror/workflow_execution_already_started.go @@ -0,0 +1,67 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // WorkflowExecutionAlreadyStarted represents workflow execution already started error. + WorkflowExecutionAlreadyStarted struct { + Message string + StartRequestId string + RunId string + st *status.Status + } +) + +// NewWorkflowExecutionAlreadyStarted returns new WorkflowExecutionAlreadyStarted error. +func NewWorkflowExecutionAlreadyStarted(message, startRequestId, runId string) error { + return &WorkflowExecutionAlreadyStarted{ + Message: message, + StartRequestId: startRequestId, + RunId: runId, + } +} + +// NewWorkflowExecutionAlreadyStartedf returns new WorkflowExecutionAlreadyStarted error with formatted message. +func NewWorkflowExecutionAlreadyStartedf(startRequestId, runId, format string, args ...any) error { + return &WorkflowExecutionAlreadyStarted{ + Message: fmt.Sprintf(format, args...), + StartRequestId: startRequestId, + RunId: runId, + } +} + +// Error returns string message. +func (e *WorkflowExecutionAlreadyStarted) Error() string { + return e.Message +} + +func (e *WorkflowExecutionAlreadyStarted) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.AlreadyExists, e.Message) + st, _ = st.WithDetails( + &errordetails.WorkflowExecutionAlreadyStartedFailure{ + StartRequestId: e.StartRequestId, + RunId: e.RunId, + }, + ) + return st +} + +func newWorkflowExecutionAlreadyStarted(st *status.Status, errDetails *errordetails.WorkflowExecutionAlreadyStartedFailure) error { + return &WorkflowExecutionAlreadyStarted{ + Message: st.Message(), + StartRequestId: errDetails.GetStartRequestId(), + RunId: errDetails.GetRunId(), + st: st, + } +} diff --git a/api_next/serviceerror/workflow_not_ready.go b/api_next/serviceerror/workflow_not_ready.go new file mode 100644 index 00000000..f0e47c9e --- /dev/null +++ b/api_next/serviceerror/workflow_not_ready.go @@ -0,0 +1,56 @@ +package serviceerror + +import ( + "fmt" + + "google.golang.org/grpc/codes" + "google.golang.org/grpc/status" + + "go.temporal.io/api/errordetails/v1" +) + +type ( + // WorkflowNotReady represents workflow state is not ready to handle the request error. + WorkflowNotReady struct { + Message string + st *status.Status + } +) + +// NewWorkflowNotReady returns new WorkflowNotReady +func NewWorkflowNotReady(message string) error { + return &WorkflowNotReady{ + Message: message, + } +} + +// NewWorkflowNotReadyf returns new WorkflowNotReady error with formatted message. +func NewWorkflowNotReadyf(format string, args ...any) error { + return &WorkflowNotReady{ + Message: fmt.Sprintf(format, args...), + } +} + +// Error returns string message. +func (e *WorkflowNotReady) Error() string { + return e.Message +} + +func (e *WorkflowNotReady) Status() *status.Status { + if e.st != nil { + return e.st + } + + st := status.New(codes.FailedPrecondition, e.Message) + st, _ = st.WithDetails( + &errordetails.WorkflowNotReadyFailure{}, + ) + return st +} + +func newWorkflowNotReady(st *status.Status) error { + return &WorkflowNotReady{ + Message: st.Message(), + st: st, + } +} diff --git a/api_next/taskqueue/v1/message.go-helpers.pb.go b/api_next/taskqueue/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..8d295085 --- /dev/null +++ b/api_next/taskqueue/v1/message.go-helpers.pb.go @@ -0,0 +1,968 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package taskqueue + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type TaskQueue to the protobuf v3 wire format +func (val *TaskQueue) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueue from the protobuf v3 wire format +func (val *TaskQueue) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueue) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueue values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueue) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueue + switch t := that.(type) { + case *TaskQueue: + that1 = t + case TaskQueue: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueueMetadata to the protobuf v3 wire format +func (val *TaskQueueMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueueMetadata from the protobuf v3 wire format +func (val *TaskQueueMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueueMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueueMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueueMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueueMetadata + switch t := that.(type) { + case *TaskQueueMetadata: + that1 = t + case TaskQueueMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueueVersioningInfo to the protobuf v3 wire format +func (val *TaskQueueVersioningInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueueVersioningInfo from the protobuf v3 wire format +func (val *TaskQueueVersioningInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueueVersioningInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueueVersioningInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueueVersioningInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueueVersioningInfo + switch t := that.(type) { + case *TaskQueueVersioningInfo: + that1 = t + case TaskQueueVersioningInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueueVersionSelection to the protobuf v3 wire format +func (val *TaskQueueVersionSelection) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueueVersionSelection from the protobuf v3 wire format +func (val *TaskQueueVersionSelection) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueueVersionSelection) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueueVersionSelection values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueueVersionSelection) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueueVersionSelection + switch t := that.(type) { + case *TaskQueueVersionSelection: + that1 = t + case TaskQueueVersionSelection: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueueVersionInfo to the protobuf v3 wire format +func (val *TaskQueueVersionInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueueVersionInfo from the protobuf v3 wire format +func (val *TaskQueueVersionInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueueVersionInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueueVersionInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueueVersionInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueueVersionInfo + switch t := that.(type) { + case *TaskQueueVersionInfo: + that1 = t + case TaskQueueVersionInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueueTypeInfo to the protobuf v3 wire format +func (val *TaskQueueTypeInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueueTypeInfo from the protobuf v3 wire format +func (val *TaskQueueTypeInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueueTypeInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueueTypeInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueueTypeInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueueTypeInfo + switch t := that.(type) { + case *TaskQueueTypeInfo: + that1 = t + case TaskQueueTypeInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueueStats to the protobuf v3 wire format +func (val *TaskQueueStats) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueueStats from the protobuf v3 wire format +func (val *TaskQueueStats) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueueStats) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueueStats values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueueStats) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueueStats + switch t := that.(type) { + case *TaskQueueStats: + that1 = t + case TaskQueueStats: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueueStatus to the protobuf v3 wire format +func (val *TaskQueueStatus) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueueStatus from the protobuf v3 wire format +func (val *TaskQueueStatus) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueueStatus) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueueStatus values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueueStatus) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueueStatus + switch t := that.(type) { + case *TaskQueueStatus: + that1 = t + case TaskQueueStatus: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskIdBlock to the protobuf v3 wire format +func (val *TaskIdBlock) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskIdBlock from the protobuf v3 wire format +func (val *TaskIdBlock) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskIdBlock) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskIdBlock values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskIdBlock) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskIdBlock + switch t := that.(type) { + case *TaskIdBlock: + that1 = t + case TaskIdBlock: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueuePartitionMetadata to the protobuf v3 wire format +func (val *TaskQueuePartitionMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueuePartitionMetadata from the protobuf v3 wire format +func (val *TaskQueuePartitionMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueuePartitionMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueuePartitionMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueuePartitionMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueuePartitionMetadata + switch t := that.(type) { + case *TaskQueuePartitionMetadata: + that1 = t + case TaskQueuePartitionMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollerInfo to the protobuf v3 wire format +func (val *PollerInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollerInfo from the protobuf v3 wire format +func (val *PollerInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollerInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollerInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollerInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollerInfo + switch t := that.(type) { + case *PollerInfo: + that1 = t + case PollerInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StickyExecutionAttributes to the protobuf v3 wire format +func (val *StickyExecutionAttributes) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StickyExecutionAttributes from the protobuf v3 wire format +func (val *StickyExecutionAttributes) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StickyExecutionAttributes) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StickyExecutionAttributes values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StickyExecutionAttributes) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StickyExecutionAttributes + switch t := that.(type) { + case *StickyExecutionAttributes: + that1 = t + case StickyExecutionAttributes: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CompatibleVersionSet to the protobuf v3 wire format +func (val *CompatibleVersionSet) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CompatibleVersionSet from the protobuf v3 wire format +func (val *CompatibleVersionSet) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CompatibleVersionSet) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CompatibleVersionSet values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CompatibleVersionSet) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CompatibleVersionSet + switch t := that.(type) { + case *CompatibleVersionSet: + that1 = t + case CompatibleVersionSet: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueueReachability to the protobuf v3 wire format +func (val *TaskQueueReachability) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueueReachability from the protobuf v3 wire format +func (val *TaskQueueReachability) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueueReachability) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueueReachability values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueueReachability) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueueReachability + switch t := that.(type) { + case *TaskQueueReachability: + that1 = t + case TaskQueueReachability: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BuildIdReachability to the protobuf v3 wire format +func (val *BuildIdReachability) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BuildIdReachability from the protobuf v3 wire format +func (val *BuildIdReachability) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BuildIdReachability) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BuildIdReachability values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BuildIdReachability) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BuildIdReachability + switch t := that.(type) { + case *BuildIdReachability: + that1 = t + case BuildIdReachability: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RampByPercentage to the protobuf v3 wire format +func (val *RampByPercentage) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RampByPercentage from the protobuf v3 wire format +func (val *RampByPercentage) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RampByPercentage) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RampByPercentage values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RampByPercentage) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RampByPercentage + switch t := that.(type) { + case *RampByPercentage: + that1 = t + case RampByPercentage: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type BuildIdAssignmentRule to the protobuf v3 wire format +func (val *BuildIdAssignmentRule) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type BuildIdAssignmentRule from the protobuf v3 wire format +func (val *BuildIdAssignmentRule) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *BuildIdAssignmentRule) Size() int { + return proto.Size(val) +} + +// Equal returns whether two BuildIdAssignmentRule values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *BuildIdAssignmentRule) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *BuildIdAssignmentRule + switch t := that.(type) { + case *BuildIdAssignmentRule: + that1 = t + case BuildIdAssignmentRule: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CompatibleBuildIdRedirectRule to the protobuf v3 wire format +func (val *CompatibleBuildIdRedirectRule) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CompatibleBuildIdRedirectRule from the protobuf v3 wire format +func (val *CompatibleBuildIdRedirectRule) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CompatibleBuildIdRedirectRule) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CompatibleBuildIdRedirectRule values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CompatibleBuildIdRedirectRule) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CompatibleBuildIdRedirectRule + switch t := that.(type) { + case *CompatibleBuildIdRedirectRule: + that1 = t + case CompatibleBuildIdRedirectRule: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TimestampedBuildIdAssignmentRule to the protobuf v3 wire format +func (val *TimestampedBuildIdAssignmentRule) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TimestampedBuildIdAssignmentRule from the protobuf v3 wire format +func (val *TimestampedBuildIdAssignmentRule) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TimestampedBuildIdAssignmentRule) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TimestampedBuildIdAssignmentRule values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TimestampedBuildIdAssignmentRule) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TimestampedBuildIdAssignmentRule + switch t := that.(type) { + case *TimestampedBuildIdAssignmentRule: + that1 = t + case TimestampedBuildIdAssignmentRule: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TimestampedCompatibleBuildIdRedirectRule to the protobuf v3 wire format +func (val *TimestampedCompatibleBuildIdRedirectRule) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TimestampedCompatibleBuildIdRedirectRule from the protobuf v3 wire format +func (val *TimestampedCompatibleBuildIdRedirectRule) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TimestampedCompatibleBuildIdRedirectRule) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TimestampedCompatibleBuildIdRedirectRule values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TimestampedCompatibleBuildIdRedirectRule) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TimestampedCompatibleBuildIdRedirectRule + switch t := that.(type) { + case *TimestampedCompatibleBuildIdRedirectRule: + that1 = t + case TimestampedCompatibleBuildIdRedirectRule: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollerGroupInfo to the protobuf v3 wire format +func (val *PollerGroupInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollerGroupInfo from the protobuf v3 wire format +func (val *PollerGroupInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollerGroupInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollerGroupInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollerGroupInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollerGroupInfo + switch t := that.(type) { + case *PollerGroupInfo: + that1 = t + case PollerGroupInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollerScalingDecision to the protobuf v3 wire format +func (val *PollerScalingDecision) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollerScalingDecision from the protobuf v3 wire format +func (val *PollerScalingDecision) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollerScalingDecision) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollerScalingDecision values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollerScalingDecision) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollerScalingDecision + switch t := that.(type) { + case *PollerScalingDecision: + that1 = t + case PollerScalingDecision: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RateLimit to the protobuf v3 wire format +func (val *RateLimit) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RateLimit from the protobuf v3 wire format +func (val *RateLimit) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RateLimit) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RateLimit values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RateLimit) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RateLimit + switch t := that.(type) { + case *RateLimit: + that1 = t + case RateLimit: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ConfigMetadata to the protobuf v3 wire format +func (val *ConfigMetadata) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ConfigMetadata from the protobuf v3 wire format +func (val *ConfigMetadata) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ConfigMetadata) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ConfigMetadata values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ConfigMetadata) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ConfigMetadata + switch t := that.(type) { + case *ConfigMetadata: + that1 = t + case ConfigMetadata: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RateLimitConfig to the protobuf v3 wire format +func (val *RateLimitConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RateLimitConfig from the protobuf v3 wire format +func (val *RateLimitConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RateLimitConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RateLimitConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RateLimitConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RateLimitConfig + switch t := that.(type) { + case *RateLimitConfig: + that1 = t + case RateLimitConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TaskQueueConfig to the protobuf v3 wire format +func (val *TaskQueueConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TaskQueueConfig from the protobuf v3 wire format +func (val *TaskQueueConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TaskQueueConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TaskQueueConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TaskQueueConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TaskQueueConfig + switch t := that.(type) { + case *TaskQueueConfig: + that1 = t + case TaskQueueConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/taskqueue/v1/message.pb.go b/api_next/taskqueue/v1/message.pb.go new file mode 100644 index 00000000..9aeac21c --- /dev/null +++ b/api_next/taskqueue/v1/message.pb.go @@ -0,0 +1,1917 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/taskqueue/v1/message.proto + +package taskqueue + +import ( + v12 "go.temporal.io/api/common/v1" + v11 "go.temporal.io/api/deployment/v1" + v1 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + wrapperspb "google.golang.org/protobuf/types/known/wrapperspb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// See https://docs.temporal.io/docs/concepts/task-queues/ +type TaskQueue struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Default: TASK_QUEUE_KIND_NORMAL. + Kind v1.TaskQueueKind `protobuf:"varint,2,opt,name=kind,proto3,enum=temporal.api.enums.v1.TaskQueueKind" json:"kind,omitempty"` + // Iff kind == TASK_QUEUE_KIND_STICKY, then this field contains the name of + // the normal task queue that the sticky worker is running on. + NormalName string `protobuf:"bytes,3,opt,name=normal_name,json=normalName,proto3" json:"normal_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueue) Reset() { + *x = TaskQueue{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueue) ProtoMessage() {} + +func (x *TaskQueue) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueue.ProtoReflect.Descriptor instead. +func (*TaskQueue) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *TaskQueue) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *TaskQueue) GetKind() v1.TaskQueueKind { + if x != nil { + return x.Kind + } + return v1.TaskQueueKind(0) +} + +func (x *TaskQueue) GetNormalName() string { + if x != nil { + return x.NormalName + } + return "" +} + +// Only applies to activity task queues +type TaskQueueMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Allows throttling dispatch of tasks from this queue + MaxTasksPerSecond *wrapperspb.DoubleValue `protobuf:"bytes,1,opt,name=max_tasks_per_second,json=maxTasksPerSecond,proto3" json:"max_tasks_per_second,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueueMetadata) Reset() { + *x = TaskQueueMetadata{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueueMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueueMetadata) ProtoMessage() {} + +func (x *TaskQueueMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueueMetadata.ProtoReflect.Descriptor instead. +func (*TaskQueueMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *TaskQueueMetadata) GetMaxTasksPerSecond() *wrapperspb.DoubleValue { + if x != nil { + return x.MaxTasksPerSecond + } + return nil +} + +type TaskQueueVersioningInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Specifies which Deployment Version should receive new workflow executions and tasks of + // existing unversioned or AutoUpgrade workflows. + // Nil value represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.) + // Note: Current Version is overridden by the Ramping Version for a portion of traffic when ramp percentage + // is non-zero (see `ramping_deployment_version` and `ramping_version_percentage`). + CurrentDeploymentVersion *v11.WorkerDeploymentVersion `protobuf:"bytes,7,opt,name=current_deployment_version,json=currentDeploymentVersion,proto3" json:"current_deployment_version,omitempty"` + // Deprecated. Use `current_deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/taskqueue/v1/message.proto. + CurrentVersion string `protobuf:"bytes,1,opt,name=current_version,json=currentVersion,proto3" json:"current_version,omitempty"` + // When ramp percentage is non-zero, that portion of traffic is shifted from the Current Version to the Ramping Version. + // Must always be different from `current_deployment_version` unless both are nil. + // Nil value represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.) + // Note that it is possible to ramp from one Version to another Version, or from unversioned + // workers to a particular Version, or from a particular Version to unversioned workers. + RampingDeploymentVersion *v11.WorkerDeploymentVersion `protobuf:"bytes,9,opt,name=ramping_deployment_version,json=rampingDeploymentVersion,proto3" json:"ramping_deployment_version,omitempty"` + // Deprecated. Use `ramping_deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/taskqueue/v1/message.proto. + RampingVersion string `protobuf:"bytes,2,opt,name=ramping_version,json=rampingVersion,proto3" json:"ramping_version,omitempty"` + // Percentage of tasks that are routed to the Ramping Version instead of the Current Version. + // Valid range: [0, 100]. A 100% value means the Ramping Version is receiving full traffic but + // not yet "promoted" to be the Current Version, likely due to pending validations. + // A 0% value means the Ramping Version is receiving no traffic. + RampingVersionPercentage float32 `protobuf:"fixed32,3,opt,name=ramping_version_percentage,json=rampingVersionPercentage,proto3" json:"ramping_version_percentage,omitempty"` + // Last time versioning information of this Task Queue changed. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueueVersioningInfo) Reset() { + *x = TaskQueueVersioningInfo{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueueVersioningInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueueVersioningInfo) ProtoMessage() {} + +func (x *TaskQueueVersioningInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueueVersioningInfo.ProtoReflect.Descriptor instead. +func (*TaskQueueVersioningInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *TaskQueueVersioningInfo) GetCurrentDeploymentVersion() *v11.WorkerDeploymentVersion { + if x != nil { + return x.CurrentDeploymentVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/taskqueue/v1/message.proto. +func (x *TaskQueueVersioningInfo) GetCurrentVersion() string { + if x != nil { + return x.CurrentVersion + } + return "" +} + +func (x *TaskQueueVersioningInfo) GetRampingDeploymentVersion() *v11.WorkerDeploymentVersion { + if x != nil { + return x.RampingDeploymentVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/taskqueue/v1/message.proto. +func (x *TaskQueueVersioningInfo) GetRampingVersion() string { + if x != nil { + return x.RampingVersion + } + return "" +} + +func (x *TaskQueueVersioningInfo) GetRampingVersionPercentage() float32 { + if x != nil { + return x.RampingVersionPercentage + } + return 0 +} + +func (x *TaskQueueVersioningInfo) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +// Used for specifying versions the caller is interested in. +type TaskQueueVersionSelection struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Include specific Build IDs. + BuildIds []string `protobuf:"bytes,1,rep,name=build_ids,json=buildIds,proto3" json:"build_ids,omitempty"` + // Include the unversioned queue. + Unversioned bool `protobuf:"varint,2,opt,name=unversioned,proto3" json:"unversioned,omitempty"` + // Include all active versions. A version is considered active if, in the last few minutes, + // it has had new tasks or polls, or it has been the subject of certain task queue API calls. + AllActive bool `protobuf:"varint,3,opt,name=all_active,json=allActive,proto3" json:"all_active,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueueVersionSelection) Reset() { + *x = TaskQueueVersionSelection{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueueVersionSelection) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueueVersionSelection) ProtoMessage() {} + +func (x *TaskQueueVersionSelection) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueueVersionSelection.ProtoReflect.Descriptor instead. +func (*TaskQueueVersionSelection) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *TaskQueueVersionSelection) GetBuildIds() []string { + if x != nil { + return x.BuildIds + } + return nil +} + +func (x *TaskQueueVersionSelection) GetUnversioned() bool { + if x != nil { + return x.Unversioned + } + return false +} + +func (x *TaskQueueVersionSelection) GetAllActive() bool { + if x != nil { + return x.AllActive + } + return false +} + +type TaskQueueVersionInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Task Queue info per Task Type. Key is the numerical value of the temporal.api.enums.v1.TaskQueueType enum. + TypesInfo map[int32]*TaskQueueTypeInfo `protobuf:"bytes,1,rep,name=types_info,json=typesInfo,proto3" json:"types_info,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Task Reachability is eventually consistent; there may be a delay until it converges to the most + // accurate value but it is designed in a way to take the more conservative side until it converges. + // For example REACHABLE is more conservative than CLOSED_WORKFLOWS_ONLY. + // + // Note: future activities who inherit their workflow's Build ID but not its Task Queue will not be + // accounted for reachability as server cannot know if they'll happen as they do not use + // assignment rules of their Task Queue. Same goes for Child Workflows or Continue-As-New Workflows + // who inherit the parent/previous workflow's Build ID but not its Task Queue. In those cases, make + // sure to query reachability for the parent/previous workflow's Task Queue as well. + TaskReachability v1.BuildIdTaskReachability `protobuf:"varint,2,opt,name=task_reachability,json=taskReachability,proto3,enum=temporal.api.enums.v1.BuildIdTaskReachability" json:"task_reachability,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueueVersionInfo) Reset() { + *x = TaskQueueVersionInfo{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueueVersionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueueVersionInfo) ProtoMessage() {} + +func (x *TaskQueueVersionInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueueVersionInfo.ProtoReflect.Descriptor instead. +func (*TaskQueueVersionInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *TaskQueueVersionInfo) GetTypesInfo() map[int32]*TaskQueueTypeInfo { + if x != nil { + return x.TypesInfo + } + return nil +} + +func (x *TaskQueueVersionInfo) GetTaskReachability() v1.BuildIdTaskReachability { + if x != nil { + return x.TaskReachability + } + return v1.BuildIdTaskReachability(0) +} + +type TaskQueueTypeInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unversioned workers (with `useVersioning=false`) are reported in unversioned result even if they set a Build ID. + Pollers []*PollerInfo `protobuf:"bytes,1,rep,name=pollers,proto3" json:"pollers,omitempty"` + Stats *TaskQueueStats `protobuf:"bytes,2,opt,name=stats,proto3" json:"stats,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueueTypeInfo) Reset() { + *x = TaskQueueTypeInfo{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueueTypeInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueueTypeInfo) ProtoMessage() {} + +func (x *TaskQueueTypeInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueueTypeInfo.ProtoReflect.Descriptor instead. +func (*TaskQueueTypeInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *TaskQueueTypeInfo) GetPollers() []*PollerInfo { + if x != nil { + return x.Pollers + } + return nil +} + +func (x *TaskQueueTypeInfo) GetStats() *TaskQueueStats { + if x != nil { + return x.Stats + } + return nil +} + +// TaskQueueStats contains statistics about task queue backlog and activity. +// +// For workflow task queue type, this result is partial because tasks sent to sticky queues are not included. Read +// comments above each metric to understand the impact of sticky queue exclusion on that metric accuracy. +type TaskQueueStats struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The approximate number of tasks backlogged in this task queue. May count expired tasks but eventually + // converges to the right value. Can be relied upon for scaling decisions. + // + // Special note for workflow task queue type: this metric does not count sticky queue tasks. However, because + // those tasks only remain valid for a few seconds, the inaccuracy becomes less significant as the backlog size + // grows. + ApproximateBacklogCount int64 `protobuf:"varint,1,opt,name=approximate_backlog_count,json=approximateBacklogCount,proto3" json:"approximate_backlog_count,omitempty"` + // Approximate age of the oldest task in the backlog based on the creation time of the task at the head of + // the queue. Can be relied upon for scaling decisions. + // + // Special note for workflow task queue type: this metric does not count sticky queue tasks. However, because + // those tasks only remain valid for a few seconds, they should not affect the result when backlog is older than + // few seconds. + ApproximateBacklogAge *durationpb.Duration `protobuf:"bytes,2,opt,name=approximate_backlog_age,json=approximateBacklogAge,proto3" json:"approximate_backlog_age,omitempty"` + // The approximate tasks per second added to the task queue, averaging the last 30 seconds. These includes tasks + // whether or not they were added to/dispatched from the backlog or they were dispatched immediately without going + // to the backlog (sync-matched). + // + // The difference between `tasks_add_rate` and `tasks_dispatch_rate` is a reliable metric for the rate at which + // backlog grows/shrinks. + // + // Note: the actual tasks delivered to the workers may significantly be higher than the numbers reported by + // tasks_add_rate, because: + // - Tasks can be sent to workers without going to the task queue. This is called Eager dispatch. Eager dispatch is + // enable for activities by default in the latest SDKs. + // - Tasks going to Sticky queue are not accounted for. Note that, typically, only the first workflow task of each + // workflow goes to a normal queue, and the rest workflow tasks go to the Sticky queue associated with a specific + // worker instance. + TasksAddRate float32 `protobuf:"fixed32,3,opt,name=tasks_add_rate,json=tasksAddRate,proto3" json:"tasks_add_rate,omitempty"` + // The approximate tasks per second dispatched from the task queue, averaging the last 30 seconds. These includes + // tasks whether or not they were added to/dispatched from the backlog or they were dispatched immediately without + // going to the backlog (sync-matched). + // + // The difference between `tasks_add_rate` and `tasks_dispatch_rate` is a reliable metric for the rate at which + // backlog grows/shrinks. + // + // Note: the actual tasks delivered to the workers may significantly be higher than the numbers reported by + // tasks_dispatch_rate, because: + // - Tasks can be sent to workers without going to the task queue. This is called Eager dispatch. Eager dispatch is + // enable for activities by default in the latest SDKs. + // - Tasks going to Sticky queue are not accounted for. Note that, typically, only the first workflow task of each + // workflow goes to a normal queue, and the rest workflow tasks go to the Sticky queue associated with a specific + // worker instance. + TasksDispatchRate float32 `protobuf:"fixed32,4,opt,name=tasks_dispatch_rate,json=tasksDispatchRate,proto3" json:"tasks_dispatch_rate,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueueStats) Reset() { + *x = TaskQueueStats{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueueStats) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueueStats) ProtoMessage() {} + +func (x *TaskQueueStats) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueueStats.ProtoReflect.Descriptor instead. +func (*TaskQueueStats) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *TaskQueueStats) GetApproximateBacklogCount() int64 { + if x != nil { + return x.ApproximateBacklogCount + } + return 0 +} + +func (x *TaskQueueStats) GetApproximateBacklogAge() *durationpb.Duration { + if x != nil { + return x.ApproximateBacklogAge + } + return nil +} + +func (x *TaskQueueStats) GetTasksAddRate() float32 { + if x != nil { + return x.TasksAddRate + } + return 0 +} + +func (x *TaskQueueStats) GetTasksDispatchRate() float32 { + if x != nil { + return x.TasksDispatchRate + } + return 0 +} + +// Deprecated. Use `InternalTaskQueueStatus`. This is kept until `DescribeTaskQueue` supports legacy behavior. +type TaskQueueStatus struct { + state protoimpl.MessageState `protogen:"open.v1"` + BacklogCountHint int64 `protobuf:"varint,1,opt,name=backlog_count_hint,json=backlogCountHint,proto3" json:"backlog_count_hint,omitempty"` + ReadLevel int64 `protobuf:"varint,2,opt,name=read_level,json=readLevel,proto3" json:"read_level,omitempty"` + AckLevel int64 `protobuf:"varint,3,opt,name=ack_level,json=ackLevel,proto3" json:"ack_level,omitempty"` + RatePerSecond float64 `protobuf:"fixed64,4,opt,name=rate_per_second,json=ratePerSecond,proto3" json:"rate_per_second,omitempty"` + TaskIdBlock *TaskIdBlock `protobuf:"bytes,5,opt,name=task_id_block,json=taskIdBlock,proto3" json:"task_id_block,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueueStatus) Reset() { + *x = TaskQueueStatus{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueueStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueueStatus) ProtoMessage() {} + +func (x *TaskQueueStatus) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueueStatus.ProtoReflect.Descriptor instead. +func (*TaskQueueStatus) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *TaskQueueStatus) GetBacklogCountHint() int64 { + if x != nil { + return x.BacklogCountHint + } + return 0 +} + +func (x *TaskQueueStatus) GetReadLevel() int64 { + if x != nil { + return x.ReadLevel + } + return 0 +} + +func (x *TaskQueueStatus) GetAckLevel() int64 { + if x != nil { + return x.AckLevel + } + return 0 +} + +func (x *TaskQueueStatus) GetRatePerSecond() float64 { + if x != nil { + return x.RatePerSecond + } + return 0 +} + +func (x *TaskQueueStatus) GetTaskIdBlock() *TaskIdBlock { + if x != nil { + return x.TaskIdBlock + } + return nil +} + +type TaskIdBlock struct { + state protoimpl.MessageState `protogen:"open.v1"` + StartId int64 `protobuf:"varint,1,opt,name=start_id,json=startId,proto3" json:"start_id,omitempty"` + EndId int64 `protobuf:"varint,2,opt,name=end_id,json=endId,proto3" json:"end_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskIdBlock) Reset() { + *x = TaskIdBlock{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskIdBlock) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskIdBlock) ProtoMessage() {} + +func (x *TaskIdBlock) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskIdBlock.ProtoReflect.Descriptor instead. +func (*TaskIdBlock) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *TaskIdBlock) GetStartId() int64 { + if x != nil { + return x.StartId + } + return 0 +} + +func (x *TaskIdBlock) GetEndId() int64 { + if x != nil { + return x.EndId + } + return 0 +} + +type TaskQueuePartitionMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + OwnerHostName string `protobuf:"bytes,2,opt,name=owner_host_name,json=ownerHostName,proto3" json:"owner_host_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueuePartitionMetadata) Reset() { + *x = TaskQueuePartitionMetadata{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueuePartitionMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueuePartitionMetadata) ProtoMessage() {} + +func (x *TaskQueuePartitionMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueuePartitionMetadata.ProtoReflect.Descriptor instead. +func (*TaskQueuePartitionMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *TaskQueuePartitionMetadata) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *TaskQueuePartitionMetadata) GetOwnerHostName() string { + if x != nil { + return x.OwnerHostName + } + return "" +} + +type PollerInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + LastAccessTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=last_access_time,json=lastAccessTime,proto3" json:"last_access_time,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + RatePerSecond float64 `protobuf:"fixed64,3,opt,name=rate_per_second,json=ratePerSecond,proto3" json:"rate_per_second,omitempty"` + // If a worker has opted into the worker versioning feature while polling, its capabilities will + // appear here. + // Deprecated. Replaced by deployment_options. + // + // Deprecated: Marked as deprecated in temporal/api/taskqueue/v1/message.proto. + WorkerVersionCapabilities *v12.WorkerVersionCapabilities `protobuf:"bytes,4,opt,name=worker_version_capabilities,json=workerVersionCapabilities,proto3" json:"worker_version_capabilities,omitempty"` + // Worker deployment options that SDK sent to server. + DeploymentOptions *v11.WorkerDeploymentOptions `protobuf:"bytes,5,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollerInfo) Reset() { + *x = PollerInfo{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollerInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollerInfo) ProtoMessage() {} + +func (x *PollerInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollerInfo.ProtoReflect.Descriptor instead. +func (*PollerInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *PollerInfo) GetLastAccessTime() *timestamppb.Timestamp { + if x != nil { + return x.LastAccessTime + } + return nil +} + +func (x *PollerInfo) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PollerInfo) GetRatePerSecond() float64 { + if x != nil { + return x.RatePerSecond + } + return 0 +} + +// Deprecated: Marked as deprecated in temporal/api/taskqueue/v1/message.proto. +func (x *PollerInfo) GetWorkerVersionCapabilities() *v12.WorkerVersionCapabilities { + if x != nil { + return x.WorkerVersionCapabilities + } + return nil +} + +func (x *PollerInfo) GetDeploymentOptions() *v11.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +type StickyExecutionAttributes struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkerTaskQueue *TaskQueue `protobuf:"bytes,1,opt,name=worker_task_queue,json=workerTaskQueue,proto3" json:"worker_task_queue,omitempty"` + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StickyExecutionAttributes) Reset() { + *x = StickyExecutionAttributes{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StickyExecutionAttributes) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StickyExecutionAttributes) ProtoMessage() {} + +func (x *StickyExecutionAttributes) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StickyExecutionAttributes.ProtoReflect.Descriptor instead. +func (*StickyExecutionAttributes) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{11} +} + +func (x *StickyExecutionAttributes) GetWorkerTaskQueue() *TaskQueue { + if x != nil { + return x.WorkerTaskQueue + } + return nil +} + +func (x *StickyExecutionAttributes) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +// Used by the worker versioning APIs, represents an unordered set of one or more versions which are +// considered to be compatible with each other. Currently the versions are always worker build IDs. +type CompatibleVersionSet struct { + state protoimpl.MessageState `protogen:"open.v1"` + // All the compatible versions, unordered, except for the last element, which is considered the set "default". + BuildIds []string `protobuf:"bytes,1,rep,name=build_ids,json=buildIds,proto3" json:"build_ids,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CompatibleVersionSet) Reset() { + *x = CompatibleVersionSet{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CompatibleVersionSet) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompatibleVersionSet) ProtoMessage() {} + +func (x *CompatibleVersionSet) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompatibleVersionSet.ProtoReflect.Descriptor instead. +func (*CompatibleVersionSet) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{12} +} + +func (x *CompatibleVersionSet) GetBuildIds() []string { + if x != nil { + return x.BuildIds + } + return nil +} + +// Reachability of tasks for a worker on a single task queue. +type TaskQueueReachability struct { + state protoimpl.MessageState `protogen:"open.v1"` + TaskQueue string `protobuf:"bytes,1,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Task reachability for a worker in a single task queue. + // See the TaskReachability docstring for information about each enum variant. + // If reachability is empty, this worker is considered unreachable in this task queue. + Reachability []v1.TaskReachability `protobuf:"varint,2,rep,packed,name=reachability,proto3,enum=temporal.api.enums.v1.TaskReachability" json:"reachability,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueueReachability) Reset() { + *x = TaskQueueReachability{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueueReachability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueueReachability) ProtoMessage() {} + +func (x *TaskQueueReachability) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueueReachability.ProtoReflect.Descriptor instead. +func (*TaskQueueReachability) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{13} +} + +func (x *TaskQueueReachability) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *TaskQueueReachability) GetReachability() []v1.TaskReachability { + if x != nil { + return x.Reachability + } + return nil +} + +// Reachability of tasks for a worker by build id, in one or more task queues. +type BuildIdReachability struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A build id or empty if unversioned. + BuildId string `protobuf:"bytes,1,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` + // Reachability per task queue. + TaskQueueReachability []*TaskQueueReachability `protobuf:"bytes,2,rep,name=task_queue_reachability,json=taskQueueReachability,proto3" json:"task_queue_reachability,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BuildIdReachability) Reset() { + *x = BuildIdReachability{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BuildIdReachability) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildIdReachability) ProtoMessage() {} + +func (x *BuildIdReachability) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildIdReachability.ProtoReflect.Descriptor instead. +func (*BuildIdReachability) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{14} +} + +func (x *BuildIdReachability) GetBuildId() string { + if x != nil { + return x.BuildId + } + return "" +} + +func (x *BuildIdReachability) GetTaskQueueReachability() []*TaskQueueReachability { + if x != nil { + return x.TaskQueueReachability + } + return nil +} + +type RampByPercentage struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Acceptable range is [0,100). + RampPercentage float32 `protobuf:"fixed32,1,opt,name=ramp_percentage,json=rampPercentage,proto3" json:"ramp_percentage,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RampByPercentage) Reset() { + *x = RampByPercentage{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RampByPercentage) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RampByPercentage) ProtoMessage() {} + +func (x *RampByPercentage) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RampByPercentage.ProtoReflect.Descriptor instead. +func (*RampByPercentage) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{15} +} + +func (x *RampByPercentage) GetRampPercentage() float32 { + if x != nil { + return x.RampPercentage + } + return 0 +} + +// Assignment rules are applied to *new* Workflow and Activity executions at +// schedule time to assign them to a Build ID. +// +// Assignment rules will not be used in the following cases: +// - Child Workflows or Continue-As-New Executions who inherit their +// parent/previous Workflow's assigned Build ID (by setting the +// `inherit_build_id` flag - default behavior in SDKs when the same Task Queue +// is used.) +// - An Activity that inherits the assigned Build ID of its Workflow (by +// setting the `use_workflow_build_id` flag - default behavior in SDKs +// when the same Task Queue is used.) +// +// In absence of (applicable) redirect rules (`CompatibleBuildIdRedirectRule`s) +// the task will be dispatched to Workers of the Build ID determined by the +// assignment rules (or inherited). Otherwise, the final Build ID will be +// determined by the redirect rules. +// +// Once a Workflow completes its first Workflow Task in a particular Build ID it +// stays in that Build ID regardless of changes to assignment rules. Redirect +// rules can be used to move the workflow to another compatible Build ID. +// +// When using Worker Versioning on a Task Queue, in the steady state, +// there should typically be a single assignment rule to send all new executions +// to the latest Build ID. Existence of at least one such "unconditional" +// rule at all times is enforces by the system, unless the `force` flag is used +// by the user when replacing/deleting these rules (for exceptional cases). +// +// During a deployment, one or more additional rules can be added to assign a +// subset of the tasks to a new Build ID based on a "ramp percentage". +// +// When there are multiple assignment rules for a Task Queue, the rules are +// evaluated in order, starting from index 0. The first applicable rule will be +// applied and the rest will be ignored. +// +// In the event that no assignment rule is applicable on a task (or the Task +// Queue is simply not versioned), the tasks will be dispatched to an +// unversioned Worker. +type BuildIdAssignmentRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + TargetBuildId string `protobuf:"bytes,1,opt,name=target_build_id,json=targetBuildId,proto3" json:"target_build_id,omitempty"` + // If a ramp is provided, this rule will be applied only to a sample of + // tasks according to the provided percentage. + // This option can be used only on "terminal" Build IDs (the ones not used + // as source in any redirect rules). + // + // Types that are valid to be assigned to Ramp: + // + // *BuildIdAssignmentRule_PercentageRamp + Ramp isBuildIdAssignmentRule_Ramp `protobuf_oneof:"ramp"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *BuildIdAssignmentRule) Reset() { + *x = BuildIdAssignmentRule{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *BuildIdAssignmentRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*BuildIdAssignmentRule) ProtoMessage() {} + +func (x *BuildIdAssignmentRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use BuildIdAssignmentRule.ProtoReflect.Descriptor instead. +func (*BuildIdAssignmentRule) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{16} +} + +func (x *BuildIdAssignmentRule) GetTargetBuildId() string { + if x != nil { + return x.TargetBuildId + } + return "" +} + +func (x *BuildIdAssignmentRule) GetRamp() isBuildIdAssignmentRule_Ramp { + if x != nil { + return x.Ramp + } + return nil +} + +func (x *BuildIdAssignmentRule) GetPercentageRamp() *RampByPercentage { + if x != nil { + if x, ok := x.Ramp.(*BuildIdAssignmentRule_PercentageRamp); ok { + return x.PercentageRamp + } + } + return nil +} + +type isBuildIdAssignmentRule_Ramp interface { + isBuildIdAssignmentRule_Ramp() +} + +type BuildIdAssignmentRule_PercentageRamp struct { + // This ramp is useful for gradual Blue/Green deployments (and similar) + // where you want to send a certain portion of the traffic to the target + // Build ID. + PercentageRamp *RampByPercentage `protobuf:"bytes,3,opt,name=percentage_ramp,json=percentageRamp,proto3,oneof"` +} + +func (*BuildIdAssignmentRule_PercentageRamp) isBuildIdAssignmentRule_Ramp() {} + +// These rules apply to tasks assigned to a particular Build ID +// (`source_build_id`) to redirect them to another *compatible* Build ID +// (`target_build_id`). +// +// It is user's responsibility to ensure that the target Build ID is compatible +// with the source Build ID (e.g. by using the Patching API). +// +// Most deployments are not expected to need these rules, however following +// situations can greatly benefit from redirects: +// - Need to move long-running Workflow Executions from an old Build ID to a +// newer one. +// - Need to hotfix some broken or stuck Workflow Executions. +// +// In steady state, redirect rules are beneficial when dealing with old +// Executions ran on now-decommissioned Build IDs: +// - To redirecting the Workflow Queries to the current (compatible) Build ID. +// - To be able to Reset an old Execution so it can run on the current +// (compatible) Build ID. +// +// Redirect rules can be chained. +type CompatibleBuildIdRedirectRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + SourceBuildId string `protobuf:"bytes,1,opt,name=source_build_id,json=sourceBuildId,proto3" json:"source_build_id,omitempty"` + // Target Build ID must be compatible with the Source Build ID; that is it + // must be able to process event histories made by the Source Build ID by + // using [Patching](https://docs.temporal.io/workflows#patching) or other + // means. + TargetBuildId string `protobuf:"bytes,2,opt,name=target_build_id,json=targetBuildId,proto3" json:"target_build_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CompatibleBuildIdRedirectRule) Reset() { + *x = CompatibleBuildIdRedirectRule{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CompatibleBuildIdRedirectRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CompatibleBuildIdRedirectRule) ProtoMessage() {} + +func (x *CompatibleBuildIdRedirectRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CompatibleBuildIdRedirectRule.ProtoReflect.Descriptor instead. +func (*CompatibleBuildIdRedirectRule) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{17} +} + +func (x *CompatibleBuildIdRedirectRule) GetSourceBuildId() string { + if x != nil { + return x.SourceBuildId + } + return "" +} + +func (x *CompatibleBuildIdRedirectRule) GetTargetBuildId() string { + if x != nil { + return x.TargetBuildId + } + return "" +} + +type TimestampedBuildIdAssignmentRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rule *BuildIdAssignmentRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimestampedBuildIdAssignmentRule) Reset() { + *x = TimestampedBuildIdAssignmentRule{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimestampedBuildIdAssignmentRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimestampedBuildIdAssignmentRule) ProtoMessage() {} + +func (x *TimestampedBuildIdAssignmentRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimestampedBuildIdAssignmentRule.ProtoReflect.Descriptor instead. +func (*TimestampedBuildIdAssignmentRule) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{18} +} + +func (x *TimestampedBuildIdAssignmentRule) GetRule() *BuildIdAssignmentRule { + if x != nil { + return x.Rule + } + return nil +} + +func (x *TimestampedBuildIdAssignmentRule) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +type TimestampedCompatibleBuildIdRedirectRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rule *CompatibleBuildIdRedirectRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimestampedCompatibleBuildIdRedirectRule) Reset() { + *x = TimestampedCompatibleBuildIdRedirectRule{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimestampedCompatibleBuildIdRedirectRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimestampedCompatibleBuildIdRedirectRule) ProtoMessage() {} + +func (x *TimestampedCompatibleBuildIdRedirectRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimestampedCompatibleBuildIdRedirectRule.ProtoReflect.Descriptor instead. +func (*TimestampedCompatibleBuildIdRedirectRule) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{19} +} + +func (x *TimestampedCompatibleBuildIdRedirectRule) GetRule() *CompatibleBuildIdRedirectRule { + if x != nil { + return x.Rule + } + return nil +} + +func (x *TimestampedCompatibleBuildIdRedirectRule) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +type PollerGroupInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Weight float32 `protobuf:"fixed32,2,opt,name=weight,proto3" json:"weight,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollerGroupInfo) Reset() { + *x = PollerGroupInfo{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollerGroupInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollerGroupInfo) ProtoMessage() {} + +func (x *PollerGroupInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollerGroupInfo.ProtoReflect.Descriptor instead. +func (*PollerGroupInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{20} +} + +func (x *PollerGroupInfo) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *PollerGroupInfo) GetWeight() float32 { + if x != nil { + return x.Weight + } + return 0 +} + +// Attached to task responses to give hints to the SDK about how it may adjust its number of +// pollers. +type PollerScalingDecision struct { + state protoimpl.MessageState `protogen:"open.v1"` + // How many poll requests to suggest should be added or removed, if any. As of now, server only + // scales up or down by 1. However, SDKs should allow for other values (while staying within + // defined min/max). + // + // The SDK is free to ignore this suggestion, EX: making more polls would not make sense because + // all slots are already occupied. + PollRequestDeltaSuggestion int32 `protobuf:"varint,1,opt,name=poll_request_delta_suggestion,json=pollRequestDeltaSuggestion,proto3" json:"poll_request_delta_suggestion,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollerScalingDecision) Reset() { + *x = PollerScalingDecision{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollerScalingDecision) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollerScalingDecision) ProtoMessage() {} + +func (x *PollerScalingDecision) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollerScalingDecision.ProtoReflect.Descriptor instead. +func (*PollerScalingDecision) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{21} +} + +func (x *PollerScalingDecision) GetPollRequestDeltaSuggestion() int32 { + if x != nil { + return x.PollRequestDeltaSuggestion + } + return 0 +} + +type RateLimit struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Zero is a valid rate limit. + RequestsPerSecond float32 `protobuf:"fixed32,1,opt,name=requests_per_second,json=requestsPerSecond,proto3" json:"requests_per_second,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateLimit) Reset() { + *x = RateLimit{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateLimit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimit) ProtoMessage() {} + +func (x *RateLimit) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimit.ProtoReflect.Descriptor instead. +func (*RateLimit) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{22} +} + +func (x *RateLimit) GetRequestsPerSecond() float32 { + if x != nil { + return x.RequestsPerSecond + } + return 0 +} + +type ConfigMetadata struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Reason for why the config was set. + Reason string `protobuf:"bytes,1,opt,name=reason,proto3" json:"reason,omitempty"` + // Identity of the last updater. + // Set by the request's identity field. + UpdateIdentity string `protobuf:"bytes,2,opt,name=update_identity,json=updateIdentity,proto3" json:"update_identity,omitempty"` + // Time of the last update. + UpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ConfigMetadata) Reset() { + *x = ConfigMetadata{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ConfigMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ConfigMetadata) ProtoMessage() {} + +func (x *ConfigMetadata) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ConfigMetadata.ProtoReflect.Descriptor instead. +func (*ConfigMetadata) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{23} +} + +func (x *ConfigMetadata) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *ConfigMetadata) GetUpdateIdentity() string { + if x != nil { + return x.UpdateIdentity + } + return "" +} + +func (x *ConfigMetadata) GetUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.UpdateTime + } + return nil +} + +type RateLimitConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + RateLimit *RateLimit `protobuf:"bytes,1,opt,name=rate_limit,json=rateLimit,proto3" json:"rate_limit,omitempty"` + Metadata *ConfigMetadata `protobuf:"bytes,2,opt,name=metadata,proto3" json:"metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RateLimitConfig) Reset() { + *x = RateLimitConfig{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RateLimitConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RateLimitConfig) ProtoMessage() {} + +func (x *RateLimitConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RateLimitConfig.ProtoReflect.Descriptor instead. +func (*RateLimitConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{24} +} + +func (x *RateLimitConfig) GetRateLimit() *RateLimit { + if x != nil { + return x.RateLimit + } + return nil +} + +func (x *RateLimitConfig) GetMetadata() *ConfigMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +type TaskQueueConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Unless modified, this is the system-defined rate limit. + QueueRateLimit *RateLimitConfig `protobuf:"bytes,1,opt,name=queue_rate_limit,json=queueRateLimit,proto3" json:"queue_rate_limit,omitempty"` + // If set, each individual fairness key will be limited to this rate, scaled by the weight of the fairness key. + FairnessKeysRateLimitDefault *RateLimitConfig `protobuf:"bytes,2,opt,name=fairness_keys_rate_limit_default,json=fairnessKeysRateLimitDefault,proto3" json:"fairness_keys_rate_limit_default,omitempty"` + // If set, overrides the fairness weights for the corresponding fairness keys. + FairnessWeightOverrides map[string]float32 `protobuf:"bytes,3,rep,name=fairness_weight_overrides,json=fairnessWeightOverrides,proto3" json:"fairness_weight_overrides,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TaskQueueConfig) Reset() { + *x = TaskQueueConfig{} + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TaskQueueConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TaskQueueConfig) ProtoMessage() {} + +func (x *TaskQueueConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_taskqueue_v1_message_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TaskQueueConfig.ProtoReflect.Descriptor instead. +func (*TaskQueueConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP(), []int{25} +} + +func (x *TaskQueueConfig) GetQueueRateLimit() *RateLimitConfig { + if x != nil { + return x.QueueRateLimit + } + return nil +} + +func (x *TaskQueueConfig) GetFairnessKeysRateLimitDefault() *RateLimitConfig { + if x != nil { + return x.FairnessKeysRateLimitDefault + } + return nil +} + +func (x *TaskQueueConfig) GetFairnessWeightOverrides() map[string]float32 { + if x != nil { + return x.FairnessWeightOverrides + } + return nil +} + +var File_temporal_api_taskqueue_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_taskqueue_v1_message_proto_rawDesc = "" + + "\n" + + "'temporal/api/taskqueue/v1/message.proto\x12\x19temporal.api.taskqueue.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a$temporal/api/common/v1/message.proto\x1a(temporal/api/deployment/v1/message.proto\"z\n" + + "\tTaskQueue\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x128\n" + + "\x04kind\x18\x02 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueKindR\x04kind\x12\x1f\n" + + "\vnormal_name\x18\x03 \x01(\tR\n" + + "normalName\"b\n" + + "\x11TaskQueueMetadata\x12M\n" + + "\x14max_tasks_per_second\x18\x01 \x01(\v2\x1c.google.protobuf.DoubleValueR\x11maxTasksPerSecond\"\xd4\x03\n" + + "\x17TaskQueueVersioningInfo\x12q\n" + + "\x1acurrent_deployment_version\x18\a \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x18currentDeploymentVersion\x12+\n" + + "\x0fcurrent_version\x18\x01 \x01(\tB\x02\x18\x01R\x0ecurrentVersion\x12q\n" + + "\x1aramping_deployment_version\x18\t \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x18rampingDeploymentVersion\x12+\n" + + "\x0framping_version\x18\x02 \x01(\tB\x02\x18\x01R\x0erampingVersion\x12<\n" + + "\x1aramping_version_percentage\x18\x03 \x01(\x02R\x18rampingVersionPercentage\x12;\n" + + "\vupdate_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "updateTime\"y\n" + + "\x19TaskQueueVersionSelection\x12\x1b\n" + + "\tbuild_ids\x18\x01 \x03(\tR\bbuildIds\x12 \n" + + "\vunversioned\x18\x02 \x01(\bR\vunversioned\x12\x1d\n" + + "\n" + + "all_active\x18\x03 \x01(\bR\tallActive\"\xbe\x02\n" + + "\x14TaskQueueVersionInfo\x12]\n" + + "\n" + + "types_info\x18\x01 \x03(\v2>.temporal.api.taskqueue.v1.TaskQueueVersionInfo.TypesInfoEntryR\ttypesInfo\x12[\n" + + "\x11task_reachability\x18\x02 \x01(\x0e2..temporal.api.enums.v1.BuildIdTaskReachabilityR\x10taskReachability\x1aj\n" + + "\x0eTypesInfoEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x05R\x03key\x12B\n" + + "\x05value\x18\x02 \x01(\v2,.temporal.api.taskqueue.v1.TaskQueueTypeInfoR\x05value:\x028\x01\"\x95\x01\n" + + "\x11TaskQueueTypeInfo\x12?\n" + + "\apollers\x18\x01 \x03(\v2%.temporal.api.taskqueue.v1.PollerInfoR\apollers\x12?\n" + + "\x05stats\x18\x02 \x01(\v2).temporal.api.taskqueue.v1.TaskQueueStatsR\x05stats\"\xf5\x01\n" + + "\x0eTaskQueueStats\x12:\n" + + "\x19approximate_backlog_count\x18\x01 \x01(\x03R\x17approximateBacklogCount\x12Q\n" + + "\x17approximate_backlog_age\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x15approximateBacklogAge\x12$\n" + + "\x0etasks_add_rate\x18\x03 \x01(\x02R\ftasksAddRate\x12.\n" + + "\x13tasks_dispatch_rate\x18\x04 \x01(\x02R\x11tasksDispatchRate\"\xef\x01\n" + + "\x0fTaskQueueStatus\x12,\n" + + "\x12backlog_count_hint\x18\x01 \x01(\x03R\x10backlogCountHint\x12\x1d\n" + + "\n" + + "read_level\x18\x02 \x01(\x03R\treadLevel\x12\x1b\n" + + "\tack_level\x18\x03 \x01(\x03R\backLevel\x12&\n" + + "\x0frate_per_second\x18\x04 \x01(\x01R\rratePerSecond\x12J\n" + + "\rtask_id_block\x18\x05 \x01(\v2&.temporal.api.taskqueue.v1.TaskIdBlockR\vtaskIdBlock\"?\n" + + "\vTaskIdBlock\x12\x19\n" + + "\bstart_id\x18\x01 \x01(\x03R\astartId\x12\x15\n" + + "\x06end_id\x18\x02 \x01(\x03R\x05endId\"V\n" + + "\x1aTaskQueuePartitionMetadata\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12&\n" + + "\x0fowner_host_name\x18\x02 \x01(\tR\rownerHostName\"\xf1\x02\n" + + "\n" + + "PollerInfo\x12D\n" + + "\x10last_access_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x0elastAccessTime\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12&\n" + + "\x0frate_per_second\x18\x03 \x01(\x01R\rratePerSecond\x12u\n" + + "\x1bworker_version_capabilities\x18\x04 \x01(\v21.temporal.api.common.v1.WorkerVersionCapabilitiesB\x02\x18\x01R\x19workerVersionCapabilities\x12b\n" + + "\x12deployment_options\x18\x05 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptions\"\xc3\x01\n" + + "\x19StickyExecutionAttributes\x12P\n" + + "\x11worker_task_queue\x18\x01 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\x0fworkerTaskQueue\x12T\n" + + "\x19schedule_to_start_timeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\"3\n" + + "\x14CompatibleVersionSet\x12\x1b\n" + + "\tbuild_ids\x18\x01 \x03(\tR\bbuildIds\"\x83\x01\n" + + "\x15TaskQueueReachability\x12\x1d\n" + + "\n" + + "task_queue\x18\x01 \x01(\tR\ttaskQueue\x12K\n" + + "\freachability\x18\x02 \x03(\x0e2'.temporal.api.enums.v1.TaskReachabilityR\freachability\"\x9a\x01\n" + + "\x13BuildIdReachability\x12\x19\n" + + "\bbuild_id\x18\x01 \x01(\tR\abuildId\x12h\n" + + "\x17task_queue_reachability\x18\x02 \x03(\v20.temporal.api.taskqueue.v1.TaskQueueReachabilityR\x15taskQueueReachability\";\n" + + "\x10RampByPercentage\x12'\n" + + "\x0framp_percentage\x18\x01 \x01(\x02R\x0erampPercentage\"\x9f\x01\n" + + "\x15BuildIdAssignmentRule\x12&\n" + + "\x0ftarget_build_id\x18\x01 \x01(\tR\rtargetBuildId\x12V\n" + + "\x0fpercentage_ramp\x18\x03 \x01(\v2+.temporal.api.taskqueue.v1.RampByPercentageH\x00R\x0epercentageRampB\x06\n" + + "\x04ramp\"o\n" + + "\x1dCompatibleBuildIdRedirectRule\x12&\n" + + "\x0fsource_build_id\x18\x01 \x01(\tR\rsourceBuildId\x12&\n" + + "\x0ftarget_build_id\x18\x02 \x01(\tR\rtargetBuildId\"\xa5\x01\n" + + " TimestampedBuildIdAssignmentRule\x12D\n" + + "\x04rule\x18\x01 \x01(\v20.temporal.api.taskqueue.v1.BuildIdAssignmentRuleR\x04rule\x12;\n" + + "\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\"\xb5\x01\n" + + "(TimestampedCompatibleBuildIdRedirectRule\x12L\n" + + "\x04rule\x18\x01 \x01(\v28.temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRuleR\x04rule\x12;\n" + + "\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\"9\n" + + "\x0fPollerGroupInfo\x12\x0e\n" + + "\x02id\x18\x01 \x01(\tR\x02id\x12\x16\n" + + "\x06weight\x18\x02 \x01(\x02R\x06weight\"Z\n" + + "\x15PollerScalingDecision\x12A\n" + + "\x1dpoll_request_delta_suggestion\x18\x01 \x01(\x05R\x1apollRequestDeltaSuggestion\";\n" + + "\tRateLimit\x12.\n" + + "\x13requests_per_second\x18\x01 \x01(\x02R\x11requestsPerSecond\"\x8e\x01\n" + + "\x0eConfigMetadata\x12\x16\n" + + "\x06reason\x18\x01 \x01(\tR\x06reason\x12'\n" + + "\x0fupdate_identity\x18\x02 \x01(\tR\x0eupdateIdentity\x12;\n" + + "\vupdate_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "updateTime\"\x9d\x01\n" + + "\x0fRateLimitConfig\x12C\n" + + "\n" + + "rate_limit\x18\x01 \x01(\v2$.temporal.api.taskqueue.v1.RateLimitR\trateLimit\x12E\n" + + "\bmetadata\x18\x02 \x01(\v2).temporal.api.taskqueue.v1.ConfigMetadataR\bmetadata\"\xad\x03\n" + + "\x0fTaskQueueConfig\x12T\n" + + "\x10queue_rate_limit\x18\x01 \x01(\v2*.temporal.api.taskqueue.v1.RateLimitConfigR\x0equeueRateLimit\x12r\n" + + " fairness_keys_rate_limit_default\x18\x02 \x01(\v2*.temporal.api.taskqueue.v1.RateLimitConfigR\x1cfairnessKeysRateLimitDefault\x12\x83\x01\n" + + "\x19fairness_weight_overrides\x18\x03 \x03(\v2G.temporal.api.taskqueue.v1.TaskQueueConfig.FairnessWeightOverridesEntryR\x17fairnessWeightOverrides\x1aJ\n" + + "\x1cFairnessWeightOverridesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x02R\x05value:\x028\x01B\x98\x01\n" + + "\x1cio.temporal.api.taskqueue.v1B\fMessageProtoP\x01Z)go.temporal.io/api/taskqueue/v1;taskqueue\xaa\x02\x1bTemporalio.Api.TaskQueue.V1\xea\x02\x1eTemporalio::Api::TaskQueue::V1b\x06proto3" + +var ( + file_temporal_api_taskqueue_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_taskqueue_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_taskqueue_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_taskqueue_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_taskqueue_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_taskqueue_v1_message_proto_rawDesc), len(file_temporal_api_taskqueue_v1_message_proto_rawDesc))) + }) + return file_temporal_api_taskqueue_v1_message_proto_rawDescData +} + +var file_temporal_api_taskqueue_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 28) +var file_temporal_api_taskqueue_v1_message_proto_goTypes = []any{ + (*TaskQueue)(nil), // 0: temporal.api.taskqueue.v1.TaskQueue + (*TaskQueueMetadata)(nil), // 1: temporal.api.taskqueue.v1.TaskQueueMetadata + (*TaskQueueVersioningInfo)(nil), // 2: temporal.api.taskqueue.v1.TaskQueueVersioningInfo + (*TaskQueueVersionSelection)(nil), // 3: temporal.api.taskqueue.v1.TaskQueueVersionSelection + (*TaskQueueVersionInfo)(nil), // 4: temporal.api.taskqueue.v1.TaskQueueVersionInfo + (*TaskQueueTypeInfo)(nil), // 5: temporal.api.taskqueue.v1.TaskQueueTypeInfo + (*TaskQueueStats)(nil), // 6: temporal.api.taskqueue.v1.TaskQueueStats + (*TaskQueueStatus)(nil), // 7: temporal.api.taskqueue.v1.TaskQueueStatus + (*TaskIdBlock)(nil), // 8: temporal.api.taskqueue.v1.TaskIdBlock + (*TaskQueuePartitionMetadata)(nil), // 9: temporal.api.taskqueue.v1.TaskQueuePartitionMetadata + (*PollerInfo)(nil), // 10: temporal.api.taskqueue.v1.PollerInfo + (*StickyExecutionAttributes)(nil), // 11: temporal.api.taskqueue.v1.StickyExecutionAttributes + (*CompatibleVersionSet)(nil), // 12: temporal.api.taskqueue.v1.CompatibleVersionSet + (*TaskQueueReachability)(nil), // 13: temporal.api.taskqueue.v1.TaskQueueReachability + (*BuildIdReachability)(nil), // 14: temporal.api.taskqueue.v1.BuildIdReachability + (*RampByPercentage)(nil), // 15: temporal.api.taskqueue.v1.RampByPercentage + (*BuildIdAssignmentRule)(nil), // 16: temporal.api.taskqueue.v1.BuildIdAssignmentRule + (*CompatibleBuildIdRedirectRule)(nil), // 17: temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule + (*TimestampedBuildIdAssignmentRule)(nil), // 18: temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRule + (*TimestampedCompatibleBuildIdRedirectRule)(nil), // 19: temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRule + (*PollerGroupInfo)(nil), // 20: temporal.api.taskqueue.v1.PollerGroupInfo + (*PollerScalingDecision)(nil), // 21: temporal.api.taskqueue.v1.PollerScalingDecision + (*RateLimit)(nil), // 22: temporal.api.taskqueue.v1.RateLimit + (*ConfigMetadata)(nil), // 23: temporal.api.taskqueue.v1.ConfigMetadata + (*RateLimitConfig)(nil), // 24: temporal.api.taskqueue.v1.RateLimitConfig + (*TaskQueueConfig)(nil), // 25: temporal.api.taskqueue.v1.TaskQueueConfig + nil, // 26: temporal.api.taskqueue.v1.TaskQueueVersionInfo.TypesInfoEntry + nil, // 27: temporal.api.taskqueue.v1.TaskQueueConfig.FairnessWeightOverridesEntry + (v1.TaskQueueKind)(0), // 28: temporal.api.enums.v1.TaskQueueKind + (*wrapperspb.DoubleValue)(nil), // 29: google.protobuf.DoubleValue + (*v11.WorkerDeploymentVersion)(nil), // 30: temporal.api.deployment.v1.WorkerDeploymentVersion + (*timestamppb.Timestamp)(nil), // 31: google.protobuf.Timestamp + (v1.BuildIdTaskReachability)(0), // 32: temporal.api.enums.v1.BuildIdTaskReachability + (*durationpb.Duration)(nil), // 33: google.protobuf.Duration + (*v12.WorkerVersionCapabilities)(nil), // 34: temporal.api.common.v1.WorkerVersionCapabilities + (*v11.WorkerDeploymentOptions)(nil), // 35: temporal.api.deployment.v1.WorkerDeploymentOptions + (v1.TaskReachability)(0), // 36: temporal.api.enums.v1.TaskReachability +} +var file_temporal_api_taskqueue_v1_message_proto_depIdxs = []int32{ + 28, // 0: temporal.api.taskqueue.v1.TaskQueue.kind:type_name -> temporal.api.enums.v1.TaskQueueKind + 29, // 1: temporal.api.taskqueue.v1.TaskQueueMetadata.max_tasks_per_second:type_name -> google.protobuf.DoubleValue + 30, // 2: temporal.api.taskqueue.v1.TaskQueueVersioningInfo.current_deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 30, // 3: temporal.api.taskqueue.v1.TaskQueueVersioningInfo.ramping_deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 31, // 4: temporal.api.taskqueue.v1.TaskQueueVersioningInfo.update_time:type_name -> google.protobuf.Timestamp + 26, // 5: temporal.api.taskqueue.v1.TaskQueueVersionInfo.types_info:type_name -> temporal.api.taskqueue.v1.TaskQueueVersionInfo.TypesInfoEntry + 32, // 6: temporal.api.taskqueue.v1.TaskQueueVersionInfo.task_reachability:type_name -> temporal.api.enums.v1.BuildIdTaskReachability + 10, // 7: temporal.api.taskqueue.v1.TaskQueueTypeInfo.pollers:type_name -> temporal.api.taskqueue.v1.PollerInfo + 6, // 8: temporal.api.taskqueue.v1.TaskQueueTypeInfo.stats:type_name -> temporal.api.taskqueue.v1.TaskQueueStats + 33, // 9: temporal.api.taskqueue.v1.TaskQueueStats.approximate_backlog_age:type_name -> google.protobuf.Duration + 8, // 10: temporal.api.taskqueue.v1.TaskQueueStatus.task_id_block:type_name -> temporal.api.taskqueue.v1.TaskIdBlock + 31, // 11: temporal.api.taskqueue.v1.PollerInfo.last_access_time:type_name -> google.protobuf.Timestamp + 34, // 12: temporal.api.taskqueue.v1.PollerInfo.worker_version_capabilities:type_name -> temporal.api.common.v1.WorkerVersionCapabilities + 35, // 13: temporal.api.taskqueue.v1.PollerInfo.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 0, // 14: temporal.api.taskqueue.v1.StickyExecutionAttributes.worker_task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 33, // 15: temporal.api.taskqueue.v1.StickyExecutionAttributes.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 36, // 16: temporal.api.taskqueue.v1.TaskQueueReachability.reachability:type_name -> temporal.api.enums.v1.TaskReachability + 13, // 17: temporal.api.taskqueue.v1.BuildIdReachability.task_queue_reachability:type_name -> temporal.api.taskqueue.v1.TaskQueueReachability + 15, // 18: temporal.api.taskqueue.v1.BuildIdAssignmentRule.percentage_ramp:type_name -> temporal.api.taskqueue.v1.RampByPercentage + 16, // 19: temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRule.rule:type_name -> temporal.api.taskqueue.v1.BuildIdAssignmentRule + 31, // 20: temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRule.create_time:type_name -> google.protobuf.Timestamp + 17, // 21: temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRule.rule:type_name -> temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule + 31, // 22: temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRule.create_time:type_name -> google.protobuf.Timestamp + 31, // 23: temporal.api.taskqueue.v1.ConfigMetadata.update_time:type_name -> google.protobuf.Timestamp + 22, // 24: temporal.api.taskqueue.v1.RateLimitConfig.rate_limit:type_name -> temporal.api.taskqueue.v1.RateLimit + 23, // 25: temporal.api.taskqueue.v1.RateLimitConfig.metadata:type_name -> temporal.api.taskqueue.v1.ConfigMetadata + 24, // 26: temporal.api.taskqueue.v1.TaskQueueConfig.queue_rate_limit:type_name -> temporal.api.taskqueue.v1.RateLimitConfig + 24, // 27: temporal.api.taskqueue.v1.TaskQueueConfig.fairness_keys_rate_limit_default:type_name -> temporal.api.taskqueue.v1.RateLimitConfig + 27, // 28: temporal.api.taskqueue.v1.TaskQueueConfig.fairness_weight_overrides:type_name -> temporal.api.taskqueue.v1.TaskQueueConfig.FairnessWeightOverridesEntry + 5, // 29: temporal.api.taskqueue.v1.TaskQueueVersionInfo.TypesInfoEntry.value:type_name -> temporal.api.taskqueue.v1.TaskQueueTypeInfo + 30, // [30:30] is the sub-list for method output_type + 30, // [30:30] is the sub-list for method input_type + 30, // [30:30] is the sub-list for extension type_name + 30, // [30:30] is the sub-list for extension extendee + 0, // [0:30] is the sub-list for field type_name +} + +func init() { file_temporal_api_taskqueue_v1_message_proto_init() } +func file_temporal_api_taskqueue_v1_message_proto_init() { + if File_temporal_api_taskqueue_v1_message_proto != nil { + return + } + file_temporal_api_taskqueue_v1_message_proto_msgTypes[16].OneofWrappers = []any{ + (*BuildIdAssignmentRule_PercentageRamp)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_taskqueue_v1_message_proto_rawDesc), len(file_temporal_api_taskqueue_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 28, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_taskqueue_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_taskqueue_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_taskqueue_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_taskqueue_v1_message_proto = out.File + file_temporal_api_taskqueue_v1_message_proto_goTypes = nil + file_temporal_api_taskqueue_v1_message_proto_depIdxs = nil +} diff --git a/api_next/temporalproto/deep_equal.go b/api_next/temporalproto/deep_equal.go new file mode 100644 index 00000000..22a75e78 --- /dev/null +++ b/api_next/temporalproto/deep_equal.go @@ -0,0 +1,192 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Deep equality test via reflection on only public methods and members. +// This is deeply hacky as we're not inside of the reflect package; this will not +// be as performant as reflect.DeepEqual but will handle proto objects at any point +// in an object hierarchy +package temporalproto + +import ( + "reflect" + "regexp" + "unsafe" + + "google.golang.org/protobuf/proto" +) + +// During deepValueEqual, must keep track of checks that are +// in progress. The comparison algorithm assumes that all +// checks in progress are true when it reencounters them. +// Visited comparisons are stored in a map indexed by visit. +type visit struct { + a1 unsafe.Pointer + a2 unsafe.Pointer + typ reflect.Type +} + +var publicMethodRgx = regexp.MustCompile("^[A-Z]") + +func pointerTo(v reflect.Value) unsafe.Pointer { + if v.CanAddr() { + return v.Addr().UnsafePointer() + } + return v.UnsafePointer() +} + +// Tests for deep equality using reflected types. The map argument tracks +// comparisons that have already been seen, which allows short circuiting on +// recursive types. +func deepValueEqual(v1, v2 reflect.Value, visited map[visit]bool) bool { + if !v1.IsValid() || !v2.IsValid() { + return v1.IsValid() == v2.IsValid() + } + if v1.Type() != v2.Type() { + return false + } + + // We want to avoid putting more in the visited map than we need to. + // For any possible reference cycle that might be encountered, + // hard(v1, v2) needs to return true for at least one of the types in the cycle, + // and it's safe and valid to get Value's internal pointer. + hard := func(v1, v2 reflect.Value) bool { + switch v1.Kind() { + case reflect.Pointer, reflect.Map, reflect.Slice, reflect.Interface: + // Nil pointers cannot be cyclic. Avoid putting them in the visited map. + return !v1.IsNil() && !v2.IsNil() + } + return false + } + + if hard(v1, v2) { + addr1 := pointerTo(v1) + addr2 := pointerTo(v2) + if uintptr(addr1) > uintptr(addr2) { + // Canonicalize order to reduce number of entries in visited. + // Assumes non-moving garbage collector. + addr1, addr2 = addr2, addr1 + } + + // Short circuit if references are already seen. + typ := v1.Type() + v := visit{addr1, addr2, typ} + if visited[v] { + return true + } + + // Remember for later. + visited[v] = true + } + + switch v1.Kind() { + case reflect.Array: + for i := 0; i < v1.Len(); i++ { + if !deepValueEqual(v1.Index(i), v2.Index(i), visited) { + return false + } + } + return true + case reflect.Slice: + if v1.IsNil() != v2.IsNil() { + return false + } + if v1.Len() != v2.Len() { + return false + } + if v1.UnsafePointer() == v2.UnsafePointer() { + return true + } + for i := 0; i < v1.Len(); i++ { + if !deepValueEqual(v1.Index(i), v2.Index(i), visited) { + return false + } + } + return true + case reflect.Interface: + if v1.IsNil() || v2.IsNil() { + return v1.IsNil() == v2.IsNil() + } + return deepValueEqual(v1.Elem(), v2.Elem(), visited) + case reflect.Pointer: + if v1.UnsafePointer() == v2.UnsafePointer() { + return true + } + + v1v, ok := v1.Interface().(proto.Message) + v2v, ok2 := v2.Interface().(proto.Message) + if ok && ok2 { + return proto.Equal(v1v, v2v) + } + + return deepValueEqual(v1.Elem(), v2.Elem(), visited) + case reflect.Struct: + for i, n := 0, v1.NumField(); i < n; i++ { + if !publicMethodRgx.MatchString(v1.Field(i).String()) { + continue + } + if !deepValueEqual(v1.Field(i), v2.Field(i), visited) { + return false + } + } + return true + case reflect.Map: + if v1.IsNil() != v2.IsNil() { + return false + } + if v1.Len() != v2.Len() { + return false + } + if v1.UnsafePointer() == v2.UnsafePointer() { + return true + } + for _, k := range v1.MapKeys() { + val1 := v1.MapIndex(k) + val2 := v2.MapIndex(k) + if !val1.IsValid() || !val2.IsValid() || !deepValueEqual(val1, val2, visited) { + return false + } + } + return true + case reflect.Func: + if v1.IsNil() && v2.IsNil() { + return true + } + // Can't do better than this: + return false + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v1.Int() == v2.Int() + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v1.Uint() == v2.Uint() + case reflect.String: + return v1.String() == v2.String() + case reflect.Bool: + return v1.Bool() == v2.Bool() + case reflect.Float32, reflect.Float64: + return v1.Float() == v2.Float() + case reflect.Complex64, reflect.Complex128: + return v1.Complex() == v2.Complex() + default: + // Normal equality suffices + return v1.Elem().Interface() == v2.Elem().Interface() + } +} + +// DeepEqual behaves as reflect.DeepEqual except: +// 1. Proto structs will be compared using proto.Equal when encountered +// 2. Only public member variables will be compared +// +// DeepEqual should _only_ be used when proto.Equal or reflect.DeepEqual +// aren't useable, such as when comparing normal Go structs that have +// proto structs as members +func DeepEqual(x, y any) bool { + if x == nil || y == nil { + return x == y + } + v1 := reflect.ValueOf(x) + v2 := reflect.ValueOf(y) + if v1.Type() != v2.Type() { + return false + } + return deepValueEqual(v1, v2, make(map[visit]bool)) +} diff --git a/api_next/temporalproto/json_marshal.go b/api_next/temporalproto/json_marshal.go new file mode 100644 index 00000000..2f57295f --- /dev/null +++ b/api_next/temporalproto/json_marshal.go @@ -0,0 +1,31 @@ +package temporalproto + +import ( + "google.golang.org/protobuf/proto" + + "go.temporal.io/api/internal/protojson" +) + +// CustomJSONMarshalOptions is a configurable JSON format marshaler that supports +// both TYPE_PREFIXED_SCREAMING_SNAKE enums as well as camelCase enums. +type CustomJSONMarshalOptions struct { + // Metadata is used for storing request metadata, such as whether shorthand + // payloads are disabled + Metadata map[string]interface{} + + // Indent specifies the set of indentation characters to use in a multiline + // formatted output such that every entry is preceded by Indent and + // terminated by a newline. If non-empty, then Multiline is treated as true. + // Indent can only be composed of space or tab characters. + Indent string +} + +// Marshal marshals the given [proto.Message] in the JSON format using options in +// MarshalOptions. Do not depend on the output being stable. It may change over +// time across different versions of the program. +func (o CustomJSONMarshalOptions) Marshal(m proto.Message) ([]byte, error) { + return protojson.MarshalOptions{ + Indent: o.Indent, + Metadata: o.Metadata, + }.Marshal(m) +} diff --git a/api_next/temporalproto/json_unmarshal.go b/api_next/temporalproto/json_unmarshal.go new file mode 100644 index 00000000..fa60a5c5 --- /dev/null +++ b/api_next/temporalproto/json_unmarshal.go @@ -0,0 +1,32 @@ +package temporalproto + +import ( + "go.temporal.io/api/internal/protojson" + "google.golang.org/protobuf/proto" +) + +// CustomJSONUnmarshalOptions is a configurable JSON format marshaler that supports +// both TYPE_PREFIXED_SCREAMING_SNAKE enums as well as camelCase enums. +type CustomJSONUnmarshalOptions struct { + // Metadata is used for storing request metadata, such as whether shorthand + // payloads are disabled + Metadata map[string]interface{} + + // If DiscardUnknown is set, unknown fields and enum name values are ignored. + DiscardUnknown bool +} + +// Unmarshal reads the given []byte and populates the given [proto.Message] +// using options in the UnmarshalOptions object. +// It will clear the message first before setting the fields. +// If it returns an error, the given message may be partially set. +// The provided message must be mutable (e.g., a non-nil pointer to a message). +// This is different from the official protojson unmarshaling code in that it +// supports unmarshaling our shorthand payload format as well as both camelCase +// and SCREAMING_SNAKE_CASE JSON enums +func (o CustomJSONUnmarshalOptions) Unmarshal(b []byte, m proto.Message) error { + return protojson.UnmarshalOptions{ + Metadata: o.Metadata, + DiscardUnknown: o.DiscardUnknown, + }.Unmarshal(b, m) +} diff --git a/api_next/temporalproto/openapi/openapiv2.go b/api_next/temporalproto/openapi/openapiv2.go new file mode 100644 index 00000000..b3cd9428 --- /dev/null +++ b/api_next/temporalproto/openapi/openapiv2.go @@ -0,0 +1,4 @@ +package openapi + +// OpenAPIV2JSONSpec contains a gzip-compressed JSON file specifying the Temporal HTTP API +var OpenAPIV2JSONSpec = []byte{0x1f, 0x8b, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xec, 0xfd, 0xdb, 0x72, 0xe3, 0xb8, 0x96, 0x3f, 0x8, 0xdf, 0xf7, 0x53, 0x20, 0xf2, 0xfb, 0x62, 0xb2, 0xb2, 0x42, 0x96, 0x77, 0xef, 0xfe, 0xc7, 0x5c, 0x64, 0x47, 0x5f, 0xb8, 0x6c, 0x67, 0x95, 0xfe, 0x95, 0x69, 0x7b, 0xdb, 0xca, 0xaa, 0xde, 0x31, 0xea, 0xb0, 0x21, 0x72, 0x49, 0x42, 0x99, 0x4, 0xb4, 0x1, 0x50, 0x4e, 0xed, 0x8a, 0x1d, 0x31, 0xf, 0x31, 0x4f, 0x38, 0x4f, 0x32, 0x81, 0x85, 0x3, 0xf, 0xa2, 0x28, 0xca, 0xa7, 0xa4, 0x32, 0x89, 0x8b, 0x2a, 0xa7, 0x48, 0x82, 0xb, 0x20, 0xf0, 0x5b, 0x7, 0xac, 0xc3, 0x9f, 0xff, 0x46, 0xc8, 0x1b, 0xf5, 0x40, 0xe7, 0x73, 0x90, 0x6f, 0xde, 0x93, 0x37, 0x7f, 0x1d, 0xfe, 0xe5, 0xcd, 0xc0, 0xfc, 0xc6, 0xf8, 0x4c, 0xbc, 0x79, 0x4f, 0xcc, 0x75, 0x42, 0xde, 0x68, 0xa6, 0x13, 0x30, 0xd7, 0x35, 0xa4, 0x4b, 0x21, 0x69, 0x72, 0x4c, 0x97, 0xec, 0xf8, 0x41, 0xc8, 0xfb, 0x59, 0x22, 0x1e, 0x14, 0xc8, 0x15, 0x8b, 0xe0, 0x78, 0xf5, 0xef, 0xc7, 0x12, 0xfe, 0x91, 0x81, 0xd2, 0xb7, 0x12, 0xd4, 0x52, 0x70, 0x5, 0xc3, 0xa5, 0x14, 0x5a, 0x60, 0x97, 0x84, 0xbc, 0x59, 0x81, 0x54, 0x4c, 0x70, 0xd3, 0x91, 0xfb, 0x93, 0x70, 0xa1, 0x89, 0x2, 0xfd, 0xe6, 0xdf, 0x8, 0xf9, 0x17, 0xbe, 0x58, 0xd3, 0xb9, 0x7a, 0xf3, 0x9e, 0xfc, 0x5f, 0xf8, 0x84, 0x7d, 0x3d, 0x21, 0x6f, 0x38, 0x4d, 0xf1, 0xfd, 0xbf, 0xbb, 0x57, 0xde, 0xd8, 0x57, 0xbe, 0xc1, 0xeb, 0xff, 0x1a, 0xd4, 0xdf, 0x7c, 0xb9, 0x4, 0x49, 0xb5, 0x90, 0xe5, 0x9b, 0xff, 0x8d, 0x90, 0xff, 0xc1, 0x37, 0x45, 0x82, 0xab, 0x2c, 0x85, 0xfc, 0x6d, 0x6f, 0xe8, 0x72, 0x99, 0xb0, 0x88, 0x6a, 0x26, 0xf8, 0xf1, 0x1f, 0x4a, 0xf0, 0x37, 0xe1, 0xde, 0xa5, 0x14, 0x71, 0x16, 0xb5, 0xbc, 0x97, 0xea, 0x85, 0xca, 0xe7, 0xe, 0xa7, 0x6a, 0xf5, 0xef, 0xc7, 0x51, 0x92, 0x29, 0xd, 0xf2, 0xa8, 0x34, 0xb3, 0x84, 0xbc, 0x99, 0x83, 0x2e, 0xfc, 0xd3, 0x7c, 0x8e, 0x2c, 0x4d, 0xa9, 0x5c, 0x9b, 0x11, 0xfc, 0xc, 0xfa, 0xd4, 0x3e, 0x36, 0xe2, 0x33, 0x41, 0x24, 0xe8, 0x4c, 0x72, 0x45, 0x4c, 0x17, 0x32, 0xc5, 0x77, 0x13, 0x3a, 0x15, 0x99, 0x26, 0xfe, 0xbb, 0x10, 0xf7, 0x16, 0x37, 0xe3, 0xd8, 0x9f, 0xc0, 0x69, 0x60, 0x82, 0x8f, 0xe2, 0xcd, 0x3e, 0xff, 0x5a, 0xbc, 0xd3, 0x7f, 0x35, 0x55, 0x22, 0x88, 0x90, 0x37, 0x7f, 0xfd, 0xcb, 0x5f, 0x2a, 0x3f, 0x11, 0xf2, 0x26, 0x6, 0x15, 0x49, 0xb6, 0xd4, 0xee, 0x8b, 0x9e, 0x10, 0x95, 0x45, 0x11, 0x28, 0x35, 0xcb, 0x12, 0x12, 0xbe, 0x7f, 0xa1, 0x7b, 0x3b, 0xb8, 0x68, 0x1, 0x29, 0xdd, 0xe8, 0x8c, 0x90, 0x37, 0xff, 0x7f, 0x9, 0x33, 0xd3, 0xcf, 0xff, 0xef, 0x38, 0x86, 0x19, 0xe3, 0xcc, 0xf4, 0xab, 0x8e, 0x57, 0xff, 0x5e, 0xa6, 0xf7, 0xda, 0x75, 0xfc, 0xa6, 0xf4, 0xf8, 0xbf, 0xa, 0xff, 0xfa, 0x57, 0xf1, 0x8d, 0x6f, 0x62, 0x98, 0xd1, 0x2c, 0xd1, 0xbb, 0xa9, 0xe7, 0x24, 0xe3, 0xf0, 0x65, 0x9, 0x91, 0x86, 0x98, 0x80, 0x94, 0x42, 0x3e, 0xdf, 0x20, 0xe4, 0x32, 0xba, 0xd1, 0x54, 0x67, 0xaa, 0x81, 0xea, 0x7f, 0xab, 0xa1, 0xbf, 0xbc, 0x19, 0xdc, 0x6f, 0xb5, 0x5b, 0xc0, 0xb4, 0xff, 0xf9, 0xb7, 0x62, 0x57, 0xae, 0x9b, 0xb0, 0xfc, 0xcc, 0xa6, 0x50, 0x4b, 0x1a, 0x95, 0x3e, 0x6e, 0xe3, 0xe2, 0xfb, 0xc8, 0x94, 0xbe, 0x8, 0x4f, 0x85, 0xc5, 0xa7, 0x17, 0x50, 0x5e, 0x80, 0x3c, 0x26, 0x91, 0xe0, 0x33, 0x36, 0xcf, 0xec, 0x32, 0x23, 0x33, 0x21, 0x9, 0x4d, 0x12, 0x92, 0xbf, 0x72, 0xd8, 0xb0, 0x1e, 0xcb, 0xaf, 0xe9, 0xfe, 0x7a, 0x2c, 0xd3, 0xfb, 0x7d, 0xad, 0xc7, 0x25, 0x95, 0x34, 0x5, 0xd, 0xb2, 0xba, 0x2a, 0x2b, 0x83, 0xf1, 0x8, 0xbc, 0xa4, 0x73, 0xb8, 0x61, 0xff, 0x84, 0x2a, 0xc1, 0xc, 0xc7, 0xf8, 0x8f, 0xc, 0xe4, 0xba, 0x7a, 0xc9, 0x70, 0x10, 0x26, 0xc1, 0x2c, 0x8d, 0x19, 0x4d, 0x14, 0x54, 0x2e, 0xeb, 0xf5, 0x12, 0x7b, 0x66, 0x5c, 0xc3, 0xbc, 0x84, 0x73, 0x78, 0xd9, 0x2e, 0x4b, 0x77, 0xc3, 0x7f, 0xfc, 0xf5, 0xcd, 0xb6, 0xef, 0xb0, 0x85, 0x5e, 0xe, 0x5f, 0xf4, 0x15, 0x9d, 0xc3, 0x58, 0xdc, 0x3, 0x7f, 0x7e, 0xa2, 0x95, 0x96, 0x8c, 0xcf, 0xb7, 0xd3, 0x3c, 0x5d, 0x6b, 0xd8, 0x9b, 0x64, 0xbf, 0x14, 0x3f, 0xb0, 0x44, 0x83, 0x1c, 0x32, 0x1e, 0x25, 0x59, 0xc, 0x67, 0x90, 0x80, 0x86, 0xb8, 0xfa, 0xae, 0xca, 0x2a, 0xfb, 0x69, 0x4d, 0xdc, 0x82, 0x2c, 0x6c, 0x56, 0xc2, 0x38, 0xb9, 0x38, 0xf9, 0x74, 0x7e, 0x73, 0x75, 0x72, 0x7a, 0x7e, 0x7b, 0x33, 0x3e, 0x19, 0x9f, 0xdf, 0x9e, 0x9d, 0x7f, 0x3c, 0x1f, 0x9f, 0x9f, 0x11, 0xa5, 0xa9, 0x6, 0x42, 0x25, 0x20, 0xe3, 0x76, 0xef, 0x8a, 0x87, 0x13, 0x7e, 0x3, 0x5a, 0x33, 0x3e, 0xf7, 0x3f, 0xdd, 0xc6, 0xf6, 0xfd, 0x44, 0xb, 0xa2, 0x65, 0x6, 0xe4, 0x81, 0x25, 0x89, 0xbf, 0x48, 0xfc, 0xc5, 0x2, 0x40, 0x4c, 0xf8, 0x85, 0xd0, 0xf0, 0x9e, 0x84, 0x9d, 0x45, 0x58, 0xb, 0x42, 0x1e, 0x16, 0xc0, 0x9, 0xd3, 0xe4, 0x81, 0xaa, 0xd0, 0xe9, 0x4c, 0x8a, 0x14, 0x41, 0x4a, 0xad, 0x95, 0x86, 0x94, 0x4c, 0x33, 0x4d, 0xa8, 0x52, 0x22, 0x62, 0xd4, 0x5c, 0x8e, 0xa9, 0xa6, 0xa6, 0x6f, 0x43, 0xbf, 0x7f, 0x64, 0xd, 0x7a, 0x63, 0x4f, 0x3d, 0xfd, 0x6b, 0x4f, 0x85, 0x48, 0x80, 0xf2, 0x37, 0xb5, 0xbb, 0xea, 0x7f, 0x9e, 0x8c, 0xf2, 0xbe, 0x83, 0x37, 0x4b, 0xa1, 0xb6, 0x83, 0xf8, 0x35, 0xcc, 0x99, 0xe1, 0x9d, 0xf9, 0xbc, 0x46, 0x12, 0xa8, 0x6, 0x45, 0x28, 0xe1, 0xf0, 0x90, 0x7f, 0x2, 0xf2, 0xb0, 0x60, 0xd1, 0x82, 0x44, 0x94, 0x93, 0x29, 0x90, 0x4c, 0x41, 0x4c, 0xa8, 0xb9, 0x29, 0x12, 0x5c, 0x53, 0xc6, 0x41, 0x6, 0x58, 0x97, 0xa0, 0x44, 0x26, 0xab, 0xa8, 0xbe, 0x81, 0xbe, 0xa5, 0x2f, 0x49, 0x89, 0x16, 0x4b, 0x92, 0xc0, 0xa, 0x12, 0x2, 0x5c, 0x33, 0xbd, 0x26, 0xf, 0x4c, 0x2f, 0x18, 0x27, 0x63, 0x27, 0xb9, 0xc, 0x90, 0x91, 0x30, 0xb5, 0xf5, 0xd5, 0xe1, 0xb5, 0x13, 0x9e, 0xb0, 0x7b, 0x20, 0x5e, 0xfa, 0x24, 0xf0, 0x5, 0xa2, 0xc, 0x81, 0x6d, 0x40, 0x34, 0x55, 0xf7, 0xe4, 0x1f, 0x19, 0x64, 0xa0, 0x6, 0x4, 0x74, 0x34, 0x24, 0x45, 0x42, 0x68, 0xa4, 0x95, 0xed, 0x5a, 0x51, 0x1e, 0x4f, 0xc5, 0x17, 0x7c, 0xe7, 0x52, 0x8a, 0x15, 0x8b, 0x4d, 0xbf, 0x4c, 0x89, 0xa4, 0xcc, 0xc2, 0xc2, 0x4b, 0x3d, 0xb9, 0x66, 0x61, 0x85, 0x39, 0x1b, 0x92, 0x93, 0xd2, 0x3d, 0x53, 0x48, 0x4, 0x9f, 0x2b, 0xb3, 0xe8, 0xe1, 0xb, 0x8d, 0x74, 0xb2, 0x26, 0x82, 0xc3, 0x84, 0xe7, 0xf, 0x34, 0xf0, 0xc1, 0x8d, 0x2f, 0xd5, 0x7d, 0x56, 0xb8, 0x41, 0x72, 0xcf, 0xd, 0xb1, 0x6d, 0x81, 0xea, 0xa9, 0x88, 0x37, 0xb0, 0xc4, 0xc2, 0x4c, 0xdd, 0x95, 0x2, 0xca, 0x18, 0x4, 0x7d, 0x89, 0x8f, 0x85, 0xba, 0x5a, 0x9b, 0x51, 0x3f, 0x1d, 0xad, 0x76, 0xc8, 0xa4, 0xc7, 0x7f, 0x86, 0xbf, 0xff, 0xd5, 0x56, 0x3e, 0x3d, 0xc3, 0x35, 0x32, 0x85, 0x7c, 0x7f, 0xef, 0x29, 0xa2, 0x12, 0xe9, 0xa6, 0xa4, 0xc8, 0x8a, 0x9a, 0xb6, 0xe8, 0xc6, 0x1b, 0xbb, 0xbf, 0x45, 0x37, 0x48, 0xee, 0xb7, 0x28, 0xb6, 0x5d, 0xd2, 0x54, 0xfd, 0x3e, 0x35, 0xaa, 0xfd, 0x7e, 0xfb, 0xb4, 0x22, 0xfa, 0xed, 0x29, 0xdc, 0xb1, 0xd, 0x1, 0xee, 0xd9, 0x84, 0xd0, 0x3d, 0x29, 0x79, 0x0, 0x7a, 0x7f, 0x2a, 0xb8, 0x32, 0xfb, 0x85, 0x47, 0x1b, 0xef, 0xae, 0x2c, 0x86, 0xd1, 0xcc, 0xce, 0x85, 0x95, 0xc3, 0x40, 0xae, 0x40, 0x92, 0x94, 0xae, 0xed, 0x9f, 0xf8, 0xa3, 0x5f, 0x1a, 0x56, 0x5c, 0xa3, 0x9c, 0xc0, 0xa, 0xb8, 0xce, 0x68, 0x92, 0xac, 0x8f, 0x22, 0xff, 0x1e, 0x3d, 0xe1, 0x96, 0xb5, 0x12, 0xc6, 0x95, 0x6, 0x1a, 0x13, 0x31, 0x23, 0x12, 0x68, 0x6c, 0x24, 0x4d, 0xbd, 0x90, 0x22, 0x9b, 0x2f, 0xc, 0xb3, 0x5d, 0x82, 0x74, 0x84, 0xc1, 0x90, 0x9c, 0xd9, 0x5, 0x8b, 0x5c, 0xd8, 0xce, 0xc3, 0x84, 0x5b, 0xd9, 0x66, 0x29, 0x1, 0x9, 0x50, 0xd8, 0xc7, 0x11, 0x9d, 0x69, 0x90, 0x47, 0xf, 0x92, 0x69, 0x20, 0x51, 0x3e, 0xb4, 0x21, 0xb9, 0x39, 0xfb, 0x55, 0x11, 0xb5, 0x10, 0x59, 0x12, 0x13, 0x5, 0x9a, 0xe8, 0x5, 0x53, 0x28, 0x6a, 0x4e, 0xf8, 0xc, 0x74, 0xb4, 0x30, 0x6f, 0xcf, 0xe5, 0xa6, 0x88, 0x2e, 0xe9, 0x94, 0x25, 0x4c, 0x33, 0x50, 0x44, 0x70, 0x94, 0x4b, 0x40, 0x1e, 0x47, 0x9, 0x3, 0xae, 0x8d, 0x9c, 0x2a, 0x75, 0xb6, 0x3c, 0x3c, 0xf1, 0x72, 0xf, 0xc0, 0x3e, 0xa6, 0x91, 0x66, 0x2b, 0x9c, 0x80, 0x7d, 0x6c, 0xb, 0x27, 0xf6, 0xa9, 0xf5, 0x79, 0x90, 0xdf, 0xac, 0xa4, 0xb8, 0x62, 0x8a, 0xe1, 0x84, 0xae, 0xc9, 0xc9, 0xd5, 0xc8, 0x7c, 0xc6, 0x84, 0x29, 0x4d, 0xdc, 0x4b, 0xd6, 0x5, 0x79, 0xcf, 0x28, 0x8, 0x94, 0xa8, 0x25, 0x44, 0x6c, 0xc6, 0xa2, 0x76, 0x18, 0x5e, 0xff, 0xe6, 0xee, 0x3, 0x79, 0x3d, 0xdd, 0x3d, 0x9a, 0x63, 0x3b, 0xc, 0x34, 0xdf, 0x66, 0xd, 0xa9, 0xcc, 0xfd, 0x27, 0xfa, 0x85, 0xf0, 0x2c, 0x9d, 0x82, 0x34, 0x70, 0x57, 0x58, 0xed, 0xda, 0x5b, 0x80, 0xd, 0xe0, 0x11, 0xd3, 0xdb, 0xb, 0xc0, 0xca, 0x57, 0x30, 0xac, 0x54, 0xc6, 0x8f, 0xf7, 0xb8, 0x91, 0x42, 0x6c, 0xf6, 0x78, 0xf3, 0xda, 0x7f, 0x81, 0x49, 0x78, 0x9, 0x43, 0x4d, 0x2d, 0x3d, 0x95, 0xa1, 0xff, 0x96, 0x43, 0x1f, 0xde, 0x3e, 0x20, 0xa, 0x80, 0x2c, 0xb4, 0x5e, 0xaa, 0xf7, 0xc7, 0xc7, 0xb1, 0x88, 0xd4, 0xd0, 0x5b, 0xfa, 0x87, 0x4c, 0x1c, 0x1b, 0x5c, 0x3c, 0x9a, 0xa1, 0xdd, 0x7, 0x25, 0x5a, 0x6b, 0xf5, 0xe0, 0x9a, 0x7e, 0x79, 0xb9, 0x39, 0xe9, 0x14, 0xbb, 0x39, 0x8a, 0x61, 0x29, 0x21, 0xa2, 0x1a, 0xe2, 0xe3, 0x25, 0xcd, 0x14, 0x14, 0xf9, 0x4f, 0xa3, 0x5d, 0xe4, 0xca, 0xdc, 0xed, 0xd7, 0x14, 0xc1, 0x67, 0xad, 0xde, 0x10, 0xf6, 0x9b, 0xd9, 0x7c, 0x94, 0xe7, 0x6c, 0xc7, 0xb1, 0x19, 0x88, 0xc9, 0x74, 0x4d, 0x98, 0x56, 0x64, 0x74, 0x46, 0xcc, 0x9c, 0xaf, 0x97, 0x30, 0x9c, 0x70, 0x23, 0xf1, 0x2c, 0x40, 0x5a, 0xdb, 0x58, 0x9a, 0x25, 0x9a, 0x2d, 0x13, 0x20, 0x4b, 0xe0, 0x28, 0xab, 0xe4, 0x14, 0x9b, 0x5e, 0xcd, 0x6b, 0x9c, 0xd1, 0x21, 0xc6, 0xe7, 0xc9, 0x11, 0x1a, 0x1b, 0xec, 0xa5, 0xd4, 0xda, 0xca, 0xa6, 0x60, 0xa9, 0x8a, 0x1b, 0x8c, 0x2c, 0x66, 0x10, 0xd8, 0x7d, 0x81, 0xcc, 0x14, 0x28, 0x57, 0xef, 0x27, 0xfc, 0x88, 0x58, 0x92, 0xf2, 0x2b, 0x4c, 0x91, 0x28, 0x93, 0x12, 0xb8, 0x4e, 0xd6, 0xe4, 0x81, 0x32, 0xb4, 0xd7, 0x79, 0x45, 0x48, 0xcb, 0xb5, 0x19, 0xd, 0x53, 0x44, 0x66, 0x9c, 0xdb, 0x4e, 0x63, 0xa2, 0xb2, 0xa9, 0x32, 0x5a, 0x22, 0x3e, 0x32, 0xa3, 0x2c, 0x51, 0x83, 0x9, 0x27, 0x68, 0x71, 0x33, 0x34, 0x72, 0xa1, 0xd, 0x9d, 0x12, 0xc, 0x7, 0x88, 0xb3, 0x4, 0x62, 0x92, 0x71, 0xcd, 0x12, 0x73, 0x3, 0x53, 0x24, 0xe3, 0x76, 0x4, 0xc3, 0x2d, 0xd4, 0xd0, 0xc4, 0xc8, 0x61, 0x6e, 0xf6, 0xe3, 0x1, 0x89, 0x68, 0x92, 0x58, 0xc9, 0x8e, 0x29, 0x92, 0x82, 0x5e, 0x88, 0xd8, 0xbe, 0x67, 0x41, 0x57, 0x40, 0xb8, 0x20, 0x30, 0x9b, 0x41, 0xa4, 0xb7, 0x75, 0x57, 0x24, 0xdc, 0x30, 0x1b, 0xb5, 0x0, 0x55, 0x60, 0xc6, 0xc9, 0x7a, 0x50, 0x7e, 0xc4, 0x4f, 0x73, 0x24, 0xd2, 0x25, 0xda, 0x1, 0xf7, 0xea, 0xf8, 0x81, 0xe9, 0x5, 0x4e, 0x49, 0x26, 0xe1, 0xbd, 0x99, 0x94, 0x1f, 0x9, 0xf3, 0x6b, 0x0, 0xcd, 0x8b, 0x6e, 0x52, 0x13, 0x98, 0x69, 0x72, 0xb4, 0xfb, 0xcd, 0xa5, 0xe, 0x70, 0x11, 0x9, 0x89, 0x1a, 0xad, 0x34, 0xab, 0xa6, 0xa9, 0x97, 0x30, 0xc9, 0x1f, 0x84, 0x24, 0x89, 0xe0, 0xf3, 0xa3, 0x40, 0x70, 0x58, 0x76, 0xb8, 0x20, 0xa, 0xab, 0x90, 0x71, 0xf7, 0x98, 0x37, 0xa4, 0x9a, 0xbe, 0x14, 0xf0, 0x98, 0x50, 0x12, 0x51, 0x1e, 0x41, 0xe2, 0xc, 0x61, 0x38, 0xcc, 0xc9, 0x1b, 0xff, 0xd2, 0x5b, 0xfb, 0xd4, 0xe4, 0x8d, 0x15, 0x8c, 0x5, 0x79, 0x6b, 0xb8, 0xe4, 0x5b, 0xd3, 0x5f, 0x90, 0xe8, 0xcd, 0xaf, 0xd7, 0x10, 0x9, 0x19, 0xfb, 0xfd, 0x35, 0xa6, 0xea, 0xfe, 0x17, 0xa0, 0x52, 0x4f, 0x81, 0xea, 0xb7, 0x38, 0xcd, 0xe3, 0xe2, 0x48, 0x9c, 0xac, 0x6d, 0x7b, 0xb0, 0x36, 0xe3, 0x5, 0x94, 0xe9, 0xa0, 0x91, 0xe9, 0x90, 0xf1, 0x79, 0xb2, 0x1e, 0x4e, 0xf8, 0x84, 0x5f, 0x3b, 0x55, 0x9f, 0x92, 0xbb, 0xb, 0xa1, 0x3f, 0x88, 0x8c, 0xc7, 0x77, 0x4e, 0x4e, 0xa9, 0x7c, 0x86, 0xca, 0x1e, 0xb4, 0x86, 0xc7, 0xf2, 0x1e, 0xcc, 0x77, 0xf2, 0x84, 0x8f, 0xcd, 0xe2, 0x33, 0x72, 0xa7, 0x9f, 0xde, 0x1c, 0x62, 0x88, 0x12, 0xce, 0x98, 0x20, 0x61, 0x99, 0xd0, 0x8, 0x62, 0xdb, 0x17, 0x5a, 0x52, 0x41, 0x92, 0x12, 0xa6, 0x4, 0x3e, 0x45, 0xf4, 0x82, 0xe2, 0x76, 0x98, 0x82, 0x36, 0x40, 0x6d, 0x80, 0x2c, 0x36, 0xbd, 0x4c, 0xb8, 0xd2, 0x32, 0x8b, 0x74, 0x26, 0xad, 0x9d, 0xdc, 0x28, 0xe, 0xe4, 0x1, 0x92, 0x4, 0x37, 0xa5, 0xd2, 0x94, 0xc7, 0x34, 0x11, 0x1c, 0xa, 0xdf, 0xad, 0x49, 0xb0, 0x2d, 0xbd, 0xbd, 0xfb, 0xf2, 0x6c, 0x89, 0xdc, 0x5e, 0x8c, 0xc5, 0xb6, 0xaf, 0x18, 0x5b, 0x19, 0x6d, 0x6e, 0x8, 0x73, 0x4c, 0x26, 0x98, 0xc8, 0xad, 0xfe, 0x9b, 0xa3, 0x34, 0x22, 0xac, 0xdf, 0x10, 0x5b, 0x64, 0x85, 0xd7, 0x96, 0x8e, 0xbf, 0xa6, 0x75, 0xb4, 0x22, 0x9f, 0x94, 0xd6, 0xe6, 0x4f, 0xe6, 0xed, 0x2d, 0xbe, 0x70, 0x17, 0x64, 0x20, 0x9, 0xaa, 0xa4, 0x74, 0xef, 0x3a, 0x1b, 0x52, 0x10, 0xe4, 0x6a, 0x82, 0xcf, 0x76, 0x4e, 0x6, 0x42, 0xaa, 0x9a, 0xe, 0x9a, 0x70, 0x10, 0x7a, 0x9b, 0x14, 0xf4, 0x63, 0x41, 0x93, 0xa2, 0xda, 0xc8, 0xce, 0x5a, 0x95, 0xfb, 0x36, 0xc8, 0xfb, 0x97, 0xa1, 0xb9, 0x33, 0x3c, 0xac, 0x59, 0xa, 0x22, 0xab, 0xde, 0x88, 0xf7, 0xb0, 0x4d, 0xe9, 0xa0, 0x28, 0x49, 0x21, 0xcb, 0x77, 0x27, 0x59, 0xda, 0x9f, 0x32, 0x3a, 0x46, 0x2b, 0x24, 0x79, 0x7b, 0xf, 0xb0, 0x74, 0x2c, 0xf4, 0x6d, 0xb8, 0xec, 0x66, 0x1, 0x85, 0x88, 0x20, 0x5a, 0x4d, 0xa1, 0xb0, 0x5d, 0x59, 0x9a, 0x42, 0xcc, 0xa8, 0x86, 0x64, 0x4d, 0x7e, 0xf8, 0x11, 0x75, 0x82, 0xb7, 0x7f, 0x30, 0xc3, 0x4d, 0xde, 0x92, 0x59, 0x42, 0xe7, 0xef, 0x6, 0x86, 0x25, 0x7e, 0x48, 0xe8, 0xdc, 0x8c, 0x79, 0xc2, 0xfd, 0xc5, 0xf7, 0xf5, 0x2, 0x43, 0xde, 0x31, 0xd5, 0x46, 0xf8, 0xa3, 0x3c, 0x16, 0x29, 0x8e, 0xba, 0x78, 0xca, 0x65, 0xfb, 0x20, 0xb1, 0x33, 0x99, 0x87, 0xef, 0x9b, 0xf7, 0x97, 0x4b, 0x93, 0x6e, 0x88, 0x5, 0xe2, 0xbd, 0xec, 0x37, 0x20, 0x19, 0x4f, 0x40, 0xa9, 0xca, 0xd8, 0xd, 0xd5, 0x66, 0x2, 0xfc, 0xe0, 0x87, 0x13, 0xfe, 0x16, 0x67, 0xf9, 0x76, 0xe1, 0xe5, 0x4, 0x55, 0x25, 0x3f, 0x5c, 0x41, 0x52, 0x25, 0xce, 0x72, 0x7e, 0xf7, 0xc6, 0xc7, 0x2a, 0xbd, 0xf0, 0x7d, 0xdd, 0x97, 0xf3, 0x14, 0x7a, 0xb2, 0x25, 0xa4, 0x34, 0x8, 0x46, 0x2f, 0x29, 0x65, 0xc, 0x9f, 0x24, 0x66, 0x94, 0xb6, 0xed, 0xab, 0x8b, 0x19, 0xa5, 0xb7, 0x77, 0x5f, 0xcc, 0x28, 0x91, 0xdb, 0x8b, 0x19, 0xd8, 0x7a, 0x31, 0xa3, 0x1b, 0x62, 0x46, 0x69, 0x6d, 0x1e, 0x92, 0x98, 0xe1, 0xc0, 0xbd, 0xb5, 0xa0, 0xf1, 0xd9, 0xde, 0x1f, 0x44, 0xd, 0xf7, 0x7c, 0xe7, 0x84, 0x8d, 0x60, 0xb0, 0x68, 0x90, 0x37, 0x46, 0xb3, 0x12, 0xf, 0xc9, 0x19, 0xfc, 0xc0, 0x2e, 0xf7, 0xc8, 0x74, 0x5c, 0x6f, 0xb5, 0xa8, 0xf2, 0xcf, 0x7, 0xea, 0x79, 0x90, 0xd9, 0x39, 0x9, 0xd4, 0x89, 0x12, 0x8f, 0x93, 0x7, 0x86, 0x13, 0x7e, 0xc9, 0x23, 0xd8, 0xe0, 0x78, 0x39, 0x57, 0x36, 0x54, 0x3a, 0x39, 0xc7, 0xb2, 0xd3, 0x22, 0x3, 0x9d, 0x3, 0x37, 0x98, 0xef, 0x98, 0xa0, 0x97, 0x2b, 0x5e, 0x48, 0xaa, 0x70, 0x7c, 0xdf, 0x4b, 0x67, 0xae, 0xfb, 0x5d, 0x62, 0x5b, 0x8d, 0xc0, 0xf0, 0x44, 0x79, 0xa1, 0x9b, 0x36, 0x85, 0xca, 0xd6, 0x79, 0x75, 0x76, 0x5f, 0x79, 0x7f, 0xf7, 0x19, 0x7e, 0x85, 0xe0, 0x9e, 0xe5, 0x63, 0xeb, 0x59, 0x7e, 0x37, 0x58, 0x7e, 0x65, 0x75, 0x1e, 0x14, 0xd3, 0x5f, 0xc6, 0x54, 0xc3, 0x91, 0xc0, 0x45, 0xa1, 0xda, 0xf3, 0x7e, 0x7c, 0xcc, 0xf, 0xf8, 0x72, 0x19, 0xe, 0xfa, 0xd, 0xa3, 0xb4, 0xbc, 0x1d, 0x8d, 0xbd, 0xd6, 0x5d, 0x42, 0xb, 0x62, 0xdf, 0x83, 0x3f, 0xba, 0x77, 0x55, 0x5, 0x83, 0x57, 0x13, 0x7, 0x90, 0x92, 0xf8, 0x69, 0xda, 0x5a, 0x79, 0xfc, 0x1, 0xbf, 0xfd, 0x44, 0xbc, 0x16, 0x8c, 0xd7, 0x7d, 0x85, 0x3, 0x0, 0xf3, 0x3a, 0xb2, 0x7b, 0x48, 0xc7, 0xf6, 0x75, 0x20, 0xbd, 0x47, 0xf4, 0x2a, 0xa2, 0xd7, 0x2d, 0xd1, 0xae, 0xe3, 0xfa, 0xf1, 0x9f, 0xfe, 0x7b, 0x8e, 0xe2, 0xbd, 0xfd, 0x6d, 0x37, 0x65, 0xd1, 0xed, 0x71, 0x89, 0x45, 0xd8, 0xe, 0x8a, 0x9e, 0x81, 0x6b, 0x5d, 0x8a, 0x34, 0xd0, 0x2, 0xf, 0x28, 0x7f, 0x6, 0xed, 0x8d, 0x8a, 0x5, 0xb5, 0x85, 0xcf, 0x4, 0x42, 0xaa, 0xe9, 0xcf, 0x69, 0x48, 0xe6, 0xe6, 0x8f, 0x82, 0xcf, 0x8f, 0x96, 0xc2, 0x21, 0x22, 0x87, 0x2f, 0xda, 0x9d, 0x65, 0x46, 0xb, 0xca, 0xe7, 0xe0, 0x20, 0x19, 0xdd, 0x65, 0x38, 0x3c, 0x94, 0xfb, 0x33, 0xb2, 0xbe, 0x3b, 0xad, 0x34, 0x64, 0x58, 0x3e, 0x43, 0x93, 0x64, 0x1d, 0x42, 0x54, 0xa, 0xb7, 0x2f, 0x33, 0x6d, 0x18, 0x8d, 0xc8, 0x74, 0x24, 0x52, 0x20, 0x3f, 0x54, 0x2d, 0x89, 0xb, 0xaa, 0xf2, 0x93, 0xdc, 0x77, 0x6d, 0xfc, 0x87, 0x37, 0x66, 0xb0, 0xfb, 0x48, 0xbc, 0x95, 0xf4, 0x1e, 0x8d, 0xb1, 0x1d, 0x86, 0x7, 0x5a, 0xbe, 0xeb, 0xbb, 0x41, 0x8f, 0xcc, 0xf8, 0x26, 0x29, 0xd5, 0x85, 0x10, 0xe, 0xa8, 0x32, 0x4e, 0x46, 0x67, 0x43, 0x32, 0x9a, 0x11, 0x48, 0x97, 0x7a, 0xed, 0xfc, 0x88, 0x31, 0x88, 0x81, 0x68, 0x2a, 0xe7, 0xfe, 0xf8, 0x2a, 0xa1, 0xda, 0xfc, 0x24, 0x33, 0xfe, 0x3a, 0x6e, 0x50, 0x6d, 0x1c, 0xb9, 0x2d, 0xac, 0x8c, 0xc, 0x98, 0xec, 0xf2, 0x9d, 0x76, 0x8, 0x64, 0x83, 0x18, 0xc, 0xf8, 0xcc, 0x18, 0x24, 0xe8, 0x7, 0x57, 0x74, 0x9c, 0x7e, 0x25, 0x8f, 0xe2, 0xf6, 0x63, 0xbb, 0xb4, 0xf8, 0xb8, 0xc7, 0xe8, 0x2, 0xa2, 0x4a, 0x50, 0x59, 0xa2, 0x8f, 0x9d, 0x37, 0xcd, 0xbb, 0xea, 0x50, 0x37, 0xce, 0x6e, 0x4a, 0x88, 0xdb, 0x9d, 0x89, 0x48, 0x4, 0x9f, 0x5f, 0x89, 0x24, 0x69, 0xef, 0xe4, 0x68, 0x9d, 0xdf, 0xc9, 0x52, 0xc2, 0x8a, 0x89, 0x4c, 0x91, 0x9d, 0x28, 0x8b, 0xab, 0x1f, 0xfd, 0xd8, 0xb9, 0x1e, 0x58, 0x67, 0x1f, 0x64, 0x81, 0xd6, 0xed, 0xca, 0x4f, 0x90, 0x51, 0x1e, 0x72, 0x4e, 0xa8, 0xa, 0x21, 0x91, 0xf8, 0x33, 0xf0, 0x48, 0xc4, 0xe0, 0x56, 0x14, 0x53, 0x44, 0x1b, 0x5a, 0xb0, 0x67, 0x3a, 0xb5, 0x1d, 0x3b, 0xbe, 0xe9, 0x79, 0xb1, 0x7d, 0xac, 0x60, 0x75, 0xb4, 0xa, 0x57, 0xa0, 0x43, 0x66, 0xfc, 0x96, 0xc5, 0x24, 0xcd, 0x94, 0x26, 0x34, 0x51, 0x2, 0xbd, 0x92, 0xec, 0x45, 0x17, 0xd8, 0x69, 0xf5, 0x9c, 0xdc, 0xb4, 0x8b, 0x1d, 0xa6, 0x74, 0xed, 0x99, 0x75, 0xd0, 0xd8, 0x34, 0x4b, 0x31, 0x90, 0x4e, 0x3f, 0x0, 0x3a, 0x81, 0xe2, 0xee, 0x56, 0x3, 0xab, 0xdc, 0xcd, 0x84, 0x84, 0xfc, 0x60, 0x75, 0xc2, 0xe7, 0x19, 0x95, 0x94, 0x6b, 0x40, 0x21, 0x15, 0xad, 0x8e, 0x4e, 0x8d, 0x4c, 0xe9, 0x3d, 0xaa, 0x7d, 0xc4, 0x7a, 0xaf, 0x59, 0x21, 0x37, 0x9f, 0x2d, 0xdf, 0xad, 0x77, 0x7b, 0x2, 0xc, 0x36, 0xb4, 0xeb, 0x69, 0xc2, 0x8b, 0xcf, 0x94, 0xe6, 0xb1, 0xb, 0x8e, 0xa6, 0xcf, 0x28, 0x3a, 0xe, 0x5a, 0xe9, 0xef, 0x37, 0x9a, 0xca, 0x9a, 0xd3, 0x46, 0x8c, 0x6b, 0xf0, 0x41, 0xa4, 0x35, 0x22, 0x5e, 0xe3, 0x89, 0xbd, 0x33, 0xb3, 0x72, 0x72, 0xb7, 0xd1, 0xf1, 0x89, 0xf5, 0x9, 0xc4, 0xb7, 0x42, 0xd1, 0xfc, 0x4a, 0x39, 0x6, 0x81, 0x50, 0xf3, 0x61, 0xbc, 0xe3, 0x20, 0x7c, 0x61, 0xf6, 0x2b, 0xea, 0x5, 0x51, 0x34, 0x2d, 0x20, 0xc4, 0xe8, 0x2c, 0xac, 0xee, 0xc0, 0x82, 0x27, 0xdc, 0x1d, 0x45, 0x2f, 0x41, 0xa6, 0x4c, 0xeb, 0xdc, 0xf8, 0x90, 0x9f, 0x34, 0x8c, 0xce, 0x30, 0x50, 0x2c, 0x61, 0x91, 0x26, 0x4b, 0x91, 0xb0, 0x68, 0xdd, 0x24, 0xcf, 0xd5, 0xcf, 0x4d, 0xf7, 0x85, 0xb9, 0x7a, 0xba, 0x7b, 0x49, 0xe, 0xdb, 0xa1, 0x4b, 0x72, 0x55, 0x86, 0x1b, 0x3, 0xd7, 0x66, 0x71, 0x7b, 0x17, 0xf1, 0xa2, 0x7d, 0x96, 0x5c, 0x3b, 0x12, 0x87, 0x4, 0x4d, 0x5c, 0x2c, 0xbf, 0xd9, 0xf9, 0x64, 0x4e, 0x1, 0x7d, 0x69, 0x18, 0x9f, 0x9b, 0x35, 0xe8, 0x18, 0x73, 0xa6, 0x40, 0xbe, 0x55, 0x13, 0x2e, 0x1e, 0xb8, 0x8b, 0xb2, 0x1f, 0x92, 0x91, 0xb6, 0xf8, 0x8f, 0xc7, 0x68, 0xec, 0x1f, 0x19, 0x10, 0x9a, 0x8a, 0xb2, 0xe9, 0xcd, 0x3d, 0x8d, 0x3b, 0x35, 0x4c, 0xe7, 0x80, 0xa8, 0x6c, 0xfa, 0x7, 0x44, 0xda, 0xbb, 0x7d, 0xca, 0x2c, 0xc1, 0x58, 0xec, 0x74, 0x29, 0x94, 0x3b, 0xfb, 0x8b, 0x6f, 0x25, 0x64, 0xa, 0x6e, 0xed, 0x8e, 0xb4, 0xee, 0x35, 0xf1, 0xad, 0xdf, 0xa8, 0xb7, 0x9b, 0x1b, 0xf5, 0x2b, 0x7e, 0x98, 0xe, 0x99, 0x26, 0xea, 0xb7, 0xf9, 0x41, 0xd9, 0x26, 0x8e, 0xad, 0x13, 0xf0, 0x1e, 0x2e, 0x6d, 0xc8, 0xd9, 0x4f, 0xf1, 0xa9, 0x3a, 0x43, 0x85, 0x63, 0xfc, 0x25, 0xdf, 0xe2, 0x8a, 0x79, 0xb9, 0x15, 0x13, 0x3b, 0x2d, 0x76, 0xc0, 0x8c, 0x38, 0xea, 0x78, 0xc3, 0xa, 0xde, 0x17, 0xe, 0x82, 0x25, 0xfa, 0x41, 0xab, 0xa2, 0xaa, 0x32, 0xc0, 0x8c, 0x14, 0x25, 0x79, 0x16, 0x37, 0x4e, 0xc, 0xda, 0xec, 0x2, 0xb4, 0xfd, 0xd2, 0xe8, 0x9e, 0x8b, 0x87, 0x4, 0xe2, 0x39, 0xca, 0x3b, 0x3e, 0xb6, 0x23, 0xf7, 0x50, 0x13, 0x44, 0x2, 0x8d, 0x16, 0xe4, 0xf4, 0xe4, 0xe2, 0xf4, 0xfc, 0xa3, 0xcb, 0x87, 0x91, 0xa9, 0x21, 0xfa, 0x55, 0x97, 0x6, 0xa7, 0xd8, 0x9c, 0xd3, 0x84, 0x30, 0x35, 0xe1, 0x31, 0x24, 0x6c, 0x85, 0xd1, 0xce, 0x2b, 0x46, 0xc9, 0x9d, 0xbd, 0xed, 0xd6, 0x91, 0x65, 0x98, 0xad, 0xdb, 0xa0, 0xf9, 0xc1, 0xa9, 0x87, 0xe9, 0xff, 0x74, 0x31, 0x91, 0x99, 0x9c, 0x51, 0x3c, 0x56, 0x66, 0xca, 0xf4, 0x31, 0xe1, 0x9, 0x35, 0x42, 0xd8, 0x1c, 0x8e, 0x58, 0xcc, 0x44, 0x4a, 0x35, 0x8b, 0x48, 0xa, 0x46, 0x5c, 0x62, 0x2a, 0x55, 0xe4, 0x87, 0x48, 0x70, 0xd, 0x5f, 0x74, 0x89, 0xa2, 0x1, 0x81, 0x2f, 0x11, 0x2c, 0x5d, 0xc2, 0x6, 0x3a, 0x15, 0x52, 0x3b, 0x22, 0x55, 0xa3, 0xf1, 0xa4, 0xf9, 0xd3, 0x76, 0x9f, 0xe9, 0x36, 0xd3, 0xdf, 0x33, 0x5f, 0x6c, 0x87, 0xce, 0x7c, 0xbf, 0x7b, 0x9e, 0xd3, 0xbc, 0xca, 0xf, 0x8c, 0xf7, 0x38, 0x95, 0xb0, 0x35, 0xf7, 0xb9, 0x1, 0x20, 0x77, 0x76, 0x27, 0x97, 0x62, 0x5f, 0x4e, 0xbd, 0xad, 0xe2, 0xce, 0xc9, 0x59, 0x3e, 0xfb, 0x21, 0x4d, 0x12, 0xf1, 0xa0, 0x9c, 0xd6, 0xea, 0x2, 0x3c, 0xd, 0xc3, 0xf0, 0xda, 0x28, 0x1e, 0x11, 0x4e, 0xd7, 0x85, 0xc, 0x32, 0x21, 0xe9, 0x22, 0x61, 0xf1, 0x71, 0x6e, 0xa4, 0x8e, 0x8b, 0x11, 0xf2, 0x98, 0x4, 0xc7, 0x2a, 0xf5, 0xcd, 0x8e, 0x9c, 0x5b, 0xe9, 0xfc, 0x69, 0x3d, 0x8a, 0xf, 0x1, 0x51, 0x9b, 0x47, 0xd0, 0x63, 0x2a, 0xb6, 0xef, 0xf9, 0xa0, 0x70, 0xf, 0x35, 0xc9, 0xf, 0xaf, 0x28, 0x64, 0x5, 0x4, 0xe8, 0xc4, 0x60, 0x3a, 0x5, 0xf3, 0xcd, 0x5b, 0xef, 0xb0, 0x80, 0x7e, 0x46, 0x59, 0x7b, 0x15, 0xc3, 0x81, 0x7c, 0x35, 0xbe, 0xf1, 0x3, 0x65, 0xc9, 0x1e, 0x0, 0xef, 0x6c, 0xdd, 0xaf, 0x89, 0xee, 0x96, 0xc2, 0x83, 0x85, 0xf6, 0x9c, 0xfc, 0x1e, 0xd7, 0xb1, 0xf5, 0xb8, 0xfe, 0x68, 0x5c, 0xc7, 0xd, 0xdf, 0x89, 0x81, 0x74, 0x1b, 0xd3, 0xf3, 0x3d, 0x77, 0x58, 0x80, 0x1e, 0x2c, 0x18, 0x4f, 0x45, 0xf5, 0x10, 0xb5, 0xde, 0x1a, 0xd8, 0xb, 0x1e, 0xe6, 0x2f, 0x6, 0xed, 0x5b, 0xa9, 0x3c, 0x14, 0x70, 0x6f, 0x1c, 0x40, 0xf, 0xef, 0xd8, 0x7a, 0x78, 0x7f, 0x1c, 0xbc, 0x3f, 0xc0, 0x5b, 0x59, 0xb0, 0x61, 0xd6, 0x1c, 0xaf, 0xf6, 0x48, 0xdf, 0xbc, 0x1, 0xf, 0xb, 0xeb, 0x9d, 0x17, 0x49, 0x5b, 0x2f, 0xc6, 0x2b, 0x91, 0xd4, 0x1c, 0xc, 0x4, 0xdf, 0x0, 0x65, 0x33, 0xe2, 0xd4, 0x1d, 0x7, 0x14, 0x15, 0xc2, 0x82, 0x77, 0x21, 0x1a, 0xf7, 0x27, 0xbc, 0xe2, 0xcc, 0x42, 0x84, 0xf4, 0x32, 0x7e, 0xa3, 0x55, 0xbb, 0x96, 0x9c, 0xee, 0x43, 0x78, 0x2d, 0xd9, 0x3d, 0x70, 0x63, 0xeb, 0x6d, 0xd8, 0xdf, 0xaf, 0x2b, 0x60, 0xc7, 0xb0, 0xf1, 0x9, 0x39, 0xd1, 0x72, 0x6c, 0x7c, 0x64, 0xac, 0x6e, 0x31, 0x6c, 0xa6, 0xec, 0xeb, 0xed, 0xbe, 0x10, 0xa1, 0xb9, 0x4c, 0x12, 0x3a, 0xc2, 0x74, 0x64, 0x9b, 0xe1, 0x2d, 0xeb, 0x86, 0xa3, 0xd8, 0x3e, 0xb, 0x5a, 0x9f, 0x5, 0xed, 0x20, 0xb3, 0xa0, 0x3d, 0x7b, 0xc4, 0x71, 0x93, 0x9c, 0x51, 0xbb, 0xb7, 0xf, 0x40, 0xd0, 0xa8, 0xa5, 0xbb, 0x97, 0x34, 0xb0, 0x7d, 0xd7, 0x51, 0xbd, 0xad, 0x75, 0xc4, 0xf1, 0x2, 0x30, 0x56, 0x74, 0xd3, 0xc, 0x68, 0xf9, 0x50, 0x47, 0xc6, 0xd3, 0x21, 0xfd, 0xb0, 0x7e, 0xd3, 0x1d, 0x96, 0x5a, 0xf8, 0x84, 0x54, 0x68, 0x45, 0x7f, 0xb1, 0x47, 0xe5, 0x44, 0x7b, 0x5e, 0xd1, 0xa7, 0xcf, 0x7e, 0xb6, 0x23, 0xdb, 0xc9, 0x4b, 0x66, 0xea, 0x6a, 0x3e, 0x62, 0xab, 0x59, 0x33, 0xdd, 0x67, 0xa9, 0xf5, 0x74, 0xf7, 0x2c, 0x15, 0x5b, 0xcf, 0x52, 0x7b, 0x96, 0xfa, 0xe2, 0xb9, 0xbe, 0xe, 0x97, 0xa5, 0x8a, 0x64, 0x5, 0x47, 0x54, 0x1d, 0x59, 0xed, 0x8, 0xe7, 0xea, 0x89, 0xae, 0x71, 0xae, 0xa3, 0x2e, 0x3b, 0x4e, 0x78, 0x1a, 0xf, 0xe5, 0x74, 0xad, 0x71, 0x0, 0x3d, 0xce, 0x63, 0xeb, 0x4f, 0xd7, 0x9e, 0xe0, 0x14, 0xc7, 0x67, 0x4c, 0xa6, 0x36, 0x87, 0xf, 0x1a, 0x49, 0x36, 0xeb, 0x8c, 0xf6, 0x78, 0xdf, 0xbc, 0xb, 0xf, 0xb, 0xf8, 0x35, 0xc8, 0x94, 0x71, 0xba, 0x87, 0x27, 0xf4, 0xd8, 0x3f, 0x51, 0x93, 0xb8, 0xce, 0x5f, 0xc2, 0x8, 0x50, 0xc, 0xe1, 0x2c, 0x89, 0xe3, 0xb9, 0xa2, 0x55, 0xc, 0x38, 0x6e, 0xd0, 0x81, 0xfc, 0xbb, 0xcc, 0x23, 0xb1, 0x0, 0xab, 0x57, 0xd8, 0xf0, 0x18, 0xbf, 0x33, 0x5d, 0xf6, 0xbf, 0x72, 0xf6, 0x62, 0x11, 0x63, 0xa8, 0x8c, 0xbf, 0x1b, 0x75, 0x21, 0xa6, 0x87, 0xe4, 0x24, 0x27, 0x31, 0x2e, 0xe8, 0x54, 0x74, 0x6d, 0x2d, 0xb0, 0x74, 0xc2, 0x83, 0x65, 0xd1, 0xea, 0x54, 0x4d, 0xec, 0x64, 0xfb, 0x44, 0x74, 0x9f, 0x93, 0x6c, 0xa7, 0xbd, 0x67, 0x22, 0xd8, 0xfa, 0x93, 0xbe, 0x3, 0x47, 0xe9, 0xed, 0x2b, 0xfc, 0xb0, 0x0, 0xfa, 0x89, 0x9, 0x79, 0x73, 0x70, 0x7e, 0x74, 0x66, 0xde, 0xd7, 0x33, 0x79, 0x7d, 0x7f, 0x9, 0x78, 0x5f, 0xef, 0x94, 0x68, 0xdb, 0xba, 0xe8, 0x3e, 0xaf, 0xda, 0x46, 0x79, 0xcf, 0xa9, 0xb0, 0xf5, 0x66, 0xad, 0xde, 0xac, 0xf5, 0xa, 0xf9, 0x6c, 0xf, 0x95, 0x7d, 0x3e, 0x47, 0x6a, 0xdb, 0x8d, 0xd4, 0xae, 0xcf, 0x93, 0xe3, 0xf6, 0x5, 0x19, 0x6b, 0x63, 0x8e, 0xd8, 0xea, 0x70, 0xe, 0x80, 0x5, 0x34, 0xd2, 0xdf, 0x33, 0x2, 0x6c, 0xbd, 0xdd, 0xab, 0xe7, 0x3, 0x2f, 0x9e, 0x5, 0xb7, 0xba, 0xf7, 0x3a, 0xcd, 0xd, 0xd6, 0x47, 0x7b, 0xc7, 0xf9, 0x37, 0x45, 0xbf, 0x96, 0x61, 0xdf, 0x1a, 0x9f, 0x6c, 0xf5, 0x78, 0xb3, 0x98, 0xd6, 0x25, 0x57, 0xbc, 0xa2, 0x3b, 0x79, 0x21, 0x79, 0x9f, 0xa6, 0xea, 0xbe, 0x49, 0x3, 0xfa, 0x20, 0xe4, 0x6, 0xe4, 0x33, 0x50, 0x4e, 0xff, 0xb1, 0xfe, 0xe7, 0xae, 0x36, 0x3a, 0x87, 0x7, 0x72, 0x77, 0x72, 0x3a, 0x1e, 0xfd, 0x36, 0x1a, 0xff, 0xfd, 0x76, 0x7c, 0x72, 0xf3, 0xeb, 0xed, 0xe9, 0xe5, 0xa7, 0xab, 0x8f, 0xe7, 0xe3, 0xf3, 0xb3, 0x3b, 0x5b, 0x73, 0x9f, 0x4c, 0xc1, 0xa8, 0xc, 0xf, 0xd2, 0xe8, 0x2f, 0xdc, 0x67, 0x61, 0xa, 0xfd, 0x2f, 0x98, 0xd2, 0x42, 0xae, 0x27, 0x9c, 0xa2, 0x5b, 0x9c, 0xe9, 0x30, 0x5c, 0xc3, 0x13, 0x95, 0x48, 0x2, 0x5a, 0xca, 0x7c, 0x92, 0x1a, 0x7f, 0x75, 0x48, 0x3e, 0x50, 0x96, 0x38, 0x17, 0xc1, 0x82, 0xe2, 0xe2, 0x9c, 0x8, 0xf2, 0xd3, 0x18, 0xcc, 0x4d, 0xc3, 0x5, 0x3a, 0xed, 0x81, 0x24, 0x2b, 0x9a, 0xb0, 0x98, 0xc4, 0x19, 0xba, 0xd0, 0x55, 0xbd, 0x12, 0x6, 0xc1, 0x5d, 0xd2, 0x52, 0x1d, 0x7c, 0x7, 0x7, 0x4, 0x93, 0x0, 0xaf, 0x40, 0x1a, 0xb5, 0xcf, 0x5c, 0x42, 0xcb, 0x62, 0xa5, 0x96, 0xcb, 0x1e, 0x29, 0x10, 0xba, 0xcf, 0xef, 0x9a, 0xa8, 0xef, 0xb9, 0x1d, 0xb6, 0xc3, 0x30, 0xd0, 0x75, 0x8, 0xc7, 0x1b, 0xe3, 0xfa, 0xbb, 0x8e, 0xe2, 0x19, 0xd7, 0x6d, 0xa3, 0x80, 0x4e, 0xcd, 0xcd, 0x9b, 0x25, 0xe5, 0xd1, 0x1f, 0x9b, 0xac, 0xf2, 0x2a, 0xec, 0x46, 0xea, 0xc6, 0x23, 0xaf, 0xac, 0x98, 0x92, 0xbc, 0x50, 0x93, 0x1f, 0x51, 0xd6, 0xd9, 0xc3, 0xa2, 0x3c, 0xab, 0x5d, 0x13, 0xea, 0x6c, 0x79, 0x77, 0xf7, 0x1, 0x67, 0xb, 0xe1, 0x3d, 0xd6, 0x60, 0x3b, 0xc, 0xac, 0xa9, 0x8d, 0x77, 0xa9, 0x4c, 0xfc, 0x6f, 0xf9, 0xfa, 0xc7, 0xdb, 0x7, 0x68, 0xe0, 0x5c, 0x68, 0xbd, 0x54, 0xef, 0x8f, 0x8f, 0x63, 0x11, 0xa9, 0xa1, 0x86, 0x74, 0x29, 0x24, 0x4d, 0x86, 0x4c, 0x1c, 0x27, 0x4c, 0xe9, 0xa3, 0x19, 0x4b, 0x74, 0x48, 0x31, 0x9, 0x44, 0xad, 0xb9, 0xa6, 0x5f, 0xbe, 0x87, 0x98, 0x9b, 0xf5, 0xd1, 0x5e, 0xd9, 0x43, 0xb6, 0x6, 0xd9, 0x37, 0xc8, 0x8d, 0x4b, 0x29, 0xcc, 0x6e, 0xae, 0x7a, 0x79, 0xa2, 0x4, 0x85, 0xe1, 0x28, 0x8d, 0xa7, 0xa3, 0x6d, 0x64, 0xc2, 0xf, 0x27, 0xa3, 0x8f, 0x7b, 0xa, 0x84, 0x2e, 0x51, 0xe1, 0xb, 0x9, 0x84, 0x84, 0x8b, 0x9, 0xef, 0x84, 0x40, 0x68, 0xbf, 0x4e, 0xf7, 0xc1, 0x79, 0x2b, 0xe9, 0x3d, 0x3c, 0x63, 0x3b, 0xc, 0x78, 0xee, 0xb6, 0x28, 0xe8, 0xd2, 0x81, 0x74, 0x5b, 0xe, 0xdc, 0x3f, 0xf7, 0x47, 0x43, 0x98, 0x96, 0x81, 0xa2, 0x42, 0x75, 0x98, 0x3a, 0x80, 0x66, 0x9, 0x58, 0xcd, 0xde, 0x4a, 0x85, 0x5b, 0x2b, 0x72, 0xd5, 0x1c, 0x63, 0x7a, 0xdf, 0x14, 0x4, 0x71, 0x83, 0x6e, 0x79, 0xe6, 0xd5, 0x42, 0xc9, 0xcc, 0xbb, 0xf0, 0xeb, 0xad, 0x3, 0xbd, 0x3b, 0xc2, 0xb8, 0x6, 0xb9, 0xa2, 0x49, 0x4d, 0x6a, 0x58, 0xaa, 0xee, 0x7, 0x13, 0xae, 0x9d, 0xc1, 0x21, 0xaf, 0xa7, 0x63, 0x7d, 0x55, 0x5c, 0x82, 0x7d, 0x91, 0xe9, 0x21, 0x39, 0x3, 0x7f, 0x5e, 0x28, 0x38, 0xb9, 0x6, 0x2d, 0xd7, 0x57, 0x98, 0x49, 0xd9, 0x19, 0x12, 0x52, 0xba, 0x26, 0x5a, 0xb2, 0xb9, 0xc1, 0xe0, 0x3c, 0x38, 0x72, 0xc2, 0xb1, 0xa4, 0xa7, 0xa8, 0xe4, 0xb0, 0xb5, 0x95, 0x42, 0xb7, 0x19, 0x26, 0x30, 0xd5, 0x7b, 0x89, 0xe3, 0x8c, 0x47, 0x9f, 0xce, 0xcf, 0x6e, 0x2f, 0x3f, 0x8f, 0x3d, 0xd3, 0xf1, 0x87, 0x9f, 0x5b, 0xd8, 0xce, 0x84, 0x3b, 0xbe, 0x33, 0x24, 0xa7, 0x2e, 0x40, 0xb2, 0x31, 0x5d, 0x8b, 0xed, 0xcf, 0x4c, 0xec, 0x26, 0xbf, 0xe1, 0x6, 0x82, 0x17, 0x44, 0x31, 0x9d, 0x21, 0xf6, 0xab, 0xc1, 0x84, 0x33, 0x57, 0x51, 0x13, 0x89, 0xb1, 0x21, 0x92, 0x37, 0x67, 0xbf, 0xfa, 0x2c, 0xd8, 0x3e, 0xb4, 0xb8, 0x9a, 0x36, 0x78, 0x63, 0x6, 0xc6, 0x85, 0x38, 0x64, 0x2c, 0x6f, 0x20, 0xb8, 0xa6, 0xc5, 0xb0, 0xc0, 0xbb, 0x18, 0xb4, 0xf9, 0xda, 0x77, 0xce, 0x60, 0x1a, 0xc2, 0x17, 0x41, 0x2a, 0x64, 0x4f, 0x21, 0x27, 0x3d, 0xc8, 0x95, 0x73, 0x5b, 0x32, 0x1d, 0x4d, 0x61, 0xc2, 0x33, 0x95, 0x5f, 0x2e, 0x39, 0xe4, 0x2d, 0x20, 0xba, 0x5f, 0xa, 0xc6, 0x31, 0x9c, 0x62, 0x2e, 0x41, 0xb9, 0x44, 0xc0, 0x35, 0x29, 0x7e, 0x6b, 0x6b, 0x89, 0x98, 0xe1, 0xc7, 0x2c, 0x42, 0x9f, 0xac, 0x87, 0x5, 0xe8, 0x5, 0xc8, 0xf2, 0x50, 0x17, 0x54, 0x91, 0x69, 0xa1, 0x20, 0x43, 0x81, 0xbb, 0xb7, 0x39, 0x59, 0x68, 0xf8, 0x50, 0x87, 0xc0, 0x58, 0xb7, 0x12, 0xdf, 0xb3, 0x56, 0x6c, 0x3d, 0x6b, 0xcd, 0xaf, 0x3c, 0x39, 0xff, 0x4a, 0xb7, 0x99, 0xeb, 0x53, 0x42, 0x0, 0x5e, 0x5d, 0xf5, 0x79, 0xa2, 0x9d, 0xdc, 0xa5, 0x56, 0xef, 0xcd, 0xe4, 0xd, 0xbe, 0xcc, 0x87, 0x0, 0xdf, 0x5b, 0x89, 0xef, 0xe1, 0x1b, 0x5b, 0xf, 0xdf, 0xf9, 0x95, 0x27, 0xfb, 0xf6, 0x77, 0x13, 0xbe, 0x65, 0xb4, 0x60, 0x2b, 0x88, 0x8f, 0x3c, 0xe8, 0xa8, 0xb6, 0x76, 0xf2, 0x8f, 0x4c, 0xe9, 0x13, 0xf7, 0xb4, 0xa7, 0x69, 0xb7, 0xb9, 0x3c, 0x61, 0x4a, 0x13, 0xff, 0xd2, 0x1c, 0x7, 0x9f, 0x66, 0x36, 0x6f, 0x26, 0xa5, 0xfb, 0x40, 0xd4, 0x4c, 0x7f, 0x8f, 0x45, 0xd8, 0xe, 0x3, 0x8b, 0x96, 0x74, 0xe, 0x37, 0xec, 0x9f, 0x5b, 0xa8, 0x79, 0x8a, 0x79, 0xdb, 0xe8, 0xf5, 0x73, 0x90, 0xd5, 0xa7, 0xf3, 0x82, 0x70, 0x8c, 0xeb, 0xff, 0xf8, 0xeb, 0xbe, 0xf4, 0x72, 0xf8, 0xa2, 0xaf, 0xe8, 0x1c, 0x6a, 0xb, 0x13, 0x7e, 0x85, 0x22, 0x76, 0x8f, 0x3d, 0xa7, 0xf8, 0x96, 0x8e, 0xf, 0xa6, 0x54, 0x47, 0x8b, 0xa3, 0x80, 0x71, 0x7b, 0x21, 0xf2, 0x4f, 0xe6, 0xd9, 0xcb, 0xf0, 0x68, 0x48, 0x44, 0x48, 0x2d, 0xf2, 0x8a, 0x19, 0xc1, 0xde, 0x49, 0xa1, 0xf7, 0x66, 0x5c, 0xad, 0x74, 0x78, 0x18, 0x60, 0x5a, 0x21, 0xba, 0x47, 0x50, 0x6c, 0xcf, 0xe6, 0xe0, 0x87, 0xe6, 0x30, 0x67, 0xbf, 0xb2, 0xf1, 0x20, 0x95, 0x45, 0xd5, 0x6d, 0x2c, 0xae, 0x8c, 0xcb, 0x2c, 0x18, 0x62, 0xee, 0x25, 0xea, 0x5b, 0x1, 0xee, 0xea, 0x97, 0x83, 0x2f, 0x6e, 0x84, 0xba, 0x23, 0x30, 0xdf, 0x11, 0x64, 0x3d, 0xfe, 0xf3, 0xf, 0x31, 0x7d, 0x44, 0x9d, 0xfb, 0x32, 0xbe, 0x14, 0xb3, 0xbd, 0xd6, 0x15, 0xba, 0x6f, 0xd8, 0x1d, 0xdb, 0xca, 0xc0, 0x97, 0x5f, 0xd0, 0x7d, 0xd0, 0xad, 0xa7, 0xbb, 0xc7, 0x5d, 0x6c, 0xdf, 0x1b, 0xee, 0xe2, 0x9e, 0xda, 0x31, 0x28, 0x5c, 0x28, 0xe4, 0xf, 0x31, 0x25, 0xec, 0x35, 0x62, 0x4f, 0x9f, 0x11, 0x6f, 0x7c, 0x7, 0x2d, 0x6a, 0x23, 0x57, 0x60, 0xa2, 0x54, 0x18, 0xb9, 0x3d, 0x26, 0xd4, 0x74, 0xd5, 0x7d, 0x40, 0xa8, 0x21, 0xba, 0x47, 0x3, 0x6c, 0x3d, 0x1a, 0x6c, 0xe, 0xea, 0x7f, 0x8b, 0x29, 0x19, 0x9d, 0x11, 0x9c, 0x78, 0x17, 0x61, 0xec, 0x2a, 0x5, 0x8f, 0xce, 0x82, 0x59, 0x7c, 0xea, 0x21, 0xa3, 0x1b, 0xe3, 0xea, 0x90, 0xd5, 0xb1, 0x66, 0xb3, 0x75, 0xd3, 0xda, 0xb8, 0x4d, 0xfe, 0x3a, 0x56, 0x5a, 0x2c, 0xdb, 0x27, 0x8c, 0xd2, 0x62, 0xb9, 0x1, 0xad, 0x62, 0xa9, 0xf6, 0x92, 0xb4, 0x36, 0x3b, 0x39, 0x4, 0x50, 0xad, 0xd2, 0xdc, 0x63, 0x2a, 0xb6, 0x1e, 0x53, 0xbf, 0xba, 0x84, 0x75, 0x68, 0x88, 0x59, 0xdd, 0x49, 0xdd, 0x4, 0x4c, 0xe7, 0xa2, 0x75, 0x14, 0xc3, 0x32, 0x11, 0xeb, 0x14, 0xb8, 0x3e, 0xfe, 0x33, 0xff, 0x7b, 0xa8, 0x40, 0x32, 0x50, 0x66, 0xf9, 0xfe, 0x6b, 0x8f, 0x74, 0x7b, 0x28, 0x83, 0xe6, 0xbd, 0x10, 0xaa, 0x4a, 0xee, 0x60, 0x85, 0x2b, 0x86, 0xf5, 0x32, 0xad, 0x8a, 0x3f, 0xd9, 0x57, 0xe, 0xc9, 0x29, 0xe5, 0x45, 0xf7, 0x37, 0x1b, 0xb6, 0x8c, 0xce, 0x65, 0x24, 0x5, 0x4d, 0x63, 0xaa, 0xa9, 0x77, 0x83, 0x2a, 0xbf, 0xea, 0x1, 0x92, 0x64, 0x38, 0xe1, 0xe7, 0x5f, 0x96, 0x20, 0x99, 0xf9, 0x91, 0x26, 0x2e, 0xc1, 0xdf, 0xc9, 0xd5, 0x88, 0xa4, 0x6c, 0xbe, 0xb0, 0x45, 0xbf, 0xd9, 0x8c, 0x45, 0x14, 0xf3, 0xea, 0x47, 0xb, 0xca, 0xe7, 0x40, 0x84, 0xb4, 0x19, 0x30, 0x52, 0xb1, 0x82, 0xd8, 0x1e, 0x13, 0xcd, 0x32, 0x9d, 0x61, 0x12, 0xf8, 0x4, 0xa8, 0x82, 0xe1, 0x84, 0x9f, 0xc1, 0x52, 0x42, 0x84, 0xe9, 0x31, 0xc8, 0x35, 0x2c, 0x13, 0x1a, 0x59, 0xcf, 0x81, 0xbb, 0x1b, 0xd0, 0xbf, 0xa3, 0xf7, 0xc0, 0x59, 0x20, 0xe6, 0xd4, 0x8e, 0xf7, 0x37, 0x9b, 0x56, 0xf0, 0xae, 0xe9, 0x80, 0xe9, 0x6, 0xfc, 0xdd, 0xf9, 0xe3, 0x7, 0xc0, 0x2e, 0x6a, 0xa8, 0xee, 0x19, 0x6, 0xb6, 0xc3, 0x38, 0x4c, 0xaa, 0xdd, 0xe9, 0x3b, 0x60, 0xff, 0x8c, 0xcd, 0x66, 0x80, 0xfb, 0xd8, 0xe5, 0xcb, 0x54, 0x7e, 0x1b, 0x2a, 0x9a, 0x86, 0x94, 0x67, 0xca, 0xa2, 0xd3, 0x31, 0x5d, 0x2e, 0x13, 0x16, 0x39, 0x6b, 0x95, 0xdd, 0x49, 0xe8, 0x8a, 0xa2, 0xc5, 0xdc, 0xfa, 0xfa, 0x4d, 0xd7, 0xde, 0x1b, 0x84, 0x4e, 0xb8, 0x5a, 0x50, 0x9, 0xb1, 0x83, 0x0, 0x3c, 0x9a, 0x1d, 0x4e, 0xf8, 0x65, 0x86, 0xc7, 0xa, 0x34, 0x49, 0xa, 0x1b, 0xdd, 0x26, 0x2d, 0x70, 0x77, 0xe, 0x88, 0xe0, 0xe0, 0x33, 0x14, 0xc4, 0x80, 0x15, 0xfd, 0x31, 0x81, 0xda, 0x36, 0xdc, 0x19, 0x58, 0xf, 0xc8, 0x9, 0x97, 0x10, 0x1, 0x5b, 0x99, 0x77, 0x15, 0x9d, 0x66, 0xa, 0x87, 0xc5, 0x94, 0xc7, 0x78, 0x4d, 0x53, 0x75, 0x8f, 0xef, 0xc, 0xc7, 0xd8, 0xe8, 0x35, 0x33, 0xe1, 0x77, 0xbf, 0x9d, 0x5f, 0xdf, 0x8c, 0x2e, 0x2f, 0x46, 0x17, 0x3f, 0xdf, 0xfe, 0x74, 0xfe, 0xcb, 0xc9, 0x6f, 0xa3, 0xcb, 0xeb, 0xdb, 0x93, 0xcf, 0xe3, 0xcb, 0xdb, 0xcf, 0x57, 0x3f, 0x5f, 0x9f, 0x9c, 0x9d, 0xdf, 0xf9, 0x79, 0x32, 0x63, 0x9c, 0x82, 0x19, 0xac, 0x90, 0x7d, 0x14, 0xf7, 0x6, 0xc3, 0xac, 0xc1, 0x92, 0xc3, 0x61, 0x99, 0x5b, 0xf8, 0x64, 0x93, 0xa9, 0xf7, 0xba, 0x60, 0xd3, 0xad, 0xe1, 0x8c, 0x3f, 0xd8, 0x54, 0xe6, 0xa, 0xed, 0xbd, 0xef, 0x5c, 0x95, 0x98, 0x39, 0x5b, 0x1, 0xaf, 0x61, 0x96, 0xaf, 0xce, 0xed, 0x1c, 0xc1, 0xb7, 0x6e, 0x69, 0xdf, 0x39, 0xb, 0xb5, 0xbb, 0xea, 0x8d, 0xb5, 0x55, 0x86, 0xd8, 0xc8, 0x2, 0x7f, 0x3e, 0x48, 0x16, 0x58, 0x47, 0x75, 0xcf, 0x2, 0xb1, 0x1d, 0x6, 0xb, 0xdc, 0xce, 0xf7, 0xba, 0x6d, 0x25, 0xde, 0x7, 0xb1, 0xa, 0x6c, 0x73, 0x9f, 0xa3, 0x7e, 0xe5, 0x99, 0x79, 0x91, 0xed, 0x3a, 0xf7, 0xfd, 0xdc, 0x6d, 0x8a, 0x5c, 0x16, 0x63, 0x54, 0x38, 0x71, 0xd1, 0x98, 0x53, 0x8a, 0xa5, 0x17, 0x6a, 0xd0, 0xca, 0xa6, 0xce, 0x7e, 0x5d, 0xcc, 0xb2, 0x1e, 0xae, 0x66, 0x50, 0x55, 0x4c, 0x52, 0x8d, 0xa0, 0x64, 0x9e, 0x28, 0xdc, 0xdb, 0x7d, 0x3c, 0xaa, 0x10, 0xdc, 0x43, 0x11, 0xb6, 0xc3, 0x80, 0xa2, 0xde, 0xb5, 0xab, 0x6e, 0x12, 0xdb, 0x9f, 0xf9, 0x3f, 0x9, 0xed, 0x2b, 0xb, 0xdc, 0x83, 0xda, 0x90, 0x7c, 0xb6, 0x5, 0xd5, 0xaa, 0xb0, 0x6, 0x5f, 0x68, 0xa4, 0x8b, 0x9a, 0xa, 0x49, 0xa9, 0x8e, 0x16, 0xdf, 0x74, 0xd8, 0x79, 0x81, 0xf, 0x6c, 0xb3, 0x12, 0x95, 0x7e, 0x9f, 0x66, 0x2c, 0x89, 0x1f, 0xe1, 0xfd, 0xa0, 0xf2, 0xf0, 0xc4, 0x42, 0x6f, 0x5f, 0x81, 0x61, 0x6c, 0x13, 0x64, 0xdb, 0x98, 0x74, 0xfc, 0xb3, 0x87, 0x24, 0xcd, 0x6e, 0xd2, 0xdc, 0x33, 0x10, 0x6c, 0x87, 0xc1, 0x40, 0x7a, 0x73, 0xce, 0xf7, 0x6d, 0xce, 0xd9, 0x84, 0xde, 0x5d, 0x47, 0x38, 0xe6, 0x2e, 0x32, 0x3a, 0x73, 0x70, 0xe9, 0x22, 0xc1, 0xb0, 0x7c, 0x81, 0x2f, 0x86, 0x53, 0xc8, 0xb5, 0x8, 0x32, 0xe4, 0x92, 0xf3, 0xff, 0xc6, 0x98, 0x5f, 0x9a, 0xda, 0x82, 0x6, 0x94, 0xc7, 0xc7, 0x42, 0xda, 0x1a, 0x1d, 0xf3, 0x9, 0x77, 0x7d, 0xbe, 0xc6, 0xdc, 0x1c, 0x18, 0x3f, 0x3c, 0xc6, 0xa, 0x11, 0xd4, 0x6, 0xae, 0x3c, 0xc6, 0x5e, 0x54, 0x7c, 0x9e, 0x24, 0xb0, 0x82, 0xc4, 0xee, 0x9f, 0xd, 0xa6, 0x69, 0x3, 0xfb, 0x93, 0x25, 0xc9, 0x14, 0x48, 0x45, 0x62, 0x88, 0x58, 0xc, 0xf6, 0x2b, 0xda, 0x32, 0x79, 0x9a, 0xa5, 0x30, 0xe1, 0x5a, 0x98, 0x4b, 0x22, 0x4d, 0x99, 0xb2, 0x15, 0x90, 0x8a, 0x7c, 0x97, 0x5c, 0x6f, 0xbe, 0xcd, 0x46, 0x4d, 0x46, 0x99, 0xdd, 0xfd, 0x41, 0x28, 0x2a, 0x1f, 0xc6, 0xbc, 0x55, 0x13, 0x7e, 0xa7, 0x10, 0x88, 0xef, 0x70, 0xe7, 0x85, 0x82, 0x1b, 0xf9, 0xae, 0xc3, 0xf3, 0xd0, 0x18, 0x93, 0x1, 0xf8, 0xe, 0x36, 0x8c, 0x5c, 0xce, 0x3f, 0x83, 0xc9, 0x7c, 0x27, 0xf, 0x27, 0xfc, 0xd4, 0xbd, 0xdf, 0xf4, 0x57, 0x9a, 0xf, 0x8c, 0xaf, 0x34, 0x17, 0x56, 0x90, 0xac, 0x89, 0xe1, 0x31, 0x5c, 0xb1, 0x15, 0x60, 0x58, 0xba, 0x84, 0x99, 0x90, 0x30, 0xf0, 0x11, 0xee, 0x56, 0x72, 0xb0, 0xb6, 0x2b, 0xcc, 0x33, 0x10, 0x61, 0xa1, 0xe5, 0x9, 0x8f, 0x68, 0xb4, 0x80, 0x98, 0xac, 0x68, 0x92, 0xc1, 0x90, 0x8c, 0x5c, 0xd4, 0x3e, 0x25, 0x11, 0x55, 0x60, 0x23, 0xf4, 0xef, 0x12, 0xaa, 0xf4, 0xad, 0x3d, 0x95, 0xc2, 0xdc, 0x8, 0x2e, 0xec, 0xdf, 0xba, 0x67, 0x92, 0xb5, 0xc8, 0x9c, 0x77, 0xa6, 0xb, 0x54, 0xcf, 0x68, 0x62, 0xf0, 0xa9, 0x40, 0xa7, 0x9f, 0x40, 0x2c, 0x4c, 0xc2, 0xbe, 0x8e, 0x46, 0x7c, 0x26, 0x29, 0xe3, 0x74, 0xe, 0x23, 0x3e, 0x13, 0x2d, 0x8d, 0x78, 0x6d, 0x64, 0x9f, 0x9f, 0xa1, 0x64, 0xe, 0xcb, 0x7, 0xdd, 0x7d, 0x11, 0x68, 0x2b, 0xe9, 0xbd, 0x24, 0x84, 0xad, 0x97, 0x84, 0x7a, 0x49, 0xa8, 0x97, 0x84, 0x7a, 0x49, 0xa8, 0x2c, 0x9, 0x71, 0xf8, 0x92, 0xa9, 0xdc, 0xef, 0xee, 0x11, 0x9, 0x31, 0x2f, 0x4c, 0xf, 0xc1, 0x59, 0xa6, 0x6d, 0x5a, 0x4c, 0x7c, 0xaa, 0x10, 0x6b, 0xf6, 0xe8, 0x9c, 0x98, 0xdb, 0x5e, 0xdf, 0x7d, 0x86, 0xd5, 0x48, 0x7e, 0xcf, 0xb4, 0xb0, 0x1d, 0x6, 0xd3, 0x7a, 0xdd, 0xfc, 0x98, 0x13, 0x7e, 0x3, 0x40, 0x68, 0xa2, 0x4, 0xf9, 0xc8, 0x54, 0xc3, 0xa, 0xb2, 0x19, 0xa5, 0xcc, 0xd3, 0xa, 0xa8, 0x34, 0x62, 0xb0, 0xd6, 0x92, 0x4d, 0x33, 0xac, 0xa2, 0xb7, 0xa2, 0x2c, 0xa1, 0xd3, 0x4, 0xf0, 0x7a, 0x75, 0x37, 0x7e, 0xd3, 0xc6, 0xd0, 0xa, 0xe4, 0xed, 0x75, 0xb2, 0xb6, 0x2f, 0xd8, 0x61, 0x68, 0xed, 0x73, 0x60, 0x5d, 0xd3, 0xcb, 0xbb, 0xf, 0x75, 0xcd, 0xeb, 0xb4, 0x47, 0xba, 0x83, 0x41, 0xba, 0x96, 0x81, 0xb3, 0x9f, 0xe8, 0x17, 0xc2, 0xb3, 0x74, 0xa, 0xd2, 0x8, 0x5f, 0x85, 0x95, 0x8f, 0x25, 0x99, 0x51, 0x69, 0x5f, 0x1a, 0xd1, 0x8b, 0xce, 0x37, 0x3f, 0xc5, 0x41, 0x1e, 0x9a, 0x55, 0xf3, 0xe7, 0x62, 0xee, 0xa5, 0xa0, 0x95, 0x33, 0xbe, 0x3, 0xa9, 0xb7, 0xac, 0xca, 0x6e, 0x1e, 0xc5, 0xbd, 0x3e, 0xb7, 0xab, 0x32, 0x2f, 0xb4, 0x3d, 0x19, 0xdd, 0xcd, 0x70, 0x31, 0x9a, 0x6c, 0xe3, 0x62, 0x84, 0xf1, 0x28, 0xc9, 0x62, 0x78, 0x3f, 0xe1, 0x47, 0xe4, 0x32, 0xc7, 0x53, 0xf3, 0xcf, 0xeb, 0xcc, 0xfd, 0x71, 0xce, 0x63, 0xcc, 0x82, 0x68, 0xfe, 0x76, 0xfc, 0xa5, 0x74, 0x3b, 0xde, 0x6c, 0x59, 0xa9, 0x7d, 0x0, 0x43, 0x6a, 0xc6, 0x68, 0x7d, 0x3b, 0x22, 0xe1, 0x23, 0xfa, 0x1f, 0x4e, 0x13, 0xa1, 0x60, 0xe3, 0xaa, 0xc5, 0x8a, 0xd2, 0x4f, 0x67, 0x59, 0xde, 0xbf, 0xb9, 0xc, 0x63, 0x49, 0xb9, 0x42, 0x78, 0x41, 0xc1, 0xf0, 0x7b, 0xe2, 0xc0, 0xc7, 0x7f, 0x16, 0xb8, 0xdd, 0xde, 0x87, 0x8e, 0x5b, 0xb6, 0x55, 0x88, 0xbd, 0xae, 0x8b, 0xbb, 0xae, 0x2c, 0x15, 0xb3, 0xca, 0xb2, 0xe5, 0x52, 0x48, 0xc3, 0x2a, 0x32, 0x5, 0x68, 0x2e, 0x2c, 0xaf, 0x9f, 0x9f, 0x41, 0x7, 0xb5, 0x3d, 0x3c, 0x87, 0x7d, 0xa3, 0xc6, 0x69, 0xba, 0x75, 0x85, 0x20, 0xcd, 0xdd, 0x1f, 0x5, 0x9f, 0x1f, 0x2d, 0x45, 0x62, 0x73, 0xad, 0x1a, 0xe8, 0x20, 0xca, 0x7c, 0x64, 0x6f, 0xfd, 0x33, 0x4a, 0xbc, 0x3, 0x42, 0xa3, 0xcb, 0x97, 0x3b, 0x9c, 0x84, 0xe0, 0x1d, 0xb4, 0x20, 0x14, 0x7c, 0xe9, 0x1d, 0x41, 0xa5, 0xfb, 0x97, 0x99, 0x26, 0x42, 0x12, 0x91, 0xe9, 0x48, 0xa4, 0x40, 0x7e, 0x70, 0x39, 0xe0, 0xf2, 0x5b, 0x16, 0x54, 0xe5, 0xb9, 0xdc, 0xde, 0xb5, 0x39, 0xf9, 0xdc, 0x32, 0xa3, 0xdd, 0x97, 0x33, 0x76, 0xc, 0xa0, 0x17, 0x35, 0xb0, 0x1d, 0x86, 0xa8, 0x51, 0x5c, 0x9b, 0x9d, 0x20, 0x48, 0x66, 0x35, 0xa4, 0x6c, 0x78, 0x9f, 0x84, 0xcc, 0xf, 0x19, 0x27, 0xa3, 0xb3, 0x21, 0x19, 0xcd, 0x8, 0xa4, 0x4b, 0xbd, 0x76, 0xc7, 0x3f, 0x56, 0x27, 0xb3, 0x15, 0xc1, 0xac, 0x2d, 0x30, 0xa1, 0xda, 0xfc, 0x24, 0x33, 0xfe, 0x3a, 0x5a, 0x57, 0x8b, 0x91, 0x3a, 0x98, 0x19, 0x19, 0x6c, 0xd9, 0x31, 0xe0, 0x91, 0x43, 0x24, 0x9b, 0xe0, 0xc2, 0x60, 0x51, 0x6d, 0xb2, 0xe0, 0x17, 0x18, 0xda, 0x54, 0x88, 0x4, 0x28, 0x7f, 0xe4, 0xd8, 0x2e, 0x2d, 0x5c, 0xee, 0x31, 0xba, 0x0, 0xb0, 0x36, 0x7, 0xe8, 0xf1, 0x8c, 0xb2, 0x24, 0x93, 0xf0, 0xae, 0x3a, 0x54, 0xd2, 0xc, 0xc0, 0xdd, 0x99, 0x89, 0x44, 0xf0, 0xf9, 0x95, 0x48, 0x92, 0xf6, 0x2, 0xed, 0x4c, 0x8a, 0x94, 0x50, 0xb2, 0x94, 0xb0, 0x62, 0x22, 0x53, 0xa4, 0x25, 0xdc, 0xe2, 0x26, 0x58, 0x4a, 0x50, 0x2e, 0x4b, 0x36, 0x53, 0xe4, 0xfa, 0xea, 0xd4, 0x9e, 0xba, 0x25, 0x81, 0x51, 0x66, 0x5c, 0xb3, 0x24, 0x9f, 0xb5, 0x9, 0x2f, 0x32, 0x4c, 0x65, 0xdf, 0x8d, 0x72, 0x21, 0xfe, 0xc, 0x3c, 0x12, 0x31, 0xb8, 0x75, 0xc6, 0x94, 0x4d, 0x5f, 0x83, 0x2f, 0xa2, 0x53, 0xfb, 0x1e, 0xc7, 0x5e, 0x3d, 0xcf, 0xb6, 0x8f, 0x15, 0x6a, 0x30, 0xdb, 0xd2, 0xce, 0x81, 0x2c, 0x99, 0xf1, 0x5b, 0x16, 0x93, 0x34, 0x53, 0xda, 0xda, 0x56, 0xa6, 0xe0, 0x2f, 0xe, 0x27, 0xfc, 0x42, 0x68, 0x17, 0x2, 0x2a, 0x8a, 0x49, 0x1b, 0x34, 0xd8, 0x84, 0xdd, 0x96, 0xa9, 0xa7, 0x59, 0xa2, 0xd9, 0x32, 0x1, 0x97, 0x2e, 0x7d, 0xa, 0xfa, 0xa1, 0x90, 0xfe, 0x1a, 0x53, 0xc8, 0xba, 0x73, 0x4c, 0x77, 0x86, 0xcb, 0x85, 0x9e, 0xf0, 0x79, 0x46, 0x25, 0xe5, 0x1a, 0xb0, 0xfc, 0xa1, 0x91, 0x6b, 0x7d, 0xc9, 0xcf, 0x94, 0xde, 0xe3, 0x21, 0x4, 0x51, 0xa6, 0x3, 0x6e, 0xcb, 0x27, 0xe6, 0xf3, 0xe5, 0xbb, 0xb5, 0xf3, 0x68, 0xc4, 0x6b, 0x1a, 0x56, 0xd9, 0x84, 0x17, 0x9f, 0x29, 0x4d, 0x64, 0x17, 0x94, 0x8c, 0x67, 0x14, 0x3b, 0x7d, 0x7, 0x2d, 0x72, 0x6e, 0x6c, 0x93, 0x13, 0x4b, 0xc9, 0x37, 0xaa, 0x82, 0x61, 0x51, 0xe4, 0xa9, 0xec, 0x89, 0x62, 0x85, 0xed, 0xfa, 0xae, 0x4f, 0x6c, 0x3e, 0x5d, 0x7c, 0x3b, 0x14, 0xcb, 0x6f, 0x53, 0x23, 0xb8, 0x29, 0x4d, 0xcd, 0x7, 0xf2, 0x49, 0x77, 0xf1, 0x8c, 0xdd, 0x1d, 0x5f, 0xe0, 0xb9, 0x55, 0xbe, 0xd2, 0x46, 0x67, 0x7e, 0x9d, 0x5b, 0x17, 0x6c, 0x1b, 0x91, 0x9c, 0xf1, 0x4, 0x94, 0x32, 0x8a, 0x74, 0xca, 0x74, 0x31, 0x9, 0x7c, 0x28, 0xb4, 0x3e, 0x3a, 0xc3, 0x93, 0x8c, 0x84, 0x45, 0x9a, 0x2c, 0x31, 0x4b, 0x7f, 0x63, 0x28, 0x63, 0xc3, 0x24, 0x75, 0x5f, 0xf4, 0x6b, 0xa2, 0xbe, 0x97, 0xfb, 0xb0, 0x1d, 0xbc, 0xdc, 0x57, 0xe5, 0xce, 0x31, 0x70, 0x6d, 0x56, 0xba, 0x37, 0x1a, 0xb0, 0xe2, 0xce, 0xb5, 0x5e, 0x18, 0x68, 0x97, 0xc5, 0x3c, 0xe1, 0xf2, 0x48, 0xb1, 0x18, 0xc8, 0xe8, 0x6c, 0x40, 0x62, 0xf4, 0x66, 0x89, 0xb4, 0x63, 0x68, 0x7c, 0x6d, 0x4b, 0x63, 0x70, 0x9a, 0x4c, 0x78, 0x41, 0xb5, 0xa, 0xdd, 0x2b, 0x12, 0x6a, 0xeb, 0xfb, 0x4d, 0xb6, 0xa0, 0x3c, 0x4e, 0x40, 0xe, 0xc9, 0x27, 0xc3, 0x30, 0xa6, 0x21, 0x2b, 0x9, 0x4d, 0x5, 0x9f, 0x57, 0x6c, 0xbd, 0x7a, 0x61, 0x0, 0xd9, 0x6c, 0xe9, 0x30, 0xd5, 0x3, 0xa2, 0xb2, 0xe9, 0x1f, 0x10, 0x69, 0x9f, 0x13, 0x5c, 0x66, 0x89, 0x51, 0x38, 0xd3, 0xa5, 0x70, 0xf5, 0x1a, 0x58, 0x7c, 0x2b, 0x21, 0x53, 0x70, 0x6b, 0x37, 0x2e, 0x6a, 0x8c, 0x2c, 0xbe, 0xf5, 0xfb, 0xf9, 0x76, 0x73, 0x3f, 0x7f, 0xc5, 0x6f, 0xd6, 0xa5, 0x70, 0xc4, 0x6, 0x1c, 0xe8, 0x66, 0x58, 0x62, 0xb3, 0x35, 0xe4, 0xd8, 0xa6, 0xcc, 0xdf, 0x23, 0x61, 0x3e, 0x8a, 0x5, 0x36, 0xb7, 0xf4, 0x76, 0xd3, 0x88, 0x93, 0x1d, 0xaa, 0xb5, 0x49, 0x36, 0x2d, 0x23, 0x8d, 0xc, 0x10, 0x7b, 0x31, 0x42, 0x8a, 0x16, 0xae, 0x2b, 0x82, 0x6, 0xb, 0xbf, 0x85, 0x62, 0x1, 0x28, 0xe5, 0x10, 0x9a, 0x69, 0x91, 0x52, 0xcd, 0x22, 0x34, 0x63, 0xe8, 0x60, 0xea, 0xaa, 0x48, 0xca, 0xa1, 0x1b, 0x88, 0x89, 0xf5, 0x3f, 0x1b, 0xda, 0xf2, 0x28, 0xf9, 0x2d, 0x28, 0xed, 0x8, 0x5e, 0xe9, 0x65, 0xe3, 0x39, 0xc3, 0x65, 0x99, 0x26, 0xca, 0x5a, 0x75, 0x2a, 0x3, 0x35, 0x7b, 0xa9, 0xb0, 0x89, 0x27, 0xdc, 0x55, 0xc, 0x70, 0x9, 0x86, 0x4a, 0xf7, 0xba, 0xa9, 0x6a, 0x4e, 0x75, 0xbf, 0x7b, 0xca, 0xbb, 0xcf, 0x40, 0xdb, 0x8c, 0xa2, 0x67, 0xa4, 0xd8, 0xe, 0x9e, 0x91, 0x7e, 0xf7, 0x5c, 0xa2, 0xcd, 0x62, 0x3f, 0x48, 0x6e, 0x61, 0x54, 0xc3, 0xb6, 0x6, 0x74, 0xa3, 0xfc, 0x6f, 0xe3, 0x10, 0x41, 0xcf, 0x54, 0x2e, 0x82, 0xbd, 0xc2, 0x17, 0x4a, 0x71, 0xed, 0xf, 0x94, 0xa1, 0x82, 0x8d, 0x69, 0x64, 0x8b, 0xf5, 0xc9, 0xbd, 0x91, 0x5b, 0xd9, 0xf4, 0x2f, 0x15, 0x13, 0xa, 0x11, 0xb6, 0x8a, 0x59, 0x26, 0xa1, 0xd1, 0x2c, 0xdd, 0x40, 0x67, 0xf7, 0x61, 0xb5, 0x81, 0xf8, 0x1e, 0x4d, 0xb1, 0xf5, 0x68, 0xda, 0x9b, 0xa3, 0x1b, 0x47, 0x6a, 0xe0, 0xe5, 0xc6, 0xa0, 0xcb, 0x8e, 0xd1, 0xde, 0x78, 0x4, 0x42, 0x3c, 0x9a, 0x9, 0x69, 0xb, 0xda, 0xe5, 0x98, 0x65, 0x6b, 0xe2, 0x59, 0xf7, 0x9b, 0x54, 0x48, 0x20, 0x34, 0x5e, 0x19, 0xe, 0x10, 0x3b, 0xf0, 0xa, 0xae, 0xa1, 0x68, 0x60, 0x63, 0x8a, 0x64, 0x7c, 0x9a, 0x88, 0xe8, 0x1e, 0x62, 0xac, 0xd3, 0x47, 0x8e, 0xc8, 0xc5, 0xf9, 0x7f, 0x7f, 0xbe, 0xb9, 0xbd, 0xbc, 0x3a, 0xbf, 0x3e, 0x19, 0x8f, 0x2e, 0x2f, 0x6e, 0x7f, 0x3f, 0x19, 0x8d, 0x6f, 0x6f, 0xc6, 0x27, 0x3f, 0x9f, 0x9b, 0xff, 0x5e, 0x8f, 0xcf, 0xcf, 0xde, 0x93, 0xdf, 0xdd, 0xdb, 0x37, 0x65, 0xdb, 0x29, 0x58, 0x63, 0x13, 0xf6, 0xd7, 0xdc, 0xdb, 0xe9, 0xc7, 0xcb, 0x9b, 0x9d, 0x9d, 0xe1, 0x40, 0x34, 0xc8, 0x94, 0x71, 0x9a, 0x58, 0x33, 0xdf, 0x80, 0x0, 0x43, 0x2f, 0xe6, 0x2, 0x9a, 0x9, 0x49, 0x32, 0x9e, 0xff, 0xfb, 0xd5, 0x2c, 0x80, 0xc0, 0xb3, 0xb4, 0xb2, 0xd7, 0xf1, 0xf7, 0x86, 0x61, 0x7f, 0xbe, 0xb8, 0xb9, 0x3a, 0x3f, 0x1d, 0x7d, 0x18, 0x9d, 0x9f, 0x55, 0x7a, 0x6b, 0x7e, 0xce, 0x4d, 0xfe, 0x5e, 0xcf, 0xd8, 0x29, 0x2e, 0xc3, 0xd8, 0xff, 0x6c, 0xac, 0x30, 0xf, 0xb9, 0x6d, 0xa9, 0xee, 0xbe, 0x88, 0xe0, 0x16, 0x8c, 0x86, 0xd6, 0x3a, 0xe5, 0xd8, 0x3f, 0xb1, 0x4d, 0x5a, 0x8, 0x5d, 0x2a, 0xa3, 0xff, 0x85, 0x68, 0xa1, 0xaa, 0xcc, 0x50, 0xb4, 0xbe, 0x37, 0xe8, 0x95, 0xfe, 0x75, 0xf6, 0xec, 0x64, 0xb9, 0x4, 0xae, 0x8a, 0x8f, 0x6, 0xf5, 0xad, 0x78, 0xc2, 0x82, 0x8a, 0x9c, 0xd1, 0xdc, 0x8c, 0xb6, 0x29, 0x81, 0x5a, 0xcb, 0xa, 0xd3, 0x43, 0x72, 0x92, 0x53, 0x17, 0x57, 0xf5, 0xc8, 0x5, 0x5d, 0xc1, 0x84, 0x33, 0xad, 0x82, 0x68, 0xa2, 0x0, 0x1f, 0xa4, 0x5e, 0x30, 0xb1, 0xf6, 0xd8, 0xb0, 0xcb, 0x9c, 0x4a, 0x48, 0x55, 0x45, 0x33, 0xae, 0x48, 0x2c, 0xbb, 0x26, 0xac, 0xfb, 0x62, 0xcb, 0xae, 0x11, 0xf4, 0xb2, 0xb, 0xb6, 0x5e, 0x76, 0x39, 0x74, 0x4d, 0x70, 0xd7, 0x42, 0xef, 0xa6, 0x16, 0x68, 0x6, 0x1d, 0x67, 0x9, 0x3c, 0x22, 0x5e, 0xe3, 0xc6, 0x3d, 0xba, 0x23, 0x40, 0x43, 0xe5, 0xb7, 0x3d, 0x32, 0x32, 0x23, 0xbc, 0xa8, 0xfb, 0x68, 0x57, 0xa6, 0xb7, 0xc7, 0x36, 0x6c, 0x87, 0x81, 0x6d, 0xaf, 0xeb, 0x8d, 0xfa, 0x2d, 0x7b, 0x65, 0x86, 0x1d, 0xbf, 0x4f, 0x40, 0x4, 0x6, 0x41, 0x56, 0xb0, 0xa2, 0x75, 0x40, 0xc3, 0x1, 0x21, 0x44, 0x89, 0xdc, 0x1e, 0x20, 0xb0, 0xed, 0xb, 0x10, 0x55, 0x31, 0xbf, 0x98, 0x8d, 0x2e, 0x4, 0xcb, 0x14, 0xd7, 0x52, 0x47, 0x4e, 0x37, 0x53, 0xfa, 0x85, 0xa5, 0x59, 0x7a, 0xd5, 0x2e, 0xf6, 0xe1, 0x17, 0xf1, 0x40, 0x52, 0xca, 0xd7, 0x85, 0x58, 0x7, 0xaa, 0x89, 0xe0, 0xd1, 0xb7, 0x1c, 0xea, 0xa0, 0x5, 0x99, 0x83, 0x4d, 0x99, 0xc0, 0x43, 0x49, 0x31, 0x31, 0xf3, 0xf5, 0xb2, 0xbb, 0xe0, 0x74, 0xf4, 0x4c, 0xbc, 0xe4, 0x6f, 0xe6, 0x9e, 0x42, 0x5e, 0xb1, 0xb0, 0x5e, 0xbf, 0xf, 0xde, 0x70, 0xfc, 0xa7, 0xff, 0x73, 0xf, 0x4f, 0xfd, 0x62, 0x6, 0x14, 0xff, 0x38, 0x29, 0xcc, 0x2b, 0x6a, 0xf4, 0x65, 0x47, 0x3d, 0x31, 0x2b, 0x59, 0x12, 0xfc, 0x53, 0x6d, 0xbc, 0xd7, 0x3d, 0x4c, 0x77, 0x9f, 0xa9, 0x54, 0x29, 0xee, 0xf9, 0xa, 0xb6, 0x67, 0xe5, 0x2b, 0x3e, 0x13, 0x84, 0x5f, 0x76, 0x98, 0x31, 0xc7, 0x4e, 0x7b, 0x47, 0xd8, 0x4b, 0xbe, 0xa1, 0x5a, 0xc, 0x8c, 0xc5, 0x5f, 0x7b, 0x44, 0xcf, 0x88, 0x40, 0xbe, 0x83, 0x37, 0x31, 0x24, 0x50, 0xb2, 0x47, 0x56, 0x23, 0x7d, 0xcc, 0x65, 0xa3, 0xad, 0xfa, 0x41, 0xf, 0x6c, 0xe6, 0x1c, 0x3, 0xd, 0x4c, 0x17, 0x7c, 0x83, 0xd7, 0x4a, 0x43, 0xda, 0xc, 0x12, 0xa6, 0xab, 0x43, 0x82, 0x88, 0x22, 0xbd, 0x3d, 0x40, 0x60, 0x7b, 0x79, 0x80, 0x30, 0x93, 0xfe, 0x2d, 0xc1, 0x43, 0x87, 0xc6, 0x63, 0xdd, 0x2a, 0xf5, 0x2e, 0x39, 0xcb, 0x8e, 0xc6, 0xde, 0xea, 0xc7, 0xe4, 0x1c, 0xe3, 0x1f, 0x16, 0x82, 0xe0, 0xea, 0xb2, 0x79, 0x7b, 0x16, 0x98, 0x37, 0x6c, 0xc3, 0x4b, 0x8b, 0x1c, 0x82, 0xc, 0x16, 0x10, 0xb0, 0xf1, 0xfc, 0xe5, 0x54, 0x82, 0x3d, 0x5b, 0x41, 0x17, 0xf5, 0x36, 0xb2, 0x90, 0x7d, 0xe2, 0x70, 0x60, 0xae, 0x4c, 0x6f, 0xf, 0x73, 0xd8, 0x9e, 0x57, 0xbf, 0x2e, 0x62, 0x82, 0x5a, 0x88, 0x2c, 0x89, 0xc9, 0x14, 0x48, 0x84, 0x13, 0x1f, 0x77, 0x47, 0xd9, 0x7e, 0x24, 0xdc, 0x6d, 0xdb, 0x18, 0x5f, 0x71, 0x24, 0x1d, 0x3a, 0xe4, 0x28, 0x6f, 0xaf, 0x6e, 0x1f, 0x69, 0x94, 0x55, 0xcc, 0x63, 0x4c, 0xce, 0xcd, 0xf8, 0xfc, 0x8, 0x83, 0xaa, 0xf6, 0xab, 0x82, 0xe0, 0x9f, 0x75, 0x1, 0x59, 0xf, 0x4c, 0x2f, 0xd0, 0x40, 0x29, 0x29, 0x9f, 0xb7, 0x36, 0x4e, 0x7e, 0x72, 0x9d, 0x8c, 0x4d, 0x1f, 0xdd, 0x47, 0xd2, 0xad, 0xa4, 0xf7, 0xa0, 0x8a, 0xed, 0xa5, 0x65, 0x47, 0x94, 0x35, 0x3a, 0x82, 0x40, 0xcf, 0x20, 0x3a, 0x76, 0x6a, 0x38, 0x3e, 0xf3, 0xc6, 0xae, 0xd1, 0xb0, 0x14, 0xec, 0x1e, 0xdf, 0x35, 0x82, 0x97, 0x34, 0x40, 0xc6, 0x54, 0x3, 0x82, 0xd6, 0xbe, 0xc3, 0x4, 0x1e, 0xd7, 0xd, 0xf2, 0x6b, 0x51, 0xdc, 0x2d, 0x76, 0xb0, 0x34, 0x90, 0xd6, 0xda, 0x71, 0xe9, 0x13, 0xbd, 0xb7, 0x66, 0x3, 0x7f, 0x7a, 0xed, 0x22, 0x75, 0xd1, 0xc3, 0x27, 0x2c, 0x73, 0x21, 0x89, 0x96, 0x6c, 0x3e, 0x7, 0x89, 0xee, 0x4b, 0xc1, 0xd5, 0x88, 0xd0, 0x68, 0x23, 0x4, 0xa6, 0xea, 0x9a, 0x6c, 0xc8, 0x39, 0x1c, 0x31, 0xbb, 0x44, 0x6e, 0xcf, 0x10, 0xb0, 0xbd, 0x34, 0x43, 0x58, 0x36, 0x54, 0x17, 0x39, 0x40, 0x86, 0xd0, 0xa5, 0xe1, 0x74, 0x48, 0xc2, 0x2e, 0xed, 0xac, 0x83, 0x12, 0xb0, 0x6d, 0x26, 0xf4, 0xd6, 0x90, 0x7a, 0xea, 0xf2, 0x31, 0xa0, 0x3d, 0x6, 0xd3, 0xe4, 0xba, 0x44, 0x56, 0x6, 0x46, 0x1f, 0x7d, 0x76, 0xf3, 0x19, 0x89, 0x38, 0x1c, 0x20, 0x2d, 0xd3, 0xdb, 0x23, 0x29, 0xb6, 0x97, 0x46, 0x52, 0xbb, 0x52, 0x3b, 0x82, 0x3d, 0xcf, 0x0, 0xa5, 0x9d, 0x1a, 0x4f, 0x87, 0xb0, 0xb4, 0xbc, 0xb9, 0x3a, 0xa, 0xa6, 0x98, 0x94, 0xf0, 0x28, 0x4f, 0x4a, 0xb8, 0x8f, 0x65, 0xc2, 0x66, 0x34, 0x3c, 0xc9, 0x13, 0x1a, 0xfa, 0x54, 0x75, 0x91, 0x48, 0x97, 0x12, 0x16, 0xb6, 0xee, 0x45, 0x4d, 0xe2, 0xba, 0x8d, 0x3c, 0xbe, 0x3b, 0x8d, 0x18, 0x95, 0x37, 0x75, 0x1f, 0x59, 0xeb, 0xa8, 0xee, 0xf1, 0x15, 0x5b, 0x7, 0x1c, 0x32, 0x5b, 0xef, 0x36, 0xeb, 0x48, 0x2d, 0xe4, 0xf3, 0xec, 0x36, 0x4d, 0xd5, 0xfd, 0xd1, 0x3f, 0x32, 0xc8, 0xcc, 0xef, 0xe6, 0x1f, 0x7f, 0x33, 0x7f, 0xf, 0xf9, 0x3e, 0x65, 0x9b, 0xbd, 0xb3, 0xc5, 0xd8, 0x3f, 0x1e, 0x76, 0x9d, 0xc1, 0xe5, 0x99, 0x48, 0x12, 0xf1, 0x80, 0xe7, 0xc9, 0x1b, 0xbb, 0xce, 0x5c, 0xb7, 0x21, 0x72, 0x58, 0x74, 0x81, 0x20, 0x21, 0x3, 0x32, 0x95, 0xe8, 0xfa, 0x14, 0x8b, 0x7, 0x4e, 0xa6, 0x6b, 0xe2, 0xb, 0x11, 0xbc, 0x9f, 0x70, 0x42, 0x8e, 0x30, 0xe1, 0xab, 0x1, 0xfd, 0xa5, 0x48, 0x12, 0x90, 0xca, 0xfe, 0xe8, 0x31, 0xa8, 0x5c, 0x99, 0x47, 0xb9, 0xec, 0xa0, 0xe6, 0x8e, 0x9f, 0x68, 0x74, 0x9f, 0x8, 0x4b, 0x5, 0x3a, 0x9f, 0x86, 0x47, 0x5c, 0x69, 0x82, 0x93, 0x48, 0xb3, 0x95, 0x79, 0xa, 0xeb, 0x3f, 0xb4, 0x70, 0x87, 0x9, 0xe3, 0xed, 0xfe, 0xde, 0xdf, 0x20, 0xb9, 0xdf, 0xf8, 0xd8, 0x3a, 0xb0, 0xf1, 0x5b, 0x48, 0x10, 0xe5, 0x7d, 0xd9, 0x35, 0x9a, 0xee, 0x19, 0xdf, 0x25, 0xa9, 0x9d, 0xd9, 0xd5, 0xf3, 0x9e, 0x8c, 0x4f, 0x6e, 0x7e, 0xbd, 0xfd, 0xdb, 0xe7, 0xf3, 0xcf, 0xe7, 0xb7, 0xbf, 0x8e, 0x2e, 0xce, 0x6e, 0x2f, 0x2e, 0xaf, 0x3f, 0x9d, 0x7c, 0xf4, 0x31, 0xa0, 0xd5, 0xab, 0x85, 0xe8, 0xbf, 0xf7, 0x64, 0x8c, 0x55, 0x59, 0x42, 0x5e, 0x21, 0x2e, 0x78, 0x5e, 0xc4, 0x5, 0xc1, 0xc3, 0xc5, 0xa0, 0x66, 0x3c, 0xa4, 0xe9, 0xc2, 0x7e, 0xc7, 0x1, 0x58, 0x88, 0xa1, 0x14, 0x83, 0x4f, 0x15, 0x56, 0xa5, 0x21, 0xb1, 0x2f, 0x6f, 0x83, 0x36, 0xa9, 0x87, 0x85, 0xad, 0x52, 0x43, 0x2b, 0xfd, 0xda, 0x67, 0x99, 0x22, 0x4a, 0xb3, 0xe8, 0x7e, 0x6d, 0xb4, 0xb1, 0x9, 0xe7, 0x6, 0xc9, 0x12, 0x9b, 0x16, 0xcf, 0xde, 0xc6, 0x5c, 0x3e, 0x96, 0xf2, 0xd3, 0x3, 0x52, 0x7d, 0xbf, 0x4d, 0x2a, 0x27, 0x52, 0xf0, 0xb9, 0xec, 0xc8, 0x84, 0x97, 0x69, 0xae, 0x99, 0x9, 0x3b, 0x4f, 0xe5, 0x49, 0x20, 0x96, 0x86, 0x5a, 0x6a, 0x69, 0xf2, 0x40, 0xd7, 0x21, 0xcd, 0x6e, 0x9e, 0x38, 0x20, 0xdc, 0xbb, 0x60, 0x4a, 0xb, 0xb9, 0xc6, 0x9, 0x42, 0x10, 0xe, 0x8f, 0xe6, 0x49, 0xce, 0x5c, 0x42, 0xa6, 0x4c, 0x81, 0xc4, 0x88, 0x16, 0xdb, 0x67, 0x78, 0x6f, 0xfe, 0x8c, 0xab, 0x23, 0xe6, 0xab, 0xf2, 0x50, 0x85, 0x6e, 0xba, 0x13, 0x6e, 0xeb, 0xc0, 0x28, 0xf3, 0x43, 0xc, 0xca, 0xac, 0x44, 0x97, 0xdc, 0x40, 0x31, 0x3e, 0x4f, 0xa0, 0xae, 0xa3, 0x93, 0x24, 0x21, 0x7a, 0x21, 0x94, 0x2f, 0x22, 0xa3, 0xf0, 0xb3, 0x2e, 0x59, 0x74, 0x4f, 0xb2, 0xa5, 0xab, 0xcc, 0x63, 0x86, 0x3f, 0xe1, 0x98, 0xd2, 0xcf, 0x3e, 0x55, 0x3b, 0x65, 0x37, 0xe3, 0xd1, 0xe9, 0xaf, 0x7f, 0x7f, 0x4f, 0x4e, 0xfc, 0x77, 0xb3, 0xc3, 0xc3, 0x4, 0x37, 0x6e, 0x5e, 0x6c, 0x29, 0x20, 0x37, 0x15, 0x86, 0x28, 0x77, 0x9a, 0x9b, 0x50, 0xa5, 0xab, 0x9f, 0xd1, 0x85, 0x46, 0xae, 0x9, 0x95, 0x30, 0xe1, 0x4b, 0x90, 0x47, 0x96, 0x40, 0x5c, 0x63, 0x37, 0x85, 0x37, 0x28, 0xcc, 0x9f, 0xed, 0x4f, 0x7f, 0xe3, 0x35, 0xa7, 0xa9, 0x4b, 0xce, 0x33, 0x5d, 0xdb, 0xea, 0x39, 0xbe, 0x24, 0x5d, 0x26, 0xf1, 0x4, 0xd, 0xcb, 0xb8, 0xa1, 0x5, 0x9e, 0x64, 0x4b, 0x9c, 0xca, 0xb5, 0xa5, 0x12, 0xf5, 0xfc, 0x9, 0xf7, 0x81, 0x12, 0x9, 0x9b, 0xe1, 0x9a, 0xa9, 0x54, 0xdd, 0x71, 0x19, 0x76, 0x86, 0x6e, 0x6d, 0xd8, 0x98, 0x22, 0x4b, 0x4f, 0x71, 0x41, 0x48, 0x37, 0xf4, 0xbc, 0x3c, 0x85, 0x16, 0x36, 0x77, 0x84, 0xeb, 0x7, 0xe7, 0xd3, 0x93, 0x6d, 0xd3, 0x41, 0xe6, 0x83, 0xda, 0x32, 0x4a, 0xec, 0xd1, 0xd0, 0x57, 0x9a, 0x2c, 0xe5, 0xd7, 0x83, 0xb9, 0x85, 0x8b, 0x4d, 0x6a, 0x5c, 0xe6, 0xb, 0xcb, 0x6f, 0x19, 0xa8, 0xfa, 0xf, 0xf8, 0xfb, 0xe5, 0xf5, 0xaf, 0xe7, 0xd7, 0xb7, 0xa7, 0x97, 0x9f, 0x3e, 0x9d, 0x5c, 0x9c, 0xdd, 0x98, 0x2f, 0x69, 0x49, 0x3d, 0x8a, 0x44, 0x9a, 0x52, 0x1e, 0xab, 0xca, 0xfe, 0xc4, 0x6d, 0x6d, 0x8b, 0x72, 0xc8, 0x15, 0xc8, 0x23, 0x2d, 0xdc, 0x37, 0x32, 0xeb, 0x3f, 0xcd, 0xb8, 0xaf, 0x4d, 0xf5, 0x3, 0xc, 0xe7, 0x43, 0xff, 0x7a, 0xac, 0x6c, 0x97, 0x67, 0x25, 0x52, 0xef, 0x90, 0x78, 0x5, 0xc5, 0x61, 0xc2, 0x72, 0x1, 0x29, 0x48, 0x9a, 0xe0, 0x2a, 0xc8, 0xbf, 0xfd, 0x91, 0x9b, 0x7b, 0xf2, 0xff, 0xfe, 0xdf, 0xff, 0x8f, 0x5d, 0x1c, 0xf8, 0xc9, 0xc2, 0xb4, 0xd8, 0xf9, 0xdd, 0xf5, 0xdd, 0x3e, 0x2b, 0x5f, 0x7b, 0xae, 0x30, 0x3, 0xe3, 0xbf, 0x5f, 0x9d, 0xdf, 0x62, 0x60, 0xb4, 0x7d, 0xa7, 0x91, 0x75, 0x62, 0xb2, 0x62, 0x74, 0xc2, 0x43, 0xde, 0x8b, 0xc0, 0xcc, 0xbf, 0x7a, 0xdc, 0x79, 0x3, 0x70, 0x57, 0xba, 0xa8, 0xb9, 0xd9, 0x62, 0xdb, 0xee, 0xfb, 0xec, 0x86, 0xde, 0x7d, 0x5f, 0x65, 0xdd, 0xb4, 0xe, 0x43, 0x6f, 0x1a, 0xc4, 0xe3, 0x19, 0x36, 0x42, 0x5c, 0x8b, 0x52, 0x6b, 0xa3, 0xd9, 0xcc, 0xf2, 0x87, 0xff, 0xfa, 0xaf, 0x2d, 0x50, 0x86, 0x59, 0x4e, 0x5d, 0x52, 0x56, 0x9b, 0xa, 0x38, 0x12, 0x5c, 0x53, 0xe6, 0xe4, 0x6c, 0x8e, 0x99, 0x2d, 0x67, 0x76, 0xcd, 0x6d, 0x20, 0xab, 0xdd, 0xde, 0x85, 0x6d, 0xed, 0x56, 0x21, 0x53, 0x44, 0x66, 0x1c, 0xeb, 0x95, 0x89, 0xee, 0xe4, 0xa5, 0x8, 0xf3, 0x37, 0x36, 0xdd, 0xec, 0x9a, 0xb8, 0x22, 0xcb, 0x27, 0x3f, 0x54, 0x37, 0x51, 0xe1, 0x33, 0xbe, 0x73, 0x53, 0xe8, 0x3e, 0xba, 0xad, 0x65, 0xb9, 0xf9, 0x84, 0x59, 0x40, 0x1f, 0x3e, 0x5e, 0xfe, 0xfe, 0xce, 0xf2, 0xea, 0x29, 0xb2, 0x40, 0xc3, 0x98, 0x2f, 0xcd, 0xbe, 0x56, 0x21, 0x9d, 0x3d, 0xcb, 0x7b, 0x4a, 0x45, 0xc, 0xe4, 0x87, 0x4c, 0x1, 0xb9, 0x33, 0xb4, 0xdf, 0xe2, 0x9c, 0xdf, 0x9a, 0x49, 0x50, 0x77, 0xe6, 0xbe, 0xf3, 0x8b, 0x5f, 0x4e, 0x2e, 0x4e, 0xcf, 0xcf, 0xec, 0x8d, 0x8c, 0x2b, 0xd, 0x34, 0x7e, 0x57, 0x23, 0xf7, 0x94, 0x8, 0x78, 0x9f, 0xeb, 0x28, 0xa6, 0x2b, 0x4, 0x90, 0x9c, 0x57, 0xd6, 0x3e, 0x7a, 0x72, 0x3a, 0x1e, 0xfd, 0x36, 0x1a, 0x1b, 0xbe, 0x17, 0xd4, 0x99, 0x96, 0x8f, 0x22, 0xda, 0xbc, 0x2f, 0xca, 0x2b, 0xf8, 0xa4, 0x1, 0xd4, 0x98, 0xa9, 0xa5, 0xf7, 0xf8, 0xb0, 0xa9, 0x7, 0x7c, 0x9e, 0xbb, 0x2e, 0x41, 0x4f, 0xf5, 0x73, 0x37, 0x42, 0x45, 0x69, 0xa2, 0x77, 0xdf, 0xe9, 0xe7, 0x75, 0xf7, 0x9d, 0x38, 0x8d, 0x8f, 0x1, 0x9d, 0xd, 0xf2, 0xf7, 0xdc, 0x34, 0x12, 0xcc, 0xba, 0x34, 0xa, 0x92, 0xda, 0xb1, 0x65, 0xae, 0xf1, 0x4e, 0xd4, 0x8e, 0x55, 0x88, 0xc3, 0x74, 0x5f, 0xd4, 0x30, 0xff, 0xf2, 0xa, 0xf8, 0x41, 0xbd, 0xeb, 0x4e, 0x6a, 0x6d, 0x3b, 0xc8, 0x53, 0x3c, 0x1e, 0x69, 0x37, 0x4a, 0x5c, 0xcf, 0xd6, 0x2c, 0x51, 0xff, 0xd8, 0xd7, 0x4e, 0x98, 0x1e, 0xd8, 0xb8, 0xd3, 0x6d, 0x77, 0xa9, 0x52, 0xbe, 0x72, 0xed, 0x0, 0xeb, 0x69, 0xdc, 0xd9, 0x19, 0xb9, 0xc5, 0x8f, 0x79, 0xe7, 0xa1, 0xc5, 0xa6, 0xe0, 0x46, 0xa5, 0xcf, 0x19, 0x59, 0x72, 0xf9, 0xde, 0x66, 0x71, 0xf4, 0xd0, 0xe6, 0x88, 0xe8, 0x70, 0x5e, 0x79, 0xba, 0x64, 0x9f, 0x44, 0xbc, 0xb3, 0x54, 0x69, 0xa1, 0xa2, 0x6f, 0x5, 0x6d, 0x95, 0x4f, 0x3b, 0x6e, 0xe0, 0x2b, 0xce, 0xef, 0x9b, 0xf0, 0x1b, 0x48, 0x30, 0x53, 0xec, 0x2, 0x6c, 0x51, 0x61, 0x73, 0xbb, 0x16, 0x38, 0xaf, 0x21, 0xef, 0xad, 0xdb, 0x17, 0xef, 0xc9, 0xd9, 0xf9, 0x87, 0x93, 0xcf, 0x1f, 0xc7, 0xe, 0xeb, 0x19, 0xb2, 0x1d, 0xd0, 0xef, 0x8c, 0x3e, 0x58, 0x7a, 0xe1, 0x70, 0xc2, 0x4f, 0x5, 0xc7, 0x34, 0x6c, 0x58, 0xfc, 0x59, 0x44, 0x19, 0x96, 0x2f, 0xe, 0xc9, 0xdd, 0x50, 0x9, 0xb0, 0x1c, 0xdc, 0xbc, 0x8c, 0xc7, 0x20, 0x95, 0x36, 0x52, 0x1e, 0x16, 0x2a, 0x75, 0x44, 0x63, 0x1a, 0xf3, 0x22, 0xaf, 0xf1, 0xcc, 0xe2, 0xec, 0xfc, 0xe6, 0xf4, 0x7a, 0xf4, 0xd3, 0xf9, 0x6d, 0x1, 0x3a, 0x3e, 0x5d, 0x9e, 0x9d, 0x97, 0xb5, 0xe5, 0xcf, 0x5, 0x96, 0x98, 0x2, 0xe5, 0x8a, 0x24, 0x30, 0xa7, 0xd1, 0x3a, 0xaf, 0x4a, 0xda, 0xdc, 0x99, 0x1f, 0xd1, 0x7b, 0x72, 0xce, 0x17, 0x36, 0x93, 0x13, 0xd2, 0x65, 0x57, 0x9b, 0x22, 0x74, 0x3e, 0x97, 0x30, 0x47, 0x5d, 0xc1, 0x45, 0x22, 0x5a, 0x99, 0x3e, 0x49, 0xc8, 0x92, 0x4a, 0x6d, 0xd, 0x36, 0x83, 0x3c, 0x4b, 0xa8, 0xb7, 0xe1, 0xa9, 0x81, 0x4b, 0x5e, 0x67, 0x7f, 0x96, 0x2c, 0x32, 0x2a, 0x37, 0xe3, 0x33, 0xf1, 0xd5, 0x39, 0x49, 0x9b, 0x89, 0xdd, 0x84, 0xff, 0x9d, 0x33, 0xd8, 0x9a, 0x15, 0xb4, 0x7a, 0xff, 0x9e, 0x7b, 0xc7, 0x97, 0xed, 0xf5, 0x25, 0x5f, 0x77, 0xa1, 0x8b, 0x2f, 0xcb, 0x10, 0xdc, 0x7a, 0xc2, 0x77, 0x7b, 0x81, 0xcf, 0x43, 0xa5, 0xa4, 0x9b, 0x27, 0x63, 0x1a, 0xd2, 0xaa, 0xe9, 0xb4, 0xee, 0xa3, 0x96, 0x2d, 0x80, 0x95, 0x4e, 0x22, 0xa3, 0x2e, 0xa1, 0x8b, 0xd1, 0x87, 0xe0, 0x83, 0x85, 0x35, 0x4, 0x1e, 0x3d, 0x7f, 0x19, 0x77, 0x7f, 0xc2, 0xce, 0xdc, 0xd9, 0x85, 0xca, 0x16, 0x85, 0xa7, 0x9c, 0xe4, 0xd5, 0x19, 0x54, 0xd, 0x23, 0xa3, 0x49, 0x82, 0xa2, 0x62, 0xdb, 0x8a, 0x1d, 0x66, 0x8b, 0xa3, 0xee, 0xc, 0xa1, 0x28, 0xf4, 0x90, 0x9c, 0x84, 0x92, 0xc0, 0x4c, 0x19, 0xb5, 0x44, 0xb1, 0x18, 0x24, 0xc4, 0xfe, 0x46, 0x36, 0x1b, 0x78, 0xfe, 0x82, 0xb6, 0x95, 0x19, 0x3c, 0x90, 0x94, 0xf1, 0x4c, 0x83, 0x1a, 0x4c, 0x38, 0xd3, 0x58, 0xc8, 0x63, 0x41, 0x4b, 0xe5, 0x97, 0x25, 0x2a, 0xbd, 0x6a, 0x60, 0xfe, 0x72, 0x77, 0x4c, 0xc1, 0x65, 0x91, 0xf3, 0x29, 0xbe, 0xc5, 0x8c, 0x44, 0x20, 0x8d, 0xe, 0x54, 0xe4, 0x70, 0x6, 0xca, 0x23, 0x9a, 0x24, 0x2f, 0xb1, 0x66, 0x1f, 0x39, 0xdb, 0x25, 0x85, 0xa6, 0x3d, 0x8b, 0x27, 0x3f, 0x50, 0x85, 0x78, 0xea, 0x6d, 0x7, 0x65, 0xce, 0xe6, 0x79, 0x19, 0x13, 0xdc, 0xe8, 0x12, 0x15, 0xc9, 0xdd, 0xd5, 0x4, 0x44, 0x21, 0x8, 0xf, 0x3d, 0xf0, 0xcc, 0x5, 0x4d, 0x96, 0x5c, 0xe8, 0xdc, 0xce, 0x37, 0xc0, 0x4f, 0x6a, 0x9f, 0x40, 0xd3, 0x55, 0xf8, 0x7c, 0xbd, 0x7e, 0x52, 0xb7, 0x4, 0x9e, 0x4, 0x5b, 0x1b, 0xfc, 0x63, 0xb, 0x37, 0xda, 0x53, 0xb3, 0xd9, 0x47, 0xb7, 0xd9, 0x47, 0xbb, 0x69, 0xa7, 0xdf, 0xe4, 0x67, 0x8f, 0xb6, 0xbd, 0x18, 0x1c, 0xdb, 0xd5, 0x7c, 0x65, 0xf, 0xfe, 0x5e, 0x68, 0x17, 0x39, 0xb5, 0x21, 0x29, 0x9f, 0x32, 0xe2, 0x32, 0xdb, 0xaa, 0x22, 0xd9, 0xda, 0xf1, 0x1, 0xe, 0x3b, 0x3, 0x3b, 0x76, 0xbe, 0xcc, 0x8e, 0x29, 0x1e, 0x8b, 0xbe, 0xec, 0xc4, 0xe1, 0xd4, 0xc8, 0xe2, 0x29, 0xec, 0xa6, 0x86, 0xe9, 0x67, 0xa, 0xa7, 0xd, 0xd1, 0xc7, 0x3c, 0x64, 0x67, 0xf2, 0x87, 0xcd, 0xe, 0xdc, 0xd1, 0x8a, 0x1d, 0xd, 0xc4, 0x68, 0x7e, 0xcf, 0x1f, 0x79, 0x2d, 0xed, 0x34, 0xfc, 0xfd, 0xba, 0xfe, 0x30, 0xf5, 0x27, 0xf4, 0xde, 0xbb, 0xf0, 0xc8, 0x7a, 0xa, 0xb6, 0x76, 0x32, 0xb4, 0x1e, 0x40, 0x25, 0xcb, 0x79, 0xc9, 0xd7, 0x70, 0x38, 0x31, 0x7b, 0xd4, 0x26, 0x81, 0x5c, 0x81, 0x34, 0xdf, 0xc6, 0xde, 0x25, 0xa9, 0x6, 0x92, 0xb0, 0x94, 0xe9, 0xf7, 0xf6, 0x63, 0x86, 0x7f, 0x63, 0x66, 0x47, 0x3c, 0x2b, 0x32, 0x9a, 0xd6, 0x92, 0xe1, 0x83, 0x92, 0xc5, 0xce, 0x95, 0xd1, 0x99, 0xca, 0xcd, 0x4d, 0xf9, 0x33, 0x83, 0x9, 0xb7, 0xca, 0x4e, 0xc6, 0x23, 0x91, 0x2d, 0x13, 0x77, 0x6f, 0xa1, 0xd3, 0x10, 0x79, 0xee, 0xc, 0x95, 0x9, 0x9b, 0x41, 0xb4, 0x8e, 0x12, 0x70, 0xaa, 0x6d, 0x3, 0x81, 0x36, 0xbf, 0xac, 0x2, 0x3d, 0xd8, 0x4e, 0x0, 0xd1, 0xe8, 0xc0, 0xe, 0xb3, 0x19, 0x44, 0x8d, 0x25, 0x8, 0xec, 0x84, 0x5, 0x1d, 0xdd, 0x9a, 0x10, 0xba, 0x7f, 0xe0, 0x5f, 0x4b, 0x76, 0x7f, 0xe8, 0x8f, 0xed, 0xc0, 0xe, 0xfd, 0x77, 0xc0, 0xb5, 0xb5, 0x61, 0xa8, 0xaa, 0x99, 0xa7, 0xf7, 0x82, 0xdc, 0xe1, 0x5, 0x59, 0xd9, 0x1b, 0xdd, 0x74, 0x86, 0xdc, 0x6, 0xfe, 0xe, 0xd3, 0x50, 0xab, 0x3f, 0x62, 0xf1, 0x51, 0x24, 0xd2, 0x25, 0xd5, 0x2e, 0x15, 0x5f, 0x7b, 0xbf, 0xad, 0xdc, 0x64, 0xf6, 0x59, 0x1, 0xb9, 0xfb, 0x19, 0xf4, 0xef, 0xd8, 0xf1, 0x6f, 0x96, 0x3f, 0x33, 0x3e, 0xbf, 0xce, 0x12, 0x50, 0x77, 0x86, 0x2b, 0x80, 0x8e, 0x16, 0x25, 0x48, 0x27, 0xf8, 0x76, 0xc2, 0x2, 0x3b, 0x47, 0x97, 0x74, 0xf0, 0x96, 0xa0, 0xa2, 0x3c, 0xdf, 0x80, 0xaf, 0xe1, 0x9d, 0x3f, 0x59, 0xb, 0xc5, 0x69, 0x71, 0x24, 0xdd, 0xc7, 0xd9, 0x46, 0xf2, 0x7b, 0xbc, 0xc5, 0xf6, 0x6d, 0xe1, 0xad, 0x2f, 0x4b, 0x16, 0xe4, 0x8b, 0x32, 0xe8, 0x62, 0xbd, 0x33, 0x29, 0xe6, 0x18, 0xe5, 0x86, 0x4e, 0x8e, 0xfe, 0xa4, 0x35, 0x26, 0xa5, 0x5d, 0xda, 0x11, 0x5c, 0x4e, 0xe9, 0x97, 0x1b, 0xd8, 0x79, 0x62, 0xf4, 0xd1, 0xc8, 0x4c, 0x8a, 0x2c, 0x7c, 0x6, 0x3e, 0x3f, 0x92, 0x4, 0xec, 0x8e, 0xf7, 0xa7, 0x9, 0xbe, 0x30, 0xff, 0x90, 0xdc, 0xa0, 0x79, 0x61, 0x4d, 0xfe, 0xdd, 0x4c, 0xa, 0x3a, 0x44, 0xb8, 0x94, 0x7d, 0x18, 0xde, 0x62, 0x33, 0x92, 0x4d, 0x78, 0x38, 0x3f, 0xa5, 0x7f, 0x8, 0x19, 0x6c, 0x48, 0xa, 0xf4, 0x90, 0xfc, 0x25, 0x78, 0x91, 0x62, 0x22, 0x4c, 0x78, 0x11, 0x5d, 0xfe, 0x11, 0x59, 0xfe, 0xba, 0xc9, 0x9, 0x72, 0x8, 0x3e, 0x92, 0xfb, 0x64, 0x1a, 0x2d, 0xc2, 0xba, 0xb7, 0xf5, 0x12, 0xaa, 0x14, 0x9b, 0xf3, 0x14, 0xb8, 0x76, 0xc6, 0xfa, 0x98, 0x49, 0x88, 0xb4, 0x2b, 0xa5, 0x67, 0xd1, 0x3d, 0x3f, 0x56, 0x1b, 0x4e, 0xf8, 0xef, 0x27, 0xd7, 0x17, 0xa3, 0x8b, 0x9f, 0xad, 0x3d, 0x8, 0x24, 0xc9, 0xf9, 0x87, 0xd7, 0xdd, 0xd6, 0x80, 0xe7, 0x8d, 0x66, 0xc1, 0xf8, 0x24, 0xf3, 0x27, 0x57, 0x23, 0xfc, 0xdb, 0x9f, 0x48, 0x14, 0xb, 0xbe, 0x32, 0x1e, 0x56, 0x58, 0x63, 0x65, 0xcd, 0x6d, 0x1c, 0xeb, 0x80, 0x18, 0x47, 0x85, 0xf2, 0x9e, 0x67, 0x60, 0x3b, 0x70, 0x9e, 0xd1, 0xed, 0xec, 0x70, 0xfb, 0xe0, 0xce, 0x9e, 0x41, 0x8c, 0x56, 0xb6, 0xbe, 0x8, 0xc1, 0x66, 0x5, 0x6f, 0x5b, 0xdb, 0x93, 0xab, 0x67, 0x5e, 0x88, 0x4, 0xe0, 0x71, 0x35, 0xdc, 0x71, 0x46, 0x28, 0x91, 0x30, 0x67, 0x4a, 0x83, 0x84, 0xb8, 0x50, 0x99, 0x77, 0xb7, 0xa2, 0x1e, 0xde, 0xdc, 0x7d, 0x4, 0xa8, 0x10, 0xdc, 0x6f, 0x7c, 0x6c, 0x87, 0xb1, 0xf1, 0x3b, 0xa7, 0xcd, 0x86, 0x65, 0xd4, 0x4d, 0x3d, 0xd6, 0x49, 0x29, 0x31, 0x2c, 0x13, 0xb1, 0x36, 0x82, 0x85, 0x17, 0x58, 0xd4, 0xf1, 0x9f, 0xf9, 0x8f, 0x8e, 0x15, 0xe, 0xf3, 0x5f, 0x2e, 0xaa, 0x71, 0x48, 0x7b, 0x64, 0x73, 0x73, 0xb2, 0xc8, 0x59, 0xe8, 0xcc, 0x8b, 0x25, 0x4d, 0x15, 0x72, 0xce, 0xbf, 0x2c, 0x41, 0x32, 0xf4, 0xd7, 0x48, 0x5c, 0xa1, 0x63, 0xf4, 0xc, 0x61, 0xf3, 0x85, 0x26, 0x46, 0x2a, 0x62, 0x33, 0x16, 0x51, 0xae, 0x93, 0x20, 0xaa, 0x8, 0x69, 0x5, 0xdf, 0x54, 0xac, 0xac, 0x17, 0xd, 0x9d, 0xf0, 0x59, 0xa6, 0x33, 0x69, 0x7e, 0x4c, 0x80, 0xaa, 0x16, 0xe9, 0xe4, 0x2c, 0xa9, 0x67, 0xd5, 0x89, 0xe8, 0x3e, 0x86, 0x35, 0x92, 0xdf, 0x23, 0x1a, 0xb6, 0xc3, 0x40, 0xb4, 0x5d, 0xbb, 0x70, 0x97, 0x77, 0x80, 0x2f, 0xe9, 0x6d, 0x55, 0x89, 0xcd, 0xbd, 0x87, 0xa7, 0x3, 0xbf, 0xe5, 0x4e, 0x2, 0xee, 0x58, 0xa9, 0x23, 0x5a, 0x70, 0x87, 0xf0, 0xbc, 0x71, 0x4b, 0x7d, 0x83, 0xe8, 0x5e, 0x77, 0x8b, 0xf3, 0x56, 0xda, 0x3b, 0x2, 0x55, 0xb9, 0xf0, 0x2b, 0x90, 0x24, 0xef, 0xd4, 0x9b, 0x15, 0x86, 0x13, 0xfe, 0x1c, 0xe8, 0x4e, 0xda, 0x83, 0xbb, 0x27, 0xeb, 0x60, 0xe1, 0x7d, 0xc7, 0x0, 0x7a, 0x80, 0xc7, 0xd6, 0x3, 0x7c, 0xf7, 0x1, 0x7e, 0x2b, 0xc6, 0xec, 0x18, 0xf6, 0x9, 0xc9, 0x38, 0xfb, 0x47, 0xe6, 0x33, 0x26, 0xcf, 0x58, 0xa8, 0x5c, 0x54, 0x18, 0xad, 0x4b, 0x7f, 0x69, 0xe6, 0xa5, 0x30, 0x21, 0xf6, 0x20, 0x9a, 0x86, 0x89, 0x98, 0xf0, 0xb, 0xa1, 0x9, 0x7, 0xb3, 0x4f, 0xa9, 0x64, 0xc9, 0xda, 0x77, 0x5d, 0x78, 0x3c, 0xd7, 0x74, 0x6d, 0x5c, 0x66, 0x24, 0xd2, 0xa9, 0x2f, 0x8e, 0x28, 0x66, 0xe4, 0x2e, 0x1f, 0xc6, 0xad, 0xb9, 0xf5, 0xe, 0xb5, 0xe7, 0x3b, 0x1c, 0xca, 0x2d, 0x8b, 0xef, 0x5c, 0x8f, 0xc9, 0x3a, 0x27, 0x57, 0x21, 0xa9, 0x13, 0x5e, 0x43, 0x6b, 0x78, 0xd9, 0x80, 0x4c, 0x21, 0xa2, 0x99, 0x2a, 0x91, 0x8f, 0x57, 0xd1, 0x21, 0xac, 0x4c, 0xe6, 0x96, 0x2a, 0x44, 0x5f, 0xf1, 0xdb, 0x3a, 0x7c, 0xdf, 0xc3, 0x41, 0x1c, 0x4f, 0xbb, 0xa, 0x73, 0xe9, 0x7a, 0xb8, 0xeb, 0x4c, 0x0, 0x54, 0xee, 0xb8, 0x13, 0x22, 0x3, 0xf6, 0xf, 0xea, 0x28, 0xc4, 0x5b, 0x5a, 0x67, 0x8b, 0x5, 0x5d, 0x81, 0x75, 0xa2, 0x74, 0xf1, 0x84, 0xde, 0x6b, 0x63, 0xb5, 0xa9, 0x18, 0x3d, 0xd3, 0xf0, 0x5f, 0xd8, 0x91, 0xc6, 0x77, 0xb0, 0xab, 0xce, 0xc1, 0x67, 0x1f, 0x1a, 0x9a, 0x52, 0x9e, 0xd1, 0xc4, 0xe6, 0x6d, 0x77, 0x9b, 0xea, 0xb7, 0xe0, 0xc5, 0xfa, 0x59, 0xd9, 0x4a, 0xa7, 0x2e, 0xad, 0x3b, 0xa1, 0x61, 0x87, 0xe3, 0x1, 0x6, 0x16, 0x31, 0x46, 0x6f, 0xa5, 0x5, 0x4c, 0x78, 0x9e, 0xd7, 0x22, 0x12, 0x3c, 0xb6, 0xcc, 0x5, 0xb7, 0x4b, 0xa, 0xfa, 0x3d, 0x3a, 0x30, 0x8e, 0xb4, 0xb7, 0x7e, 0x9b, 0xdd, 0x76, 0xea, 0xaa, 0xb0, 0x8, 0x49, 0xae, 0x69, 0xba, 0x34, 0xf, 0x86, 0xde, 0x67, 0x84, 0x69, 0x55, 0xd8, 0x7c, 0x43, 0xff, 0xfc, 0x82, 0x9a, 0xe, 0xbc, 0x1b, 0xad, 0xf7, 0x45, 0xfb, 0x81, 0xb, 0x1e, 0xc2, 0x49, 0x8b, 0x9f, 0xd9, 0x6d, 0x6c, 0xdf, 0x2f, 0x7e, 0x6f, 0xf7, 0xd0, 0xbb, 0xa, 0x49, 0xb1, 0xa4, 0xc, 0xd, 0xf4, 0x3f, 0x28, 0xf0, 0x70, 0xbe, 0xc1, 0xe0, 0x47, 0x7c, 0x26, 0x86, 0x78, 0x27, 0x9d, 0xc3, 0x2d, 0xe3, 0x33, 0xf1, 0xce, 0x89, 0x4d, 0x61, 0xcc, 0x13, 0x4e, 0x88, 0xf, 0xfc, 0x56, 0xf7, 0x6c, 0xb9, 0xb4, 0xcb, 0x6a, 0x49, 0x95, 0x32, 0xbd, 0xdf, 0x99, 0xdf, 0x8e, 0x7c, 0x17, 0xff, 0x65, 0xf6, 0xfe, 0xdd, 0xd7, 0x10, 0xc4, 0xcc, 0xf7, 0x3c, 0x60, 0x31, 0xac, 0x81, 0xfc, 0x5e, 0x8, 0xc3, 0xd6, 0xb, 0x61, 0xbd, 0x10, 0xd6, 0xb, 0x61, 0xbd, 0x10, 0xf6, 0x8c, 0x43, 0x32, 0xac, 0xeb, 0xcc, 0x71, 0xae, 0x1d, 0xe3, 0xba, 0xa2, 0xa, 0xc3, 0x2d, 0x66, 0x42, 0x46, 0x90, 0x4b, 0x17, 0xb0, 0x2, 0x4e, 0xd8, 0xac, 0xc4, 0x94, 0x99, 0xa, 0xbc, 0x77, 0x48, 0x46, 0x2e, 0x9e, 0x3f, 0xa2, 0xa, 0x7c, 0xe5, 0x75, 0x4e, 0x96, 0x8c, 0x73, 0x88, 0x6d, 0xfe, 0x14, 0x23, 0xff, 0xe4, 0xfe, 0x15, 0x4a, 0x67, 0xd1, 0x3d, 0xc9, 0xb8, 0x66, 0x89, 0x13, 0x65, 0x92, 0x35, 0xb1, 0x2c, 0x51, 0xb, 0x42, 0xb9, 0xc0, 0xc, 0x36, 0xde, 0x8f, 0x62, 0xba, 0x26, 0xf6, 0x74, 0xc0, 0xb, 0x52, 0xa1, 0xf6, 0xf2, 0x25, 0x52, 0xde, 0x21, 0x4f, 0xf5, 0x96, 0xb5, 0x6b, 0x2c, 0xdd, 0x56, 0x66, 0xf8, 0x1e, 0xaa, 0xd8, 0x74, 0xc2, 0xa, 0x97, 0xbb, 0x9a, 0xa7, 0xcb, 0xec, 0x9, 0x2e, 0xe7, 0x16, 0x4a, 0x4d, 0x17, 0xee, 0xc0, 0x97, 0x50, 0xad, 0x69, 0xb4, 0x70, 0x8b, 0xb7, 0xe1, 0xc0, 0xe6, 0xd5, 0x5, 0xc6, 0x7c, 0xdb, 0xd4, 0x48, 0x5c, 0xa7, 0x76, 0x10, 0x87, 0xe5, 0xa, 0xde, 0x66, 0x2c, 0xbd, 0x28, 0x89, 0xad, 0x17, 0x25, 0x7b, 0x51, 0xb2, 0x17, 0x25, 0xfb, 0xc3, 0xb8, 0xe0, 0x5c, 0xd1, 0x6, 0x3b, 0xbf, 0xb3, 0x93, 0x39, 0x2f, 0x13, 0xa4, 0xa0, 0x69, 0x4c, 0x35, 0x7d, 0x94, 0x34, 0x90, 0x29, 0x90, 0x47, 0x73, 0x66, 0x84, 0x64, 0xdf, 0xcf, 0x81, 0x8a, 0x4, 0x9f, 0x1c, 0xf9, 0x7, 0x2e, 0xd, 0xf8, 0x61, 0xf4, 0x82, 0x0, 0xb6, 0x5e, 0x10, 0xe8, 0x5, 0x81, 0x5e, 0x10, 0xe8, 0x5, 0x81, 0x5d, 0x82, 0x80, 0x87, 0xcd, 0xef, 0x4d, 0x6, 0x58, 0xd1, 0x84, 0x3d, 0xc5, 0x32, 0xf0, 0x9b, 0x7b, 0xbe, 0xd6, 0x36, 0x60, 0x56, 0xa5, 0xc8, 0xb4, 0x13, 0x8, 0x5c, 0x3d, 0xf2, 0xae, 0x9, 0x5, 0x7e, 0x4, 0xdf, 0x86, 0xa5, 0x60, 0x9f, 0xd1, 0xf4, 0x22, 0x2, 0xb6, 0x5e, 0x44, 0xe8, 0x45, 0x84, 0x5e, 0x44, 0xe8, 0x45, 0x4, 0x16, 0xc1, 0x3e, 0xe8, 0x79, 0x20, 0x92, 0xc2, 0x9e, 0x55, 0xa1, 0x69, 0x92, 0x6c, 0x82, 0x83, 0xb2, 0xa9, 0xa7, 0xcd, 0x62, 0xd2, 0x92, 0x46, 0xf7, 0x79, 0xaa, 0xd1, 0x8b, 0xc2, 0x82, 0x7f, 0x65, 0xbe, 0x6d, 0xe8, 0xad, 0x7e, 0xa7, 0x3, 0x8, 0x1a, 0xad, 0x25, 0xbb, 0xe7, 0xc4, 0xd8, 0xe, 0x83, 0x13, 0x2f, 0xe9, 0x1c, 0x6e, 0xd8, 0x3f, 0x5f, 0xa0, 0x6, 0xf1, 0x23, 0x42, 0xd9, 0x5b, 0xd0, 0xcb, 0xe1, 0x8b, 0xbe, 0xa2, 0x73, 0x18, 0x8b, 0x7b, 0xd8, 0x38, 0xdc, 0x7f, 0xf9, 0xc2, 0xc9, 0xd3, 0xb5, 0xee, 0x44, 0xcd, 0xe4, 0x4d, 0x64, 0x2c, 0x2a, 0x46, 0x1b, 0x51, 0x6a, 0x6d, 0x63, 0x15, 0x36, 0xc0, 0xb2, 0x3b, 0x31, 0xa, 0xdd, 0x7, 0xc3, 0x6d, 0x94, 0xf7, 0x78, 0x88, 0xed, 0x30, 0xf0, 0xb0, 0x59, 0xf, 0xe9, 0x76, 0x18, 0xbd, 0xef, 0x60, 0x97, 0xf3, 0xb1, 0x75, 0xdf, 0x54, 0x44, 0x42, 0x24, 0x64, 0xac, 0x8c, 0x30, 0xff, 0x3, 0xe5, 0x44, 0x24, 0xf1, 0xbb, 0xe2, 0xd6, 0x27, 0x27, 0xc5, 0xa0, 0xa5, 0x88, 0x3a, 0xaf, 0xe3, 0xa9, 0xf3, 0x27, 0x32, 0x5b, 0x7b, 0x16, 0x92, 0xe5, 0x72, 0x91, 0xeb, 0x5b, 0x9c, 0xb0, 0xaf, 0x2, 0x1c, 0x75, 0x4e, 0xa9, 0x87, 0x0, 0x1b, 0x75, 0x74, 0xf7, 0xa0, 0x81, 0xad, 0x7, 0x8d, 0xc7, 0xd2, 0xd4, 0x3b, 0xb0, 0x35, 0x63, 0xe4, 0x53, 0x2, 0xf7, 0xbb, 0x1f, 0xb0, 0xdf, 0x7d, 0xd8, 0xab, 0xa7, 0xbb, 0x87, 0x3d, 0x6c, 0xdf, 0x2, 0xec, 0x6d, 0xa9, 0xf9, 0xee, 0xa1, 0xa5, 0xc6, 0x68, 0x2b, 0x5c, 0xb9, 0x3f, 0x57, 0xc5, 0x72, 0xf3, 0x8e, 0x7, 0xa6, 0x17, 0x13, 0x8e, 0xf8, 0x83, 0x5d, 0xd1, 0x44, 0x2, 0x8d, 0x5d, 0x95, 0x3b, 0xac, 0xe4, 0xe1, 0x3e, 0xed, 0x46, 0xfa, 0xb7, 0x6e, 0x4c, 0x58, 0x87, 0x8c, 0x83, 0xf5, 0xdb, 0xef, 0x50, 0xcc, 0x80, 0x1b, 0xca, 0xee, 0xb1, 0x2, 0x7d, 0xe4, 0xb2, 0xf8, 0xf9, 0xe3, 0xc4, 0xd6, 0xc7, 0x7e, 0x37, 0xa0, 0x8f, 0x31, 0x3f, 0x73, 0x29, 0x2e, 0xae, 0x10, 0xc, 0x57, 0xa7, 0x18, 0x93, 0x93, 0x4c, 0x8b, 0x94, 0x6a, 0x57, 0x4b, 0x13, 0x9f, 0xb7, 0xc7, 0x11, 0x2e, 0x9a, 0x2e, 0x37, 0x73, 0xb3, 0x99, 0xb3, 0xbf, 0x17, 0xdd, 0xee, 0x6d, 0xf5, 0x1f, 0xf3, 0x52, 0xaa, 0xfc, 0x3b, 0x5f, 0x5f, 0x68, 0xbe, 0x81, 0xd, 0xfb, 0x9d, 0xa3, 0xe5, 0x60, 0x82, 0xd1, 0x76, 0xe, 0xa1, 0xe7, 0x29, 0xd8, 0xbe, 0x5, 0x9e, 0xf2, 0xdd, 0xc3, 0xf6, 0xce, 0xc5, 0x7e, 0xd8, 0x8, 0x9e, 0x52, 0x4e, 0xe7, 0x20, 0x1f, 0x89, 0xdc, 0x9f, 0xec, 0xd3, 0xa3, 0x82, 0x12, 0xd3, 0x9, 0x93, 0x66, 0xcd, 0x47, 0x73, 0xa4, 0x1e, 0x24, 0xba, 0x3a, 0xda, 0x7b, 0x58, 0xc5, 0xd6, 0xc3, 0xea, 0xb7, 0x9, 0xab, 0x6e, 0x95, 0x1f, 0x36, 0x9e, 0x4a, 0x2b, 0x8a, 0x3e, 0x51, 0x22, 0xae, 0x49, 0xf, 0x51, 0xa7, 0x9d, 0x51, 0x1e, 0x63, 0xda, 0x8, 0xf3, 0x52, 0xb2, 0x4, 0x19, 0x19, 0x7c, 0x9d, 0xc3, 0x90, 0x9c, 0xda, 0x6c, 0xc, 0xbe, 0x1c, 0xfa, 0x84, 0xcf, 0x25, 0x8d, 0x33, 0x9a, 0xd8, 0x3b, 0xb1, 0xe4, 0x64, 0x5e, 0x96, 0xce, 0x97, 0xd9, 0xd7, 0x42, 0x74, 0x2, 0xa9, 0xdd, 0xe0, 0xf, 0x59, 0x1c, 0x2e, 0xf, 0xa1, 0xc7, 0x6d, 0x6c, 0x3d, 0x6e, 0x7f, 0x9b, 0xb8, 0x5d, 0x5e, 0xec, 0x9d, 0x86, 0x6f, 0x4c, 0xa1, 0x5f, 0x2c, 0x2c, 0xf6, 0xe8, 0x42, 0x29, 0xfe, 0xe8, 0x39, 0x24, 0x68, 0xba, 0x6b, 0x32, 0x51, 0x87, 0x1c, 0xfb, 0x1b, 0x85, 0xcd, 0xb4, 0x20, 0xb1, 0xd9, 0x2c, 0x29, 0xe3, 0x40, 0x1e, 0x16, 0x80, 0xd1, 0xfb, 0x21, 0x85, 0x61, 0x4a, 0xd7, 0xce, 0xa8, 0xc6, 0x6c, 0x31, 0xc6, 0x71, 0x5e, 0x44, 0xd, 0x2f, 0x2a, 0x57, 0x63, 0xa1, 0x98, 0x2, 0x48, 0xb, 0x82, 0xa7, 0x1, 0xe8, 0xa9, 0x28, 0x24, 0x49, 0x1c, 0x53, 0x51, 0x20, 0x57, 0x20, 0xc9, 0xcc, 0xd0, 0x92, 0x97, 0x5c, 0x73, 0xf, 0xa5, 0x14, 0xf3, 0xf6, 0x68, 0x81, 0xb7, 0x62, 0x44, 0xd6, 0x84, 0x4f, 0x43, 0xe9, 0xd7, 0x9, 0x9f, 0xf0, 0xdf, 0x17, 0xc0, 0xfd, 0xcb, 0xd, 0x73, 0xa2, 0x24, 0xa1, 0x72, 0xe, 0x84, 0x67, 0xe9, 0x14, 0x64, 0xb9, 0x7e, 0x23, 0x56, 0xef, 0xac, 0xbe, 0x83, 0x2a, 0x25, 0x22, 0x7b, 0xa2, 0xf1, 0xc0, 0xf4, 0x22, 0x7f, 0x53, 0xa8, 0x23, 0xa3, 0x9c, 0x31, 0xbe, 0xe0, 0x9b, 0x58, 0xed, 0xc4, 0x1b, 0x1a, 0x13, 0xa6, 0xf4, 0x66, 0xcd, 0x6a, 0x32, 0xcd, 0x34, 0x51, 0x22, 0x18, 0x3d, 0x53, 0x9c, 0x25, 0x2e, 0x34, 0x89, 0x4, 0xc7, 0x2a, 0xa1, 0xc5, 0xd9, 0x9f, 0xf0, 0x62, 0x1a, 0xf2, 0xd8, 0x96, 0xef, 0xa0, 0x7e, 0xa2, 0x80, 0x63, 0x2e, 0x87, 0xd8, 0x96, 0xb, 0x1b, 0x12, 0x37, 0x7e, 0xe7, 0x8a, 0x8e, 0x95, 0x4c, 0xb1, 0x90, 0x59, 0x79, 0xf2, 0x17, 0x54, 0x57, 0x4a, 0xd7, 0xe5, 0xaf, 0x98, 0xf0, 0x48, 0x64, 0x49, 0x8c, 0xf4, 0xd8, 0xcf, 0x2a, 0x19, 0xac, 0x5c, 0x5e, 0x2a, 0x3f, 0xb0, 0x94, 0xca, 0x7b, 0x3f, 0x43, 0x94, 0x28, 0xc6, 0xe7, 0x9, 0xd8, 0x4a, 0x98, 0xd7, 0xe7, 0x27, 0xa7, 0xbf, 0x9c, 0xfc, 0x34, 0xfa, 0x38, 0x1a, 0xff, 0xbd, 0x58, 0xb, 0x92, 0x0, 0xd7, 0x72, 0x6d, 0xcf, 0x93, 0x22, 0x9a, 0x24, 0x6e, 0xe1, 0x30, 0xa5, 0x32, 0x98, 0x70, 0x9f, 0x12, 0x22, 0xc2, 0x99, 0x14, 0x64, 0xee, 0x96, 0x43, 0x4d, 0x81, 0x3e, 0xa1, 0x4a, 0xc9, 0xa4, 0xf0, 0xab, 0x5f, 0x2e, 0x81, 0x13, 0x25, 0x32, 0x19, 0xd9, 0x68, 0x3d, 0x85, 0xe7, 0xd2, 0x34, 0xfe, 0x23, 0x53, 0xce, 0xeb, 0xd7, 0x56, 0x53, 0x9b, 0xae, 0x89, 0x2, 0xad, 0xfd, 0xd4, 0xd8, 0x39, 0x7c, 0xab, 0x48, 0xbc, 0xe6, 0x34, 0x65, 0x91, 0xf7, 0xe9, 0x5f, 0xd1, 0x24, 0x3, 0x2b, 0x93, 0xdc, 0xd9, 0x79, 0x2d, 0xd2, 0x91, 0xa7, 0x3b, 0x8b, 0x28, 0xbf, 0xcb, 0x57, 0x49, 0x44, 0x57, 0x40, 0xb5, 0x9d, 0x5c, 0x97, 0x2d, 0x23, 0x49, 0x90, 0x10, 0xa5, 0x25, 0x75, 0x6b, 0x60, 0xc5, 0x94, 0x2b, 0xac, 0x42, 0x94, 0x16, 0xb2, 0x5d, 0xcd, 0xa1, 0x6a, 0x65, 0xc4, 0xee, 0x8b, 0x1b, 0x5b, 0x49, 0xef, 0xc5, 0xc, 0x6c, 0x87, 0x21, 0x66, 0xb4, 0xac, 0xc6, 0xfd, 0x53, 0x0, 0x46, 0xac, 0xe4, 0x6b, 0xf1, 0x62, 0x63, 0xeb, 0xe, 0xc9, 0x9, 0x27, 0x90, 0x2e, 0x71, 0xe5, 0x1b, 0x6a, 0xa, 0xb5, 0xfd, 0x35, 0xc8, 0xa5, 0x44, 0xdf, 0x11, 0xaa, 0x8, 0xe5, 0x35, 0x92, 0xbf, 0x63, 0x2b, 0x39, 0x8c, 0xe7, 0x68, 0x8c, 0x1b, 0xce, 0xa5, 0x76, 0x33, 0x3c, 0x85, 0x79, 0x1, 0xdf, 0xc1, 0x92, 0xaf, 0xb3, 0x4c, 0x3c, 0xc, 0x20, 0x93, 0x7a, 0x55, 0xc8, 0xf8, 0x9b, 0x61, 0x75, 0xae, 0xf4, 0x96, 0x7a, 0x4e, 0xc8, 0x28, 0x2c, 0x8e, 0x6f, 0xbc, 0xc4, 0x79, 0xa8, 0x61, 0xb2, 0x6b, 0x35, 0x8e, 0xcb, 0x52, 0x46, 0xc3, 0x7a, 0xfc, 0x8, 0x74, 0x5, 0x76, 0xde, 0xed, 0xba, 0x2c, 0x9, 0x25, 0xbb, 0x4, 0x83, 0x92, 0xf8, 0xe1, 0xa4, 0x82, 0x6a, 0x7c, 0x4, 0x16, 0xe1, 0xf2, 0xe2, 0xf, 0xd5, 0xc4, 0x68, 0x9a, 0x9a, 0x8, 0x5e, 0xaa, 0xc6, 0xc5, 0x66, 0xf6, 0xad, 0x66, 0x89, 0xe1, 0x8b, 0x5b, 0xad, 0xff, 0xd, 0x7e, 0x5e, 0x90, 0x9e, 0x70, 0x63, 0x59, 0x11, 0x6a, 0x1b, 0x97, 0xc7, 0x37, 0x95, 0x36, 0xc4, 0xd, 0xd8, 0xd4, 0x4e, 0x77, 0x3b, 0xb1, 0xfb, 0x8e, 0xc4, 0x22, 0xca, 0x50, 0xfb, 0xe, 0x5d, 0xa5, 0x42, 0x96, 0xea, 0xa5, 0x7c, 0x9f, 0x8b, 0x54, 0xb6, 0x2f, 0x5f, 0x3c, 0x76, 0xe5, 0xc4, 0xab, 0x82, 0x76, 0x58, 0x80, 0xc3, 0x9, 0xbf, 0xdb, 0x94, 0xa8, 0x2e, 0xce, 0x7f, 0xf, 0x25, 0xb3, 0x6f, 0xee, 0x30, 0x7a, 0x27, 0x79, 0xa0, 0x6b, 0x15, 0xce, 0xb4, 0xab, 0xc2, 0xe6, 0x70, 0xc2, 0x51, 0x17, 0xd8, 0xec, 0xea, 0xfc, 0xbf, 0x47, 0x37, 0xe3, 0xd1, 0xc5, 0xcf, 0xa5, 0xfe, 0x66, 0x64, 0x2d, 0x32, 0x49, 0xe8, 0x72, 0x99, 0x30, 0x5b, 0x33, 0x99, 0x70, 0x0, 0xf, 0xed, 0xa6, 0xcb, 0xd8, 0x53, 0xc9, 0x8c, 0x0, 0xcd, 0x49, 0x94, 0x8, 0xe5, 0x96, 0x29, 0x26, 0x1, 0x33, 0xd8, 0x6a, 0x64, 0xb9, 0x7, 0xa6, 0x60, 0x60, 0xa0, 0xb5, 0xee, 0xdd, 0x97, 0x57, 0xe7, 0x17, 0x85, 0xf7, 0xe, 0xc9, 0x99, 0xab, 0xb0, 0xc6, 0xd4, 0x1e, 0xa4, 0x26, 0x30, 0xd3, 0x13, 0x9e, 0xf1, 0x50, 0x23, 0xbe, 0xb0, 0x8c, 0xab, 0x8b, 0xd7, 0xac, 0x59, 0xc7, 0x77, 0x70, 0xe9, 0x17, 0x4b, 0xfb, 0x60, 0xfd, 0x3b, 0x73, 0x2f, 0x1, 0x9e, 0xa5, 0x64, 0x45, 0x25, 0xa3, 0x78, 0x22, 0x90, 0x17, 0x78, 0xdf, 0xfe, 0x11, 0xde, 0x1b, 0x91, 0x56, 0xc2, 0x5b, 0x8c, 0xa3, 0x12, 0x4a, 0xb1, 0x69, 0x10, 0x56, 0x83, 0x8a, 0x84, 0x93, 0x17, 0x1, 0x5b, 0x1, 0x7a, 0xe, 0x3d, 0x84, 0x72, 0xf4, 0x54, 0xdd, 0xab, 0xa1, 0x33, 0x9a, 0x29, 0xa2, 0x16, 0x28, 0x79, 0xff, 0xc8, 0x85, 0xfe, 0xb1, 0xac, 0x52, 0xd5, 0x92, 0xb1, 0x39, 0x2b, 0x7b, 0xd2, 0x82, 0xe, 0x12, 0xc8, 0x89, 0x3d, 0x41, 0x58, 0xe8, 0x3a, 0x54, 0xbc, 0x37, 0xd4, 0xd9, 0xa, 0xc7, 0x1b, 0x77, 0xe6, 0x54, 0x4f, 0xf8, 0x76, 0xb2, 0xd1, 0x32, 0xe7, 0xe6, 0xd4, 0xf0, 0xc7, 0x58, 0x80, 0x4b, 0xeb, 0x6a, 0xbb, 0xcb, 0x98, 0x5a, 0x90, 0x29, 0xe8, 0x7, 0x0, 0x6e, 0x73, 0xca, 0x61, 0x99, 0xa5, 0xcd, 0x15, 0x55, 0x3b, 0xfe, 0xf2, 0x22, 0x7a, 0xb1, 0xb1, 0x23, 0x5d, 0xfb, 0x8d, 0xbb, 0x96, 0xdc, 0xd3, 0x8f, 0x97, 0x37, 0xe7, 0x67, 0xcf, 0x48, 0x70, 0x81, 0xc6, 0x8d, 0x29, 0xb, 0x6b, 0xca, 0x6a, 0xe7, 0x13, 0xee, 0x88, 0x23, 0x31, 0x2c, 0x81, 0xc7, 0xc0, 0x63, 0xd3, 0x95, 0x59, 0xfc, 0x85, 0x9d, 0xee, 0x80, 0x18, 0x2d, 0xc7, 0x43, 0xf2, 0x41, 0x48, 0x2, 0x5f, 0x68, 0xba, 0x4c, 0x60, 0xe0, 0xb2, 0x3, 0x22, 0xb5, 0x5c, 0x20, 0x24, 0xe4, 0x60, 0xb5, 0xf1, 0xf2, 0xd7, 0xa, 0xc0, 0x30, 0x2b, 0xab, 0x22, 0x58, 0xe3, 0xef, 0x8d, 0x8a, 0x68, 0xa5, 0x93, 0xda, 0xdb, 0x4b, 0x1b, 0xbc, 0xcd, 0x3, 0x9b, 0x5b, 0xb1, 0xcd, 0x53, 0xe5, 0x5, 0xdc, 0xe6, 0x89, 0xea, 0x1a, 0x2a, 0xf3, 0xb5, 0xff, 0xd9, 0x60, 0x39, 0x5e, 0x79, 0xda, 0x31, 0x25, 0x9d, 0x31, 0x7e, 0xed, 0x15, 0xc9, 0xe7, 0x97, 0x38, 0x86, 0xb0, 0x16, 0xa4, 0x64, 0x23, 0xf0, 0x6b, 0x81, 0xc6, 0x17, 0xbf, 0x8f, 0x14, 0xaa, 0x6f, 0x25, 0xd4, 0xb7, 0x2a, 0x82, 0xe5, 0x1c, 0x51, 0x7d, 0xc0, 0xe8, 0xf6, 0x70, 0xbc, 0x83, 0xa, 0xc2, 0xeb, 0x43, 0xef, 0x6c, 0x3b, 0xc, 0xa5, 0xbb, 0xf, 0xbd, 0xab, 0x9b, 0xc4, 0xad, 0x34, 0x6f, 0x84, 0xde, 0xb5, 0x20, 0xb9, 0x96, 0x9e, 0xca, 0xda, 0xbe, 0xc3, 0x9b, 0xee, 0xc, 0x4c, 0x54, 0xb0, 0xc6, 0x17, 0x8a, 0x9c, 0xb1, 0x44, 0x1b, 0x65, 0xcb, 0x5d, 0x99, 0x52, 0xf3, 0xbb, 0xe0, 0x1e, 0x72, 0xa8, 0xd6, 0x92, 0x4d, 0x33, 0x8d, 0x26, 0xca, 0x9b, 0x6c, 0xb9, 0x14, 0x12, 0xd, 0x1c, 0xe1, 0xe7, 0xf7, 0x13, 0xfe, 0xa3, 0x63, 0xd3, 0x23, 0xae, 0x34, 0xe5, 0x11, 0xfc, 0xa, 0xeb, 0xc2, 0x8f, 0xce, 0x61, 0xc5, 0xfc, 0xf2, 0x8b, 0x50, 0x78, 0xd4, 0x63, 0xfe, 0xe, 0xf6, 0x47, 0xf3, 0x8f, 0xb3, 0xd2, 0x49, 0x90, 0xf9, 0xc5, 0x99, 0x19, 0xcc, 0x9f, 0x37, 0xf1, 0xbd, 0xff, 0xf5, 0x26, 0xbe, 0x77, 0x67, 0x1f, 0xf8, 0x2f, 0x4d, 0xa5, 0x1e, 0x33, 0x77, 0xc9, 0xee, 0xb2, 0x97, 0xfa, 0x72, 0x7b, 0x7e, 0x1b, 0xc6, 0xa3, 0x24, 0x8b, 0xe1, 0x66, 0xad, 0x34, 0xa4, 0x6e, 0xd6, 0x77, 0x7c, 0x2a, 0xb4, 0x79, 0xe3, 0x3e, 0x2c, 0x9b, 0xd9, 0x51, 0xd, 0x76, 0xfd, 0x11, 0x85, 0x1d, 0xe6, 0xe7, 0xc8, 0x3e, 0xd8, 0xdb, 0xfa, 0x16, 0xc7, 0x84, 0xa5, 0x46, 0xe, 0x62, 0x3a, 0x59, 0x4f, 0x38, 0xd6, 0x9b, 0x8, 0xda, 0xb4, 0x91, 0xb, 0xd1, 0x18, 0xbe, 0xe, 0xd9, 0xe0, 0x86, 0xe4, 0xa7, 0x35, 0x71, 0x28, 0x39, 0xa8, 0x76, 0x6d, 0x7a, 0x85, 0x2f, 0xf8, 0xd6, 0x6d, 0x1e, 0xc6, 0x1d, 0x2e, 0x55, 0xf1, 0x8, 0x9e, 0x7d, 0x1c, 0xbb, 0x73, 0xa6, 0xe3, 0x3f, 0x1f, 0xaa, 0xcb, 0x79, 0xef, 0x78, 0x53, 0xe7, 0x40, 0xe0, 0x8b, 0x6a, 0x6f, 0xea, 0x69, 0xf8, 0x65, 0xbc, 0xc2, 0xe7, 0xad, 0x23, 0xad, 0x23, 0x47, 0xbb, 0xcf, 0xb7, 0xcb, 0xf4, 0xf6, 0xac, 0x1b, 0xdb, 0xbe, 0xac, 0xbb, 0x32, 0xda, 0xbc, 0xd0, 0x2f, 0x5a, 0xfb, 0x1c, 0x42, 0x4f, 0x21, 0x11, 0x7c, 0xae, 0x88, 0x16, 0x1d, 0x9, 0x4, 0xd8, 0xd8, 0x3d, 0xbb, 0x80, 0xcf, 0x95, 0xec, 0x77, 0xf, 0x90, 0x7b, 0x70, 0x67, 0xb5, 0x76, 0x5, 0xbd, 0xc6, 0xa8, 0xbe, 0x32, 0xf2, 0xa0, 0x91, 0x73, 0xdf, 0x7c, 0x5e, 0x78, 0xd0, 0x6d, 0xe7, 0xce, 0xa6, 0x39, 0x9, 0x68, 0x63, 0xb0, 0xc5, 0x2d, 0x8e, 0x72, 0xad, 0x67, 0xab, 0x94, 0x7, 0x6d, 0x61, 0x37, 0xea, 0x6c, 0xbc, 0xa3, 0xfb, 0xc0, 0xb3, 0x41, 0x72, 0x8f, 0x3d, 0xd8, 0xbe, 0xf, 0xec, 0xe9, 0x90, 0xfb, 0xce, 0xc6, 0x42, 0xec, 0xb2, 0xbb, 0x8e, 0x3a, 0x5e, 0x0, 0x95, 0x7a, 0xa, 0x54, 0xb7, 0x6, 0x20, 0x3b, 0xb6, 0x5f, 0xfc, 0x73, 0xc1, 0xc4, 0xb7, 0x28, 0xfc, 0x62, 0xdd, 0x67, 0xd0, 0xb8, 0x97, 0xa3, 0x52, 0x13, 0xe2, 0x5c, 0x63, 0xd8, 0x7e, 0xa5, 0xeb, 0xee, 0xa3, 0x4e, 0x2d, 0xd9, 0x3d, 0xf2, 0x60, 0xeb, 0x91, 0xe7, 0x95, 0x91, 0xa7, 0x76, 0x31, 0x76, 0x1b, 0x7d, 0x42, 0xd1, 0x93, 0x47, 0x14, 0x3b, 0x29, 0xc9, 0x40, 0x59, 0x21, 0xe3, 0x79, 0xad, 0xc, 0x24, 0x66, 0x78, 0x72, 0xed, 0xf, 0x7b, 0x1d, 0x1, 0xc3, 0x9, 0x2f, 0x3a, 0x72, 0x6b, 0x81, 0xc9, 0x4, 0x99, 0x8d, 0x7e, 0xc4, 0x2e, 0xb7, 0xf6, 0xb8, 0xf9, 0x68, 0xe1, 0x81, 0x8d, 0x77, 0xe3, 0x81, 0xec, 0x32, 0xc9, 0x5f, 0xdc, 0x80, 0x85, 0x9b, 0xc3, 0xeb, 0x3e, 0x10, 0x6e, 0xd2, 0xdc, 0xa3, 0x20, 0xb6, 0x1e, 0x5, 0xbf, 0x62, 0x12, 0xe9, 0xae, 0xb, 0x60, 0xa6, 0xb7, 0xa3, 0x48, 0x64, 0x5c, 0xb7, 0x35, 0x34, 0x9d, 0x9a, 0x9b, 0x37, 0x2a, 0x8d, 0x6d, 0x3d, 0x45, 0xc2, 0xbe, 0xd, 0xfe, 0x84, 0x63, 0x57, 0x28, 0x3c, 0xb3, 0xff, 0x19, 0xd2, 0x96, 0xd7, 0x77, 0x1f, 0x9f, 0xb6, 0x10, 0xde, 0x83, 0x14, 0xb6, 0xc3, 0x38, 0x5b, 0xaa, 0xb5, 0x3b, 0x77, 0x3d, 0x37, 0xcf, 0xa3, 0x20, 0x41, 0x66, 0x9, 0xb4, 0x3e, 0x4c, 0xbe, 0x46, 0xf3, 0xf, 0x7a, 0xfc, 0x85, 0xbe, 0xf2, 0xfd, 0x6e, 0xbb, 0xda, 0x7d, 0x2a, 0x6c, 0x6e, 0xbe, 0x36, 0xf7, 0x76, 0x7f, 0x2f, 0x6f, 0x90, 0xdc, 0xef, 0x62, 0x6c, 0x87, 0xb1, 0x8b, 0xbb, 0x76, 0xe2, 0xfa, 0x8c, 0x7b, 0x7d, 0xd0, 0x4a, 0x7b, 0xb1, 0x59, 0x6a, 0x5c, 0x1a, 0xae, 0xd2, 0x3e, 0xb5, 0xf1, 0x25, 0xb8, 0x63, 0x6d, 0x5e, 0x70, 0xa7, 0x58, 0x44, 0x82, 0x6b, 0x29, 0x92, 0xa0, 0x8a, 0x94, 0x19, 0xb9, 0x8f, 0x59, 0xca, 0x12, 0x8, 0x4e, 0xe9, 0xe8, 0x17, 0xe5, 0xea, 0x3b, 0x25, 0x9, 0x91, 0x19, 0xc7, 0x32, 0xe4, 0x78, 0x18, 0x58, 0x78, 0x6b, 0xad, 0xdb, 0xef, 0xc8, 0xe6, 0x32, 0x72, 0xfd, 0xe9, 0x85, 0xd9, 0xc5, 0xb, 0x32, 0x3a, 0x2b, 0x67, 0x26, 0x2a, 0x78, 0x7c, 0x5b, 0x87, 0x5d, 0xca, 0x12, 0x4c, 0xc0, 0xe, 0xef, 0xc3, 0xe3, 0x76, 0x14, 0x2e, 0x3d, 0x7b, 0x1, 0x9c, 0xca, 0xda, 0x91, 0x21, 0x2a, 0x2f, 0xbd, 0x2a, 0x64, 0xee, 0x5, 0x5a, 0x7d, 0x62, 0x38, 0xe1, 0x17, 0x95, 0x9f, 0x8c, 0xe0, 0x3, 0x2b, 0xe0, 0xda, 0x56, 0x69, 0x8d, 0x4, 0x57, 0x4c, 0xe9, 0x6a, 0x3a, 0xb3, 0xad, 0xe9, 0xc5, 0x3c, 0x84, 0x74, 0x1f, 0xf4, 0x36, 0x69, 0xee, 0x51, 0xf, 0xdb, 0x61, 0xa0, 0x5e, 0x87, 0x14, 0xa4, 0xcd, 0x95, 0xd4, 0x71, 0x5, 0x9, 0xa1, 0xe4, 0xf8, 0x4f, 0xf3, 0xbf, 0x51, 0xfc, 0xa8, 0x23, 0x79, 0x3f, 0x50, 0x77, 0x54, 0x96, 0xe3, 0x9b, 0xd7, 0x7e, 0xf2, 0x73, 0xb2, 0xe0, 0xa8, 0x8a, 0xd7, 0x59, 0x1c, 0x0, 0x51, 0x82, 0xc1, 0x1a, 0x2e, 0xaa, 0xc0, 0xc8, 0x62, 0x72, 0x44, 0x2e, 0x2e, 0xc7, 0xe4, 0xc3, 0xe5, 0xe7, 0x8b, 0xb3, 0x16, 0xb9, 0xda, 0x9a, 0x8e, 0xf8, 0xf, 0x7, 0x8f, 0xea, 0xa8, 0xee, 0x11, 0x9, 0xdb, 0x61, 0x20, 0x92, 0xdd, 0x4e, 0x3b, 0xcc, 0x4f, 0x9f, 0x15, 0xc8, 0xa3, 0xdc, 0x5f, 0x65, 0x74, 0xe6, 0x33, 0x1d, 0xe2, 0x26, 0x40, 0xff, 0x6e, 0x1a, 0xf, 0xc9, 0xe7, 0x86, 0x3a, 0x2b, 0x87, 0x75, 0x8c, 0x1f, 0x44, 0xb8, 0x56, 0xe9, 0xa6, 0xed, 0x34, 0x4c, 0xd7, 0x1e, 0x2c, 0x1a, 0x77, 0xb9, 0xcf, 0x88, 0x7c, 0x48, 0x7b, 0xbc, 0x4a, 0x73, 0xbf, 0xc3, 0xb1, 0x7d, 0x43, 0x3b, 0x7c, 0x73, 0x4b, 0xdb, 0x95, 0xff, 0x2d, 0x6d, 0xea, 0xc7, 0x48, 0x1d, 0x7b, 0xfb, 0xf2, 0xb7, 0x33, 0xc8, 0x6, 0xb7, 0xfe, 0x67, 0x30, 0xc6, 0xd6, 0xbf, 0xb9, 0xfb, 0xb0, 0x52, 0x4f, 0x77, 0xf, 0x2d, 0xd8, 0xe, 0x3, 0x5a, 0x7a, 0x37, 0xff, 0xba, 0x49, 0x6c, 0x6f, 0x74, 0xea, 0xad, 0xdd, 0x5, 0xa4, 0x3d, 0xfe, 0x33, 0xb7, 0x65, 0xf9, 0x1f, 0x9f, 0xa0, 0xe8, 0x5, 0x48, 0xd9, 0xcb, 0xd, 0xbb, 0x62, 0x53, 0xdb, 0x43, 0x5f, 0xb, 0xef, 0xeb, 0x3e, 0xf2, 0x6e, 0x25, 0xbd, 0x7, 0x5f, 0x6c, 0x87, 0x1, 0xbe, 0x75, 0xbb, 0xa5, 0x6b, 0x94, 0xc9, 0x8c, 0x6f, 0x23, 0xea, 0xfb, 0x40, 0xaf, 0xe3, 0x5, 0x53, 0x5a, 0xc8, 0xd6, 0xe9, 0xcf, 0x5c, 0xde, 0x8a, 0xd2, 0xae, 0xfc, 0xc5, 0x76, 0x51, 0x72, 0xf0, 0x76, 0xdd, 0x1a, 0xa1, 0xbd, 0x11, 0xc0, 0xc8, 0x7, 0xca, 0x12, 0xe5, 0xaa, 0xb, 0xdc, 0x5d, 0x8, 0xfd, 0x41, 0x64, 0x3c, 0xbe, 0x73, 0xa1, 0xd0, 0x8d, 0xcf, 0x62, 0x98, 0x18, 0xbf, 0xe7, 0xe2, 0x81, 0xfb, 0x6c, 0x65, 0xca, 0xce, 0x59, 0x8b, 0x7c, 0x4f, 0x75, 0x3, 0xe8, 0x3e, 0x30, 0x36, 0x10, 0xdf, 0x43, 0x23, 0xb6, 0x1e, 0x1a, 0xf, 0xf, 0x1a, 0x5b, 0x90, 0x95, 0xd2, 0x2f, 0x2c, 0xcd, 0xd2, 0xab, 0x6f, 0x49, 0x9e, 0xaf, 0x5a, 0x38, 0x66, 0x84, 0x86, 0xbc, 0x40, 0x4d, 0x3b, 0xfc, 0xe, 0x33, 0x2a, 0x92, 0xbb, 0x2b, 0x91, 0x24, 0xfe, 0xde, 0x10, 0xae, 0x9a, 0xdf, 0xb4, 0xa0, 0xb1, 0x75, 0x25, 0x9d, 0x4d, 0xb8, 0x5e, 0x80, 0x82, 0x1, 0x61, 0xda, 0x67, 0x3f, 0x99, 0x2, 0x59, 0x52, 0xa5, 0x20, 0x26, 0x78, 0x62, 0xa0, 0x85, 0xcb, 0x64, 0x84, 0xe6, 0x13, 0xf8, 0xa2, 0x89, 0xd1, 0x9c, 0x5e, 0x2d, 0xc5, 0xc4, 0xd3, 0x34, 0x90, 0x7, 0xca, 0xf4, 0x5, 0x3c, 0x9c, 0xaf, 0x80, 0xeb, 0xdd, 0x73, 0x8c, 0x89, 0x95, 0x45, 0x21, 0x92, 0xf5, 0xfa, 0xea, 0xb4, 0x70, 0x3e, 0xcc, 0x85, 0x36, 0xf0, 0x26, 0x92, 0x15, 0x90, 0x8c, 0x6b, 0x96, 0xe4, 0x67, 0x2a, 0xf6, 0x24, 0x1c, 0x4f, 0x71, 0xc9, 0xc3, 0x82, 0x45, 0xb, 0x92, 0x52, 0x4c, 0xe6, 0x89, 0xf3, 0x4b, 0xee, 0x1c, 0xcb, 0xbb, 0xc5, 0x3b, 0x6e, 0x6d, 0xe0, 0xf2, 0xad, 0x19, 0xf8, 0xdd, 0xc0, 0x7e, 0x31, 0xcd, 0x52, 0x30, 0x52, 0x3d, 0x53, 0x64, 0xc1, 0x5e, 0xa2, 0x7c, 0x57, 0x5d, 0xd4, 0x6a, 0x8b, 0x9, 0x74, 0x84, 0xe3, 0x4, 0x7e, 0x40, 0xb2, 0xc7, 0xa6, 0xc3, 0xe6, 0xa9, 0xb4, 0x37, 0xe6, 0x19, 0x91, 0x70, 0xd4, 0xca, 0x9e, 0x35, 0xf9, 0x54, 0x59, 0x6b, 0x3b, 0x43, 0x15, 0x4e, 0xee, 0x42, 0xba, 0xd, 0xd1, 0xc3, 0x9, 0x77, 0x39, 0x89, 0xde, 0x93, 0x5f, 0x46, 0x37, 0xe3, 0xcb, 0xeb, 0xbf, 0xdf, 0x9e, 0xff, 0x76, 0x7e, 0x31, 0xbe, 0xfd, 0x30, 0xfa, 0x38, 0x3e, 0xbf, 0xbe, 0x1d, 0xff, 0xfd, 0xea, 0xfc, 0xf6, 0xe4, 0xe3, 0x47, 0xfb, 0xeb, 0x57, 0xcf, 0x79, 0xb2, 0x9d, 0xc6, 0xc6, 0xdc, 0x27, 0x2d, 0x86, 0xb6, 0xcf, 0x43, 0x98, 0x9f, 0xc4, 0x3d, 0x56, 0x7a, 0xaa, 0x21, 0x35, 0x49, 0x3b, 0xca, 0xf7, 0x5c, 0x38, 0xea, 0x9e, 0x2d, 0x4f, 0x64, 0xb4, 0x60, 0x2b, 0x9a, 0xbc, 0xce, 0x6a, 0xee, 0xb8, 0x14, 0x7d, 0x24, 0x61, 0x5, 0x52, 0xc1, 0x33, 0x48, 0xd3, 0xd7, 0xb6, 0xa7, 0xc7, 0x8, 0xd5, 0x4, 0x93, 0xdb, 0xe2, 0xe3, 0x13, 0x2e, 0x64, 0xc, 0x92, 0xfc, 0xa0, 0x34, 0x95, 0x78, 0x5e, 0x8c, 0xc1, 0x4e, 0x9, 0x55, 0xda, 0xee, 0xd8, 0x77, 0x45, 0x9, 0x7c, 0x6f, 0xf9, 0x7b, 0xc2, 0x9f, 0x55, 0x0, 0x77, 0x63, 0x3e, 0x70, 0x39, 0x1c, 0xc7, 0xd0, 0x8b, 0xe3, 0xd8, 0x7a, 0x71, 0xbc, 0x17, 0xc7, 0x1f, 0x43, 0xd6, 0xf7, 0x61, 0x5e, 0xef, 0x2a, 0x37, 0xc3, 0x49, 0x38, 0xfe, 0x13, 0xff, 0x37, 0xc4, 0xff, 0x1a, 0x81, 0xf0, 0x5f, 0xad, 0x3, 0xdf, 0x30, 0x13, 0xef, 0xef, 0xc1, 0x65, 0xd4, 0x86, 0xd9, 0x1a, 0x1, 0xda, 0xa6, 0xb2, 0x9b, 0x82, 0x63, 0x22, 0x2e, 0xdf, 0x39, 0x7d, 0xb4, 0x8d, 0xbb, 0xf4, 0xa2, 0xee, 0xb3, 0x8d, 0x12, 0xb9, 0x3d, 0x87, 0xc0, 0xd6, 0x73, 0x88, 0x67, 0x88, 0x36, 0xc9, 0x37, 0xe9, 0xe, 0xad, 0x6d, 0x5c, 0x70, 0xcd, 0x3e, 0xa2, 0x99, 0x5e, 0x8, 0x79, 0x84, 0xdf, 0x17, 0x62, 0x57, 0x80, 0x7a, 0xc6, 0x5c, 0xea, 0xe3, 0x85, 0x4d, 0xf4, 0xbd, 0x1e, 0x92, 0xf1, 0x7a, 0xe9, 0x2a, 0x6d, 0x52, 0x32, 0xcb, 0x38, 0xe6, 0xf0, 0xc5, 0xa3, 0xff, 0x3e, 0xaa, 0xaf, 0xea, 0xb4, 0x5a, 0xda, 0xe1, 0xdd, 0xf6, 0x57, 0xdd, 0x8a, 0xfe, 0x5a, 0xb2, 0xf9, 0x1c, 0x24, 0xfa, 0xb3, 0xb6, 0x86, 0xfc, 0xb1, 0x7d, 0xa8, 0xe4, 0xc5, 0x4a, 0x13, 0xf4, 0xdd, 0xd7, 0xe2, 0xfd, 0x84, 0x93, 0x1f, 0x89, 0xeb, 0xb7, 0xe2, 0xba, 0x5a, 0x93, 0xf4, 0xa5, 0x8c, 0xff, 0xff, 0x59, 0x7a, 0xb8, 0xdd, 0x33, 0xa8, 0xcd, 0x88, 0x4c, 0xdb, 0xc4, 0x63, 0xb6, 0x44, 0x89, 0x79, 0xf2, 0x3f, 0x5d, 0xb6, 0x5c, 0x9b, 0x60, 0xce, 0xa0, 0x3b, 0x56, 0x46, 0xe1, 0x70, 0x24, 0x66, 0x33, 0x12, 0x98, 0x4b, 0x63, 0xd8, 0x73, 0xcd, 0x48, 0xbb, 0xcf, 0x79, 0x6a, 0x88, 0xee, 0xf9, 0xf, 0xb6, 0x9e, 0xff, 0x7c, 0x33, 0xe0, 0x5b, 0xb3, 0xc8, 0x3b, 0xf, 0xc1, 0xf, 0x55, 0x33, 0x42, 0x9, 0x8a, 0x23, 0xca, 0x23, 0x48, 0x5a, 0x83, 0xf0, 0xb5, 0x95, 0xb4, 0x4f, 0xf1, 0xa9, 0x4d, 0x3f, 0x13, 0x17, 0x8, 0x5, 0x31, 0x99, 0xae, 0x43, 0x22, 0xc5, 0x7, 0xcc, 0xeb, 0xb8, 0x80, 0x35, 0x79, 0xa0, 0xb6, 0x10, 0xbc, 0x4f, 0x8b, 0x63, 0x5f, 0x9e, 0xf8, 0xdc, 0x10, 0x13, 0x4e, 0x77, 0x49, 0xe7, 0x1b, 0xc2, 0x6, 0x53, 0x66, 0xeb, 0x67, 0x89, 0x76, 0x8e, 0x83, 0x1c, 0x1e, 0xc8, 0x9d, 0xcf, 0xab, 0x7c, 0x7b, 0xfe, 0xdf, 0xe7, 0xa7, 0x9f, 0xc7, 0xa3, 0xcb, 0x8b, 0xdb, 0xd3, 0x93, 0x8b, 0xd3, 0xf3, 0x8f, 0xb7, 0xd7, 0xe7, 0x7f, 0xfb, 0x7c, 0x7e, 0x33, 0x3e, 0x3f, 0xbb, 0x73, 0x66, 0x76, 0x5b, 0xa8, 0xfb, 0x41, 0x32, 0xad, 0xc1, 0xdb, 0x98, 0x26, 0x3c, 0x50, 0xe1, 0xed, 0x61, 0x98, 0x54, 0x7c, 0x33, 0xe9, 0x7b, 0x48, 0x3b, 0x69, 0x6b, 0x1a, 0xe5, 0x92, 0xcf, 0x90, 0x8c, 0x74, 0x30, 0xac, 0x39, 0xc0, 0xf5, 0x16, 0x2f, 0x37, 0x7a, 0x88, 0xb, 0xef, 0xc1, 0x2, 0x0, 0x36, 0xa8, 0xcc, 0xa6, 0xe1, 0xc6, 0xe, 0x66, 0xc1, 0x6e, 0x46, 0xde, 0x7a, 0xc3, 0xd9, 0xdb, 0x8d, 0x6e, 0x72, 0x92, 0x62, 0x1, 0x8a, 0xbf, 0xd5, 0x96, 0xff, 0x35, 0x27, 0x19, 0x6a, 0xfa, 0x8c, 0xdd, 0x67, 0x36, 0xcd, 0xf4, 0xf7, 0x7c, 0x7, 0xdb, 0x61, 0xf0, 0x9d, 0x26, 0x78, 0xea, 0x6, 0x85, 0x1d, 0xe2, 0x3f, 0xcd, 0xeb, 0xfe, 0xc0, 0x59, 0x91, 0x4, 0x5, 0xed, 0x93, 0xaf, 0x5d, 0x9b, 0xbb, 0x37, 0x39, 0x10, 0x1e, 0xb1, 0x62, 0x4f, 0x84, 0xf2, 0x9a, 0x62, 0xb, 0xb9, 0x0, 0x6f, 0xcb, 0xef, 0x79, 0xb3, 0xd0, 0x84, 0xe7, 0x5c, 0x3, 0x93, 0xec, 0x9f, 0x5e, 0x7e, 0xba, 0xfa, 0x78, 0x5e, 0xe0, 0x14, 0x3f, 0x60, 0x32, 0x60, 0xc5, 0x56, 0xf0, 0xe, 0xc1, 0xd9, 0xa6, 0x25, 0x4e, 0x53, 0x88, 0x19, 0xd5, 0x90, 0xac, 0x89, 0xad, 0xac, 0x18, 0x12, 0x1f, 0xd9, 0xc2, 0xed, 0x13, 0x5e, 0x3c, 0x34, 0xb1, 0x9, 0x3e, 0x87, 0x64, 0xf2, 0xe6, 0xdc, 0x77, 0x36, 0x79, 0x43, 0x52, 0xa0, 0xee, 0xf8, 0x25, 0x28, 0xc8, 0x31, 0x89, 0x44, 0xba, 0x4c, 0xb0, 0x96, 0x96, 0x7d, 0x3d, 0xd3, 0xa, 0x92, 0x99, 0x8d, 0xbc, 0x33, 0xac, 0x65, 0x99, 0xd0, 0xb5, 0x21, 0x3b, 0xaf, 0x13, 0x3, 0xda, 0xb3, 0xab, 0xff, 0xc4, 0x9f, 0x96, 0x12, 0x22, 0xc0, 0xfa, 0x10, 0x95, 0xa1, 0xdd, 0x8c, 0x4f, 0xae, 0xb, 0x3, 0x93, 0x90, 0x52, 0xc6, 0x55, 0x29, 0xfc, 0xd8, 0x15, 0x6, 0xa4, 0xa, 0x79, 0x10, 0xbe, 0x27, 0x1f, 0xe9, 0x60, 0x2b, 0x3b, 0xc, 0xd1, 0xcb, 0xd1, 0x2, 0xe2, 0x2c, 0xb1, 0x71, 0xd7, 0x12, 0xb4, 0x5c, 0x13, 0xb6, 0x83, 0x21, 0xd5, 0x7d, 0xcd, 0x43, 0x60, 0x44, 0x75, 0x74, 0xf7, 0xc, 0x8, 0x5b, 0xcf, 0x80, 0x9e, 0x87, 0xc2, 0x4e, 0x31, 0xa0, 0xba, 0xf5, 0x7e, 0xe0, 0x8c, 0x47, 0xb1, 0x39, 0xa7, 0xc9, 0xf1, 0x9f, 0xf6, 0xff, 0x58, 0x5f, 0xbd, 0x35, 0x1b, 0xba, 0xc1, 0x67, 0x6a, 0x35, 0x21, 0x9f, 0xb4, 0x42, 0x1, 0xa2, 0xa5, 0xed, 0xdd, 0xb2, 0x1d, 0x9f, 0x86, 0xe2, 0xa9, 0xda, 0x4e, 0x9d, 0xa6, 0x73, 0x33, 0xfa, 0xf9, 0xe2, 0xe4, 0x63, 0x11, 0xde, 0x23, 0x21, 0xe3, 0x3c, 0x97, 0x44, 0x59, 0xa5, 0xf1, 0x14, 0x4c, 0x38, 0x2, 0xb8, 0x55, 0x87, 0xaa, 0x5a, 0x4d, 0xab, 0x93, 0x92, 0x2d, 0x33, 0xd1, 0x7d, 0xc, 0xdf, 0x42, 0x78, 0xf, 0xe2, 0xd8, 0x7a, 0x10, 0x7f, 0x1e, 0xa, 0x73, 0x70, 0xd9, 0xe3, 0x0, 0x85, 0x54, 0xe, 0x50, 0x4c, 0x67, 0xfe, 0xe8, 0x24, 0xc7, 0x13, 0x4, 0x18, 0xe7, 0x1e, 0xe3, 0x9f, 0xec, 0xc6, 0xa0, 0x3b, 0xc4, 0xb9, 0xb6, 0xec, 0xf2, 0x3, 0x67, 0x5d, 0x41, 0xe7, 0x68, 0x7f, 0x8c, 0xe2, 0x9f, 0xd8, 0xe4, 0x59, 0xa1, 0x33, 0xb5, 0x4b, 0x77, 0x9a, 0xae, 0x1d, 0x5b, 0xc1, 0x83, 0x8f, 0xa2, 0xee, 0x94, 0xf3, 0xa1, 0xf1, 0xf9, 0xf5, 0xa7, 0xd1, 0xc5, 0x49, 0x41, 0xd1, 0xa8, 0x61, 0x40, 0x75, 0xfa, 0x93, 0xab, 0xd1, 0x5b, 0xab, 0x39, 0x35, 0x9d, 0x9a, 0x6c, 0x1d, 0x58, 0xf7, 0x59, 0xd0, 0x76, 0xda, 0x7b, 0x2e, 0x84, 0xad, 0xe7, 0x42, 0xcf, 0x43, 0x61, 0x87, 0x0, 0x79, 0xfb, 0x9a, 0x3f, 0x70, 0x4c, 0x76, 0xa9, 0xbc, 0x5, 0xee, 0x35, 0xf5, 0x88, 0x5c, 0xde, 0xa5, 0xae, 0x2f, 0x6d, 0x37, 0x1b, 0xe9, 0xb8, 0xad, 0xc1, 0x68, 0xeb, 0xed, 0x62, 0xb6, 0x3, 0xc3, 0xdb, 0xe5, 0xdd, 0xae, 0xeb, 0xbb, 0xfb, 0x70, 0xda, 0x4c, 0x7f, 0xf, 0xa9, 0xd8, 0xf6, 0x85, 0xd4, 0x1a, 0x31, 0x35, 0x4f, 0x4b, 0x58, 0x14, 0x4c, 0x35, 0x95, 0x73, 0xd0, 0x61, 0x69, 0x76, 0xc4, 0x85, 0xa7, 0xc7, 0x66, 0x7b, 0x65, 0xcf, 0xd4, 0xe1, 0x75, 0x1b, 0xe8, 0x9b, 0xc0, 0xe7, 0xe3, 0x3f, 0xdd, 0x1, 0xea, 0x90, 0xf1, 0x65, 0xa6, 0x87, 0x7c, 0x2f, 0xb3, 0xcf, 0x88, 0xaf, 0xc4, 0xbd, 0xc3, 0xe0, 0xdc, 0xb5, 0xd4, 0x4e, 0x5b, 0xee, 0xc1, 0x26, 0x38, 0x96, 0x19, 0xc, 0x5b, 0x81, 0x44, 0x22, 0x6e, 0x94, 0x61, 0xb7, 0xcc, 0xfb, 0xc1, 0x22, 0x6e, 0xf, 0xb5, 0xd8, 0x7a, 0xa8, 0xed, 0x18, 0xd4, 0x6e, 0x6e, 0xfd, 0x96, 0x9f, 0xc0, 0x4f, 0xbc, 0xdb, 0xe9, 0xb, 0xca, 0xe3, 0xc4, 0xd6, 0x77, 0x67, 0x88, 0x8, 0x66, 0xcb, 0x77, 0xf7, 0xc3, 0x74, 0x9f, 0xc3, 0x1c, 0xc, 0x6b, 0xa9, 0xa4, 0xe5, 0x69, 0x3e, 0x23, 0xd0, 0x54, 0xd6, 0x1c, 0x55, 0x63, 0xc0, 0x9c, 0xaa, 0x9e, 0xa3, 0xb6, 0x3a, 0x9, 0xf0, 0xc7, 0xcf, 0xd6, 0x50, 0x5f, 0xb6, 0xd1, 0x5b, 0x7f, 0xa1, 0x2d, 0x67, 0x3, 0xe5, 0x93, 0x5f, 0xc6, 0x9, 0xd3, 0xaa, 0x68, 0x90, 0x99, 0x70, 0x9a, 0x28, 0x11, 0xce, 0x6f, 0xb1, 0xe7, 0x19, 0x93, 0xc5, 0x54, 0x6d, 0x9a, 0xaa, 0xfb, 0x21, 0xb9, 0x76, 0xbe, 0x4d, 0x77, 0x1b, 0xe3, 0x3a, 0xb1, 0x7e, 0x4c, 0x38, 0x68, 0x88, 0xef, 0x6, 0x84, 0x19, 0x55, 0x64, 0xc2, 0x43, 0x79, 0xcb, 0x52, 0xf6, 0x6c, 0xe7, 0xde, 0xa4, 0xcc, 0xde, 0xca, 0xbd, 0xa1, 0x1a, 0xd3, 0xc4, 0xd6, 0x4f, 0x67, 0xf7, 0x79, 0x64, 0x3d, 0xdd, 0x3d, 0x8b, 0xc4, 0x76, 0x58, 0x6, 0x9e, 0xae, 0xf0, 0xb1, 0xe, 0x1, 0x7a, 0xfd, 0xea, 0x3e, 0x24, 0x3c, 0x3f, 0xa6, 0x91, 0x66, 0x2b, 0xa6, 0x99, 0xb9, 0xdb, 0xfd, 0xbd, 0x46, 0x1f, 0x59, 0xe7, 0x8a, 0xd3, 0x1e, 0xf0, 0x1, 0xc8, 0x9d, 0xdd, 0xd8, 0xf1, 0x89, 0xeb, 0x68, 0x4c, 0xd5, 0xfd, 0xa9, 0xf7, 0xe9, 0xb9, 0x1b, 0x12, 0x3c, 0xcc, 0x5d, 0xd9, 0x5a, 0xee, 0x3e, 0x8e, 0x21, 0x4a, 0x18, 0xa6, 0x38, 0x40, 0xa7, 0x99, 0x48, 0xc8, 0xe0, 0x5, 0x84, 0x26, 0x9d, 0xe9, 0x7a, 0xc2, 0xc3, 0x20, 0x8e, 0xb, 0x60, 0xe9, 0x9, 0x5f, 0x13, 0x16, 0xa3, 0xa9, 0x1c, 0x68, 0x8c, 0x82, 0xa, 0x55, 0xf7, 0x44, 0x8b, 0x7b, 0x68, 0x34, 0xf6, 0x34, 0xd1, 0xf9, 0xd3, 0x7a, 0x14, 0xff, 0xaf, 0xce, 0x3, 0xeb, 0xae, 0x11, 0xf4, 0x10, 0x8b, 0xed, 0x89, 0x5a, 0x48, 0x5e, 0x70, 0xc2, 0xc9, 0xc0, 0x61, 0x5, 0xda, 0x54, 0x25, 0x5, 0x9f, 0x2f, 0xb3, 0xb4, 0xfd, 0x9a, 0xec, 0x6, 0x50, 0x6e, 0x7, 0xee, 0xaa, 0x64, 0x15, 0xef, 0x37, 0xbc, 0x1, 0x49, 0x80, 0xae, 0x80, 0x40, 0xba, 0xd4, 0x58, 0xb5, 0xdb, 0x49, 0xfe, 0xd4, 0x88, 0x77, 0x3c, 0xa6, 0x89, 0xe0, 0xd0, 0xb1, 0xb9, 0xc8, 0xa1, 0xad, 0xf5, 0x5c, 0x4, 0x80, 0xc1, 0x1a, 0x2c, 0xe, 0xd, 0x3b, 0x31, 0x98, 0xe, 0x71, 0xc0, 0x5d, 0x30, 0xf4, 0x4d, 0xf0, 0xc2, 0x19, 0x65, 0xed, 0xa3, 0x45, 0x1c, 0x1f, 0x34, 0x9c, 0xac, 0x38, 0x2b, 0x1f, 0xd0, 0xa5, 0xb4, 0x35, 0xf, 0x34, 0xaf, 0xcc, 0x24, 0xbc, 0x26, 0x3, 0xb4, 0x14, 0x1e, 0x2c, 0xf7, 0xcb, 0xc9, 0xef, 0x59, 0x1f, 0xb6, 0x9e, 0xf5, 0xf5, 0xac, 0xef, 0x19, 0x58, 0x1f, 0x82, 0x5f, 0x27, 0x6, 0xd2, 0x6d, 0xb6, 0x97, 0xe3, 0xcf, 0x37, 0xc1, 0xf3, 0x42, 0x3d, 0xff, 0xa7, 0x32, 0xbe, 0x50, 0x8b, 0xbc, 0x35, 0xef, 0xb, 0xaf, 0x7e, 0x41, 0xee, 0xb7, 0x95, 0xca, 0x43, 0xe1, 0x7f, 0x8d, 0x3, 0xe8, 0x39, 0x20, 0xb6, 0x9e, 0x3, 0xf6, 0x1c, 0xf0, 0xa9, 0x1c, 0xf0, 0x1, 0xde, 0x4a, 0xc8, 0x21, 0xa9, 0x26, 0x13, 0x55, 0xcf, 0xc, 0x9b, 0xc1, 0xe8, 0x9b, 0x60, 0x87, 0x4b, 0x9a, 0xa9, 0xf6, 0xb6, 0xd0, 0x2b, 0x73, 0xb7, 0x9f, 0x90, 0xfc, 0xf0, 0xb, 0x3b, 0x51, 0x95, 0x93, 0x2b, 0xeb, 0xb4, 0x16, 0xd6, 0x5b, 0xee, 0x58, 0x31, 0x5d, 0xe3, 0x41, 0xd5, 0xe8, 0x6c, 0xe8, 0xd2, 0xab, 0x9c, 0x5c, 0x8d, 0x48, 0x44, 0x39, 0x99, 0xe6, 0xb5, 0x61, 0xc3, 0xde, 0xcb, 0x9d, 0xe7, 0x7d, 0x47, 0x36, 0x99, 0x4b, 0xe3, 0x96, 0xac, 0x2e, 0x7f, 0x43, 0xb6, 0x2d, 0x14, 0x9b, 0x77, 0x83, 0x71, 0x9a, 0xef, 0x27, 0xfc, 0x88, 0x8c, 0x2a, 0x3b, 0x83, 0x29, 0x1f, 0xef, 0x99, 0xac, 0xc9, 0x3, 0x65, 0x36, 0xf, 0x26, 0xbe, 0xd6, 0x46, 0x3f, 0xa, 0x69, 0xee, 0x29, 0x56, 0x9f, 0x55, 0xd9, 0x54, 0xc1, 0x3f, 0x32, 0xfb, 0x8, 0x6, 0xfa, 0xf, 0x26, 0x9c, 0x10, 0xa6, 0xf3, 0x2c, 0xc1, 0x58, 0x36, 0x31, 0x87, 0x1e, 0x9b, 0x2c, 0x98, 0x69, 0x9b, 0x95, 0x1e, 0x27, 0x30, 0x1e, 0x6e, 0xa1, 0xc6, 0x9f, 0xb1, 0xd9, 0xbb, 0x6, 0x98, 0x95, 0xc1, 0xfa, 0x55, 0x33, 0x45, 0x52, 0xd0, 0xb, 0xe1, 0x62, 0x3d, 0x17, 0x6, 0xbf, 0xb8, 0x20, 0x30, 0x9b, 0x41, 0xa4, 0xb7, 0x75, 0x57, 0x24, 0xdc, 0xac, 0x7d, 0xb5, 0x0, 0x55, 0x60, 0xe7, 0xc9, 0x7a, 0x50, 0x41, 0xa, 0x17, 0x7, 0x1a, 0x82, 0x58, 0xf7, 0xea, 0x18, 0x4f, 0x4, 0x9d, 0xd6, 0xff, 0xde, 0x4c, 0xca, 0x8f, 0x2e, 0xe7, 0x41, 0x5e, 0x79, 0x12, 0x27, 0x35, 0x81, 0x99, 0x26, 0x47, 0xbb, 0xdf, 0x5c, 0xea, 0x80, 0x4a, 0x20, 0xa9, 0x90, 0x98, 0xf6, 0x54, 0x32, 0x50, 0x8d, 0xbd, 0x84, 0x49, 0xfe, 0x20, 0x24, 0x49, 0x4, 0x9f, 0x1f, 0x5, 0x82, 0xc3, 0xe6, 0xc0, 0x5, 0x91, 0xff, 0x93, 0x30, 0xb7, 0xb8, 0x63, 0xb3, 0xe2, 0xb4, 0xab, 0x44, 0xec, 0x62, 0xc0, 0x4a, 0x9, 0x2f, 0x70, 0x98, 0x93, 0x80, 0xc8, 0xb7, 0xf6, 0xa9, 0xc9, 0x1b, 0x9f, 0x40, 0xfa, 0xad, 0x81, 0xa7, 0xb7, 0x36, 0xd5, 0xaa, 0x95, 0x2b, 0xf0, 0xd7, 0x6, 0x88, 0x79, 0x3b, 0x9c, 0xf0, 0x9, 0xf7, 0x47, 0xb3, 0x94, 0x14, 0xb2, 0xad, 0x5a, 0x1, 0xa5, 0x32, 0x8d, 0x4b, 0xe0, 0x71, 0x61, 0x30, 0x6b, 0x4b, 0x92, 0x8d, 0x1d, 0x16, 0x2b, 0x16, 0x63, 0xa1, 0xc3, 0x6, 0xd9, 0xb1, 0x7e, 0x6f, 0x77, 0x5f, 0x64, 0xac, 0xa7, 0xbb, 0x97, 0x14, 0xb1, 0x7d, 0x1d, 0x49, 0xb1, 0x23, 0x1e, 0x32, 0xed, 0x45, 0xc5, 0x59, 0xd8, 0x23, 0x3, 0xbb, 0xdf, 0x6b, 0x39, 0xcf, 0xf, 0x86, 0x7, 0x4, 0x6c, 0x78, 0x17, 0x22, 0x2a, 0xe7, 0x6c, 0x5, 0x3c, 0xbf, 0x1f, 0x19, 0xdb, 0x68, 0x66, 0x5, 0xc9, 0x81, 0x63, 0x65, 0xaa, 0x9e, 0x69, 0x75, 0x64, 0xa6, 0x5a, 0xb, 0x92, 0xe3, 0x5, 0x14, 0xca, 0xa5, 0x16, 0xcd, 0x29, 0x76, 0x98, 0x1d, 0x19, 0x4f, 0x87, 0x84, 0xc8, 0x7a, 0x78, 0xfa, 0x26, 0x64, 0xc7, 0x47, 0xe4, 0xf8, 0xd8, 0x94, 0x1d, 0xb1, 0x93, 0xaf, 0x2d, 0x3b, 0x36, 0xb9, 0x67, 0x21, 0xdd, 0x7a, 0x9b, 0xf8, 0xf8, 0x23, 0xe1, 0x59, 0x3a, 0xb5, 0x39, 0x30, 0xa9, 0xd6, 0x66, 0xcf, 0xab, 0x42, 0x9d, 0x6c, 0xc7, 0xfd, 0xff, 0x32, 0x34, 0x77, 0xe6, 0xdb, 0xc5, 0x56, 0x76, 0xa8, 0xdc, 0x88, 0xf7, 0xb0, 0x4d, 0xb1, 0xaa, 0x28, 0x82, 0xa2, 0xac, 0x64, 0x53, 0x76, 0x58, 0xd9, 0xd1, 0x88, 0x96, 0x4e, 0x42, 0x11, 0x92, 0xbc, 0xbd, 0x7, 0x58, 0x3a, 0xd9, 0xe3, 0x6d, 0xb8, 0xec, 0xa0, 0xd, 0xa5, 0xaf, 0x20, 0x93, 0x96, 0x12, 0x7b, 0x14, 0x23, 0xf7, 0x7e, 0xf8, 0x91, 0x28, 0x0, 0xf2, 0xf6, 0xf, 0xa6, 0x35, 0xc8, 0xb7, 0x64, 0x96, 0xd0, 0xf9, 0xbb, 0x17, 0x10, 0x45, 0xc, 0xbd, 0x58, 0xd4, 0xa1, 0xf9, 0x34, 0xa7, 0x66, 0xcd, 0x74, 0x5f, 0x26, 0xa9, 0xa7, 0xbb, 0x97, 0x49, 0xb0, 0xf5, 0x32, 0xc9, 0xde, 0x32, 0x49, 0x2e, 0x43, 0x6c, 0x62, 0x5a, 0x2f, 0x85, 0xf4, 0x52, 0x48, 0x9b, 0x73, 0x9d, 0x1a, 0x40, 0xfa, 0x56, 0xa4, 0x10, 0x91, 0xac, 0xe0, 0x88, 0xaa, 0x23, 0xab, 0x91, 0xe3, 0x14, 0x3e, 0xd1, 0xb7, 0xcf, 0x75, 0xd4, 0x65, 0xb7, 0x6, 0x4f, 0xe3, 0xa1, 0x1c, 0xec, 0x34, 0xe, 0xa0, 0x67, 0x8d, 0xd8, 0xfa, 0x83, 0x9d, 0xfe, 0x60, 0xe7, 0x59, 0xbc, 0xfa, 0xf8, 0x8c, 0xc9, 0xd4, 0x66, 0xf0, 0x45, 0x23, 0x25, 0xf4, 0x3e, 0xee, 0x6d, 0x3c, 0xfc, 0xa, 0x88, 0xf4, 0x4d, 0xf0, 0x46, 0x77, 0xb2, 0xd0, 0x3e, 0x6d, 0x81, 0xbd, 0x7f, 0x53, 0x4b, 0x77, 0x1d, 0x75, 0x59, 0x4f, 0x1f, 0xcd, 0x4a, 0x5a, 0x73, 0xae, 0x18, 0xf, 0x2c, 0x1c, 0xe4, 0x45, 0x1b, 0x37, 0x8e, 0x49, 0xaa, 0x67, 0x19, 0xf, 0x54, 0x79, 0xa5, 0xfa, 0x61, 0xc1, 0x12, 0xa8, 0x53, 0xc1, 0x1f, 0xa7, 0x47, 0xf, 0x27, 0xfc, 0x92, 0x47, 0xb0, 0xa1, 0xe3, 0xfb, 0x23, 0xa0, 0x81, 0x11, 0x31, 0x42, 0xe5, 0x47, 0xf3, 0x7f, 0x59, 0xb4, 0x12, 0xcc, 0x81, 0x1b, 0xb1, 0x0, 0x4f, 0x31, 0x5e, 0xf3, 0x6c, 0x60, 0xdb, 0xba, 0xe8, 0xbe, 0xdc, 0xb1, 0x8d, 0xf2, 0x5e, 0xe0, 0xc0, 0xd6, 0xeb, 0xe2, 0xbd, 0x2e, 0x5e, 0x3b, 0x37, 0xbd, 0x2e, 0xfe, 0x72, 0xd1, 0xd2, 0x5b, 0x20, 0xe9, 0xdb, 0x90, 0x38, 0x9e, 0x92, 0x2f, 0x69, 0x63, 0x4a, 0x7c, 0x2, 0xa4, 0x52, 0x29, 0xa, 0x4c, 0xc8, 0x8d, 0x1a, 0xb8, 0x59, 0x65, 0xf6, 0x85, 0xf8, 0xa3, 0x28, 0xa5, 0x4b, 0xa, 0x4b, 0xf1, 0x35, 0x64, 0x91, 0xda, 0xd4, 0x1f, 0xdb, 0x86, 0x73, 0x0, 0x5c, 0xb3, 0x91, 0xfe, 0x9e, 0x77, 0x62, 0xeb, 0x95, 0xf5, 0x9e, 0x75, 0xd6, 0xcd, 0x4d, 0xcf, 0x3a, 0x5f, 0x38, 0xd1, 0xc8, 0x36, 0x5c, 0x3a, 0x28, 0x6, 0xba, 0x9f, 0x62, 0x7e, 0x21, 0x34, 0xbc, 0x27, 0xbe, 0x18, 0x1d, 0x26, 0x3, 0x5c, 0x82, 0x64, 0x29, 0x70, 0x4d, 0x13, 0x64, 0x68, 0x94, 0xc7, 0xb8, 0x8c, 0xa6, 0xb0, 0xa0, 0x2b, 0x26, 0x24, 0x49, 0xe9, 0x9a, 0x44, 0xb, 0xca, 0xe7, 0x60, 0xd3, 0x8b, 0xcf, 0x32, 0x9d, 0xa1, 0xa7, 0x5c, 0x2, 0x54, 0xc1, 0x70, 0xc2, 0xd1, 0x33, 0x61, 0x33, 0x93, 0x49, 0x41, 0xd1, 0xaf, 0x49, 0x16, 0x9b, 0xab, 0xf8, 0xa1, 0x56, 0x85, 0xcd, 0xbe, 0x43, 0x82, 0x93, 0x65, 0xdd, 0x63, 0x79, 0xa2, 0xf3, 0x9, 0x3f, 0x22, 0xe3, 0x2d, 0x7d, 0x23, 0x3e, 0x3b, 0xa2, 0xd1, 0xba, 0x7e, 0x77, 0x75, 0xf2, 0xf9, 0xe6, 0xfc, 0xec, 0xae, 0x50, 0xa3, 0xa2, 0x26, 0x11, 0x8a, 0xbd, 0xc9, 0xa7, 0x41, 0x51, 0x84, 0xc6, 0x31, 0x84, 0x1c, 0xca, 0x2e, 0x1f, 0x8a, 0x79, 0xed, 0x85, 0xd8, 0xac, 0x72, 0xa1, 0x48, 0xee, 0xd4, 0xb3, 0x76, 0xbf, 0x50, 0x9, 0x24, 0x66, 0x6a, 0x49, 0xb5, 0x81, 0x60, 0xf4, 0x39, 0x3c, 0x22, 0x27, 0x7c, 0x5d, 0x2d, 0x17, 0x15, 0x9c, 0x44, 0xdd, 0x10, 0xf8, 0xdc, 0x67, 0xc, 0xb2, 0xd5, 0xb2, 0x82, 0xe2, 0x8e, 0xc7, 0x6, 0x96, 0x24, 0xef, 0xca, 0x58, 0xe8, 0xb5, 0xf4, 0xf6, 0xda, 0x5e, 0x37, 0x3c, 0x18, 0x8f, 0xc8, 0x9, 0xfa, 0x21, 0xca, 0x15, 0xc8, 0x23, 0xc5, 0x62, 0xb0, 0x83, 0x77, 0xa6, 0x82, 0x48, 0x70, 0xcd, 0x78, 0x86, 0x1e, 0x86, 0x53, 0x54, 0xf1, 0x8d, 0x88, 0x90, 0xb, 0x4f, 0xf6, 0x39, 0xec, 0xe6, 0x6f, 0x19, 0xa0, 0xdf, 0xe4, 0xff, 0xe1, 0x92, 0x20, 0x29, 0x33, 0x2, 0x1a, 0x8c, 0x1f, 0x81, 0x23, 0x5, 0xb, 0xc4, 0x1f, 0xc8, 0x9c, 0x9b, 0x64, 0x9f, 0xfa, 0x65, 0xd5, 0xfd, 0x8c, 0x2e, 0xf5, 0x74, 0xf7, 0xb2, 0xe, 0xb6, 0x17, 0x93, 0x75, 0xb4, 0xb0, 0x8b, 0xad, 0x23, 0xbc, 0xae, 0xbd, 0x5c, 0x73, 0xb6, 0x31, 0x94, 0x52, 0x35, 0xa2, 0x7c, 0xb7, 0x92, 0x6b, 0x47, 0x6f, 0x47, 0x86, 0xd8, 0x21, 0x76, 0x5e, 0xbf, 0xe5, 0xe, 0x8a, 0x8d, 0xdb, 0xc4, 0xfd, 0x47, 0xf, 0x4c, 0x2f, 0x8e, 0x30, 0x7, 0xd8, 0x93, 0x2a, 0x8f, 0x30, 0xbd, 0xd8, 0x92, 0x5f, 0xac, 0x50, 0x82, 0x4, 0xb8, 0x32, 0x8c, 0x3c, 0x14, 0x21, 0x61, 0x8a, 0x28, 0xa7, 0xc, 0xe7, 0xbc, 0x77, 0x80, 0x1c, 0x81, 0xb0, 0xd9, 0x84, 0xa3, 0xa3, 0x18, 0x7f, 0xab, 0xc9, 0x1a, 0xb4, 0xcd, 0x53, 0x56, 0x1, 0xf0, 0x4d, 0x91, 0xbd, 0xb4, 0xae, 0x73, 0xcf, 0xfe, 0x41, 0xcb, 0x2a, 0x25, 0x58, 0xd9, 0xa4, 0xb6, 0x50, 0xc9, 0x84, 0x97, 0x2b, 0x95, 0x58, 0x9e, 0xc7, 0x14, 0x29, 0x5b, 0xb6, 0x6b, 0x48, 0xc0, 0x42, 0x59, 0xce, 0x5f, 0x5f, 0x48, 0xfc, 0xe7, 0x4c, 0x64, 0x1c, 0xad, 0xfb, 0xc0, 0x37, 0x6e, 0xf7, 0x55, 0x4f, 0xcc, 0x87, 0xa9, 0x4f, 0x69, 0x1f, 0xd2, 0xa7, 0x19, 0x8a, 0x5a, 0x8c, 0x4a, 0x55, 0x32, 0xac, 0xb9, 0xc2, 0x59, 0x85, 0xba, 0x8f, 0x9b, 0x63, 0x69, 0x60, 0x93, 0xbb, 0xbe, 0x78, 0xf7, 0x19, 0xe6, 0xae, 0x11, 0xf4, 0xac, 0x13, 0x5b, 0x9f, 0xc, 0xad, 0xaf, 0xb0, 0x72, 0x78, 0xac, 0x79, 0xd7, 0xe6, 0x3e, 0x28, 0x26, 0xbd, 0xef, 0x31, 0xf8, 0x4b, 0x68, 0xdb, 0xce, 0xea, 0xbf, 0xc9, 0xd9, 0xc3, 0xd1, 0x3a, 0x25, 0x4b, 0x9, 0x2b, 0x26, 0x32, 0x95, 0xac, 0x37, 0x34, 0xb0, 0x16, 0x1a, 0xb8, 0x7f, 0xc7, 0xb3, 0x2b, 0xe1, 0xd7, 0x9f, 0x2f, 0x2e, 0x46, 0x17, 0x3f, 0xef, 0xd0, 0xc2, 0x3f, 0x5f, 0xb4, 0xd5, 0xc3, 0x7f, 0x2f, 0x2b, 0xe0, 0xd8, 0xeb, 0xa6, 0x6, 0x6e, 0xa8, 0x4d, 0x9b, 0x79, 0xe8, 0xb6, 0x39, 0xed, 0x3e, 0xef, 0xdc, 0x46, 0x79, 0xcf, 0x33, 0xb1, 0xbd, 0xa4, 0xba, 0xe9, 0xf6, 0x5b, 0x47, 0xb4, 0xb1, 0x5e, 0xe1, 0xfc, 0xa, 0x47, 0xaf, 0x9d, 0xe3, 0x66, 0xf0, 0x25, 0x53, 0xc7, 0xc0, 0xe3, 0xa5, 0x60, 0x5c, 0x97, 0x4e, 0x4d, 0xe7, 0xb0, 0x9d, 0x4d, 0x7d, 0x64, 0x4a, 0xa3, 0xbf, 0xd0, 0x85, 0x79, 0x9e, 0x84, 0xe7, 0xc3, 0x59, 0x4a, 0x94, 0x64, 0x4a, 0x83, 0x1c, 0x10, 0x25, 0x8c, 0xd2, 0x47, 0xa6, 0x6b, 0x32, 0x3a, 0x43, 0xfe, 0xa4, 0x22, 0xe7, 0x11, 0x64, 0x94, 0x34, 0x39, 0x24, 0x37, 0xa0, 0xc9, 0x92, 0xce, 0xe1, 0x16, 0x3d, 0x91, 0x2b, 0x9c, 0x25, 0x54, 0xd2, 0xe7, 0xf0, 0x45, 0xdf, 0x16, 0x6e, 0x9b, 0x31, 0x48, 0x82, 0x3, 0xa2, 0x67, 0x5e, 0xa5, 0x0, 0xe7, 0x39, 0x68, 0xbc, 0x68, 0x9e, 0xc4, 0x17, 0x98, 0xbb, 0x1d, 0x1f, 0x1a, 0x92, 0x13, 0xee, 0x9c, 0x32, 0x2b, 0x1d, 0x4f, 0x38, 0xe3, 0x31, 0x8b, 0x5c, 0x61, 0x1c, 0xaa, 0xb, 0xd1, 0xde, 0x5c, 0xf8, 0x80, 0x6f, 0xd7, 0xc7, 0x59, 0x66, 0xd6, 0xa4, 0xe9, 0x1b, 0xcb, 0x8d, 0x9, 0x3e, 0xb0, 0x2c, 0x2a, 0x59, 0x3b, 0xfe, 0xa3, 0xec, 0xb7, 0x70, 0x99, 0xb4, 0xb9, 0x99, 0x81, 0x4, 0xbe, 0xb0, 0x48, 0xcc, 0x25, 0x5d, 0x2e, 0x58, 0x44, 0x93, 0x64, 0x3d, 0xe1, 0x40, 0x65, 0xc2, 0xc0, 0x4c, 0x1b, 0xe5, 0xe5, 0xe1, 0x18, 0xb2, 0xde, 0x2a, 0x92, 0x50, 0xa5, 0xc3, 0x14, 0xbf, 0x55, 0xa6, 0x1b, 0xc3, 0xf3, 0xa7, 0x40, 0x52, 0xa6, 0x54, 0x33, 0x9f, 0x32, 0x1f, 0xa, 0xbf, 0xd1, 0xb9, 0xff, 0x44, 0xdd, 0xe7, 0x50, 0x9b, 0x34, 0xf7, 0xbc, 0x9, 0xdb, 0x16, 0x94, 0x33, 0xcb, 0xe4, 0x86, 0xfd, 0x73, 0x8b, 0x3a, 0xf7, 0x8f, 0xc, 0x64, 0x13, 0xd4, 0xcd, 0x68, 0xa2, 0xb6, 0xa1, 0x2e, 0xe3, 0x1a, 0xe6, 0x20, 0xab, 0x4f, 0xcf, 0x84, 0x4c, 0x31, 0x8b, 0x95, 0xb9, 0xe1, 0x3f, 0xfe, 0xba, 0x2f, 0x2a, 0x9b, 0x2d, 0x77, 0x45, 0xe7, 0x30, 0x36, 0x1b, 0x6e, 0x97, 0x8e, 0x55, 0xb3, 0x91, 0x7, 0x64, 0x49, 0x15, 0xda, 0x44, 0xee, 0xb6, 0x2f, 0x95, 0x61, 0x65, 0x63, 0xdf, 0x91, 0x99, 0x14, 0x69, 0xdd, 0xfe, 0x9a, 0x70, 0xff, 0xc9, 0x6d, 0xf6, 0x9, 0xb, 0x30, 0xfe, 0xdc, 0xc1, 0xa2, 0x84, 0x77, 0x6a, 0x7c, 0x8b, 0x3e, 0x8d, 0xc2, 0xfc, 0x8d, 0x4f, 0xf, 0x27, 0xdc, 0x4a, 0xec, 0xe6, 0x41, 0xdc, 0xa7, 0x88, 0x34, 0x6e, 0x7b, 0x16, 0x9f, 0x25, 0x5a, 0x18, 0x9, 0x3e, 0xf, 0xd9, 0xcc, 0x31, 0x53, 0xc2, 0x9c, 0x19, 0xb0, 0x34, 0x72, 0xb5, 0x91, 0xc5, 0xd3, 0x2c, 0xd1, 0x6c, 0x99, 0x4, 0x11, 0x2, 0xbb, 0x54, 0xec, 0x9f, 0xdb, 0x4, 0x87, 0xa7, 0x7c, 0x61, 0xc7, 0x57, 0xb7, 0x7e, 0xe0, 0xe9, 0x5a, 0xc3, 0xde, 0xdf, 0x77, 0xb7, 0xea, 0x7c, 0x51, 0x50, 0x8f, 0x19, 0x8f, 0x44, 0x6a, 0x80, 0xd4, 0xcf, 0x8, 0xa6, 0xc8, 0x63, 0x89, 0x36, 0xf3, 0xc4, 0xc9, 0x91, 0x73, 0xae, 0xa1, 0xc9, 0x90, 0xdc, 0xa0, 0x2, 0xb2, 0xe, 0x19, 0x48, 0x7c, 0x95, 0xfe, 0x2c, 0xc1, 0x22, 0x4, 0xff, 0x4, 0x29, 0x88, 0x30, 0x4f, 0xe5, 0x28, 0xfd, 0x62, 0x53, 0xf6, 0x28, 0x2e, 0x7d, 0x89, 0xe8, 0x2c, 0xe4, 0x76, 0x2e, 0x3d, 0x68, 0xa5, 0x26, 0x9e, 0xda, 0x82, 0xd, 0xb4, 0xc2, 0x7f, 0x5d, 0xcc, 0x10, 0x4e, 0xcb, 0x8c, 0xb2, 0xc4, 0xd6, 0x4c, 0xc8, 0x27, 0x36, 0xf8, 0xde, 0x62, 0x9d, 0x4, 0xb4, 0x51, 0x14, 0x92, 0xbc, 0x14, 0xd6, 0xa1, 0xab, 0xfd, 0xe0, 0x34, 0x32, 0x31, 0x9b, 0xf0, 0x93, 0x8f, 0xd7, 0xe7, 0x27, 0x67, 0x7f, 0xbf, 0x3d, 0xff, 0xef, 0xd1, 0xcd, 0xf8, 0x66, 0x98, 0xbb, 0x0, 0x23, 0xb7, 0x77, 0x26, 0xcf, 0xf2, 0x8b, 0x18, 0x2a, 0x7c, 0x4c, 0x33, 0x9a, 0xf8, 0x30, 0xa6, 0x21, 0xf9, 0xbb, 0xc8, 0x70, 0x7b, 0x64, 0x86, 0x4b, 0x17, 0x3, 0x9c, 0x8c, 0xe4, 0x90, 0x27, 0xb3, 0xf1, 0xd5, 0xe9, 0x9a, 0x78, 0x9b, 0x9d, 0x84, 0xd2, 0xf6, 0xef, 0x3e, 0x73, 0xab, 0x21, 0xba, 0xe7, 0x6e, 0xd8, 0x3a, 0x28, 0xc3, 0x6f, 0xf9, 0x5c, 0x28, 0x9a, 0x3e, 0x87, 0xd0, 0xbe, 0x1b, 0xe, 0xda, 0x8, 0xed, 0xc7, 0x7f, 0xb2, 0x72, 0x15, 0x99, 0x26, 0xc9, 0xfd, 0x67, 0xf4, 0x35, 0x2c, 0x6c, 0xf5, 0x32, 0x82, 0x58, 0x41, 0x7d, 0x88, 0x26, 0x1a, 0x89, 0x3b, 0x1c, 0xe2, 0xb0, 0x45, 0x8b, 0x9e, 0x8b, 0x66, 0xbb, 0x1a, 0x60, 0x4e, 0x99, 0xd2, 0x2c, 0x6a, 0xb3, 0x5d, 0x7f, 0x6, 0x7d, 0x60, 0x7b, 0xb5, 0x4a, 0x71, 0xbf, 0x51, 0xb1, 0x6d, 0xd9, 0xa8, 0x6c, 0x97, 0x1d, 0xe1, 0xc6, 0x3a, 0x8d, 0x84, 0x33, 0x2a, 0x92, 0x71, 0xf6, 0x8f, 0xc, 0xf2, 0xb5, 0x37, 0x3a, 0x7b, 0xd, 0xbb, 0xc1, 0x4b, 0x30, 0xeb, 0x18, 0x2a, 0x85, 0x3d, 0xca, 0x9b, 0xee, 0xc, 0x2f, 0x1b, 0x56, 0x1c, 0x84, 0x1d, 0xbb, 0xed, 0xbc, 0x86, 0x68, 0x77, 0x5d, 0xc3, 0xe6, 0xb1, 0x3d, 0x1c, 0xd8, 0xfe, 0xa9, 0x21, 0xba, 0xdf, 0x42, 0xd8, 0xe, 0x7c, 0xb, 0xb5, 0x50, 0x2, 0x1c, 0xcf, 0xd8, 0x31, 0x9e, 0x33, 0xaa, 0x69, 0x49, 0x2, 0x44, 0x91, 0x30, 0x17, 0x67, 0x3f, 0x65, 0x4a, 0x93, 0x94, 0xea, 0x68, 0xe1, 0xbd, 0xd3, 0x82, 0x24, 0xf9, 0xfa, 0xba, 0x10, 0xe3, 0xfa, 0xff, 0xfc, 0x5f, 0x2f, 0x5, 0x25, 0xad, 0x19, 0xbd, 0x8b, 0x73, 0x68, 0x7d, 0xa2, 0x74, 0x19, 0x98, 0x74, 0xa1, 0xea, 0xf3, 0x86, 0xe6, 0x40, 0xa6, 0x14, 0x13, 0xf9, 0xf0, 0x3c, 0x2c, 0x2f, 0x64, 0x1e, 0x50, 0x44, 0x4c, 0x35, 0xc5, 0x63, 0xcd, 0x15, 0xa3, 0x28, 0xf0, 0xdf, 0x55, 0x59, 0xe3, 0x1d, 0x11, 0x72, 0xc2, 0x37, 0xf5, 0x71, 0xbf, 0xdf, 0xef, 0xc8, 0xc9, 0xd5, 0x48, 0x6d, 0xe8, 0x27, 0x55, 0x3d, 0x83, 0x7c, 0x38, 0x19, 0x7d, 0x3c, 0x3f, 0xbb, 0xbd, 0xba, 0x3e, 0x3f, 0xbd, 0xbc, 0x38, 0x1b, 0x8d, 0x47, 0x97, 0x17, 0x5e, 0x81, 0xf6, 0xf4, 0xc4, 0x2, 0xd0, 0x27, 0x63, 0xc2, 0x71, 0x61, 0x54, 0x54, 0x11, 0x3b, 0xbe, 0x3a, 0x55, 0xc4, 0x5f, 0x79, 0xb4, 0x2a, 0x82, 0xf, 0xc4, 0x82, 0xbf, 0xd5, 0x13, 0xce, 0xc1, 0x9e, 0x2f, 0x31, 0x1e, 0x49, 0x48, 0xd1, 0x7, 0xa6, 0x40, 0xe2, 0x5a, 0x64, 0x52, 0x41, 0x32, 0xb3, 0x72, 0x94, 0x75, 0x7a, 0xb4, 0xa3, 0xae, 0xbf, 0xdf, 0xbc, 0x70, 0x2d, 0x32, 0x42, 0x67, 0x46, 0xe9, 0x5, 0x1a, 0x2d, 0xdc, 0x4b, 0x77, 0x47, 0x7a, 0x1c, 0x18, 0x4b, 0xa8, 0x21, 0xba, 0x67, 0x9, 0xd8, 0xbe, 0x7d, 0x96, 0xf0, 0x35, 0x35, 0xb9, 0xa, 0x0, 0xd7, 0x2c, 0xc3, 0xe7, 0x3a, 0x88, 0x79, 0x24, 0xd4, 0xab, 0xb5, 0xd2, 0x90, 0x1e, 0x31, 0x3e, 0x13, 0x7b, 0xa8, 0x72, 0x37, 0xf8, 0xd4, 0x88, 0xcf, 0x84, 0xd3, 0xd6, 0x14, 0x31, 0x3d, 0x18, 0x8e, 0x85, 0xd0, 0x3d, 0xc5, 0x58, 0x6e, 0x83, 0x41, 0x78, 0xe3, 0xe, 0xf5, 0x2c, 0xef, 0xad, 0xfb, 0x40, 0x52, 0x22, 0xf7, 0xfb, 0x82, 0x90, 0xe7, 0x38, 0xfe, 0x73, 0xe7, 0x73, 0x7b, 0x2c, 0xb5, 0x53, 0xfb, 0xc4, 0xae, 0xb5, 0x6, 0xe9, 0x52, 0x48, 0x9a, 0xf8, 0x3, 0xc0, 0xe6, 0x5, 0x57, 0xe8, 0xf3, 0x10, 0x16, 0x5c, 0x81, 0xdc, 0x7e, 0xc5, 0x3d, 0x72, 0xc5, 0x15, 0xfc, 0xa7, 0xf6, 0x39, 0x6c, 0xe, 0x7e, 0x15, 0x2a, 0x2c, 0x3e, 0x7b, 0x76, 0x50, 0x58, 0x80, 0x3c, 0xb6, 0xe9, 0x67, 0xe6, 0x99, 0x5d, 0x66, 0x36, 0x73, 0x7a, 0x92, 0xe4, 0x45, 0xcf, 0x1b, 0xed, 0x53, 0xe5, 0xd7, 0x74, 0x7e, 0x3d, 0x96, 0xc9, 0xfd, 0xbe, 0xd6, 0xe3, 0x77, 0x7d, 0x42, 0xda, 0xdd, 0x43, 0x3f, 0x5c, 0x8a, 0x1f, 0xf0, 0xe4, 0x6e, 0xc8, 0x78, 0x94, 0x64, 0x31, 0x58, 0x13, 0xd0, 0x2e, 0x19, 0xf6, 0xa7, 0x35, 0x71, 0xb, 0xb2, 0xb0, 0x57, 0x9, 0xe3, 0xe4, 0xe2, 0xe4, 0xd3, 0xf9, 0xcd, 0xd5, 0xc9, 0xe9, 0xf9, 0xed, 0xcd, 0xf8, 0x64, 0x7c, 0x7e, 0x7b, 0x76, 0xfe, 0xf1, 0x7c, 0x7c, 0x7e, 0xe6, 0x52, 0xe2, 0x5b, 0xaf, 0xc, 0x4d, 0xdc, 0xbb, 0xe2, 0xe1, 0x84, 0xdf, 0xb8, 0x84, 0xb9, 0xee, 0xa7, 0x5b, 0x6b, 0x98, 0xb3, 0xae, 0x80, 0x32, 0x83, 0xa0, 0x84, 0x99, 0x8b, 0xc4, 0x5f, 0x2c, 0xe0, 0x83, 0x3f, 0xcf, 0xcd, 0xfd, 0xb8, 0x58, 0xb, 0x42, 0x1e, 0x16, 0xc0, 0x31, 0x2d, 0xf, 0x55, 0xa1, 0xd3, 0x70, 0xdc, 0x6c, 0x45, 0x2f, 0x32, 0xcd, 0x34, 0xa1, 0x4a, 0x89, 0x88, 0xa1, 0x94, 0x1e, 0x53, 0x4d, 0x7d, 0x70, 0x81, 0x7f, 0x64, 0xbd, 0x35, 0xf0, 0xf6, 0x29, 0x5f, 0x7b, 0x2a, 0x44, 0x2, 0x94, 0x3f, 0xce, 0x70, 0xb1, 0x1b, 0xe5, 0xdb, 0x1d, 0x58, 0x5e, 0xbb, 0x3, 0x87, 0x7c, 0x5e, 0xed, 0x99, 0xa1, 0xaf, 0x5b, 0x1f, 0x3e, 0x81, 0xb, 0x41, 0x2f, 0x1e, 0x35, 0x50, 0x73, 0x53, 0x24, 0x38, 0xda, 0x20, 0x64, 0x40, 0x75, 0x9, 0x4a, 0x64, 0xb2, 0xa, 0xea, 0x1b, 0xe8, 0x5b, 0xfa, 0x92, 0x94, 0x68, 0xb1, 0x24, 0x9, 0xac, 0x20, 0x21, 0xc0, 0xb5, 0xcf, 0x47, 0xc4, 0x38, 0x19, 0x3b, 0xc1, 0xc5, 0x65, 0x38, 0x56, 0x5b, 0x5f, 0x1d, 0x5e, 0x3b, 0xe1, 0x9, 0xbb, 0xaf, 0xf3, 0x89, 0x53, 0x3, 0x1b, 0x8f, 0xf1, 0x8f, 0xc, 0x32, 0x50, 0x3, 0x2, 0x3a, 0x1a, 0x92, 0x22, 0x21, 0x34, 0xd2, 0xca, 0x76, 0xad, 0x28, 0x8f, 0xa7, 0xe2, 0xb, 0xbe, 0xd3, 0x19, 0x5e, 0xd4, 0x84, 0x33, 0x25, 0x92, 0x32, 0x7, 0xb, 0x2f, 0xf5, 0xe4, 0xa2, 0x43, 0x84, 0xef, 0x70, 0x88, 0x31, 0x99, 0xf9, 0x3d, 0x53, 0x48, 0x4, 0x9f, 0xa3, 0x7, 0x2d, 0x7c, 0xa1, 0x91, 0x4e, 0xd6, 0x44, 0x70, 0x28, 0x64, 0x87, 0x6c, 0xce, 0xf7, 0x58, 0xf9, 0x52, 0x9d, 0xe7, 0x84, 0x1b, 0x14, 0xf7, 0xcc, 0x10, 0x5b, 0x7, 0xd5, 0xf0, 0xda, 0x8f, 0xf5, 0x6c, 0xc7, 0xa9, 0x4f, 0x17, 0x49, 0x8b, 0x2e, 0xfd, 0x6d, 0xc5, 0xd3, 0x33, 0x5c, 0x24, 0x53, 0xc8, 0xf7, 0xf7, 0x9e, 0x12, 0x6a, 0xf1, 0x34, 0xb6, 0xd5, 0x16, 0xdd, 0x78, 0x63, 0xe7, 0xb7, 0xe8, 0x6, 0xc5, 0xfd, 0x16, 0xc5, 0x76, 0x18, 0x11, 0x5a, 0x9b, 0x36, 0xc8, 0x17, 0xf1, 0xa2, 0x6a, 0x41, 0xc9, 0x3, 0xd0, 0xfb, 0x53, 0xc1, 0x95, 0xd9, 0x2e, 0x3c, 0xda, 0x78, 0x77, 0x4d, 0x38, 0xa9, 0x99, 0x8b, 0x42, 0xea, 0x1, 0x34, 0xf8, 0xe3, 0x9f, 0xce, 0xcd, 0xd8, 0x39, 0xc, 0xa3, 0xb4, 0x46, 0xb9, 0x8d, 0x20, 0xc9, 0x68, 0x92, 0xac, 0x8f, 0x22, 0xff, 0x1e, 0x3d, 0xe1, 0x96, 0xb3, 0x16, 0x93, 0x27, 0x4b, 0xa0, 0xb1, 0xf5, 0x43, 0x93, 0x22, 0x9b, 0x2f, 0x30, 0x9a, 0x1c, 0xa4, 0x23, 0xc, 0x86, 0xe4, 0xcc, 0x2e, 0x58, 0x65, 0xeb, 0xbd, 0x9a, 0x79, 0x98, 0x70, 0x2b, 0xda, 0x2c, 0x25, 0x20, 0x1, 0xa, 0xfb, 0x38, 0x42, 0x9b, 0xff, 0xd1, 0x83, 0x64, 0x1a, 0x48, 0x94, 0xf, 0x6d, 0x48, 0x6e, 0xce, 0x7e, 0x55, 0x44, 0x2d, 0x44, 0x96, 0xc4, 0xb6, 0x94, 0x13, 0x1e, 0x9d, 0x2c, 0x80, 0x4f, 0xf8, 0xc, 0x74, 0xb4, 0x30, 0x6f, 0xcf, 0xc5, 0xa6, 0x88, 0x2e, 0xe9, 0x94, 0x25, 0xb6, 0x76, 0x94, 0xe0, 0x2e, 0xf, 0xc4, 0xb1, 0xcb, 0x56, 0x85, 0xb1, 0xb7, 0xd9, 0xf2, 0xf0, 0xa4, 0xcb, 0x7d, 0x0, 0xfb, 0x58, 0x1, 0x95, 0xd1, 0xe2, 0x88, 0x6a, 0x2d, 0xd9, 0x34, 0xd3, 0xfb, 0x59, 0x18, 0x6e, 0xf0, 0xe1, 0x93, 0xf0, 0x6c, 0x40, 0xf1, 0x48, 0xa4, 0x4b, 0x9, 0xb, 0xe0, 0x8a, 0xad, 0xa0, 0xc6, 0xe4, 0x65, 0xdf, 0x4a, 0xf2, 0xb7, 0xee, 0x32, 0x32, 0x54, 0xdf, 0xd4, 0x79, 0xf4, 0xae, 0x23, 0xba, 0x7, 0x70, 0x6c, 0x1d, 0x0, 0xf0, 0xd6, 0xbb, 0x6d, 0xdf, 0x93, 0x89, 0x1d, 0xbb, 0x6d, 0xcf, 0x73, 0x68, 0x77, 0xe4, 0x52, 0xd4, 0xc6, 0x7c, 0x5a, 0x81, 0x42, 0x22, 0xbd, 0x66, 0x71, 0x49, 0xcc, 0x4a, 0xd2, 0x52, 0x4b, 0x8d, 0xa6, 0xf2, 0xe6, 0xce, 0x6f, 0xb7, 0xa, 0xbd, 0xfd, 0x4e, 0xc3, 0xd6, 0x81, 0x9d, 0xd6, 0xf1, 0x33, 0xce, 0xda, 0x8c, 0x65, 0x61, 0x19, 0x7d, 0xad, 0x40, 0xb3, 0x80, 0x22, 0x7d, 0xa4, 0xd9, 0x77, 0x16, 0x69, 0xd6, 0x79, 0xa0, 0xed, 0x3, 0xcd, 0xbe, 0xe3, 0x63, 0x94, 0x3e, 0xd0, 0xac, 0xf, 0x34, 0xeb, 0x3, 0xcd, 0xfa, 0x40, 0xb3, 0xc7, 0x5, 0x9a, 0x75, 0x9e, 0xb7, 0xf5, 0x71, 0x66, 0x7, 0x75, 0x2c, 0xd2, 0xad, 0x38, 0xb3, 0x2d, 0x32, 0xfb, 0x81, 0x6, 0x9a, 0x75, 0x7e, 0xaf, 0xf6, 0x71, 0x66, 0xdf, 0xa2, 0x47, 0xf4, 0x4b, 0xf0, 0xea, 0xaf, 0x11, 0x67, 0xd6, 0xf9, 0xed, 0xd3, 0x87, 0x99, 0x7d, 0xa3, 0x3b, 0xa8, 0x85, 0xa, 0xd0, 0x87, 0x99, 0xbd, 0x14, 0x9f, 0xef, 0xe3, 0xcc, 0xfa, 0x38, 0xb3, 0x6d, 0x71, 0x66, 0x9d, 0x67, 0x9, 0x7d, 0x98, 0xd9, 0xf7, 0xcb, 0x12, 0xfa, 0x30, 0xb3, 0x42, 0x57, 0x1, 0xea, 0xb7, 0x1c, 0xe2, 0xe6, 0xc5, 0xd4, 0xf6, 0x39, 0x90, 0xd9, 0x28, 0x83, 0x63, 0xb3, 0xd5, 0x92, 0x15, 0x53, 0xc, 0x9d, 0x50, 0xd6, 0x98, 0xaa, 0x56, 0xb, 0x92, 0xe0, 0xf1, 0x8d, 0x4f, 0xb1, 0xa, 0x85, 0xfb, 0xb9, 0xc1, 0x63, 0x9b, 0x50, 0x36, 0x6a, 0xe7, 0xf6, 0x56, 0xff, 0xe6, 0xce, 0x63, 0x51, 0x3d, 0xd9, 0x3d, 0x1c, 0x61, 0x3b, 0x8c, 0x53, 0xdd, 0x6d, 0x7, 0x1f, 0x95, 0xb9, 0xff, 0x44, 0xbf, 0x14, 0xed, 0xee, 0xf9, 0x62, 0xd7, 0x3e, 0x64, 0x8e, 0x2c, 0xbd, 0x3d, 0xff, 0xdb, 0x3c, 0x43, 0xb9, 0x7, 0x9e, 0x5b, 0x73, 0x18, 0x27, 0xcd, 0x6b, 0xff, 0x40, 0x8e, 0x19, 0x6a, 0xe9, 0xa9, 0xc, 0xfd, 0xb7, 0x1c, 0xf9, 0xf0, 0xf6, 0x1, 0x56, 0x60, 0x5e, 0x68, 0xbd, 0x54, 0xef, 0x8f, 0x8f, 0x63, 0x11, 0xa9, 0xa1, 0xf, 0x8d, 0x1c, 0x32, 0x71, 0x6c, 0x60, 0xf1, 0xc8, 0x1d, 0x3d, 0xf8, 0x83, 0x6c, 0xb5, 0xe6, 0x9a, 0x7e, 0xe9, 0xd8, 0x39, 0xc2, 0xbe, 0xa7, 0xfd, 0x3b, 0xd9, 0xcc, 0x51, 0xc, 0x4b, 0x9, 0x91, 0x11, 0x21, 0xf6, 0x2c, 0x44, 0x76, 0x55, 0x2c, 0x5d, 0x4a, 0x1e, 0x59, 0x14, 0x9c, 0x98, 0xc9, 0x5e, 0x2f, 0x21, 0x94, 0xde, 0x76, 0x47, 0xee, 0xe1, 0x28, 0xac, 0x52, 0xaf, 0x1a, 0xbd, 0x29, 0x67, 0xe5, 0x7a, 0xd5, 0xe6, 0x79, 0x72, 0x84, 0x4e, 0x9, 0xf6, 0x52, 0x5a, 0x29, 0x93, 0xd5, 0x10, 0x8f, 0x12, 0x4a, 0x95, 0x15, 0xc8, 0x4c, 0x81, 0x72, 0xf5, 0x7e, 0xc2, 0x8f, 0x48, 0xb5, 0x1a, 0x38, 0x53, 0x85, 0xa2, 0x5c, 0xc5, 0x4a, 0xe0, 0xd4, 0xd6, 0x2, 0x37, 0xa3, 0xc9, 0x6b, 0xa4, 0xa0, 0xc3, 0x54, 0xae, 0x4f, 0x24, 0x6b, 0xd4, 0x7d, 0xd4, 0x60, 0xc2, 0x49, 0xa8, 0x19, 0xce, 0x85, 0xb6, 0xd5, 0xb4, 0xf2, 0x1a, 0x8f, 0x19, 0xd7, 0x2c, 0x21, 0x58, 0xaa, 0x25, 0x14, 0x3, 0x1f, 0x6e, 0xa1, 0xc6, 0x9f, 0xe0, 0xf8, 0x92, 0xe1, 0x46, 0xd7, 0xb, 0x87, 0x64, 0x29, 0xe8, 0x85, 0x88, 0xb7, 0x14, 0x3a, 0xaf, 0xed, 0xae, 0x48, 0xb8, 0xe1, 0x32, 0x6a, 0x1, 0xaa, 0xc0, 0x85, 0x93, 0xf5, 0xa0, 0x52, 0x1d, 0xdd, 0x4d, 0xb3, 0x2f, 0x65, 0xb6, 0x95, 0xce, 0xda, 0x8e, 0x51, 0x43, 0x33, 0x53, 0x92, 0x49, 0x78, 0x6f, 0x26, 0xe5, 0xc7, 0x6a, 0xb1, 0x72, 0x3b, 0xa9, 0x9, 0xcc, 0x34, 0x39, 0xda, 0xfd, 0xe6, 0x52, 0x7, 0xb8, 0x88, 0xac, 0xd3, 0x86, 0xc6, 0xba, 0x66, 0x4d, 0xbd, 0x84, 0x49, 0xfe, 0x20, 0x24, 0x49, 0x4, 0x9f, 0x1f, 0x5, 0x82, 0xc3, 0xb2, 0xc3, 0x5, 0x51, 0x58, 0x85, 0x8c, 0xfb, 0xcc, 0xfc, 0x2e, 0xe6, 0x8c, 0x61, 0x1d, 0x36, 0xcc, 0x8b, 0x1f, 0x51, 0x1e, 0x41, 0xe2, 0x62, 0x86, 0x70, 0x98, 0x93, 0x50, 0xb, 0xf2, 0xd6, 0x3e, 0x35, 0x79, 0x63, 0x9d, 0x88, 0x5, 0x79, 0x6b, 0xd8, 0xe3, 0x5b, 0xd3, 0x5f, 0xd1, 0x89, 0xe5, 0xed, 0x35, 0x96, 0xcd, 0xf1, 0xfb, 0x6b, 0x4c, 0xd5, 0xfd, 0x2f, 0x40, 0xa5, 0x9e, 0x2, 0xd5, 0x6f, 0x87, 0x3e, 0x6b, 0x7f, 0xbe, 0xb5, 0xac, 0x5f, 0xb2, 0xed, 0x21, 0x64, 0xda, 0x2f, 0xd1, 0x41, 0x23, 0xd3, 0x21, 0xe3, 0xf3, 0x64, 0xfd, 0x12, 0x35, 0xe3, 0xfd, 0x4e, 0x2e, 0x54, 0xd6, 0xf5, 0xd3, 0x9b, 0x43, 0xc, 0x51, 0xc2, 0x39, 0x12, 0x4a, 0x58, 0x26, 0x34, 0xca, 0x4f, 0x1c, 0x39, 0x3c, 0x80, 0x24, 0x57, 0xb5, 0xe5, 0x90, 0xad, 0x3f, 0xe, 0x53, 0x64, 0xa, 0xda, 0x20, 0xb4, 0x1, 0xb2, 0xd8, 0xf4, 0x32, 0xe1, 0x4a, 0xcb, 0x2c, 0xd2, 0x99, 0xb4, 0x5a, 0xf9, 0x83, 0x90, 0xf7, 0xe4, 0x1, 0x92, 0xc4, 0xaa, 0xf2, 0x1b, 0x75, 0x41, 0x59, 0xf3, 0x41, 0x45, 0xe9, 0xed, 0x9d, 0x97, 0x63, 0x4b, 0xd4, 0xf6, 0xe2, 0x2b, 0xb6, 0x7d, 0xc5, 0xd7, 0x6f, 0xaa, 0x88, 0x7d, 0x87, 0x7c, 0x1d, 0x4b, 0x6b, 0xf3, 0x6b, 0x79, 0x3a, 0xee, 0x25, 0xfb, 0x48, 0x50, 0x25, 0x25, 0x7b, 0x57, 0xf8, 0xac, 0x82, 0x20, 0x48, 0x13, 0x7c, 0xb6, 0x73, 0xb2, 0xf, 0x52, 0xd5, 0x14, 0x8b, 0x8b, 0x83, 0xd0, 0xdb, 0xa4, 0x9f, 0x1f, 0xb, 0xaa, 0x13, 0xd5, 0x46, 0x58, 0xf6, 0x45, 0x45, 0x7d, 0xdf, 0x6, 0x71, 0xff, 0x32, 0x34, 0x77, 0xe6, 0x35, 0x5b, 0x58, 0xa, 0x22, 0xab, 0xde, 0x88, 0xf7, 0xb0, 0x4d, 0xa9, 0xa0, 0x28, 0x41, 0x21, 0xab, 0x77, 0xc1, 0xbe, 0xda, 0x7, 0x62, 0x3b, 0x6, 0x2b, 0x24, 0x79, 0x7b, 0xf, 0xb0, 0x74, 0xac, 0xf3, 0x6d, 0xb8, 0xec, 0x66, 0x1, 0x85, 0x87, 0x20, 0x52, 0x4d, 0xa1, 0xb0, 0x4f, 0x59, 0x9a, 0x42, 0xcc, 0xa8, 0x86, 0x64, 0x4d, 0x7e, 0xf8, 0x11, 0x95, 0x80, 0xb7, 0x7f, 0x30, 0xc3, 0x45, 0xde, 0x92, 0x59, 0x42, 0xe7, 0xef, 0x6, 0x86, 0x15, 0x7e, 0x48, 0xe8, 0xdc, 0x8c, 0x79, 0xc2, 0xfd, 0xc5, 0xf7, 0xf5, 0x82, 0x42, 0xde, 0x31, 0xc5, 0xd3, 0x74, 0xca, 0x63, 0x91, 0xe2, 0xa8, 0x8b, 0x81, 0xc0, 0xb6, 0xf, 0x12, 0x3b, 0x37, 0xf9, 0xf0, 0x7d, 0xf3, 0xfe, 0x72, 0x29, 0xd2, 0xd, 0xb1, 0x40, 0xbc, 0x97, 0xf9, 0x6, 0x24, 0xe3, 0x9, 0x28, 0x55, 0x19, 0xbb, 0xa1, 0xda, 0x4c, 0x80, 0x1f, 0xfc, 0x70, 0xc2, 0xdf, 0xe2, 0x2c, 0xdf, 0x2e, 0xbc, 0x7c, 0xa0, 0xaa, 0xe4, 0x87, 0x2b, 0x48, 0xaa, 0xc4, 0x59, 0xce, 0xef, 0xde, 0xf8, 0x58, 0xa5, 0x17, 0xbe, 0xaf, 0xfb, 0x72, 0x9e, 0x42, 0x4f, 0xb6, 0x84, 0x94, 0x6, 0x81, 0xe8, 0x25, 0xa5, 0x8b, 0xe1, 0x93, 0xc4, 0x8b, 0xd2, 0xb6, 0x7d, 0x75, 0xf1, 0xa2, 0xf4, 0xf6, 0xce, 0x8b, 0x17, 0x25, 0x6a, 0x7b, 0xf1, 0x2, 0x5b, 0x2f, 0x5e, 0x74, 0x43, 0xbc, 0x28, 0xad, 0xcd, 0x83, 0x10, 0x2f, 0xf6, 0xad, 0x3b, 0xe7, 0xca, 0x13, 0x5, 0x11, 0x23, 0x94, 0x86, 0xeb, 0x98, 0x90, 0x11, 0xc, 0x14, 0xd, 0x72, 0xc6, 0x68, 0x56, 0xe2, 0x1d, 0x39, 0x63, 0x1f, 0xd8, 0x75, 0x1e, 0x99, 0x8e, 0xeb, 0xad, 0x14, 0x55, 0xbe, 0xf9, 0x40, 0x55, 0xa8, 0x87, 0xb7, 0x60, 0x9, 0xd4, 0x89, 0x10, 0x8f, 0x93, 0x3, 0x86, 0x13, 0x7e, 0xc9, 0x23, 0xd8, 0xe0, 0x74, 0x39, 0x37, 0x36, 0x54, 0x3a, 0xf9, 0xc6, 0xb2, 0xd1, 0x22, 0xe3, 0x2c, 0x17, 0xad, 0xf5, 0xf2, 0xc4, 0xb, 0x49, 0x13, 0x8e, 0xdf, 0x7b, 0xa9, 0xcc, 0x75, 0xbf, 0x4b, 0x5c, 0xab, 0x11, 0x14, 0x9e, 0x28, 0x27, 0x74, 0xd3, 0x86, 0x50, 0xd9, 0x3a, 0xaf, 0xce, 0xe6, 0x2b, 0xef, 0xef, 0x3c, 0xa3, 0xaf, 0xd0, 0xdb, 0xb3, 0x7a, 0x6c, 0x3d, 0xab, 0xef, 0x6, 0xab, 0xaf, 0xac, 0xce, 0xc3, 0x60, 0xf6, 0xe8, 0x66, 0x70, 0x64, 0xc3, 0x57, 0xd4, 0x9e, 0x11, 0xd9, 0x7e, 0xa4, 0x97, 0xcb, 0x70, 0x90, 0x6f, 0x18, 0xa4, 0xe5, 0xe9, 0x36, 0xc0, 0x92, 0xb9, 0x1a, 0xef, 0x85, 0x38, 0x6d, 0xf7, 0xae, 0xaa, 0x40, 0xf0, 0x6a, 0x62, 0x80, 0xf5, 0xb1, 0x7a, 0x9a, 0x76, 0x56, 0x1e, 0x7f, 0xc0, 0x6d, 0x3f, 0x11, 0xaf, 0x5, 0xdf, 0x75, 0x5f, 0xa1, 0xfb, 0x20, 0x5e, 0x47, 0x75, 0xf, 0xe5, 0xd8, 0xbe, 0xe, 0x94, 0xf7, 0x48, 0x5e, 0x1b, 0xff, 0x5e, 0x59, 0xa2, 0x9d, 0xc5, 0xf3, 0xe3, 0x3f, 0xfd, 0x87, 0x1c, 0xb5, 0x8f, 0xb1, 0xf1, 0x69, 0xb5, 0x36, 0x65, 0xcf, 0xed, 0x19, 0x9a, 0x8b, 0x70, 0x1d, 0x14, 0x3b, 0x3, 0xd3, 0xba, 0x14, 0x76, 0xa3, 0x5, 0x1e, 0x40, 0xfe, 0xc, 0x3a, 0xb8, 0x44, 0xe7, 0x6a, 0xa, 0x9f, 0x9, 0x84, 0x52, 0xd3, 0x9f, 0xd3, 0x88, 0xcc, 0xcd, 0x1f, 0x5, 0x9f, 0x1f, 0x2d, 0x85, 0x43, 0x42, 0xc, 0xa3, 0xb5, 0x67, 0x95, 0xae, 0x3c, 0xb9, 0x85, 0x62, 0xf4, 0x83, 0xe1, 0xf0, 0x50, 0xee, 0x6f, 0x12, 0xa, 0x50, 0x23, 0x19, 0x3e, 0x14, 0x33, 0x59, 0x87, 0x6c, 0x9d, 0x85, 0xdb, 0x97, 0x99, 0xc6, 0xf0, 0xcb, 0x4c, 0x47, 0x22, 0x5, 0xf2, 0x43, 0xd5, 0x62, 0xb8, 0xa0, 0x2a, 0x3f, 0xa9, 0x7d, 0xd7, 0x26, 0x95, 0xda, 0xc6, 0xc, 0x76, 0x1e, 0x81, 0xb7, 0x52, 0xde, 0xa3, 0x30, 0xb6, 0xc3, 0xf0, 0x2c, 0xcb, 0x37, 0x7d, 0x37, 0xe8, 0x91, 0x19, 0xdf, 0x59, 0xf, 0x3c, 0x3f, 0x87, 0xca, 0x38, 0xc6, 0xf0, 0x8d, 0x66, 0x2e, 0x2, 0xbd, 0x94, 0x4f, 0x83, 0xca, 0xb9, 0x3f, 0xa5, 0x4a, 0xa8, 0x36, 0x3f, 0xc9, 0xec, 0x5, 0xe3, 0x29, 0xf6, 0x1c, 0xa8, 0x43, 0x95, 0x91, 0xc1, 0x92, 0x1d, 0xe3, 0x1d, 0x39, 0x0, 0xb2, 0x31, 0xe4, 0x6, 0x7b, 0x6c, 0x4e, 0x90, 0x90, 0x40, 0xe4, 0xc5, 0xbc, 0xd9, 0xea, 0x92, 0xab, 0xb5, 0x1f, 0xdb, 0xa5, 0x85, 0xc7, 0x3d, 0x46, 0x17, 0x0, 0xd5, 0x6, 0xb5, 0x1f, 0x3b, 0x67, 0x99, 0x77, 0xd5, 0xa1, 0x6e, 0x1c, 0xd1, 0x94, 0x0, 0xb7, 0x3b, 0x13, 0x91, 0x8, 0x3e, 0xbf, 0x12, 0x49, 0xd2, 0xde, 0x79, 0xd1, 0xe6, 0x1, 0xcc, 0x33, 0x37, 0xec, 0x44, 0x59, 0x5c, 0xfd, 0x98, 0xd2, 0x8f, 0xeb, 0x81, 0xf5, 0xe5, 0x41, 0xe, 0x68, 0xbd, 0xaa, 0xfc, 0x4, 0x19, 0x9d, 0x21, 0x67, 0x84, 0xaa, 0x90, 0x1c, 0x1a, 0x7f, 0x6, 0x1e, 0x89, 0x18, 0xdc, 0x8a, 0x62, 0xca, 0x66, 0x86, 0xc0, 0x9e, 0xe9, 0xd4, 0x76, 0xec, 0xd8, 0xa6, 0x67, 0xc5, 0xf6, 0xb1, 0x82, 0x91, 0xd1, 0xea, 0x59, 0x81, 0xe, 0x99, 0xf1, 0x5b, 0x16, 0x93, 0x34, 0xc3, 0xe4, 0x39, 0xca, 0xd6, 0xe8, 0xb7, 0x17, 0x5d, 0x26, 0x9, 0xab, 0xde, 0xe4, 0x96, 0x5c, 0xec, 0x30, 0xa5, 0x6b, 0xcf, 0xab, 0x83, 0xa2, 0xa6, 0x59, 0x8a, 0x29, 0x85, 0xf5, 0x3, 0xa0, 0x73, 0x27, 0xee, 0x6e, 0x35, 0xb0, 0x3a, 0xdd, 0x4c, 0x48, 0xc8, 0xcf, 0x4f, 0x27, 0x7c, 0x9e, 0x51, 0x49, 0xb9, 0xc6, 0xa0, 0x15, 0xec, 0xdf, 0x6b, 0x8f, 0x29, 0xbd, 0x47, 0x6d, 0x8f, 0x58, 0xe7, 0x34, 0x2b, 0xdc, 0xe6, 0xb3, 0xe5, 0xbb, 0xf5, 0x5e, 0x4d, 0x80, 0x69, 0x97, 0xed, 0x7a, 0x9a, 0xf0, 0xe2, 0x33, 0xa5, 0x79, 0xec, 0x82, 0x3, 0xe9, 0x33, 0x8a, 0x8c, 0x83, 0x56, 0x6a, 0xfb, 0x8d, 0xa6, 0xb2, 0xe6, 0x50, 0x11, 0x53, 0x3c, 0xfa, 0x74, 0xda, 0x35, 0x12, 0x5e, 0xe3, 0xc1, 0xbc, 0xb3, 0xaa, 0x72, 0x72, 0xb7, 0xd1, 0xf1, 0x89, 0x75, 0xf9, 0xc3, 0xb7, 0x42, 0xd1, 0xda, 0x8a, 0x51, 0xa6, 0x46, 0xdd, 0x8d, 0x20, 0xf8, 0x5, 0xc2, 0x17, 0x66, 0xbf, 0xa2, 0x5e, 0xd8, 0xd4, 0xf, 0x81, 0x10, 0x9b, 0x93, 0x9, 0x57, 0x77, 0x60, 0xc1, 0x13, 0xee, 0x4e, 0x9c, 0x97, 0x20, 0x53, 0xa6, 0x75, 0x6e, 0x73, 0xc8, 0xf, 0x16, 0x46, 0x67, 0x98, 0x3, 0x2e, 0x61, 0x91, 0x26, 0x4b, 0x91, 0xb0, 0x68, 0xdd, 0x24, 0xce, 0xd5, 0xcf, 0x4d, 0xe7, 0x65, 0xb9, 0x7a, 0xb2, 0x7b, 0x41, 0xe, 0xdb, 0xa1, 0xb, 0x72, 0x55, 0x7e, 0x1b, 0x3, 0xd7, 0x66, 0x6d, 0xcb, 0x3c, 0x12, 0x35, 0x98, 0x63, 0xc9, 0xb5, 0x23, 0xd1, 0x45, 0x30, 0xb2, 0xfc, 0x66, 0xe7, 0x71, 0x39, 0x5, 0xf4, 0x98, 0x61, 0x7c, 0x6e, 0xd6, 0xa0, 0xe3, 0xcb, 0x99, 0x2, 0xf9, 0x56, 0x4d, 0xb8, 0x78, 0xe0, 0xbe, 0xd2, 0x13, 0x19, 0x69, 0xb, 0xff, 0x78, 0x68, 0x86, 0xa1, 0x5a, 0x34, 0x15, 0x65, 0x83, 0x9b, 0x7b, 0x3a, 0xe4, 0x68, 0xc1, 0xe9, 0x1c, 0x10, 0x95, 0x4d, 0xff, 0x80, 0xc8, 0x67, 0x44, 0x23, 0x32, 0x4b, 0x30, 0x29, 0x7d, 0xba, 0x14, 0xca, 0x9d, 0xf4, 0xc5, 0xb7, 0x12, 0x32, 0x5, 0xb7, 0x76, 0x43, 0x5a, 0x27, 0x9a, 0xf8, 0xd6, 0xef, 0xd3, 0xdb, 0xcd, 0x7d, 0xfa, 0x15, 0x3f, 0x4c, 0x87, 0x2c, 0x12, 0xf5, 0xdb, 0xfc, 0x30, 0x4c, 0x12, 0xc7, 0xd6, 0xb7, 0x77, 0xf, 0x8f, 0x35, 0xe4, 0xe8, 0xa7, 0xf8, 0x54, 0x9d, 0x7d, 0xc2, 0x31, 0xfc, 0x92, 0xcb, 0x70, 0xc5, 0x9a, 0xdc, 0x8a, 0x79, 0x9d, 0x16, 0x3b, 0x60, 0x46, 0xc, 0x75, 0x3c, 0x61, 0x85, 0xd9, 0xb2, 0xfc, 0x79, 0xaf, 0x44, 0xf7, 0x66, 0x55, 0x54, 0x51, 0x6, 0x58, 0x93, 0xa3, 0x24, 0xc7, 0xe2, 0x8e, 0x89, 0x41, 0x9b, 0xe5, 0x8f, 0xa6, 0x5e, 0x1a, 0xdd, 0x73, 0xf1, 0x90, 0x40, 0x3c, 0x47, 0x39, 0xc7, 0xc7, 0x6a, 0xe4, 0xe, 0x68, 0x82, 0x48, 0x8c, 0xa3, 0x3d, 0x3d, 0xb9, 0x38, 0x3d, 0xff, 0xe8, 0x2a, 0x82, 0x64, 0xca, 0x46, 0xe4, 0x96, 0x6, 0xa7, 0xd8, 0x9c, 0xd3, 0x84, 0x30, 0x35, 0xe1, 0x31, 0x24, 0x6c, 0x85, 0x49, 0x51, 0x56, 0x8c, 0x92, 0x3b, 0x7b, 0xdb, 0xad, 0x23, 0xcb, 0x30, 0x59, 0xb7, 0x33, 0xf3, 0xf3, 0x51, 0x8f, 0xcf, 0xff, 0xe9, 0xd2, 0x42, 0x67, 0x72, 0x46, 0x23, 0x1f, 0x4e, 0xcc, 0xe8, 0x84, 0x27, 0xd4, 0x8, 0x5f, 0x73, 0x38, 0x62, 0x31, 0x13, 0x29, 0xd5, 0x2c, 0x22, 0x29, 0x18, 0x31, 0x89, 0xa9, 0x54, 0x91, 0x1f, 0x22, 0xc1, 0x35, 0x7c, 0xd1, 0x25, 0x8a, 0x6, 0x4, 0xbe, 0x44, 0x60, 0xed, 0x62, 0x3, 0x42, 0xa7, 0x42, 0x6a, 0x47, 0xa4, 0x6a, 0xb4, 0x99, 0x34, 0x7f, 0xda, 0xce, 0x33, 0xdb, 0x66, 0xf2, 0x7b, 0xa6, 0x8b, 0xed, 0xd0, 0x99, 0xee, 0x77, 0xcf, 0x6b, 0x9a, 0x57, 0xf9, 0xa1, 0xf0, 0x1c, 0xa7, 0x2, 0xb6, 0xe6, 0x3a, 0x37, 0x0, 0xe4, 0xce, 0x6e, 0xe1, 0x52, 0x28, 0xcb, 0xa9, 0xb7, 0x4d, 0xdc, 0x39, 0xc1, 0x2a, 0x24, 0x9d, 0x48, 0x12, 0xf1, 0xa0, 0x9c, 0x96, 0xea, 0x2, 0x35, 0xd, 0xa3, 0xf0, 0xda, 0x27, 0x9e, 0x4, 0x4e, 0xd7, 0x85, 0x4c, 0xd3, 0xc7, 0xe1, 0x38, 0x86, 0xc5, 0xc7, 0xb9, 0x4d, 0x3a, 0x2e, 0x16, 0x7, 0xc0, 0xf2, 0x3f, 0x56, 0x89, 0x6f, 0xf6, 0xcf, 0xdc, 0x4a, 0xe7, 0x4f, 0xe5, 0x35, 0xdd, 0x55, 0x24, 0x6d, 0x1e, 0x40, 0x8f, 0xa5, 0xd8, 0xbe, 0xe7, 0xf3, 0xc0, 0x3d, 0xd4, 0x22, 0x3f, 0xbc, 0xa2, 0x6c, 0x15, 0x0, 0xa0, 0x13, 0x83, 0xe9, 0x14, 0xbc, 0x37, 0x6f, 0xbd, 0x3, 0x1, 0xf8, 0x19, 0x65, 0xed, 0x55, 0xa, 0x7, 0xee, 0xd5, 0x30, 0xc5, 0xf, 0x94, 0x25, 0x7b, 0x0, 0xbb, 0xb3, 0x69, 0xbf, 0x26, 0xaa, 0x5b, 0xa, 0xf, 0x15, 0xd2, 0x73, 0xea, 0x7b, 0x3c, 0xc7, 0xd6, 0xe3, 0xf9, 0xa3, 0xf1, 0x1c, 0xf7, 0x7b, 0x27, 0x6, 0xd2, 0x6d, 0x2c, 0xcf, 0xf7, 0xdc, 0x81, 0x0, 0x79, 0xb0, 0x54, 0x3c, 0x15, 0xcd, 0x43, 0xd0, 0x79, 0x6b, 0x40, 0x2f, 0x38, 0x8c, 0xbf, 0x18, 0xa4, 0x6f, 0xa5, 0xf2, 0x40, 0x40, 0xbd, 0x91, 0xfe, 0x1e, 0xd6, 0xb1, 0xf5, 0xb0, 0xfe, 0x38, 0x58, 0x7f, 0x80, 0xb7, 0xb2, 0x60, 0xaa, 0xac, 0x39, 0x3d, 0xed, 0x11, 0xbe, 0x79, 0x3, 0x1e, 0x8, 0xc6, 0x3b, 0xef, 0x90, 0xb6, 0xce, 0x89, 0x57, 0x22, 0xa9, 0x31, 0xfc, 0x87, 0x33, 0x7f, 0x5b, 0xc1, 0xa7, 0xd6, 0xdc, 0x5f, 0xd4, 0xfc, 0xa, 0x4e, 0x83, 0xca, 0x16, 0xe8, 0xa9, 0x38, 0xa9, 0x10, 0x21, 0xbd, 0x4c, 0xdf, 0x68, 0xb5, 0xae, 0x25, 0xa7, 0xf3, 0xd0, 0x5d, 0x4b, 0x75, 0xf, 0xd8, 0xd8, 0x7a, 0x1b, 0xf5, 0xf7, 0xeb, 0xe1, 0xd7, 0x15, 0x4c, 0x7c, 0x42, 0xa, 0xb3, 0x1c, 0x13, 0x1f, 0x19, 0x6a, 0x5b, 0x8c, 0x7e, 0x29, 0xbb, 0x6e, 0xbb, 0x4f, 0x43, 0x68, 0x2e, 0x84, 0x84, 0x8e, 0x30, 0x7b, 0xd8, 0x66, 0x94, 0xca, 0xba, 0xe1, 0x88, 0xb5, 0x4f, 0x5a, 0xd6, 0x27, 0x2d, 0x3b, 0xc8, 0xa4, 0x65, 0xcf, 0x1e, 0x30, 0xdc, 0x24, 0x5f, 0xd4, 0xee, 0xed, 0xee, 0xb, 0x18, 0xb5, 0x64, 0xf7, 0x12, 0x6, 0xb6, 0xef, 0x3a, 0x28, 0xb7, 0xb5, 0x4e, 0x38, 0x5e, 0x0, 0x46, 0x7c, 0x6e, 0x9a, 0xfb, 0x2c, 0x1b, 0xea, 0xc8, 0x78, 0x3a, 0xa4, 0xf, 0xd6, 0x6f, 0xba, 0x3, 0x51, 0x3, 0x9f, 0x90, 0xb9, 0xac, 0xe8, 0xff, 0xf5, 0xa8, 0x14, 0x66, 0xcf, 0x2b, 0xf2, 0xf4, 0xc9, 0xca, 0x76, 0x24, 0x29, 0x79, 0xc9, 0xc4, 0x5a, 0xcd, 0x47, 0x68, 0x35, 0x6b, 0xa6, 0xf3, 0xac, 0xb4, 0x9e, 0xec, 0x9e, 0x95, 0x62, 0xeb, 0x59, 0x69, 0xcf, 0x4a, 0x5f, 0x3c, 0x35, 0xd7, 0x1, 0xb2, 0x52, 0x91, 0xac, 0xe0, 0x88, 0xaa, 0x23, 0xab, 0xd, 0xe1, 0x24, 0x3d, 0xd1, 0xd5, 0xcd, 0x75, 0xd4, 0x65, 0x87, 0x8, 0x4f, 0xe3, 0x81, 0x9c, 0x9e, 0x35, 0xd2, 0xdf, 0xe3, 0x3b, 0xb6, 0xfe, 0xf4, 0xec, 0x9, 0x4e, 0x6e, 0x7c, 0xc6, 0x64, 0x6a, 0x33, 0xef, 0xa0, 0x4d, 0x4, 0x3a, 0x62, 0x2b, 0xee, 0x16, 0xce, 0x37, 0xed, 0xc2, 0x3, 0x1, 0x7c, 0xd, 0x32, 0x65, 0x7c, 0x9f, 0xb2, 0x7a, 0x63, 0xff, 0x44, 0x4d, 0x7e, 0x39, 0x7f, 0x9, 0x23, 0x37, 0x31, 0xf4, 0xb2, 0x24, 0x7e, 0xe7, 0x8a, 0x55, 0x31, 0x50, 0xb8, 0x41, 0xe7, 0xf1, 0xef, 0x2a, 0x56, 0xbf, 0x73, 0xe1, 0x2d, 0x7e, 0x4b, 0xba, 0x24, 0x7d, 0xe5, 0xe4, 0xc2, 0x22, 0xc6, 0x50, 0x17, 0x7f, 0x37, 0xea, 0x3e, 0x4c, 0xf, 0xc9, 0x49, 0x4e, 0x62, 0x5c, 0xd0, 0xa1, 0xe8, 0xda, 0x5a, 0x5a, 0xe9, 0x84, 0x7, 0xb, 0xa2, 0xd5, 0xa1, 0x9a, 0xd8, 0xc8, 0xf6, 0x89, 0xe8, 0x3c, 0x7, 0xd9, 0x4e, 0x7a, 0xcf, 0x3c, 0xb0, 0xf5, 0x27, 0x79, 0x7, 0x8e, 0xce, 0xdb, 0x57, 0xf8, 0x81, 0x0, 0xf3, 0x13, 0xf3, 0xe5, 0xe6, 0xa0, 0xfc, 0xe8, 0xc4, 0xb9, 0xaf, 0x67, 0xda, 0xfa, 0xfe, 0xf2, 0xe3, 0xbe, 0xde, 0x29, 0xd0, 0xb6, 0x75, 0xd1, 0x79, 0x1e, 0xb5, 0x8d, 0xf0, 0x9e, 0x43, 0x61, 0xeb, 0xcd, 0x57, 0xbd, 0xf9, 0xea, 0x15, 0xd2, 0xcd, 0x1e, 0x1c, 0xdb, 0x7c, 0x8e, 0xcc, 0xb3, 0x1b, 0x99, 0x57, 0x9f, 0x27, 0x5, 0xed, 0xb, 0x32, 0xd4, 0xc6, 0x14, 0xae, 0xd5, 0xe1, 0x74, 0x1f, 0xfa, 0x1b, 0xc9, 0xef, 0x19, 0x0, 0xb6, 0xde, 0xbe, 0xd5, 0xe3, 0xff, 0x8b, 0x27, 0xa9, 0xad, 0xee, 0xbd, 0x6e, 0x72, 0x81, 0xf5, 0xd1, 0xde, 0x71, 0xf9, 0x4d, 0xe1, 0xaa, 0x65, 0xb8, 0xb7, 0x46, 0x26, 0x45, 0x1e, 0x16, 0x80, 0x39, 0x50, 0xd6, 0x25, 0xd7, 0xba, 0xa2, 0x5b, 0x78, 0x21, 0xb9, 0x9e, 0xa6, 0xea, 0xbe, 0x49, 0xe3, 0xf9, 0x20, 0xe4, 0x6, 0xd4, 0x33, 0x50, 0x4e, 0xdf, 0xb1, 0x7e, 0xe4, 0xae, 0x24, 0x39, 0x87, 0x7, 0x72, 0x77, 0x72, 0x3a, 0x1e, 0xfd, 0x36, 0x1a, 0xff, 0xfd, 0x76, 0x7c, 0x72, 0xf3, 0xeb, 0xed, 0xe9, 0xe5, 0xa7, 0xab, 0x8f, 0xe7, 0xe3, 0xf3, 0xb3, 0x3b, 0x2, 0x2b, 0xc3, 0x87, 0xa6, 0x60, 0x54, 0x84, 0x7, 0x69, 0xf4, 0x15, 0xee, 0xd3, 0x24, 0x85, 0xfe, 0x17, 0x4c, 0x69, 0x21, 0xd7, 0x13, 0x4e, 0xd1, 0xcd, 0xcd, 0x74, 0x18, 0xae, 0xe1, 0x89, 0x49, 0x24, 0x1, 0x2d, 0x62, 0x3e, 0x99, 0x8c, 0xbf, 0x3a, 0x24, 0x1f, 0x28, 0x4b, 0x9c, 0xcb, 0x5f, 0x41, 0x51, 0x71, 0xce, 0x1, 0xf9, 0x69, 0xb, 0xe6, 0x90, 0xe1, 0x2, 0x9d, 0xf0, 0x40, 0x92, 0x15, 0x4d, 0x58, 0x4c, 0xe2, 0xc, 0x5d, 0xe2, 0xaa, 0xde, 0x6, 0x83, 0xe0, 0xfe, 0x68, 0xa9, 0xe, 0xbe, 0x80, 0x3, 0x82, 0x39, 0x7a, 0x57, 0x20, 0x8d, 0x9a, 0x67, 0x2e, 0xa1, 0x5, 0xb1, 0x52, 0x5a, 0x65, 0x8f, 0x94, 0x5, 0x9d, 0xe7, 0x73, 0x4d, 0xc4, 0xf7, 0x5c, 0xe, 0xdb, 0x61, 0x18, 0xe2, 0x3a, 0x84, 0xdf, 0x8d, 0x71, 0xf8, 0x9d, 0x45, 0xef, 0x8c, 0xeb, 0xb6, 0x51, 0x3c, 0xa7, 0xe6, 0xe6, 0xcd, 0x12, 0xee, 0xe8, 0x57, 0x4d, 0x56, 0x79, 0xd5, 0x73, 0x23, 0x65, 0xe3, 0x59, 0x56, 0x56, 0xcc, 0x14, 0x5e, 0xa8, 0x81, 0x8f, 0xe8, 0xea, 0xec, 0x5e, 0x51, 0x9e, 0x6e, 0xae, 0x9, 0x6d, 0xb6, 0xbc, 0xbb, 0xf3, 0x40, 0xb3, 0x85, 0xee, 0x1e, 0x63, 0xb0, 0x1d, 0x6, 0xc6, 0xf4, 0x45, 0xff, 0x9f, 0xf, 0x70, 0xf6, 0xca, 0xf2, 0xb1, 0x35, 0x1a, 0xbe, 0x41, 0x4e, 0x5c, 0x4a, 0x61, 0xb6, 0x71, 0xd5, 0x5b, 0x13, 0x25, 0x26, 0xc, 0x27, 0x69, 0x3c, 0xf5, 0x6c, 0x23, 0x3, 0x7e, 0x38, 0x19, 0x7d, 0xdc, 0x53, 0x0, 0x74, 0x9, 0x4, 0x5f, 0x48, 0x0, 0x24, 0x5c, 0x4c, 0x78, 0x27, 0x4, 0x40, 0xfb, 0x75, 0x3a, 0xf, 0xca, 0x5b, 0x29, 0xef, 0x61, 0x19, 0xdb, 0x61, 0xc0, 0x72, 0xb7, 0x45, 0x3f, 0x97, 0xb6, 0xa3, 0xa3, 0x72, 0xdf, 0xfe, 0x39, 0x3a, 0x1a, 0xc2, 0xab, 0xc, 0x4, 0x15, 0x8a, 0xb4, 0xd4, 0x1, 0x33, 0x4b, 0xc0, 0x6a, 0xf0, 0x56, 0xa, 0xdc, 0x5a, 0x10, 0xab, 0xe6, 0x78, 0xd2, 0xfb, 0x9a, 0x20, 0x78, 0x1b, 0x54, 0xcb, 0x33, 0xa1, 0x16, 0x2a, 0x55, 0xde, 0x85, 0x5f, 0x6f, 0x1d, 0xd8, 0xdd, 0x11, 0xc6, 0x35, 0xc8, 0x15, 0x4d, 0x6a, 0x52, 0xb5, 0x52, 0x75, 0x3f, 0x98, 0x70, 0xed, 0xc, 0xb, 0x79, 0x59, 0x1b, 0xeb, 0x7b, 0xe2, 0x12, 0xdd, 0x8b, 0x4c, 0xf, 0xc9, 0x19, 0xf8, 0x73, 0x40, 0xc1, 0xc9, 0x35, 0x68, 0xb9, 0xbe, 0xc2, 0x94, 0xc6, 0xce, 0x60, 0x90, 0xd2, 0x35, 0xd1, 0x92, 0xcd, 0xd, 0xf6, 0xe6, 0x41, 0x8d, 0x13, 0x8e, 0x95, 0x34, 0x45, 0x25, 0xa7, 0xac, 0x2d, 0xd0, 0xb9, 0xcd, 0x0, 0x81, 0x29, 0xd7, 0x4b, 0x9c, 0x66, 0x3c, 0xfa, 0x74, 0x7e, 0x76, 0x7b, 0xf9, 0x79, 0xec, 0x99, 0x8d, 0x3f, 0xd4, 0xdc, 0xc2, 0x6e, 0x26, 0xdc, 0xf1, 0x9b, 0x21, 0x39, 0x75, 0x81, 0x8d, 0x8d, 0x69, 0x55, 0x6c, 0x7f, 0x66, 0x62, 0x37, 0xf9, 0xc, 0x37, 0xd8, 0xbb, 0x20, 0x8a, 0xe9, 0xc, 0x31, 0x5f, 0xd, 0x26, 0x9c, 0xb9, 0x42, 0x96, 0x48, 0x8c, 0xd, 0x6d, 0xbc, 0x39, 0xfb, 0xd5, 0xa7, 0xa3, 0xf6, 0xb1, 0xc0, 0xd5, 0x34, 0xbe, 0x1b, 0x33, 0x30, 0x2e, 0x4, 0xe, 0x63, 0x99, 0x1, 0xc1, 0x35, 0x2d, 0x86, 0xf3, 0xdd, 0xc5, 0xa0, 0xcd, 0xd7, 0xbe, 0x73, 0x16, 0xd1, 0x10, 0x76, 0x8, 0x52, 0x21, 0x5b, 0xa, 0xb9, 0xe1, 0x41, 0xae, 0x9c, 0x1b, 0x92, 0xe9, 0x68, 0xa, 0x13, 0x9e, 0xa9, 0xfc, 0x72, 0xc9, 0xb3, 0x6e, 0x1, 0xd1, 0xfd, 0x52, 0x30, 0x8e, 0xe1, 0x10, 0x73, 0x9, 0xca, 0x25, 0xe6, 0xad, 0x49, 0xb9, 0x5b, 0x5b, 0xd3, 0xc3, 0xc, 0x3f, 0x66, 0x11, 0xfa, 0x58, 0x3d, 0x2c, 0x40, 0x2f, 0x40, 0x96, 0x87, 0xba, 0xa0, 0x8a, 0x4c, 0xb, 0x85, 0x11, 0xa, 0x5c, 0xbd, 0xcd, 0xc9, 0x41, 0xc3, 0x87, 0x3a, 0x0, 0x86, 0xba, 0x95, 0xf6, 0x9e, 0xa5, 0x62, 0xeb, 0x59, 0x6a, 0x7e, 0xe5, 0xc9, 0x79, 0x52, 0x3a, 0xca, 0x54, 0x9f, 0xe2, 0xc2, 0xff, 0xea, 0xaa, 0xce, 0x13, 0xed, 0xe0, 0x2e, 0xc5, 0x79, 0x6f, 0x6, 0x6f, 0x70, 0x46, 0x3e, 0x0, 0xd8, 0xde, 0x4a, 0x7b, 0xf, 0xdb, 0xd8, 0x7a, 0xd8, 0xce, 0xaf, 0x3c, 0xd9, 0x37, 0xbf, 0x63, 0xb0, 0x2d, 0xa3, 0x5, 0x5b, 0x41, 0x7c, 0xe4, 0xc1, 0x46, 0xb5, 0xb5, 0x83, 0x7f, 0x64, 0x4a, 0x9f, 0xb8, 0xa7, 0x3d, 0x31, 0xbb, 0xcd, 0xe1, 0x9, 0x53, 0x9a, 0xf8, 0x97, 0xe6, 0xf8, 0xf7, 0x34, 0xb3, 0x78, 0x33, 0x29, 0x9d, 0x7, 0xa0, 0x66, 0xf2, 0x7b, 0xc, 0xc2, 0x76, 0x18, 0x18, 0xb4, 0xa4, 0x73, 0xb8, 0x61, 0xff, 0xdc, 0x42, 0xcd, 0x53, 0xcc, 0xd7, 0x46, 0x8d, 0x9f, 0x83, 0xac, 0x3e, 0x9d, 0xd7, 0x61, 0x63, 0x5c, 0xff, 0xc7, 0x5f, 0xf7, 0xa5, 0x97, 0xc3, 0x17, 0x7d, 0x45, 0xe7, 0x50, 0x5b, 0xf, 0xf0, 0x2b, 0xd4, 0x8e, 0x7b, 0xec, 0x39, 0xc4, 0x37, 0x71, 0x3c, 0x30, 0xa5, 0x3a, 0x5a, 0x1c, 0x5, 0x6c, 0xdb, 0xb, 0x89, 0x7f, 0x32, 0xcf, 0x5e, 0x86, 0x47, 0x43, 0x82, 0x40, 0x6a, 0x11, 0x57, 0xcc, 0x8, 0xf6, 0x4e, 0xa, 0xbd, 0x37, 0xe3, 0x69, 0xa5, 0xc3, 0x83, 0x0, 0xd1, 0xa, 0xcd, 0x3d, 0x72, 0x62, 0x7b, 0x36, 0x47, 0x3d, 0xb4, 0x7a, 0x39, 0x33, 0x95, 0xd, 0xe7, 0xa8, 0xac, 0xa9, 0x6e, 0x63, 0x70, 0x65, 0x5c, 0x66, 0xc1, 0x10, 0x73, 0x2f, 0x51, 0xdf, 0xa, 0x60, 0x57, 0xbf, 0x1c, 0x7c, 0x71, 0x23, 0xd4, 0x1d, 0x81, 0xf7, 0xaf, 0x8d, 0xa8, 0xc7, 0x7f, 0xfe, 0x21, 0xa6, 0x8f, 0x28, 0x27, 0x5f, 0x6, 0x96, 0x62, 0xf6, 0xd5, 0xba, 0x7a, 0xf2, 0xd, 0xdb, 0x62, 0x5b, 0xb5, 0xf5, 0xf2, 0xb, 0x3a, 0xf, 0xb6, 0xf5, 0x64, 0xf7, 0x78, 0x8b, 0xed, 0x7b, 0xc3, 0x5b, 0xdc, 0x52, 0x3b, 0x6, 0x85, 0xb, 0x85, 0xfc, 0x21, 0xa6, 0x84, 0xbd, 0x46, 0xac, 0xe8, 0x33, 0xe2, 0x8c, 0xef, 0xa0, 0x45, 0x9, 0xe2, 0xa, 0x4a, 0x94, 0xea, 0xf, 0xb7, 0x87, 0x84, 0x9a, 0xae, 0x3a, 0x8f, 0x7, 0x35, 0x34, 0xf7, 0x60, 0x80, 0xad, 0x7, 0x83, 0xcd, 0x41, 0xfd, 0x6f, 0x31, 0x25, 0xa3, 0x33, 0x82, 0x13, 0xef, 0xe2, 0x82, 0x5d, 0x41, 0xde, 0xd1, 0x59, 0x30, 0x7e, 0x4f, 0x3d, 0x62, 0x74, 0x63, 0x5c, 0x1d, 0x32, 0x2e, 0xd6, 0x6c, 0xb6, 0x8e, 0x19, 0x15, 0xb7, 0x89, 0x5d, 0xc7, 0x4a, 0x8b, 0x65, 0xfb, 0x7c, 0x4e, 0x5a, 0x2c, 0x37, 0x20, 0x55, 0x2c, 0xd5, 0x5e, 0x2, 0xd6, 0x66, 0x27, 0x7, 0x0, 0xa6, 0x55, 0x92, 0x7b, 0x2c, 0xc5, 0xd6, 0x63, 0xe9, 0x57, 0x17, 0xac, 0xe, 0xd, 0x29, 0xab, 0x3b, 0xa9, 0x63, 0x40, 0xe9, 0x3c, 0xae, 0x8e, 0x62, 0x58, 0x26, 0x62, 0x9d, 0x2, 0xd7, 0xc7, 0x7f, 0xe6, 0x7f, 0xf, 0x15, 0x48, 0x6, 0xca, 0xac, 0xdb, 0x7f, 0xed, 0x91, 0x5, 0xf, 0x65, 0xce, 0xbc, 0x17, 0x42, 0x55, 0xc9, 0xbb, 0xab, 0x70, 0xc5, 0xf0, 0x5a, 0xa6, 0x55, 0xf1, 0x27, 0xfb, 0xca, 0x21, 0x39, 0xa5, 0xbc, 0xe8, 0xcd, 0x66, 0xa3, 0x8c, 0xd1, 0x57, 0x8c, 0xa4, 0xa0, 0x69, 0x4c, 0x35, 0xf5, 0x5e, 0x4d, 0xe5, 0x57, 0x3d, 0x40, 0x92, 0xc, 0x27, 0xfc, 0xfc, 0xcb, 0x12, 0x24, 0x33, 0x3f, 0xd2, 0xc4, 0xe5, 0xdd, 0x3b, 0xb9, 0x1a, 0x91, 0x94, 0xcd, 0x17, 0xb6, 0xa6, 0x36, 0x9b, 0xb1, 0x88, 0x62, 0x7a, 0xfb, 0x68, 0x41, 0xf9, 0x1c, 0x88, 0x90, 0x36, 0x51, 0x45, 0x2a, 0x56, 0x10, 0xdb, 0x53, 0xa0, 0x59, 0xa6, 0x33, 0xcc, 0xc5, 0x9e, 0x0, 0x55, 0x30, 0x9c, 0xf0, 0x33, 0x58, 0x4a, 0x88, 0x30, 0x8b, 0x5, 0xb9, 0x86, 0x65, 0x42, 0x23, 0xeb, 0x10, 0x70, 0x77, 0x3, 0xfa, 0x77, 0x74, 0xa, 0x38, 0xb, 0xc4, 0x9c, 0xda, 0xf1, 0xfe, 0x66, 0xb3, 0xfd, 0xdd, 0x35, 0x9d, 0x1f, 0xdd, 0x80, 0xbf, 0x3b, 0x7f, 0xbc, 0xfb, 0x6c, 0xa2, 0x86, 0xe8, 0x9e, 0x51, 0x60, 0x3b, 0x8c, 0xb3, 0xa2, 0xda, 0x8d, 0xbe, 0x3, 0xee, 0xcf, 0xd8, 0x6c, 0x6, 0xb8, 0x8d, 0x5d, 0x16, 0x4b, 0xe5, 0x77, 0xa1, 0xa2, 0x69, 0x48, 0x48, 0xa6, 0x2c, 0x2a, 0x1d, 0xd3, 0xe5, 0x32, 0x61, 0x91, 0xb3, 0x4d, 0xd9, 0x8d, 0x84, 0xe, 0x26, 0x5a, 0xcc, 0xad, 0xe7, 0xde, 0x74, 0xed, 0x7d, 0x3c, 0xe8, 0x84, 0xab, 0x5, 0x95, 0x10, 0x3b, 0x4, 0xc0, 0x83, 0xd7, 0xe1, 0x84, 0x5f, 0x66, 0x78, 0x78, 0x40, 0x93, 0xa4, 0xb0, 0xcf, 0x6d, 0x8a, 0x1, 0x77, 0xe7, 0x80, 0x8, 0xe, 0x3e, 0x9f, 0x40, 0xc, 0x58, 0x2f, 0x1f, 0xd3, 0x9b, 0x6d, 0x83, 0x9d, 0x81, 0xf5, 0x67, 0x9c, 0x70, 0x9, 0x11, 0xb0, 0x95, 0x79, 0x57, 0xd1, 0x15, 0xa6, 0x70, 0x14, 0x4c, 0x79, 0x8c, 0xd7, 0x34, 0x55, 0xf7, 0xf8, 0xce, 0x70, 0x48, 0x8d, 0xbe, 0x30, 0x13, 0x7e, 0xf7, 0xdb, 0xf9, 0xf5, 0xcd, 0xe8, 0xf2, 0x62, 0x74, 0xf1, 0xf3, 0xed, 0x4f, 0xe7, 0xbf, 0x9c, 0xfc, 0x36, 0xba, 0xbc, 0xbe, 0x3d, 0xf9, 0x3c, 0xbe, 0xbc, 0xfd, 0x7c, 0xf5, 0xf3, 0xf5, 0xc9, 0xd9, 0xf9, 0x9d, 0x9f, 0x27, 0x33, 0xc6, 0x29, 0x98, 0xc1, 0xa, 0xd9, 0x7, 0x5d, 0x6f, 0x30, 0xca, 0x1a, 0x2c, 0x39, 0x0, 0x56, 0xb9, 0x85, 0x3f, 0x36, 0x59, 0x74, 0xaf, 0xb, 0xa6, 0xdb, 0x1a, 0x8e, 0xf8, 0x83, 0xcd, 0x28, 0xae, 0xd0, 0xac, 0xfb, 0xce, 0x15, 0x69, 0x99, 0xb3, 0x15, 0xf0, 0x1a, 0x26, 0xf9, 0xea, 0x5c, 0xce, 0x11, 0x7c, 0xeb, 0xd6, 0xf4, 0x9d, 0x33, 0x44, 0xbb, 0xab, 0xde, 0x28, 0x5b, 0x65, 0x84, 0x8d, 0xac, 0xef, 0xe7, 0x43, 0x64, 0x7d, 0x75, 0x44, 0xf7, 0xac, 0xf, 0xdb, 0x61, 0xb0, 0xbe, 0xed, 0xfc, 0xae, 0xdb, 0xc6, 0xe0, 0x56, 0x48, 0x55, 0xe0, 0x93, 0xfb, 0x9c, 0xe0, 0x2b, 0xcf, 0xbd, 0x8b, 0x7c, 0xd6, 0x79, 0xdf, 0xe7, 0x5e, 0x50, 0xe4, 0xb2, 0x18, 0x62, 0xc2, 0x89, 0x8b, 0x9e, 0x9c, 0x52, 0xac, 0x7c, 0x50, 0x83, 0x52, 0x36, 0x83, 0xf5, 0xeb, 0x62, 0x95, 0x75, 0x54, 0x35, 0x83, 0xaa, 0x62, 0x91, 0x6a, 0x4, 0x23, 0xf3, 0x44, 0xe1, 0xde, 0xce, 0xe3, 0x50, 0x85, 0xde, 0x1e, 0x82, 0xb0, 0x1d, 0x6, 0x4, 0xf5, 0x9e, 0x5a, 0x75, 0x93, 0xd8, 0xfe, 0x28, 0xff, 0x49, 0x28, 0x5f, 0x59, 0xe0, 0x1e, 0xd3, 0x86, 0xe4, 0xb3, 0x2d, 0x63, 0x56, 0x45, 0x35, 0xf8, 0x42, 0x23, 0x5d, 0xd4, 0x4c, 0x48, 0x4a, 0x75, 0xb4, 0xf8, 0x36, 0xa3, 0xc4, 0xb, 0xf8, 0xbf, 0xcd, 0x1a, 0x54, 0xfa, 0x7d, 0x9a, 0xb1, 0x24, 0x7e, 0x84, 0x53, 0x83, 0xca, 0xa3, 0xa, 0xb, 0xbd, 0x7d, 0x5, 0x46, 0xb1, 0x4d, 0x70, 0x6d, 0x63, 0xba, 0xf1, 0xcf, 0x1e, 0x90, 0xf4, 0xba, 0x49, 0x72, 0xcf, 0x38, 0xb0, 0x1d, 0x6, 0xe3, 0xe8, 0xcd, 0x36, 0xdf, 0xb7, 0xd9, 0x66, 0x13, 0x79, 0x77, 0x1d, 0xd1, 0x98, 0xbb, 0xc8, 0xe8, 0xcc, 0xa1, 0xa5, 0x8b, 0xe3, 0xc2, 0x22, 0x2, 0xbe, 0x14, 0x4d, 0x21, 0x5, 0x22, 0xc8, 0x90, 0xe9, 0xcd, 0xff, 0x1b, 0x23, 0x75, 0x69, 0x6a, 0xcb, 0xa, 0x50, 0x1e, 0x1f, 0xb, 0x69, 0x4b, 0x64, 0xcc, 0x27, 0xdc, 0xf5, 0xf9, 0x1a, 0x73, 0x73, 0x28, 0x7c, 0xf0, 0x18, 0xb, 0x34, 0x50, 0x1b, 0x77, 0xf2, 0x18, 0xbb, 0x50, 0xf1, 0x79, 0x92, 0xc0, 0xa, 0x12, 0xbb, 0x71, 0x36, 0x98, 0xa5, 0x8d, 0xc3, 0x4f, 0x96, 0x24, 0x53, 0x20, 0x15, 0x89, 0x21, 0x62, 0x31, 0xd8, 0xcf, 0x67, 0xab, 0xd2, 0x69, 0x96, 0xc2, 0x84, 0x6b, 0x61, 0x2e, 0x89, 0x34, 0x65, 0xca, 0x16, 0x1e, 0x2a, 0xf2, 0x5b, 0x72, 0xbd, 0xf9, 0x36, 0x1b, 0xec, 0x18, 0x65, 0x76, 0xdb, 0x7, 0x29, 0xa8, 0x7c, 0xd8, 0xf2, 0x56, 0x4d, 0xf8, 0x9d, 0x42, 0x4, 0xbe, 0xc3, 0x2d, 0x17, 0xea, 0x5d, 0xe4, 0xdb, 0xd, 0xf, 0x3a, 0x63, 0x8c, 0xdd, 0xf7, 0x1d, 0x6c, 0x18, 0xb3, 0x9c, 0xc3, 0x5, 0x93, 0xf9, 0x16, 0x1e, 0x4e, 0xf8, 0xa9, 0x7b, 0xbf, 0xe9, 0xaf, 0x34, 0x1f, 0x18, 0x16, 0x69, 0x2e, 0xac, 0x20, 0x59, 0x13, 0xc3, 0x5c, 0xb8, 0x62, 0x2b, 0xc0, 0x28, 0x72, 0x9, 0x33, 0x21, 0x61, 0xe0, 0x3, 0xd2, 0xad, 0xc4, 0x60, 0x6d, 0x54, 0x98, 0x16, 0x20, 0xc2, 0x7a, 0xc6, 0x13, 0x1e, 0xd1, 0x68, 0x1, 0x31, 0x59, 0xd1, 0x24, 0x83, 0x21, 0x19, 0xb9, 0x20, 0x7b, 0x4a, 0x22, 0xaa, 0xc0, 0x6, 0xd4, 0xdf, 0x25, 0x54, 0xe9, 0x5b, 0x7b, 0xea, 0x84, 0xa9, 0xc, 0x5c, 0x94, 0xbe, 0xf5, 0xb6, 0x24, 0x6b, 0x91, 0x39, 0x67, 0x4b, 0x17, 0x57, 0x9e, 0xd1, 0xc4, 0x0, 0x53, 0x81, 0x4e, 0x3f, 0x81, 0x58, 0x17, 0x84, 0x7d, 0x1d, 0xd, 0xf8, 0x4c, 0x52, 0xc6, 0xe9, 0x1c, 0x46, 0x7c, 0x26, 0x5a, 0x1a, 0xeb, 0xda, 0xc8, 0x3c, 0x3f, 0x43, 0xc9, 0xee, 0x55, 0x58, 0xec, 0x5d, 0x17, 0x7d, 0xb6, 0x52, 0xde, 0x4b, 0x40, 0xd8, 0x7a, 0x9, 0xa8, 0x97, 0x80, 0x7a, 0x9, 0xa8, 0x97, 0x80, 0x9c, 0x4, 0xc4, 0xe1, 0x4b, 0xa6, 0x72, 0x3f, 0xba, 0x47, 0xe4, 0xa9, 0xbc, 0x30, 0x3d, 0x4, 0xef, 0x97, 0xb6, 0xd9, 0x2a, 0xf1, 0xa9, 0x42, 0xa8, 0xd8, 0xa3, 0x53, 0x55, 0x6e, 0x7b, 0x7d, 0xe7, 0x19, 0x55, 0x23, 0xf5, 0x3d, 0xb3, 0xc2, 0x76, 0x18, 0xcc, 0xea, 0x75, 0xd3, 0x56, 0x4e, 0xf8, 0xd, 0x0, 0xa1, 0x89, 0x12, 0xe4, 0x23, 0x53, 0xd, 0x2b, 0xc8, 0xe6, 0x7d, 0x32, 0x4f, 0x2b, 0xa0, 0xd2, 0x48, 0xbf, 0x5a, 0x4b, 0x36, 0xcd, 0xb0, 0x76, 0xdd, 0x8a, 0xb2, 0x84, 0x4e, 0x13, 0xc0, 0xeb, 0xd5, 0xcd, 0xf8, 0x6d, 0x1a, 0x3d, 0x2b, 0x50, 0xb7, 0xd7, 0xc9, 0xd9, 0xbe, 0x20, 0x87, 0x11, 0xb1, 0xcf, 0x81, 0x71, 0x4d, 0x2f, 0xef, 0x3c, 0xc4, 0x35, 0xaf, 0xcf, 0x1e, 0xe1, 0xe, 0x6, 0xe1, 0x5a, 0xc6, 0xbb, 0x7e, 0xa2, 0x5f, 0xa, 0x35, 0xfa, 0xb, 0xb, 0x1f, 0xb, 0x1f, 0xa3, 0x8e, 0xbe, 0x34, 0xa2, 0x16, 0x9d, 0x6f, 0x7e, 0x8a, 0x83, 0x3c, 0x14, 0xab, 0x66, 0xb5, 0xc5, 0xc, 0x49, 0x41, 0x9, 0x67, 0x7c, 0x7, 0x42, 0x6f, 0x59, 0x95, 0xdd, 0x3c, 0x6a, 0x7b, 0x7d, 0x2e, 0x57, 0x65, 0x5a, 0x68, 0x6a, 0x32, 0xba, 0x9a, 0xe1, 0x5e, 0x34, 0xd9, 0xc6, 0xbd, 0x8, 0xe3, 0x51, 0x92, 0xc5, 0xf0, 0x7e, 0xc2, 0x8f, 0xc8, 0x65, 0xe, 0xa7, 0xe6, 0x9f, 0xd7, 0x99, 0xfb, 0xe3, 0x9c, 0xc7, 0x98, 0xa3, 0xd0, 0xfc, 0xed, 0xf8, 0x4a, 0xe9, 0x76, 0xbc, 0xd9, 0xb2, 0x50, 0xfb, 0x0, 0x86, 0xc4, 0x8c, 0xd1, 0xd8, 0x76, 0x44, 0xc2, 0x47, 0xf4, 0x3f, 0x9c, 0x26, 0x42, 0xc1, 0xc6, 0x55, 0x8b, 0x15, 0xa5, 0x9f, 0xce, 0xb2, 0xbc, 0x7f, 0x73, 0x19, 0xc6, 0x92, 0x72, 0x85, 0xf0, 0x82, 0x2, 0xe1, 0x77, 0xc1, 0x79, 0x8f, 0xff, 0x2c, 0x70, 0xb9, 0xbd, 0xf, 0x15, 0xb7, 0xec, 0xa7, 0x10, 0x32, 0x5d, 0x17, 0x2e, 0x5d, 0x59, 0x23, 0x66, 0x79, 0x65, 0xcb, 0xa5, 0x90, 0x86, 0x47, 0x64, 0xa, 0xd0, 0x2c, 0x58, 0x5e, 0x38, 0x3f, 0x83, 0xe, 0xfa, 0x79, 0x78, 0xe, 0xfb, 0x46, 0xd5, 0xd2, 0x74, 0xeb, 0xea, 0x2e, 0x9a, 0xbb, 0x3f, 0xa, 0x3e, 0x3f, 0x5a, 0x8a, 0xc4, 0xa6, 0x40, 0x35, 0x98, 0x41, 0x94, 0xf9, 0xba, 0xde, 0xca, 0x67, 0xb4, 0x75, 0x87, 0x80, 0x46, 0x69, 0x2f, 0x77, 0x38, 0x9, 0xd1, 0x37, 0x68, 0x2a, 0x28, 0xf8, 0xc4, 0x3b, 0x82, 0x4a, 0xf7, 0x2f, 0x33, 0x4d, 0x84, 0x24, 0x22, 0xd3, 0x91, 0x48, 0x81, 0xfc, 0xe0, 0x52, 0xb4, 0xe5, 0xb7, 0x2c, 0xa8, 0xca, 0x53, 0xad, 0xbd, 0x6b, 0x73, 0xb2, 0xb9, 0x65, 0x46, 0x3b, 0x2f, 0x5f, 0xec, 0xa0, 0xbf, 0x17, 0x31, 0xb0, 0x1d, 0x86, 0x88, 0x51, 0x5c, 0x9a, 0x9d, 0x20, 0x48, 0x66, 0x35, 0xa4, 0x6c, 0x78, 0x95, 0x84, 0x7c, 0xd, 0x19, 0x27, 0xa3, 0xb3, 0x21, 0x19, 0xcd, 0x8, 0xa4, 0x4b, 0xbd, 0x76, 0xa7, 0x3c, 0x56, 0x7, 0xb3, 0x85, 0xb8, 0xac, 0xcd, 0x2f, 0xa1, 0xda, 0xfc, 0x24, 0x33, 0xfe, 0x3a, 0x5a, 0x56, 0x8b, 0x91, 0x3a, 0x94, 0x19, 0x19, 0x68, 0xd9, 0x31, 0xe0, 0x91, 0x3, 0x24, 0x9b, 0x96, 0xc2, 0x40, 0x51, 0x6d, 0xa, 0xdf, 0x17, 0x18, 0xda, 0x54, 0x88, 0x4, 0x28, 0x7f, 0xe4, 0xd8, 0x2e, 0x2d, 0x5a, 0xee, 0x31, 0xba, 0x80, 0xaf, 0x36, 0x43, 0xe7, 0xf1, 0x8c, 0xb2, 0x24, 0x93, 0xf0, 0xae, 0x3a, 0x54, 0xd2, 0x8c, 0xbf, 0xdd, 0x99, 0x89, 0x44, 0xf0, 0xf9, 0x95, 0x48, 0x92, 0xf6, 0x82, 0xec, 0x4c, 0x8a, 0x94, 0x50, 0xb2, 0x94, 0xb0, 0x62, 0x22, 0x53, 0xa4, 0x25, 0xdc, 0xe2, 0x26, 0x58, 0x4a, 0x50, 0x2e, 0x77, 0x35, 0x53, 0xe4, 0xfa, 0xea, 0xd4, 0x1e, 0xae, 0x25, 0x81, 0x4f, 0x66, 0x5c, 0xb3, 0x24, 0x9f, 0xb5, 0x9, 0x2f, 0xf2, 0x4b, 0x65, 0xdf, 0x8d, 0xf2, 0x20, 0xfe, 0xc, 0x3c, 0x12, 0x31, 0xb8, 0x75, 0xc6, 0x94, 0xcd, 0x36, 0x83, 0x2f, 0xa2, 0x53, 0xfb, 0x1e, 0xc7, 0x5d, 0x3d, 0xcb, 0xb6, 0x8f, 0x15, 0x6b, 0xf0, 0x63, 0x21, 0xe5, 0x40, 0x96, 0xcc, 0xf8, 0x2d, 0x8b, 0x49, 0x9a, 0x29, 0x6d, 0x6d, 0x29, 0x53, 0xf0, 0x17, 0x87, 0x13, 0x7e, 0x21, 0xb4, 0xb, 0xe1, 0x14, 0xc5, 0x5c, 0xb, 0x1a, 0x6c, 0x1a, 0x6d, 0xcb, 0xd3, 0xd3, 0x2c, 0xd1, 0x6c, 0x99, 0x80, 0x4b, 0x62, 0x3e, 0x5, 0xfd, 0x50, 0x48, 0x4a, 0x8d, 0x9, 0x5e, 0xdd, 0x71, 0xa5, 0x3b, 0xaa, 0xe5, 0x42, 0x4f, 0xf8, 0x3c, 0xa3, 0x92, 0x72, 0xd, 0x58, 0x75, 0xd0, 0xc8, 0xb3, 0xbe, 0xd0, 0x66, 0x4a, 0xef, 0xf1, 0xb0, 0x81, 0x28, 0xd3, 0x1, 0xb7, 0x55, 0xb, 0xf3, 0xf9, 0xf2, 0xdd, 0xda, 0x79, 0x34, 0x62, 0x35, 0xd, 0xab, 0x6c, 0xc2, 0x8b, 0xcf, 0x94, 0x26, 0xb2, 0xb, 0xca, 0xc5, 0x33, 0x8a, 0x9b, 0xbe, 0x83, 0x16, 0xa9, 0x32, 0xb6, 0x89, 0x89, 0xa5, 0x9c, 0x19, 0x55, 0xb9, 0xb0, 0x28, 0xf2, 0x54, 0xf6, 0x44, 0xb1, 0x9e, 0x75, 0x7d, 0xd7, 0x27, 0x36, 0xdb, 0x2d, 0xbe, 0x1d, 0x8a, 0xc5, 0xae, 0xa9, 0x91, 0xdb, 0x94, 0xa6, 0xe6, 0x3, 0xf9, 0x94, 0xb8, 0x78, 0x94, 0xee, 0x8e, 0x29, 0xf0, 0x7c, 0x2a, 0x5f, 0x69, 0xa3, 0x33, 0xbf, 0xce, 0xad, 0x67, 0xb5, 0x8d, 0x28, 0xce, 0x78, 0x2, 0x4a, 0x19, 0x5, 0x3a, 0x65, 0xba, 0x98, 0x9a, 0x3d, 0x94, 0x35, 0x1f, 0x9d, 0xe1, 0x89, 0x45, 0xc2, 0x22, 0x4d, 0x96, 0x98, 0x3b, 0xbf, 0x31, 0x22, 0xb1, 0x61, 0x92, 0x3a, 0x2f, 0xf9, 0x35, 0x11, 0xdf, 0x8b, 0x7d, 0xd8, 0xe, 0x5e, 0xec, 0xab, 0x32, 0xe7, 0x18, 0xb8, 0x36, 0xb, 0xdd, 0xdb, 0xa, 0x58, 0x71, 0xe3, 0x5a, 0x5f, 0xb, 0xb4, 0xc6, 0x62, 0x12, 0x6f, 0x79, 0xa4, 0x58, 0xc, 0x64, 0x74, 0x36, 0x20, 0x31, 0xfa, 0xac, 0x44, 0xda, 0xf1, 0x33, 0xbe, 0xb6, 0xf5, 0x2a, 0x38, 0x4d, 0x26, 0xbc, 0xa0, 0x58, 0x85, 0xee, 0x15, 0x9, 0x85, 0xec, 0xfd, 0x1e, 0x5b, 0x50, 0x1e, 0x27, 0x20, 0x87, 0xe4, 0x93, 0xe1, 0x17, 0xd3, 0x90, 0x4c, 0x84, 0xa6, 0x82, 0xcf, 0x2b, 0x16, 0x5e, 0xbd, 0x30, 0x78, 0x6c, 0x76, 0x74, 0x98, 0xea, 0x1, 0x51, 0xd9, 0xf4, 0xf, 0x88, 0xb4, 0x4f, 0xd8, 0x2d, 0xb3, 0xc4, 0xa8, 0x9b, 0xe9, 0x52, 0xb8, 0x22, 0xa, 0x2c, 0xbe, 0x95, 0x90, 0x29, 0xb8, 0xb5, 0xfb, 0x16, 0xf5, 0x45, 0x16, 0xdf, 0xfa, 0xed, 0x7c, 0xbb, 0xb9, 0x9d, 0xbf, 0xe2, 0x37, 0xeb, 0x52, 0x54, 0x61, 0x3, 0xe, 0x74, 0x2c, 0xba, 0xb0, 0xd9, 0x8, 0x72, 0x6c, 0x13, 0xd9, 0xef, 0x91, 0xc6, 0x1e, 0xc5, 0x1, 0x9b, 0xf2, 0x79, 0xbb, 0x45, 0xc4, 0xc9, 0xc, 0xd5, 0x4a, 0x21, 0x9b, 0x6, 0x91, 0x46, 0xc6, 0x87, 0xbd, 0x18, 0xe1, 0x44, 0xb, 0xd7, 0x15, 0x41, 0x3b, 0x85, 0xdf, 0x3b, 0xb1, 0x0, 0x94, 0x6e, 0x8, 0xcd, 0xb4, 0x48, 0xa9, 0x66, 0x11, 0x5a, 0x2f, 0x74, 0x30, 0x6d, 0x55, 0x24, 0xe4, 0xd0, 0xd, 0xc4, 0xc4, 0xba, 0x97, 0xd, 0x6d, 0xb1, 0x92, 0xfc, 0x16, 0x94, 0x72, 0x4, 0xaf, 0xf4, 0xb2, 0xf1, 0x9c, 0xe1, 0xae, 0x4c, 0x13, 0x65, 0x8d, 0x39, 0x95, 0x81, 0x9a, 0x4d, 0x54, 0xd8, 0xbd, 0x13, 0xee, 0xf2, 0xf8, 0xbb, 0x84, 0x40, 0xa5, 0x7b, 0xdd, 0x54, 0x35, 0x27, 0xa0, 0xdf, 0x3d, 0xe5, 0x9d, 0x67, 0x9c, 0x6d, 0x6, 0xd1, 0x33, 0x50, 0x6c, 0x7, 0xcf, 0x40, 0xbf, 0x7b, 0xee, 0xd0, 0x66, 0xb1, 0x1f, 0x16, 0x97, 0x30, 0xaa, 0x60, 0x5b, 0x7b, 0xb9, 0x51, 0xf6, 0xb7, 0x71, 0x86, 0xa0, 0x57, 0x2a, 0x17, 0x80, 0x5e, 0xe1, 0x7, 0xa5, 0xb0, 0xf4, 0x7, 0xca, 0x50, 0xa1, 0xc6, 0x2c, 0xaf, 0xc5, 0x6a, 0xe0, 0xde, 0xa6, 0xad, 0x6c, 0xd6, 0x96, 0x8a, 0xc9, 0x84, 0x8, 0x5b, 0x4b, 0x2c, 0x93, 0xd0, 0x68, 0x85, 0x6e, 0xa0, 0xb3, 0xf3, 0x70, 0xda, 0x40, 0x7b, 0x8f, 0xa2, 0xd8, 0x7a, 0x14, 0xed, 0xad, 0xcf, 0x8d, 0x23, 0x35, 0xe8, 0x72, 0x63, 0xc0, 0x65, 0xc7, 0x68, 0x6f, 0x3c, 0x0, 0x21, 0x1c, 0xcd, 0x84, 0xb4, 0x55, 0xe5, 0x72, 0xc8, 0xb2, 0x85, 0xe9, 0xac, 0x93, 0x4d, 0x2a, 0x24, 0x10, 0x1a, 0xaf, 0xc, 0xf2, 0xc7, 0xe, 0xbb, 0x82, 0xc7, 0x27, 0xda, 0xd3, 0x98, 0x22, 0x19, 0x9f, 0x26, 0x22, 0xba, 0x87, 0x18, 0x8b, 0xe5, 0x91, 0x23, 0x72, 0x71, 0xfe, 0xdf, 0x9f, 0x6f, 0x6e, 0x2f, 0xaf, 0xce, 0xaf, 0x4f, 0xc6, 0xa3, 0xcb, 0x8b, 0xdb, 0xdf, 0x4f, 0x46, 0xe3, 0xdb, 0x9b, 0xf1, 0xc9, 0xcf, 0xe7, 0xe6, 0xbf, 0xd7, 0xe3, 0xf3, 0xb3, 0xf7, 0xe4, 0x77, 0xf7, 0xf6, 0x4d, 0x91, 0x76, 0xa, 0xd6, 0xb6, 0x84, 0xfd, 0x35, 0xf7, 0x76, 0xfa, 0xf1, 0xf2, 0x66, 0x67, 0x67, 0x38, 0x10, 0xd, 0x32, 0x65, 0x9c, 0x26, 0xd6, 0xaa, 0x37, 0x20, 0xc0, 0xd0, 0x39, 0xb9, 0x80, 0x66, 0x42, 0x92, 0x8c, 0xe7, 0xff, 0x7e, 0x35, 0x83, 0x1f, 0xf0, 0x2c, 0xad, 0xec, 0x75, 0xfc, 0xbd, 0x61, 0xd8, 0x9f, 0x2f, 0x6e, 0xae, 0xce, 0x4f, 0x47, 0x1f, 0x46, 0xe7, 0x67, 0x95, 0xde, 0x9a, 0x9f, 0x73, 0x93, 0xbf, 0xd7, 0x33, 0x76, 0x8a, 0xcb, 0x30, 0xf6, 0x3f, 0x1b, 0x2b, 0xcc, 0x43, 0x6e, 0x5b, 0xaa, 0x3b, 0x2c, 0x1a, 0xb8, 0x95, 0xa2, 0xa1, 0xb5, 0xe, 0x39, 0xf6, 0x4f, 0x6c, 0x93, 0x12, 0x42, 0x97, 0xca, 0xe8, 0x7b, 0x21, 0xf8, 0xa7, 0x2a, 0x2b, 0x14, 0xad, 0xec, 0xd, 0x7a, 0xa4, 0x7f, 0x9d, 0x3d, 0x23, 0x59, 0x2e, 0x81, 0xab, 0xe2, 0xa3, 0x41, 0x5d, 0x2b, 0x9e, 0xa4, 0xa0, 0xe2, 0x66, 0x34, 0x35, 0xa3, 0x5d, 0x4a, 0xa0, 0xd6, 0x84, 0xc2, 0xf4, 0x90, 0x9c, 0xe4, 0xd4, 0xc5, 0x55, 0xbd, 0x71, 0x41, 0x57, 0x30, 0xe1, 0x4c, 0xab, 0x20, 0x92, 0x28, 0xc0, 0x7, 0xa9, 0x17, 0x48, 0xac, 0xdd, 0x35, 0x6c, 0x2f, 0xa7, 0x2, 0x52, 0x55, 0xd1, 0x84, 0x2b, 0x92, 0xca, 0xae, 0x9, 0xeb, 0xbc, 0xb8, 0xb2, 0x6b, 0x0, 0xbd, 0xcc, 0x82, 0xad, 0x97, 0x59, 0xe, 0x5d, 0xf3, 0xdb, 0xb5, 0xd0, 0x3b, 0xa6, 0xf5, 0x99, 0xd1, 0xc6, 0x59, 0x2, 0x8f, 0x8, 0xbf, 0xb8, 0x71, 0x8f, 0xee, 0x88, 0xb7, 0x50, 0xf9, 0x6d, 0x8f, 0xc, 0xb4, 0x8, 0x2f, 0xea, 0x3c, 0xca, 0x95, 0xc9, 0xed, 0x31, 0xd, 0xdb, 0x61, 0x60, 0xda, 0xeb, 0x3a, 0x99, 0x7e, 0x93, 0xce, 0x96, 0x61, 0xa7, 0xef, 0x13, 0xdf, 0x80, 0x41, 0x8c, 0x15, 0x8c, 0x68, 0x1d, 0x9f, 0x70, 0x38, 0xc8, 0x50, 0xa2, 0xb6, 0x7, 0x6, 0x6c, 0xfb, 0x2, 0x43, 0x55, 0xaa, 0x2f, 0xe6, 0x8e, 0xb, 0xa1, 0x2f, 0xc5, 0xa5, 0xd4, 0x91, 0x53, 0xcb, 0x94, 0x7e, 0x61, 0x69, 0x96, 0x5e, 0xb5, 0xb, 0x65, 0xf8, 0x45, 0x3c, 0x90, 0x94, 0xf2, 0x75, 0x21, 0x74, 0x81, 0x6a, 0x22, 0x78, 0xf4, 0x2d, 0x47, 0x2e, 0x68, 0x41, 0xe6, 0x60, 0x13, 0x1e, 0xf0, 0x50, 0xd8, 0x4b, 0xcc, 0x7c, 0x91, 0xea, 0x2e, 0xf8, 0x12, 0x3d, 0x13, 0xf, 0xf9, 0x9b, 0xb9, 0xa7, 0x90, 0x6, 0x2c, 0xac, 0xd7, 0x6f, 0x9c, 0x27, 0x1c, 0xff, 0xe9, 0xff, 0xdc, 0xc3, 0xf1, 0xbe, 0x98, 0xb8, 0xc4, 0x3f, 0x4e, 0xa, 0x13, 0x8a, 0x9a, 0x7b, 0xd9, 0xf1, 0x4e, 0xcc, 0x4a, 0x16, 0x3, 0xff, 0x54, 0x1b, 0x67, 0x74, 0x8f, 0xcf, 0x9d, 0x67, 0x26, 0x55, 0x82, 0x7b, 0x7e, 0x82, 0xed, 0x59, 0xf9, 0x89, 0x4f, 0xe0, 0xe0, 0x57, 0x1d, 0xe6, 0xb9, 0xb1, 0xd3, 0xde, 0x11, 0xb6, 0x92, 0xef, 0xa7, 0x16, 0x3, 0x63, 0xf1, 0xd7, 0x1e, 0xd1, 0x33, 0x22, 0x8f, 0xef, 0xe0, 0x4d, 0xc, 0x9, 0x94, 0xcc, 0x8e, 0xd5, 0xb8, 0x1d, 0x73, 0xd9, 0x28, 0xa7, 0x7e, 0xd0, 0x3, 0x9b, 0xef, 0xc6, 0x20, 0x3, 0xd3, 0x5, 0x57, 0xdf, 0xb5, 0xd2, 0x90, 0x36, 0x63, 0x84, 0xe9, 0xea, 0x80, 0x10, 0xa2, 0x48, 0x6e, 0x8f, 0xf, 0xd8, 0x5e, 0x1e, 0x1f, 0xcc, 0xa4, 0x7f, 0x4b, 0xe8, 0xd0, 0xa1, 0xf1, 0x58, 0x2f, 0x49, 0xbd, 0x4b, 0xbc, 0xb2, 0xa3, 0xb1, 0xb7, 0xfa, 0x31, 0x39, 0x37, 0xf7, 0x87, 0x85, 0x20, 0xb8, 0xba, 0x6c, 0xb6, 0x9d, 0x5, 0x26, 0xfb, 0xda, 0xf0, 0xbd, 0x22, 0x87, 0x20, 0x7a, 0x5, 0x0, 0x6c, 0x3c, 0x65, 0x39, 0x95, 0x60, 0x4f, 0x50, 0xd0, 0xe1, 0xbc, 0x8d, 0x24, 0x64, 0x9f, 0x38, 0x18, 0x94, 0x2b, 0x93, 0xdb, 0xa3, 0x1c, 0xb6, 0xe7, 0xd5, 0xaa, 0x8b, 0x90, 0xa0, 0x16, 0x22, 0x4b, 0x62, 0x32, 0x5, 0x12, 0xe1, 0xc4, 0xc7, 0xdd, 0x51, 0xb1, 0x1f, 0x89, 0x76, 0xdb, 0xf6, 0xc5, 0x57, 0x1c, 0x49, 0x87, 0x8e, 0x32, 0xca, 0xdb, 0xab, 0xa3, 0x7, 0x17, 0x65, 0xc5, 0xf2, 0x18, 0x53, 0x67, 0x33, 0x3e, 0x3f, 0xc2, 0xd0, 0xa8, 0xfd, 0x4a, 0x14, 0xf8, 0x67, 0x5d, 0x58, 0xd5, 0x3, 0xd3, 0xb, 0x34, 0x47, 0x4a, 0xca, 0xe7, 0xad, 0x4d, 0x91, 0x9f, 0x5c, 0x27, 0x63, 0x7c, 0x7f, 0xd7, 0x11, 0x74, 0x2b, 0xe5, 0x3d, 0x98, 0x62, 0x7b, 0x69, 0x91, 0x11, 0x45, 0x8c, 0x8e, 0x20, 0xcf, 0x33, 0x48, 0x8c, 0x9d, 0x1a, 0x8e, 0x4f, 0x9b, 0xb1, 0x6b, 0x34, 0x2c, 0x5, 0xbb, 0xc5, 0x77, 0x8d, 0xe0, 0x25, 0xcd, 0x8d, 0x31, 0xd5, 0x80, 0x98, 0xb5, 0xef, 0x30, 0x81, 0xc7, 0x75, 0x83, 0xfc, 0x5a, 0x14, 0x77, 0x84, 0xd, 0x2c, 0xd, 0x96, 0xb5, 0x76, 0x47, 0xfa, 0x44, 0xef, 0xad, 0x95, 0xc0, 0x9f, 0x4d, 0xbb, 0x38, 0x5b, 0xf4, 0xdb, 0x9, 0xeb, 0x5b, 0x48, 0xa2, 0x25, 0x9b, 0xcf, 0x41, 0xa2, 0x53, 0x52, 0x70, 0x20, 0x22, 0x34, 0xda, 0x8, 0x64, 0xa9, 0x3a, 0x1a, 0x1b, 0x72, 0xe, 0x46, 0xac, 0x2e, 0x51, 0xdb, 0x33, 0x2, 0x6c, 0x2f, 0xcd, 0x8, 0x96, 0xd, 0x25, 0x3f, 0xe, 0x90, 0x11, 0x74, 0x69, 0x38, 0x1d, 0x92, 0xa8, 0x4b, 0x3b, 0xeb, 0x30, 0x4, 0x6a, 0x9b, 0xa6, 0xbc, 0x35, 0x94, 0x9e, 0xba, 0x2c, 0xa, 0x68, 0x77, 0xc1, 0x24, 0xb6, 0x2e, 0xed, 0x94, 0x81, 0xcf, 0x47, 0x9f, 0xd0, 0x7c, 0x46, 0x22, 0xe, 0x6, 0x40, 0xcb, 0xe4, 0xf6, 0x8, 0x8a, 0xed, 0xa5, 0x11, 0xd4, 0x2e, 0xd4, 0x8e, 0x60, 0xce, 0x33, 0x40, 0x68, 0xa7, 0xc6, 0xd3, 0x21, 0xc, 0x2d, 0x6f, 0xae, 0x8e, 0x81, 0xa8, 0xa6, 0xea, 0xfe, 0xe8, 0x1f, 0x19, 0x64, 0xe6, 0x77, 0xf3, 0x8f, 0xbf, 0x99, 0xbf, 0x87, 0x7c, 0x9f, 0x2a, 0xae, 0xfe, 0x74, 0x77, 0xec, 0x1f, 0xf, 0xf9, 0xe5, 0xcc, 0x12, 0x99, 0x89, 0x24, 0x11, 0xf, 0x78, 0x80, 0xb5, 0x91, 0x6d, 0xce, 0x5c, 0xb7, 0x31, 0x37, 0x98, 0x9c, 0x9d, 0x20, 0x21, 0x3, 0x32, 0x95, 0xe8, 0x63, 0x11, 0x8b, 0x7, 0x4e, 0xa6, 0x6b, 0xe2, 0x13, 0x96, 0xbf, 0x9f, 0x70, 0x42, 0x8e, 0x30, 0x51, 0xa4, 0x59, 0x7f, 0x4b, 0x91, 0x24, 0x20, 0x95, 0xfd, 0xd1, 0x4f, 0x47, 0xb9, 0x80, 0x87, 0x72, 0x59, 0x5, 0xcd, 0x1d, 0x3f, 0xd1, 0xe8, 0x3e, 0x11, 0x96, 0xa, 0xf4, 0x6e, 0xb, 0x8f, 0xb8, 0x14, 0xe6, 0x27, 0x91, 0x66, 0x2b, 0xf3, 0x14, 0xe6, 0x89, 0x6f, 0x71, 0xfc, 0x1e, 0xc6, 0xdb, 0x79, 0x7c, 0xdf, 0xa0, 0xb8, 0x87, 0x78, 0x6c, 0x87, 0xe1, 0xe9, 0x59, 0xde, 0x96, 0x5d, 0xa3, 0xe9, 0x9e, 0xf1, 0x5d, 0x3c, 0xe3, 0xcc, 0xae, 0x9e, 0xf7, 0x64, 0x7c, 0x72, 0xf3, 0xeb, 0xed, 0xdf, 0x3e, 0x9f, 0x7f, 0x3e, 0xbf, 0xfd, 0x75, 0x74, 0x71, 0x76, 0x7b, 0x71, 0x79, 0xfd, 0xe9, 0xe4, 0xa3, 0x8f, 0x29, 0xab, 0x5e, 0x2d, 0x44, 0x13, 0xbd, 0x27, 0x63, 0x2c, 0xde, 0x10, 0xf2, 0x92, 0x70, 0xc1, 0xf3, 0x5a, 0xf, 0x88, 0x1d, 0x2e, 0xa6, 0x2d, 0xe3, 0x21, 0xcb, 0xf, 0xf6, 0x3b, 0xe, 0xb8, 0x42, 0xc, 0xa5, 0x18, 0xcc, 0xa6, 0xb0, 0x78, 0x5, 0x89, 0x7d, 0x15, 0xc, 0x54, 0x8a, 0x1f, 0x16, 0xb6, 0x98, 0x5, 0xad, 0xf4, 0x6b, 0x9f, 0x65, 0x8a, 0x28, 0xcd, 0xa2, 0xfb, 0xb5, 0x11, 0xb, 0x27, 0x9c, 0x1b, 0x20, 0x4b, 0x6c, 0x56, 0x2d, 0x7b, 0x1b, 0x73, 0x69, 0x1d, 0xca, 0x4f, 0xf, 0x48, 0xf5, 0xfd, 0x36, 0x27, 0x95, 0x48, 0xc1, 0xa7, 0xc2, 0xfa, 0xff, 0xd8, 0x7b, 0xb7, 0xe5, 0x36, 0x72, 0x2c, 0x6d, 0xf4, 0xfe, 0x7f, 0xa, 0xfc, 0xbe, 0xf8, 0x6d, 0xd7, 0x50, 0x74, 0x57, 0xcf, 0xc4, 0xbe, 0x70, 0x4f, 0x4d, 0x6c, 0x95, 0x24, 0x57, 0x71, 0xca, 0x96, 0xd4, 0x3a, 0xd8, 0x53, 0x31, 0xd9, 0x21, 0x82, 0x99, 0x20, 0x89, 0x56, 0x12, 0xc8, 0x1, 0x90, 0x92, 0xd9, 0x15, 0x1d, 0xb1, 0x1f, 0x62, 0x3f, 0xe1, 0x7e, 0x92, 0x1d, 0x58, 0xb, 0x40, 0x1e, 0x98, 0x99, 0x4c, 0x8a, 0x92, 0x4d, 0xd9, 0x54, 0xc4, 0x4c, 0x97, 0xa5, 0x4c, 0xe4, 0xc2, 0x69, 0x9d, 0xd7, 0xb7, 0x48, 0x24, 0xaa, 0x34, 0x37, 0xac, 0x4, 0xae, 0x53, 0x75, 0x11, 0x8, 0xd2, 0xd0, 0x48, 0x2d, 0x4d, 0xef, 0xe9, 0x32, 0x80, 0x74, 0x16, 0x75, 0xc8, 0xe1, 0xd9, 0x39, 0xd7, 0x46, 0xaa, 0x25, 0x2c, 0x10, 0xf0, 0xe0, 0xf0, 0x6a, 0x81, 0x91, 0xe4, 0x0, 0x5d, 0x72, 0xcd, 0x14, 0x24, 0xcc, 0xe3, 0x98, 0xe1, 0xbb, 0xc5, 0x3b, 0xae, 0xdb, 0x90, 0x6f, 0xde, 0x41, 0x35, 0xa4, 0x3, 0x46, 0x2, 0xdb, 0x45, 0x68, 0xfb, 0x8b, 0x84, 0x69, 0x7b, 0x12, 0x5d, 0xad, 0xb4, 0xe6, 0x62, 0x96, 0xb2, 0xa6, 0x81, 0xe, 0xd3, 0x94, 0x98, 0xb9, 0xd4, 0xbe, 0xd7, 0x84, 0x86, 0x6d, 0xcd, 0x78, 0x7c, 0x4b, 0xf2, 0xcc, 0x35, 0xf0, 0xb0, 0xd3, 0x8f, 0x4, 0x20, 0x82, 0xe1, 0x5b, 0x8d, 0x4b, 0x76, 0x79, 0x35, 0x3a, 0xfa, 0xed, 0xf7, 0xb7, 0xe4, 0xd0, 0xef, 0x1b, 0x4e, 0xf, 0x70, 0x32, 0xdc, 0xba, 0x60, 0xc7, 0x10, 0xb7, 0x14, 0x96, 0x28, 0x17, 0x3f, 0x4a, 0xa9, 0x36, 0xf5, 0x6d, 0x74, 0x15, 0x57, 0x4b, 0x42, 0x15, 0x8b, 0x44, 0xc6, 0xd4, 0x1, 0x12, 0x8, 0x67, 0xec, 0xb2, 0xf4, 0x5, 0xd, 0xb0, 0xbb, 0x3e, 0xde, 0x94, 0x2c, 0x5, 0x5d, 0x38, 0x8c, 0x8f, 0xc9, 0x12, 0x9b, 0x6c, 0xf8, 0xc6, 0x55, 0xb9, 0x2, 0xd7, 0x3d, 0x34, 0x7b, 0x2, 0xdf, 0x1f, 0xc9, 0x33, 0x58, 0xca, 0x25, 0x52, 0x9, 0x6, 0x47, 0x24, 0x7c, 0x22, 0x76, 0xca, 0xa7, 0x70, 0x66, 0x6a, 0xcd, 0x39, 0x1c, 0x50, 0xc7, 0xd0, 0x9d, 0xd, 0x2c, 0x59, 0x40, 0x7a, 0xca, 0x7, 0x42, 0xb9, 0xa9, 0x17, 0x68, 0xf6, 0x46, 0x62, 0x29, 0xba, 0x1b, 0x7, 0xd6, 0xd3, 0x93, 0x8d, 0x68, 0x72, 0xc5, 0xa4, 0x5a, 0x66, 0x9, 0x23, 0x5a, 0xfa, 0x2a, 0x8b, 0xa5, 0xfd, 0x79, 0xb0, 0x8f, 0x8, 0xb9, 0x4a, 0x8d, 0x2b, 0xa4, 0x47, 0x71, 0x8b, 0xad, 0xdb, 0x1b, 0x36, 0xf0, 0xd3, 0xd9, 0xc5, 0x6f, 0x27, 0x17, 0x37, 0x47, 0x67, 0x1f, 0x3e, 0x1c, 0x9e, 0x1e, 0x5f, 0xda, 0x9d, 0x44, 0x52, 0xf, 0x62, 0xb9, 0x58, 0x50, 0x91, 0xe8, 0xda, 0xfd, 0x84, 0x6b, 0x8d, 0x18, 0xfe, 0xea, 0x8e, 0xa9, 0x3, 0x23, 0xdd, 0x1e, 0xd9, 0xf3, 0xbf, 0xc8, 0x85, 0x6f, 0x61, 0xf3, 0x8a, 0xd, 0x67, 0x43, 0xff, 0x79, 0xe8, 0x7f, 0x55, 0x80, 0x9b, 0xe8, 0xd7, 0x40, 0xbc, 0x66, 0xe5, 0x69, 0xb2, 0x6c, 0xce, 0x16, 0x4c, 0xd1, 0x14, 0x4e, 0x41, 0xb1, 0xf7, 0x7, 0x6e, 0xed, 0xc9, 0xff, 0xf7, 0xff, 0xfc, 0xbf, 0x78, 0x38, 0x60, 0xcb, 0xc2, 0xb2, 0xe0, 0xfa, 0xae, 0xdb, 0xb7, 0x6b, 0xed, 0x3b, 0x54, 0x95, 0x56, 0xe0, 0xea, 0xf7, 0xf3, 0x93, 0x1b, 0x28, 0xb4, 0xc4, 0x6f, 0x5a, 0x55, 0x27, 0x21, 0x77, 0x9c, 0x46, 0x22, 0xd4, 0xd1, 0x7, 0x61, 0xfe, 0xd5, 0xeb, 0x58, 0x3b, 0x18, 0xf7, 0x6a, 0x21, 0x6a, 0x33, 0x6f, 0x5b, 0xff, 0x1c, 0x5e, 0xe8, 0xf5, 0xcf, 0xd5, 0xce, 0x4d, 0xef, 0xb2, 0xd6, 0xae, 0x49, 0x3c, 0x5c, 0x60, 0x3, 0x8b, 0xeb, 0xd1, 0x91, 0x69, 0x34, 0x9d, 0xa2, 0x7c, 0xf8, 0xe9, 0xa7, 0x16, 0x56, 0x6, 0x20, 0x89, 0xe, 0xd3, 0x11, 0x91, 0x44, 0x63, 0x29, 0xc, 0xe5, 0x4e, 0xcd, 0x86, 0x3e, 0xbc, 0x72, 0x8a, 0x67, 0x6e, 0x85, 0xb3, 0xe2, 0xf5, 0x2e, 0x5d, 0x6b, 0x77, 0xa, 0xb9, 0x26, 0x2a, 0x17, 0xd0, 0xd6, 0x48, 0xee, 0x4e, 0x9d, 0x7b, 0x58, 0xbf, 0x2b, 0x3b, 0xcc, 0xba, 0x85, 0x2b, 0x8b, 0x7c, 0xf2, 0xaa, 0x7e, 0x89, 0x4a, 0xdb, 0xf8, 0xda, 0x2d, 0xa1, 0xdb, 0x74, 0xec, 0x78, 0xb7, 0xfa, 0x86, 0x3d, 0x40, 0xef, 0xde, 0x9f, 0x7d, 0x7a, 0x8d, 0xb2, 0x7a, 0x2, 0x22, 0xd0, 0xa, 0xe6, 0x33, 0x7b, 0xaf, 0x75, 0x0, 0xc3, 0xe6, 0xc5, 0x48, 0xb, 0x99, 0x30, 0xf2, 0x2a, 0xd7, 0x8c, 0x8c, 0x2d, 0xed, 0x37, 0xb0, 0xe6, 0x37, 0x76, 0x11, 0xf4, 0xd8, 0x3e, 0x77, 0x72, 0xfa, 0xeb, 0xe1, 0xe9, 0xd1, 0xc9, 0x31, 0x3e, 0xc8, 0x85, 0x36, 0x8c, 0x26, 0xaf, 0x1b, 0xf4, 0x9e, 0xa, 0x1, 0x6f, 0xb, 0x13, 0xc5, 0xe, 0x5, 0xc, 0xa4, 0x90, 0x95, 0x8d, 0xaf, 0x1e, 0x1e, 0x5d, 0x8d, 0x3e, 0x8e, 0xae, 0xac, 0xdc, 0xb, 0xd6, 0x4c, 0xcf, 0x57, 0x81, 0xdb, 0xbc, 0x2d, 0xeb, 0x2b, 0xf0, 0xa6, 0x65, 0xa8, 0x9, 0xd7, 0x99, 0xf, 0x35, 0x63, 0x45, 0xb3, 0x87, 0xcb, 0xda, 0x25, 0xd6, 0x53, 0xdf, 0xee, 0x4e, 0x56, 0x51, 0x59, 0xe8, 0xf5, 0x4f, 0xfa, 0x75, 0x5d, 0xff, 0x24, 0x2c, 0xe3, 0x43, 0x98, 0xce, 0xa, 0xf9, 0x1b, 0x5e, 0x1a, 0xc5, 0xec, 0xb9, 0xb4, 0x6, 0x92, 0x5e, 0x73, 0x65, 0x2e, 0xe0, 0x49, 0x30, 0x8e, 0x75, 0xa8, 0xf3, 0x72, 0x3b, 0x6a, 0x85, 0x7f, 0xf5, 0x4, 0xbc, 0xd2, 0xaf, 0x77, 0x7, 0x99, 0x17, 0x27, 0x79, 0x4, 0x7e, 0xda, 0x7e, 0xb3, 0x84, 0xf3, 0x8c, 0x5e, 0x89, 0xe6, 0xd7, 0xbe, 0x36, 0xde, 0x72, 0x10, 0xe3, 0xce, 0xb6, 0x5d, 0x67, 0x4a, 0xf9, 0xfe, 0x96, 0x3, 0x40, 0xe3, 0x1f, 0xe3, 0x8a, 0xdc, 0xc0, 0x66, 0x8e, 0x3d, 0x6b, 0x41, 0x4, 0x5f, 0x30, 0xfa, 0x9c, 0x8f, 0xa5, 0xd0, 0xef, 0x11, 0xc, 0xce, 0xb3, 0x36, 0x47, 0xc4, 0xe, 0xc3, 0x52, 0xd3, 0x8c, 0x7f, 0x90, 0xc9, 0xda, 0x8e, 0x86, 0xa5, 0xbe, 0x9f, 0x35, 0x6e, 0xab, 0x3d, 0x6a, 0xb1, 0x65, 0x5f, 0x49, 0xf1, 0x5c, 0x24, 0x2e, 0x59, 0xa, 0x48, 0x93, 0x73, 0x86, 0xad, 0x47, 0xed, 0xe3, 0x46, 0xc2, 0xba, 0x6, 0xdc, 0x4c, 0x77, 0x2f, 0xde, 0x92, 0xe3, 0x93, 0x77, 0x87, 0xd7, 0xef, 0xaf, 0x1c, 0xaf, 0xe7, 0x20, 0x76, 0x98, 0x79, 0x6d, 0xed, 0xc1, 0xca, 0x7, 0x87, 0x91, 0x38, 0x92, 0x2, 0x50, 0x9d, 0xa0, 0x45, 0xac, 0x8c, 0x73, 0x68, 0x72, 0x1a, 0xb0, 0xa2, 0xc0, 0x8, 0x40, 0x9, 0x6e, 0x3f, 0x26, 0x12, 0xa6, 0xb4, 0xb1, 0x5a, 0x1e, 0xf4, 0x33, 0x74, 0x44, 0x3, 0xa, 0x72, 0x59, 0xd6, 0x78, 0x61, 0x71, 0x7c, 0x72, 0x79, 0x74, 0x31, 0xfa, 0xf9, 0xe4, 0xa6, 0xc4, 0x3a, 0x3e, 0x9c, 0x1d, 0x9f, 0x54, 0xad, 0xe5, 0xeb, 0x92, 0x48, 0x5c, 0x30, 0x2a, 0x34, 0x49, 0xd9, 0x8c, 0xc6, 0xcb, 0xa2, 0x79, 0x61, 0xf7, 0x60, 0x7e, 0x46, 0x6f, 0xc9, 0x89, 0x98, 0x23, 0x32, 0xc, 0xd0, 0x85, 0xa7, 0x4d, 0x13, 0x3a, 0x9b, 0x29, 0x36, 0x3, 0x5b, 0xc1, 0x55, 0x3c, 0xa1, 0x4e, 0x9f, 0xa6, 0x24, 0xa3, 0xca, 0xa0, 0xc3, 0x66, 0x50, 0x80, 0xd, 0x7a, 0x17, 0x9e, 0x1e, 0x38, 0x2c, 0x2c, 0xfc, 0xb5, 0xe2, 0xb1, 0x35, 0xb9, 0xb9, 0x98, 0xca, 0xaf, 0x2e, 0x49, 0xfa, 0x2c, 0xec, 0x2a, 0xfb, 0x5f, 0xbb, 0x82, 0xbd, 0x45, 0x41, 0xaf, 0xef, 0x6f, 0x78, 0x77, 0x7c, 0x77, 0x4f, 0xdf, 0x19, 0x72, 0x1d, 0x77, 0xf1, 0xa8, 0xee, 0x21, 0xaf, 0x20, 0xec, 0xdb, 0x13, 0x6c, 0xf, 0x55, 0x8a, 0xae, 0xfa, 0xe8, 0xd, 0x5b, 0xd4, 0x5d, 0xa7, 0x4d, 0x9b, 0x5a, 0xf5, 0x0, 0xd6, 0x6, 0x89, 0xad, 0xb9, 0x4, 0x39, 0xe, 0xef, 0x42, 0xf6, 0x7, 0x40, 0x90, 0x3f, 0x78, 0xfd, 0x72, 0xe1, 0xfe, 0x93, 0xad, 0xc5, 0xde, 0x2d, 0x1, 0xe3, 0x97, 0xde, 0x72, 0x9a, 0xd7, 0xce, 0x70, 0xd5, 0x30, 0x33, 0x9a, 0xa6, 0xa0, 0x2a, 0xf6, 0x5, 0xfc, 0xb7, 0x57, 0x1c, 0x6c, 0x67, 0x16, 0x7a, 0xc7, 0xe, 0xc9, 0x61, 0xe8, 0x1c, 0xca, 0xb5, 0x35, 0x4b, 0x34, 0x4f, 0x98, 0x62, 0x89, 0x7f, 0x90, 0x4f, 0x7, 0x5e, 0xbe, 0x80, 0x6f, 0x65, 0xca, 0xee, 0xc9, 0x82, 0x8b, 0xdc, 0x30, 0x3d, 0x88, 0x4, 0x37, 0xd0, 0x7, 0x60, 0x4e, 0x2b, 0x5d, 0x5a, 0x15, 0x18, 0xbd, 0x7a, 0x60, 0xff, 0xcb, 0x3d, 0x31, 0x61, 0xe, 0x95, 0xca, 0x43, 0x4, 0xcb, 0x29, 0x89, 0x99, 0xb2, 0x36, 0x50, 0x59, 0xc2, 0x59, 0x56, 0x1e, 0xd3, 0x34, 0x7d, 0x8a, 0x33, 0xfb, 0xc0, 0xd5, 0xae, 0x18, 0x34, 0xfd, 0x45, 0x3c, 0x79, 0x45, 0x35, 0xf0, 0x53, 0xef, 0x3b, 0xa8, 0x4a, 0x36, 0x2f, 0xcb, 0xb8, 0x14, 0xd6, 0x96, 0xa8, 0x69, 0xee, 0xae, 0x95, 0x18, 0x28, 0x41, 0x10, 0xf3, 0x80, 0x90, 0xb, 0xb8, 0x2c, 0x85, 0x34, 0x85, 0x9f, 0x6f, 0x0, 0x5b, 0x8a, 0x6f, 0x80, 0xeb, 0x2a, 0x6c, 0xdf, 0xde, 0x3e, 0x69, 0x3a, 0x2, 0x5b, 0xb1, 0xad, 0x15, 0xf9, 0xd1, 0x22, 0x8d, 0x36, 0xb4, 0x6c, 0x36, 0xb1, 0x6d, 0x36, 0xb1, 0x6e, 0xfa, 0xd9, 0x37, 0x45, 0xcc, 0x11, 0x7f, 0x9e, 0x8c, 0x1d, 0xe3, 0x69, 0x3e, 0xc7, 0xb8, 0xdf, 0x13, 0xdd, 0x22, 0x67, 0x36, 0xa4, 0xd5, 0x20, 0x23, 0x1c, 0xb3, 0x56, 0x13, 0x9, 0x5b, 0x4c, 0x7, 0x76, 0xb8, 0x33, 0x6c, 0x7, 0xd7, 0xcb, 0xde, 0x98, 0x96, 0xbe, 0xf4, 0x4f, 0xb0, 0x70, 0xb0, 0x34, 0x95, 0xde, 0xff, 0xab, 0x16, 0x66, 0x68, 0x3a, 0x6e, 0x97, 0xd, 0xb8, 0x8f, 0x7d, 0x9, 0x57, 0xf2, 0xd5, 0xea, 0x0, 0x2e, 0xb4, 0x82, 0xb3, 0x61, 0x9, 0xb8, 0xdf, 0x8b, 0x57, 0xbe, 0x94, 0x75, 0x1a, 0xfe, 0xfb, 0xab, 0x46, 0xe6, 0x7d, 0x7e, 0xd3, 0x1, 0xe6, 0x2a, 0xf5, 0x4e, 0x73, 0xc2, 0x24, 0x84, 0x8a, 0xcb, 0xbc, 0x92, 0xed, 0x34, 0x8c, 0xec, 0xe5, 0x44, 0x50, 0xb9, 0x3b, 0xa6, 0xec, 0xa6, 0xe0, 0x53, 0x8a, 0x1a, 0x46, 0x52, 0xbe, 0xe0, 0xe6, 0x2d, 0xee, 0x62, 0xf8, 0x37, 0x20, 0xc5, 0x41, 0x90, 0xc8, 0x9a, 0x58, 0x19, 0x87, 0x17, 0x15, 0x4f, 0x5c, 0x32, 0x95, 0xf3, 0x91, 0xdb, 0x87, 0x8a, 0x77, 0x6, 0x91, 0x40, 0x2b, 0x27, 0x17, 0xb1, 0xcc, 0xb3, 0xd4, 0x3d, 0x5b, 0x1a, 0x34, 0x94, 0xb8, 0x3a, 0xf, 0x65, 0xca, 0xa7, 0x2c, 0x5e, 0xc6, 0x29, 0x73, 0x36, 0x6d, 0x7, 0x81, 0x8, 0x54, 0xa9, 0x99, 0x19, 0xb4, 0x13, 0x40, 0xc, 0xa4, 0xce, 0xb2, 0xe9, 0x94, 0xc5, 0x9d, 0x10, 0xe6, 0xb8, 0x60, 0xc1, 0x38, 0x5f, 0xf1, 0x1d, 0xec, 0x66, 0xa0, 0xbf, 0x91, 0xea, 0x7d, 0xb0, 0x1f, 0x7e, 0x9e, 0x59, 0xb0, 0x7f, 0xd, 0x9b, 0x46, 0xdf, 0x85, 0xae, 0xbb, 0x77, 0xf6, 0x79, 0x58, 0x6b, 0xf2, 0xb0, 0x6a, 0x77, 0xe3, 0x59, 0xa4, 0x63, 0xfd, 0xf3, 0x8d, 0xe3, 0x65, 0x60, 0xc6, 0x1f, 0xf0, 0xe4, 0x20, 0x96, 0x8b, 0x8c, 0x1a, 0x87, 0xed, 0xd5, 0x3f, 0x4f, 0xab, 0xf0, 0x91, 0x5d, 0x6b, 0x46, 0xc6, 0xbf, 0x30, 0xf3, 0x9, 0x6, 0xfe, 0x88, 0x2, 0x99, 0x8b, 0xd9, 0x45, 0x9e, 0x32, 0x3d, 0xb6, 0xd2, 0x80, 0x99, 0x78, 0x5e, 0x61, 0xe5, 0x4, 0xbe, 0x4e, 0x78, 0x90, 0xdf, 0x90, 0xc, 0xcb, 0xbc, 0xeb, 0xa7, 0xac, 0xc0, 0x77, 0xf0, 0xd5, 0xf0, 0xcd, 0x9f, 0xd1, 0x25, 0x71, 0x54, 0x99, 0xc9, 0xae, 0xf3, 0xd7, 0x4e, 0xea, 0xf7, 0x7c, 0x16, 0x7e, 0xbe, 0x2d, 0x3e, 0xeb, 0xdb, 0x18, 0x5, 0xb5, 0xa2, 0xca, 0x6c, 0xa1, 0x3f, 0x92, 0x92, 0x33, 0x28, 0xab, 0x81, 0x9c, 0x46, 0x1f, 0x59, 0x4d, 0x48, 0xe5, 0x92, 0xee, 0x8, 0x3f, 0x5e, 0xd0, 0xcf, 0x97, 0x6c, 0x6d, 0x84, 0xe8, 0xbd, 0x55, 0x95, 0x34, 0x99, 0x7b, 0x64, 0x2f, 0x3f, 0x93, 0x94, 0xe1, 0x85, 0xf7, 0xd1, 0x3, 0xdf, 0xbf, 0x7b, 0x48, 0x2e, 0xc1, 0x9d, 0xb0, 0x24, 0x3f, 0xda, 0x45, 0x81, 0x4, 0x8, 0x7, 0x5, 0x6, 0x79, 0xf5, 0x8, 0x78, 0x14, 0x89, 0x10, 0x2f, 0xa5, 0x7f, 0x97, 0x2a, 0xf8, 0x8c, 0x34, 0x33, 0x43, 0xf2, 0xa7, 0x90, 0x34, 0xa, 0xf8, 0x7a, 0xec, 0x49, 0x6c, 0xf7, 0x7, 0xa0, 0x87, 0xed, 0x98, 0x4, 0x28, 0x58, 0xef, 0x81, 0xda, 0x4, 0xb9, 0xb0, 0xcc, 0xce, 0xbd, 0x53, 0x97, 0x50, 0xad, 0xf9, 0x4c, 0x2c, 0x98, 0x30, 0xce, 0x2b, 0x9f, 0x70, 0xc5, 0x62, 0xe3, 0x7a, 0x6e, 0x21, 0x57, 0x2f, 0xe2, 0x67, 0xc3, 0x48, 0x7c, 0x3a, 0xbc, 0x38, 0x1d, 0x9d, 0xfe, 0x82, 0x8e, 0x1f, 0xa6, 0x48, 0x21, 0x37, 0xbc, 0x91, 0xb6, 0x64, 0x10, 0x58, 0xb4, 0x27, 0xc5, 0x83, 0x54, 0x1f, 0x9e, 0x8f, 0xe0, 0xbf, 0x7d, 0xe8, 0xa1, 0xdc, 0x18, 0x92, 0x8b, 0x70, 0xb4, 0x3a, 0x3b, 0xf0, 0xb5, 0x49, 0xaa, 0xe7, 0x23, 0x30, 0x6a, 0x84, 0xef, 0x65, 0x5, 0xfc, 0x3c, 0x73, 0x59, 0xb1, 0xdb, 0xa8, 0x53, 0xbd, 0xf8, 0x8d, 0xe3, 0x2b, 0x9, 0xcb, 0x52, 0xb9, 0xb4, 0xac, 0xc0, 0xb3, 0x18, 0xfd, 0xe6, 0x8f, 0xe2, 0x97, 0xee, 0xf4, 0xe, 0x8b, 0xdf, 0x9c, 0xd6, 0x2b, 0x4, 0x36, 0x40, 0x76, 0x71, 0xdc, 0xe3, 0x38, 0xc, 0xe6, 0x19, 0x49, 0x17, 0x26, 0xfe, 0xc9, 0xe7, 0x8c, 0x29, 0xe, 0xa1, 0xd4, 0xd4, 0xf5, 0x30, 0x84, 0xa0, 0x2d, 0x9f, 0xcd, 0xd, 0xb1, 0x7c, 0x8c, 0x4f, 0x79, 0x4c, 0x85, 0x49, 0x3, 0x73, 0x91, 0xa, 0x65, 0xd4, 0x42, 0xde, 0x61, 0x80, 0x9b, 0x46, 0x62, 0x9a, 0x9b, 0x5c, 0xd9, 0x5f, 0xa6, 0x8c, 0xea, 0x1e, 0xd0, 0x32, 0x48, 0xea, 0x71, 0x7d, 0x21, 0x76, 0x9e, 0xef, 0x74, 0x52, 0xbf, 0x67, 0x3e, 0xf0, 0xf3, 0x3c, 0x98, 0xcf, 0xba, 0x4b, 0xb8, 0x2e, 0x6e, 0xe7, 0x9b, 0x75, 0xa2, 0xec, 0x5f, 0xbd, 0x7a, 0xe0, 0xbe, 0xfb, 0x58, 0x84, 0xef, 0x9c, 0xc3, 0x77, 0x47, 0xf4, 0xd5, 0x1d, 0xf2, 0x1f, 0x74, 0x5e, 0xa9, 0x1d, 0xf3, 0x23, 0x6c, 0xc5, 0xd5, 0x9b, 0x1e, 0x71, 0x9, 0x4, 0x1b, 0xd7, 0x84, 0x69, 0x57, 0x11, 0xc1, 0x14, 0x29, 0x6, 0xf5, 0x9a, 0xff, 0x30, 0x12, 0x8f, 0xc1, 0xd5, 0x49, 0x7f, 0xa6, 0xee, 0xc9, 0x7a, 0xae, 0x6c, 0x7d, 0xd, 0xfd, 0x7b, 0xc6, 0xe, 0x3f, 0x7b, 0xc6, 0xbe, 0xfb, 0x8c, 0xbd, 0x95, 0xc5, 0xac, 0x99, 0xf6, 0xa1, 0x6f, 0x28, 0xcd, 0x1b, 0x9a, 0x5c, 0xfb, 0xd9, 0x3a, 0x24, 0x2c, 0xbb, 0x2e, 0xa5, 0x5, 0xc1, 0x8, 0x11, 0xd, 0xb, 0x11, 0x89, 0x53, 0x69, 0x88, 0x60, 0xf6, 0x9e, 0x52, 0xc5, 0xd3, 0xa5, 0x1f, 0xba, 0xf4, 0x7a, 0x81, 0xec, 0x8f, 0x95, 0x52, 0xb1, 0x5c, 0x4c, 0x7c, 0x17, 0x24, 0x39, 0x25, 0xe3, 0x62, 0x1a, 0x37, 0xf6, 0xd1, 0x31, 0x58, 0xba, 0x63, 0x98, 0xca, 0xd, 0x4f, 0xc6, 0x6e, 0xc4, 0x74, 0x59, 0x90, 0xab, 0x5d, 0xbb, 0xfa, 0x6, 0x5a, 0x4b, 0x5d, 0xb0, 0x27, 0x2c, 0xa6, 0xb9, 0xae, 0x90, 0xf, 0x7f, 0x85, 0x14, 0x8d, 0x2a, 0x99, 0x2d, 0xed, 0x7, 0xbe, 0xe2, 0xde, 0xde, 0xad, 0x70, 0xd3, 0xa6, 0x9d, 0x5c, 0x71, 0x47, 0x97, 0xd6, 0xd2, 0x8d, 0x30, 0xde, 0x99, 0x92, 0x84, 0x22, 0x94, 0x1e, 0x72, 0x75, 0x37, 0x4f, 0xb3, 0x2e, 0x55, 0x40, 0x61, 0x14, 0x74, 0x4e, 0xef, 0x18, 0xa6, 0x35, 0xb9, 0xa, 0x1f, 0x1f, 0x4e, 0xbd, 0x5b, 0xb5, 0x87, 0x1e, 0x69, 0xfa, 0x4f, 0x1c, 0xda, 0xf6, 0x3, 0xac, 0x43, 0x3a, 0xbe, 0xf6, 0xc5, 0x5a, 0xb, 0x2a, 0x72, 0x9a, 0x22, 0x74, 0xab, 0xbb, 0x54, 0x1f, 0x43, 0x5e, 0xd9, 0xb5, 0xc6, 0x96, 0x66, 0xe, 0xd9, 0x95, 0xd0, 0x70, 0xc3, 0xc1, 0xc5, 0x8, 0x6d, 0xa, 0x21, 0x7f, 0x60, 0xce, 0x22, 0x51, 0x14, 0x9a, 0xc7, 0x52, 0x24, 0x28, 0x5c, 0xe0, 0xba, 0x2c, 0x98, 0x79, 0xb, 0x29, 0x45, 0x23, 0xe3, 0xdd, 0x54, 0xf6, 0xb6, 0x1d, 0x39, 0x18, 0x76, 0xa9, 0xc8, 0x5, 0x5d, 0x64, 0xf6, 0xc5, 0x30, 0xfa, 0x94, 0x70, 0xa3, 0x4b, 0x97, 0x6f, 0xe8, 0xdf, 0x9f, 0x53, 0x3b, 0x80, 0x4f, 0x6c, 0xf3, 0xd9, 0x21, 0xaf, 0x84, 0x14, 0xa1, 0xc0, 0xab, 0xbc, 0xcd, 0xee, 0x62, 0xfb, 0x71, 0x61, 0xbf, 0xdd, 0x4b, 0xaf, 0x6b, 0x24, 0x25, 0x8a, 0x72, 0xf0, 0xa4, 0xbd, 0xd2, 0xcc, 0xb3, 0xf3, 0x15, 0x1, 0x3f, 0x12, 0x53, 0x39, 0x84, 0x27, 0xe9, 0x8c, 0xdd, 0x70, 0x31, 0x95, 0xaf, 0x9d, 0xd6, 0x14, 0xe6, 0x1c, 0x9, 0x42, 0x7c, 0x29, 0xa6, 0xbe, 0xe5, 0x59, 0x86, 0xc7, 0x2a, 0xa3, 0x5a, 0xdb, 0xd1, 0xc7, 0xf6, 0x77, 0x7, 0x7e, 0x88, 0x9f, 0xec, 0xdd, 0x1f, 0x7f, 0xd, 0x3d, 0xcc, 0xee, 0xe7, 0xf3, 0xd5, 0xc2, 0x3a, 0xa8, 0xdf, 0xeb, 0x60, 0xf0, 0xb3, 0xd7, 0xc1, 0xf6, 0x3a, 0xd8, 0x5e, 0x7, 0xdb, 0xeb, 0x60, 0x8f, 0x38, 0x25, 0x2b, 0xb9, 0x8e, 0x9d, 0xe0, 0x5a, 0x33, 0xaf, 0x73, 0xaa, 0x21, 0xff, 0x79, 0x2a, 0x55, 0xcc, 0xa, 0xe5, 0x82, 0xdd, 0x31, 0x41, 0xf8, 0xb4, 0x22, 0x93, 0xb9, 0xe, 0xa2, 0x77, 0x48, 0x46, 0xae, 0xc0, 0x36, 0xa6, 0x9a, 0xf9, 0xe, 0xab, 0x82, 0x64, 0x5c, 0x8, 0x96, 0x20, 0xa0, 0x81, 0x55, 0x7f, 0x8a, 0x0, 0xa8, 0x36, 0x79, 0x7c, 0x4b, 0x72, 0x61, 0x78, 0xea, 0x34, 0x99, 0x74, 0x49, 0x50, 0x22, 0x1a, 0x49, 0xa8, 0x90, 0x0, 0x29, 0xe1, 0x3, 0x9d, 0x93, 0x25, 0xc1, 0x24, 0x14, 0xaf, 0x47, 0x85, 0x26, 0x8b, 0x67, 0x40, 0xf9, 0xe, 0xa5, 0x8e, 0xf6, 0x44, 0xaf, 0x47, 0xba, 0x51, 0x65, 0xf8, 0x1e, 0x70, 0xec, 0xbf, 0xae, 0xf3, 0xad, 0xc8, 0xfd, 0x5c, 0x64, 0xf9, 0x16, 0x39, 0xa0, 0xc8, 0x43, 0xed, 0x10, 0x2e, 0x9, 0x94, 0x50, 0x63, 0x68, 0x3c, 0x77, 0xa7, 0xb6, 0x23, 0x3e, 0xf3, 0xc5, 0x15, 0xc5, 0xe2, 0xbe, 0x34, 0xa8, 0x5a, 0x47, 0x38, 0x89, 0x67, 0x95, 0x9b, 0xd9, 0x67, 0x2a, 0x7b, 0x15, 0x12, 0x7e, 0xf6, 0x2a, 0xe4, 0x5e, 0x85, 0xdc, 0xab, 0x90, 0xfb, 0xd8, 0x5b, 0xc8, 0xdd, 0xed, 0xc3, 0x3b, 0xbf, 0x97, 0x40, 0x9c, 0xd7, 0x5, 0x16, 0xcc, 0xd0, 0x84, 0x1a, 0xfa, 0x20, 0x2d, 0x20, 0xd7, 0x4c, 0x1d, 0xcc, 0xb8, 0xd5, 0x8a, 0xfd, 0x38, 0xcf, 0x54, 0x15, 0xf8, 0xe0, 0x97, 0xe1, 0x59, 0x6b, 0x1, 0x7e, 0x16, 0x7b, 0x5, 0x0, 0x7e, 0xf6, 0xa, 0xc0, 0x5e, 0x1, 0xd8, 0x2b, 0x0, 0x7b, 0x5, 0x60, 0x9d, 0x2, 0xe0, 0xd9, 0xe6, 0x77, 0x23, 0xfb, 0xef, 0x68, 0xca, 0xb7, 0xf1, 0x4, 0x7c, 0x74, 0xef, 0x37, 0xfa, 0x2, 0xec, 0x71, 0x94, 0xb9, 0x71, 0x8a, 0x80, 0xeb, 0x3c, 0xba, 0x6b, 0xca, 0x80, 0x9f, 0xc1, 0x37, 0xe1, 0x19, 0xd8, 0x64, 0x32, 0x7b, 0xd5, 0x0, 0x7e, 0xf6, 0xaa, 0xc1, 0x5e, 0x35, 0xd8, 0xab, 0x6, 0x7b, 0xd5, 0x80, 0xc7, 0x6c, 0x13, 0xee, 0xb9, 0xeb, 0x1a, 0xc2, 0x86, 0xd, 0x20, 0x69, 0x9a, 0xae, 0x72, 0x5, 0x8d, 0x60, 0xaf, 0xf6, 0x14, 0x19, 0x45, 0xe3, 0xdb, 0x2, 0xdc, 0xef, 0xb4, 0x74, 0xd2, 0xbf, 0xb0, 0xbc, 0xb6, 0xf4, 0xd6, 0x37, 0x68, 0xf7, 0xab, 0xb7, 0x1a, 0xa9, 0xde, 0x4b, 0x60, 0xf8, 0x79, 0x1e, 0x12, 0x38, 0xa3, 0x33, 0x76, 0xc9, 0xff, 0xf1, 0x4, 0xed, 0x6, 0x1f, 0x50, 0x4b, 0xda, 0x83, 0x5e, 0xc1, 0x3e, 0x9b, 0x73, 0x3a, 0x63, 0x57, 0xf2, 0x96, 0xad, 0x4, 0xef, 0x9f, 0xbe, 0x47, 0xe2, 0x64, 0x69, 0xbe, 0x6e, 0x7b, 0xc4, 0x55, 0x8e, 0x58, 0x36, 0x84, 0x56, 0x8a, 0xce, 0xfa, 0x96, 0x20, 0xac, 0x30, 0xc9, 0xdd, 0x29, 0x3d, 0xd8, 0x79, 0x26, 0xd8, 0x46, 0xf8, 0x9e, 0xf, 0xc2, 0xcf, 0xf3, 0xe0, 0x83, 0xdd, 0x76, 0xc7, 0x6e, 0xd7, 0xb1, 0xfa, 0x1, 0xd6, 0xe5, 0x14, 0x63, 0x5a, 0xa6, 0x26, 0x8a, 0xc5, 0x52, 0x25, 0xda, 0x2a, 0xef, 0xaf, 0xa8, 0x20, 0x32, 0x4d, 0x5e, 0x97, 0x6f, 0x3e, 0x39, 0x2c, 0x97, 0x22, 0xc5, 0xd4, 0x25, 0x13, 0x4f, 0x5c, 0x9e, 0x90, 0xbd, 0xd9, 0xd3, 0x80, 0x4a, 0x29, 0x64, 0x61, 0x5f, 0x9, 0xc2, 0xbf, 0xa, 0xdf, 0x68, 0x4a, 0x36, 0x7d, 0x6, 0x5c, 0xa3, 0x89, 0xec, 0x3d, 0xcf, 0x80, 0x9f, 0x3d, 0xcf, 0x78, 0x28, 0x4d, 0xfb, 0xbc, 0xb4, 0x6e, 0x16, 0xb9, 0x4d, 0x15, 0xfe, 0xee, 0x57, 0xdf, 0xef, 0x3c, 0xd7, 0x6b, 0x26, 0x7b, 0xcf, 0xf5, 0xe0, 0xe7, 0x5b, 0xe0, 0x7a, 0x2d, 0x4d, 0x5e, 0x3d, 0x67, 0x69, 0x70, 0xd1, 0x4a, 0xd7, 0x55, 0xcb, 0x35, 0x8b, 0x5b, 0x7d, 0xe2, 0x9e, 0x9b, 0x79, 0x24, 0x80, 0xfd, 0xc0, 0x50, 0x34, 0x55, 0x8c, 0x26, 0xae, 0x99, 0x14, 0x0, 0xe6, 0xbb, 0xad, 0x5d, 0x41, 0x5d, 0xda, 0x8d, 0x5, 0xdb, 0x21, 0x57, 0x60, 0xf3, 0xf5, 0xdb, 0x79, 0xa7, 0xdf, 0x8a, 0x89, 0xfb, 0x46, 0x33, 0x73, 0xe0, 0x50, 0xb3, 0x7c, 0xd0, 0xb0, 0x77, 0x70, 0xef, 0x92, 0x99, 0x37, 0x0, 0x83, 0x5a, 0xa9, 0x72, 0x2b, 0x95, 0xb6, 0x35, 0x99, 0xc3, 0xe4, 0x30, 0x37, 0x72, 0x41, 0x8d, 0xeb, 0x55, 0x7, 0xef, 0x63, 0xd4, 0xc1, 0xd5, 0xc6, 0x15, 0xde, 0x6c, 0x3e, 0x75, 0x6e, 0xf6, 0x72, 0x16, 0x3d, 0x76, 0xd7, 0xb0, 0x1f, 0xa5, 0xda, 0x7f, 0xf3, 0xcb, 0xeb, 0xca, 0x97, 0x6c, 0xc5, 0x5d, 0xe7, 0x68, 0x79, 0x2e, 0xa5, 0x65, 0x6b, 0x67, 0xb0, 0x97, 0x25, 0xf0, 0xf3, 0x2d, 0xc8, 0x92, 0xef, 0x9e, 0x5d, 0xaf, 0x3d, 0xec, 0xcf, 0x94, 0x73, 0x2f, 0xa8, 0xa0, 0x33, 0xa6, 0x1e, 0xc8, 0xb1, 0x3f, 0xe0, 0xdb, 0xa3, 0x92, 0xd1, 0xb2, 0x13, 0xe, 0xcc, 0x86, 0xdd, 0x72, 0xa4, 0x3e, 0x47, 0xae, 0xea, 0x48, 0xdf, 0xb3, 0x53, 0xf8, 0xd9, 0xb3, 0xd3, 0x6f, 0x93, 0x9d, 0xba, 0x53, 0xfe, 0x4c, 0xf9, 0xa8, 0x42, 0xd5, 0x73, 0x4b, 0xd, 0xb8, 0x1, 0xdc, 0xa1, 0xc9, 0xc, 0xa3, 0x22, 0x1, 0xd0, 0x7, 0xfb, 0x51, 0x92, 0x31, 0x15, 0x5b, 0xbe, 0x3a, 0x63, 0x43, 0x72, 0x84, 0x58, 0xa, 0xbe, 0xbd, 0x70, 0x24, 0x66, 0x8a, 0x26, 0x39, 0x4d, 0xf1, 0x49, 0x68, 0xe1, 0x56, 0xb4, 0x79, 0xf2, 0x6d, 0xab, 0x8d, 0x94, 0x3b, 0xc1, 0xa1, 0xdd, 0xe4, 0x9f, 0xb1, 0xfa, 0x5b, 0x9d, 0xc1, 0x9e, 0x5f, 0xc3, 0xcf, 0x9e, 0x5f, 0x7f, 0x9b, 0xfc, 0xba, 0x7a, 0xd8, 0x77, 0x93, 0x6d, 0x3, 0x42, 0x75, 0xb9, 0x41, 0xcf, 0x83, 0xfb, 0xf, 0xf8, 0xc8, 0x72, 0x80, 0x55, 0x1a, 0x77, 0xb9, 0xa0, 0x3, 0x84, 0xf5, 0x4a, 0x83, 0x20, 0x23, 0x49, 0x62, 0x6f, 0xc9, 0x82, 0xb, 0x46, 0xee, 0xe7, 0xc, 0x8a, 0xee, 0x3, 0xee, 0xe0, 0x82, 0x2e, 0x9d, 0xd7, 0x8c, 0x63, 0x53, 0xb3, 0xab, 0xa2, 0x19, 0x11, 0xfc, 0x51, 0x3b, 0xec, 0xf2, 0x32, 0x70, 0x8f, 0x91, 0x4, 0xbc, 0xfd, 0x90, 0x78, 0x28, 0x15, 0x49, 0x9d, 0x30, 0xc1, 0xde, 0xf2, 0x64, 0x6a, 0x69, 0x29, 0x5a, 0x17, 0xb9, 0x97, 0x16, 0x14, 0xd0, 0x76, 0x8c, 0x84, 0x47, 0xa1, 0xae, 0x2a, 0x12, 0x93, 0xd0, 0x42, 0x31, 0x12, 0x91, 0xf8, 0x34, 0x67, 0xc2, 0x7f, 0xdc, 0xa, 0x25, 0x4a, 0x52, 0xaa, 0x66, 0x8c, 0x88, 0x7c, 0x31, 0x61, 0xaa, 0xda, 0x7, 0xd, 0xba, 0xe0, 0xd5, 0xbf, 0x41, 0xb5, 0x96, 0x31, 0x46, 0x2c, 0xa0, 0x69, 0x7c, 0xf8, 0x52, 0x68, 0xcf, 0xa0, 0x9d, 0xb3, 0xbd, 0x94, 0x6a, 0x58, 0x1f, 0xc4, 0x7b, 0x12, 0x53, 0xae, 0xcd, 0x6a, 0xef, 0x57, 0x32, 0xc9, 0xd, 0xd1, 0x32, 0x78, 0x35, 0x17, 0xb0, 0x4a, 0x42, 0x1a, 0xdf, 0x71, 0xbc, 0xb2, 0xfa, 0x91, 0xe0, 0x2, 0x13, 0x48, 0xac, 0x70, 0x4d, 0x10, 0x16, 0x9f, 0xfa, 0x85, 0x62, 0x2, 0x20, 0x18, 0x12, 0xec, 0xbe, 0x33, 0x24, 0x6e, 0xfe, 0x2e, 0xb1, 0x1c, 0xfb, 0xe3, 0x2f, 0xb8, 0x19, 0x54, 0x17, 0x7f, 0x4e, 0x4d, 0xad, 0x5, 0x54, 0xf1, 0x89, 0x48, 0xc4, 0x32, 0x4f, 0x13, 0xa0, 0x7, 0xb7, 0x55, 0x71, 0x76, 0xe7, 0xd0, 0xa4, 0xfc, 0xc4, 0x16, 0x54, 0xdd, 0xfa, 0x15, 0xa2, 0x44, 0x73, 0x31, 0x4b, 0x19, 0x76, 0x94, 0xbb, 0x38, 0x39, 0x3c, 0xfa, 0xf5, 0xf0, 0xe7, 0xd1, 0xfb, 0xd1, 0xd5, 0xef, 0xe5, 0x9e, 0x6a, 0x84, 0x9, 0xa3, 0x96, 0x18, 0x2f, 0x8a, 0x69, 0x9a, 0xba, 0x83, 0xc3, 0xb5, 0xce, 0x59, 0x24, 0x3c, 0x92, 0x43, 0xc, 0x2b, 0x29, 0xc9, 0xcc, 0x1d, 0x87, 0x86, 0x46, 0x57, 0x52, 0x57, 0x20, 0xa0, 0x60, 0xd7, 0xcf, 0x32, 0x26, 0x88, 0x96, 0xb9, 0x8a, 0xb1, 0xe6, 0x4e, 0x43, 0xd8, 0x99, 0x26, 0x7f, 0xcf, 0xb5, 0x4b, 0xe2, 0xc5, 0xe6, 0x44, 0x93, 0x25, 0xd1, 0xcc, 0x18, 0xbf, 0x34, 0xb8, 0x86, 0x2f, 0x35, 0x49, 0x96, 0x82, 0x2e, 0x78, 0xec, 0x33, 0xf4, 0xb1, 0x71, 0x39, 0xe8, 0x22, 0x63, 0x5c, 0xd7, 0x32, 0x1d, 0x5, 0x48, 0x59, 0x4c, 0xc5, 0xb8, 0x38, 0x25, 0x31, 0xbd, 0x63, 0xd0, 0x4, 0x9e, 0x1a, 0xf, 0x72, 0x91, 0xa6, 0x40, 0x88, 0x36, 0x8a, 0xba, 0x33, 0x70, 0xc7, 0xb5, 0x6b, 0x58, 0x40, 0xb4, 0x91, 0xaa, 0x5f, 0x2b, 0x8f, 0x8e, 0xe, 0x63, 0xbb, 0xa9, 0x66, 0xb4, 0x52, 0xbe, 0x57, 0x2f, 0xe0, 0xe7, 0x79, 0xa8, 0x17, 0x3d, 0x9b, 0xda, 0xfe, 0x1c, 0xf8, 0x22, 0x34, 0xc4, 0x44, 0x76, 0xb1, 0x72, 0x73, 0x87, 0xe4, 0x50, 0x10, 0xb6, 0xc8, 0xe0, 0xe0, 0x5b, 0x6a, 0x4a, 0x2d, 0xb2, 0xd, 0x53, 0x99, 0x82, 0xcc, 0x10, 0xaa, 0x9, 0x15, 0xd, 0xa, 0xbf, 0x93, 0x2a, 0x5, 0x17, 0x2f, 0x98, 0x31, 0xdc, 0x37, 0x87, 0xc7, 0x66, 0x45, 0xa, 0xf7, 0x7a, 0xbd, 0xe3, 0x4a, 0xbe, 0x5d, 0x29, 0xf1, 0x5c, 0x0, 0x64, 0xd4, 0x17, 0xe5, 0x18, 0x7f, 0xb5, 0x92, 0xce, 0x75, 0xb4, 0xd1, 0x8f, 0xc9, 0x31, 0x4a, 0x87, 0xe3, 0x1b, 0xef, 0x14, 0x1c, 0x5a, 0x4, 0xac, 0x3b, 0x8d, 0x57, 0x55, 0x25, 0xa3, 0xe3, 0x3c, 0xbe, 0x67, 0xf4, 0x8e, 0xe1, 0xba, 0xe3, 0xb9, 0xac, 0xe8, 0x24, 0xeb, 0xf4, 0x82, 0x8a, 0xf6, 0xe1, 0x94, 0x82, 0x7a, 0xb5, 0x3, 0xf4, 0xb6, 0xf1, 0xda, 0xf, 0x35, 0xc4, 0x1a, 0x98, 0x86, 0x48, 0x51, 0x69, 0x72, 0xc3, 0xa7, 0xf8, 0x55, 0x7b, 0xc4, 0xe0, 0xc3, 0xbd, 0xce, 0xff, 0x8a, 0x38, 0x2f, 0x29, 0x4f, 0x70, 0xb1, 0x50, 0x83, 0x6a, 0x13, 0xf2, 0xf0, 0xa5, 0xca, 0x85, 0xb8, 0x64, 0x8, 0xc8, 0x34, 0x5e, 0xcb, 0xbb, 0xc7, 0xd, 0x3d, 0xd7, 0x17, 0x52, 0xb1, 0xf2, 0xf8, 0xdf, 0xe7, 0x21, 0x55, 0xfd, 0xbb, 0x80, 0x5e, 0xb9, 0xae, 0xbc, 0x75, 0x3d, 0x3b, 0x1c, 0xc0, 0x61, 0x24, 0xc6, 0xab, 0xa, 0xd5, 0xe9, 0xc9, 0xa7, 0xd0, 0x79, 0xf6, 0x72, 0x8c, 0xbd, 0xf7, 0xef, 0xe9, 0x52, 0x87, 0x98, 0x75, 0x5d, 0xd7, 0x1c, 0x46, 0x2, 0x4c, 0x81, 0xd5, 0xa1, 0x4e, 0xfe, 0x6b, 0x74, 0x79, 0x35, 0x3a, 0xfd, 0xa5, 0x32, 0xde, 0x94, 0x2c, 0x65, 0xae, 0x8, 0xcd, 0xb2, 0x94, 0x63, 0xeb, 0x51, 0x22, 0x18, 0xf3, 0xac, 0xdd, 0xe, 0x99, 0x78, 0x2a, 0xb9, 0xd5, 0x9f, 0x5, 0x89, 0x53, 0xa9, 0xdd, 0x31, 0x5, 0xe8, 0x2e, 0xcb, 0x5b, 0xad, 0x2a, 0x77, 0xcf, 0x35, 0x1b, 0x40, 0xab, 0xff, 0x86, 0x6f, 0x9f, 0x9d, 0x9f, 0x9c, 0x96, 0xbe, 0x3b, 0x24, 0xc7, 0xae, 0x71, 0x11, 0xd7, 0x1b, 0x90, 0x9a, 0xb2, 0xa9, 0x89, 0x44, 0x5e, 0xb4, 0xe2, 0x2f, 0x1d, 0xe3, 0xfa, 0xe1, 0xb5, 0x67, 0xd6, 0xc9, 0x1d, 0x38, 0xfa, 0xa5, 0xab, 0x80, 0x6d, 0xa5, 0xec, 0xb3, 0x84, 0x89, 0x7c, 0x41, 0xee, 0xa8, 0xe2, 0x14, 0x2, 0x0, 0x45, 0x9f, 0xe4, 0xf6, 0x4d, 0x78, 0x6b, 0x35, 0x5a, 0xc5, 0x5e, 0x42, 0x55, 0x94, 0xd4, 0x9a, 0x4f, 0x82, 0xae, 0x1a, 0x2c, 0x24, 0x58, 0xbc, 0x98, 0xf1, 0x3b, 0x6, 0x89, 0x41, 0xf7, 0xa1, 0xab, 0x33, 0xd5, 0xb7, 0x7a, 0xe8, 0x7c, 0x65, 0x9a, 0xe8, 0x39, 0x28, 0xde, 0x3f, 0x8, 0x69, 0x7e, 0xa8, 0x5a, 0x54, 0x8d, 0x64, 0xac, 0xae, 0xca, 0x86, 0xb4, 0x40, 0x2, 0x4, 0x48, 0x62, 0x4f, 0x10, 0xf4, 0x8b, 0xd, 0x8d, 0xa3, 0xa1, 0x51, 0x38, 0xf4, 0xb, 0x5d, 0x79, 0xb2, 0xa0, 0x3a, 0x12, 0xed, 0x64, 0x83, 0x43, 0xce, 0xad, 0xa9, 0x95, 0x8f, 0x89, 0x64, 0xe, 0x8b, 0x15, 0x87, 0xcb, 0xb9, 0x9e, 0x93, 0x9, 0x33, 0xf7, 0x8c, 0x9, 0x44, 0x82, 0xb3, 0x4, 0x34, 0x9c, 0xa8, 0xc6, 0xf9, 0x57, 0xf, 0xd1, 0x93, 0xcd, 0x1d, 0xe8, 0xda, 0x6c, 0xde, 0x8d, 0xe4, 0x1e, 0xbd, 0x3f, 0xbb, 0x3c, 0x39, 0x7e, 0x44, 0x82, 0x4b, 0x34, 0xae, 0x2c, 0x59, 0x38, 0x53, 0x68, 0x9c, 0x47, 0xc2, 0x11, 0x47, 0x12, 0x96, 0x31, 0x91, 0x30, 0x91, 0xd8, 0xa1, 0xec, 0xe1, 0x2f, 0xdd, 0x74, 0xc7, 0x88, 0xc1, 0x61, 0x3c, 0x24, 0xef, 0xa4, 0x22, 0xec, 0x33, 0x5d, 0x64, 0x29, 0x1b, 0x38, 0x4c, 0x3f, 0xa0, 0x56, 0x48, 0x60, 0x9, 0x5, 0xb3, 0x5a, 0xf9, 0xf8, 0x97, 0x2a, 0xab, 0x68, 0xe9, 0xed, 0xfd, 0xa2, 0xd3, 0xe, 0xad, 0xd, 0xd2, 0xf8, 0x78, 0xe5, 0x82, 0xf7, 0x79, 0x61, 0xf5, 0x2a, 0xf6, 0x79, 0xab, 0x7a, 0x80, 0xfb, 0xbc, 0x51, 0x3f, 0x43, 0x55, 0xb9, 0xf6, 0xb7, 0x15, 0x91, 0xe3, 0x8d, 0xa7, 0x35, 0x4b, 0xf2, 0xf5, 0x9d, 0x5e, 0x1b, 0xd5, 0xe5, 0xf9, 0xb3, 0xd, 0x95, 0xa8, 0x25, 0xf5, 0xd8, 0x6a, 0xfa, 0x46, 0x62, 0x6b, 0x71, 0x77, 0x81, 0x34, 0xd8, 0x6d, 0x15, 0x76, 0x8f, 0xb6, 0x1, 0x8a, 0x8c, 0xb8, 0xb9, 0xee, 0xb3, 0xbd, 0xb8, 0xee, 0x39, 0x95, 0xd4, 0xed, 0xb, 0xe9, 0xf0, 0xe7, 0x79, 0x18, 0xdb, 0xfb, 0x42, 0xba, 0xa6, 0x45, 0x6c, 0xa5, 0x79, 0xa5, 0x90, 0xae, 0x7, 0xc9, 0x8d, 0xf4, 0xd4, 0xce, 0xf6, 0x18, 0x1e, 0x1a, 0x5b, 0x2e, 0x51, 0x63, 0x35, 0x10, 0x9f, 0x34, 0x92, 0x4c, 0x79, 0x6a, 0xac, 0x91, 0xe5, 0xfe, 0x32, 0xa1, 0xf6, 0xf7, 0x52, 0x78, 0x8e, 0x43, 0x8d, 0x51, 0x7c, 0x92, 0x1b, 0xf0, 0x4c, 0x5e, 0xe6, 0x19, 0xf6, 0xd4, 0x2f, 0xfd, 0xfa, 0x6d, 0x24, 0x7e, 0x70, 0xe2, 0x79, 0x24, 0xb4, 0xa1, 0x22, 0x66, 0xbf, 0xb1, 0x65, 0xe9, 0x97, 0x2e, 0x2f, 0xc5, 0xfe, 0xe6, 0x57, 0xa9, 0x21, 0xb4, 0x63, 0xff, 0x3b, 0xb8, 0x1d, 0xed, 0x3f, 0x8e, 0x2b, 0x91, 0x1f, 0xfb, 0x1b, 0xe7, 0x5e, 0xb0, 0xff, 0x79, 0x99, 0xdc, 0xfa, 0xdf, 0x5e, 0x26, 0xb7, 0x2e, 0xd6, 0x1, 0xff, 0x32, 0x54, 0x99, 0x2b, 0xee, 0xfe, 0x84, 0xb7, 0xec, 0xa9, 0x76, 0x6e, 0xc3, 0xbd, 0xe1, 0x22, 0x4e, 0xf3, 0x84, 0x5d, 0x2e, 0xb5, 0x61, 0x8b, 0x55, 0x5e, 0xdb, 0xb4, 0x55, 0xe0, 0xea, 0x86, 0x7b, 0x58, 0xf5, 0xae, 0x83, 0xf9, 0xeb, 0xc6, 0x23, 0x1a, 0x6, 0x2c, 0xc2, 0xc6, 0xbe, 0x72, 0x1b, 0x73, 0x86, 0x13, 0xc2, 0x17, 0x56, 0xff, 0xe1, 0x26, 0x5d, 0x46, 0x2, 0x9a, 0x43, 0x4, 0x2b, 0xda, 0xea, 0x83, 0xe0, 0x3, 0x5f, 0x6, 0x28, 0xb7, 0x21, 0xf9, 0x79, 0x49, 0x1c, 0x97, 0x1c, 0xd4, 0x87, 0xb6, 0xa3, 0xb2, 0xcf, 0xf0, 0xd5, 0xb6, 0xcc, 0xe1, 0x1d, 0xee, 0x2b, 0xb1, 0x89, 0xac, 0x7e, 0x93, 0xb8, 0xb8, 0xd2, 0x9b, 0x3f, 0xee, 0xeb, 0xe7, 0x78, 0xe3, 0xea, 0x51, 0x97, 0x28, 0xe0, 0x9b, 0xd3, 0xae, 0x1a, 0x66, 0xb0, 0x25, 0xde, 0xc2, 0xf3, 0xee, 0x90, 0xde, 0x75, 0xa0, 0x3b, 0x2f, 0xaf, 0xab, 0xe4, 0xee, 0x45, 0x36, 0xfc, 0x6c, 0x2a, 0xb2, 0x6b, 0xb3, 0xd, 0x38, 0xc, 0xe8, 0xdd, 0xf3, 0xed, 0xd5, 0x59, 0x2a, 0xc5, 0x4c, 0x13, 0x23, 0x77, 0x24, 0xb1, 0x7f, 0xe5, 0xf2, 0xac, 0x63, 0x78, 0xae, 0xf3, 0xb5, 0x7b, 0x81, 0xdc, 0x32, 0x17, 0x9a, 0xc5, 0x13, 0xf4, 0x25, 0x66, 0xf5, 0xb5, 0x38, 0xe, 0x78, 0x33, 0x37, 0x45, 0xe1, 0x82, 0x80, 0x36, 0x2e, 0x1a, 0xa2, 0x93, 0x4, 0x2e, 0x53, 0x6a, 0xba, 0x8f, 0x63, 0xe6, 0xaa, 0xf0, 0x65, 0x96, 0xac, 0x83, 0xf5, 0xdc, 0x66, 0xe5, 0x1b, 0x3b, 0xcf, 0x70, 0x56, 0x28, 0xde, 0xf3, 0x1c, 0xf8, 0xf9, 0x3e, 0x78, 0xce, 0xe, 0xa5, 0xe7, 0xac, 0x1c, 0xc4, 0x9d, 0x4c, 0xc7, 0xd1, 0x6f, 0xe6, 0x8c, 0x2a, 0x33, 0x61, 0xd4, 0xf4, 0x66, 0x3c, 0x38, 0xa9, 0x5f, 0xfd, 0x7b, 0xc1, 0x87, 0x37, 0x2f, 0xfd, 0x6, 0xd3, 0x63, 0xc0, 0x7b, 0x57, 0x70, 0xa3, 0x2e, 0x4e, 0x73, 0x1, 0x55, 0xf7, 0xb5, 0xa1, 0x77, 0x9e, 0xdb, 0x34, 0x52, 0xbd, 0xe7, 0x38, 0xf0, 0xb3, 0xe7, 0x38, 0x5f, 0x98, 0xe3, 0x34, 0x1e, 0xc6, 0x1d, 0xe5, 0x3a, 0xa1, 0x15, 0xc9, 0x3, 0x5a, 0x90, 0x54, 0x74, 0x9e, 0xbc, 0x84, 0x47, 0xde, 0xa8, 0xf3, 0xc8, 0x29, 0x84, 0xa4, 0x7d, 0x14, 0xd7, 0x11, 0x30, 0x8c, 0x44, 0x39, 0x31, 0xdb, 0x48, 0xc0, 0xfc, 0xe3, 0x58, 0xbd, 0x8, 0x43, 0xb6, 0x8e, 0xb8, 0xfa, 0x6a, 0xe9, 0x85, 0x95, 0x6f, 0x43, 0xa4, 0x35, 0x4b, 0x8b, 0xf, 0x77, 0xf0, 0xc0, 0xd5, 0xe9, 0xed, 0x3c, 0x3, 0x5c, 0x25, 0x79, 0xcf, 0xfd, 0xe0, 0x67, 0xcf, 0xfd, 0xbe, 0x22, 0xc4, 0xf3, 0xce, 0x2a, 0x5c, 0x76, 0x98, 0x83, 0x58, 0xe6, 0xc2, 0xf4, 0x75, 0x24, 0x1d, 0xd9, 0x87, 0x57, 0x1a, 0x7e, 0xb5, 0x46, 0x87, 0x60, 0x6c, 0xcb, 0x77, 0x42, 0x1c, 0x95, 0x95, 0xde, 0xd9, 0x3c, 0x36, 0xd4, 0xf2, 0xf9, 0x9d, 0xe7, 0x4b, 0x2d, 0x74, 0xef, 0x99, 0x13, 0xfc, 0x3c, 0x8f, 0x98, 0x51, 0xa3, 0x3f, 0x79, 0xd7, 0xa1, 0x74, 0x36, 0x63, 0x5, 0x2a, 0x4f, 0x59, 0xef, 0xe0, 0xf0, 0x5, 0xb8, 0x77, 0x20, 0x75, 0x2f, 0x8c, 0x55, 0xdc, 0x73, 0x1c, 0x6a, 0x7d, 0x94, 0xd7, 0x3e, 0x7c, 0x51, 0x7f, 0x76, 0x27, 0xef, 0xf0, 0xa, 0xc5, 0xfb, 0xdb, 0xb, 0x3f, 0xcf, 0xe3, 0xf6, 0xee, 0x5a, 0x4, 0xf5, 0x11, 0xef, 0xf8, 0xa0, 0x97, 0xb1, 0x82, 0x68, 0x32, 0xe, 0x2d, 0xab, 0x72, 0x4d, 0xb1, 0x4c, 0x4, 0x2e, 0x2c, 0xa2, 0x75, 0x3b, 0x3b, 0x22, 0x96, 0xc2, 0x28, 0x99, 0x6, 0xcb, 0xa3, 0x2a, 0xbf, 0x7d, 0xe9, 0x51, 0x9e, 0xb2, 0x90, 0x5c, 0xe, 0xf9, 0x4d, 0xae, 0xd9, 0x52, 0x9a, 0x12, 0x95, 0xb, 0xe8, 0x1, 0xe, 0xc1, 0xbd, 0xd2, 0x57, 0x1b, 0xd3, 0x77, 0x47, 0x88, 0x39, 0xe4, 0xc6, 0x33, 0x73, 0x7b, 0x8b, 0xe7, 0x64, 0x74, 0x5c, 0x45, 0x10, 0x2a, 0x65, 0x6e, 0x63, 0xe2, 0x2d, 0xe5, 0x29, 0xc0, 0xa2, 0xb3, 0xb7, 0xe1, 0x75, 0x9c, 0x85, 0x3, 0x4d, 0x2f, 0xf1, 0xa6, 0xaa, 0x31, 0x64, 0x89, 0x2a, 0x1a, 0x9f, 0x4a, 0x55, 0x64, 0x73, 0xd6, 0xdf, 0x18, 0x46, 0xe2, 0xb4, 0xf6, 0x2b, 0xab, 0xef, 0xb0, 0x3b, 0x26, 0xc, 0xf6, 0x48, 0x8d, 0xa5, 0xd0, 0x5c, 0x9b, 0x3a, 0xea, 0x58, 0x2b, 0xa, 0x98, 0x67, 0x21, 0x3b, 0xcf, 0xf3, 0x56, 0x49, 0xde, 0x33, 0x3d, 0xf8, 0x79, 0x1e, 0x4c, 0x6f, 0x87, 0xec, 0xa1, 0xd5, 0x93, 0xb4, 0xab, 0xf6, 0x10, 0xb0, 0x90, 0x37, 0x7f, 0xd8, 0xff, 0x19, 0x25, 0xf, 0x8a, 0xb0, 0xfb, 0x19, 0xba, 0x8, 0x58, 0xc1, 0xd7, 0xbc, 0xb1, 0x53, 0x84, 0xbf, 0x42, 0xa2, 0x29, 0xfc, 0x9d, 0x27, 0x81, 0x11, 0x2a, 0x66, 0x79, 0x8c, 0x90, 0x75, 0x86, 0xc8, 0x13, 0x72, 0x40, 0x4e, 0xcf, 0xae, 0xc8, 0xbb, 0xb3, 0xeb, 0xd3, 0xe3, 0x1e, 0x58, 0x6a, 0x5d, 0x11, 0xfb, 0x67, 0xc3, 0x87, 0x9a, 0x88, 0xde, 0x73, 0x22, 0xf8, 0x79, 0x1e, 0x9c, 0x8, 0x6f, 0xd3, 0x1a, 0x2f, 0xd3, 0xb5, 0x66, 0xea, 0xa0, 0xc8, 0x3e, 0x19, 0x1d, 0x7b, 0x20, 0x42, 0xb8, 0x3, 0x90, 0x9e, 0x4d, 0x93, 0x21, 0xb9, 0xee, 0x68, 0x7a, 0xf2, 0xbc, 0xa2, 0xf2, 0x41, 0x73, 0xeb, 0x85, 0x5, 0x8d, 0xcb, 0x30, 0x59, 0x7a, 0x5e, 0xd1, 0x79, 0xc9, 0x3d, 0x5e, 0xf1, 0x33, 0xba, 0xe2, 0x75, 0x92, 0xf7, 0x17, 0x1c, 0x7e, 0xbe, 0xa1, 0xb, 0xbe, 0x7a, 0xa3, 0xf1, 0xe0, 0x7f, 0x4b, 0x77, 0x7a, 0x23, 0x65, 0x63, 0xe3, 0x4c, 0xfc, 0x7e, 0x6e, 0xd7, 0x90, 0x94, 0xff, 0x8, 0x2e, 0xd7, 0xe6, 0x2f, 0xef, 0x3c, 0x3b, 0x69, 0x26, 0x7b, 0xcf, 0x52, 0xe0, 0xe7, 0x79, 0xb0, 0x94, 0x7d, 0x92, 0x7e, 0xd3, 0x22, 0xf6, 0x77, 0x31, 0xed, 0x7d, 0xda, 0x96, 0xc3, 0xbe, 0xf9, 0xa3, 0x70, 0x59, 0xf9, 0x5f, 0x6e, 0x61, 0xd7, 0x5, 0x5e, 0xb2, 0x51, 0x12, 0x75, 0xcd, 0x75, 0xb6, 0x81, 0x79, 0x16, 0xbe, 0xb7, 0xf3, 0x1c, 0xb7, 0x95, 0xf2, 0x3d, 0xd3, 0x85, 0x9f, 0xe7, 0xc1, 0x74, 0x9b, 0x2e, 0xcb, 0xae, 0x51, 0xa6, 0x72, 0xd1, 0x46, 0xd4, 0x37, 0xce, 0xb5, 0xde, 0xcc, 0xb9, 0x36, 0x52, 0xf5, 0x6, 0x29, 0x73, 0xf0, 0x12, 0x95, 0xeb, 0xf8, 0x2b, 0xe, 0x51, 0x49, 0xcf, 0x76, 0xc3, 0x5a, 0xed, 0xbc, 0x93, 0x71, 0x91, 0x77, 0x94, 0xa7, 0xda, 0x81, 0xfc, 0x8f, 0x4f, 0xa5, 0x79, 0x27, 0x73, 0x91, 0x8c, 0x5d, 0xc5, 0x72, 0xe7, 0xbb, 0x50, 0xd5, 0x25, 0x6e, 0x85, 0xbc, 0x17, 0x1e, 0x53, 0x4c, 0xe3, 0x62, 0xf5, 0x40, 0x65, 0x6a, 0x9a, 0xc0, 0xce, 0x33, 0xc4, 0xe, 0xda, 0xf7, 0x2c, 0x11, 0x7e, 0xf6, 0x2c, 0xf1, 0xf9, 0xb1, 0xc4, 0x1e, 0x64, 0x2d, 0xe8, 0x67, 0xbe, 0xc8, 0x17, 0xe7, 0xdf, 0x92, 0xfe, 0x5e, 0xf7, 0x64, 0x4c, 0x9, 0xd, 0xe8, 0x3d, 0x5d, 0x37, 0x7c, 0xc, 0xb0, 0x87, 0x64, 0x7c, 0x2e, 0xd3, 0xd4, 0x3f, 0x1b, 0x8a, 0x4b, 0x8b, 0x87, 0xe6, 0x34, 0xc1, 0xbc, 0xd0, 0x69, 0x24, 0xcc, 0x9c, 0x69, 0x36, 0x20, 0xdc, 0x78, 0x8c, 0x92, 0x9, 0x23, 0x19, 0xd5, 0x9a, 0x25, 0x4, 0xe2, 0x2, 0x46, 0x3a, 0xbc, 0x21, 0x70, 0x93, 0xb0, 0xcf, 0x86, 0x58, 0x4b, 0xe9, 0x8b, 0x1, 0x41, 0x6c, 0x67, 0x71, 0xdc, 0x53, 0x6e, 0x4e, 0xd9, 0xfd, 0xc9, 0x5d, 0xb5, 0x1, 0x52, 0xcb, 0x1a, 0x3, 0xea, 0xb1, 0x2c, 0xd5, 0x9d, 0x5e, 0x9c, 0x1f, 0x95, 0xa2, 0xbf, 0x42, 0x1a, 0xcb, 0xde, 0x64, 0x7a, 0xc7, 0x48, 0x2e, 0xc, 0x4f, 0x8b, 0xc8, 0x9, 0xc6, 0xb9, 0x21, 0x46, 0x4b, 0xee, 0xe7, 0x3c, 0x9e, 0x93, 0x5, 0x5, 0xc4, 0x4d, 0x58, 0x5f, 0x32, 0x76, 0x12, 0xef, 0x6, 0x9e, 0xb8, 0xc1, 0x32, 0xe3, 0x1b, 0x3b, 0xf1, 0xf1, 0x0, 0x77, 0xcc, 0xf0, 0x5, 0xb3, 0xca, 0x3c, 0xd7, 0x64, 0xce, 0x9f, 0xa2, 0x87, 0x56, 0x53, 0x8d, 0x69, 0x8f, 0x5, 0x74, 0x84, 0xc3, 0x2, 0xbe, 0x3, 0xb2, 0xaf, 0xec, 0x80, 0xdd, 0x4b, 0x89, 0xf, 0x16, 0xb8, 0x45, 0x30, 0x6b, 0x8d, 0x11, 0x25, 0xf, 0x68, 0xb5, 0xc4, 0x15, 0xaa, 0x9, 0x72, 0x57, 0x80, 0x6d, 0x89, 0x1e, 0x46, 0xc2, 0x21, 0x7, 0xbd, 0x25, 0xbf, 0x8e, 0x2e, 0xaf, 0xce, 0x2e, 0x7e, 0xbf, 0x39, 0xf9, 0x78, 0x72, 0x7a, 0x75, 0xf3, 0x6e, 0xf4, 0xfe, 0xea, 0xe4, 0xe2, 0xe6, 0xea, 0xf7, 0xf3, 0x93, 0x9b, 0xc3, 0xf7, 0xef, 0xf1, 0xb7, 0x5f, 0x1d, 0x99, 0xa4, 0x9d, 0xc6, 0x4e, 0x84, 0x92, 0x1e, 0x53, 0xdb, 0xe4, 0x25, 0x40, 0x11, 0x71, 0xaf, 0x55, 0xde, 0xea, 0x0, 0x10, 0xe9, 0x47, 0xf9, 0x86, 0x7, 0x47, 0xdf, 0xf2, 0xec, 0x50, 0xc5, 0x73, 0x7e, 0x47, 0xd3, 0x2f, 0x73, 0x9a, 0x77, 0x55, 0x7b, 0x3e, 0x50, 0xec, 0x8e, 0x29, 0xcd, 0x1e, 0x41, 0x8b, 0xbe, 0xc0, 0x91, 0x1e, 0xa2, 0x4c, 0x13, 0x80, 0x9e, 0x85, 0xd7, 0x23, 0x21, 0x55, 0xc2, 0x14, 0x79, 0xa5, 0xd, 0x55, 0x10, 0xe, 0x86, 0x52, 0xa5, 0x94, 0x6a, 0x83, 0x57, 0xf5, 0x75, 0x59, 0xf3, 0xde, 0x58, 0xef, 0x8e, 0xc4, 0xa3, 0x2a, 0xde, 0x6e, 0xce, 0xcf, 0x5b, 0xff, 0x86, 0x29, 0xec, 0xd5, 0x70, 0xf8, 0xd9, 0xab, 0xe1, 0x7b, 0x35, 0xfc, 0x21, 0x64, 0x7d, 0x1f, 0x6e, 0xf4, 0x9d, 0x93, 0x62, 0x30, 0xfb, 0x37, 0x7f, 0xc0, 0xff, 0xc, 0xe1, 0xff, 0x5b, 0xd, 0xf0, 0x9f, 0xbd, 0xcb, 0xd6, 0x0, 0x20, 0xf7, 0x53, 0xc8, 0x0, 0xc5, 0xe2, 0x58, 0xab, 0x31, 0x23, 0xc2, 0xdc, 0x84, 0x39, 0xe1, 0xe1, 0x50, 0xc8, 0xe9, 0x83, 0x7d, 0xd9, 0x95, 0xf, 0xed, 0xbc, 0xb8, 0xa8, 0x50, 0xbb, 0x97, 0xc, 0xf0, 0xb3, 0x97, 0xc, 0x8f, 0x50, 0x33, 0x52, 0xdc, 0xd1, 0x35, 0x56, 0xda, 0x55, 0x29, 0xd1, 0xfa, 0x80, 0xe6, 0x66, 0x2e, 0xd5, 0x1, 0xec, 0x2f, 0x4b, 0x5c, 0xd7, 0xe7, 0x29, 0x77, 0x80, 0xc4, 0x73, 0x84, 0xdf, 0x5e, 0xe, 0xc9, 0xd5, 0x32, 0x73, 0x6d, 0x2e, 0x29, 0x99, 0xe6, 0x2, 0x90, 0x75, 0x21, 0xb2, 0xbf, 0xaf, 0xc9, 0xab, 0xe7, 0xa0, 0x56, 0x6e, 0xf8, 0x8e, 0xa6, 0x9f, 0xb6, 0x72, 0x7d, 0xa3, 0xf8, 0x6c, 0xc6, 0x14, 0xa4, 0xa7, 0xf6, 0x66, 0xf5, 0x57, 0xf8, 0x52, 0x25, 0x29, 0x95, 0xa6, 0x90, 0x82, 0x6f, 0xe4, 0xdb, 0x48, 0x90, 0x1f, 0x88, 0x1b, 0xb7, 0x96, 0x89, 0xda, 0x0, 0xcd, 0x52, 0xe5, 0xfb, 0x7f, 0xa9, 0xbc, 0xdc, 0xef, 0x1d, 0xb0, 0x5e, 0x64, 0x6e, 0x10, 0xf, 0xc, 0x1b, 0x86, 0xd8, 0x37, 0xff, 0xe2, 0xc0, 0x6b, 0x11, 0xf7, 0xcd, 0xb2, 0x75, 0xe8, 0x53, 0x22, 0xd8, 0x81, 0x9c, 0x4e, 0x49, 0x10, 0x2a, 0x9d, 0xc5, 0xca, 0xd, 0x33, 0xdd, 0x79, 0x89, 0xd3, 0x40, 0xf3, 0x5e, 0xee, 0xc0, 0xcf, 0x5e, 0xee, 0x7c, 0x33, 0x4c, 0xb7, 0xe1, 0x90, 0xef, 0x2e, 0xeb, 0xbd, 0xaf, 0xfb, 0xb, 0x2a, 0x2c, 0x38, 0xa6, 0x22, 0x66, 0x69, 0x6f, 0xe6, 0x7b, 0x81, 0x9a, 0xf5, 0x11, 0xbc, 0xb5, 0x9a, 0x3f, 0xe2, 0xea, 0x98, 0x58, 0x42, 0x26, 0xcb, 0x80, 0x6b, 0x78, 0xf, 0x30, 0x8b, 0x73, 0xb6, 0x24, 0xf7, 0x14, 0xfb, 0xad, 0x7b, 0xf0, 0x1a, 0xfc, 0x78, 0xea, 0x91, 0x1c, 0x22, 0x41, 0xd7, 0x69, 0xe3, 0x2b, 0xda, 0x5, 0xd7, 0xf6, 0xce, 0xe7, 0xa9, 0x71, 0x89, 0x80, 0x82, 0xdd, 0x93, 0xb1, 0x87, 0x37, 0xbe, 0x39, 0xf9, 0xaf, 0x93, 0xa3, 0xeb, 0xab, 0xd1, 0xd9, 0xe9, 0xcd, 0xd1, 0xe1, 0xe9, 0xd1, 0xc9, 0xfb, 0x9b, 0x8b, 0x93, 0xbf, 0x5e, 0x9f, 0x5c, 0x5e, 0x9d, 0x1c, 0x8f, 0x9d, 0x1f, 0x1d, 0xdb, 0x62, 0xdf, 0x2b, 0x6e, 0xc, 0xf3, 0xbe, 0xa4, 0x48, 0x4, 0x2a, 0xbc, 0xdf, 0xb, 0xb0, 0xbd, 0x57, 0xb1, 0xd7, 0x3, 0xa, 0x24, 0x76, 0x16, 0x2a, 0x54, 0x9d, 0x21, 0x19, 0x99, 0xe0, 0x40, 0x73, 0x9c, 0xd6, 0x7b, 0xb6, 0xdc, 0xec, 0x59, 0x52, 0xfa, 0xe, 0xe0, 0xf0, 0x63, 0x4d, 0x18, 0xa2, 0x61, 0xc3, 0x0, 0xd3, 0xe0, 0x1f, 0x23, 0x2f, 0xbd, 0x83, 0xec, 0xe5, 0xca, 0x30, 0x5, 0x49, 0x89, 0x64, 0x5a, 0xbc, 0x34, 0x28, 0xf7, 0xba, 0xa1, 0x80, 0xba, 0xb6, 0x71, 0xe7, 0x85, 0x4c, 0x37, 0xf9, 0x7b, 0x79, 0x3, 0x3f, 0xcf, 0x43, 0xde, 0x74, 0x71, 0xa7, 0xdd, 0xa0, 0x70, 0x87, 0xe4, 0x4e, 0xf7, 0xb9, 0x7f, 0xae, 0x22, 0x48, 0x31, 0xcd, 0xfa, 0x43, 0xa3, 0x5d, 0xd8, 0xa7, 0x57, 0x25, 0xf, 0xc4, 0x4e, 0x61, 0x24, 0x42, 0x45, 0x43, 0xaf, 0x83, 0x42, 0x61, 0xc7, 0xe6, 0x77, 0xde, 0xfd, 0x13, 0x89, 0x42, 0x5a, 0x0, 0xc6, 0xfd, 0xd1, 0xd9, 0x87, 0xf3, 0xf7, 0x27, 0x25, 0x9, 0xf1, 0xa, 0x30, 0x79, 0x35, 0xbf, 0x63, 0xaf, 0x81, 0x29, 0x23, 0x3a, 0xf0, 0x62, 0xc1, 0x12, 0x4e, 0xd, 0x4b, 0x97, 0x4, 0xfb, 0x1a, 0x6, 0x78, 0x22, 0xec, 0x8f, 0x1e, 0x89, 0x72, 0x50, 0x4, 0xf1, 0x36, 0x87, 0x24, 0x7a, 0x71, 0xe2, 0x7, 0x8b, 0x5e, 0x90, 0x5, 0xa3, 0x2e, 0xbc, 0x12, 0x2c, 0xe1, 0x84, 0xc4, 0x72, 0x91, 0xa5, 0xd0, 0xca, 0xa, 0x3f, 0xcf, 0x8d, 0x66, 0xe9, 0x14, 0xb, 0xe7, 0xac, 0x48, 0xc9, 0x52, 0xba, 0xb4, 0x64, 0x17, 0x6d, 0x5a, 0x98, 0xf1, 0x62, 0xea, 0x2f, 0xf0, 0xab, 0x4c, 0xb1, 0x98, 0x41, 0x7b, 0x86, 0xda, 0xd4, 0x2e, 0xaf, 0xe, 0x2f, 0x4a, 0x13, 0x53, 0x6c, 0x41, 0xb9, 0xd0, 0x95, 0xaa, 0x61, 0xd7, 0x96, 0x8f, 0x6a, 0x90, 0x3d, 0xf0, 0x9d, 0x62, 0xa6, 0x83, 0x56, 0x31, 0x18, 0x8a, 0x8e, 0xe3, 0x39, 0x4b, 0xf2, 0x14, 0xcb, 0xa5, 0x15, 0x33, 0x6a, 0x49, 0xf8, 0x1a, 0x41, 0xd4, 0xb4, 0x9b, 0xcf, 0x40, 0x0, 0x35, 0x91, 0xbd, 0x17, 0x3c, 0xf0, 0xb3, 0x17, 0x3c, 0x8f, 0x43, 0xe1, 0x4e, 0x9, 0x9e, 0xa6, 0xf3, 0xfe, 0x5c, 0x5, 0x8e, 0xe6, 0x33, 0x41, 0xd3, 0x37, 0x7f, 0xe0, 0xff, 0x42, 0x37, 0xf3, 0xde, 0xe2, 0xe7, 0x12, 0xde, 0x69, 0xb4, 0x7c, 0x3c, 0xc6, 0x84, 0x66, 0xc0, 0x25, 0x71, 0x74, 0x14, 0x37, 0x1e, 0x35, 0x62, 0x5b, 0xeb, 0xa6, 0xc9, 0xb2, 0xb9, 0x1c, 0xfd, 0x72, 0x7a, 0xf8, 0xbe, 0xcc, 0xd6, 0x63, 0xa9, 0x92, 0x2, 0xfa, 0xa1, 0x6a, 0xc2, 0x78, 0xa, 0x22, 0x1, 0x8c, 0x1b, 0xcd, 0x9f, 0xba, 0x15, 0xd3, 0x2b, 0x12, 0xd2, 0xb2, 0x12, 0x3b, 0xcf, 0xbb, 0x5b, 0xe8, 0xde, 0x33, 0x6f, 0xf8, 0xd9, 0x33, 0xef, 0xc7, 0xa1, 0xb0, 0xe0, 0x2d, 0x1b, 0x4, 0x48, 0x48, 0x2d, 0x40, 0x62, 0x7, 0xf3, 0xa1, 0x91, 0x82, 0x9d, 0x0, 0x7f, 0x71, 0x59, 0x2f, 0xf7, 0xab, 0x91, 0xc8, 0xaf, 0x38, 0xe9, 0x1d, 0x92, 0x58, 0x2d, 0xb7, 0xfc, 0xb9, 0x8a, 0xac, 0x60, 0x63, 0xf4, 0xf, 0x93, 0xf8, 0x37, 0x56, 0x65, 0x55, 0x18, 0x4c, 0xaf, 0xb3, 0x95, 0x26, 0x4b, 0x27, 0x4e, 0x20, 0xb0, 0x51, 0xb6, 0x95, 0xa, 0xf9, 0x73, 0x75, 0x72, 0xf1, 0x61, 0x74, 0x7a, 0x58, 0x32, 0x2c, 0x1a, 0x4, 0x4f, 0x93, 0xbd, 0xe4, 0x5a, 0xe2, 0x36, 0x5a, 0x4a, 0x5d, 0x51, 0x91, 0xd6, 0x89, 0xed, 0xbc, 0xe8, 0x69, 0x27, 0x7d, 0x2f, 0x7d, 0xe0, 0x67, 0x2f, 0x7d, 0x1e, 0x87, 0xc2, 0x1d, 0x62, 0xc4, 0xed, 0x67, 0xfe, 0xb9, 0xf2, 0x62, 0x7, 0xac, 0x2d, 0xe1, 0x92, 0xe9, 0x7, 0x20, 0x6b, 0x57, 0x86, 0x3e, 0xc3, 0x61, 0x56, 0xc0, 0xb1, 0xd1, 0x31, 0xd4, 0xfa, 0xb8, 0x9c, 0xae, 0xe1, 0xdd, 0xfd, 0x50, 0xb0, 0x9b, 0xc6, 0xde, 0x79, 0x36, 0xda, 0x4d, 0xfe, 0x9e, 0x95, 0xc2, 0xcf, 0xa6, 0xac, 0xb4, 0x41, 0x2d, 0x2d, 0x40, 0x3, 0xcb, 0x8a, 0xa8, 0xa1, 0x6a, 0xc6, 0x4c, 0x38, 0x99, 0x3b, 0x92, 0x92, 0xb3, 0xe7, 0xc9, 0xf8, 0x97, 0xd, 0x81, 0xbc, 0x9b, 0x2e, 0xd0, 0xf3, 0xe6, 0xcb, 0x6f, 0xfe, 0x70, 0x81, 0xd1, 0x21, 0x17, 0x59, 0x6e, 0x86, 0x62, 0x23, 0xf7, 0xce, 0x48, 0xdc, 0xc9, 0x5b, 0xc7, 0x7b, 0x8b, 0x14, 0x51, 0x5c, 0xaf, 0x22, 0x15, 0x4d, 0xa, 0xe8, 0xe6, 0x17, 0xee, 0x0, 0x89, 0x65, 0xd2, 0xa9, 0xb3, 0xb6, 0x2c, 0xf8, 0x73, 0xe5, 0xb4, 0x7b, 0x16, 0xb, 0x3f, 0x7b, 0x16, 0xbb, 0x63, 0x2c, 0x76, 0xf5, 0xe6, 0xf7, 0xdc, 0x2, 0xbf, 0xf0, 0xee, 0xa2, 0xcf, 0xa9, 0x48, 0x52, 0xec, 0x9e, 0xce, 0x81, 0x21, 0xd8, 0x1b, 0xbf, 0xbb, 0x1b, 0xb3, 0xfb, 0x92, 0x65, 0xf7, 0x45, 0x4a, 0xd, 0x3e, 0xa7, 0x3b, 0x6, 0x60, 0xa8, 0x6a, 0x8, 0x41, 0x43, 0xa1, 0x9b, 0xae, 0xc7, 0x47, 0x7b, 0x79, 0xfa, 0x7d, 0x58, 0x19, 0x1d, 0xf1, 0x55, 0x1f, 0x3c, 0xe6, 0xff, 0xb4, 0xf8, 0xfe, 0xab, 0x11, 0x5d, 0x2e, 0x8, 0x37, 0xba, 0xec, 0x78, 0x89, 0x4, 0x4d, 0xb5, 0xc, 0x71, 0x59, 0x18, 0x79, 0xca, 0x55, 0x19, 0x4a, 0xcd, 0x50, 0x7d, 0x3b, 0x24, 0x17, 0x2e, 0x57, 0x69, 0xbc, 0x32, 0xaf, 0x43, 0xcc, 0x4b, 0x82, 0x49, 0xb3, 0x64, 0xc, 0xad, 0xfc, 0xa9, 0x88, 0x44, 0xe8, 0x22, 0x59, 0x1, 0xb3, 0x76, 0xe9, 0x4a, 0xda, 0x5e, 0xaa, 0x22, 0xbb, 0xa9, 0x13, 0xbd, 0xb5, 0x79, 0x39, 0x77, 0x5e, 0x36, 0x36, 0x93, 0xbd, 0x17, 0x8d, 0xf0, 0xf3, 0xbc, 0x1c, 0x39, 0xbb, 0x22, 0xbf, 0x76, 0x88, 0x91, 0x37, 0x9f, 0xee, 0x67, 0xc1, 0xc7, 0xdf, 0xd0, 0xd8, 0xf0, 0x3b, 0x6e, 0xb8, 0x7d, 0xda, 0xfd, 0xf7, 0x12, 0x72, 0x5d, 0x5d, 0x6a, 0x4d, 0x7f, 0x46, 0xcf, 0x18, 0x19, 0xe3, 0x8d, 0x4e, 0xe, 0xdd, 0x40, 0x57, 0x54, 0xdf, 0x1e, 0xf9, 0x1c, 0x9d, 0xf1, 0x90, 0x40, 0x90, 0xf6, 0xe, 0x5b, 0xa4, 0xfb, 0x3a, 0x84, 0x38, 0xe5, 0x80, 0x45, 0x0, 0x49, 0x30, 0xb1, 0x54, 0x21, 0xab, 0x7, 0x5c, 0x37, 0x93, 0x65, 0x24, 0xc2, 0x24, 0xde, 0x94, 0x98, 0xa4, 0x27, 0x7c, 0x49, 0x78, 0x2, 0xae, 0x70, 0x46, 0x13, 0xd0, 0x4c, 0xa8, 0xbe, 0x25, 0x46, 0xde, 0xb2, 0x4e, 0xa7, 0x4e, 0x17, 0x9d, 0x3f, 0x2f, 0x47, 0xc9, 0xbf, 0xee, 0x3c, 0x47, 0x5d, 0x37, 0x83, 0x3d, 0x6f, 0x85, 0x9f, 0x2d, 0xcd, 0x8e, 0xa2, 0xef, 0x83, 0x53, 0x7a, 0xc3, 0x9, 0x44, 0x4c, 0x91, 0x52, 0xe, 0x97, 0x3d, 0xda, 0xfe, 0x4c, 0xee, 0x6, 0x87, 0x6c, 0xe7, 0xd8, 0x75, 0x8d, 0x2a, 0xd9, 0x6c, 0x7a, 0x3, 0x92, 0x32, 0x7a, 0xc7, 0x8, 0x5b, 0x64, 0x6, 0x9a, 0x62, 0x3b, 0x55, 0x9f, 0x5a, 0xb5, 0x4e, 0x24, 0x34, 0x95, 0x82, 0xed, 0xd8, 0x5a, 0x14, 0xac, 0xad, 0xf7, 0x5a, 0x4, 0x6, 0x3, 0xad, 0x50, 0x1c, 0x37, 0xdc, 0x89, 0xc9, 0xec, 0x90, 0xe8, 0x5b, 0xc7, 0x86, 0x9e, 0xb7, 0x10, 0x9c, 0x52, 0xde, 0xbf, 0xdc, 0xc3, 0x9, 0x40, 0x2b, 0xc2, 0xca, 0xcb, 0xf1, 0xe, 0x72, 0x43, 0x7b, 0xb, 0x3f, 0xfb, 0xc9, 0x5c, 0xb1, 0x2f, 0x29, 0xf9, 0x90, 0xc2, 0x67, 0x2b, 0xf6, 0xa, 0xf2, 0xf7, 0x32, 0xf, 0x7e, 0xf6, 0x32, 0x6f, 0x2f, 0xf3, 0x1e, 0x41, 0xe6, 0x1, 0xf3, 0xdb, 0x89, 0x89, 0xec, 0xb6, 0xbc, 0x2b, 0xf8, 0xcf, 0xf3, 0x16, 0x76, 0x9b, 0x77, 0xde, 0x6f, 0x91, 0x78, 0xa1, 0xd9, 0x77, 0x6f, 0xa1, 0x17, 0x3e, 0xfd, 0x84, 0x62, 0xaf, 0x95, 0xca, 0xe7, 0x22, 0xf8, 0x3a, 0x27, 0xb0, 0x17, 0x7d, 0xf0, 0xb3, 0x17, 0x7d, 0x7b, 0xd1, 0xb7, 0xad, 0xe8, 0xbb, 0x67, 0x2f, 0x15, 0x2b, 0x58, 0x52, 0x3, 0x58, 0xd4, 0x5e, 0xa, 0x76, 0x33, 0xa3, 0xe7, 0x2d, 0x7, 0x33, 0x9a, 0xeb, 0xfe, 0x6e, 0xcf, 0x73, 0xfb, 0xb4, 0x5f, 0x89, 0x22, 0xbe, 0x5, 0x83, 0xe8, 0x5a, 0x70, 0xa, 0xf3, 0xd0, 0xc2, 0x41, 0x2b, 0x72, 0x26, 0x26, 0x4b, 0x88, 0x45, 0x8d, 0x8e, 0x87, 0xe, 0x9, 0xe5, 0xf0, 0x7c, 0x44, 0x62, 0x2a, 0xc8, 0xa4, 0xe8, 0xc6, 0x1a, 0x2e, 0x5d, 0x91, 0x0, 0xef, 0x7, 0x42, 0xdc, 0x95, 0xce, 0xbb, 0x58, 0x3f, 0xf7, 0x96, 0x6c, 0x6c, 0xcd, 0x5a, 0xc, 0x3, 0x25, 0x96, 0x6f, 0x23, 0x71, 0x40, 0x46, 0xb5, 0x2b, 0xc1, 0xb5, 0x2f, 0xd5, 0x4c, 0x97, 0xe4, 0x9e, 0x72, 0x84, 0xa8, 0x84, 0xcf, 0x62, 0xe1, 0xa2, 0x54, 0xf6, 0x99, 0x72, 0xbf, 0x57, 0x9d, 0x4f, 0x34, 0xfb, 0x9f, 0x1c, 0x5f, 0x81, 0xda, 0xfc, 0x41, 0x24, 0x8, 0xe1, 0xa6, 0x40, 0xee, 0x85, 0x86, 0x85, 0x5, 0xcf, 0x41, 0x0, 0x5f, 0x6e, 0x10, 0x28, 0x1e, 0x16, 0x30, 0x19, 0xb6, 0x50, 0xe3, 0xc3, 0x68, 0xf8, 0xd4, 0x0, 0x80, 0x14, 0x30, 0x45, 0x9a, 0x6b, 0xb2, 0x60, 0x66, 0x2e, 0x5d, 0x99, 0xe6, 0xdc, 0x32, 0x2e, 0x21, 0x9, 0x9b, 0x4e, 0x59, 0x6c, 0xda, 0x86, 0x2b, 0x13, 0x6e, 0xf, 0xbd, 0x9e, 0x33, 0x5d, 0x92, 0xe3, 0xe9, 0x72, 0x50, 0x63, 0x11, 0xae, 0x84, 0x33, 0xd4, 0x9f, 0x6e, 0x34, 0x30, 0x4, 0xfd, 0x9c, 0x9d, 0xff, 0xd6, 0x2e, 0xca, 0xf, 0xe, 0xa6, 0xa0, 0xe8, 0xf9, 0x8, 0x8b, 0x9a, 0xb2, 0xa9, 0x21, 0x7, 0xeb, 0xbf, 0x5c, 0x19, 0x80, 0x2a, 0x46, 0x16, 0x52, 0x1, 0x22, 0xa9, 0xe2, 0x4c, 0x77, 0x8e, 0x12, 0x16, 0xf9, 0x9d, 0x54, 0x24, 0x95, 0x62, 0x76, 0x10, 0x8, 0xe, 0x97, 0x3, 0xe, 0x44, 0xf1, 0x4f, 0xc2, 0xdd, 0xe1, 0x4e, 0xec, 0x89, 0x33, 0xae, 0xf7, 0xaf, 0x2b, 0xe3, 0xaa, 0x60, 0x54, 0xc0, 0x34, 0xa3, 0xc0, 0x8a, 0x6f, 0xf0, 0xad, 0xe8, 0x85, 0x7, 0x75, 0x7e, 0x69, 0xf9, 0xd2, 0x4b, 0x44, 0x41, 0x45, 0x85, 0x2, 0x7e, 0xdb, 0xc1, 0x5b, 0x5e, 0xe, 0x23, 0x11, 0x9, 0x1f, 0x7d, 0xa5, 0xa4, 0x4, 0x84, 0x8a, 0x9a, 0x49, 0x6d, 0x19, 0x33, 0x26, 0x92, 0xd2, 0x64, 0x96, 0x48, 0x12, 0x96, 0xfd, 0xca, 0x3b, 0x9e, 0x40, 0x8f, 0xc1, 0xe, 0xa5, 0xb1, 0xf9, 0x6e, 0xef, 0xbe, 0xae, 0xd8, 0x4c, 0xf7, 0x5e, 0x45, 0x84, 0x9f, 0xaf, 0xa3, 0x22, 0xee, 0x48, 0xf6, 0x4b, 0x7f, 0x1d, 0x71, 0x1a, 0xee, 0xc8, 0x0, 0xef, 0x7b, 0xa3, 0xe4, 0x79, 0x65, 0x65, 0x40, 0xe0, 0xd, 0xaf, 0x43, 0x51, 0xe4, 0x8c, 0xdf, 0x31, 0x51, 0x3c, 0xf, 0x82, 0x6d, 0x34, 0x45, 0xd, 0x72, 0xe0, 0x44, 0x99, 0x6e, 0x16, 0x5a, 0x3b, 0xb2, 0x52, 0xbd, 0x35, 0xc8, 0xab, 0x39, 0x2b, 0x75, 0x2a, 0x2d, 0x3b, 0x50, 0x70, 0x9a, 0x3b, 0x32, 0x9f, 0x1d, 0xd2, 0x1e, 0x9b, 0xd9, 0xd3, 0xf3, 0x56, 0x1a, 0x1f, 0x80, 0xcb, 0xb1, 0xaa, 0x34, 0xc2, 0x20, 0x5f, 0x5b, 0x69, 0xec, 0x4a, 0xbd, 0x2, 0xba, 0x4d, 0x9b, 0xde, 0xf8, 0x3, 0x11, 0xf9, 0x62, 0x82, 0x0, 0x95, 0xd4, 0x18, 0x7b, 0xd9, 0x75, 0xa9, 0x35, 0xb5, 0x13, 0xfb, 0x7f, 0x1a, 0xda, 0x27, 0x8b, 0x7b, 0x82, 0x6d, 0x16, 0x6a, 0xf, 0xc2, 0x33, 0x7c, 0x55, 0x9f, 0x2a, 0xeb, 0x9e, 0xa0, 0x24, 0x21, 0xcc, 0x6, 0x2a, 0x8d, 0x56, 0xa7, 0x74, 0xaa, 0x89, 0x54, 0xe4, 0xe5, 0x2d, 0x63, 0x99, 0x53, 0x3a, 0x5e, 0x86, 0x3f, 0x3b, 0x9e, 0x6, 0x6a, 0x57, 0x50, 0x46, 0x2b, 0x60, 0x1c, 0xe5, 0xea, 0xbb, 0x57, 0x3f, 0x10, 0xcd, 0x18, 0x79, 0xf9, 0x77, 0x6e, 0xc, 0x53, 0x2f, 0xc9, 0x34, 0xa5, 0xb3, 0xd7, 0x4f, 0xa0, 0x83, 0x58, 0x7a, 0xa1, 0xc3, 0x42, 0x77, 0xe0, 0xa6, 0xe1, 0xcc, 0xec, 0xbe, 0x32, 0xd2, 0x4c, 0xf7, 0x5e, 0x19, 0x81, 0x9f, 0xbd, 0x32, 0xb2, 0xb1, 0x32, 0x52, 0x28, 0xf, 0xab, 0x3c, 0x6d, 0xaf, 0x7e, 0xec, 0xd5, 0x8f, 0x3e, 0x21, 0x9c, 0x6, 0x86, 0xf4, 0xec, 0xd5, 0xf, 0x99, 0xde, 0xb1, 0x3, 0xaa, 0xf, 0xd0, 0x6, 0x87, 0xb5, 0xdb, 0x32, 0x71, 0xcf, 0xd, 0xb4, 0xcb, 0xa9, 0xb, 0x9e, 0xc6, 0xe7, 0x12, 0xc3, 0xe9, 0x9c, 0xc0, 0x5e, 0x26, 0xc2, 0xcf, 0x3e, 0x86, 0xb3, 0x8f, 0xe1, 0x3c, 0x4a, 0xca, 0x9e, 0x98, 0x72, 0xb5, 0x40, 0x98, 0x5d, 0x70, 0x4b, 0xb2, 0x7d, 0xe6, 0x7a, 0x9f, 0xf4, 0xbd, 0x12, 0x47, 0x7a, 0xde, 0x42, 0xd1, 0x5, 0x11, 0xfa, 0x83, 0xe, 0xe0, 0xf3, 0xab, 0x76, 0xb9, 0x1b, 0x68, 0x97, 0x2d, 0xf3, 0xd1, 0xb4, 0x62, 0x27, 0x17, 0xa6, 0xf0, 0x0, 0xf9, 0x40, 0xd1, 0x33, 0x71, 0x25, 0x22, 0x52, 0xf, 0x5b, 0xdc, 0x53, 0xed, 0xcd, 0xe8, 0xfb, 0x39, 0x4f, 0x59, 0x93, 0xd1, 0xfd, 0x30, 0xcb, 0x79, 0x18, 0x89, 0x33, 0x11, 0xb3, 0x15, 0xab, 0xde, 0x47, 0x7b, 0x6, 0x56, 0xb7, 0x8, 0x8d, 0x17, 0xed, 0xff, 0xaa, 0xb2, 0x5f, 0x60, 0xc6, 0x84, 0xd5, 0x7, 0x20, 0x60, 0xf1, 0x25, 0xc3, 0x0, 0x6d, 0xe7, 0x62, 0xf7, 0x15, 0x8e, 0x36, 0xca, 0xf7, 0x9a, 0x6, 0xfc, 0xec, 0xad, 0xef, 0xbd, 0xf5, 0xdd, 0xb8, 0x36, 0x7b, 0xeb, 0xfb, 0xe9, 0x8a, 0x9e, 0x5b, 0x58, 0xd2, 0x33, 0x57, 0x35, 0xb6, 0x81, 0x39, 0x5a, 0x59, 0xb, 0x8f, 0x5b, 0x54, 0xe9, 0x10, 0x1, 0x78, 0xd9, 0x60, 0x73, 0xdb, 0xe3, 0x85, 0x1f, 0x84, 0x5f, 0xca, 0xa, 0xca, 0x51, 0x38, 0x83, 0x5f, 0x42, 0x9, 0x69, 0x44, 0xee, 0x68, 0x9b, 0xce, 0x33, 0x10, 0x97, 0x9d, 0xf4, 0xef, 0x85, 0x26, 0xfc, 0xec, 0xcd, 0xf3, 0xbd, 0xcc, 0x6c, 0x5a, 0x9b, 0xbd, 0xcc, 0x7c, 0x62, 0xa0, 0x90, 0x36, 0xbe, 0xf4, 0x3c, 0x24, 0xe7, 0x66, 0xa6, 0xf8, 0xa9, 0x34, 0xec, 0x2d, 0xf1, 0x4d, 0xe1, 0x0, 0xbc, 0x2f, 0x63, 0x8a, 0x2f, 0x98, 0x30, 0x34, 0x5, 0x49, 0x46, 0x45, 0x2, 0xe7, 0x67, 0xc2, 0xe6, 0xf4, 0x8e, 0x4b, 0x45, 0x16, 0x74, 0x49, 0xe2, 0x39, 0x15, 0x33, 0x86, 0xf0, 0xdf, 0xd3, 0xdc, 0xe4, 0x90, 0x6, 0x97, 0x32, 0xaa, 0xd9, 0x30, 0x12, 0x90, 0x76, 0xb0, 0x8a, 0x44, 0x52, 0x32, 0xed, 0x1b, 0x40, 0x5d, 0xb, 0xa3, 0x3e, 0xf4, 0x90, 0x40, 0xd8, 0x1c, 0x12, 0x32, 0x28, 0x9b, 0x5e, 0x2b, 0x80, 0xc8, 0x23, 0x71, 0x40, 0xae, 0x5a, 0xc6, 0x6, 0xc6, 0xec, 0x88, 0x6, 0x47, 0xfa, 0xf8, 0xfc, 0xf0, 0xfa, 0xf2, 0xe4, 0x78, 0x5c, 0xea, 0x1d, 0xd1, 0x0, 0x64, 0x82, 0xf, 0x79, 0x18, 0x13, 0x4d, 0x68, 0x92, 0xb0, 0x0, 0x72, 0xec, 0xf0, 0x4c, 0xec, 0x67, 0x4f, 0xe5, 0x6a, 0xf7, 0x9, 0x4d, 0x8a, 0x8c, 0x9d, 0xa5, 0xfb, 0xd, 0x55, 0x8c, 0x24, 0x5c, 0x67, 0xd4, 0x58, 0xde, 0xb, 0x9, 0x85, 0x7, 0xe4, 0x50, 0x2c, 0xeb, 0xed, 0x9b, 0x42, 0x6, 0xa8, 0x9b, 0x82, 0x98, 0x79, 0xa8, 0x1f, 0xec, 0x5e, 0x15, 0x4c, 0x75, 0x88, 0x10, 0x20, 0x49, 0x3e, 0x4f, 0xb1, 0x34, 0x6a, 0xe5, 0xeb, 0x8d, 0xa3, 0xae, 0xa4, 0x27, 0x1e, 0x90, 0x43, 0x48, 0x32, 0x54, 0x77, 0x4c, 0x1d, 0x68, 0x9e, 0x30, 0x9c, 0xbc, 0x73, 0xe, 0xc4, 0x52, 0x18, 0x2e, 0x72, 0x48, 0x1f, 0x9c, 0x80, 0x51, 0x6f, 0x75, 0x83, 0x42, 0x6b, 0xc2, 0xf7, 0x60, 0x98, 0xbf, 0xe6, 0xc, 0x92, 0x22, 0xff, 0x8f, 0x43, 0x2f, 0xd2, 0x76, 0x6, 0x34, 0xb8, 0x3b, 0x82, 0x28, 0xa, 0x3e, 0x87, 0xbf, 0x83, 0x54, 0xee, 0x52, 0x7a, 0x9a, 0x8f, 0xd5, 0xce, 0xeb, 0x3a, 0xcd, 0x64, 0xef, 0x75, 0x1c, 0xf8, 0x79, 0x32, 0x1d, 0xc7, 0x48, 0x3c, 0x6b, 0x3b, 0x22, 0xe3, 0xfa, 0xeb, 0x33, 0xc7, 0x2b, 0x53, 0xa9, 0x34, 0x9, 0x2a, 0x2e, 0x2b, 0xb9, 0x70, 0xf4, 0xee, 0xc8, 0x14, 0x77, 0x48, 0x8c, 0x37, 0x5f, 0xb9, 0xe7, 0x21, 0xbe, 0x11, 0x51, 0xff, 0xe0, 0x9e, 0x9b, 0xf9, 0x1, 0x60, 0x77, 0x6d, 0xd5, 0x11, 0x84, 0x9b, 0x79, 0xb, 0x2e, 0x58, 0xa9, 0x35, 0x8, 0x13, 0xda, 0xa, 0xf0, 0xd0, 0x1c, 0x84, 0x6b, 0xa2, 0x9d, 0xf5, 0x5b, 0xc8, 0xdc, 0x1, 0x48, 0x2, 0xc2, 0xa7, 0x91, 0x80, 0x24, 0x30, 0xf1, 0xd2, 0x90, 0x25, 0x33, 0x88, 0x2f, 0x56, 0x63, 0xdc, 0xab, 0x3a, 0x7a, 0xe5, 0x40, 0x17, 0xe9, 0xfa, 0x83, 0x9e, 0xdd, 0x43, 0xa0, 0xe3, 0x48, 0x63, 0x3, 0x91, 0x48, 0x54, 0x3b, 0x88, 0xa0, 0xac, 0xe3, 0x9a, 0x54, 0x7d, 0xd8, 0xd, 0x24, 0x40, 0xe3, 0x2a, 0x97, 0x84, 0x2f, 0x15, 0xfc, 0x73, 0x2a, 0x73, 0x1, 0x7e, 0x7c, 0x26, 0x56, 0x1e, 0xf7, 0xdd, 0x48, 0xec, 0xc6, 0x34, 0x43, 0xce, 0x7, 0xd8, 0x33, 0x4b, 0x51, 0x8f, 0x59, 0xe9, 0x1a, 0x32, 0x9a, 0x6b, 0x64, 0x55, 0xea, 0xbf, 0xb8, 0x3a, 0x97, 0xe, 0xf1, 0xb8, 0x6e, 0xc7, 0x77, 0x5e, 0x50, 0xae, 0x9b, 0xc0, 0x5e, 0x64, 0xc2, 0xcf, 0x1e, 0xc4, 0x6c, 0xdf, 0xf9, 0xe4, 0xf9, 0x89, 0xe4, 0x75, 0x97, 0xfb, 0x79, 0x8, 0xe7, 0x4d, 0x3, 0xdd, 0x4f, 0x61, 0x5d, 0x3b, 0xbf, 0xfe, 0xaa, 0x44, 0xf, 0xc1, 0x73, 0x4a, 0x32, 0xc5, 0xee, 0xb8, 0xcc, 0x75, 0xba, 0x5c, 0xb1, 0xb8, 0x7a, 0x58, 0xdc, 0xfe, 0x1b, 0x8f, 0x6e, 0x74, 0x5f, 0x5c, 0x9f, 0x9e, 0x8e, 0x4e, 0x7f, 0x59, 0x63, 0x75, 0x5f, 0x9f, 0xf6, 0xb5, 0xbb, 0x3f, 0x55, 0xd, 0x6e, 0x18, 0x75, 0xd5, 0xe2, 0xb6, 0xd4, 0x2e, 0xba, 0x65, 0x67, 0xdb, 0x9a, 0xee, 0xbc, 0xcc, 0x6c, 0x23, 0x7c, 0x2f, 0x2b, 0xe1, 0xe7, 0x29, 0xcd, 0x4b, 0x77, 0xdd, 0x76, 0xc4, 0xfa, 0xda, 0x1b, 0x98, 0x5f, 0x21, 0xb6, 0xba, 0x33, 0x52, 0x4c, 0x2f, 0xb5, 0x61, 0x8b, 0x3, 0x2e, 0xa6, 0xb2, 0x2c, 0x9b, 0x66, 0xac, 0x5d, 0x34, 0xfd, 0xc2, 0xcc, 0x25, 0xbc, 0x35, 0x12, 0x53, 0x19, 0x9a, 0xc2, 0xdb, 0x11, 0xd4, 0x2, 0xcb, 0x8a, 0xe9, 0x4, 0x92, 0x83, 0xac, 0xae, 0x3, 0xf, 0x76, 0x31, 0xd0, 0xca, 0x68, 0x3b, 0xcf, 0x35, 0x2b, 0xd4, 0x7e, 0x5f, 0xac, 0x72, 0x9b, 0xd3, 0xf6, 0xbf, 0xdc, 0x50, 0x2f, 0x4a, 0x94, 0x4, 0x92, 0x5f, 0x1c, 0xd1, 0x34, 0x9d, 0xd0, 0xf8, 0xd6, 0xae, 0xa9, 0x8f, 0xa0, 0x1c, 0xa5, 0x52, 0x57, 0x13, 0xe4, 0x3d, 0xb, 0x90, 0x93, 0xbf, 0xb3, 0xd8, 0x84, 0x65, 0x58, 0xd1, 0xc2, 0x15, 0x9f, 0xcd, 0x98, 0x82, 0xa8, 0xdd, 0xbd, 0x37, 0xc7, 0x2b, 0x28, 0x9, 0x30, 0xf2, 0xf0, 0x45, 0xe5, 0x1e, 0x94, 0x49, 0xf0, 0x93, 0x7a, 0x5c, 0x12, 0x2a, 0x1e, 0x81, 0x6e, 0x12, 0xc, 0x53, 0x82, 0xa6, 0x7d, 0x3e, 0x9c, 0x29, 0x7b, 0x9b, 0xc, 0xaf, 0x5d, 0x92, 0x17, 0x9, 0x35, 0xf5, 0x23, 0x51, 0x67, 0xa1, 0x95, 0x93, 0x89, 0x57, 0x17, 0x18, 0xe2, 0xb2, 0x86, 0xa0, 0x59, 0x9f, 0xdc, 0x59, 0x46, 0xff, 0x27, 0xb7, 0x1a, 0x26, 0x52, 0x49, 0xec, 0xa7, 0x86, 0xc5, 0xc6, 0xfb, 0xb3, 0xf3, 0xcf, 0xb6, 0xc5, 0xf1, 0xd3, 0xd4, 0x4e, 0x64, 0x24, 0x2c, 0xe5, 0x77, 0x4c, 0x81, 0x2e, 0x89, 0x43, 0xa6, 0x98, 0xfd, 0xe7, 0x54, 0x4b, 0xc7, 0x41, 0x5c, 0x82, 0xc4, 0x1d, 0x55, 0x9c, 0x8a, 0x50, 0x4a, 0xa8, 0x99, 0x31, 0x74, 0x92, 0x32, 0xaf, 0x87, 0x7a, 0xbd, 0xb8, 0x1e, 0x1c, 0x28, 0x87, 0x19, 0x78, 0xcc, 0x1c, 0x4, 0xbd, 0x20, 0xa3, 0xd3, 0x8f, 0x87, 0xef, 0x47, 0xc7, 0x37, 0x87, 0x17, 0xbf, 0x5c, 0x7f, 0x38, 0x39, 0xbd, 0xc2, 0xcb, 0x6, 0x1f, 0x63, 0x44, 0x8a, 0x74, 0x49, 0x14, 0xa3, 0x1a, 0x22, 0x28, 0xd4, 0x60, 0xb4, 0x9b, 0x6b, 0xab, 0x8a, 0xdb, 0xfd, 0xb3, 0xff, 0x39, 0x61, 0x31, 0x14, 0x5e, 0xc7, 0x61, 0x56, 0xa8, 0x37, 0x66, 0x29, 0x8f, 0xc1, 0xe9, 0x43, 0x63, 0x25, 0xb5, 0xdd, 0xf1, 0x5c, 0x5b, 0x2d, 0x83, 0xdc, 0x71, 0x8a, 0x4d, 0x2, 0x57, 0x24, 0x80, 0x3, 0xa4, 0x47, 0xdd, 0x75, 0xe0, 0x42, 0xed, 0x5c, 0x13, 0x6f, 0x42, 0xba, 0x29, 0x66, 0xf9, 0x24, 0xe5, 0xb1, 0x9d, 0x69, 0xcb, 0xf9, 0x39, 0x65, 0x9f, 0x73, 0xbd, 0xcd, 0xe1, 0xc9, 0x55, 0xba, 0xc9, 0xd9, 0x69, 0xd9, 0x5f, 0x72, 0x7d, 0xf1, 0xbe, 0x7c, 0x2e, 0x4a, 0x9c, 0x64, 0xce, 0x68, 0xc2, 0x54, 0xdb, 0x37, 0x6a, 0x64, 0xc2, 0xdf, 0x68, 0x92, 0x0, 0xd3, 0xa0, 0xe9, 0x79, 0x33, 0xd1, 0x4d, 0x54, 0x76, 0xf0, 0xe1, 0xa, 0xc5, 0xbf, 0x2, 0x39, 0xe0, 0xb3, 0x34, 0x86, 0xc6, 0x73, 0x88, 0x89, 0xf9, 0x59, 0x78, 0xcb, 0xa6, 0xe1, 0x84, 0x57, 0x56, 0xff, 0x98, 0x65, 0xa9, 0x5c, 0x5a, 0xf3, 0xcc, 0xb2, 0x90, 0x2b, 0xaa, 0x6f, 0xff, 0x9a, 0xb3, 0x9c, 0x8d, 0x6a, 0x72, 0x75, 0xd3, 0xbd, 0x70, 0x1a, 0x4c, 0xd7, 0x66, 0x34, 0x33, 0x6b, 0x7c, 0xa6, 0xf2, 0x5e, 0x6b, 0x17, 0x47, 0x4f, 0xec, 0x95, 0x7d, 0xa9, 0x71, 0x38, 0x68, 0xb1, 0x70, 0x2e, 0xd3, 0x94, 0xa9, 0x2b, 0xbe, 0x96, 0xa2, 0x16, 0xd6, 0x2, 0xe9, 0x57, 0x86, 0x2f, 0xba, 0xf9, 0xcb, 0x27, 0xcb, 0x30, 0x31, 0x1c, 0x48, 0x34, 0xbd, 0x2f, 0x75, 0x78, 0xc8, 0xe0, 0xfb, 0x2e, 0x1d, 0x83, 0x6b, 0xf4, 0x71, 0xfe, 0x8f, 0x25, 0x1c, 0xef, 0x6, 0xdc, 0x15, 0xbf, 0xb, 0x3d, 0x36, 0xcc, 0x7e, 0x76, 0xc2, 0xc2, 0xec, 0xbd, 0x34, 0x3f, 0x81, 0xa4, 0x6b, 0x7e, 0xc7, 0x2e, 0xa8, 0x61, 0xef, 0xf9, 0x82, 0x9b, 0x6d, 0x36, 0xd0, 0x9d, 0x1f, 0x7d, 0xce, 0xd4, 0x25, 0x8b, 0xa5, 0x48, 0xda, 0xd6, 0xe, 0xeb, 0xb2, 0xdb, 0xd6, 0x6e, 0x9a, 0x4a, 0x6a, 0x3a, 0xd7, 0xcd, 0x72, 0x2c, 0xe6, 0x49, 0x27, 0x8a, 0x1a, 0x46, 0x52, 0x4b, 0x7c, 0x48, 0x5f, 0x29, 0x96, 0xab, 0xe5, 0x5a, 0x2a, 0x3f, 0xdf, 0x4b, 0x99, 0xab, 0xb8, 0xf7, 0xf1, 0xb9, 0xa8, 0xbd, 0x56, 0x21, 0xd2, 0x70, 0x93, 0xc2, 0xf4, 0xf0, 0x8f, 0xde, 0x80, 0x8, 0xef, 0x90, 0x23, 0x29, 0xa6, 0x7c, 0x96, 0xa3, 0x46, 0x38, 0x40, 0xa6, 0xe7, 0x32, 0xe0, 0xa4, 0x8, 0xcf, 0x4f, 0x65, 0x9a, 0xca, 0x7b, 0x2e, 0x66, 0xe4, 0x8e, 0xa6, 0xb9, 0x3, 0xbc, 0xb9, 0x3c, 0xbb, 0xbe, 0x38, 0x3a, 0xb9, 0x39, 0x3c, 0x1f, 0xbd, 0x5, 0x4f, 0x42, 0x69, 0xce, 0xc0, 0xae, 0x21, 0x18, 0x61, 0x3c, 0xc7, 0x25, 0x61, 0xa3, 0xf1, 0x93, 0x84, 0x66, 0x7c, 0x58, 0x1a, 0xe6, 0xd3, 0xd9, 0xc5, 0x6f, 0x27, 0x17, 0x2b, 0x23, 0x71, 0x4c, 0x3b, 0x80, 0xcf, 0xc2, 0x70, 0xe8, 0xdc, 0x28, 0x22, 0xea, 0x21, 0x11, 0x50, 0x14, 0x5f, 0x38, 0xc, 0x29, 0x88, 0x61, 0xdb, 0xcb, 0x9f, 0xba, 0xfc, 0xfd, 0xf2, 0xea, 0xe4, 0x43, 0xdb, 0xa7, 0x9c, 0x96, 0x58, 0xfa, 0xa4, 0x17, 0x5e, 0x20, 0x9, 0xfb, 0x9e, 0xeb, 0x4f, 0x40, 0x5d, 0xc1, 0x96, 0x3e, 0x62, 0x69, 0xa0, 0x3f, 0xe5, 0xee, 0x9f, 0x81, 0xe4, 0x6f, 0x80, 0x49, 0x69, 0x43, 0xcd, 0x8a, 0xb1, 0xb0, 0x76, 0xbc, 0x4b, 0x78, 0xab, 0x53, 0xe3, 0xb1, 0x7a, 0x80, 0xdd, 0x7, 0x3e, 0x25, 0x63, 0xc5, 0x32, 0xa9, 0xcc, 0x8d, 0xbd, 0x4c, 0x37, 0x70, 0x99, 0x6e, 0xe0, 0xb3, 0x63, 0x7f, 0xda, 0x64, 0xd5, 0x21, 0xd6, 0x41, 0xe9, 0xcf, 0xcb, 0x73, 0xc5, 0xa5, 0xe2, 0x66, 0xf9, 0x1b, 0x5b, 0x3e, 0xbe, 0x30, 0xec, 0x39, 0xf1, 0xbe, 0x42, 0xf2, 0xaa, 0x60, 0xb6, 0x40, 0x3d, 0x99, 0x28, 0x46, 0x6f, 0x13, 0x79, 0xf, 0x4d, 0x95, 0x33, 0x37, 0x13, 0x72, 0xcb, 0x96, 0x43, 0x2, 0xb, 0x16, 0x4b, 0x61, 0x28, 0x17, 0x2e, 0x3d, 0x90, 0xa5, 0x4b, 0xc, 0x1a, 0x96, 0x9f, 0xd4, 0x50, 0x6c, 0xb2, 0xc1, 0xe2, 0x1a, 0x9, 0x16, 0x79, 0xdd, 0xeb, 0xb8, 0xee, 0x4a, 0x9c, 0x88, 0x24, 0x93, 0x5c, 0x98, 0x2b, 0xc8, 0x5d, 0x3b, 0xf9, 0xbc, 0xbd, 0x7e, 0xbd, 0x9d, 0x8a, 0x74, 0x7d, 0xf1, 0xde, 0xeb, 0x18, 0x9b, 0x68, 0xce, 0x57, 0x2e, 0x13, 0x58, 0x10, 0xe6, 0xa6, 0xe0, 0xe5, 0xe4, 0x64, 0x9, 0xda, 0x56, 0x24, 0xe, 0xd, 0xa1, 0x24, 0xa5, 0x86, 0x29, 0x2, 0x33, 0x76, 0x95, 0x45, 0x88, 0xff, 0x95, 0x67, 0x76, 0x75, 0x5d, 0xd2, 0xa3, 0x65, 0x62, 0xb1, 0x62, 0x9, 0x13, 0x86, 0xd3, 0x54, 0xf, 0xfc, 0x9a, 0x2e, 0x18, 0x15, 0x56, 0x46, 0xf, 0xec, 0x77, 0xe6, 0xc6, 0x64, 0xc3, 0xb, 0x99, 0x8b, 0xe4, 0x4a, 0xf1, 0x2c, 0x63, 0xca, 0xb3, 0x66, 0x2e, 0x50, 0xaf, 0x8e, 0x4, 0x17, 0xce, 0xb9, 0xea, 0x48, 0x31, 0x92, 0x2c, 0x64, 0xc2, 0xa7, 0xcb, 0x86, 0x1d, 0x6a, 0xde, 0xf, 0x64, 0x54, 0xdb, 0xf2, 0x1f, 0x74, 0xca, 0x3d, 0x7c, 0x4f, 0xa, 0x87, 0x9d, 0x91, 0x44, 0xc9, 0xdc, 0x4, 0xe2, 0xad, 0xa1, 0xd2, 0x72, 0x8f, 0x4d, 0x3, 0xf7, 0xdc, 0xf8, 0xc3, 0x56, 0x5d, 0x2f, 0xeb, 0x32, 0xeb, 0xbe, 0xdf, 0xf7, 0x98, 0xf8, 0x8c, 0x2f, 0xab, 0x36, 0xb9, 0x3c, 0x30, 0x4a, 0x56, 0xbe, 0x6, 0x91, 0x2, 0xe7, 0xcf, 0x8f, 0x8b, 0xf6, 0x7d, 0xb5, 0x1d, 0x7b, 0xcf, 0xc5, 0xad, 0xb7, 0xcc, 0xbf, 0xc4, 0x4e, 0x35, 0xae, 0x76, 0x29, 0x7b, 0xf5, 0x1, 0x6f, 0xab, 0x5c, 0x6c, 0xf0, 0xe2, 0xba, 0x45, 0x3e, 0x24, 0x29, 0x17, 0xb7, 0x60, 0x33, 0x88, 0x52, 0x96, 0xef, 0xca, 0xa2, 0xfd, 0x4c, 0x4d, 0x3c, 0xff, 0x4f, 0x39, 0xd9, 0x66, 0xd1, 0xfe, 0x2e, 0x27, 0x4f, 0x43, 0x39, 0x99, 0xe4, 0x3c, 0x35, 0x7, 0x5c, 0x90, 0x89, 0x25, 0x93, 0xfc, 0x5d, 0x4e, 0x86, 0x91, 0xf8, 0xd9, 0xff, 0xb7, 0xae, 0x97, 0x22, 0x64, 0x4c, 0x59, 0x8d, 0x94, 0x4, 0xf, 0x9e, 0x4b, 0xcd, 0x3, 0xb9, 0x37, 0xd, 0x1e, 0xe, 0x4d, 0x5e, 0xb1, 0xe1, 0x6c, 0x58, 0xb4, 0xe5, 0x1f, 0xb8, 0x90, 0xe7, 0xc0, 0x55, 0xf9, 0xe, 0x8, 0x33, 0xf1, 0x6b, 0x6f, 0xd2, 0x3, 0x39, 0xee, 0x4b, 0x59, 0xe, 0x12, 0x34, 0xf8, 0x4a, 0x7c, 0xe7, 0x37, 0x97, 0xf5, 0x10, 0xb2, 0x19, 0x2c, 0xc7, 0xa3, 0x31, 0x92, 0x60, 0xe8, 0x2d, 0x3, 0x21, 0x44, 0x4b, 0xd3, 0x58, 0xdd, 0x9, 0x38, 0xf9, 0x67, 0x9e, 0xf2, 0xaf, 0x76, 0x88, 0xab, 0xde, 0xcf, 0xdd, 0x39, 0xc5, 0xe5, 0xac, 0x75, 0x64, 0x12, 0x81, 0xd2, 0x86, 0xc5, 0xc, 0xce, 0xb, 0xbb, 0x2f, 0x5f, 0x6d, 0x2d, 0x4b, 0x91, 0x8b, 0x27, 0x5f, 0xca, 0xd2, 0x8b, 0x70, 0x18, 0x2f, 0x40, 0xbb, 0xea, 0xa1, 0x6a, 0x56, 0x96, 0xea, 0xc4, 0xbd, 0xca, 0x14, 0x13, 0x71, 0x8b, 0x1a, 0xeb, 0xd8, 0xfe, 0x28, 0x79, 0xd8, 0x27, 0x2e, 0x4a, 0xaf, 0xaf, 0x7c, 0xa6, 0x51, 0x3d, 0x7a, 0xcf, 0xb5, 0xa9, 0x5b, 0xb, 0xa1, 0x92, 0xa6, 0xfe, 0x87, 0xcb, 0x10, 0x7, 0xf8, 0xe2, 0xe6, 0x2, 0xe6, 0x51, 0x3d, 0x86, 0xff, 0xa1, 0x79, 0xdd, 0x25, 0x64, 0x36, 0xa3, 0x75, 0xd8, 0xdb, 0xf8, 0xad, 0xbc, 0xd4, 0x38, 0xae, 0x55, 0xc7, 0xb4, 0x37, 0xbf, 0x56, 0x97, 0x6f, 0xcd, 0xbe, 0x96, 0xd7, 0xde, 0x3b, 0xa7, 0x1b, 0xcc, 0x3a, 0x3f, 0x6e, 0x97, 0xa6, 0xe1, 0x9e, 0xf1, 0x36, 0xb5, 0xc7, 0x8a, 0x1, 0x5b, 0xf9, 0x9e, 0xfa, 0x58, 0xf9, 0x42, 0x6a, 0x43, 0x14, 0x8b, 0x31, 0xe1, 0xdb, 0x69, 0x85, 0xf8, 0x55, 0x72, 0xdc, 0xe8, 0x5e, 0x29, 0x6f, 0x11, 0x66, 0x8a, 0xef, 0xde, 0x64, 0x1d, 0x61, 0x61, 0xd2, 0xee, 0xd7, 0x7d, 0xe7, 0xa5, 0xe8, 0x22, 0xe3, 0x62, 0xb6, 0x7b, 0xf3, 0x72, 0x84, 0x6d, 0x34, 0xaf, 0x15, 0xa9, 0x10, 0x9c, 0x34, 0x87, 0x8, 0x9, 0xd, 0xd2, 0xbc, 0x89, 0xee, 0xaa, 0x20, 0x8, 0x2a, 0xb3, 0xfd, 0x13, 0x78, 0x73, 0xb6, 0x72, 0x3b, 0x4f, 0x52, 0x39, 0xb9, 0xe4, 0xff, 0x40, 0xbf, 0xd0, 0x89, 0x52, 0xb2, 0xd5, 0x43, 0xdc, 0x7d, 0xcd, 0xb9, 0x30, 0xff, 0xd7, 0xbf, 0x75, 0xae, 0xe1, 0x7, 0xfa, 0x99, 0x2f, 0xf2, 0x5, 0xd1, 0xfc, 0x1f, 0xa0, 0x0, 0x4f, 0x96, 0x86, 0x69, 0xf0, 0x93, 0x65, 0x74, 0x99, 0x4a, 0x9a, 0x90, 0x29, 0x67, 0x69, 0x2, 0x3e, 0x9d, 0x16, 0x55, 0x24, 0x12, 0xa0, 0xe3, 0xc, 0xc2, 0xdf, 0x4b, 0xb0, 0x49, 0x22, 0xcb, 0xd, 0xa6, 0x94, 0xb8, 0x6c, 0x97, 0x81, 0x87, 0x5d, 0x22, 0x9, 0x33, 0x0, 0xb3, 0xed, 0x73, 0xc0, 0xdc, 0xf7, 0xb4, 0x55, 0x86, 0xc0, 0xf1, 0xc9, 0x3e, 0xc7, 0x8c, 0x61, 0x45, 0x5a, 0x61, 0x53, 0x81, 0xf9, 0x86, 0xa1, 0xc, 0x57, 0x4d, 0xea, 0x24, 0x73, 0x88, 0x63, 0x60, 0xd8, 0xa2, 0xf9, 0xec, 0x2e, 0xd8, 0x42, 0x7e, 0xd9, 0x75, 0x35, 0xd2, 0xd0, 0x94, 0xd8, 0xef, 0xd6, 0x96, 0xd8, 0x5a, 0x90, 0x4d, 0x8d, 0x84, 0xd7, 0x8, 0x28, 0xd4, 0xda, 0xa4, 0xaa, 0x94, 0x5a, 0x81, 0x92, 0xe2, 0x2d, 0x49, 0x88, 0x9e, 0x6f, 0x71, 0xf6, 0xdc, 0xf5, 0x79, 0xaa, 0x85, 0x39, 0xa6, 0x86, 0x86, 0x2b, 0x1a, 0xfc, 0xd7, 0xcc, 0x11, 0x3f, 0x24, 0x1f, 0x72, 0x6d, 0xc8, 0x2, 0x94, 0xd7, 0x1a, 0xa3, 0x6a, 0x73, 0x20, 0x65, 0x2c, 0xee, 0x2b, 0xa2, 0xfc, 0x1a, 0x5d, 0xda, 0x77, 0xd6, 0xac, 0x34, 0xa4, 0xbf, 0xdb, 0xeb, 0xfc, 0x81, 0x8a, 0x7c, 0x3b, 0x17, 0x9, 0x7, 0xd7, 0x82, 0x69, 0xf5, 0x6c, 0xf5, 0x30, 0x8d, 0xaf, 0xe6, 0x8c, 0xf8, 0x61, 0x4a, 0xb5, 0x88, 0xb0, 0x7e, 0x34, 0xe0, 0x88, 0x96, 0xe3, 0xbb, 0x6d, 0xec, 0x1b, 0x82, 0x78, 0x5b, 0x50, 0x72, 0x81, 0x51, 0x40, 0x64, 0x11, 0x85, 0x7, 0xb8, 0xe9, 0xb3, 0xdd, 0xeb, 0x7a, 0x91, 0xa7, 0x5b, 0xb9, 0x5a, 0x55, 0x9e, 0xb2, 0xb5, 0x5a, 0xeb, 0xba, 0x35, 0x55, 0xd8, 0x39, 0x7b, 0xa3, 0x25, 0x7c, 0xfa, 0xed, 0xf4, 0x69, 0xf2, 0xc6, 0x51, 0xf8, 0xc4, 0x7b, 0x79, 0x3f, 0x5f, 0xe2, 0x42, 0x58, 0xd5, 0xc7, 0x7d, 0x7b, 0x48, 0xce, 0x65, 0x96, 0xa7, 0x40, 0xc6, 0x54, 0xc9, 0x5, 0x3e, 0x50, 0x7a, 0xbf, 0xc7, 0x46, 0x3, 0x43, 0xf7, 0x3e, 0x46, 0xf7, 0xcf, 0x63, 0x64, 0xfb, 0xdb, 0x6c, 0xbc, 0x65, 0xa4, 0x3f, 0x5b, 0x26, 0xfa, 0x68, 0x3c, 0xaa, 0x8, 0xcd, 0x54, 0x78, 0xb4, 0xdb, 0x18, 0xef, 0x62, 0x4c, 0x97, 0xc4, 0xca, 0x3d, 0x96, 0x78, 0x59, 0xb5, 0x81, 0x79, 0xe9, 0x43, 0x11, 0xba, 0xec, 0xb3, 0x2c, 0x6, 0xc4, 0xa9, 0x13, 0xe5, 0xed, 0x14, 0x17, 0xa5, 0xe7, 0xda, 0x7f, 0xaa, 0x66, 0x78, 0x9e, 0x23, 0x46, 0x90, 0xf7, 0x43, 0xd9, 0xeb, 0x14, 0xee, 0xd5, 0x36, 0x4b, 0xb, 0x97, 0xe0, 0xa9, 0xc3, 0x9a, 0xf6, 0xf0, 0xdb, 0x87, 0x1a, 0x72, 0x52, 0xa, 0x30, 0xa7, 0x36, 0x9, 0x5e, 0x67, 0xc6, 0xa4, 0x9d, 0xdf, 0xd7, 0x39, 0x78, 0xf3, 0x96, 0x37, 0x1, 0x49, 0xb9, 0x28, 0x13, 0x7e, 0xc, 0x93, 0x31, 0xac, 0xaa, 0x63, 0xe9, 0x6f, 0xb1, 0x9f, 0xd3, 0x9e, 0xd1, 0x9b, 0x2a, 0xf7, 0xdb, 0x98, 0x22, 0xf8, 0xd0, 0xba, 0x7b, 0x27, 0xb5, 0x1, 0xd0, 0xd0, 0xe0, 0xe1, 0x71, 0x69, 0xe3, 0x3e, 0xab, 0x7e, 0xab, 0xab, 0x17, 0xa, 0x0, 0xb6, 0x63, 0x7e, 0xdb, 0x17, 0x7, 0xb4, 0x31, 0x67, 0xab, 0x72, 0xf6, 0xd5, 0x7, 0x1c, 0x4f, 0xea, 0x8e, 0x79, 0x5d, 0x32, 0xc5, 0x69, 0xca, 0xff, 0xc1, 0x12, 0x8c, 0x43, 0xbe, 0xd2, 0xaf, 0xc1, 0x3, 0x88, 0x80, 0x9, 0x5, 0x3a, 0x17, 0x92, 0xbb, 0x51, 0x9e, 0x47, 0x1b, 0x5d, 0x98, 0x86, 0xd1, 0x49, 0x15, 0x3e, 0xa2, 0x51, 0x5e, 0x50, 0xc5, 0x48, 0x46, 0xa1, 0x88, 0xb8, 0x46, 0x8e, 0x5f, 0x35, 0x57, 0x65, 0xc, 0xe5, 0xca, 0xdd, 0xb, 0x98, 0x72, 0x71, 0xdb, 0xca, 0x59, 0xa9, 0x52, 0xb4, 0x66, 0x94, 0x71, 0xc3, 0x16, 0x1d, 0x9, 0x28, 0xd, 0x51, 0xbb, 0x8e, 0x89, 0xbf, 0xe7, 0xe2, 0xb6, 0x77, 0x1c, 0xce, 0x3e, 0xec, 0x53, 0xa7, 0xa8, 0xd6, 0x32, 0xe6, 0xa1, 0xb6, 0x2c, 0x58, 0x7e, 0xd5, 0xb4, 0x22, 0x58, 0x12, 0x9f, 0x57, 0xb4, 0x49, 0x20, 0xa1, 0x7a, 0x83, 0x88, 0x62, 0x99, 0x62, 0x1a, 0xfc, 0xb0, 0xda, 0xa3, 0xb5, 0xf9, 0x5, 0xa7, 0x53, 0xc3, 0x54, 0x39, 0xe3, 0xdf, 0x23, 0xc4, 0xff, 0xc6, 0x58, 0x86, 0x7b, 0xe1, 0x13, 0xad, 0xad, 0xa4, 0xd1, 0x4b, 0x11, 0x3b, 0x92, 0xd9, 0x22, 0x93, 0x8a, 0xa6, 0x43, 0x9a, 0xf1, 0x61, 0x70, 0x20, 0xa3, 0x9e, 0x3f, 0xbc, 0xfb, 0x71, 0x58, 0xa5, 0xa1, 0x94, 0xa4, 0xde, 0x14, 0x57, 0x5a, 0x65, 0x2, 0x68, 0x2a, 0xf8, 0xd7, 0xcf, 0x56, 0xa1, 0x7f, 0x36, 0xe5, 0x5, 0xf7, 0x75, 0x4a, 0x56, 0xc7, 0xec, 0xdc, 0xeb, 0x95, 0x99, 0xf8, 0xf7, 0x3b, 0xe3, 0x85, 0x8, 0x24, 0x14, 0x76, 0xc2, 0xa3, 0x9, 0xa1, 0xe7, 0x86, 0x29, 0x46, 0xa4, 0xe2, 0x33, 0xee, 0x84, 0x6b, 0xa8, 0xcd, 0xb8, 0xe3, 0x94, 0x34, 0x97, 0xcc, 0xc, 0xc9, 0x39, 0x55, 0x86, 0xd3, 0xd4, 0x61, 0x14, 0x61, 0xd6, 0x1a, 0x8d, 0x63, 0x96, 0x41, 0xce, 0x9a, 0x48, 0x20, 0x7c, 0xab, 0xa4, 0x7, 0x36, 0xc2, 0xc7, 0x6e, 0x16, 0x54, 0xdf, 0xb6, 0xdc, 0x20, 0x7c, 0xe2, 0x3, 0xd5, 0xb7, 0xdb, 0xe4, 0x8e, 0xe1, 0x47, 0xb5, 0x4b, 0x7e, 0x73, 0x56, 0x38, 0x68, 0x62, 0x63, 0xbf, 0xf2, 0x37, 0xc1, 0x6e, 0xbc, 0x71, 0xeb, 0x30, 0x2e, 0x40, 0xd, 0xb2, 0x2c, 0xe5, 0x50, 0xb7, 0x79, 0x25, 0x49, 0x2e, 0x34, 0x84, 0xc1, 0x60, 0x94, 0x1, 0xc6, 0x98, 0x21, 0x84, 0x2c, 0xf2, 0x34, 0x85, 0x39, 0xe6, 0x1a, 0xd1, 0x99, 0x1c, 0x50, 0xd3, 0x2, 0x11, 0x8e, 0x9, 0x17, 0x9, 0x24, 0xef, 0xb9, 0x2c, 0x12, 0x43, 0xf4, 0x5c, 0xe6, 0x69, 0x62, 0x3f, 0xb0, 0xc8, 0xd, 0x16, 0x53, 0xf6, 0xbf, 0x45, 0x8d, 0x47, 0xb0, 0x7c, 0x99, 0xe0, 0xeb, 0x65, 0x1e, 0x55, 0x86, 0xaf, 0x74, 0x8f, 0x6f, 0x70, 0xbf, 0xf4, 0x66, 0x17, 0xac, 0x4a, 0xde, 0x2a, 0x9e, 0x52, 0xd3, 0x3d, 0xc3, 0x77, 0x6a, 0xf9, 0x34, 0xee, 0xd1, 0x90, 0xd9, 0x83, 0xf, 0x6d, 0x65, 0xeb, 0x34, 0xe4, 0x5f, 0x75, 0x5e, 0xae, 0x22, 0x61, 0xab, 0x59, 0xc7, 0xb0, 0x7f, 0x27, 0x98, 0x76, 0x84, 0xc, 0x14, 0x37, 0x3e, 0x79, 0x7a, 0xa3, 0xd1, 0x1a, 0x1b, 0xa6, 0x9a, 0xed, 0x63, 0xf5, 0x1c, 0xbb, 0x87, 0xeb, 0x34, 0x1b, 0xe7, 0x1b, 0xe4, 0x62, 0x76, 0x76, 0xc7, 0x94, 0xe2, 0x9, 0x3b, 0xe7, 0x42, 0xb0, 0xc4, 0xff, 0x6b, 0x2b, 0x97, 0x9b, 0x2b, 0x1d, 0xeb, 0xb7, 0xc0, 0xeb, 0x28, 0xf9, 0xd9, 0x8f, 0xd6, 0xe9, 0xa, 0xc1, 0xec, 0x26, 0x10, 0x61, 0xe7, 0xa3, 0xd3, 0xd3, 0x93, 0xe3, 0x9b, 0xb3, 0x8f, 0x27, 0x17, 0x17, 0xa3, 0xe3, 0x93, 0x9b, 0x9f, 0x4f, 0x7e, 0x3d, 0xfc, 0x38, 0x3a, 0xbb, 0xb8, 0xb9, 0x3e, 0xbd, 0x3c, 0x3f, 0x39, 0x1a, 0xbd, 0x1b, 0x9d, 0x1c, 0xf, 0x23, 0x1, 0xe0, 0xe7, 0xcd, 0x9f, 0x1a, 0xc3, 0xea, 0x3a, 0xaf, 0x5a, 0xb, 0x67, 0x6a, 0xf1, 0xed, 0x74, 0x71, 0xe8, 0x6, 0xdf, 0x6c, 0xb7, 0xb6, 0xe4, 0x78, 0xae, 0x6e, 0x76, 0xbe, 0x92, 0x8f, 0xde, 0xd5, 0x2e, 0x49, 0xe6, 0x53, 0x15, 0x4b, 0x5, 0x41, 0xc3, 0x48, 0xf8, 0x82, 0x19, 0xdf, 0x50, 0xc5, 0xa1, 0xbe, 0xd5, 0xab, 0xce, 0x43, 0x4f, 0x3d, 0x58, 0xd, 0xc, 0xdc, 0x79, 0x4f, 0x91, 0x2b, 0x56, 0x97, 0xb, 0x6e, 0x3c, 0x13, 0x6f, 0x19, 0xa9, 0x3a, 0xa, 0xba, 0x1a, 0x43, 0xea, 0x60, 0x24, 0xdc, 0xe0, 0xde, 0x5f, 0xe5, 0x99, 0x2b, 0x5a, 0x85, 0x5c, 0x3, 0xaf, 0xaa, 0x3e, 0xb3, 0xc1, 0xb7, 0x1, 0xf5, 0xb6, 0xf4, 0x5d, 0xe9, 0x76, 0xd4, 0x67, 0x3b, 0x44, 0x62, 0x25, 0x77, 0x1b, 0x9d, 0x9c, 0xe4, 0x5c, 0x41, 0x22, 0x1d, 0x6c, 0x14, 0xf6, 0x73, 0x5e, 0x75, 0x7b, 0x3e, 0xe8, 0x6, 0xfd, 0xbc, 0x7a, 0xb, 0xda, 0xae, 0xf9, 0xb, 0x26, 0xf2, 0x45, 0xa5, 0x8, 0xe2, 0x45, 0x9f, 0x43, 0x5c, 0x2e, 0x6b, 0x69, 0x7d, 0x1e, 0xff, 0xe0, 0x27, 0xf3, 0xb7, 0x92, 0x3c, 0xf1, 0x55, 0x23, 0x9b, 0x7d, 0xab, 0x7e, 0x48, 0xc9, 0x41, 0xaf, 0xb, 0xf7, 0x96, 0x5c, 0x8b, 0xa0, 0x43, 0xc, 0x23, 0xd1, 0xf5, 0x1a, 0xfe, 0xe1, 0x2d, 0xf1, 0x2b, 0x59, 0xec, 0x74, 0x28, 0x4a, 0x45, 0x46, 0x8b, 0xb, 0x5e, 0x13, 0x23, 0x78, 0x4f, 0x50, 0x7a, 0x1c, 0xe6, 0x46, 0xea, 0x98, 0xa6, 0x5c, 0xcc, 0x30, 0xcd, 0xb8, 0x6b, 0x53, 0xfa, 0xb2, 0xb7, 0x5, 0x17, 0x38, 0x58, 0xab, 0x6a, 0x6f, 0xad, 0xdc, 0x59, 0x7b, 0xd6, 0x2d, 0x17, 0xe6, 0x5f, 0xff, 0xdc, 0x79, 0xf3, 0xf, 0xd, 0x49, 0x19, 0xd5, 0xae, 0x36, 0x60, 0x41, 0xc5, 0x12, 0xf2, 0x6d, 0x20, 0xb7, 0xcb, 0xe5, 0x5d, 0xd1, 0xf4, 0x9e, 0x2e, 0x35, 0xa8, 0x27, 0xd8, 0x70, 0x89, 0x25, 0xe4, 0x15, 0xd5, 0x3a, 0x5f, 0xd8, 0x8b, 0xa4, 0x53, 0x69, 0x9c, 0xfa, 0x75, 0x47, 0x79, 0x4a, 0x27, 0x29, 0x7b, 0x3d, 0x8c, 0xc4, 0x11, 0x15, 0xae, 0xfd, 0xe6, 0x3f, 0x98, 0x6a, 0x4b, 0x3f, 0x5a, 0xd0, 0xcf, 0x5f, 0x60, 0x7e, 0x10, 0x10, 0x6c, 0x9f, 0x1e, 0x83, 0x4, 0x34, 0x8, 0x4a, 0x8, 0x42, 0xd, 0x91, 0x22, 0x66, 0xce, 0xa3, 0x3d, 0x61, 0xe4, 0x3f, 0x7e, 0x22, 0xe3, 0x5, 0x17, 0x7c, 0x91, 0x2f, 0xc6, 0xad, 0xc6, 0x2b, 0xb7, 0xaa, 0xe8, 0x53, 0xcf, 0xe4, 0xaa, 0x32, 0x83, 0x2, 0xb3, 0xba, 0xd8, 0x14, 0x47, 0x48, 0xba, 0x24, 0x13, 0x36, 0x95, 0x8a, 0x11, 0x77, 0x20, 0xc9, 0x2d, 0x8f, 0x6f, 0xad, 0x5a, 0x55, 0x4c, 0x6b, 0xc2, 0xcc, 0x3d, 0x63, 0x22, 0x12, 0xc5, 0xec, 0x10, 0xbb, 0x63, 0x81, 0x21, 0x90, 0xf1, 0x5a, 0xa6, 0x54, 0x3e, 0xfc, 0x97, 0x7c, 0x91, 0xa5, 0xec, 0x11, 0xcf, 0xfd, 0xe3, 0x9c, 0x8b, 0x5e, 0x33, 0xd8, 0x28, 0xb0, 0xf9, 0x65, 0x23, 0x34, 0x2b, 0x9a, 0x47, 0xa6, 0x58, 0x8c, 0x6e, 0xde, 0x6b, 0xcd, 0xc8, 0xb8, 0x28, 0x16, 0xb8, 0x71, 0xa3, 0xb7, 0x1d, 0x51, 0x2c, 0x48, 0xdf, 0x52, 0x83, 0x70, 0x55, 0x77, 0xeb, 0x9c, 0x44, 0xae, 0xf8, 0xbd, 0x2d, 0x90, 0xeb, 0x75, 0x89, 0x16, 0x4a, 0x93, 0x15, 0xbd, 0xe5, 0x9, 0xd5, 0x9e, 0xa2, 0xca, 0xb7, 0x91, 0x96, 0x27, 0xce, 0xd7, 0x48, 0x14, 0xe5, 0x82, 0xce, 0xd8, 0xe5, 0x46, 0x9b, 0xe3, 0xe6, 0x75, 0x5c, 0x7d, 0x79, 0xb3, 0x73, 0xe3, 0xde, 0xbd, 0xe1, 0x62, 0x2a, 0xc7, 0xbe, 0x47, 0x4e, 0xdb, 0x86, 0xb8, 0x87, 0x6b, 0x4e, 0xea, 0x4d, 0x68, 0xac, 0x15, 0xc6, 0x96, 0x2d, 0x9a, 0xd1, 0x4a, 0xd1, 0x6d, 0x90, 0xc0, 0xfe, 0xc3, 0x56, 0x2, 0xcf, 0x59, 0x8a, 0x56, 0x62, 0xae, 0x19, 0xa8, 0xcb, 0x90, 0x99, 0xe7, 0x7c, 0xd1, 0x58, 0x79, 0xa0, 0xe9, 0x94, 0x45, 0xc2, 0x48, 0x92, 0xb0, 0x58, 0x2e, 0x16, 0x5c, 0x63, 0x1f, 0xa1, 0x70, 0xdc, 0xc8, 0x29, 0xb4, 0xe6, 0x3, 0x9b, 0xd5, 0xf5, 0x1c, 0xf0, 0xa, 0x62, 0xd1, 0x79, 0x9a, 0x48, 0xe5, 0x33, 0x12, 0x3a, 0xf3, 0x43, 0x2e, 0xb9, 0x88, 0x9f, 0xdc, 0xe3, 0x7e, 0x2d, 0x5c, 0x5a, 0xb9, 0x15, 0xa4, 0xee, 0xc3, 0xdd, 0xe9, 0x1d, 0x5f, 0x9e, 0x2c, 0xf7, 0xe1, 0xa1, 0x83, 0x3a, 0x4c, 0x8a, 0xe8, 0x40, 0x88, 0x16, 0x43, 0xe9, 0x13, 0x40, 0x65, 0x69, 0xff, 0xf8, 0x0, 0xde, 0x95, 0x82, 0x30, 0x1a, 0xcf, 0xe1, 0x97, 0xe, 0x2b, 0xa3, 0x6d, 0x7a, 0x98, 0xa4, 0xe4, 0xcc, 0xf6, 0x27, 0x9e, 0xdf, 0x7b, 0xd0, 0x86, 0xf8, 0x82, 0x91, 0xb1, 0x5b, 0xf4, 0x1b, 0x6d, 0xd7, 0xf5, 0xc6, 0xfe, 0x6e, 0x3c, 0x20, 0x63, 0x37, 0x89, 0xd2, 0x6f, 0x7, 0xf6, 0xdc, 0xc0, 0xef, 0x6f, 0x32, 0xa6, 0x62, 0x26, 0xc, 0x9d, 0xb1, 0x31, 0xb2, 0xc0, 0x52, 0x53, 0x2b, 0x9c, 0x63, 0xdb, 0x45, 0x83, 0x85, 0x82, 0xd8, 0x10, 0x5c, 0x87, 0x27, 0x8f, 0xe7, 0xf0, 0x5, 0xd3, 0xc6, 0x2e, 0xbd, 0xdb, 0xb2, 0x12, 0xa1, 0xb8, 0x67, 0x13, 0x16, 0xd3, 0x5, 0x6b, 0xb8, 0x1a, 0x6d, 0x3e, 0x68, 0xaa, 0xcd, 0x11, 0x3e, 0xfc, 0x35, 0x89, 0xb7, 0x64, 0xd4, 0x68, 0x47, 0x7d, 0xb4, 0x9c, 0x9, 0x5c, 0x61, 0x21, 0x66, 0xe, 0xbe, 0x29, 0x3f, 0xc0, 0x9c, 0x6a, 0xaf, 0x14, 0x32, 0x41, 0x8e, 0x3a, 0x2f, 0x9e, 0xfd, 0xd8, 0x31, 0xa3, 0x3b, 0xb1, 0x6b, 0x30, 0x71, 0x6d, 0x64, 0x96, 0xb1, 0x84, 0x4c, 0x18, 0x14, 0x48, 0xac, 0xee, 0x5d, 0x24, 0x8e, 0x52, 0x46, 0x4b, 0x96, 0xba, 0x7f, 0x7d, 0x62, 0xf9, 0x26, 0x6b, 0x62, 0x85, 0x84, 0xce, 0x28, 0x6f, 0x13, 0xd8, 0xb1, 0x5c, 0x64, 0xb9, 0x61, 0x9b, 0x65, 0x1d, 0x1e, 0x95, 0x5f, 0xf2, 0xca, 0xd5, 0x86, 0xea, 0x9a, 0x63, 0xec, 0x56, 0x82, 0xd4, 0x6b, 0xc1, 0x9e, 0x73, 0xd1, 0x6a, 0xeb, 0xdc, 0xdb, 0x72, 0x70, 0xb7, 0x98, 0x27, 0x44, 0x54, 0x36, 0xcb, 0xc6, 0xa8, 0x47, 0xe4, 0x1b, 0xd7, 0x1, 0xc6, 0xbd, 0xda, 0x60, 0x31, 0x4e, 0xc2, 0xb, 0xab, 0xb, 0xd1, 0xe6, 0xe, 0xa8, 0x2e, 0x3, 0xb8, 0x85, 0x48, 0xc2, 0x55, 0x25, 0x22, 0x8f, 0xe, 0xa6, 0x4a, 0xe6, 0x1b, 0x31, 0x73, 0x25, 0xf3, 0x19, 0x6, 0x9b, 0xf0, 0x37, 0xa3, 0xe3, 0x6, 0xc3, 0xbe, 0x2b, 0x1f, 0x79, 0xfb, 0x72, 0xda, 0x2d, 0x12, 0xb7, 0x9f, 0x7a, 0x5d, 0x57, 0xe7, 0x8b, 0x6b, 0xcb, 0xc5, 0xa6, 0xab, 0xeb, 0xe6, 0xda, 0xbe, 0xbe, 0x17, 0x79, 0xa, 0xa5, 0xa6, 0x52, 0x14, 0xff, 0xff, 0x8e, 0x9b, 0xe5, 0x79, 0x1d, 0x69, 0xac, 0xb6, 0xca, 0xad, 0x83, 0x5d, 0x66, 0x2c, 0xf6, 0x83, 0x40, 0xe4, 0x88, 0x8b, 0x99, 0x3, 0xb3, 0xd8, 0x2a, 0xc1, 0x42, 0x31, 0x8c, 0xa8, 0x6c, 0x72, 0x53, 0x8a, 0xa4, 0x54, 0x9f, 0x19, 0x10, 0x86, 0xc1, 0x5, 0xbd, 0xfc, 0xeb, 0xfb, 0x83, 0x94, 0xdf, 0x5a, 0x8b, 0x49, 0x41, 0xeb, 0x2b, 0x9e, 0x42, 0xdd, 0x9b, 0xf, 0x84, 0xc, 0x23, 0x31, 0x32, 0x65, 0xb0, 0x52, 0x4c, 0xb0, 0x3, 0x66, 0xac, 0xcb, 0x8a, 0x32, 0x35, 0xd4, 0x21, 0x3e, 0x14, 0x65, 0xc6, 0x21, 0x1d, 0x81, 0x1a, 0xa3, 0xf8, 0x24, 0xf7, 0x31, 0x32, 0x57, 0x44, 0xc7, 0x12, 0x2, 0x69, 0xa, 0xca, 0x78, 0x43, 0x2d, 0x10, 0x7, 0xa5, 0xc9, 0xa1, 0x59, 0xdb, 0x32, 0x63, 0x6f, 0xc9, 0xa1, 0x8, 0xbf, 0x20, 0xf6, 0x37, 0xbe, 0xd2, 0x77, 0x41, 0x33, 0x90, 0xf, 0x72, 0x4a, 0x28, 0x26, 0x1, 0x60, 0x3d, 0x51, 0x78, 0xf8, 0x38, 0x9c, 0xc6, 0xe1, 0xb0, 0x3c, 0xec, 0x28, 0xc1, 0xe2, 0xe1, 0x55, 0x88, 0xfe, 0xca, 0x63, 0x87, 0xe8, 0xda, 0xc0, 0x67, 0x5d, 0xdf, 0xef, 0xd0, 0xf4, 0xbb, 0xe9, 0xc5, 0x9f, 0x69, 0x7c, 0x2b, 0xa7, 0x53, 0x40, 0x20, 0xb9, 0xa3, 0x29, 0xbe, 0xe8, 0x5, 0x1a, 0x5d, 0xc8, 0x5c, 0xe0, 0x7c, 0xad, 0x76, 0xe7, 0x5c, 0x20, 0xa5, 0x66, 0x10, 0x9d, 0x43, 0x97, 0x8e, 0x95, 0xc9, 0x35, 0x8e, 0x5c, 0x35, 0x75, 0xc3, 0xe3, 0xe4, 0xa8, 0x52, 0xff, 0x1d, 0xbd, 0xb8, 0xf4, 0x9f, 0x88, 0x5e, 0xc, 0xec, 0x3f, 0x11, 0x28, 0x3, 0xff, 0x1, 0x67, 0x3d, 0x89, 0x5e, 0xc0, 0x47, 0x82, 0x50, 0x70, 0x53, 0x2e, 0xe5, 0x55, 0x94, 0xb, 0xec, 0xca, 0xa9, 0x18, 0x45, 0xb8, 0xd4, 0x41, 0x7c, 0x94, 0x12, 0x73, 0x5c, 0xdc, 0x4f, 0xe5, 0x82, 0x80, 0x8f, 0xbb, 0xe1, 0x24, 0xfa, 0xa2, 0xca, 0x6a, 0x91, 0xba, 0x74, 0x9, 0xab, 0xfa, 0x6d, 0x24, 0xc8, 0xf, 0xe4, 0xa7, 0x1, 0xf9, 0xdf, 0x3f, 0xd, 0xc8, 0x7f, 0xc, 0xc8, 0x7f, 0xfc, 0x34, 0x20, 0xff, 0x3e, 0x20, 0xff, 0xfe, 0x13, 0xfc, 0xfe, 0xf0, 0xf4, 0x78, 0x40, 0xce, 0x2e, 0x6, 0xe4, 0xd5, 0x6b, 0xf8, 0xf7, 0xcf, 0x27, 0x57, 0x9f, 0x4e, 0x4e, 0x4e, 0xc9, 0x70, 0x38, 0xb4, 0x7f, 0x83, 0xfe, 0xe7, 0x0, 0xd, 0x7b, 0x79, 0xf3, 0x69, 0x74, 0xf5, 0xeb, 0x26, 0x85, 0x3d, 0x1, 0xcb, 0xce, 0x41, 0xd1, 0x4, 0x27, 0x3e, 0xfe, 0xdb, 0x5b, 0x1a, 0xe5, 0x66, 0x34, 0xf6, 0x52, 0x21, 0x6e, 0x93, 0x44, 0x7b, 0xa3, 0x85, 0xeb, 0xb8, 0x2c, 0xdc, 0x23, 0xb0, 0xee, 0xfd, 0xd6, 0x6c, 0x9b, 0x80, 0xeb, 0x4f, 0x51, 0x5f, 0xce, 0xec, 0xbf, 0xbb, 0xde, 0x9d, 0xe2, 0x1e, 0x84, 0x8d, 0x1e, 0x90, 0x4c, 0xa6, 0x3c, 0xe6, 0x4c, 0xf, 0x5c, 0xf9, 0x98, 0xeb, 0x4d, 0x8f, 0x9e, 0x3f, 0x38, 0x90, 0x6d, 0x46, 0x94, 0x77, 0x53, 0x5a, 0x26, 0xb2, 0x29, 0x95, 0xf8, 0x52, 0x17, 0xa9, 0x18, 0x6f, 0x85, 0xbc, 0x2b, 0x24, 0x5, 0x90, 0xfe, 0x7d, 0x21, 0x9d, 0x84, 0x33, 0xe8, 0xcf, 0xa6, 0x14, 0xe0, 0x64, 0x2d, 0xf7, 0xf2, 0x7b, 0xfd, 0x65, 0xb3, 0x36, 0x5d, 0x8f, 0xa3, 0xfb, 0xb9, 0x74, 0xf4, 0x1a, 0xdf, 0xb, 0xa6, 0xbb, 0xee, 0xbd, 0xaf, 0xf4, 0xee, 0xf4, 0x48, 0x93, 0x5c, 0x70, 0x40, 0x20, 0x2, 0xa2, 0xa6, 0xbc, 0xc, 0x9, 0x82, 0x2e, 0xa7, 0x20, 0x39, 0xed, 0xef, 0x79, 0xc2, 0x16, 0x99, 0x34, 0xc, 0xdc, 0xd2, 0x57, 0xcb, 0x8c, 0xc7, 0xe0, 0xe2, 0xbd, 0xbe, 0x1e, 0x1d, 0xdf, 0xfd, 0x5b, 0x47, 0xca, 0x7c, 0xdf, 0x3d, 0xfe, 0x60, 0x9f, 0xed, 0x22, 0xd8, 0x3e, 0x0, 0xa7, 0x4c, 0x33, 0xaa, 0xac, 0x0, 0x2a, 0x24, 0x4a, 0x5, 0x72, 0xc6, 0x94, 0x4f, 0x2b, 0x37, 0x9a, 0xa5, 0xd3, 0x36, 0x77, 0x24, 0xc, 0x74, 0x18, 0xc6, 0xe9, 0x7d, 0x1c, 0xeb, 0xef, 0xf5, 0x54, 0x9b, 0x2b, 0x37, 0xbe, 0x6e, 0x47, 0x6c, 0x7b, 0xf3, 0x1f, 0xe1, 0x88, 0xfa, 0xcb, 0x33, 0x24, 0xdf, 0xcd, 0x61, 0x5d, 0x27, 0x0, 0x70, 0xaf, 0xb4, 0x87, 0x4a, 0xad, 0xed, 0x59, 0x1f, 0xce, 0xde, 0x62, 0x2f, 0x6e, 0xbb, 0xdd, 0x6b, 0x1d, 0xd4, 0x5d, 0xc8, 0x17, 0x2d, 0x83, 0xc2, 0xdf, 0x26, 0x39, 0x4f, 0x93, 0x95, 0xcd, 0x5a, 0xb7, 0x61, 0x1b, 0x6f, 0xda, 0xc7, 0x10, 0x15, 0xf, 0x8, 0x65, 0x25, 0xe7, 0x3c, 0xfa, 0x52, 0xa9, 0xd7, 0xc, 0x87, 0x91, 0x38, 0x95, 0x86, 0x8, 0x16, 0x33, 0xad, 0xa9, 0xe2, 0xe9, 0xd2, 0xf, 0x5d, 0x7a, 0xbd, 0xa8, 0xb9, 0x47, 0x25, 0x34, 0x96, 0x8b, 0x9, 0x17, 0xe8, 0xd3, 0x95, 0xd3, 0x4a, 0x98, 0xc2, 0x3e, 0xea, 0x2, 0x4d, 0x30, 0xdd, 0x1b, 0x9e, 0x8c, 0xdd, 0x88, 0xe9, 0xb2, 0x20, 0x57, 0x3, 0xa9, 0x91, 0x68, 0xa0, 0x35, 0x7c, 0x6c, 0x10, 0xa0, 0xcb, 0x4a, 0xe4, 0xc3, 0x5f, 0x41, 0xcf, 0xad, 0x92, 0x49, 0x57, 0x80, 0x1, 0xea, 0x7, 0x91, 0xac, 0xcb, 0x5b, 0x6c, 0x46, 0x4, 0x2d, 0xe5, 0xe6, 0xac, 0x89, 0x25, 0x6c, 0xed, 0x26, 0xe9, 0xc9, 0x41, 0x8e, 0x3c, 0x6c, 0x9, 0xac, 0x96, 0x6b, 0xcd, 0xc3, 0x14, 0x71, 0x4, 0x60, 0xcb, 0x6a, 0x8f, 0x57, 0x14, 0xb0, 0x95, 0xf0, 0xb2, 0x44, 0xa2, 0x74, 0xc5, 0xc8, 0xb5, 0x35, 0x3b, 0x20, 0xf9, 0x7, 0x47, 0xd0, 0x31, 0x4d, 0x21, 0xbd, 0x9a, 0xce, 0x58, 0x47, 0xa9, 0xe1, 0x9e, 0x1f, 0xf6, 0xe6, 0x87, 0x90, 0x73, 0x42, 0x89, 0x86, 0xbc, 0x90, 0xf0, 0x5e, 0x91, 0xc, 0x6c, 0xd5, 0xff, 0xd1, 0xb1, 0x6b, 0x1, 0xc1, 0xd9, 0x1d, 0x4b, 0x6, 0xee, 0x86, 0xc6, 0x52, 0x68, 0x9e, 0x80, 0x1e, 0x4c, 0xcb, 0x48, 0xa1, 0x42, 0x1e, 0xc8, 0xc, 0xd2, 0x71, 0x8c, 0x5a, 0x62, 0x9b, 0x23, 0xc8, 0x3d, 0x49, 0xf8, 0x14, 0x8c, 0x76, 0x53, 0x32, 0xca, 0xc3, 0xe6, 0xc3, 0x77, 0x92, 0xea, 0x2d, 0x22, 0xff, 0x2, 0xe0, 0xa, 0x89, 0xfb, 0x7e, 0x53, 0x89, 0xde, 0x76, 0x2c, 0xbc, 0x1a, 0x6, 0x5c, 0xcb, 0xc9, 0xbd, 0x85, 0xbf, 0xb5, 0x9e, 0xbe, 0x41, 0xe1, 0x59, 0xdd, 0xb3, 0xd0, 0xaf, 0x2e, 0xc9, 0x63, 0x91, 0xe0, 0x5, 0x6b, 0x73, 0xf6, 0x4b, 0x15, 0xb3, 0xcb, 0x98, 0xb6, 0x4a, 0x8f, 0x89, 0x94, 0x29, 0xa3, 0xdd, 0xe1, 0xcb, 0xd1, 0x14, 0xf1, 0x7d, 0x43, 0x91, 0x41, 0x3d, 0x8f, 0xd4, 0x6b, 0x65, 0x45, 0xff, 0x2b, 0xdf, 0xf5, 0xa3, 0x80, 0xba, 0xb8, 0xe3, 0xb4, 0x82, 0x9e, 0x31, 0x9a, 0x7a, 0x60, 0x4a, 0x52, 0x1f, 0x18, 0xf0, 0x24, 0x4b, 0xa3, 0xa3, 0xb, 0x1a, 0xd, 0x32, 0xf0, 0x36, 0xfb, 0xec, 0x26, 0x8c, 0xc7, 0x19, 0xae, 0x5d, 0xa, 0xce, 0x1d, 0xd7, 0x7c, 0xc2, 0x53, 0x6e, 0x96, 0x37, 0xff, 0x93, 0x33, 0x15, 0xaa, 0xb2, 0x2b, 0x34, 0x7b, 0x2f, 0x87, 0x66, 0xa9, 0xaf, 0x13, 0x2d, 0xa8, 0xb4, 0x8a, 0x66, 0x96, 0xa5, 0x45, 0x3d, 0x45, 0x3b, 0xa6, 0xcd, 0x63, 0x5c, 0xf3, 0xeb, 0x10, 0x26, 0x38, 0x48, 0xf2, 0xac, 0x40, 0xb2, 0x29, 0xdf, 0xe1, 0x22, 0xa9, 0xd6, 0xde, 0xe6, 0xa7, 0x63, 0x86, 0xa3, 0xc6, 0x8a, 0x33, 0xcb, 0xfd, 0x56, 0xa, 0xce, 0xc8, 0x27, 0xdf, 0x2f, 0x1d, 0xb, 0x94, 0x2, 0x27, 0xe9, 0x28, 0x47, 0xab, 0x7e, 0xed, 0xc1, 0xa9, 0xa2, 0xf5, 0x3a, 0xb3, 0xbe, 0x94, 0xf4, 0xd1, 0xdb, 0xdf, 0x31, 0x13, 0xcf, 0xcb, 0xf9, 0x26, 0x3b, 0xa0, 0xb2, 0x3f, 0xae, 0x60, 0x7a, 0xbc, 0x44, 0x5d, 0x5f, 0xd9, 0x50, 0x48, 0xfd, 0x5, 0x15, 0xc9, 0xa0, 0x82, 0x84, 0x63, 0x9f, 0xa3, 0x79, 0xc2, 0xd, 0xc9, 0x72, 0x95, 0x49, 0xdd, 0x76, 0x34, 0xf0, 0x26, 0xf6, 0xcd, 0xae, 0xf5, 0x29, 0x18, 0x97, 0xfe, 0xad, 0x35, 0x59, 0xb4, 0x5c, 0x30, 0x9f, 0x27, 0x8f, 0xc4, 0xea, 0xe0, 0xaf, 0x62, 0x31, 0xe3, 0x77, 0xcc, 0x9, 0x55, 0x9c, 0xc1, 0x30, 0x12, 0xc0, 0x7e, 0x34, 0x17, 0xb3, 0x34, 0x34, 0x3, 0xb4, 0x7c, 0xa6, 0x70, 0x68, 0xba, 0x2c, 0x2f, 0xc3, 0x17, 0xed, 0xb5, 0x97, 0x1a, 0x60, 0x1c, 0xb7, 0x62, 0xe, 0x17, 0x6e, 0x10, 0x2f, 0x42, 0x5d, 0x74, 0xba, 0xa6, 0x7a, 0x39, 0xa, 0x67, 0x4a, 0xe6, 0xe0, 0x23, 0xbd, 0x65, 0xeb, 0xab, 0x6c, 0x57, 0x7a, 0x79, 0x99, 0x78, 0xfe, 0x58, 0xe, 0xaa, 0xec, 0xe1, 0x7e, 0x9f, 0xbd, 0x67, 0x86, 0x6b, 0x5f, 0x63, 0xb1, 0x95, 0xb1, 0xdb, 0xbd, 0xd9, 0xa5, 0x8e, 0xe5, 0xdb, 0x6e, 0x76, 0x28, 0xc0, 0x78, 0x70, 0x59, 0x4f, 0x8b, 0x95, 0x53, 0x6a, 0xa2, 0x26, 0xa6, 0x72, 0xc3, 0xf6, 0xca, 0xcf, 0xe1, 0x1c, 0xf1, 0x6d, 0xe, 0x10, 0x60, 0x41, 0x56, 0x4b, 0x63, 0x51, 0xee, 0x71, 0x6d, 0x99, 0x45, 0xad, 0xe5, 0x68, 0xff, 0x18, 0xf2, 0x6, 0x24, 0xc0, 0x31, 0x22, 0x34, 0x4d, 0x83, 0xaa, 0x57, 0xb4, 0x93, 0xf, 0x9, 0x29, 0x76, 0x3c, 0x34, 0xed, 0xd9, 0x5b, 0x72, 0x52, 0xee, 0xcb, 0x73, 0x50, 0xed, 0xc8, 0x23, 0xa7, 0x48, 0xac, 0x87, 0x2b, 0x43, 0x97, 0xfc, 0x32, 0x63, 0x64, 0xc1, 0x67, 0x73, 0xd3, 0xd5, 0xad, 0xe7, 0x69, 0x45, 0x9d, 0xef, 0x71, 0xd9, 0xf, 0x3c, 0xe1, 0xf1, 0x15, 0x42, 0xfc, 0x78, 0x50, 0xb, 0x37, 0xaa, 0x29, 0xaf, 0x65, 0xe3, 0x55, 0x2e, 0x7e, 0xbd, 0x40, 0x70, 0xdc, 0x6d, 0x1f, 0x35, 0xbf, 0xbb, 0x2d, 0xf7, 0xe8, 0x3, 0x2c, 0xd6, 0xad, 0xc, 0xa, 0xd2, 0xd0, 0x6b, 0xc5, 0x6a, 0x27, 0x4d, 0x9d, 0xc5, 0x9f, 0x3, 0x5b, 0xf8, 0x3a, 0xe7, 0xf6, 0x8b, 0x28, 0x2b, 0x51, 0xa8, 0x9, 0x7d, 0x1b, 0x1a, 0x7e, 0xdd, 0xf0, 0xe4, 0x9f, 0xd1, 0x8b, 0xe0, 0xfc, 0x29, 0xb7, 0x93, 0x7, 0x3e, 0xa2, 0x48, 0x14, 0xa, 0xde, 0xdf, 0xfe, 0xe1, 0xff, 0xab, 0xf4, 0xd6, 0xea, 0x46, 0x73, 0xd6, 0x56, 0xdf, 0xf4, 0x75, 0xee, 0xe7, 0xda, 0x6b, 0xd5, 0xdc, 0xe1, 0x66, 0xf7, 0xae, 0x55, 0x5b, 0xb, 0xa3, 0xc2, 0x89, 0xe6, 0x4c, 0x7a, 0x57, 0xfb, 0xee, 0xea, 0x96, 0x7c, 0x54, 0x1c, 0x82, 0xc3, 0x75, 0x31, 0xde, 0x47, 0x50, 0x7d, 0xf, 0x37, 0xb4, 0x1b, 0xeb, 0xe9, 0x4b, 0xaa, 0x9f, 0x95, 0x3, 0xfd, 0xb8, 0xa1, 0x16, 0x27, 0x6a, 0x8a, 0x99, 0x37, 0x35, 0xbe, 0xeb, 0x96, 0x43, 0x7f, 0xcd, 0x99, 0x5a, 0xfa, 0xdf, 0x3d, 0x99, 0xf2, 0xfa, 0xd0, 0xc8, 0x4a, 0xd3, 0xc5, 0x6b, 0xda, 0x9c, 0xca, 0x9f, 0x7b, 0x7, 0x6, 0x46, 0x45, 0xd4, 0xa2, 0x4, 0x44, 0x5c, 0xba, 0x4b, 0x2b, 0x11, 0x8, 0x72, 0xae, 0x2c, 0x53, 0x8c, 0x7d, 0xb9, 0x3b, 0xbd, 0x85, 0x9c, 0x68, 0x1f, 0xcf, 0x50, 0xb9, 0xb8, 0xe1, 0xd0, 0x9c, 0x85, 0x46, 0x22, 0xcf, 0x79, 0x32, 0x68, 0x6e, 0x45, 0xc8, 0x35, 0x99, 0xa5, 0x72, 0x2, 0xa3, 0xe0, 0xc9, 0x81, 0x24, 0x77, 0x57, 0xf6, 0xd, 0x95, 0x42, 0xce, 0x78, 0xd6, 0xd8, 0x2d, 0xdf, 0x51, 0x7, 0x7e, 0x61, 0x2a, 0x8, 0x5b, 0x64, 0x66, 0x19, 0x9, 0xcb, 0x0, 0x38, 0xa4, 0x3, 0x51, 0x72, 0x4f, 0xe1, 0x1e, 0x6a, 0xa, 0xcf, 0x44, 0x2f, 0x5c, 0xfd, 0xa3, 0xbd, 0xa, 0x88, 0x2, 0xd9, 0xc4, 0x2e, 0xa2, 0x17, 0x2d, 0x97, 0x2, 0x7c, 0x7d, 0x8f, 0xb5, 0x89, 0x30, 0xd8, 0xa1, 0x9a, 0xad, 0xfe, 0x69, 0x53, 0xa8, 0x90, 0xa6, 0x4d, 0x2c, 0xc1, 0x85, 0x50, 0x35, 0xcb, 0x1, 0x41, 0xd4, 0xc1, 0x13, 0x78, 0x5e, 0xe8, 0xb8, 0xa7, 0xf7, 0xa9, 0xa2, 0x23, 0x73, 0x4e, 0x45, 0x92, 0x32, 0x55, 0xf, 0x2a, 0x55, 0x3f, 0xd7, 0x8c, 0x23, 0xd2, 0x49, 0x78, 0x3, 0x96, 0x48, 0x13, 0xd9, 0x15, 0x3c, 0x11, 0x0, 0x52, 0x70, 0x80, 0x22, 0xe, 0x79, 0xc6, 0x1e, 0x31, 0xa6, 0xfc, 0x86, 0x21, 0xc9, 0x8, 0x8e, 0x90, 0x71, 0xf7, 0x94, 0x2b, 0xaf, 0x8f, 0x84, 0xc3, 0xea, 0xb, 0x78, 0xe8, 0x95, 0x56, 0xcc, 0xbd, 0xa3, 0x66, 0x5, 0x28, 0x13, 0x63, 0x0, 0xbf, 0xae, 0xdf, 0xbe, 0x79, 0x93, 0xc8, 0x58, 0xf, 0x43, 0x21, 0x3f, 0x97, 0xf0, 0x8b, 0x37, 0xb1, 0x14, 0x31, 0xcb, 0x8c, 0x7e, 0x63, 0xe9, 0xe2, 0x4c, 0xbf, 0xe9, 0x38, 0x45, 0x17, 0x50, 0x4b, 0x7b, 0xe4, 0x1d, 0xcc, 0x7d, 0xcd, 0xda, 0xbf, 0x36, 0xbd, 0xdb, 0x75, 0x99, 0x9b, 0x5e, 0x0, 0xdf, 0x99, 0xf7, 0x4e, 0x97, 0x50, 0xc, 0x9d, 0x2b, 0x7b, 0x5a, 0xca, 0xc5, 0x32, 0xd4, 0x30, 0x92, 0x48, 0xe6, 0x9a, 0x3b, 0x81, 0xb, 0x7c, 0x59, 0xf8, 0xc5, 0x87, 0x91, 0x70, 0xe5, 0xe3, 0x6f, 0xc9, 0x5f, 0xaf, 0x4f, 0x2e, 0x7e, 0xbf, 0xb9, 0x38, 0xf9, 0xcf, 0x93, 0xa3, 0xab, 0x9b, 0xa3, 0xb3, 0xd3, 0xe3, 0x11, 0x74, 0x0, 0x3d, 0x3d, 0x3b, 0x3d, 0xd9, 0x54, 0x5d, 0xb9, 0x80, 0xfe, 0xe0, 0x21, 0x65, 0x8f, 0xea, 0xdb, 0x5f, 0x19, 0x55, 0x66, 0xc2, 0xe8, 0xd6, 0xc9, 0xd, 0x76, 0xef, 0xaf, 0xe4, 0x2d, 0x7b, 0x20, 0xb2, 0xe0, 0x6a, 0x33, 0xae, 0x70, 0x3e, 0xae, 0x7c, 0x4e, 0x9b, 0xb1, 0xc3, 0x5b, 0xf6, 0xe3, 0xdc, 0x7e, 0xd0, 0x28, 0x6a, 0x7c, 0x2e, 0xd3, 0xb4, 0x3c, 0xa3, 0x4a, 0x87, 0x9b, 0x71, 0x9b, 0x2b, 0xbb, 0x8e, 0x52, 0xd6, 0x79, 0x38, 0x9a, 0x71, 0x84, 0x8a, 0xb4, 0x4d, 0x35, 0xe1, 0x46, 0x51, 0xb5, 0x84, 0x4, 0xcb, 0x1, 0x0, 0x84, 0x83, 0x7b, 0x3, 0x32, 0x1f, 0xb, 0x90, 0x59, 0xb8, 0x64, 0x96, 0x19, 0xdf, 0xb2, 0xcc, 0xc, 0x30, 0xf9, 0x4c, 0x2a, 0x56, 0x88, 0xee, 0xc7, 0xf7, 0x7f, 0x54, 0x16, 0xb1, 0xae, 0x40, 0xa1, 0xe3, 0xf1, 0xd, 0xea, 0x51, 0x3b, 0xe1, 0x6, 0x85, 0xbb, 0x61, 0x35, 0x57, 0x55, 0x38, 0x11, 0xdc, 0x4b, 0x6b, 0xed, 0x84, 0x6d, 0xcf, 0xff, 0x72, 0x94, 0x7c, 0x6d, 0xbd, 0xfd, 0x9d, 0xac, 0x20, 0x9f, 0x84, 0x25, 0x38, 0x70, 0x1, 0x91, 0x46, 0xad, 0xbe, 0xd3, 0x93, 0x36, 0x8c, 0x4, 0xe, 0xda, 0x60, 0x4f, 0x37, 0xe, 0xbb, 0xc6, 0xd2, 0xdc, 0x5f, 0x9c, 0xdd, 0xba, 0x38, 0x25, 0x93, 0xbc, 0x64, 0x91, 0x47, 0x2f, 0x6a, 0x86, 0x77, 0xc9, 0xee, 0xee, 0x6b, 0x76, 0xf7, 0xbf, 0x4e, 0x18, 0xcc, 0x79, 0x34, 0x41, 0xb2, 0x63, 0xd6, 0xe2, 0x7d, 0x75, 0x76, 0x6d, 0x54, 0x3d, 0x35, 0x72, 0x5a, 0x6d, 0x91, 0x2b, 0x20, 0x6a, 0xbb, 0xc0, 0xb9, 0xb7, 0xc, 0x60, 0x39, 0xcb, 0xf2, 0x8, 0x9a, 0x66, 0xec, 0x9c, 0x9b, 0x32, 0xe4, 0x98, 0x23, 0xaf, 0x1c, 0x38, 0xb4, 0x17, 0x5d, 0x37, 0x77, 0xf8, 0xb4, 0x64, 0x92, 0x81, 0xd1, 0xf4, 0x65, 0x3d, 0x22, 0x15, 0xbe, 0xf4, 0x5, 0x7d, 0x68, 0xd8, 0xeb, 0x24, 0xc5, 0x3c, 0x96, 0x26, 0x57, 0xda, 0x13, 0x85, 0xb0, 0xdd, 0xa7, 0x3c, 0x46, 0x71, 0x99, 0x8c, 0x81, 0x15, 0x1d, 0x52, 0x25, 0xe, 0xa2, 0x27, 0x20, 0x8e, 0x84, 0x1e, 0x79, 0x65, 0xb5, 0xb1, 0x88, 0x55, 0x1d, 0x9e, 0x8f, 0x5c, 0x26, 0xa3, 0x3d, 0x4b, 0x74, 0x86, 0x5c, 0x42, 0x16, 0x2d, 0x86, 0xf8, 0xb4, 0x52, 0x49, 0xe0, 0xa, 0x41, 0x4a, 0x85, 0xe1, 0x45, 0xea, 0xcc, 0x56, 0x77, 0xa0, 0xda, 0xc3, 0x65, 0x67, 0x6e, 0x42, 0xa0, 0xa8, 0xc7, 0x55, 0xf8, 0xa, 0x17, 0xe0, 0x6b, 0xc6, 0x84, 0xbf, 0x85, 0x4b, 0xe1, 0x61, 0x8c, 0x5b, 0x4e, 0x5f, 0xa9, 0x15, 0xef, 0xc3, 0x4e, 0xf5, 0xa3, 0x7b, 0xca, 0x57, 0x40, 0x2a, 0xf7, 0x9e, 0xc0, 0xe7, 0xed, 0x9, 0xfc, 0x3a, 0xba, 0xfa, 0x3, 0x6e, 0x7f, 0xf8, 0x68, 0xaf, 0x7b, 0xdf, 0x1, 0xe4, 0x50, 0x4, 0x72, 0xb7, 0xe4, 0xcd, 0xa3, 0x29, 0xd1, 0xcc, 0xf7, 0x41, 0x4, 0x8b, 0x9, 0x51, 0xab, 0xa0, 0xa9, 0xbe, 0x2b, 0xe1, 0x2f, 0x1b, 0x55, 0xaf, 0x0, 0x99, 0x83, 0xb8, 0xbd, 0xc, 0x4d, 0x3d, 0x23, 0xd1, 0x0, 0x40, 0x3a, 0x7e, 0xd, 0xc8, 0x15, 0x45, 0x9, 0xa1, 0x7d, 0x19, 0x12, 0x8c, 0x5f, 0xb7, 0x1c, 0x33, 0x88, 0x23, 0x95, 0xaa, 0x46, 0x35, 0x5d, 0xb0, 0x48, 0x14, 0x8f, 0xc4, 0x73, 0xca, 0xc1, 0x99, 0x83, 0xad, 0xc6, 0xdb, 0x62, 0x47, 0x9b, 0x73, 0xc6, 0x52, 0x9e, 0x7d, 0x1f, 0x9e, 0xb8, 0x73, 0x28, 0xc9, 0x34, 0xe3, 0x47, 0x72, 0xb1, 0x90, 0xe2, 0xe3, 0x13, 0xc3, 0x25, 0x23, 0x4b, 0xee, 0x82, 0x4b, 0xee, 0xe6, 0xeb, 0x9a, 0x99, 0x7d, 0x16, 0x52, 0xaf, 0x23, 0xb9, 0xd3, 0x59, 0x48, 0xdd, 0x19, 0x48, 0x88, 0xbe, 0xfb, 0x24, 0x9, 0x48, 0x70, 0x82, 0xda, 0x12, 0x90, 0x80, 0x98, 0x4a, 0x16, 0x52, 0x1b, 0x30, 0xa0, 0x89, 0xe7, 0x87, 0x69, 0x6b, 0x8f, 0xda, 0x3e, 0xd9, 0xf1, 0x5d, 0x84, 0xb4, 0x67, 0x5c, 0x30, 0xb3, 0xd6, 0x29, 0xd0, 0x2b, 0x35, 0xdf, 0x41, 0x30, 0x7b, 0xa8, 0xf7, 0x7a, 0x45, 0x36, 0xd0, 0x36, 0xf7, 0x5f, 0xa, 0x0, 0xb0, 0xae, 0xa3, 0xe4, 0x34, 0xa5, 0xb3, 0x95, 0x5c, 0x7e, 0x48, 0x7f, 0x75, 0xb1, 0x19, 0xc1, 0xee, 0x1, 0xb6, 0xcb, 0xde, 0xf5, 0x9e, 0x3e, 0xbe, 0x5b, 0xc6, 0x32, 0xac, 0x35, 0xdf, 0x68, 0x5e, 0x5, 0x52, 0xd7, 0xb4, 0x52, 0x69, 0x8d, 0xa9, 0x1, 0x50, 0x8e, 0xe2, 0xba, 0x3b, 0x2d, 0x2c, 0xe7, 0x77, 0x8d, 0xf, 0x10, 0xee, 0x19, 0x66, 0xd9, 0x4c, 0xcd, 0xdf, 0xb9, 0x31, 0xab, 0xc8, 0xfa, 0xbd, 0x4, 0x80, 0x17, 0x88, 0xa0, 0xeb, 0x96, 0x28, 0x82, 0x2e, 0xa0, 0x50, 0xfe, 0x3f, 0xa8, 0xe7, 0xe0, 0xa5, 0x29, 0x16, 0x84, 0x13, 0xbb, 0x15, 0x44, 0x51, 0x91, 0xc8, 0x85, 0x6b, 0x66, 0x51, 0x54, 0x96, 0x15, 0x52, 0x10, 0x89, 0x23, 0x89, 0x2b, 0x92, 0x1a, 0x46, 0xe2, 0x55, 0x2e, 0x52, 0xa6, 0xb5, 0x2b, 0xbe, 0xf1, 0x93, 0x14, 0x9, 0xb1, 0xab, 0x7a, 0xe3, 0xfe, 0x8d, 0xb2, 0xf6, 0x75, 0xeb, 0xd1, 0x32, 0x52, 0xb1, 0x33, 0x87, 0x73, 0xde, 0x82, 0xba, 0xbe, 0x61, 0xf5, 0x87, 0x53, 0xc, 0x4a, 0x73, 0xf5, 0x78, 0xdb, 0xa5, 0x8b, 0x8e, 0x9, 0xf8, 0xee, 0xe0, 0x38, 0x2c, 0x56, 0x5d, 0x44, 0xa2, 0xa, 0x88, 0x6e, 0x5, 0x39, 0xf, 0x25, 0xcc, 0xee, 0x72, 0x47, 0xb, 0x5f, 0x6b, 0x60, 0x17, 0xc, 0xeb, 0xfc, 0x96, 0xae, 0x81, 0x41, 0xa1, 0xc, 0x38, 0xa8, 0x2f, 0x5f, 0x2, 0xbc, 0x31, 0x5e, 0xff, 0xe9, 0xd9, 0xd5, 0xc9, 0x5b, 0x58, 0xd2, 0xe, 0x8, 0x70, 0xa8, 0x55, 0x19, 0xde, 0xfd, 0x38, 0x84, 0x36, 0xaf, 0xc1, 0x9a, 0x29, 0xb, 0x2e, 0xce, 0x34, 0x54, 0xb2, 0x55, 0xf3, 0xec, 0x2a, 0xa2, 0x6d, 0xc3, 0x3c, 0xbb, 0xe6, 0x77, 0xbf, 0xb6, 0xd9, 0xfe, 0x4d, 0xe6, 0xd9, 0xed, 0x39, 0xf0, 0x9e, 0x3, 0xef, 0x39, 0xf0, 0x13, 0x71, 0xe0, 0xef, 0x25, 0xbb, 0xb4, 0xb7, 0xa9, 0xb3, 0x77, 0x5d, 0x35, 0x74, 0x77, 0x82, 0x34, 0x17, 0x6b, 0x20, 0x90, 0xd1, 0xd4, 0x17, 0x61, 0xb9, 0xed, 0xa4, 0x3e, 0xb0, 0x6c, 0x3c, 0xce, 0xe7, 0x4a, 0xd2, 0x28, 0x72, 0x56, 0xcb, 0x8, 0xdc, 0x91, 0x8f, 0x44, 0xc8, 0x9d, 0xf2, 0x78, 0x6b, 0x58, 0x0, 0x4a, 0xc1, 0x89, 0x34, 0x24, 0x67, 0x66, 0xce, 0xd4, 0x3d, 0xd7, 0x2c, 0xf0, 0xb2, 0x30, 0x4c, 0xd1, 0x8, 0xa9, 0x69, 0x0, 0x16, 0x89, 0x52, 0x1a, 0xeb, 0x90, 0x8c, 0x4, 0xe8, 0xfb, 0x31, 0xd5, 0xae, 0x93, 0x41, 0x39, 0xc9, 0x35, 0x20, 0x8, 0xf9, 0xae, 0xee, 0xce, 0x5d, 0xa, 0xac, 0xdc, 0x3e, 0xa0, 0x11, 0x96, 0x69, 0x1b, 0x97, 0x45, 0xe3, 0x9b, 0x7e, 0x85, 0xae, 0xa8, 0xbe, 0x7d, 0xc7, 0x5, 0xd7, 0xf3, 0x93, 0xed, 0x71, 0xf7, 0xd6, 0xb, 0x64, 0x44, 0xe5, 0x1a, 0x7f, 0x3a, 0xbb, 0xf8, 0xed, 0xdd, 0xfb, 0xb3, 0x4f, 0x37, 0x57, 0x87, 0x97, 0xbf, 0xdd, 0x1c, 0x9d, 0x7d, 0x38, 0x7f, 0x7f, 0x72, 0x75, 0x72, 0x3c, 0x1e, 0xd4, 0xfe, 0x72, 0x35, 0xfa, 0x70, 0x72, 0x7c, 0x73, 0x76, 0x7d, 0x35, 0x1e, 0xd4, 0x5f, 0x7a, 0x77, 0x38, 0x7a, 0x6f, 0xdf, 0x20, 0x52, 0x45, 0xa2, 0xf6, 0x37, 0x80, 0x77, 0x3a, 0x39, 0x1e, 0x7b, 0xf8, 0x37, 0x19, 0x36, 0xee, 0x31, 0x9d, 0xf2, 0xad, 0x6e, 0x39, 0xfc, 0x58, 0xb7, 0x3f, 0xe, 0x9e, 0xb9, 0x60, 0x50, 0x3f, 0xbc, 0x9, 0x78, 0xde, 0x45, 0xfd, 0xbd, 0x66, 0x92, 0x56, 0x14, 0x4d, 0xdf, 0xd5, 0xa7, 0x9c, 0xed, 0x75, 0x71, 0x72, 0x79, 0x72, 0x75, 0x73, 0x71, 0x72, 0x78, 0x7e, 0xfe, 0xfe, 0xf7, 0x9b, 0xab, 0xdf, 0xcf, 0x4f, 0x6e, 0x2e, 0x47, 0xbf, 0x9c, 0x1e, 0xbe, 0x5f, 0x4f, 0xf2, 0xc9, 0xe7, 0x38, 0xcd, 0x13, 0x80, 0x89, 0x7c, 0x4, 0xdf, 0x55, 0x9f, 0xc9, 0x96, 0xbe, 0xd8, 0xee, 0xa7, 0x2a, 0x9c, 0x31, 0xb8, 0xf1, 0x96, 0x3c, 0x70, 0xf, 0xa2, 0xaf, 0x4a, 0x31, 0xa7, 0x35, 0x35, 0x4f, 0x30, 0x5b, 0xe9, 0x74, 0xf5, 0xd5, 0xba, 0x97, 0xad, 0x36, 0xdd, 0xea, 0x31, 0xe9, 0x82, 0x6c, 0x48, 0x9b, 0x66, 0xca, 0xde, 0x4f, 0xa7, 0x74, 0x55, 0xb8, 0xe2, 0x9c, 0x6a, 0xc4, 0x91, 0x75, 0x1c, 0xf5, 0x6a, 0xce, 0x74, 0xa9, 0x1, 0xb2, 0xae, 0x2b, 0x99, 0x91, 0x4f, 0xbf, 0xfc, 0x41, 0xb0, 0xfb, 0x1f, 0x1a, 0xb3, 0xf3, 0x4b, 0xe, 0x59, 0x64, 0xc1, 0x52, 0x25, 0xf8, 0x59, 0xa7, 0x10, 0x38, 0x66, 0x39, 0x8c, 0xc4, 0x61, 0x9a, 0x96, 0xbf, 0x5, 0x5d, 0x1a, 0xaa, 0xd0, 0x0, 0xa5, 0x86, 0x17, 0xd0, 0x32, 0xa0, 0xd0, 0x22, 0x3c, 0x76, 0x48, 0xc8, 0x1, 0x85, 0x30, 0x3, 0x13, 0x76, 0xb4, 0xb6, 0x6d, 0xfd, 0x62, 0x7e, 0xfe, 0x9e, 0x2, 0x3e, 0x93, 0xa2, 0x92, 0x17, 0xe6, 0x9d, 0xa3, 0xfb, 0xb4, 0xc8, 0x7, 0x67, 0x77, 0x95, 0x33, 0xa5, 0x13, 0x4c, 0x6b, 0x5, 0xd4, 0xb7, 0x2, 0xc7, 0x7d, 0x5, 0x14, 0x6c, 0xbd, 0x63, 0xfe, 0x1b, 0xce, 0xe5, 0x7a, 0x8c, 0x24, 0xc8, 0x95, 0xc4, 0xa5, 0x7, 0xf5, 0x46, 0x28, 0xda, 0x38, 0x2c, 0xb2, 0xce, 0x49, 0x79, 0xd8, 0xa5, 0xba, 0x73, 0x9d, 0x21, 0xec, 0x84, 0xeb, 0x4a, 0xe9, 0xd, 0x7a, 0x48, 0xf, 0x27, 0xd8, 0x9d, 0x84, 0x69, 0x4d, 0x67, 0xec, 0xa5, 0x2e, 0xc3, 0x3b, 0x41, 0xfb, 0x3a, 0x67, 0x76, 0x47, 0xa2, 0x68, 0x26, 0x3, 0x5a, 0xe2, 0x92, 0x5c, 0x1e, 0xff, 0xa6, 0x87, 0xe, 0x1d, 0x46, 0x83, 0xe5, 0x23, 0x66, 0x98, 0x84, 0x7e, 0x17, 0xda, 0x1e, 0xf9, 0x3e, 0x34, 0x5a, 0xc2, 0x5b, 0x96, 0x9e, 0x71, 0xae, 0xd9, 0x4d, 0xf1, 0xc4, 0x38, 0x12, 0xf8, 0x1d, 0x7b, 0xe4, 0x54, 0xce, 0x86, 0xe4, 0x92, 0x31, 0x4f, 0xf, 0x49, 0x64, 0x8c, 0x7b, 0x89, 0x4d, 0xf2, 0x17, 0x52, 0xb1, 0x61, 0x83, 0x87, 0xa8, 0x4, 0x54, 0x15, 0x3a, 0xf3, 0xad, 0x69, 0x8e, 0x10, 0xde, 0xe8, 0xbb, 0x15, 0x5, 0x0, 0xce, 0x1a, 0x7c, 0x84, 0x2, 0x92, 0x6b, 0x75, 0x17, 0xb0, 0xdd, 0xb4, 0x5c, 0x64, 0x29, 0x33, 0xd5, 0x6d, 0xf0, 0xfd, 0x5d, 0x7c, 0xa3, 0x3, 0x3e, 0xc5, 0x96, 0x9, 0x73, 0x6c, 0xd6, 0x66, 0xd5, 0xb7, 0x1a, 0xe, 0xcf, 0x99, 0x9f, 0xa9, 0x62, 0x33, 0xaa, 0x12, 0x30, 0xb2, 0xe5, 0xb4, 0xbc, 0xf8, 0x8, 0x25, 0xce, 0x4, 0x9d, 0xa4, 0x2c, 0xb1, 0xe7, 0x57, 0x48, 0x53, 0x5b, 0xbe, 0xb, 0x96, 0xa5, 0x34, 0xf6, 0x71, 0xa9, 0xa6, 0x85, 0x5c, 0xbb, 0x80, 0xf, 0xe8, 0x43, 0xd9, 0x30, 0x8d, 0xce, 0x45, 0x75, 0xbd, 0x48, 0x4a, 0x48, 0x47, 0x95, 0x46, 0x94, 0xe5, 0x85, 0xf2, 0xa2, 0x15, 0x17, 0xfc, 0x1, 0xa6, 0x65, 0xab, 0xe4, 0xd9, 0x27, 0x24, 0x7f, 0xf1, 0x84, 0xe4, 0x6f, 0x46, 0x64, 0x3d, 0xbf, 0xdb, 0xf2, 0xfd, 0xe5, 0x4e, 0xaf, 0xde, 0x7c, 0xcf, 0xa7, 0xbf, 0x2b, 0xa5, 0x53, 0x31, 0x8d, 0x3d, 0xff, 0x1e, 0xe3, 0x2, 0x3, 0xb6, 0x1a, 0xc, 0x8, 0x39, 0x49, 0x1, 0xee, 0x2e, 0x5d, 0x7a, 0x63, 0xc8, 0xa5, 0x80, 0x7c, 0xb7, 0x15, 0x3, 0x7b, 0x2d, 0x73, 0xaf, 0x65, 0xee, 0xb5, 0xcc, 0xbd, 0x96, 0x19, 0x64, 0xcd, 0x5e, 0xcd, 0xec, 0x87, 0xb0, 0xf2, 0xb8, 0x42, 0x4a, 0x17, 0x9a, 0x66, 0x21, 0xaf, 0x2, 0x85, 0x45, 0x3e, 0xdc, 0xf7, 0x26, 0x9e, 0x76, 0x4e, 0x29, 0xc3, 0xfe, 0xcb, 0xdf, 0x95, 0x46, 0x36, 0xa5, 0x3c, 0xcd, 0x55, 0xcf, 0xe8, 0x7, 0xcd, 0xf8, 0x3b, 0x7c, 0xfe, 0xe3, 0x8f, 0xee, 0x3f, 0x5a, 0xc3, 0x1f, 0x6, 0x7b, 0x59, 0xbb, 0xf1, 0xcb, 0x76, 0xd5, 0x77, 0x77, 0xce, 0x1f, 0x59, 0xd, 0x4b, 0xa9, 0x2e, 0x92, 0x61, 0x8e, 0x1f, 0xb7, 0x48, 0xb7, 0x30, 0x84, 0x9d, 0xb1, 0xed, 0x2, 0x37, 0x2e, 0x5b, 0x81, 0x6a, 0xec, 0x27, 0x17, 0xc8, 0x9f, 0xaf, 0x16, 0x29, 0xee, 0x35, 0xc6, 0xbd, 0xc6, 0xb8, 0xd7, 0x18, 0x9f, 0xb7, 0xc6, 0xe8, 0x4, 0xe1, 0x5e, 0x5d, 0xec, 0xa1, 0x2e, 0x7e, 0xd7, 0x12, 0xf4, 0x19, 0xc9, 0xa2, 0xef, 0x42, 0xa9, 0xbd, 0x64, 0xbe, 0xd9, 0xee, 0xe3, 0xb5, 0x32, 0x6a, 0x17, 0x1b, 0x5f, 0xbf, 0xa9, 0xcd, 0xcf, 0xbe, 0x1b, 0x5, 0x62, 0xce, 0xba, 0x5a, 0x12, 0x68, 0x20, 0xed, 0x3b, 0xd8, 0xd6, 0x55, 0x2, 0x56, 0xe6, 0x95, 0x56, 0x3d, 0x98, 0x29, 0xba, 0x20, 0xb1, 0x4c, 0x18, 0xa1, 0x22, 0x79, 0x23, 0x95, 0x6b, 0x86, 0x12, 0x9, 0x37, 0xe6, 0x43, 0x7b, 0xc3, 0x8c, 0x8b, 0x2d, 0x18, 0x97, 0xbb, 0xd8, 0xd0, 0xa, 0x4f, 0x9f, 0x92, 0x2b, 0x97, 0xc8, 0xee, 0x1, 0xcf, 0xb1, 0xbf, 0x49, 0xad, 0x5f, 0x4e, 0xe9, 0x15, 0xd, 0xb8, 0x58, 0x91, 0xa8, 0x37, 0xe4, 0x0, 0xa8, 0x2e, 0x8d, 0x65, 0x76, 0x65, 0xb8, 0x40, 0xd0, 0x17, 0x94, 0xc7, 0xab, 0x22, 0xed, 0x32, 0x15, 0xa5, 0x8, 0xf7, 0xad, 0x5d, 0x20, 0x43, 0xcf, 0x2e, 0xe, 0x5c, 0x3c, 0x57, 0x1b, 0x6a, 0x9f, 0xd0, 0x8c, 0xdc, 0xd1, 0x34, 0x67, 0xba, 0x2a, 0x57, 0x9f, 0x2c, 0x95, 0xfc, 0x69, 0x1a, 0xbf, 0x20, 0x74, 0xf7, 0x7, 0x66, 0x68, 0x42, 0xd, 0xed, 0xcb, 0xb4, 0xb0, 0xdb, 0x78, 0xb1, 0x78, 0xe1, 0xfd, 0x7e, 0x13, 0xb0, 0x9a, 0x9b, 0x91, 0x84, 0x26, 0xa0, 0x9a, 0x28, 0xb6, 0x90, 0x77, 0xd8, 0xbe, 0xfe, 0x0, 0x3e, 0xc3, 0x12, 0xb2, 0x70, 0x3, 0x12, 0x26, 0x8c, 0xdd, 0xe7, 0x21, 0xf9, 0x50, 0xfb, 0xd, 0x24, 0xec, 0xb0, 0xcf, 0x99, 0xd4, 0x2c, 0x89, 0x4, 0x1c, 0x68, 0xfc, 0xde, 0x4, 0xca, 0x99, 0x4a, 0x47, 0x65, 0x48, 0x46, 0xae, 0x73, 0xd3, 0x4c, 0xca, 0x84, 0x80, 0xd6, 0x83, 0x28, 0x91, 0xa5, 0x28, 0x97, 0xce, 0xe3, 0xb9, 0x3d, 0x34, 0xbe, 0xbb, 0x23, 0x14, 0x22, 0xf, 0x22, 0x91, 0xfa, 0x1a, 0x43, 0x2e, 0xc, 0x53, 0xc8, 0x86, 0xc3, 0x19, 0xcc, 0x78, 0xc6, 0x52, 0x2e, 0x98, 0x1e, 0x10, 0x66, 0xe2, 0xce, 0x72, 0x8e, 0xc0, 0xd0, 0xff, 0x3b, 0x4e, 0x19, 0x15, 0x79, 0x76, 0x70, 0x7f, 0x77, 0x90, 0x29, 0x76, 0xe0, 0x30, 0xa1, 0xff, 0x46, 0xce, 0x8b, 0x7f, 0x94, 0xbf, 0x71, 0x78, 0x3e, 0xd2, 0x3, 0x2, 0x2f, 0x91, 0x3c, 0x83, 0x2, 0x63, 0xd5, 0x59, 0x8f, 0x71, 0x89, 0x99, 0xbb, 0xe5, 0xb3, 0xed, 0x98, 0xe1, 0x23, 0x75, 0xf9, 0xba, 0xeb, 0xee, 0xed, 0xd5, 0xe3, 0x28, 0xaf, 0x68, 0xf1, 0xc1, 0xf2, 0x68, 0x39, 0xa5, 0xcd, 0xac, 0xb2, 0xbf, 0x4c, 0x47, 0xee, 0x80, 0x79, 0x9f, 0xf6, 0xb6, 0x78, 0x6b, 0x9, 0x74, 0xc8, 0xa5, 0xcc, 0xc9, 0x3d, 0xc5, 0x4, 0x4d, 0x28, 0x8b, 0xd3, 0xa1, 0xb1, 0x79, 0x24, 0xce, 0xa9, 0xd6, 0xa1, 0xc, 0x1c, 0x2f, 0xbc, 0x7f, 0xce, 0xe, 0xe4, 0x1e, 0x2c, 0x6, 0x94, 0x44, 0xf0, 0x74, 0x18, 0x89, 0x43, 0xfb, 0xbf, 0x2b, 0x7f, 0x56, 0xcc, 0x29, 0xf9, 0x50, 0x6b, 0xe, 0x23, 0xe4, 0xc2, 0xad, 0xa7, 0xd5, 0xc4, 0x9d, 0x45, 0xf5, 0xca, 0xcc, 0xa5, 0x66, 0x4e, 0x31, 0xbf, 0x3e, 0xfd, 0x78, 0x72, 0x71, 0x39, 0x3a, 0x3b, 0x3d, 0x39, 0x1e, 0x93, 0x57, 0x52, 0x91, 0x5c, 0x84, 0x62, 0x80, 0xd7, 0x9e, 0x8f, 0x7d, 0xc, 0xaa, 0xff, 0x7, 0x99, 0xb0, 0xf1, 0xb0, 0x25, 0xcf, 0xdf, 0xf2, 0xf4, 0x94, 0xc7, 0xe6, 0x51, 0x1d, 0x33, 0x1d, 0x7c, 0xa, 0xca, 0xb2, 0xa1, 0xb9, 0x86, 0x9d, 0x2a, 0xae, 0x9e, 0x9c, 0x12, 0x4f, 0xc6, 0xd, 0x7a, 0x70, 0xa6, 0x4a, 0x2e, 0x8, 0xd, 0x50, 0xc, 0x50, 0x77, 0x4d, 0x85, 0x84, 0xd6, 0xf3, 0xab, 0xcd, 0xb7, 0x0, 0x92, 0x81, 0xd8, 0x7d, 0xc1, 0x8b, 0x2e, 0xa4, 0x38, 0xb0, 0x6b, 0xed, 0x7, 0x75, 0x6e, 0x21, 0x30, 0x3f, 0x63, 0x87, 0x56, 0x5b, 0xb0, 0x41, 0xbb, 0x43, 0x56, 0x97, 0x74, 0xe5, 0xe1, 0xe5, 0x81, 0x5f, 0xea, 0x5a, 0x3, 0xb0, 0x90, 0x9f, 0xb8, 0x90, 0x9, 0xd6, 0x5e, 0xf8, 0xbe, 0xb8, 0x76, 0x36, 0x87, 0xe7, 0x23, 0xac, 0x39, 0x87, 0x43, 0x14, 0x92, 0xff, 0x70, 0x54, 0xe7, 0x9a, 0x12, 0x8e, 0x7, 0x4b, 0xd1, 0xda, 0x79, 0x74, 0x57, 0x5, 0x3, 0x9f, 0x9, 0xa9, 0xd8, 0x7, 0xe, 0xcb, 0x1c, 0xfc, 0x68, 0x5b, 0xd5, 0x84, 0x14, 0x84, 0xfe, 0xbc, 0xf4, 0xb5, 0x1e, 0xd5, 0xcd, 0xb9, 0xf7, 0x6d, 0x83, 0x10, 0x4a, 0x12, 0x1b, 0xf1, 0xb, 0x69, 0xc2, 0x6d, 0x61, 0x9f, 0x33, 0xfc, 0xbd, 0xa5, 0x88, 0x20, 0x49, 0x56, 0x12, 0x44, 0x2, 0x2d, 0xde, 0x4c, 0xa6, 0x69, 0x1, 0xf1, 0x29, 0xd8, 0xbd, 0xbf, 0x7a, 0x80, 0xa1, 0x96, 0x29, 0x69, 0x58, 0x6c, 0x42, 0x9b, 0x68, 0x1a, 0xc7, 0xb0, 0x5c, 0x34, 0x45, 0x21, 0x44, 0x53, 0xd0, 0x44, 0x8a, 0xa1, 0x31, 0xad, 0xdb, 0x29, 0x49, 0x73, 0x46, 0x53, 0x33, 0x27, 0x5c, 0x6b, 0x2b, 0xf4, 0xe1, 0x4, 0x92, 0xb1, 0x51, 0x39, 0x1b, 0x93, 0x39, 0x53, 0xc0, 0x16, 0x26, 0xcb, 0xcc, 0xfe, 0x16, 0x51, 0x89, 0xf1, 0x63, 0x58, 0xa2, 0x83, 0xe, 0x70, 0x50, 0x74, 0x1a, 0xa7, 0xe0, 0x9a, 0x46, 0xbb, 0x47, 0xfc, 0x6c, 0xcb, 0x4f, 0x14, 0x30, 0xa6, 0xec, 0xce, 0x6a, 0x6c, 0x12, 0xd0, 0x4b, 0x27, 0xcb, 0x48, 0xe0, 0xba, 0x70, 0x2c, 0xf6, 0xaf, 0x73, 0x1c, 0x77, 0xa, 0x8a, 0x53, 0x3e, 0x28, 0xea, 0xe3, 0x8b, 0x9e, 0xc6, 0xec, 0x73, 0x9c, 0xe6, 0xf6, 0x79, 0x68, 0x6a, 0x4c, 0xe, 0x56, 0xbf, 0x6c, 0xa5, 0xad, 0xdd, 0x8, 0x57, 0x5b, 0xb4, 0x5c, 0x48, 0xc5, 0xc8, 0x2b, 0x2e, 0xa6, 0x4c, 0x29, 0x5c, 0xf0, 0x39, 0xbd, 0x83, 0xa1, 0x80, 0x51, 0x4e, 0x68, 0x7c, 0x9b, 0xca, 0x99, 0xab, 0x22, 0x30, 0x54, 0xdf, 0x42, 0xc3, 0x63, 0x2b, 0xf2, 0x6f, 0xec, 0x35, 0xb1, 0x74, 0xfd, 0x69, 0xf8, 0xba, 0xe3, 0x63, 0x56, 0x27, 0x40, 0x20, 0xa2, 0xa, 0x27, 0x28, 0x77, 0x34, 0xac, 0x7c, 0xbe, 0xba, 0x5e, 0xf8, 0x35, 0x47, 0x52, 0xb9, 0xc5, 0xdb, 0xa, 0xc3, 0x9e, 0x53, 0xd1, 0xc8, 0xc9, 0x7d, 0x25, 0x76, 0x49, 0x8f, 0x78, 0x1d, 0x89, 0x4f, 0x87, 0x17, 0xa7, 0xa3, 0xd3, 0x5f, 0xde, 0x92, 0x63, 0x19, 0x5a, 0x81, 0x99, 0x50, 0x14, 0xe7, 0xea, 0xb0, 0xac, 0x40, 0xc1, 0x7e, 0xe2, 0x8a, 0x15, 0x9d, 0xa7, 0x17, 0x78, 0x95, 0xca, 0xcd, 0xaa, 0x71, 0x13, 0xb5, 0x5f, 0xdc, 0x48, 0x8, 0xc6, 0x12, 0x2b, 0x14, 0x47, 0xb8, 0x6b, 0xfe, 0x5a, 0x70, 0x4d, 0x72, 0xe1, 0xcf, 0x4d, 0xba, 0x2c, 0x6e, 0x47, 0x82, 0xd2, 0xc8, 0xf, 0xed, 0xc6, 0x1b, 0xf8, 0xa, 0x14, 0x6a, 0xc8, 0x82, 0x51, 0xf4, 0xbd, 0x46, 0xc2, 0x7f, 0x6d, 0x4e, 0xef, 0x70, 0x2f, 0x95, 0xb5, 0x10, 0x8a, 0x74, 0x67, 0x7, 0x72, 0xbb, 0x64, 0x66, 0x48, 0xa0, 0x4e, 0x3e, 0x4c, 0x8e, 0x4f, 0x61, 0x4e, 0x48, 0x1, 0x41, 0xe1, 0xe4, 0x47, 0x33, 0xd2, 0x92, 0x6d, 0x5f, 0xa4, 0x4a, 0xf1, 0xbb, 0x36, 0x3e, 0x7, 0xd0, 0x2a, 0xa7, 0xf2, 0x1c, 0xdf, 0x7a, 0x62, 0x2e, 0x12, 0xca, 0x64, 0xca, 0x4c, 0x84, 0x54, 0xe6, 0xf, 0x7c, 0x5d, 0xdb, 0xff, 0xe7, 0x3b, 0xfd, 0x59, 0x75, 0x7, 0x95, 0xc9, 0xda, 0x51, 0x18, 0x58, 0x93, 0xc0, 0xe5, 0x91, 0x17, 0x3c, 0xc4, 0xaa, 0xab, 0x1a, 0x45, 0x97, 0x33, 0x7f, 0x61, 0x67, 0x31, 0xe7, 0xdd, 0xaf, 0x8d, 0xdd, 0x81, 0x4, 0x4f, 0xa, 0xdc, 0xd0, 0x1, 0x49, 0x19, 0x4d, 0xb8, 0x98, 0x41, 0x2a, 0x7b, 0x26, 0xb5, 0xe6, 0x93, 0x94, 0x41, 0xb1, 0x9f, 0xcc, 0xcd, 0x66, 0x4c, 0x65, 0x83, 0xe2, 0xe1, 0x4b, 0x66, 0xde, 0xe4, 0xa2, 0x4d, 0x67, 0x81, 0x5a, 0x98, 0x95, 0xdb, 0xd5, 0x5d, 0xf4, 0xdb, 0xa0, 0x64, 0x7e, 0x80, 0xe6, 0x97, 0x6a, 0x5b, 0xed, 0x12, 0x7b, 0x68, 0xaa, 0xd1, 0xf6, 0x72, 0xb1, 0xc0, 0xda, 0x44, 0xc5, 0xc3, 0x6e, 0xf4, 0xd8, 0xd, 0x7f, 0xe3, 0xc5, 0xe4, 0x78, 0x18, 0x89, 0x13, 0x60, 0x59, 0x70, 0x6a, 0x8a, 0x55, 0x2, 0xd7, 0x74, 0x7b, 0xf3, 0xaf, 0xe9, 0x36, 0x47, 0xf8, 0x4a, 0xe5, 0xae, 0xb7, 0x9f, 0xfd, 0xda, 0x2a, 0x4d, 0x76, 0xd7, 0xc7, 0x5, 0x85, 0x7b, 0x5d, 0xee, 0xbb, 0xd1, 0xe5, 0x42, 0xa7, 0xdc, 0xed, 0x75, 0xb9, 0x75, 0x4c, 0x1, 0x6d, 0x78, 0x18, 0xf7, 0x43, 0xf5, 0xce, 0x3d, 0x16, 0x47, 0xb8, 0xa0, 0x8b, 0x8c, 0x8b, 0xd9, 0xde, 0xec, 0x5c, 0x6b, 0x76, 0x2a, 0xba, 0xc8, 0x88, 0x51, 0x74, 0x3a, 0xe5, 0x31, 0x31, 0x72, 0xbd, 0xdd, 0xe9, 0x96, 0xb6, 0xcd, 0xee, 0xac, 0xff, 0xf9, 0x6b, 0xdb, 0x9d, 0x19, 0x53, 0xb1, 0xd5, 0xb3, 0x67, 0xad, 0xe8, 0x39, 0x22, 0x5f, 0x4c, 0x6a, 0xa0, 0xfe, 0x25, 0x46, 0x35, 0x4d, 0x25, 0xed, 0xe, 0xbe, 0xd9, 0x19, 0x93, 0xe2, 0x33, 0x6e, 0xad, 0x86, 0xe4, 0x23, 0x4d, 0x79, 0x42, 0x14, 0x15, 0x33, 0xf6, 0x96, 0xfc, 0xf7, 0x9f, 0x6, 0x3f, 0xfe, 0xe9, 0x4f, 0x7f, 0xdb, 0x33, 0xd4, 0xef, 0x87, 0xa1, 0xee, 0x8d, 0xe3, 0xe7, 0x6f, 0x1c, 0xb3, 0xff, 0xc9, 0x29, 0xc6, 0xbd, 0x9a, 0xc, 0xe3, 0xc2, 0x1c, 0x4e, 0xf0, 0xb2, 0x94, 0xed, 0xe1, 0x15, 0x65, 0x7e, 0x6f, 0x10, 0xef, 0xbe, 0x41, 0xfc, 0x6d, 0xd9, 0xc3, 0xbe, 0x97, 0x24, 0x82, 0x45, 0xcc, 0x59, 0x7c, 0x8b, 0x60, 0x39, 0x73, 0x9a, 0x65, 0x4c, 0xe8, 0x22, 0x16, 0xa7, 0x9c, 0xd0, 0xf6, 0x21, 0x3b, 0xae, 0x9, 0x9d, 0xc8, 0x1c, 0xb8, 0x32, 0x6, 0xe1, 0x6, 0x68, 0x49, 0xde, 0x31, 0xb5, 0x4, 0x9b, 0x31, 0x12, 0x61, 0x31, 0x4b, 0xa2, 0xcf, 0x7, 0xec, 0xc8, 0x61, 0xaa, 0x61, 0x53, 0x4a, 0x6b, 0x8e, 0xdf, 0xb7, 0x23, 0xbb, 0x5b, 0x8e, 0xb0, 0x2b, 0x25, 0x2e, 0xef, 0xb6, 0x3d, 0x12, 0x81, 0x37, 0x40, 0xe1, 0x3a, 0x18, 0xc8, 0xec, 0x8e, 0xcb, 0x5c, 0xd7, 0xb5, 0x8b, 0xbd, 0xc5, 0xbf, 0xeb, 0x16, 0x7f, 0x5d, 0x1d, 0x6c, 0xd6, 0xef, 0x81, 0x37, 0x71, 0xa3, 0x51, 0x1b, 0x2d, 0xe, 0xd4, 0x1a, 0xbd, 0x9f, 0xcf, 0x4, 0x4d, 0x3f, 0x71, 0x33, 0xbf, 0x34, 0x54, 0x3d, 0x1d, 0x68, 0xcc, 0x26, 0xe8, 0x14, 0x9f, 0xca, 0xef, 0x34, 0x1e, 0x4e, 0xe3, 0x65, 0x76, 0xdf, 0x21, 0x83, 0x90, 0x5f, 0x97, 0x94, 0x8a, 0x8c, 0xc, 0x1a, 0x76, 0x50, 0xe5, 0x8e, 0x69, 0x1, 0x3f, 0x66, 0x8f, 0xd6, 0xb4, 0xc, 0xe5, 0xe2, 0x80, 0x55, 0x5a, 0xd4, 0xc, 0x91, 0xe5, 0x5b, 0xa6, 0x60, 0xf7, 0xea, 0xe5, 0x55, 0x85, 0x3b, 0xf0, 0x40, 0xc, 0xb4, 0x68, 0x99, 0x45, 0x75, 0xfb, 0xe3, 0x64, 0x9a, 0x8b, 0x95, 0xf3, 0x39, 0x58, 0xdd, 0xc0, 0x70, 0x22, 0xae, 0xf0, 0xec, 0x3f, 0xcc, 0xaa, 0x92, 0xc6, 0xa5, 0x8, 0xd4, 0xfb, 0x3b, 0xe2, 0xa0, 0x84, 0x8b, 0x38, 0xcd, 0xa1, 0xcb, 0xbb, 0x62, 0x2e, 0x4e, 0xc, 0x3d, 0xbd, 0x84, 0xe1, 0x22, 0x67, 0x76, 0x22, 0x82, 0xdd, 0x77, 0x13, 0x7a, 0x91, 0x6f, 0x47, 0xa2, 0xa3, 0x4, 0x2e, 0x59, 0xa9, 0x25, 0x3b, 0x10, 0xac, 0xf2, 0x96, 0xb4, 0xa5, 0x32, 0x10, 0xce, 0x93, 0x7d, 0xdd, 0x1e, 0xd0, 0xdd, 0xc9, 0x9a, 0x7a, 0x5c, 0xb4, 0x1b, 0xd, 0x7c, 0x88, 0xdc, 0xbf, 0x71, 0x17, 0xaf, 0x1b, 0xf7, 0xc6, 0x2f, 0xc9, 0x28, 0xb9, 0x60, 0xb9, 0x66, 0xe7, 0x32, 0xe5, 0xf1, 0xca, 0xe4, 0xd7, 0xb1, 0x97, 0xea, 0xcb, 0xdd, 0x9e, 0x7, 0xdf, 0xd2, 0x9f, 0x81, 0xea, 0x86, 0xaa, 0xac, 0x3d, 0xf, 0xec, 0x20, 0xd7, 0xbe, 0x42, 0x2f, 0xec, 0x13, 0x4f, 0xbc, 0xd9, 0xe7, 0x65, 0x6e, 0xba, 0x24, 0x3f, 0xc4, 0xa9, 0x15, 0x56, 0x3f, 0x14, 0xf7, 0x14, 0x35, 0x67, 0x2f, 0x10, 0x33, 0x20, 0xc3, 0xca, 0xf6, 0x80, 0x42, 0x34, 0x3a, 0xbe, 0xb9, 0x38, 0xb9, 0xbe, 0x3c, 0xb9, 0x39, 0x3f, 0x7b, 0x3f, 0x3a, 0xfa, 0xfd, 0xe6, 0xf0, 0xbd, 0xfd, 0xed, 0xf1, 0xf5, 0xf9, 0xfb, 0xd1, 0xd1, 0xe1, 0xd5, 0xc9, 0x30, 0x12, 0x91, 0xb8, 0x64, 0x8c, 0x8c, 0x4b, 0x39, 0x5a, 0x37, 0xca, 0xce, 0xe9, 0x6, 0x47, 0x1b, 0x83, 0xac, 0x84, 0x46, 0x7e, 0xa8, 0x37, 0x96, 0x49, 0x4c, 0xf2, 0x2c, 0xe5, 0x31, 0x5a, 0x83, 0xa0, 0x42, 0x53, 0xf2, 0x83, 0x83, 0x93, 0x2d, 0x11, 0xb9, 0x6e, 0xfd, 0x8f, 0x9c, 0x65, 0xfa, 0xd0, 0x2d, 0xa8, 0xbd, 0xdf, 0x67, 0x17, 0xe6, 0x1, 0xc7, 0x4b, 0xa6, 0x77, 0xac, 0x36, 0xab, 0x60, 0x29, 0xb7, 0x4f, 0xa9, 0xcf, 0xba, 0x1f, 0x9d, 0x9d, 0xbe, 0x7b, 0x3f, 0x3a, 0xba, 0xf2, 0x4b, 0x6f, 0x77, 0xe1, 0xe4, 0xbf, 0x46, 0x97, 0x57, 0xa3, 0xd3, 0x5f, 0x9c, 0x4a, 0x88, 0xca, 0x42, 0xd7, 0x4b, 0xef, 0xe, 0x47, 0xef, 0x41, 0x59, 0x13, 0x84, 0x8b, 0x3b, 0xf0, 0x64, 0x60, 0xf6, 0xeb, 0x13, 0xec, 0xdc, 0xca, 0xe9, 0x6a, 0x71, 0x7d, 0xc3, 0x35, 0x1b, 0x6d, 0x2f, 0x98, 0x9a, 0x2a, 0xd0, 0xc1, 0x7, 0xf2, 0x4a, 0xbf, 0x76, 0x5a, 0xd7, 0x1d, 0x4f, 0x58, 0x61, 0x9c, 0xe1, 0x97, 0x5b, 0x5d, 0x37, 0x46, 0xc9, 0x56, 0x48, 0xe4, 0xcd, 0x7c, 0x83, 0x6d, 0xdc, 0xca, 0xa8, 0xe5, 0x66, 0x87, 0xf4, 0xa2, 0xf4, 0x4a, 0xf3, 0xdc, 0xe1, 0x9, 0x7f, 0x82, 0xbc, 0x5a, 0xea, 0x77, 0xa0, 0x65, 0xaa, 0x4a, 0x8a, 0x4b, 0x97, 0xd3, 0xfb, 0x20, 0xc6, 0xd9, 0xab, 0xf9, 0xa4, 0x61, 0xc2, 0xbc, 0xb9, 0x9f, 0x53, 0x73, 0xc0, 0xf5, 0x1, 0x3d, 0xf0, 0x8f, 0x1c, 0xd8, 0xaf, 0x1f, 0xfc, 0x5d, 0x4e, 0x5a, 0xfa, 0x51, 0x2e, 0xd8, 0x42, 0xf6, 0x5d, 0x9d, 0xf, 0xf6, 0xd9, 0x96, 0xf0, 0xa, 0x55, 0xf1, 0xfc, 0xd0, 0x18, 0xc5, 0x27, 0xb9, 0x59, 0x75, 0xab, 0xb4, 0x8d, 0x78, 0x59, 0x7f, 0xaf, 0x71, 0xf4, 0xc6, 0x86, 0xa3, 0xeb, 0x9a, 0x8d, 0x76, 0x32, 0x31, 0x50, 0x7c, 0x8f, 0x59, 0x4a, 0xb7, 0x42, 0x8a, 0xe5, 0xb, 0x50, 0x1b, 0xef, 0x29, 0x37, 0x1e, 0x70, 0x2a, 0xe1, 0x3a, 0xa3, 0x26, 0x9e, 0x7b, 0x1, 0x81, 0xe0, 0x53, 0xd5, 0xe6, 0xa3, 0xe4, 0x88, 0xa, 0x6b, 0x6d, 0x4c, 0x18, 0xba, 0x22, 0xd0, 0x79, 0x6b, 0xf7, 0xe9, 0xc6, 0xa7, 0x7e, 0x8f, 0x2b, 0xc, 0xa7, 0xb8, 0x4b, 0x41, 0x9, 0x4d, 0x58, 0xca, 0xef, 0x98, 0x2a, 0x63, 0xe7, 0x37, 0x7e, 0x6a, 0x54, 0xcb, 0x30, 0x9f, 0x31, 0xa3, 0x23, 0xe1, 0xfd, 0x11, 0x2d, 0x96, 0x40, 0x19, 0x3d, 0x2b, 0xb1, 0x8b, 0x54, 0x66, 0x46, 0xa0, 0x32, 0x7, 0x32, 0xdc, 0x74, 0xad, 0xfd, 0xb6, 0x58, 0xb0, 0x84, 0x53, 0xc3, 0xd2, 0xa5, 0xfd, 0x40, 0xe2, 0xcc, 0x7f, 0x1d, 0xd0, 0x3c, 0x71, 0xa4, 0x8c, 0x29, 0x2e, 0x93, 0x30, 0x0, 0xba, 0xe5, 0x92, 0x1, 0x0, 0xee, 0xa1, 0x13, 0x93, 0x6, 0x4d, 0x0, 0x6b, 0x51, 0xe6, 0x34, 0x81, 0xe4, 0xc0, 0x94, 0x2e, 0x87, 0x91, 0x40, 0x92, 0xa1, 0x19, 0x8c, 0xa3, 0xbe, 0xae, 0xac, 0xe2, 0xd8, 0xe0, 0xe8, 0x11, 0x93, 0x54, 0xc6, 0xb7, 0x55, 0x55, 0xb9, 0x25, 0xa9, 0x52, 0x33, 0xb5, 0x71, 0x4a, 0x65, 0xf9, 0x9d, 0xae, 0x83, 0x12, 0x12, 0x21, 0x65, 0xd, 0x64, 0xd2, 0xf7, 0xa7, 0x8, 0x60, 0x8d, 0xe8, 0x63, 0x6, 0x37, 0xb3, 0x52, 0x0, 0xd2, 0x7b, 0x87, 0xba, 0x87, 0x69, 0x6a, 0x8e, 0x30, 0x12, 0x53, 0x19, 0x9, 0xcb, 0x84, 0x72, 0xcd, 0xc8, 0x64, 0x89, 0xb5, 0x15, 0x90, 0xf6, 0x38, 0xa5, 0x31, 0x3, 0xbd, 0xdf, 0xee, 0x90, 0x5d, 0x77, 0x3c, 0x21, 0x9f, 0xc1, 0x32, 0x38, 0x90, 0xd3, 0x3, 0x54, 0xb9, 0x74, 0xbe, 0x58, 0x50, 0xd7, 0x45, 0xd7, 0x27, 0xab, 0x4b, 0xe7, 0x49, 0x5e, 0xb3, 0x62, 0xdf, 0x43, 0xf7, 0x89, 0x4b, 0xdc, 0x16, 0x58, 0x9e, 0xd5, 0x3f, 0xc2, 0xf1, 0xf3, 0x28, 0x9e, 0x6d, 0x45, 0x6f, 0x45, 0x85, 0xcf, 0xd9, 0x1d, 0x53, 0x8a, 0x27, 0xbd, 0xed, 0xd7, 0x8f, 0xab, 0x6f, 0x76, 0x4d, 0x2e, 0xc0, 0xf7, 0xd2, 0x5b, 0xa6, 0xad, 0x16, 0x1a, 0xb3, 0x84, 0x1, 0x9c, 0xf3, 0x9d, 0x43, 0xf1, 0x2b, 0x6, 0x24, 0x3f, 0xb3, 0x39, 0xbd, 0xe3, 0x52, 0x11, 0x28, 0x5f, 0x72, 0xae, 0xc7, 0xcb, 0xe3, 0xdf, 0xec, 0x9, 0xd, 0x5c, 0x0, 0x5c, 0x91, 0xae, 0xfe, 0xc9, 0xb9, 0x7d, 0x65, 0x29, 0xdc, 0x2e, 0x1d, 0x55, 0x4d, 0x38, 0x81, 0x5c, 0xfb, 0x36, 0x5, 0x3, 0x38, 0x9b, 0x18, 0xb9, 0x5c, 0x59, 0x42, 0x97, 0xc1, 0xdd, 0xb2, 0x74, 0x99, 0xe2, 0x52, 0x35, 0x58, 0x38, 0xad, 0x5a, 0x8b, 0x7f, 0xbe, 0x59, 0x8a, 0xfa, 0x3f, 0x87, 0x4c, 0xe5, 0x16, 0x3f, 0x3, 0x5f, 0xb0, 0xcb, 0x5b, 0x9e, 0x65, 0x5c, 0xcc, 0x8e, 0x20, 0x7e, 0xd2, 0xdb, 0xe1, 0xb0, 0xfa, 0xe6, 0x3a, 0xf1, 0x71, 0xa0, 0xdd, 0xf3, 0xd5, 0x50, 0xd, 0xf0, 0x6d, 0xe7, 0x9b, 0x1d, 0x20, 0xb0, 0x74, 0x78, 0x90, 0x6b, 0x7b, 0xa7, 0xa1, 0x4a, 0x6c, 0xe3, 0x22, 0x8b, 0x66, 0x86, 0xf9, 0x9d, 0x82, 0x4, 0xef, 0xfb, 0x5b, 0xb5, 0xf6, 0xb7, 0xda, 0x31, 0x5b, 0xe1, 0x1b, 0x70, 0x75, 0x40, 0xfd, 0xb, 0x4c, 0xb1, 0x45, 0xc7, 0xfd, 0x2, 0xf6, 0xd0, 0x83, 0xd4, 0xe8, 0xae, 0x2f, 0x56, 0xfa, 0xf5, 0x97, 0x7c, 0x8f, 0xb5, 0x4d, 0x2d, 0xc1, 0x5e, 0xc7, 0xc, 0xc3, 0x3c, 0x55, 0xc3, 0x5c, 0x3, 0x42, 0x99, 0x73, 0x4, 0x42, 0x7c, 0x5b, 0xcc, 0x34, 0x49, 0xf9, 0x2d, 0x23, 0x34, 0x37, 0x73, 0x62, 0xad, 0x2c, 0x45, 0x63, 0xd0, 0xa9, 0xe5, 0x2d, 0x6b, 0x15, 0x18, 0xdf, 0x85, 0x4a, 0x52, 0xd1, 0x3a, 0x36, 0x9, 0x30, 0xfc, 0xc6, 0x58, 0x86, 0xfb, 0x40, 0x15, 0x5d, 0x30, 0x63, 0x77, 0xae, 0xdc, 0x98, 0xc4, 0x85, 0x4d, 0xfb, 0xb4, 0x27, 0x41, 0x22, 0x86, 0xd, 0x2f, 0x84, 0x8d, 0xbd, 0xfb, 0x71, 0xb8, 0xa, 0x45, 0x3c, 0xac, 0x4a, 0xa0, 0x35, 0x61, 0xa, 0xab, 0x7c, 0x3d, 0x7a, 0x97, 0x92, 0x47, 0xe7, 0x25, 0x6b, 0x13, 0x12, 0x1e, 0x91, 0xbf, 0xd4, 0xd3, 0x25, 0x9d, 0xf8, 0x28, 0xd5, 0xcc, 0x15, 0xed, 0xc6, 0x2b, 0x3e, 0xd5, 0x21, 0xb9, 0x5a, 0x66, 0x4e, 0x70, 0x5d, 0x5f, 0x8f, 0x8e, 0xef, 0xfe, 0xad, 0x2d, 0x4, 0xe8, 0x8b, 0xa9, 0x37, 0x88, 0xdd, 0x1c, 0x96, 0xdf, 0xe9, 0xd4, 0x78, 0xe6, 0xc, 0x90, 0xb5, 0xeb, 0x5, 0xca, 0x3, 0x28, 0x6a, 0x56, 0x68, 0x33, 0x43, 0xcd, 0xbd, 0x52, 0x58, 0xdb, 0x8d, 0x29, 0x4, 0x44, 0xb1, 0x19, 0xd7, 0x6, 0xcc, 0xdd, 0xa2, 0x33, 0x85, 0x8, 0xd, 0x6f, 0xdb, 0x5a, 0x7f, 0x3d, 0x52, 0xc4, 0xa8, 0x3e, 0x8b, 0x6a, 0xcc, 0xc8, 0x77, 0xa7, 0xa8, 0xd4, 0x6a, 0x93, 0xd6, 0xd8, 0x8a, 0x7f, 0xfe, 0x4a, 0x1e, 0xa5, 0x52, 0xb3, 0x7, 0x4, 0xe, 0x5a, 0x3b, 0xc3, 0xcc, 0xe5, 0x3d, 0x49, 0x65, 0x68, 0x1f, 0x8, 0x71, 0x79, 0x8e, 0x90, 0xdc, 0xc8, 0x3a, 0xd1, 0x53, 0x31, 0x85, 0x74, 0xa4, 0x82, 0xd4, 0x92, 0x86, 0x4f, 0xde, 0xf3, 0x5, 0x37, 0xc5, 0x48, 0x91, 0xf0, 0x21, 0x99, 0x80, 0xeb, 0x8d, 0xbd, 0x84, 0xad, 0xa9, 0x7a, 0xc2, 0xd1, 0x31, 0xe, 0x9, 0x41, 0x8a, 0x8c, 0xe1, 0xc0, 0xdd, 0x18, 0x79, 0x3, 0x7e, 0xc9, 0x1b, 0x17, 0xde, 0x19, 0x93, 0x85, 0x3, 0x4b, 0x8, 0xa9, 0x68, 0xc3, 0xa8, 0x25, 0xa2, 0x52, 0xac, 0xd, 0xdc, 0xfd, 0xed, 0xd7, 0xc6, 0x4d, 0x7, 0x14, 0xe8, 0xf2, 0x94, 0xc1, 0x87, 0x61, 0x45, 0x8e, 0x36, 0x74, 0x49, 0x40, 0xcb, 0x2b, 0x45, 0x2, 0x9d, 0xf7, 0x23, 0xb4, 0x53, 0xce, 0x78, 0x7c, 0xb, 0xad, 0x5a, 0xf2, 0xc, 0xd, 0xf4, 0x48, 0x84, 0xd8, 0x95, 0xd5, 0xd0, 0x0, 0x6a, 0x43, 0x40, 0xce, 0x9e, 0x51, 0x4b, 0xab, 0x99, 0xf, 0x40, 0x2b, 0x4b, 0x53, 0x38, 0xba, 0x46, 0x2d, 0x5d, 0x22, 0x10, 0x8d, 0xe7, 0x9c, 0xdd, 0x31, 0x28, 0x1d, 0x91, 0x24, 0xb3, 0xef, 0xbb, 0xd6, 0x12, 0xdc, 0xe3, 0xa4, 0x63, 0x7, 0x4a, 0xa0, 0x63, 0x48, 0x1c, 0xde, 0x3e, 0x3c, 0x3d, 0xf6, 0x8b, 0xd3, 0xb0, 0xc2, 0x2e, 0xa9, 0xa8, 0xc7, 0x2, 0xc3, 0xb2, 0x3e, 0xd6, 0xc9, 0xfb, 0x40, 0x3f, 0xf3, 0x45, 0xbe, 0x58, 0x5d, 0x5e, 0xee, 0xf4, 0x56, 0xd4, 0x81, 0x50, 0xf1, 0xf5, 0x66, 0xa2, 0xcb, 0x6b, 0xe2, 0xf1, 0x2d, 0x4b, 0x48, 0x9e, 0x59, 0xdb, 0x33, 0x5c, 0xe3, 0xd6, 0xc5, 0xd, 0xb, 0xdb, 0x70, 0xea, 0xda, 0x97, 0xc5, 0x1d, 0xbc, 0x48, 0xac, 0x5f, 0x98, 0x50, 0x82, 0xff, 0x78, 0xab, 0x92, 0x31, 0xb5, 0xe0, 0x6, 0x84, 0x81, 0x5d, 0x1f, 0x9f, 0x6a, 0x57, 0xc0, 0x3d, 0x92, 0x22, 0xf, 0xb, 0xbf, 0xdd, 0xde, 0xc7, 0xef, 0xf1, 0xfc, 0xd8, 0xd, 0x1c, 0x59, 0x35, 0x79, 0xb4, 0x3, 0x76, 0x4, 0xf9, 0x4, 0xde, 0x34, 0x48, 0x8f, 0x61, 0x9f, 0x63, 0xc6, 0x92, 0xae, 0x35, 0x7f, 0x3a, 0x83, 0x62, 0x83, 0xa8, 0x78, 0x41, 0x7b, 0xaf, 0xa8, 0x78, 0x38, 0xb6, 0x6b, 0xa2, 0xe2, 0xfc, 0x21, 0x81, 0x47, 0x2f, 0x1b, 0x1f, 0x3b, 0xf0, 0x58, 0xdc, 0xb5, 0xce, 0xc0, 0x63, 0x9, 0x3b, 0xa4, 0x39, 0x0, 0x76, 0x78, 0x74, 0x35, 0xfa, 0x38, 0xba, 0xfa, 0x7d, 0x6d, 0xe0, 0xb1, 0x6d, 0x4d, 0x1e, 0x16, 0xc, 0x2c, 0x96, 0xe5, 0x11, 0x82, 0x81, 0xa2, 0xb2, 0x1a, 0xed, 0xd1, 0xc0, 0x8d, 0x16, 0xa3, 0x29, 0xb0, 0xd7, 0x5a, 0x5b, 0xf2, 0x48, 0xc1, 0x8f, 0xee, 0x3, 0x6f, 0x1f, 0xb6, 0xf2, 0xd7, 0x3d, 0xed, 0xea, 0xe1, 0x13, 0xf6, 0xb9, 0xd6, 0xc6, 0xff, 0xe9, 0x2d, 0x3e, 0xf8, 0x34, 0x84, 0x9c, 0x3e, 0x1b, 0x48, 0xc9, 0xa2, 0x33, 0x8c, 0x4c, 0x82, 0xdb, 0xdf, 0x59, 0x6a, 0x59, 0xae, 0x32, 0xa9, 0x5b, 0xc1, 0xc0, 0xbe, 0x8c, 0xc3, 0xfd, 0x69, 0x7c, 0xe3, 0xeb, 0x90, 0x75, 0x1e, 0xc7, 0x71, 0x59, 0x9b, 0xd3, 0x8a, 0xfb, 0xb2, 0x35, 0x27, 0xde, 0xab, 0x73, 0x47, 0x34, 0x4d, 0xad, 0x76, 0xf1, 0xd5, 0x7a, 0xd1, 0x78, 0x2, 0x7a, 0x5b, 0xc3, 0x81, 0x62, 0x67, 0x11, 0x83, 0x12, 0x1b, 0x52, 0x63, 0x5d, 0x76, 0xa7, 0xcb, 0xbe, 0x2c, 0x6b, 0xdb, 0x98, 0x6, 0xaa, 0xad, 0x1a, 0x87, 0xed, 0xb0, 0xa0, 0x3f, 0x9f, 0x61, 0xc3, 0x28, 0x2c, 0x2, 0xa1, 0x49, 0xa2, 0x98, 0xd6, 0x4c, 0x7, 0x85, 0xf4, 0x7e, 0xce, 0xd, 0x4b, 0xad, 0x61, 0x91, 0x78, 0x20, 0x2a, 0xfc, 0xc4, 0x4b, 0x4d, 0x92, 0xa5, 0xa0, 0xb, 0x1e, 0xd7, 0xdc, 0xb2, 0xdf, 0x8d, 0xdb, 0xa1, 0x10, 0xa1, 0xc5, 0x96, 0x2c, 0xe8, 0xd2, 0x7, 0xe4, 0xee, 0x2a, 0x6f, 0xc1, 0xfc, 0xff, 0xe2, 0x81, 0x37, 0x68, 0xaa, 0x18, 0x4d, 0x96, 0xde, 0x9b, 0x93, 0x78, 0x3e, 0x1c, 0xfb, 0x8d, 0x70, 0x2d, 0x2b, 0x5d, 0x4, 0xd4, 0x27, 0x36, 0xb0, 0x4, 0x72, 0x29, 0x5b, 0x96, 0x58, 0xa, 0x2f, 0x27, 0x36, 0x2, 0x30, 0x2b, 0x2d, 0xcf, 0xd9, 0xca, 0x8, 0xeb, 0xf3, 0x57, 0x75, 0x35, 0x23, 0xc3, 0x4b, 0x16, 0x97, 0x0, 0x8c, 0xc2, 0xb8, 0x4b, 0x66, 0x54, 0x32, 0x48, 0x3a, 0x34, 0xf2, 0x2f, 0x17, 0x88, 0xae, 0x58, 0x40, 0x2e, 0xda, 0x88, 0x71, 0x59, 0xd7, 0xd, 0xbf, 0xd4, 0x4f, 0x9, 0xf5, 0x42, 0x67, 0xf0, 0x6d, 0xe, 0xe8, 0x64, 0x27, 0x56, 0xf5, 0x1a, 0x6d, 0x5d, 0x4e, 0xc6, 0x35, 0x9f, 0xf0, 0x94, 0x9b, 0xe5, 0x5f, 0x73, 0xa6, 0x1e, 0xe6, 0xc1, 0xf9, 0x18, 0xc6, 0xb0, 0xc6, 0x9e, 0x82, 0xe4, 0x64, 0x50, 0x2a, 0xec, 0x1a, 0xd9, 0xff, 0x9b, 0x29, 0x99, 0x67, 0x96, 0xcf, 0x97, 0xfb, 0x7, 0x42, 0x1f, 0x31, 0xf8, 0x33, 0x38, 0xc4, 0x8a, 0x26, 0x54, 0xbe, 0xbf, 0x2a, 0x80, 0x22, 0x5a, 0x41, 0x31, 0xe, 0x6e, 0x7e, 0x3d, 0xc6, 0x1a, 0x80, 0xdc, 0xe4, 0x14, 0xa1, 0xdd, 0xa1, 0x3e, 0xe1, 0xae, 0x25, 0xbd, 0xb5, 0x57, 0x43, 0xbe, 0xb6, 0x94, 0x14, 0xfb, 0x6a, 0xb9, 0x73, 0x57, 0x3, 0xa5, 0xcd, 0x5f, 0x2d, 0xa8, 0xfd, 0x5a, 0x32, 0x62, 0xb5, 0x49, 0x7e, 0x2b, 0xf, 0x5b, 0x6d, 0x98, 0xaf, 0x37, 0xdc, 0x9c, 0xe2, 0x4, 0xdd, 0xc0, 0xee, 0x6f, 0xb6, 0x45, 0xb, 0xfa, 0xb9, 0x68, 0x94, 0x76, 0xce, 0xd4, 0x25, 0x8b, 0xa5, 0x68, 0xf5, 0xdf, 0x6d, 0x5b, 0x1e, 0x7, 0xbe, 0x8b, 0x60, 0x8f, 0xe1, 0x68, 0xf6, 0x5c, 0x96, 0x1a, 0xa0, 0x15, 0x10, 0xa1, 0x19, 0x53, 0x44, 0x3, 0x39, 0x45, 0x7, 0x5a, 0xae, 0x71, 0x41, 0x86, 0x91, 0x18, 0x19, 0xed, 0xf5, 0x31, 0xe7, 0x7c, 0x50, 0x2c, 0xc9, 0x63, 0x3c, 0xf1, 0xda, 0x28, 0x40, 0xa3, 0x74, 0x12, 0x70, 0xa9, 0xd, 0x5b, 0x60, 0xa5, 0x19, 0x48, 0xde, 0xda, 0xa2, 0xea, 0x81, 0x43, 0x29, 0x9c, 0xb3, 0x34, 0x43, 0x3f, 0x86, 0xc2, 0x66, 0x89, 0xf8, 0x66, 0x24, 0xe4, 0x1d, 0x53, 0xd6, 0x80, 0x83, 0x25, 0x5f, 0x70, 0xc1, 0x17, 0xfc, 0x1f, 0x8c, 0x64, 0xd2, 0x30, 0x61, 0x38, 0xa0, 0x31, 0xa5, 0xd6, 0xa6, 0xe7, 0xa2, 0xd4, 0xed, 0x40, 0x8a, 0x99, 0x2c, 0xb2, 0xf3, 0x9d, 0xd6, 0xa6, 0x2, 0xb0, 0x58, 0x39, 0x19, 0x6, 0x78, 0xaf, 0x90, 0x84, 0x7d, 0xb6, 0x82, 0x83, 0x1b, 0x92, 0xc2, 0x42, 0x61, 0xde, 0x3d, 0x74, 0x8a, 0x1b, 0x54, 0xb4, 0x5, 0x1e, 0x9a, 0xc6, 0x59, 0xb1, 0x16, 0x4b, 0x95, 0x38, 0x67, 0x18, 0x37, 0xda, 0xbd, 0xeb, 0x21, 0xac, 0x50, 0xcf, 0x88, 0x44, 0xa3, 0xf0, 0x27, 0xb7, 0x6c, 0x89, 0xc9, 0x7b, 0x4c, 0xa1, 0x5f, 0x9c, 0xa9, 0x8b, 0xf3, 0xcb, 0xb1, 0xe3, 0xa2, 0x20, 0x19, 0x91, 0x7b, 0x6a, 0x57, 0x8c, 0xe7, 0xa, 0x4, 0xfd, 0x66, 0xe0, 0x39, 0x44, 0x1b, 0xda, 0xd5, 0xb3, 0x4, 0x75, 0xc3, 0x7f, 0x9, 0xa4, 0xe9, 0x82, 0xb7, 0x15, 0xb1, 0xf9, 0x66, 0x9f, 0x10, 0x3a, 0xf7, 0x17, 0xbb, 0xa7, 0x92, 0x59, 0xe5, 0xc5, 0x57, 0xc5, 0x48, 0x5d, 0x59, 0x83, 0x5b, 0x7e, 0xe5, 0xb2, 0x2b, 0x1, 0xb0, 0xd4, 0x93, 0x66, 0xcb, 0xcf, 0x1c, 0xad, 0x6d, 0x6f, 0x93, 0x30, 0x54, 0x89, 0xb7, 0xfc, 0xd0, 0xb1, 0x1b, 0xa6, 0x15, 0xa8, 0xb1, 0xdc, 0x76, 0xf1, 0x41, 0x5f, 0xb8, 0x68, 0x6f, 0x71, 0x9d, 0x57, 0x72, 0x28, 0x9c, 0x86, 0xb2, 0xe5, 0xe7, 0xba, 0xf3, 0x32, 0x5a, 0xe8, 0x10, 0xd0, 0x9f, 0xba, 0xe8, 0x4e, 0xbf, 0x2d, 0xd, 0xf5, 0xf1, 0x3a, 0x56, 0xf7, 0xd1, 0x3e, 0x5a, 0x6b, 0xb0, 0xdf, 0xb5, 0xe2, 0xde, 0x57, 0xf1, 0x98, 0x2b, 0x5e, 0x1b, 0xf3, 0x21, 0xba, 0xd5, 0x29, 0xfb, 0x9c, 0x17, 0xc4, 0x7c, 0xd5, 0xf8, 0xd8, 0x93, 0x76, 0xd0, 0x7f, 0xe2, 0x30, 0x19, 0xc6, 0x49, 0xe, 0x34, 0x4f, 0xd8, 0xda, 0x90, 0x59, 0x84, 0x9, 0x61, 0x61, 0xd1, 0x43, 0xc5, 0x2, 0xc6, 0xf7, 0x9d, 0x3f, 0x11, 0xec, 0x5, 0x2f, 0x79, 0x72, 0xcd, 0x8, 0x75, 0xb2, 0xe8, 0xa0, 0x28, 0xaa, 0xf6, 0x9, 0x8e, 0xa3, 0xe3, 0x96, 0x79, 0x33, 0x91, 0x64, 0x92, 0xb7, 0x23, 0x97, 0xf6, 0x98, 0xf6, 0x89, 0x1b, 0x2, 0x71, 0x11, 0xbd, 0xbb, 0xc, 0xeb, 0x51, 0xc9, 0xf5, 0xc5, 0x7b, 0xc8, 0xa1, 0xc4, 0xbd, 0xc9, 0xb5, 0x1, 0x31, 0xe4, 0xbf, 0xea, 0x2, 0x6e, 0xaa, 0xcd, 0xc1, 0xa1, 0xf1, 0x1c, 0x6e, 0x41, 0x9c, 0x3b, 0xc9, 0x40, 0x5b, 0x9b, 0xcd, 0xd7, 0x76, 0xd1, 0x36, 0xaa, 0x25, 0xf7, 0x5b, 0xd5, 0xf1, 0xa1, 0x47, 0xf, 0xc9, 0xf9, 0x64, 0xef, 0x3, 0x23, 0xf, 0xc0, 0x13, 0x1b, 0x6a, 0x9d, 0xc2, 0xb1, 0xb, 0x93, 0xb3, 0xda, 0xd9, 0x43, 0x22, 0x78, 0x61, 0x80, 0x6a, 0x86, 0x9e, 0x35, 0xd7, 0x11, 0x9d, 0xa, 0x23, 0x77, 0x49, 0x40, 0xc1, 0x4c, 0x97, 0x55, 0x3f, 0xca, 0xda, 0xc5, 0x78, 0xa4, 0x18, 0x5c, 0x79, 0x31, 0x5c, 0x81, 0xdd, 0xa3, 0x2f, 0x6, 0xa4, 0x23, 0x86, 0x5, 0xf1, 0x68, 0xcb, 0x98, 0xbb, 0xf9, 0xa, 0x7c, 0x95, 0x1e, 0xc4, 0x9d, 0x4f, 0x21, 0xe1, 0x61, 0xae, 0xa4, 0x90, 0xb9, 0x7e, 0x1d, 0x9, 0xb7, 0x26, 0xee, 0xd2, 0x5a, 0x2, 0x42, 0xe6, 0x1d, 0x91, 0x8a, 0xfc, 0x83, 0x29, 0x39, 0xb0, 0xea, 0xa6, 0x6e, 0x9d, 0x6, 0xb7, 0xf7, 0x66, 0x2a, 0x55, 0xdc, 0x9a, 0x78, 0xf3, 0xb8, 0x61, 0x37, 0xd8, 0x97, 0xa7, 0x3c, 0x5a, 0x54, 0x10, 0x5a, 0x5a, 0xa4, 0xea, 0xca, 0xfa, 0xa5, 0x74, 0xe1, 0x3c, 0x6e, 0x2, 0xac, 0x44, 0x24, 0x42, 0x16, 0xf3, 0x65, 0xd3, 0xdb, 0xda, 0x25, 0x7b, 0x3b, 0x20, 0x7d, 0x24, 0xbb, 0x63, 0xc1, 0x9b, 0xa7, 0xb9, 0x7e, 0xb5, 0x1f, 0x12, 0x6c, 0xea, 0x1b, 0x6b, 0x82, 0xb1, 0x3d, 0xa3, 0x2f, 0x16, 0x1a, 0x4a, 0x82, 0x31, 0xbc, 0x54, 0x2e, 0x7a, 0xcf, 0x70, 0xf0, 0xc7, 0x8c, 0x27, 0x55, 0xa5, 0xfe, 0x63, 0x47, 0x95, 0x8a, 0x9d, 0xee, 0xe, 0x2b, 0x95, 0x8f, 0x58, 0x73, 0x28, 0xe5, 0xf4, 0xe4, 0xbf, 0xae, 0x2f, 0x6f, 0xce, 0xce, 0x4f, 0x2e, 0xe, 0xaf, 0x46, 0x67, 0xa7, 0x5f, 0x38, 0xbc, 0x54, 0x5f, 0xa5, 0x47, 0x9, 0x32, 0x55, 0x16, 0xa7, 0x3d, 0xca, 0xf4, 0xa0, 0xb5, 0xf9, 0x26, 0xa2, 0x4d, 0xc2, 0xae, 0xfa, 0xaf, 0x8d, 0x21, 0xa7, 0xae, 0xc, 0xe0, 0xa2, 0x89, 0xe9, 0x79, 0x47, 0x2e, 0x70, 0x7b, 0xca, 0x6f, 0xa7, 0xa3, 0xdb, 0x5, 0xac, 0x56, 0x3a, 0xa2, 0xc2, 0x9, 0x9, 0xaa, 0x5e, 0x24, 0xae, 0xb5, 0x47, 0x75, 0xc4, 0xcc, 0x23, 0xac, 0xf9, 0xb7, 0x93, 0x66, 0x22, 0x56, 0x4b, 0xec, 0x97, 0xa2, 0x99, 0xd0, 0xdc, 0xf0, 0x3b, 0x46, 0x20, 0xb8, 0xe4, 0xd, 0x7b, 0x8c, 0xb2, 0xd9, 0xcb, 0xef, 0x8b, 0x39, 0x0, 0xe7, 0x9f, 0x8b, 0x52, 0xdf, 0x7c, 0x6e, 0x7f, 0x9, 0xb1, 0xa4, 0x48, 0x18, 0x45, 0x85, 0xf6, 0xb9, 0x1, 0x92, 0xb0, 0xcf, 0xe, 0xa6, 0xda, 0x69, 0x55, 0x9a, 0x50, 0x7d, 0xc0, 0xf5, 0xd0, 0xb9, 0xaf, 0xb8, 0xb6, 0x4a, 0xe4, 0x34, 0x4f, 0x81, 0x9a, 0x10, 0x6d, 0xb3, 0x37, 0xd6, 0x45, 0xda, 0x4a, 0xa0, 0xd8, 0x85, 0xa7, 0x84, 0x69, 0xe6, 0x8, 0xb, 0x60, 0x95, 0x21, 0xc1, 0xc4, 0x92, 0x1a, 0xc0, 0xdb, 0xfd, 0x43, 0xd0, 0x89, 0xc6, 0x51, 0x52, 0xe0, 0xf8, 0x63, 0x2d, 0xf6, 0x9c, 0xa7, 0x49, 0x98, 0xc, 0x82, 0x73, 0x60, 0x5c, 0x7d, 0x65, 0x32, 0xb8, 0xae, 0x25, 0x9e, 0xef, 0x72, 0x9a, 0x97, 0x56, 0x24, 0x87, 0x99, 0x2, 0xa4, 0x8a, 0x27, 0x4a, 0xd1, 0xd0, 0x2f, 0xc1, 0x31, 0xcc, 0x6f, 0x32, 0x66, 0x58, 0xf0, 0x85, 0x87, 0x58, 0x7b, 0xdf, 0x3e, 0x48, 0xc3, 0xa3, 0xc9, 0xf2, 0x6f, 0x12, 0x4e, 0xa1, 0x6e, 0x62, 0x3f, 0xa, 0xa8, 0xc2, 0x1a, 0x7a, 0x1f, 0x86, 0xaa, 0xd0, 0x10, 0x9b, 0xea, 0xc2, 0x56, 0x58, 0x43, 0xc3, 0x3, 0xc1, 0x15, 0x36, 0x21, 0x2, 0x42, 0x61, 0x5f, 0xa8, 0xf0, 0xe0, 0xdb, 0x4a, 0x16, 0xde, 0x43, 0x32, 0xb4, 0x42, 0x32, 0x4, 0x48, 0xc0, 0x3d, 0x2a, 0xc3, 0xe3, 0xa2, 0x32, 0x80, 0x66, 0xfc, 0xd5, 0xb0, 0x14, 0xbe, 0x46, 0x2a, 0x66, 0x21, 0x95, 0x1a, 0x52, 0x31, 0xc3, 0x2, 0x4, 0x11, 0xb0, 0x2e, 0x17, 0x73, 0x8f, 0x46, 0xb0, 0x33, 0x68, 0x4, 0x8e, 0xdf, 0x9e, 0xd0, 0x19, 0x53, 0x6b, 0x8b, 0x27, 0xfb, 0xc0, 0xae, 0x5d, 0x14, 0xa0, 0xa0, 0xb3, 0x0, 0x8a, 0xbd, 0x82, 0xa, 0x40, 0xb8, 0x48, 0xb9, 0x60, 0x3e, 0xe7, 0xc9, 0x19, 0x3c, 0xcc, 0x61, 0x98, 0xd9, 0xfb, 0xb2, 0xf0, 0x99, 0x23, 0xce, 0x24, 0x1, 0xe5, 0xc1, 0x67, 0xc3, 0x4b, 0xf0, 0x18, 0xa1, 0xe3, 0x6, 0x6a, 0x81, 0xa5, 0x7, 0x43, 0xab, 0xba, 0x96, 0x2, 0x30, 0xa4, 0xf1, 0x29, 0x43, 0x7e, 0x8, 0x7a, 0x47, 0x79, 0x4a, 0xad, 0x81, 0x5, 0x4a, 0x9, 0xcd, 0xe0, 0xbf, 0xe5, 0xb4, 0x5c, 0x21, 0x66, 0x1c, 0x3a, 0x97, 0x63, 0x12, 0x8a, 0x99, 0x5c, 0x9, 0x3b, 0x58, 0x19, 0x7e, 0x60, 0x41, 0xd5, 0x2d, 0x2a, 0x67, 0xba, 0x54, 0xa9, 0x5d, 0xfb, 0xf6, 0x84, 0x95, 0xfc, 0x7f, 0xde, 0x5, 0xea, 0x33, 0xc2, 0x23, 0x51, 0x5c, 0x21, 0x3b, 0xf4, 0xda, 0xdb, 0xe3, 0x34, 0xa8, 0xe4, 0xdd, 0xa3, 0x76, 0xcf, 0x5b, 0xe5, 0x5, 0xa1, 0x57, 0x55, 0x51, 0x7a, 0x51, 0xac, 0x9a, 0x86, 0xb6, 0x6d, 0x65, 0x3a, 0x60, 0xe2, 0xef, 0xa9, 0x36, 0x47, 0xc1, 0x1b, 0x7c, 0x81, 0x2d, 0x9b, 0x71, 0x97, 0x23, 0xd1, 0x5a, 0xdc, 0x8e, 0xd1, 0x7b, 0x44, 0x6c, 0x50, 0x32, 0x9f, 0xcd, 0x5d, 0xb3, 0x50, 0xbb, 0xec, 0x56, 0x3, 0x8e, 0x11, 0x69, 0x2f, 0x5d, 0x22, 0x8, 0xa2, 0xcf, 0xb, 0x28, 0x5, 0xb0, 0x9, 0x37, 0x9a, 0xa5, 0x53, 0xf2, 0xca, 0xb3, 0x2c, 0xef, 0x2c, 0xd5, 0x64, 0xca, 0xa8, 0xc9, 0x15, 0x7b, 0x5d, 0x31, 0xf9, 0xac, 0x45, 0x25, 0x92, 0xb0, 0x3b, 0xae, 0x25, 0x14, 0xe1, 0xc2, 0x5, 0x58, 0x56, 0x48, 0xed, 0x68, 0x28, 0x5b, 0x9f, 0xef, 0xc6, 0xc6, 0x42, 0xa7, 0x58, 0x7d, 0xe, 0x38, 0x21, 0x4d, 0x10, 0x1f, 0xa0, 0xe6, 0x42, 0xed, 0x65, 0x1d, 0xca, 0x63, 0xd0, 0x7, 0xcb, 0xa3, 0xc, 0xdf, 0x11, 0x89, 0xa, 0x7e, 0x47, 0xd, 0xb8, 0x63, 0x9f, 0x84, 0x5a, 0x18, 0x33, 0xed, 0x49, 0xa8, 0xf5, 0x2d, 0xf2, 0x5c, 0x44, 0x1f, 0x50, 0x7d, 0x20, 0xd8, 0xbd, 0xf7, 0xa8, 0xc4, 0xe1, 0xd3, 0x7e, 0x99, 0x9b, 0x70, 0x40, 0x4, 0x2b, 0x59, 0x7c, 0x5f, 0x26, 0xc5, 0x75, 0xf, 0x8f, 0xb2, 0x87, 0x47, 0x59, 0xa7, 0x1b, 0xef, 0x91, 0x4e, 0x1e, 0x8c, 0x74, 0xf2, 0xf0, 0xf4, 0x66, 0xff, 0xa1, 0x4d, 0x13, 0x9c, 0xbd, 0x9, 0x47, 0x63, 0xe3, 0xf3, 0x28, 0xad, 0x8, 0x90, 0x82, 0xf9, 0xeb, 0x14, 0xfa, 0x53, 0xb9, 0xe9, 0x95, 0xbb, 0x14, 0x3b, 0xf8, 0xe3, 0x60, 0xe2, 0xa1, 0xc5, 0x12, 0x89, 0xbe, 0x70, 0x7a, 0xce, 0xa9, 0x9d, 0x94, 0x71, 0x4e, 0xc8, 0x2b, 0xce, 0x86, 0x3, 0xe8, 0x85, 0x0, 0x8a, 0xcf, 0x6b, 0x2, 0x9b, 0x6, 0xfa, 0x25, 0x8d, 0x4, 0x62, 0x72, 0xe3, 0x35, 0x70, 0x8f, 0x52, 0xc8, 0xec, 0x43, 0xfa, 0xe1, 0x90, 0x7a, 0x4b, 0x12, 0xdf, 0x1f, 0x0, 0x68, 0xab, 0x14, 0x2f, 0x1, 0xde, 0x97, 0x8a, 0xa5, 0x99, 0xbb, 0x48, 0x67, 0x15, 0x6e, 0xbc, 0x3e, 0x3f, 0x20, 0xa, 0xe, 0x98, 0x7, 0x7d, 0xa5, 0x49, 0x42, 0x68, 0xf0, 0xe1, 0xa3, 0xbe, 0xe4, 0x86, 0x59, 0x79, 0x79, 0x97, 0xa0, 0x6c, 0x98, 0x35, 0x2c, 0xda, 0x5a, 0x78, 0x6f, 0xe0, 0x20, 0xd8, 0xb4, 0x3, 0x78, 0x9, 0xa0, 0xd8, 0x27, 0xd2, 0xaf, 0xf6, 0xb7, 0x87, 0x95, 0x75, 0xa, 0x3f, 0xee, 0x88, 0xa5, 0xd6, 0x69, 0x3e, 0x2e, 0x9e, 0xa, 0x27, 0x6d, 0xec, 0xcc, 0xa4, 0x1b, 0x78, 0xa0, 0x30, 0x74, 0x7f, 0x2, 0xa3, 0xa3, 0x2d, 0x53, 0xf2, 0x1b, 0x46, 0xf1, 0x31, 0x32, 0x7b, 0xdc, 0xc4, 0xfa, 0x47, 0xc9, 0x3d, 0xd7, 0x46, 0x66, 0x84, 0xf6, 0x4b, 0x3b, 0xdf, 0xca, 0xaf, 0x3a, 0xaa, 0xf9, 0x54, 0x7d, 0xff, 0xd7, 0xd, 0x97, 0xd1, 0x67, 0xc0, 0xb2, 0x47, 0x87, 0x98, 0xd8, 0xb6, 0x75, 0xfc, 0x61, 0x28, 0x6b, 0x82, 0x76, 0xee, 0x56, 0xd0, 0x29, 0x50, 0xea, 0x6b, 0x70, 0x3e, 0x7c, 0x5a, 0x82, 0x1c, 0x2, 0xfe, 0xf8, 0x74, 0x4d, 0x39, 0xd6, 0xa2, 0xe8, 0x3c, 0x61, 0xfe, 0x5e, 0x1d, 0x4c, 0xa7, 0x94, 0x5, 0x1d, 0x32, 0xf0, 0x5a, 0x3f, 0xbf, 0xe9, 0xc9, 0x5e, 0xf1, 0xa8, 0xc0, 0xf9, 0x86, 0x96, 0xe9, 0xf8, 0xa9, 0xe0, 0x9c, 0x28, 0xa8, 0x18, 0x10, 0xc5, 0x62, 0xa9, 0x12, 0x54, 0xb2, 0x9d, 0x9e, 0xed, 0x4b, 0x6d, 0x5e, 0x6a, 0x6b, 0x46, 0x59, 0xb1, 0xe4, 0x1b, 0xe2, 0xcb, 0xdc, 0xc4, 0xb2, 0x9a, 0x8d, 0xb6, 0xd1, 0x81, 0x7d, 0xa2, 0xcc, 0xcf, 0x6d, 0x8f, 0x6d, 0x29, 0x2d, 0x72, 0xed, 0xb9, 0xfd, 0xa, 0xa7, 0xf5, 0x6b, 0x66, 0xa0, 0x3e, 0xb3, 0x13, 0x5c, 0x9, 0x57, 0x3f, 0xfe, 0xf9, 0xdd, 0x3, 0xd0, 0xed, 0x1, 0xe8, 0xba, 0x1, 0xe8, 0x7a, 0x1d, 0xfa, 0xc6, 0x37, 0x9d, 0x95, 0xfe, 0xf8, 0xe0, 0x75, 0x45, 0x96, 0x52, 0xa5, 0x9, 0xfd, 0x4a, 0x62, 0x51, 0xf9, 0x6a, 0x83, 0xa5, 0xb0, 0x3b, 0x90, 0x76, 0xe0, 0x63, 0xc, 0x77, 0xe4, 0x62, 0x4b, 0x76, 0x1f, 0xac, 0x70, 0x9f, 0x45, 0x8f, 0x1a, 0x3d, 0x53, 0x4a, 0x2a, 0x5f, 0x0, 0xb5, 0x90, 0x76, 0xe3, 0x59, 0x8c, 0x9d, 0x8e, 0xa0, 0xc1, 0x8b, 0x3b, 0x34, 0x5c, 0x63, 0xc2, 0xa7, 0x28, 0x3b, 0xe0, 0xc3, 0x9, 0x1d, 0xbf, 0x86, 0xa6, 0x69, 0xc1, 0x4b, 0xf, 0x2f, 0x83, 0x2b, 0xe8, 0x75, 0xcb, 0x79, 0xb6, 0x6a, 0x76, 0x46, 0x55, 0x0, 0x1b, 0x46, 0x1c, 0x9d, 0xe2, 0x91, 0x78, 0x4e, 0xed, 0x5d, 0x72, 0x1d, 0x5a, 0x78, 0x9b, 0xdf, 0xf2, 0x1b, 0xf4, 0xda, 0xac, 0x70, 0xdb, 0xc0, 0x87, 0x3b, 0x30, 0xe4, 0x3a, 0xf9, 0xb8, 0xe2, 0x33, 0x67, 0x57, 0x62, 0x96, 0x48, 0xca, 0xb6, 0x65, 0xe0, 0x6c, 0xc7, 0x19, 0xf7, 0x6a, 0xe5, 0x29, 0x30, 0x81, 0x3a, 0x3f, 0x73, 0x95, 0x91, 0xde, 0x39, 0x9f, 0x54, 0x51, 0xa, 0xda, 0x18, 0xc1, 0x43, 0xd8, 0x9c, 0xbd, 0x19, 0x9b, 0x86, 0xf8, 0xed, 0x46, 0x5d, 0xda, 0xf7, 0xba, 0x4e, 0x13, 0x36, 0xbe, 0xb2, 0x8f, 0x92, 0xd1, 0x31, 0xf8, 0x3d, 0xd9, 0xe7, 0x8c, 0x3b, 0xbd, 0xe, 0xba, 0x8f, 0x56, 0xba, 0xa8, 0x39, 0x65, 0xc1, 0xe0, 0x91, 0x58, 0xd7, 0x82, 0xef, 0x6b, 0x66, 0xd3, 0xf4, 0x39, 0xd9, 0xd5, 0x4a, 0xb4, 0xe5, 0x93, 0x9d, 0xea, 0xfe, 0xb5, 0xd0, 0x5f, 0xee, 0x14, 0xee, 0x94, 0xce, 0xbd, 0xf6, 0x52, 0x74, 0xda, 0x21, 0xc2, 0x95, 0x83, 0x7, 0xb0, 0x3, 0xc7, 0xb, 0xb9, 0xb6, 0x67, 0xda, 0x47, 0x56, 0x5c, 0x19, 0x63, 0x9b, 0x24, 0x30, 0xd, 0x79, 0x91, 0x9b, 0x68, 0xfc, 0x38, 0x3a, 0xf8, 0x28, 0xbd, 0x8f, 0xb0, 0x94, 0x55, 0xb, 0x14, 0xf9, 0xf6, 0x7c, 0x76, 0xd8, 0xb6, 0xb8, 0x8b, 0x3b, 0x91, 0x69, 0x2b, 0x30, 0x6c, 0x9f, 0xb4, 0x80, 0x6e, 0x62, 0x5a, 0x75, 0x30, 0xcd, 0xcc, 0xa1, 0x43, 0x7f, 0xd8, 0xe6, 0xeb, 0xe7, 0x50, 0x96, 0x8d, 0x46, 0x87, 0xef, 0x32, 0x88, 0x6e, 0xd5, 0x54, 0x43, 0xf2, 0x90, 0xd3, 0x13, 0x8b, 0x12, 0xf7, 0x26, 0xcc, 0x89, 0x3a, 0x65, 0xbf, 0x7a, 0xd4, 0xb4, 0x2f, 0x41, 0x5a, 0x80, 0x68, 0xf3, 0x51, 0xa0, 0x16, 0xca, 0xfe, 0xce, 0x8d, 0x69, 0x4f, 0x7e, 0xdf, 0x48, 0xa9, 0xaa, 0x1c, 0xdf, 0x34, 0x75, 0x19, 0x7a, 0xd4, 0x10, 0x4a, 0x14, 0x15, 0x89, 0x74, 0xb0, 0x7b, 0xa1, 0xda, 0xbf, 0x94, 0xd3, 0x40, 0x90, 0xc, 0x92, 0x34, 0xc4, 0xf4, 0xfe, 0x57, 0x8d, 0xe8, 0xb5, 0xd, 0x97, 0x6b, 0x3c, 0xb1, 0x50, 0x1f, 0xf1, 0x2, 0x8f, 0xbb, 0x31, 0x5c, 0xdb, 0xde, 0xfe, 0xda, 0xbe, 0x8a, 0xb, 0xf0, 0x50, 0xac, 0x70, 0x4e, 0xab, 0x73, 0x1a, 0x2a, 0x12, 0x9a, 0x4a, 0xb1, 0x16, 0xe5, 0x69, 0xc7, 0x78, 0xe6, 0xfe, 0xbe, 0x6e, 0x7e, 0x5f, 0x1f, 0xcb, 0xb9, 0x62, 0xa4, 0x17, 0x27, 0x7d, 0xe0, 0xc1, 0x76, 0x9f, 0x4b, 0x54, 0x37, 0x4f, 0xe6, 0x2a, 0x66, 0xdb, 0x5d, 0x37, 0x37, 0x88, 0xbd, 0x73, 0xe0, 0x88, 0xc2, 0x66, 0x9c, 0x43, 0x48, 0x63, 0xa2, 0x5c, 0x68, 0x12, 0x5, 0x27, 0xce, 0xdb, 0x3f, 0x4a, 0x49, 0x9d, 0xff, 0x8c, 0x5e, 0xc0, 0xb, 0xe1, 0x86, 0x96, 0x64, 0xa8, 0x54, 0x24, 0xa, 0x78, 0xc5, 0x6f, 0xff, 0xf0, 0xff, 0x55, 0x7a, 0x6b, 0xf5, 0x2e, 0xd7, 0xc4, 0xdd, 0x6, 0x4a, 0xe1, 0xa3, 0x3b, 0xad, 0x9e, 0x88, 0x85, 0x95, 0x4a, 0x1, 0xc0, 0x24, 0x74, 0x4a, 0xe, 0x29, 0x3a, 0xb2, 0xba, 0xa0, 0x54, 0x15, 0x2d, 0xc5, 0x25, 0x79, 0x35, 0x79, 0x69, 0x82, 0xc6, 0xd4, 0xa9, 0x2f, 0xed, 0x1c, 0x37, 0x7c, 0x92, 0x9b, 0xbd, 0xba, 0xcc, 0x5f, 0xb, 0xb7, 0xc0, 0x53, 0xe5, 0x6b, 0x4d, 0xa1, 0x3e, 0x2f, 0x61, 0xb, 0xc0, 0xd9, 0x89, 0x59, 0x77, 0xe, 0x7f, 0xaf, 0x73, 0x5f, 0x1, 0xaa, 0xa8, 0x27, 0x32, 0xec, 0xe8, 0xe9, 0x7f, 0x72, 0x1, 0xfe, 0x14, 0xd5, 0x1d, 0xb4, 0x6, 0x6, 0xd2, 0xd3, 0x5a, 0xac, 0x63, 0x88, 0x34, 0xd3, 0x19, 0x82, 0x89, 0x2e, 0x53, 0x62, 0x48, 0xce, 0xa9, 0x2, 0x1c, 0x26, 0x44, 0x37, 0xc1, 0xea, 0x40, 0x1a, 0xc7, 0x2c, 0xf3, 0xf9, 0xb3, 0xae, 0x15, 0x85, 0x4b, 0x7a, 0xc3, 0xc7, 0x6e, 0x16, 0xad, 0x8d, 0x48, 0xf1, 0x81, 0xf, 0xf6, 0xef, 0xf, 0x59, 0xc8, 0x23, 0xfc, 0x9a, 0x76, 0x66, 0x2b, 0xa0, 0x24, 0xb9, 0x9e, 0xcd, 0xe3, 0xc0, 0xd3, 0x1d, 0xf1, 0xe3, 0x22, 0x19, 0x16, 0x71, 0xea, 0x5a, 0x65, 0x96, 0x91, 0x8a, 0x9d, 0x29, 0x3e, 0xe3, 0x82, 0x6e, 0x65, 0x3a, 0x35, 0x8a, 0xda, 0x22, 0xe9, 0xc4, 0xf7, 0xb0, 0x76, 0x25, 0x9f, 0xce, 0x7, 0xec, 0xf2, 0x50, 0x86, 0x91, 0x70, 0x8, 0xde, 0xe1, 0xd, 0x8a, 0xa9, 0x98, 0xa2, 0xf8, 0x45, 0x10, 0xdf, 0x54, 0x93, 0x58, 0xb1, 0xe0, 0xbb, 0xc3, 0xbc, 0xe7, 0xa5, 0xab, 0x41, 0x2b, 0x1c, 0x9b, 0x98, 0x28, 0x1a, 0x50, 0xe7, 0xd1, 0x83, 0xe7, 0x91, 0xce, 0xac, 0x3e, 0x14, 0x87, 0xa4, 0xd1, 0x58, 0x2e, 0x26, 0x80, 0x6b, 0x85, 0x45, 0xe, 0x62, 0x49, 0xb0, 0xeb, 0x1b, 0x7e, 0xfb, 0x2f, 0xbe, 0x27, 0xba, 0xce, 0xb3, 0x2c, 0x5d, 0x46, 0xc2, 0xcd, 0xe2, 0x46, 0xba, 0x65, 0x23, 0x46, 0xce, 0xb0, 0xd0, 0x6, 0xad, 0xd5, 0xd2, 0xbb, 0x58, 0x2, 0xda, 0xda, 0xcb, 0x7b, 0xaf, 0x4a, 0xf4, 0x61, 0xa9, 0x8f, 0xc4, 0x49, 0xbf, 0x71, 0x2f, 0xd3, 0x9e, 0xe1, 0xae, 0x90, 0xbf, 0x7b, 0xc, 0x77, 0x7b, 0x7f, 0xdd, 0x1a, 0x5f, 0x1d, 0xcc, 0xf8, 0xa9, 0x5c, 0x75, 0x19, 0xfa, 0xb5, 0x9b, 0x3d, 0x75, 0x3d, 0x9c, 0x74, 0x50, 0x2d, 0xb3, 0xad, 0x8b, 0xae, 0x8b, 0x88, 0x76, 0x7e, 0xba, 0x17, 0x73, 0x3b, 0x22, 0xe6, 0xd6, 0xf9, 0xd5, 0x4e, 0xcf, 0xae, 0x4e, 0xde, 0x92, 0x5b, 0xc6, 0xb2, 0x4a, 0xcf, 0xa5, 0x5e, 0xdd, 0x96, 0x1a, 0xc5, 0x86, 0x5d, 0xf4, 0xba, 0xab, 0xae, 0x53, 0x63, 0xef, 0xe9, 0xb0, 0x83, 0x31, 0x4e, 0x7d, 0xc6, 0xc1, 0xb6, 0xc2, 0x9, 0x2f, 0xee, 0x48, 0x4c, 0x7b, 0x57, 0xf5, 0xd5, 0x8, 0x80, 0x57, 0x1b, 0x4f, 0x7f, 0xbc, 0x51, 0x56, 0x67, 0x18, 0xd0, 0xa5, 0x74, 0xb6, 0x5c, 0xa8, 0x50, 0x18, 0xba, 0x59, 0xce, 0x68, 0x18, 0xfd, 0x62, 0x65, 0x84, 0xc6, 0xf, 0x69, 0x16, 0xe7, 0x8a, 0x9b, 0xe5, 0x95, 0xbc, 0x65, 0xf, 0x4c, 0x73, 0x48, 0x99, 0x61, 0x3f, 0xd3, 0xe4, 0x67, 0x2e, 0xe8, 0x5a, 0x28, 0xe4, 0xc6, 0x21, 0x32, 0x25, 0x17, 0xb2, 0xb4, 0xd2, 0xdb, 0xb0, 0xf, 0x37, 0x16, 0x49, 0x65, 0x4c, 0xd3, 0x22, 0x5f, 0x5, 0xea, 0x10, 0x21, 0xd1, 0xa4, 0x9c, 0xc3, 0x32, 0xc2, 0xca, 0x21, 0xe8, 0x5a, 0x13, 0x9e, 0xe4, 0x5, 0x70, 0xf8, 0xca, 0x1b, 0xf, 0xd2, 0xb2, 0x7c, 0x89, 0xeb, 0xb6, 0x27, 0x58, 0xb7, 0x94, 0xca, 0xb6, 0xd6, 0x90, 0xfa, 0xe7, 0xd7, 0x79, 0x3a, 0x4, 0xbb, 0xf, 0xfc, 0xd, 0x8b, 0xed, 0xa6, 0x32, 0x57, 0x64, 0x41, 0xb9, 0xf0, 0x32, 0xd9, 0xe7, 0x32, 0x78, 0x2e, 0xf8, 0x4a, 0x67, 0x2c, 0x1e, 0xb8, 0x9c, 0xfd, 0x41, 0x24, 0x20, 0xed, 0x9e, 0x33, 0x3d, 0xc0, 0x42, 0xa3, 0xd7, 0xe, 0xbf, 0x26, 0x4b, 0x69, 0xcc, 0x92, 0x50, 0xf4, 0x58, 0x0, 0xbf, 0xb9, 0x82, 0x42, 0x8f, 0x5b, 0xb3, 0x60, 0x5a, 0xd3, 0x59, 0x9b, 0x54, 0xf3, 0xc9, 0xfd, 0x7d, 0xce, 0x68, 0x65, 0xae, 0x5, 0xc8, 0xf1, 0x64, 0x69, 0xd6, 0xad, 0x3, 0xe4, 0x8e, 0x8, 0xcb, 0x55, 0xb, 0xc0, 0x5c, 0x39, 0xd, 0x95, 0x5, 0x37, 0xd0, 0xef, 0xcf, 0xd7, 0xf1, 0x1f, 0xc3, 0xdb, 0x93, 0xb0, 0xb7, 0x17, 0xae, 0x72, 0x75, 0x10, 0x9, 0xd4, 0x65, 0x80, 0x43, 0xc7, 0xce, 0x5b, 0x53, 0x68, 0x81, 0xf6, 0x1c, 0x4e, 0x29, 0x4f, 0x7d, 0x5a, 0x4a, 0x58, 0x50, 0xf, 0x5d, 0x46, 0x16, 0x32, 0x71, 0xe5, 0xa0, 0xbe, 0x4f, 0x8f, 0x7d, 0xce, 0x7f, 0xcf, 0xd5, 0xc3, 0x71, 0xed, 0xaa, 0x3b, 0xb0, 0xa2, 0x6b, 0xc1, 0xa1, 0x52, 0x75, 0x50, 0x1d, 0xb2, 0xa6, 0xb2, 0x90, 0x5c, 0xc4, 0x52, 0xf8, 0xd4, 0xa1, 0xf4, 0xd9, 0xc4, 0x12, 0x9e, 0xda, 0x7b, 0x85, 0xea, 0xce, 0x83, 0x9c, 0x57, 0x15, 0x3e, 0xfa, 0x25, 0xb0, 0xb0, 0xfc, 0xd6, 0xea, 0x15, 0x50, 0x2c, 0x74, 0xb1, 0x7a, 0xed, 0x34, 0x12, 0xc7, 0x32, 0x54, 0xb3, 0x94, 0x20, 0x9f, 0x9d, 0x2, 0x92, 0xe0, 0x1f, 0xef, 0x29, 0x56, 0x8f, 0xb8, 0x25, 0xc0, 0x92, 0xbc, 0xda, 0xc0, 0xc3, 0x48, 0x1c, 0x12, 0x21, 0xc5, 0x81, 0xc8, 0xd3, 0x94, 0x54, 0x4a, 0x5f, 0xd0, 0xcd, 0xef, 0xe2, 0x1c, 0x8d, 0x14, 0xf9, 0x4, 0x3d, 0xb2, 0xa0, 0x99, 0xc3, 0x83, 0x7a, 0xb, 0x4, 0x38, 0x95, 0x9, 0xab, 0x78, 0x3b, 0xbe, 0xee, 0xa, 0x4d, 0xab, 0x7c, 0xd4, 0xab, 0xf, 0x83, 0x48, 0xd8, 0xb1, 0xa0, 0xc0, 0x10, 0xa2, 0x2e, 0x9e, 0x96, 0xd0, 0x15, 0x6a, 0x8c, 0xd3, 0xfe, 0xb, 0xaa, 0x52, 0xf7, 0x5c, 0xb3, 0xa2, 0x92, 0xa6, 0xa8, 0xa9, 0xa, 0xac, 0xef, 0x91, 0x80, 0x0, 0x7a, 0xed, 0xa0, 0x1d, 0x15, 0x11, 0x2b, 0x80, 0x47, 0x16, 0x95, 0x3e, 0xee, 0x17, 0xae, 0x10, 0x45, 0x18, 0xae, 0xf0, 0xe1, 0x87, 0xef, 0xa9, 0x7b, 0xbb, 0x73, 0x1b, 0xe3, 0x94, 0x51, 0x55, 0x3c, 0xfd, 0x20, 0x39, 0x17, 0x0, 0x94, 0x50, 0xdf, 0xf8, 0x42, 0xf0, 0xbf, 0xcd, 0x76, 0x98, 0x27, 0x65, 0x13, 0x4c, 0xa9, 0xab, 0xca, 0x4b, 0x1d, 0xf6, 0x2e, 0x3c, 0x74, 0x41, 0xd, 0x3, 0x60, 0xfc, 0x7e, 0xc3, 0x37, 0x2e, 0x91, 0x3b, 0xc9, 0x61, 0x28, 0x7c, 0xa8, 0x8f, 0x75, 0x66, 0x24, 0x76, 0x8, 0x3c, 0xb8, 0xe7, 0x9, 0x23, 0x80, 0x28, 0x8f, 0x68, 0xed, 0x65, 0x10, 0x4b, 0x9f, 0x11, 0x59, 0xc1, 0x8e, 0x7, 0x87, 0x7d, 0x3c, 0xa7, 0x62, 0x6, 0x7c, 0x2, 0xad, 0x81, 0x43, 0x7, 0x3f, 0x6f, 0x8f, 0x96, 0x93, 0xd0, 0xae, 0x3e, 0x8a, 0xeb, 0x50, 0x73, 0x28, 0xfe, 0x2, 0xd2, 0x27, 0xd8, 0x5e, 0x74, 0x66, 0x15, 0x4, 0x28, 0x8c, 0x82, 0x78, 0x67, 0x51, 0x5d, 0x3c, 0xb6, 0x4, 0xdd, 0xc0, 0x90, 0x63, 0x7f, 0x4a, 0x51, 0x8e, 0x8d, 0x6b, 0x73, 0x1d, 0xdb, 0xf, 0x4, 0xf1, 0xa5, 0xd8, 0x42, 0xde, 0xb1, 0x5a, 0xcd, 0x5f, 0x31, 0xb7, 0xae, 0x3d, 0x79, 0x47, 0xb9, 0x12, 0x4c, 0xeb, 0xdf, 0xd8, 0x32, 0x7c, 0xc2, 0xd9, 0x82, 0x5f, 0x6b, 0x83, 0x4a, 0x86, 0xa9, 0x95, 0xf9, 0x40, 0x1e, 0x40, 0xf7, 0x6f, 0xb1, 0x5d, 0x5f, 0x63, 0x81, 0x35, 0x33, 0x7e, 0x75, 0x3f, 0x31, 0x3e, 0x9b, 0x1b, 0x5f, 0x1a, 0xdb, 0x1a, 0xdb, 0xdf, 0x1e, 0x5b, 0xb1, 0xa1, 0x65, 0x45, 0x43, 0xd3, 0x8a, 0xd2, 0x5f, 0xbb, 0xd3, 0xdb, 0x1d, 0x6f, 0xf5, 0x27, 0x19, 0x99, 0x6b, 0xd8, 0x93, 0x7b, 0x98, 0x15, 0x42, 0x2c, 0xd2, 0x78, 0x5e, 0xa, 0x4c, 0x97, 0xb7, 0x6d, 0x18, 0x89, 0x77, 0xa5, 0x7f, 0x62, 0xa2, 0x6f, 0xb9, 0xa0, 0xdd, 0x2e, 0x34, 0xcd, 0x90, 0x9f, 0xde, 0xba, 0xe, 0xc7, 0x5c, 0x15, 0xb, 0x5d, 0x7c, 0xfd, 0x15, 0x9f, 0x12, 0x2a, 0x96, 0xaf, 0x5b, 0x53, 0xad, 0x36, 0x5f, 0xf2, 0xcd, 0x33, 0x82, 0x37, 0x84, 0xaf, 0x2c, 0xe4, 0x93, 0x3d, 0x42, 0x1a, 0xbc, 0x1b, 0x61, 0x6a, 0xf5, 0xa5, 0x2c, 0xa6, 0xba, 0xc1, 0xa2, 0xe2, 0xbb, 0xda, 0xb5, 0x74, 0xf3, 0x7d, 0x77, 0xed, 0xf0, 0xb0, 0xdc, 0x53, 0x6a, 0xd5, 0x59, 0x1a, 0xdf, 0xfa, 0xbb, 0xe5, 0x6c, 0x8, 0xcb, 0xb3, 0x92, 0x5c, 0xf9, 0x9e, 0x1d, 0xe8, 0xd3, 0xb1, 0x57, 0xc7, 0xaf, 0xf2, 0x20, 0x12, 0x52, 0xd5, 0x2f, 0xa4, 0x27, 0x74, 0x4a, 0x7e, 0x1c, 0xfe, 0xe9, 0x61, 0xf2, 0xe, 0xeb, 0x51, 0xbf, 0xa8, 0xb0, 0x7b, 0x6e, 0x31, 0xeb, 0x29, 0x56, 0xbb, 0x27, 0xbe, 0x2e, 0x99, 0x29, 0x5f, 0xce, 0x31, 0xf0, 0xc6, 0x16, 0x24, 0xef, 0x2, 0xd6, 0x73, 0x9e, 0x70, 0xe3, 0x7b, 0xc3, 0x74, 0x60, 0x8c, 0xf9, 0x25, 0xdf, 0xac, 0x6c, 0xb8, 0x47, 0xfd, 0xec, 0xc3, 0x9d, 0xe3, 0xe, 0x19, 0x28, 0xcc, 0xb0, 0xcc, 0xc0, 0xd, 0xe8, 0xa5, 0x9d, 0xb2, 0xeb, 0x49, 0xfc, 0xe7, 0x48, 0xcc, 0xd, 0x12, 0xd3, 0xd3, 0x79, 0xae, 0x59, 0xca, 0x62, 0x23, 0x7b, 0x23, 0x4a, 0xe1, 0xd2, 0x5e, 0xfa, 0xb7, 0xba, 0x16, 0xb7, 0x40, 0xcc, 0x3, 0xeb, 0x18, 0xbb, 0xe9, 0xf8, 0x6, 0x6c, 0x8a, 0xc5, 0x8c, 0xdf, 0x31, 0x2f, 0xff, 0xe0, 0x80, 0x7c, 0xdd, 0xc8, 0x5d, 0x49, 0x3, 0x82, 0x36, 0x5c, 0x8e, 0xb, 0x6d, 0xc3, 0x28, 0x8a, 0x52, 0x74, 0x87, 0x9, 0x71, 0x24, 0x17, 0x59, 0x6e, 0x1e, 0x49, 0x5b, 0x4e, 0xea, 0xa3, 0x6f, 0x22, 0x9b, 0x1b, 0xb0, 0xbb, 0x38, 0x20, 0xea, 0x34, 0x1f, 0xbb, 0xe2, 0xef, 0x2d, 0xee, 0x9a, 0xd2, 0xbc, 0x2e, 0x63, 0x9a, 0x72, 0x31, 0xfb, 0xc5, 0x2e, 0xe2, 0x13, 0xe8, 0xb, 0xad, 0x50, 0x3b, 0x6d, 0x34, 0x38, 0xd, 0xae, 0xaf, 0xd4, 0x2b, 0x72, 0x95, 0x2a, 0x47, 0xc3, 0x4d, 0xd1, 0x5d, 0x75, 0xa2, 0xf1, 0x3, 0x78, 0x54, 0xd0, 0xf2, 0x4d, 0x12, 0x22, 0x95, 0xb7, 0xc2, 0x3c, 0x18, 0x15, 0x1e, 0x4, 0xf0, 0x97, 0xbb, 0xcd, 0x6a, 0x3d, 0xe5, 0x56, 0xc8, 0xb6, 0x4e, 0xe2, 0xeb, 0x69, 0x1, 0xf, 0x5d, 0xf, 0xa7, 0x78, 0x2, 0x6b, 0x2a, 0x56, 0x82, 0xac, 0x5d, 0x88, 0x47, 0x90, 0x8b, 0x5, 0xc9, 0xcf, 0xca, 0x2f, 0x85, 0xa1, 0xa9, 0xd, 0xfc, 0x52, 0x60, 0x1c, 0x50, 0xdf, 0x7b, 0xad, 0x88, 0x14, 0xb9, 0xe2, 0x2b, 0x40, 0xdb, 0x1e, 0x1d, 0x3, 0x4a, 0xc, 0x8b, 0x39, 0xbb, 0x63, 0xc9, 0xc0, 0x61, 0x1a, 0xc5, 0x52, 0x68, 0x9e, 0x30, 0xb0, 0xe9, 0xca, 0x5d, 0xc1, 0x85, 0x3c, 0x90, 0xd9, 0x30, 0x12, 0x80, 0x1b, 0x9, 0x22, 0x1c, 0x21, 0x2a, 0x13, 0x3e, 0x9d, 0x32, 0xcc, 0xd1, 0xb, 0xcd, 0x63, 0xc2, 0x19, 0x87, 0xef, 0x14, 0xdc, 0x8, 0x9c, 0xe7, 0xe4, 0x5f, 0xc8, 0x24, 0xe7, 0x69, 0xe2, 0xbe, 0x4f, 0x5, 0xd6, 0xe6, 0x6d, 0x12, 0xb5, 0xf2, 0x75, 0xcb, 0x25, 0xbf, 0x46, 0xed, 0xd0, 0x1, 0xa2, 0xee, 0xca, 0xb9, 0xf2, 0x0, 0x3c, 0x7d, 0x62, 0x4d, 0x2d, 0x7c, 0xda, 0x83, 0x42, 0x6d, 0xdd, 0x34, 0xb2, 0x9b, 0x31, 0xf7, 0x38, 0x30, 0x2b, 0x71, 0xb6, 0x62, 0x9d, 0x6f, 0xdc, 0xe8, 0x6d, 0x28, 0x24, 0x3b, 0x24, 0x1f, 0xf2, 0x4c, 0x33, 0x65, 0x4e, 0x4, 0x80, 0x41, 0x7f, 0x39, 0x91, 0xe0, 0xfb, 0x6b, 0x94, 0x59, 0x5d, 0x7, 0xf3, 0x5d, 0x43, 0xdf, 0x93, 0x73, 0xda, 0xf7, 0x5c, 0x83, 0x79, 0x2, 0xb6, 0x4f, 0x3, 0x7, 0x5d, 0xd3, 0x7b, 0x79, 0xb7, 0x18, 0xe7, 0x3, 0x6e, 0x77, 0xae, 0x99, 0x3a, 0xf0, 0xed, 0x10, 0x17, 0x1, 0x97, 0xed, 0x51, 0x2e, 0xf9, 0xbe, 0xe4, 0x1f, 0xcd, 0x45, 0x57, 0x1a, 0x1f, 0xc0, 0xc7, 0x46, 0x68, 0xe7, 0xbc, 0x92, 0x99, 0xf, 0x12, 0xbd, 0x2e, 0xe3, 0x1, 0x40, 0xa6, 0x2b, 0xc0, 0x31, 0x2a, 0x26, 0xa7, 0x6d, 0xb7, 0xff, 0x11, 0x6, 0x6e, 0x3c, 0xd1, 0x3b, 0x51, 0x33, 0xee, 0x28, 0x7d, 0x78, 0xcd, 0x78, 0x58, 0x92, 0x93, 0x5a, 0xcd, 0x78, 0x24, 0xea, 0x45, 0xe3, 0xa4, 0xad, 0x66, 0x7c, 0xd4, 0xc6, 0x59, 0xef, 0x29, 0xdf, 0x14, 0x74, 0xbb, 0x78, 0xa3, 0x33, 0x6c, 0xe1, 0xa6, 0xa2, 0xdd, 0xb5, 0x7f, 0xa9, 0x11, 0x39, 0xd5, 0x54, 0xba, 0x35, 0x5d, 0xfb, 0x50, 0x9a, 0xce, 0x53, 0xa3, 0x83, 0x73, 0xb9, 0xd4, 0xfa, 0xd6, 0xae, 0x95, 0xae, 0xa5, 0xb9, 0x1c, 0x9e, 0x8f, 0x70, 0x3, 0x7c, 0xc3, 0x0, 0x34, 0x11, 0xb9, 0x6b, 0x89, 0xa, 0xc6, 0x76, 0x80, 0x77, 0xf5, 0xcf, 0xbc, 0x5a, 0xd0, 0xcf, 0x7c, 0x91, 0x2f, 0xf0, 0xe3, 0xf6, 0xb7, 0xaf, 0x5d, 0x8, 0xa5, 0xf2, 0x18, 0xe2, 0xef, 0x5a, 0x59, 0xe4, 0xd0, 0x47, 0x23, 0x1, 0xc8, 0x8b, 0xc5, 0xd6, 0xb8, 0x27, 0x7, 0x5, 0x19, 0x88, 0xef, 0xab, 0x21, 0xd1, 0x7, 0x9a, 0x74, 0x85, 0x67, 0xb5, 0xa1, 0x33, 0xe6, 0x4b, 0xfc, 0x11, 0x63, 0x33, 0x19, 0x46, 0xe2, 0x30, 0x36, 0x39, 0x4d, 0xfd, 0x2f, 0xdc, 0x53, 0x1, 0x9c, 0xd4, 0xf7, 0x1e, 0xaf, 0x41, 0x1c, 0x77, 0xab, 0x95, 0x8f, 0xc5, 0x42, 0x2c, 0xdf, 0x6c, 0xe2, 0x20, 0xed, 0xf1, 0xab, 0x32, 0x80, 0xdb, 0xa, 0xf, 0x69, 0x69, 0x83, 0xb1, 0x8e, 0xc4, 0x75, 0x64, 0xc2, 0xdf, 0x1b, 0xb1, 0xac, 0xd7, 0x12, 0xec, 0x30, 0xad, 0xeb, 0x5f, 0x6b, 0x3a, 0xc3, 0xbf, 0xba, 0xee, 0x32, 0x80, 0x2c, 0x52, 0xea, 0xa7, 0x11, 0x34, 0x64, 0x77, 0x7c, 0x83, 0x84, 0x2d, 0x61, 0xd4, 0xa0, 0xe8, 0x43, 0x37, 0xf, 0x80, 0xa3, 0xa, 0xbf, 0xb1, 0x4, 0xa0, 0xfc, 0xec, 0x59, 0xbd, 0x65, 0x84, 0xe6, 0x66, 0x6e, 0x6f, 0xbe, 0x6f, 0x87, 0x3, 0x29, 0x3, 0xe5, 0x9c, 0xb9, 0x96, 0x55, 0x5, 0x72, 0xa9, 0x9a, 0x35, 0x2f, 0xcd, 0xa6, 0xa0, 0x21, 0x6d, 0xb, 0x80, 0x28, 0xca, 0xa5, 0xce, 0x21, 0x76, 0x1, 0x2, 0x92, 0x2b, 0x5d, 0xb0, 0xc4, 0x2f, 0x81, 0x6f, 0x41, 0xd7, 0x40, 0xf8, 0xff, 0xea, 0xfa, 0xf7, 0x46, 0xc2, 0xc7, 0xdb, 0xe, 0x15, 0xc, 0x13, 0x68, 0xab, 0xec, 0x51, 0x80, 0x59, 0xca, 0xef, 0xd0, 0x2a, 0xb1, 0xdc, 0x61, 0xce, 0x0, 0xda, 0x25, 0x91, 0xf7, 0xc2, 0x11, 0x5d, 0x20, 0x49, 0x93, 0x46, 0x7c, 0xe6, 0xcd, 0x3c, 0x34, 0x4d, 0x20, 0x99, 0x7b, 0xdd, 0xe0, 0x79, 0xe8, 0x6, 0x2b, 0xeb, 0xfc, 0x0, 0x68, 0xc9, 0xc6, 0xf7, 0xbb, 0x56, 0xa9, 0x41, 0x94, 0x3f, 0x42, 0xa2, 0xf5, 0xa3, 0x7a, 0x8a, 0xeb, 0x78, 0xd2, 0x6b, 0xfc, 0xc5, 0xb5, 0xf6, 0xd, 0x6d, 0x99, 0xd7, 0x65, 0x50, 0x5a, 0x8a, 0xa3, 0xc, 0x40, 0x1f, 0xe2, 0xa0, 0xf, 0x40, 0x8a, 0x81, 0x9d, 0xa3, 0x2f, 0x55, 0x73, 0x5a, 0xbd, 0x9d, 0x1d, 0x74, 0x3b, 0x77, 0x9d, 0x20, 0xf1, 0xb6, 0x73, 0xe3, 0xbd, 0xc0, 0x13, 0xe8, 0x7f, 0xdf, 0x91, 0x5d, 0xfd, 0xbc, 0x6c, 0x9a, 0xdf, 0x5c, 0x8, 0x90, 0x64, 0x54, 0xd1, 0x5, 0x33, 0x56, 0xf6, 0x94, 0x13, 0x6e, 0xdf, 0x46, 0x82, 0x90, 0x83, 0xd, 0xd2, 0x6e, 0x5b, 0x91, 0x7c, 0x1b, 0x6, 0xa, 0x20, 0xb0, 0x77, 0x3f, 0xe, 0xcf, 0xa5, 0x36, 0x17, 0x95, 0x86, 0xe0, 0xc3, 0xeb, 0xa6, 0x6, 0xde, 0xdd, 0xd6, 0xd3, 0x47, 0x9a, 0xf2, 0xbd, 0x33, 0x7b, 0xef, 0xcc, 0xde, 0x3b, 0xb3, 0xbf, 0x11, 0x67, 0x76, 0x5f, 0x9f, 0xcc, 0x9d, 0xbb, 0xf8, 0x4d, 0x6b, 0x63, 0xf9, 0x98, 0xb5, 0xb3, 0x10, 0x78, 0xe, 0xd0, 0x84, 0x11, 0x25, 0xbb, 0xb7, 0x8f, 0x86, 0x66, 0xdc, 0x97, 0x9, 0x7c, 0xc, 0xd, 0x12, 0x6a, 0x59, 0xfa, 0x1b, 0xf3, 0xf, 0x7, 0x2, 0xd5, 0x4f, 0xfa, 0xb7, 0x52, 0xe0, 0xd0, 0xc5, 0xba, 0x83, 0xee, 0xe, 0x6e, 0xaa, 0xd2, 0xc4, 0xdd, 0xe, 0xd0, 0xda, 0x11, 0xb8, 0x6f, 0xfd, 0x1, 0xcd, 0xb8, 0x27, 0xa6, 0xb6, 0x30, 0xdd, 0x12, 0x7e, 0xb1, 0x90, 0x22, 0x50, 0x1, 0xca, 0xf5, 0x26, 0x9b, 0x5e, 0xfe, 0x10, 0xe8, 0x28, 0xe1, 0x56, 0x40, 0x5e, 0x37, 0xf8, 0xdf, 0x84, 0xdb, 0x6e, 0xab, 0xc9, 0xf8, 0x62, 0x9a, 0xda, 0xb4, 0xd7, 0xee, 0xee, 0xd5, 0xca, 0xe, 0x6d, 0xbc, 0xc9, 0xfe, 0xdb, 0xd0, 0xcb, 0x7a, 0xc5, 0x15, 0xd4, 0xbc, 0xa8, 0x65, 0x12, 0xe, 0xab, 0xef, 0xaf, 0x31, 0x1b, 0xda, 0xb7, 0x63, 0x8b, 0x29, 0xf8, 0x55, 0xeb, 0xab, 0xa6, 0x86, 0x6, 0x22, 0x9d, 0x9e, 0xad, 0x92, 0x3d, 0x25, 0x5, 0x76, 0x46, 0x2b, 0x9f, 0xcc, 0x92, 0xba, 0xc5, 0xc5, 0x9d, 0xbc, 0x65, 0x9, 0x79, 0xc5, 0x86, 0xb3, 0x21, 0xe1, 0x46, 0x43, 0x33, 0x7e, 0x48, 0x31, 0x5f, 0x66, 0xac, 0x2d, 0x3d, 0xc9, 0x75, 0xe4, 0x87, 0x2f, 0x5c, 0xf1, 0xc5, 0x46, 0x5, 0x6f, 0x45, 0x6, 0x97, 0x65, 0x29, 0x7, 0xc6, 0xbe, 0xbe, 0xd6, 0x12, 0x1, 0xdc, 0x90, 0x80, 0xf4, 0xef, 0xa7, 0x71, 0x4f, 0x2d, 0x5b, 0xb3, 0xa4, 0xb0, 0x76, 0xf1, 0xd, 0xa7, 0x76, 0xd3, 0xe5, 0xbd, 0x34, 0xeb, 0x92, 0xfc, 0xae, 0x4a, 0x38, 0x15, 0xe1, 0x62, 0x94, 0xa9, 0x6b, 0x21, 0xc7, 0xc1, 0xd3, 0xb4, 0xad, 0x18, 0x17, 0x86, 0xad, 0x70, 0x9c, 0x62, 0xc9, 0xb8, 0x30, 0xff, 0xfa, 0xe7, 0xf5, 0xd5, 0x1c, 0x2b, 0x60, 0x38, 0x64, 0x41, 0x13, 0x86, 0xa0, 0xbf, 0x60, 0x51, 0x57, 0x29, 0x75, 0xa5, 0x6c, 0xee, 0x35, 0xc5, 0x32, 0xc5, 0x34, 0x78, 0x8, 0x28, 0x59, 0x70, 0x1, 0x4e, 0xb6, 0x89, 0xcc, 0x45, 0x42, 0x34, 0x17, 0xb1, 0x43, 0x95, 0xc1, 0x81, 0x9, 0xb7, 0x1a, 0x6d, 0xac, 0x98, 0xe5, 0xef, 0x96, 0x1b, 0x84, 0x9e, 0x14, 0x61, 0x93, 0xbc, 0x91, 0xef, 0x2b, 0x40, 0xda, 0xa, 0x8, 0x53, 0xaa, 0x3d, 0x62, 0x90, 0x6b, 0xa3, 0xc4, 0xbe, 0xfc, 0xd1, 0xb2, 0x44, 0x84, 0xb9, 0x85, 0x46, 0x5d, 0xeb, 0x29, 0xde, 0xa8, 0x1, 0xd7, 0x5d, 0xdf, 0xb6, 0x5b, 0x15, 0x72, 0x5e, 0x6a, 0x8f, 0x79, 0x3c, 0x20, 0x98, 0xd6, 0xd6, 0xde, 0xf9, 0xda, 0x93, 0xe5, 0x73, 0xcd, 0xbf, 0xfc, 0x42, 0x5a, 0x22, 0xca, 0x87, 0x24, 0x94, 0x66, 0xb7, 0x10, 0x3d, 0x49, 0x65, 0x7c, 0xcb, 0x92, 0x8b, 0x6d, 0xb3, 0xce, 0x5c, 0x76, 0x2c, 0xde, 0x48, 0xae, 0xc9, 0xcf, 0xef, 0xcf, 0x8e, 0x7e, 0x3b, 0x39, 0x1e, 0x10, 0xf7, 0x1, 0x82, 0x79, 0x6d, 0x1e, 0x70, 0x46, 0xb7, 0x40, 0xe9, 0x6e, 0x24, 0x30, 0x1b, 0x4, 0xae, 0x1f, 0x86, 0x5c, 0x7a, 0x27, 0x46, 0x45, 0xac, 0xba, 0x62, 0xa7, 0x90, 0xfd, 0xc4, 0x16, 0x93, 0x50, 0xb4, 0x2e, 0x12, 0xe8, 0x50, 0xed, 0x9d, 0x8b, 0x25, 0xfa, 0xd0, 0x58, 0x5f, 0x95, 0xaf, 0x1e, 0xa9, 0x75, 0xb5, 0xe9, 0xca, 0x36, 0xb2, 0x15, 0x4, 0xfc, 0xc5, 0xba, 0x1c, 0x87, 0x3e, 0x5, 0x79, 0x87, 0xa8, 0x2b, 0xe8, 0x4a, 0xfd, 0xea, 0xe8, 0xb8, 0xde, 0xb5, 0x64, 0x1d, 0x8a, 0xd, 0x52, 0x74, 0xd4, 0xbf, 0x99, 0xd7, 0xc6, 0xb4, 0x15, 0x4d, 0x77, 0x4a, 0xcd, 0xaf, 0x1e, 0x44, 0xe5, 0xfb, 0x2e, 0xe8, 0xde, 0x8d, 0xe9, 0x4a, 0x3d, 0xaa, 0xee, 0x5a, 0x42, 0xd6, 0x9d, 0xd5, 0x4f, 0xf6, 0x7e, 0x2, 0x2e, 0x97, 0x47, 0xcf, 0xe, 0x8e, 0x2b, 0x97, 0xd9, 0x51, 0x6b, 0xa3, 0x83, 0x1e, 0x9a, 0x5c, 0x33, 0xcc, 0xd9, 0xf0, 0xd9, 0xbe, 0xc5, 0x6b, 0xae, 0x3b, 0x9b, 0xaa, 0x54, 0x4d, 0x96, 0x1e, 0x2d, 0x5a, 0xda, 0x84, 0x77, 0x6, 0x64, 0xe5, 0xa4, 0x92, 0xa4, 0xb1, 0x5, 0x90, 0xa1, 0xb7, 0x4c, 0xf8, 0x4e, 0x5c, 0x2b, 0x3d, 0x80, 0xea, 0x2b, 0x50, 0xba, 0x12, 0x45, 0x27, 0xa2, 0xef, 0x5b, 0x51, 0xdb, 0xd4, 0xc, 0x6a, 0x5e, 0xb7, 0xa7, 0x30, 0x83, 0xbe, 0x13, 0x15, 0x72, 0xaf, 0x3, 0xee, 0x75, 0xc0, 0xbd, 0xe, 0xf8, 0xed, 0xeb, 0x80, 0x9b, 0x39, 0x4d, 0x8a, 0xde, 0x9b, 0xad, 0x4e, 0x93, 0x6e, 0x4e, 0xfc, 0x8, 0x1, 0xc9, 0x87, 0x3a, 0x4d, 0x3e, 0x55, 0xdf, 0x5f, 0xef, 0x34, 0xe9, 0xea, 0xa, 0xf8, 0xac, 0x14, 0xd4, 0x35, 0x6d, 0xf5, 0x76, 0x43, 0x3f, 0xed, 0x45, 0xe4, 0x13, 0xaa, 0xa7, 0x6d, 0x21, 0x2a, 0xc, 0x54, 0x24, 0x27, 0xd0, 0xaf, 0xb0, 0xd2, 0xbd, 0x70, 0x63, 0xfd, 0xb5, 0xb9, 0x2d, 0x33, 0x2a, 0xa9, 0x66, 0xb5, 0x13, 0x64, 0x67, 0x7, 0xff, 0x4a, 0x23, 0x48, 0x2a, 0x92, 0x48, 0x74, 0x29, 0xb3, 0x2b, 0xab, 0xbc, 0xb9, 0x2a, 0xb, 0x1f, 0x68, 0x1f, 0x70, 0x48, 0x46, 0xc2, 0xeb, 0x4f, 0xe5, 0x5a, 0x75, 0x97, 0xb, 0x4e, 0x7b, 0xad, 0x6f, 0x24, 0xaa, 0xed, 0x21, 0x7d, 0xe2, 0xd1, 0x4a, 0xef, 0x4c, 0x9f, 0xf7, 0x82, 0xd5, 0xa5, 0x21, 0x46, 0x50, 0x2a, 0x67, 0xc4, 0xdb, 0x58, 0x63, 0x4f, 0x99, 0x92, 0x46, 0x4e, 0xf2, 0xe9, 0xa1, 0xd8, 0x2a, 0xc6, 0xf7, 0x7f, 0x6f, 0x89, 0x95, 0x75, 0x68, 0x55, 0xe0, 0x37, 0xbe, 0x1c, 0x8, 0xd3, 0xcc, 0xd1, 0x5c, 0x81, 0x9c, 0xfa, 0x74, 0x59, 0x64, 0xd5, 0xe3, 0xc1, 0xb0, 0x63, 0x87, 0xf4, 0xba, 0xd0, 0x4d, 0x27, 0x12, 0x30, 0x9f, 0x58, 0xa6, 0x64, 0x92, 0x4f, 0xa7, 0x4c, 0x5, 0x2c, 0x12, 0xcc, 0x5b, 0x43, 0x4a, 0x10, 0x64, 0xc0, 0xb1, 0x76, 0x42, 0xd, 0x49, 0x19, 0x85, 0x7e, 0xd4, 0x82, 0x91, 0xe8, 0xc5, 0x9b, 0xe8, 0x85, 0x5d, 0x44, 0x45, 0x63, 0xc3, 0x14, 0x46, 0x66, 0x40, 0x6e, 0x6b, 0x36, 0x83, 0xc8, 0x87, 0xfb, 0xe8, 0xf5, 0xc5, 0xfb, 0x97, 0x9a, 0x64, 0xd4, 0xcc, 0x71, 0xb8, 0xa0, 0x66, 0xe1, 0xa9, 0x98, 0xe6, 0x69, 0xba, 0x24, 0xff, 0x93, 0xd3, 0x14, 0xb3, 0xcd, 0x60, 0x46, 0xee, 0x55, 0xa0, 0xfd, 0x15, 0xd5, 0xd0, 0x98, 0x7c, 0x6c, 0x87, 0x78, 0x33, 0x93, 0x72, 0x96, 0xb2, 0xa1, 0xdf, 0x8d, 0xe1, 0xb1, 0x2b, 0x38, 0x1b, 0xbf, 0x46, 0xa, 0xe0, 0xf5, 0xb2, 0x5, 0x61, 0xcd, 0x3b, 0x2a, 0xa4, 0xe0, 0x31, 0x4d, 0xad, 0xa2, 0xbe, 0x88, 0x4, 0x98, 0x13, 0x3, 0x3b, 0x99, 0x4, 0x7b, 0x25, 0xd, 0xa3, 0x17, 0x3e, 0xbf, 0xcd, 0x67, 0x2b, 0xbc, 0x1e, 0x46, 0x22, 0x12, 0x23, 0x2b, 0x30, 0xa1, 0xe1, 0x13, 0x1b, 0x10, 0xc3, 0xe8, 0x42, 0x93, 0x5c, 0xe7, 0x50, 0x7e, 0x90, 0x29, 0x66, 0x59, 0x13, 0x4f, 0xed, 0x47, 0x1c, 0x1f, 0x98, 0x0, 0x16, 0x10, 0xe6, 0xed, 0x2c, 0x33, 0xe6, 0x92, 0xae, 0xcc, 0x9c, 0x2d, 0x23, 0x81, 0xd, 0xf1, 0x5d, 0xa0, 0x28, 0xd7, 0xa1, 0xf9, 0xbf, 0x5d, 0x5d, 0xab, 0x33, 0xc8, 0x29, 0x39, 0x14, 0xcb, 0x21, 0xf9, 0x55, 0xde, 0xb3, 0x3b, 0xa6, 0x6, 0x98, 0x5a, 0x78, 0xf1, 0xde, 0x67, 0x2d, 0xb8, 0xac, 0x82, 0x48, 0x58, 0x8d, 0x62, 0xc1, 0xc8, 0x78, 0x6e, 0x4c, 0x36, 0x1e, 0xe0, 0xff, 0xea, 0x31, 0xa4, 0x5e, 0xa, 0x49, 0xf0, 0xaf, 0x3, 0x62, 0xb7, 0x28, 0xa6, 0x3e, 0x35, 0x3, 0xdb, 0x55, 0x31, 0x43, 0xf2, 0x8c, 0x50, 0xa0, 0xad, 0x48, 0x2d, 0xc4, 0x8e, 0x53, 0x19, 0x2, 0xac, 0xe1, 0x17, 0x4d, 0xf0, 0xd6, 0x90, 0x92, 0x44, 0x24, 0x54, 0x93, 0xa9, 0x4c, 0x53, 0x79, 0xaf, 0xdf, 0xda, 0xc5, 0xf9, 0x1, 0x81, 0x8c, 0xdd, 0x27, 0xed, 0x2, 0x16, 0x88, 0xc6, 0x8e, 0x2a, 0x60, 0x29, 0x5a, 0xe7, 0xb, 0xc8, 0x9e, 0xf8, 0x81, 0x1c, 0xa, 0xf2, 0xeb, 0xd5, 0xd5, 0x39, 0xf9, 0xe5, 0xe4, 0xca, 0x5b, 0xb8, 0xd6, 0xa2, 0x83, 0x73, 0xb1, 0x84, 0x54, 0x49, 0x4a, 0xfe, 0xbb, 0xbe, 0xc5, 0x57, 0xcb, 0x8c, 0xfd, 0xed, 0xbf, 0xff, 0x16, 0x9, 0xe2, 0xe0, 0x69, 0xb8, 0xf0, 0x2b, 0x8d, 0x7a, 0xb, 0xcc, 0x3d, 0x53, 0x32, 0xc9, 0x63, 0x56, 0x54, 0x59, 0xc0, 0xf7, 0xb2, 0x80, 0x6, 0xe5, 0x92, 0x51, 0x2c, 0xf9, 0x18, 0xe0, 0x8b, 0x2d, 0x33, 0x27, 0xa9, 0x94, 0xb7, 0x79, 0xe6, 0x93, 0x37, 0xc9, 0x84, 0x6a, 0x96, 0x38, 0xd2, 0xec, 0x7, 0xaf, 0x2f, 0xde, 0xc3, 0xe8, 0x73, 0x8a, 0xf5, 0xe3, 0x8b, 0xd2, 0xbe, 0x27, 0xb8, 0xf1, 0xd4, 0x13, 0x63, 0xff, 0xfb, 0x4e, 0xf2, 0xc4, 0xaa, 0xa8, 0xf6, 0x5d, 0x1c, 0x1a, 0x8e, 0xa5, 0x82, 0x2c, 0xcc, 0x81, 0x7f, 0xd2, 0xe, 0x40, 0xd, 0x9f, 0xf0, 0x94, 0x9b, 0x25, 0x11, 0x8c, 0x25, 0x9e, 0x63, 0xc2, 0xd5, 0x50, 0x77, 0xf6, 0x82, 0x12, 0x82, 0x19, 0xb0, 0xc0, 0xa4, 0xec, 0x1, 0xb3, 0x27, 0x6a, 0x48, 0x5e, 0x5d, 0x6b, 0x46, 0x5c, 0xd5, 0x3, 0x43, 0x43, 0x18, 0x91, 0x9a, 0x60, 0xd7, 0xa8, 0xa0, 0x33, 0x20, 0x7c, 0xa2, 0xb0, 0x37, 0x99, 0x1f, 0x61, 0xf8, 0xda, 0x6e, 0x19, 0x42, 0x91, 0x20, 0x8a, 0x46, 0x2e, 0x62, 0x3c, 0x1a, 0x96, 0x6, 0x77, 0xfa, 0x9d, 0x73, 0x3f, 0x5d, 0x12, 0x7a, 0x47, 0x79, 0x4a, 0x27, 0x69, 0x38, 0xa7, 0x72, 0x3a, 0xe5, 0x31, 0xa7, 0xa9, 0xe3, 0x1c, 0x93, 0x7c, 0x4a, 0x14, 0xb3, 0xfc, 0x80, 0xd, 0xc0, 0x22, 0xc7, 0x9a, 0x9a, 0xd0, 0x97, 0x6, 0x4c, 0xe2, 0x70, 0xa0, 0x26, 0x6c, 0xc6, 0x1d, 0x1f, 0xe6, 0x66, 0x1e, 0x9, 0xc0, 0xf2, 0xc3, 0x7d, 0xa6, 0x19, 0xd7, 0xc3, 0x58, 0x2e, 0x86, 0xe4, 0x10, 0xf0, 0x96, 0x3e, 0xd0, 0x25, 0xf9, 0xf3, 0x9f, 0xfe, 0xfc, 0xaf, 0x3, 0xe7, 0x61, 0xc1, 0x6e, 0x37, 0xe4, 0x9e, 0x27, 0x96, 0xb9, 0xc1, 0xd8, 0x30, 0x2e, 0x1e, 0xdf, 0x48, 0x70, 0xab, 0x1e, 0x58, 0x7e, 0xe3, 0x77, 0x59, 0x24, 0xf6, 0xf9, 0x2c, 0xa5, 0x28, 0x86, 0xc2, 0xdf, 0xed, 0x95, 0x80, 0x4b, 0x7d, 0x9, 0xe7, 0x55, 0x3b, 0xa0, 0x39, 0x33, 0xa7, 0xa2, 0x7e, 0x99, 0xc8, 0x2b, 0x17, 0xec, 0x47, 0xc4, 0x10, 0x3c, 0xe0, 0xaf, 0xc9, 0x2, 0x6a, 0xa7, 0x27, 0x98, 0x4d, 0xeb, 0x32, 0x28, 0xab, 0x9f, 0x2f, 0xf2, 0xb7, 0x34, 0x5b, 0x50, 0x61, 0x78, 0xdc, 0x8, 0x51, 0x1a, 0xa4, 0x44, 0x5b, 0x82, 0x44, 0xab, 0x2e, 0x30, 0x3e, 0x14, 0xcb, 0x71, 0xa1, 0x6c, 0x5b, 0xfd, 0x5a, 0x4d, 0xb8, 0x51, 0xf6, 0x54, 0x15, 0xdc, 0x9d, 0xb4, 0x30, 0x77, 0x42, 0x53, 0x19, 0xea, 0x99, 0x22, 0x61, 0xaf, 0x1e, 0x5c, 0xff, 0xc4, 0xc1, 0x2c, 0x75, 0x49, 0x8c, 0x20, 0x20, 0xec, 0x12, 0x9e, 0xfb, 0x23, 0x90, 0xf2, 0x9, 0x7c, 0x3b, 0x98, 0x15, 0x3a, 0xcf, 0x32, 0xa9, 0xc, 0xe6, 0x59, 0xc6, 0xb7, 0x6f, 0x72, 0x61, 0xff, 0xc7, 0xb2, 0xb6, 0xa, 0xf8, 0x15, 0x73, 0xac, 0x58, 0x4e, 0x49, 0x6e, 0xf0, 0x1a, 0xf8, 0x3, 0x9, 0x60, 0xb0, 0x25, 0xeb, 0x64, 0xc6, 0x4, 0x53, 0x10, 0xd2, 0x5f, 0x30, 0x33, 0x97, 0x5, 0x2a, 0x97, 0x1d, 0x13, 0xe, 0x92, 0xa5, 0xe8, 0xe4, 0x33, 0xb5, 0x3b, 0x41, 0x7e, 0x7c, 0x4b, 0xce, 0xa1, 0x13, 0xbf, 0x48, 0x88, 0xfb, 0x36, 0xd, 0xd3, 0xe7, 0x82, 0x1c, 0xfd, 0xcb, 0xbf, 0xc0, 0xf3, 0x76, 0x71, 0xdf, 0x49, 0x49, 0xa6, 0x52, 0x92, 0x9f, 0xc8, 0x70, 0x38, 0xfc, 0xb, 0xfe, 0xce, 0xe, 0x4a, 0xc5, 0xd2, 0xfd, 0xcb, 0x1a, 0x9b, 0x76, 0xb8, 0x77, 0x4a, 0x2e, 0x5e, 0x4d, 0xa5, 0x7c, 0xed, 0x7e, 0x3f, 0x1c, 0xe, 0xf1, 0x3f, 0xf8, 0x94, 0xbc, 0xb2, 0xf, 0x5d, 0xc3, 0xa7, 0xae, 0xe4, 0xab, 0xff, 0x63, 0x9f, 0x7a, 0x4d, 0xfe, 0xc0, 0x3f, 0x97, 0x9e, 0xfc, 0x67, 0x99, 0xca, 0x3f, 0xaf, 0xa1, 0xf2, 0x3f, 0xe9, 0x1d, 0xed, 0x43, 0x26, 0xf9, 0x9, 0x84, 0x86, 0x1d, 0xa0, 0x93, 0x3c, 0xae, 0x5f, 0xbd, 0x93, 0x72, 0x18, 0xa7, 0x54, 0xeb, 0x32, 0x75, 0x38, 0xac, 0x7d, 0x2, 0xa9, 0x28, 0x3d, 0xf5, 0x97, 0x40, 0xb6, 0xfd, 0x9f, 0x37, 0x6f, 0xec, 0xae, 0x34, 0x8c, 0x7b, 0x49, 0x17, 0x0, 0x1c, 0x73, 0x88, 0x5f, 0x98, 0x31, 0xf, 0x3f, 0x32, 0x12, 0xda, 0x50, 0x11, 0xb3, 0x57, 0xaf, 0xd7, 0x7e, 0xb0, 0xf1, 0xa5, 0xbf, 0x94, 0x96, 0x8d, 0xf8, 0x75, 0xfb, 0xd7, 0x35, 0xeb, 0x76, 0xbe, 0x34, 0x73, 0xe8, 0x1e, 0x8f, 0x2f, 0xe3, 0xd7, 0xde, 0x49, 0xf9, 0x6a, 0x38, 0xb4, 0xc, 0xd0, 0x6d, 0x29, 0xae, 0xda, 0xab, 0xd7, 0xd5, 0x3d, 0x86, 0x5, 0x5c, 0x5d, 0x3f, 0xfb, 0xe7, 0x11, 0x4e, 0xee, 0xf8, 0xe4, 0xf2, 0xe8, 0x62, 0x74, 0x7e, 0x75, 0x76, 0xf1, 0xfa, 0xad, 0x9f, 0x50, 0xb1, 0xf9, 0xa5, 0xf7, 0xdd, 0x8, 0x25, 0xc2, 0xff, 0x6d, 0xd, 0xe1, 0xbf, 0x48, 0x4f, 0x33, 0x10, 0xfd, 0xf6, 0x27, 0xf2, 0x7f, 0xb2, 0xc9, 0xf0, 0x9d, 0x94, 0x7f, 0xc, 0x87, 0x43, 0xb7, 0x7, 0xf6, 0x5b, 0x3, 0x2b, 0xdc, 0xec, 0x9f, 0xa9, 0x58, 0x66, 0x93, 0xe1, 0x29, 0xbb, 0x2f, 0x7f, 0x96, 0x4f, 0xe1, 0xcf, 0xff, 0xfb, 0x27, 0x68, 0xe2, 0x1e, 0x16, 0xbd, 0x98, 0x8f, 0xdf, 0xce, 0xd2, 0x6f, 0x6a, 0x9f, 0xfb, 0x67, 0x75, 0x28, 0xfc, 0xd2, 0xf0, 0x5a, 0x2c, 0xa8, 0xd2, 0x73, 0x9a, 0x5e, 0x49, 0x3c, 0x67, 0x3d, 0xbe, 0x83, 0xe0, 0x0, 0x30, 0x55, 0x7f, 0x71, 0xbd, 0x7e, 0x40, 0x26, 0x4b, 0x92, 0xd5, 0x59, 0x8, 0x66, 0x5b, 0x2e, 0x3, 0x54, 0x45, 0xae, 0x59, 0x24, 0x5e, 0x36, 0x48, 0x8a, 0x37, 0x56, 0x65, 0x1c, 0xc2, 0x1f, 0xac, 0xe0, 0x7b, 0x89, 0x5, 0x22, 0x2c, 0x88, 0x1b, 0xef, 0x9e, 0x77, 0xb, 0x1d, 0x89, 0xc0, 0x37, 0x4, 0x4a, 0x10, 0xd2, 0xa4, 0x77, 0x6, 0x41, 0x5a, 0xf2, 0xe5, 0x81, 0x3a, 0xfb, 0xf2, 0xcd, 0xcb, 0x48, 0xf8, 0x36, 0x6b, 0xee, 0x13, 0xa8, 0x9d, 0x31, 0xb7, 0xb9, 0xd1, 0x8b, 0xa9, 0x94, 0xc3, 0x9, 0x55, 0x40, 0xdd, 0xe7, 0x37, 0xcb, 0xe1, 0x3f, 0xa2, 0x17, 0x38, 0x1f, 0x54, 0x6a, 0x50, 0xe1, 0x82, 0xc1, 0xa3, 0x17, 0xf0, 0x57, 0x38, 0x1d, 0xff, 0x79, 0x79, 0x76, 0x1a, 0x89, 0x9f, 0x7e, 0xfa, 0xe9, 0x27, 0x5c, 0x2b, 0xfb, 0xef, 0x42, 0x3d, 0x76, 0x1e, 0x72, 0x70, 0xa2, 0x20, 0xdb, 0x47, 0xed, 0x27, 0x98, 0x7c, 0x8a, 0xcd, 0xf2, 0x94, 0xaa, 0x48, 0xac, 0xbe, 0x82, 0x90, 0x1f, 0x5, 0xf3, 0x1e, 0x60, 0xb4, 0x2d, 0x29, 0xd8, 0xf8, 0xc0, 0x83, 0xb5, 0x46, 0xa2, 0x1e, 0x6d, 0x23, 0x63, 0x30, 0x52, 0xc6, 0x4e, 0xf1, 0xac, 0x78, 0x76, 0xfc, 0x2, 0xc, 0xfd, 0xc9, 0x7e, 0xeb, 0xcf, 0xad, 0x5d, 0x6a, 0x7b, 0x98, 0xb, 0xed, 0x6d, 0xca, 0x53, 0xe6, 0x6e, 0xb1, 0x3f, 0xe9, 0xe7, 0x4c, 0x69, 0x29, 0x8a, 0x13, 0xe3, 0xcc, 0xc, 0xa8, 0x71, 0xba, 0x81, 0xf5, 0xf9, 0x89, 0xfc, 0xf8, 0x97, 0xda, 0x5f, 0xed, 0x2e, 0xf8, 0x3f, 0xfe, 0xb9, 0xc2, 0x16, 0x8, 0x29, 0x86, 0x8a, 0xd0, 0xb4, 0x8a, 0x5e, 0xbc, 0x25, 0xd1, 0x8b, 0xa6, 0x53, 0x53, 0x25, 0x6c, 0x88, 0xa4, 0x44, 0x2f, 0x6, 0xc5, 0x0, 0x40, 0xc6, 0x29, 0x5d, 0xc0, 0x20, 0xff, 0x8e, 0x5f, 0xff, 0x8f, 0xd2, 0xdf, 0x2d, 0x21, 0xf5, 0x3f, 0x97, 0xc8, 0x71, 0x2e, 0xb8, 0xfa, 0x4a, 0xe3, 0x9a, 0x71, 0x4d, 0xee, 0x59, 0x9a, 0x1e, 0xdc, 0xa, 0x79, 0x8f, 0x1, 0xa4, 0x39, 0xb4, 0x6d, 0x8d, 0x73, 0x6d, 0xe4, 0x82, 0xe0, 0x51, 0xa8, 0x6e, 0xe4, 0x0, 0x85, 0x73, 0x6d, 0x77, 0x7d, 0x52, 0x72, 0xf8, 0x8c, 0xdd, 0x3e, 0x31, 0xf3, 0x19, 0xc9, 0x91, 0x18, 0xc3, 0x31, 0xf1, 0xbb, 0x37, 0x97, 0x69, 0xe2, 0x3c, 0x4, 0xc5, 0x97, 0xc0, 0x2c, 0x72, 0xbb, 0xee, 0x7d, 0x18, 0x6e, 0xd3, 0x23, 0x1, 0xc3, 0x84, 0xfd, 0x25, 0xaf, 0xec, 0x49, 0xf7, 0x53, 0x59, 0xd1, 0xcd, 0xbd, 0xf9, 0xf5, 0xb7, 0xff, 0xfe, 0xdb, 0xeb, 0xb7, 0xdb, 0xec, 0x49, 0x75, 0xb8, 0xca, 0xb6, 0xc0, 0x7c, 0x70, 0x8c, 0x1f, 0x87, 0x7f, 0xfe, 0xf1, 0xcf, 0x3a, 0x7a, 0xe1, 0x56, 0xbd, 0x6a, 0xa1, 0xab, 0x2c, 0xbe, 0x34, 0xd4, 0xe4, 0x5b, 0x79, 0xd8, 0x62, 0x99, 0xb4, 0x9a, 0xe7, 0xbd, 0x62, 0x14, 0x8d, 0x1e, 0x28, 0xb7, 0x7e, 0xf, 0x3, 0x9a, 0x6d, 0xec, 0xa7, 0xfb, 0xf0, 0x6c, 0xd1, 0x4d, 0x5a, 0xa2, 0x96, 0x9d, 0x1e, 0xa5, 0xe7, 0xff, 0xb9, 0xc6, 0x1, 0x5a, 0x20, 0xb5, 0x7, 0x8f, 0xcd, 0xb6, 0xa1, 0x48, 0x9f, 0xf6, 0xb6, 0x5d, 0x17, 0xf0, 0x15, 0xdc, 0x1, 0xf, 0x2e, 0x5e, 0x41, 0x3f, 0xe7, 0x2, 0x62, 0x8d, 0x5, 0x36, 0x6e, 0x49, 0x6d, 0xc6, 0xce, 0xea, 0xe4, 0xd5, 0x84, 0xa5, 0xf2, 0xbe, 0x35, 0x55, 0xac, 0x47, 0x95, 0x66, 0xb3, 0xa7, 0xd2, 0x91, 0xb1, 0x9, 0x7e, 0xdf, 0x61, 0xf9, 0x9d, 0xb5, 0xc1, 0x8a, 0x92, 0x6e, 0xef, 0x3f, 0x36, 0x20, 0xd4, 0xb3, 0xda, 0x92, 0x33, 0xc0, 0x1a, 0xb6, 0x45, 0x90, 0xb0, 0x84, 0x49, 0x2e, 0x5c, 0x4b, 0xeb, 0x4a, 0xa1, 0x54, 0x3d, 0x72, 0x98, 0x6f, 0x8c, 0xe9, 0x1f, 0x4e, 0x8a, 0xbb, 0xc3, 0xdd, 0x4e, 0x30, 0x34, 0xa, 0xa0, 0xdd, 0x96, 0xc9, 0x75, 0x11, 0x80, 0x2d, 0xe6, 0xe4, 0xcb, 0x2d, 0x34, 0xb9, 0x9f, 0x63, 0xd9, 0xa5, 0x43, 0x7d, 0x8, 0x26, 0xae, 0x77, 0xd, 0x4a, 0x65, 0xf9, 0xa1, 0x14, 0x85, 0xdb, 0x9, 0xfb, 0xf3, 0xfa, 0xd1, 0xdb, 0xe1, 0xdf, 0x73, 0x71, 0xb9, 0x49, 0x94, 0xf4, 0x1c, 0x21, 0xa1, 0xfc, 0x8c, 0xd7, 0xe7, 0xdb, 0x7d, 0x90, 0x8a, 0xb9, 0x6, 0x6a, 0x56, 0x69, 0xb2, 0x26, 0x3d, 0xd4, 0x81, 0xc9, 0x29, 0x39, 0x3c, 0xba, 0x1a, 0x7d, 0x1c, 0x5d, 0xfd, 0x7e, 0x73, 0xf2, 0x5f, 0x27, 0x47, 0xd7, 0x57, 0xa3, 0xb3, 0xd3, 0x9b, 0xcb, 0xab, 0xc3, 0xab, 0xeb, 0xcb, 0x9b, 0x8b, 0xeb, 0xd3, 0xd3, 0xd1, 0xe9, 0x2f, 0x6d, 0xc1, 0x71, 0x8f, 0xf4, 0xf7, 0x90, 0xe3, 0xe9, 0x83, 0x59, 0x57, 0x12, 0x2, 0x21, 0x57, 0x58, 0x44, 0xba, 0x4d, 0xd4, 0x2a, 0x6c, 0xd2, 0x5c, 0xde, 0x13, 0xb8, 0x65, 0x3e, 0x86, 0x8a, 0x20, 0x8c, 0x56, 0xda, 0x61, 0x49, 0x61, 0x51, 0x6f, 0x6b, 0x8d, 0xde, 0x90, 0x80, 0x1b, 0xa2, 0x3, 0x43, 0x2, 0xf0, 0x7f, 0xc5, 0x48, 0x56, 0x9c, 0x2, 0x96, 0x41, 0x51, 0xc7, 0x83, 0x61, 0x39, 0xf0, 0x45, 0xad, 0x9b, 0x20, 0xf8, 0xdb, 0xb7, 0x9f, 0xa0, 0xa3, 0x9, 0x62, 0x84, 0x65, 0xba, 0x11, 0xb2, 0x8d, 0x42, 0x5e, 0xca, 0x12, 0xbd, 0x94, 0xf0, 0x2b, 0x40, 0xb7, 0x74, 0x45, 0xbb, 0xe1, 0x9e, 0x91, 0x8c, 0xc7, 0xb7, 0xda, 0x9e, 0x5f, 0x74, 0x27, 0x71, 0x1d, 0x89, 0x52, 0xa9, 0x2f, 0x4d, 0xef, 0x29, 0xe0, 0xf2, 0x9, 0x62, 0x67, 0xbc, 0xa4, 0x93, 0x94, 0xd, 0xa0, 0x29, 0x7c, 0x9a, 0xc2, 0x25, 0x36, 0x56, 0xbb, 0x6, 0x8f, 0x28, 0x8d, 0xe7, 0x9c, 0xdd, 0x81, 0x36, 0x62, 0xd, 0xf4, 0x1c, 0xfc, 0x91, 0x2e, 0x81, 0xcb, 0xe9, 0x1, 0xd8, 0xb7, 0x1b, 0xe8, 0x18, 0x12, 0x67, 0x96, 0xc1, 0xd3, 0x1, 0x5e, 0xf6, 0xc6, 0xc8, 0x9b, 0xd8, 0xee, 0xff, 0x8d, 0x23, 0x62, 0xdc, 0xbe, 0x9e, 0xb0, 0x8a, 0x8f, 0x75, 0x5a, 0x3e, 0xb8, 0xe2, 0x67, 0x5c, 0x4d, 0xa2, 0xb9, 0x98, 0xa5, 0xa5, 0x6e, 0x9, 0xa5, 0xa8, 0x6b, 0xc9, 0xcd, 0x87, 0x9, 0x33, 0x5e, 0xab, 0x9f, 0x30, 0x7b, 0x9a, 0xec, 0x7a, 0xb2, 0x84, 0xe4, 0x99, 0xb5, 0x37, 0x2, 0x37, 0x6b, 0x5d, 0xd9, 0xb0, 0xaa, 0xad, 0xf3, 0xc, 0xed, 0xe, 0x1f, 0x6f, 0x92, 0x99, 0x65, 0x42, 0xc6, 0xb8, 0x5a, 0x6d, 0xe2, 0x51, 0xb1, 0x4b, 0x38, 0x35, 0xee, 0x70, 0x84, 0x6f, 0xb7, 0x77, 0xa9, 0x30, 0x6a, 0xb9, 0x59, 0x7d, 0xfc, 0x45, 0xe9, 0x95, 0x75, 0x22, 0x5, 0xcf, 0x97, 0xb, 0x3b, 0xf9, 0x2a, 0x99, 0xd0, 0xf8, 0x8b, 0x7c, 0xb2, 0x97, 0x4f, 0xb0, 0x3b, 0x66, 0xed, 0xa5, 0x98, 0xb1, 0xa4, 0xf3, 0x20, 0xad, 0x59, 0xde, 0xe3, 0x66, 0x65, 0x68, 0xa3, 0x3a, 0xe1, 0x55, 0x74, 0x19, 0x18, 0xb3, 0x30, 0x4e, 0x79, 0x29, 0x25, 0x42, 0xb1, 0x58, 0xaa, 0xa4, 0x2c, 0xff, 0x2, 0x2d, 0x1d, 0xc9, 0x11, 0xbf, 0x96, 0x8f, 0xc3, 0x93, 0xe6, 0x1f, 0xf0, 0x5, 0x2b, 0x88, 0x2d, 0x9a, 0x6e, 0x62, 0x86, 0xf, 0x92, 0xde, 0x41, 0x27, 0x30, 0x39, 0x96, 0x7c, 0x59, 0x2a, 0xfd, 0x35, 0xb5, 0x34, 0x6a, 0x24, 0xe0, 0x2b, 0xa6, 0x8d, 0x7b, 0x6a, 0xaa, 0x5a, 0x60, 0x45, 0x4f, 0xb0, 0xb2, 0x65, 0x54, 0xca, 0xf5, 0x1, 0x5c, 0x4f, 0xc7, 0x83, 0x4, 0xbb, 0xdf, 0x24, 0xdb, 0x23, 0x64, 0xef, 0x79, 0x43, 0x67, 0xb, 0x46, 0xf1, 0x6b, 0x21, 0x31, 0xcb, 0xa4, 0x7, 0x44, 0x7d, 0xaf, 0xde, 0x4c, 0xa5, 0x1a, 0xb8, 0xcc, 0x5a, 0xb0, 0x13, 0xad, 0x50, 0xf0, 0xd9, 0x51, 0xd6, 0xe, 0xb5, 0xec, 0x5f, 0x4e, 0xa7, 0x81, 0xc3, 0xac, 0xe9, 0x25, 0xab, 0xbf, 0x54, 0x6a, 0x8d, 0x3f, 0x34, 0x95, 0xce, 0x35, 0xbe, 0x67, 0x4c, 0xba, 0x2c, 0x35, 0xbe, 0xba, 0xe3, 0x94, 0x50, 0x8c, 0x90, 0xaf, 0x68, 0x93, 0x6b, 0xf0, 0xcc, 0x8a, 0xde, 0xfa, 0x4f, 0x3d, 0x9f, 0xcb, 0xa2, 0x4f, 0x17, 0x7, 0x68, 0xb0, 0xd0, 0xb0, 0xc0, 0x48, 0x2, 0x5c, 0xd0, 0x83, 0x72, 0xb4, 0x95, 0x64, 0x7a, 0x21, 0xfa, 0xe4, 0xab, 0x1e, 0x92, 0x99, 0xa, 0x75, 0x45, 0x51, 0xa1, 0x81, 0xad, 0xa2, 0x50, 0xa5, 0x48, 0x71, 0x82, 0x99, 0x3e, 0x1d, 0x1c, 0xe6, 0x9, 0xf2, 0xc3, 0xdc, 0x33, 0xbe, 0xb1, 0x70, 0x51, 0x8f, 0x8, 0xdc, 0x65, 0x8a, 0xba, 0xb2, 0x3b, 0xc4, 0x1d, 0x94, 0x61, 0xa5, 0xde, 0x68, 0xb, 0xb4, 0x75, 0xc7, 0x21, 0x40, 0x56, 0x8e, 0x84, 0x61, 0xea, 0xae, 0xbd, 0x5, 0x54, 0x1f, 0x20, 0x5b, 0xbb, 0xf4, 0xd5, 0xc9, 0x78, 0xce, 0xe2, 0xf2, 0xdf, 0x2, 0x68, 0x5, 0xe4, 0x98, 0xf9, 0xbd, 0x1, 0xf9, 0x5b, 0x60, 0x64, 0x37, 0xf3, 0x30, 0xc7, 0xc, 0x6, 0xbe, 0x2c, 0x32, 0x64, 0x3a, 0x86, 0xf1, 0x50, 0x8c, 0x73, 0x37, 0xf, 0x2b, 0x4, 0x63, 0xaa, 0xab, 0x39, 0x8f, 0x53, 0x68, 0xe4, 0x8c, 0x80, 0x7b, 0x8d, 0x5f, 0xb1, 0xac, 0x4, 0x2c, 0xaa, 0x55, 0x76, 0xd2, 0xfc, 0xe5, 0xd0, 0xf4, 0xb6, 0xf2, 0xf1, 0x30, 0x19, 0xe5, 0x60, 0x67, 0xca, 0x14, 0x3a, 0xd5, 0x6e, 0x50, 0xee, 0x5, 0xe0, 0x15, 0x7c, 0x91, 0xa7, 0xa9, 0x4f, 0xea, 0x2c, 0x66, 0x2, 0x91, 0x6d, 0x7, 0x1a, 0x18, 0xd3, 0x34, 0xce, 0x53, 0x88, 0x26, 0x85, 0xa5, 0x2e, 0x90, 0x6e, 0xca, 0xaa, 0xcc, 0x80, 0x4c, 0x72, 0x3, 0x55, 0x9, 0x13, 0x16, 0xba, 0x93, 0x60, 0x40, 0xa0, 0x98, 0x3d, 0xac, 0x48, 0x24, 0x5c, 0x1a, 0x79, 0xd0, 0x13, 0x11, 0x31, 0x0, 0xe3, 0xce, 0x61, 0xf3, 0xf0, 0x33, 0x4b, 0xf4, 0xd5, 0xe1, 0x97, 0x12, 0x96, 0xd2, 0xb6, 0x6c, 0xc6, 0x1d, 0x4a, 0xb, 0xad, 0x2b, 0xd8, 0x45, 0x7e, 0x28, 0x29, 0x1f, 0x5, 0x2b, 0x79, 0xb0, 0x23, 0x18, 0x13, 0xc5, 0x33, 0x64, 0xc9, 0x4c, 0x91, 0xd2, 0xe3, 0x37, 0x69, 0xe7, 0x33, 0x38, 0xeb, 0x73, 0xf6, 0xd4, 0x17, 0x12, 0xbe, 0xe3, 0x1e, 0x14, 0xa2, 0x9, 0x1b, 0x57, 0x5a, 0x1d, 0xa7, 0xfd, 0xc0, 0xb6, 0xef, 0xff, 0xa, 0xdc, 0xc0, 0x66, 0x8, 0xc5, 0xab, 0xaf, 0xaf, 0x5b, 0x89, 0xd6, 0xf2, 0xe5, 0xba, 0x97, 0x8c, 0x6a, 0x92, 0x70, 0x9d, 0x51, 0x3, 0xa9, 0x9d, 0x46, 0x96, 0x41, 0xc3, 0x52, 0xc7, 0x8d, 0x4, 0x4f, 0x6b, 0xfd, 0xec, 0xfc, 0x9, 0x59, 0x32, 0x77, 0x4a, 0x4a, 0x63, 0x48, 0x5, 0xa3, 0xc2, 0x89, 0xab, 0xe, 0x4d, 0x5, 0xc9, 0x45, 0x91, 0xf1, 0xd0, 0xe9, 0x7b, 0xca, 0x14, 0x97, 0xaa, 0x81, 0x9f, 0xb7, 0x5a, 0x8, 0xfe, 0xf9, 0xae, 0x95, 0xf1, 0xf, 0xad, 0x3, 0x1f, 0x4, 0x61, 0x78, 0x15, 0x44, 0xe5, 0xd1, 0xff, 0xcf, 0xde, 0xff, 0x37, 0xb7, 0x91, 0x23, 0x79, 0xc2, 0xf8, 0xff, 0xcf, 0xab, 0x40, 0xf4, 0xf3, 0x47, 0xdb, 0xbd, 0x14, 0xdd, 0x3d, 0xb3, 0x73, 0x7b, 0xab, 0xbd, 0xfb, 0x46, 0xd0, 0x12, 0xdd, 0xe6, 0xb6, 0x2c, 0x79, 0x48, 0xaa, 0x3d, 0x7d, 0xcb, 0xf9, 0x4a, 0x60, 0x15, 0x28, 0xd6, 0xa8, 0x8, 0x70, 0xa, 0x55, 0x92, 0x39, 0x77, 0xf7, 0xde, 0x9f, 0x40, 0x66, 0x2, 0x85, 0x62, 0xfd, 0x16, 0x29, 0xff, 0xe8, 0x71, 0xc4, 0xc6, 0x4e, 0x5b, 0x2c, 0x0, 0x89, 0x44, 0x22, 0x91, 0x48, 0x64, 0x7e, 0x52, 0x65, 0xb2, 0xd7, 0x4d, 0xb0, 0x60, 0xbb, 0xfe, 0xb7, 0x7f, 0x6d, 0xf1, 0x9c, 0x54, 0x19, 0xa4, 0x3e, 0xb7, 0xbf, 0xd7, 0x79, 0x34, 0x30, 0x1, 0x8c, 0x18, 0xad, 0xbe, 0x35, 0x8c, 0xd4, 0x88, 0xa6, 0xda, 0x30, 0x8d, 0x59, 0xf4, 0xf, 0xf1, 0x7a, 0x57, 0x51, 0xd1, 0xe7, 0x58, 0x13, 0xa0, 0xd8, 0x3d, 0xa6, 0x64, 0x20, 0x98, 0x92, 0xde, 0x9e, 0x31, 0x46, 0xa9, 0xfd, 0xeb, 0x9e, 0x2b, 0xee, 0xb9, 0xab, 0x10, 0xd5, 0xdd, 0x3e, 0xcb, 0x10, 0x5d, 0x6d, 0xd0, 0x5c, 0x95, 0x3d, 0x65, 0x5a, 0x24, 0x16, 0x56, 0xb5, 0x6b, 0x7f, 0xd7, 0x7e, 0x9b, 0x46, 0xc7, 0x81, 0x5, 0x8b, 0x34, 0x77, 0xf0, 0x4c, 0xb, 0x0, 0xd8, 0xd1, 0x22, 0xc1, 0x93, 0x70, 0x85, 0xc5, 0x75, 0x14, 0xec, 0xad, 0x98, 0x63, 0xb1, 0x93, 0x55, 0xf4, 0xd1, 0xf0, 0x5b, 0x9f, 0xa8, 0xd5, 0x9, 0xa8, 0x29, 0xa6, 0xb3, 0xcd, 0x6, 0x42, 0xd8, 0x64, 0xe8, 0xc, 0xac, 0x3d, 0x77, 0x71, 0x9d, 0x79, 0xca, 0x65, 0x20, 0xe2, 0x23, 0x44, 0xb2, 0xcf, 0x44, 0xa, 0xc7, 0x6c, 0x9e, 0x63, 0x6f, 0x3a, 0xa6, 0xc7, 0x2f, 0xee, 0xc5, 0x6b, 0xd6, 0x29, 0xce, 0xa6, 0x38, 0xdf, 0xe7, 0x7d, 0x2e, 0x79, 0xf8, 0xe9, 0x22, 0x92, 0xf7, 0x3d, 0xb0, 0x4e, 0x29, 0x86, 0x38, 0x11, 0x68, 0x92, 0x80, 0x2d, 0x8a, 0xe5, 0xe4, 0xb2, 0x60, 0x6d, 0xdf, 0xb5, 0x9, 0xec, 0x2, 0x7c, 0xf3, 0x74, 0x98, 0x14, 0xd5, 0x71, 0x9d, 0xab, 0x57, 0xa5, 0x3c, 0x76, 0xae, 0x88, 0x67, 0xd5, 0x46, 0x73, 0x33, 0x94, 0x97, 0x7e, 0x93, 0xfb, 0xa4, 0x7c, 0xf, 0x4a, 0xa2, 0xb4, 0x2e, 0xde, 0x3f, 0xf7, 0x9f, 0x5f, 0xfc, 0x8b, 0x2a, 0x79, 0x6f, 0xfb, 0x44, 0x4a, 0xfb, 0xa9, 0x65, 0x7c, 0x9, 0x8, 0x1d, 0xd, 0xd5, 0xe8, 0x1b, 0x5e, 0xab, 0x2e, 0x22, 0x9d, 0x7e, 0x11, 0x2f, 0x56, 0x55, 0x58, 0xd9, 0x9f, 0xef, 0xcd, 0xaa, 0xd5, 0x15, 0x88, 0x3, 0x29, 0x97, 0x8b, 0x52, 0xc3, 0xf9, 0xfd, 0xb1, 0x7f, 0x1f, 0xcf, 0x5e, 0xbf, 0x2b, 0xc7, 0xc8, 0x27, 0xf1, 0x36, 0x54, 0x5c, 0x59, 0xf1, 0x29, 0xa4, 0x78, 0xea, 0x17, 0x4c, 0xe7, 0xbd, 0x1b, 0x64, 0xc9, 0xec, 0x29, 0xf9, 0x2a, 0xac, 0xde, 0x6c, 0x30, 0x1f, 0x9e, 0xfd, 0xc1, 0x12, 0x2a, 0x6c, 0x17, 0x2d, 0x9c, 0xd2, 0x23, 0xa3, 0xb9, 0x34, 0xa, 0x9e, 0x30, 0x73, 0xed, 0x1d, 0xb2, 0xe2, 0xd3, 0x9f, 0xf, 0x16, 0x19, 0x49, 0xb6, 0xf7, 0x90, 0x8, 0x9, 0x58, 0xe6, 0xb6, 0xa, 0x78, 0xba, 0xa5, 0xc8, 0xdd, 0x38, 0x2, 0xd3, 0xbc, 0x11, 0x80, 0xf5, 0xd3, 0xd4, 0x71, 0x2c, 0xd5, 0x39, 0xcc, 0xef, 0xe0, 0x60, 0x7d, 0x34, 0x8b, 0x64, 0xd7, 0xa7, 0xcb, 0x56, 0x65, 0x90, 0x3f, 0xb4, 0x95, 0x6f, 0x35, 0xde, 0xd5, 0x8d, 0x8a, 0xbc, 0x45, 0x69, 0x69, 0x83, 0xd9, 0x1b, 0x5d, 0xe6, 0x6c, 0xd8, 0x72, 0xcd, 0x6e, 0xfc, 0xed, 0xb, 0xb8, 0x29, 0xe4, 0x86, 0x76, 0x57, 0x6b, 0xfa, 0xab, 0xb3, 0xff, 0x8f, 0xe9, 0x56, 0x37, 0x12, 0x62, 0x2b, 0x3d, 0x4, 0xf9, 0xbb, 0x5b, 0xee, 0xa1, 0x5, 0xfa, 0x74, 0xc1, 0x9b, 0xeb, 0xea, 0xa2, 0x63, 0x49, 0x3a, 0x8a, 0x34, 0xdc, 0xaa, 0x2d, 0xb9, 0x9a, 0xa2, 0xa, 0xd7, 0x1c, 0xf8, 0x4f, 0xfb, 0x18, 0x37, 0x17, 0x4, 0xb, 0x9d, 0xf7, 0xe2, 0x29, 0x5, 0x44, 0x6f, 0xf6, 0x1e, 0xaf, 0xa, 0x7b, 0x7e, 0x21, 0x21, 0x87, 0x8c, 0x22, 0xc5, 0x8, 0xff, 0xd2, 0xe8, 0x99, 0x1, 0x13, 0x52, 0x83, 0x67, 0x91, 0x30, 0x29, 0xe1, 0xd1, 0x53, 0x2b, 0x46, 0x3a, 0xd6, 0x74, 0x57, 0x19, 0xca, 0xc3, 0x5e, 0x48, 0x95, 0x43, 0x59, 0x2e, 0xe4, 0x86, 0xef, 0x5c, 0xee, 0x98, 0x4d, 0x63, 0x68, 0x6a, 0x4e, 0xda, 0x8a, 0x61, 0x7a, 0xc, 0x4b, 0xd5, 0xf6, 0x24, 0x16, 0xf, 0x22, 0x7e, 0xd9, 0x6e, 0x9b, 0x5d, 0x65, 0x69, 0xa0, 0xa, 0xe7, 0x52, 0x6f, 0xd3, 0xc, 0xb3, 0x3d, 0x8e, 0xfa, 0x8a, 0x88, 0x2f, 0xa1, 0xa6, 0xdb, 0xd2, 0x6a, 0xe7, 0xae, 0xb0, 0xfc, 0xf1, 0xb6, 0xb6, 0xe, 0xf1, 0xea, 0x79, 0x12, 0xaa, 0xad, 0x13, 0xb2, 0x9e, 0xb6, 0x4c, 0xd6, 0x51, 0xd7, 0x26, 0x98, 0xa6, 0x7f, 0x85, 0x8b, 0x82, 0x85, 0xa, 0xf2, 0x4e, 0xdd, 0x38, 0x6e, 0x87, 0x9e, 0x32, 0x11, 0x41, 0x34, 0x4e, 0xa1, 0xe4, 0xa, 0x71, 0x4e, 0x99, 0x3f, 0x13, 0xa9, 0xed, 0x82, 0x50, 0x1f, 0xec, 0xb7, 0xb7, 0xcd, 0xbf, 0x13, 0x32, 0xdb, 0x7c, 0x77, 0xca, 0xfe, 0x2b, 0x67, 0x73, 0x7d, 0xf8, 0xcc, 0xf5, 0xe5, 0xec, 0xfd, 0xf8, 0x6c, 0xf2, 0x66, 0x32, 0x3e, 0xf7, 0xb8, 0xda, 0xd0, 0x80, 0xe2, 0x6d, 0xba, 0x7d, 0x7c, 0x76, 0xf5, 0xee, 0xfd, 0xc5, 0x78, 0xde, 0xb5, 0xef, 0x37, 0xa3, 0xc9, 0x45, 0xd7, 0x6f, 0xcf, 0x46, 0x97, 0x67, 0xe3, 0xce, 0x5f, 0xcf, 0xc7, 0xd3, 0x77, 0x93, 0xcb, 0x51, 0x67, 0x4a, 0xe6, 0x93, 0x77, 0xe3, 0xf3, 0x9b, 0xab, 0xeb, 0xb9, 0x15, 0x8c, 0xbf, 0x7a, 0xe2, 0x60, 0xeb, 0x8d, 0xf6, 0x64, 0x6b, 0xc9, 0x3e, 0xc0, 0x60, 0x2e, 0x90, 0xa1, 0xaa, 0xcb, 0x3, 0x46, 0x49, 0x53, 0xc8, 0x97, 0xab, 0x61, 0x8d, 0x87, 0xc5, 0xa0, 0xe2, 0xd5, 0x2a, 0xaa, 0x36, 0x8b, 0x31, 0x5f, 0xc9, 0x2b, 0xe3, 0x5a, 0x68, 0x84, 0x78, 0xf6, 0xda, 0xb3, 0x42, 0x17, 0x92, 0xe, 0x1f, 0x88, 0x6f, 0x3d, 0x69, 0xf, 0xbd, 0x3a, 0x85, 0x4c, 0xc4, 0x92, 0xd7, 0xd3, 0x22, 0xe5, 0x97, 0xec, 0xdb, 0x21, 0x9b, 0x9, 0xb1, 0x6f, 0xd4, 0x41, 0x74, 0x98, 0x8b, 0xa7, 0x30, 0x37, 0x2b, 0x38, 0x97, 0x17, 0xf2, 0xc5, 0xec, 0xec, 0xed, 0xf8, 0xfc, 0xfa, 0x62, 0x7c, 0x3e, 0x60, 0xb3, 0xf9, 0x68, 0x3a, 0x37, 0xff, 0xa1, 0x12, 0x86, 0xeb, 0x7f, 0x33, 0x1d, 0xff, 0xf9, 0x7a, 0x3c, 0x9b, 0x8f, 0xcf, 0x5f, 0xe, 0x5b, 0xa8, 0x75, 0xb2, 0xb8, 0x47, 0x6f, 0x8d, 0xbe, 0x62, 0x23, 0x59, 0x70, 0xca, 0xb8, 0xef, 0xb0, 0x64, 0x0, 0xc6, 0xd7, 0xa0, 0xb3, 0x26, 0xb6, 0x45, 0x5c, 0x17, 0xd2, 0xcb, 0xae, 0x45, 0xd5, 0x63, 0xab, 0x5, 0xf2, 0x38, 0xd6, 0xc, 0xeb, 0xc7, 0x87, 0xee, 0x2e, 0xc7, 0xf5, 0xfd, 0x99, 0x1b, 0xdd, 0x46, 0x41, 0x5, 0xf7, 0x52, 0x3d, 0xc6, 0x22, 0xbc, 0x83, 0x74, 0x36, 0x6f, 0x80, 0xb6, 0x9, 0xe2, 0xee, 0xd9, 0x9b, 0x1d, 0x3e, 0x10, 0xe, 0xd9, 0x19, 0x37, 0x46, 0xf7, 0xe9, 0x42, 0x9e, 0x58, 0xaf, 0xb7, 0x3b, 0x43, 0x39, 0x94, 0x8c, 0xce, 0x5f, 0x73, 0x48, 0x23, 0x99, 0x4f, 0xbd, 0xc0, 0x98, 0x21, 0xd5, 0x62, 0xb8, 0x71, 0xde, 0xc, 0xf1, 0x71, 0xcd, 0x33, 0x33, 0x57, 0xf3, 0xe5, 0xc8, 0x7b, 0x34, 0x73, 0x0, 0x21, 0x5, 0xf6, 0x14, 0x9c, 0x59, 0xec, 0x85, 0x8d, 0x56, 0x23, 0xc0, 0x86, 0x97, 0x6d, 0xab, 0x47, 0xdb, 0x7d, 0x6f, 0x7a, 0xa6, 0x53, 0xeb, 0x8a, 0x1b, 0xb2, 0x29, 0x89, 0x9c, 0x11, 0x73, 0x98, 0xea, 0x99, 0x4f, 0x40, 0x3e, 0xf8, 0xe3, 0x3a, 0x8a, 0x5, 0x73, 0x82, 0xc5, 0x5e, 0x44, 0x9b, 0x8d, 0x8, 0x23, 0x9e, 0xa, 0xa8, 0xe9, 0xd1, 0xde, 0x12, 0xe5, 0x10, 0x36, 0x96, 0xb7, 0xc0, 0x22, 0xac, 0x5c, 0x61, 0x4b, 0x9e, 0xd9, 0x4f, 0x1f, 0xa8, 0x24, 0x62, 0x18, 0xe9, 0x40, 0x3d, 0xec, 0xb3, 0x88, 0xc6, 0xd1, 0x70, 0x93, 0xcd, 0xc3, 0x5b, 0xac, 0x61, 0xa3, 0xd9, 0xb, 0xfc, 0xfc, 0xc6, 0x11, 0xf4, 0x3f, 0xd3, 0x24, 0x13, 0x2f, 0xb1, 0x3c, 0x85, 0x19, 0x31, 0xb2, 0x59, 0xb8, 0x54, 0x28, 0xdc, 0x8b, 0x91, 0x81, 0xc0, 0x24, 0x5, 0x49, 0xcd, 0x9, 0xc4, 0x54, 0x16, 0x86, 0xb6, 0x98, 0x64, 0x56, 0xca, 0x7, 0xb0, 0x92, 0xc8, 0xd, 0x30, 0x3, 0x15, 0x98, 0x30, 0xc9, 0x86, 0xc3, 0xe6, 0xb0, 0xcb, 0x1, 0x24, 0x47, 0x89, 0x80, 0xa, 0x1c, 0x71, 0x14, 0x98, 0xdb, 0x3, 0x32, 0x24, 0x97, 0x63, 0xcc, 0x46, 0x4c, 0x98, 0x63, 0x72, 0x61, 0x64, 0x48, 0x8a, 0xe3, 0xde, 0x62, 0x78, 0xfa, 0xaf, 0x51, 0x22, 0x72, 0x95, 0x5e, 0x21, 0x13, 0xa4, 0x72, 0xf0, 0xd1, 0xce, 0x8e, 0xfb, 0x1f, 0x2c, 0x54, 0x42, 0x53, 0x1, 0x75, 0x8a, 0xae, 0xac, 0xa4, 0xb6, 0x75, 0x68, 0x7b, 0x3a, 0xec, 0x8d, 0x6c, 0x18, 0x15, 0x1a, 0x4e, 0xa1, 0x8a, 0xa3, 0xe8, 0xb8, 0xf9, 0x6e, 0x9b, 0x6b, 0x36, 0x97, 0x31, 0x69, 0xa3, 0x1f, 0x8c, 0xb0, 0xd9, 0xc9, 0xdf, 0xcc, 0xaf, 0x6e, 0x40, 0xb6, 0x60, 0x39, 0xfc, 0xbf, 0x9e, 0x5d, 0x5c, 0xcd, 0xc6, 0xb6, 0x8d, 0x17, 0xa9, 0x87, 0x16, 0x98, 0x64, 0x8e, 0x22, 0xec, 0xcf, 0xf4, 0x91, 0x37, 0x33, 0x9d, 0xbd, 0x1d, 0x8f, 0xa6, 0xf3, 0xd7, 0xe3, 0xd1, 0x1c, 0x56, 0x99, 0x1e, 0xa0, 0x57, 0xfe, 0x6, 0xa7, 0x10, 0x3c, 0xfd, 0x1f, 0x79, 0x67, 0xa0, 0xd2, 0x98, 0xd3, 0xe4, 0x54, 0x4, 0x1c, 0x9a, 0xba, 0x8d, 0xcb, 0x5e, 0x74, 0x53, 0x12, 0x90, 0xe1, 0x50, 0x9e, 0xd2, 0xa3, 0x4d, 0x5d, 0xc7, 0x68, 0x39, 0x73, 0x5c, 0xa9, 0xbd, 0x5d, 0x91, 0x87, 0xf8, 0x58, 0xa9, 0xaf, 0x37, 0x9b, 0xc9, 0x40, 0x3c, 0xd4, 0x99, 0xe9, 0xe, 0x4f, 0xc0, 0x5a, 0xe8, 0xe7, 0x28, 0xdc, 0xbf, 0x15, 0xd6, 0x5d, 0x3a, 0x93, 0xf4, 0xf9, 0xba, 0x3f, 0xa4, 0xaa, 0xfe, 0xc1, 0xde, 0xc9, 0xc6, 0x5e, 0x9f, 0x96, 0x28, 0x0, 0x42, 0xd7, 0x2b, 0xf8, 0x7c, 0x9a, 0xb7, 0x28, 0x9b, 0xf6, 0x35, 0xc2, 0x33, 0x9, 0x2d, 0xce, 0x47, 0x29, 0x7c, 0xf4, 0x29, 0xb6, 0x76, 0x15, 0x14, 0x49, 0x8b, 0xb5, 0x5d, 0xd1, 0xc4, 0x9c, 0xea, 0x5d, 0xbf, 0xf5, 0x91, 0x4e, 0xba, 0x19, 0xae, 0x1d, 0x69, 0xac, 0xaf, 0xf3, 0xcb, 0x21, 0xf7, 0x39, 0x54, 0x64, 0x5a, 0x62, 0x5, 0xc9, 0x54, 0x91, 0x87, 0xcb, 0xf, 0x1e, 0x29, 0xd5, 0xa8, 0x84, 0x84, 0xb0, 0x1f, 0x28, 0x54, 0xe7, 0x7, 0x5f, 0xef, 0x5f, 0x7a, 0x97, 0x6d, 0xa3, 0x6a, 0x7e, 0x80, 0x80, 0xda, 0x1f, 0x10, 0xa4, 0xdc, 0xf4, 0x8e, 0xf8, 0x4, 0x8f, 0xca, 0x45, 0xfd, 0x45, 0x94, 0x49, 0xab, 0xb, 0xa5, 0xb5, 0xdc, 0xd8, 0x93, 0x73, 0x4c, 0x85, 0x17, 0x82, 0xdd, 0xe6, 0xab, 0x3d, 0x15, 0x99, 0x16, 0xb8, 0xd4, 0xb7, 0xa0, 0xa0, 0xa1, 0x22, 0xe, 0x44, 0xac, 0xe4, 0xd, 0x59, 0x98, 0xe5, 0xc1, 0x2d, 0x14, 0xf9, 0xf2, 0x3, 0xba, 0x33, 0xa, 0x34, 0x17, 0x8f, 0x8c, 0x9a, 0x85, 0x3c, 0x65, 0xe7, 0x4a, 0x7e, 0x9f, 0x5a, 0xee, 0x60, 0x3c, 0x25, 0xf5, 0xf1, 0x1f, 0x30, 0x9, 0xc1, 0x43, 0xb2, 0xcc, 0x72, 0x4a, 0xdd, 0x15, 0x70, 0x84, 0x2e, 0x7, 0x8a, 0x63, 0xbd, 0x75, 0xc8, 0xf, 0x2d, 0x23, 0xfb, 0x62, 0xd1, 0x8b, 0x2, 0x4e, 0x35, 0x82, 0x7c, 0xbb, 0x5c, 0xfa, 0xfc, 0xa9, 0xd5, 0xc3, 0x5, 0xe6, 0x1e, 0xbe, 0x8f, 0xa6, 0x63, 0x33, 0x87, 0xee, 0x9b, 0xa8, 0xf0, 0xfd, 0xe8, 0xe2, 0xe2, 0xea, 0xc3, 0xcd, 0xf9, 0xf5, 0xfb, 0x8b, 0xc9, 0xd9, 0x68, 0x3e, 0x7e, 0x4a, 0x1b, 0xb2, 0xad, 0x6f, 0xae, 0x2e, 0x2f, 0x7e, 0xeb, 0xd4, 0x7e, 0x3a, 0xfe, 0xcf, 0xf1, 0xd9, 0xdc, 0x1b, 0xb4, 0xeb, 0x6e, 0x6c, 0x9d, 0x69, 0xfd, 0x56, 0xc4, 0xb4, 0x9f, 0x54, 0x61, 0xcc, 0x18, 0x4b, 0xc4, 0x49, 0xa6, 0x9, 0x2, 0xd4, 0x97, 0x67, 0x70, 0x42, 0x73, 0xb6, 0x4d, 0xc4, 0x43, 0xa4, 0x32, 0x1d, 0xef, 0x2a, 0xc5, 0x99, 0xde, 0x2a, 0x5c, 0xf9, 0x26, 0xcd, 0x42, 0x21, 0x23, 0x8c, 0xeb, 0xb1, 0x68, 0x14, 0xae, 0x88, 0x1a, 0xef, 0x23, 0xac, 0xa5, 0x6d, 0x58, 0x54, 0xba, 0x7b, 0x3b, 0xb1, 0x66, 0x3, 0x56, 0x69, 0x8d, 0xd2, 0x3e, 0x68, 0x5a, 0xd1, 0x53, 0x36, 0x42, 0x1b, 0xa, 0x99, 0xe5, 0xe3, 0xa5, 0x3a, 0x66, 0x21, 0xfb, 0x6a, 0xb4, 0x49, 0x8f, 0xb1, 0x7c, 0xe9, 0x31, 0xe3, 0x76, 0x1d, 0x70, 0x72, 0x8e, 0x9e, 0xd5, 0xea, 0xf8, 0xb4, 0xef, 0x35, 0x5b, 0xb9, 0x5b, 0xb5, 0x40, 0x37, 0xac, 0x0, 0x6b, 0xfa, 0x7f, 0xe3, 0x25, 0x6c, 0xe0, 0x6e, 0x46, 0x3, 0xcf, 0x1e, 0x1e, 0xe4, 0x56, 0xea, 0xff, 0x6d, 0x99, 0xc6, 0xbe, 0x10, 0x1b, 0xdd, 0x1, 0xd6, 0x33, 0x5a, 0x8a, 0x28, 0x61, 0xee, 0xa1, 0xd1, 0x55, 0x7, 0xf6, 0x9f, 0xea, 0xd9, 0x9b, 0x2c, 0x85, 0x68, 0x40, 0xff, 0xc1, 0x43, 0xb3, 0x0, 0xac, 0x3e, 0xa8, 0x72, 0x9c, 0x46, 0x18, 0xa9, 0x8, 0xb8, 0x2d, 0x58, 0x49, 0x7, 0x3, 0x12, 0x17, 0x12, 0x96, 0x6, 0xdf, 0xc6, 0x8b, 0x3, 0xd5, 0xaa, 0x9d, 0x23, 0x60, 0xce, 0xd5, 0x3e, 0xbb, 0xd4, 0x59, 0x1a, 0x73, 0xd7, 0xa0, 0xf9, 0x9d, 0xf4, 0x6b, 0x4f, 0x22, 0x63, 0xe3, 0x88, 0x10, 0x64, 0xc0, 0xd1, 0xc4, 0x6e, 0x61, 0x4d, 0xcb, 0x49, 0x2d, 0x8, 0x6f, 0xb4, 0xf4, 0x2, 0x4d, 0xbf, 0xe5, 0x9f, 0x1d, 0x37, 0xff, 0x8c, 0xd1, 0xbd, 0x15, 0x0, 0xde, 0x72, 0x98, 0x66, 0x47, 0xe3, 0xa, 0x5f, 0x46, 0x3b, 0xf0, 0xff, 0x19, 0xf3, 0xd5, 0x64, 0xc1, 0x31, 0xf9, 0x5c, 0x19, 0x6a, 0x65, 0xa1, 0xac, 0xe7, 0x1a, 0xc9, 0x65, 0x17, 0xc6, 0x7c, 0x4b, 0x70, 0x7b, 0xd6, 0x4, 0xb7, 0x4f, 0x14, 0xb6, 0xca, 0x26, 0x14, 0x3a, 0xe4, 0x90, 0x67, 0xd0, 0xf9, 0x43, 0xcf, 0x75, 0xe0, 0x69, 0xe0, 0x72, 0x67, 0x5f, 0x8, 0x11, 0x7a, 0x2b, 0x5d, 0x48, 0xf7, 0x7b, 0xba, 0x16, 0x46, 0x5b, 0xac, 0x45, 0x12, 0xe1, 0xc3, 0x1d, 0x61, 0x3a, 0xb9, 0x77, 0xfc, 0x2a, 0x24, 0xce, 0x96, 0x4b, 0x66, 0x8e, 0x7c, 0xf5, 0x8e, 0xa2, 0xec, 0xc7, 0x1f, 0x53, 0x91, 0x80, 0xd3, 0x1e, 0xdc, 0x1, 0x95, 0x51, 0x9, 0x9f, 0xd5, 0x83, 0xd1, 0x26, 0x31, 0x51, 0x68, 0x8f, 0xe6, 0x5b, 0x67, 0x4b, 0xcc, 0x47, 0xb3, 0x5f, 0x6e, 0x9c, 0x53, 0xef, 0x96, 0x50, 0x2a, 0x71, 0x35, 0x60, 0xde, 0x64, 0xd0, 0x5, 0x2a, 0x41, 0xf7, 0x26, 0x60, 0xc2, 0xd5, 0x6, 0xca, 0x3f, 0x4e, 0x9f, 0x4f, 0xe8, 0x6d, 0x91, 0x68, 0xaf, 0x2c, 0x79, 0x61, 0xf, 0x94, 0x2, 0xa9, 0x12, 0xb1, 0x8d, 0xb1, 0xf4, 0x2b, 0xc4, 0xf9, 0xdb, 0x6b, 0xad, 0xcb, 0xab, 0x40, 0xe4, 0xb5, 0x1a, 0x84, 0x6e, 0x7a, 0x2, 0xf6, 0x95, 0xa3, 0x43, 0xc1, 0xeb, 0x21, 0x46, 0xb9, 0x67, 0x79, 0x6a, 0xbd, 0x62, 0x5f, 0x83, 0xf4, 0x14, 0x6a, 0x84, 0xf6, 0x94, 0x1b, 0xb4, 0x66, 0x3d, 0xa0, 0x71, 0x5f, 0x72, 0x9a, 0x2b, 0x86, 0x16, 0x5e, 0x5a, 0x9e, 0x75, 0x4e, 0xb7, 0xe, 0x89, 0x16, 0x66, 0xe2, 0x1e, 0x9d, 0xec, 0x4c, 0x10, 0xa6, 0x6, 0xe7, 0xa3, 0x36, 0x1b, 0x78, 0x41, 0x80, 0x87, 0x91, 0xad, 0x82, 0x48, 0x57, 0x23, 0x4e, 0x4f, 0x91, 0x82, 0xa3, 0x2e, 0x7f, 0xd, 0x8, 0x4b, 0xbf, 0x88, 0x1, 0xc7, 0x96, 0x51, 0x25, 0xf4, 0xb6, 0x3, 0xb, 0xf5, 0xdf, 0x22, 0x89, 0x9, 0xd9, 0x16, 0x34, 0x83, 0x5c, 0x45, 0xe6, 0xd6, 0x52, 0x7c, 0x5, 0xab, 0x4b, 0x1f, 0x49, 0x85, 0x4e, 0xab, 0x36, 0xc4, 0x73, 0x2c, 0x74, 0x2e, 0xb8, 0x7e, 0xf1, 0xf8, 0x3d, 0x21, 0xde, 0x7f, 0xa0, 0x2c, 0x4a, 0x40, 0x22, 0x56, 0x50, 0xa6, 0xda, 0xb7, 0x2, 0x2d, 0x23, 0x9a, 0x8d, 0xe5, 0x2f, 0x71, 0x4f, 0xd2, 0x5a, 0x55, 0xa9, 0xf4, 0xe7, 0xf6, 0x7f, 0x3f, 0x65, 0x2a, 0xf8, 0x7c, 0x77, 0x94, 0x89, 0x3c, 0xa5, 0xda, 0x63, 0x85, 0x1c, 0x91, 0xed, 0xf7, 0xb8, 0x56, 0xee, 0xd2, 0x5e, 0xbc, 0x49, 0xd7, 0xeb, 0x37, 0x91, 0x3c, 0x29, 0x5b, 0x8a, 0x1a, 0xcd, 0x52, 0xbe, 0xd9, 0xd6, 0x90, 0x67, 0x93, 0xa1, 0xcc, 0xae, 0xad, 0x20, 0x74, 0x9b, 0x28, 0x63, 0xba, 0x5a, 0x4a, 0xdd, 0x8d, 0xc4, 0xdc, 0xac, 0x86, 0x50, 0x31, 0x34, 0x11, 0x1, 0x3e, 0xc1, 0x79, 0xe1, 0x62, 0x39, 0x58, 0x71, 0x10, 0xb, 0x2e, 0xd1, 0xea, 0x7, 0xf, 0x7, 0xe5, 0x3c, 0x45, 0xf2, 0xee, 0xe4, 0xf, 0x50, 0xa8, 0x1f, 0x12, 0x28, 0x37, 0xca, 0x1c, 0x8c, 0xec, 0xbf, 0xe0, 0xeb, 0x6c, 0x7b, 0x22, 0x3e, 0x6e, 0x45, 0x12, 0x1, 0x4, 0x69, 0x7c, 0xf2, 0xf8, 0xf0, 0xd7, 0x9e, 0xca, 0xb2, 0x70, 0x8, 0x1c, 0x47, 0x5b, 0x1e, 0x23, 0xbc, 0xca, 0xf1, 0x7c, 0x96, 0x23, 0x90, 0x5a, 0x90, 0xde, 0xfd, 0x84, 0x14, 0x36, 0x19, 0xe3, 0xbb, 0x23, 0x79, 0x69, 0x11, 0x27, 0x6f, 0xef, 0x2b, 0x87, 0x2f, 0xfa, 0x35, 0x29, 0x13, 0xf, 0xfb, 0xfe, 0xab, 0xd4, 0x21, 0xfd, 0xe8, 0x3f, 0xae, 0xea, 0x80, 0xe3, 0x34, 0x8f, 0x65, 0x1, 0x82, 0xcc, 0x4e, 0xfc, 0xa6, 0x38, 0x8e, 0xa2, 0x38, 0xde, 0x80, 0x4b, 0xf5, 0x88, 0x5a, 0xe3, 0x18, 0x91, 0x8f, 0x8e, 0xe1, 0x7b, 0x20, 0x1, 0x5f, 0xd1, 0x9e, 0xb7, 0x91, 0x9a, 0x5f, 0xe5, 0x86, 0xef, 0x43, 0xfc, 0x33, 0xec, 0x76, 0x8a, 0xb5, 0x6a, 0xd9, 0xea, 0x47, 0x7a, 0x3b, 0xff, 0xa6, 0x3c, 0x9e, 0xae, 0x3c, 0x66, 0x85, 0x9d, 0x77, 0x1c, 0xfd, 0xf1, 0xb4, 0x7c, 0xbb, 0x82, 0xac, 0x23, 0x57, 0x5f, 0x41, 0xd6, 0x2c, 0xd7, 0x3a, 0xba, 0x83, 0x88, 0xfa, 0x3c, 0xf3, 0x6e, 0xdf, 0xf9, 0xf7, 0x29, 0xe3, 0x45, 0x8e, 0xfd, 0xc, 0x73, 0xbc, 0xac, 0xe6, 0x48, 0x6e, 0xcb, 0xe, 0xe1, 0x56, 0x6b, 0xaf, 0x51, 0x23, 0x7f, 0x7b, 0x1b, 0x6a, 0xe2, 0xcd, 0xb7, 0xb7, 0xa1, 0x6f, 0x6f, 0x43, 0xdf, 0xde, 0x86, 0xba, 0xbd, 0xd, 0x7d, 0xf5, 0xe, 0xcf, 0x4f, 0xf3, 0xce, 0xe5, 0x45, 0x4b, 0x43, 0x99, 0x1c, 0x7b, 0xf8, 0x71, 0x7, 0xc7, 0x5f, 0x78, 0x1, 0x8, 0x94, 0x4c, 0x13, 0x5, 0x1, 0xde, 0xcb, 0x9d, 0xb, 0x80, 0x89, 0x2, 0xf1, 0xbd, 0x66, 0xe1, 0x4e, 0xf2, 0x4d, 0x14, 0x2c, 0x24, 0xb8, 0x8e, 0xee, 0x28, 0x23, 0x6f, 0x8, 0x91, 0xb5, 0x4e, 0x59, 0xae, 0xf9, 0x76, 0x2b, 0xa4, 0x91, 0xe1, 0x16, 0x64, 0x51, 0x36, 0x7, 0xc8, 0xa, 0x88, 0xc3, 0xb7, 0xea, 0x56, 0x8b, 0x14, 0x75, 0xef, 0xee, 0x66, 0x5b, 0x13, 0x65, 0x9b, 0x2a, 0xf6, 0x53, 0x8d, 0x44, 0x64, 0x5a, 0xd8, 0x7a, 0x62, 0xaf, 0xb3, 0x28, 0xe, 0x7b, 0x96, 0xd1, 0x73, 0x6b, 0x6d, 0xdf, 0xd2, 0x22, 0x8d, 0xaf, 0x25, 0xc5, 0x94, 0x6c, 0x6b, 0x5d, 0x39, 0x4e, 0x92, 0xa, 0x83, 0x21, 0xbd, 0x24, 0xf9, 0xbc, 0x6, 0xda, 0x95, 0xd9, 0x9b, 0x8f, 0x91, 0x16, 0x83, 0x85, 0x1c, 0x41, 0x2b, 0x88, 0x13, 0x4f, 0xb2, 0x58, 0x94, 0x5c, 0x1e, 0xdf, 0x6b, 0x66, 0x4, 0x9a, 0xc1, 0xf9, 0xee, 0x8e, 0x1f, 0x2c, 0x8e, 0xa3, 0xcc, 0xa5, 0x7, 0xa2, 0x5b, 0x44, 0x61, 0xc4, 0xcf, 0x62, 0xb, 0x7e, 0x7b, 0xe3, 0xcc, 0x6d, 0x5e, 0xef, 0xb2, 0xf6, 0x3b, 0x7e, 0x94, 0x42, 0xeb, 0xe1, 0xf3, 0xdc, 0xff, 0xf2, 0x93, 0xb1, 0xf5, 0xa, 0xd8, 0x52, 0x41, 0xb3, 0x53, 0xa2, 0xb0, 0x9f, 0xf1, 0x9b, 0x27, 0xfb, 0x3a, 0x39, 0x99, 0x2, 0xf2, 0x49, 0x85, 0x8, 0xd0, 0x7b, 0xcc, 0x90, 0xbd, 0xe3, 0x69, 0xb0, 0x36, 0x47, 0x3a, 0x69, 0x4f, 0x54, 0x1b, 0xb, 0xa9, 0x45, 0xea, 0x7, 0x1b, 0xde, 0x44, 0xb6, 0x24, 0x59, 0x6b, 0x9f, 0x8, 0x60, 0x21, 0xc5, 0x23, 0xbb, 0xbe, 0x9e, 0x9c, 0xd3, 0x2e, 0x8f, 0xb4, 0x51, 0xd, 0xab, 0x2c, 0x86, 0x3a, 0x26, 0x0, 0xeb, 0xc7, 0xeb, 0x7b, 0x2, 0xe3, 0x18, 0x8f, 0x5a, 0xa3, 0xde, 0x1, 0x4, 0x8f, 0xc8, 0xc, 0x95, 0xd0, 0xf2, 0xfb, 0x94, 0xdd, 0x1, 0x7d, 0x5e, 0x22, 0xce, 0x60, 0x21, 0xb5, 0xca, 0xbf, 0xc3, 0x68, 0x36, 0xc2, 0xeb, 0x93, 0xa1, 0x2b, 0x7d, 0x59, 0x98, 0xa6, 0xf5, 0xd6, 0xd2, 0xa1, 0x6e, 0xf3, 0xc3, 0xbc, 0x39, 0x43, 0x7f, 0x2, 0x10, 0x7, 0xe9, 0x75, 0xc, 0xeb, 0x43, 0xba, 0x71, 0xb0, 0x4a, 0xa4, 0x92, 0x69, 0x24, 0xb3, 0x52, 0x95, 0x67, 0x10, 0x44, 0x63, 0xd6, 0x93, 0x7d, 0xf4, 0x21, 0x4a, 0xd7, 0xc6, 0x32, 0xca, 0xb1, 0x24, 0x6, 0x96, 0x30, 0x2c, 0x86, 0x57, 0xa2, 0xac, 0x18, 0xb0, 0x89, 0xf1, 0x9a, 0x3, 0x4a, 0xc, 0xb2, 0x14, 0xc0, 0xf7, 0x61, 0xa2, 0xb6, 0x6e, 0xcc, 0x4f, 0x5, 0x66, 0x9b, 0x7b, 0xc8, 0x5d, 0xe4, 0x64, 0xca, 0x7e, 0xc2, 0x73, 0x28, 0x7f, 0x66, 0x37, 0x7, 0xa9, 0xf6, 0x76, 0xa6, 0xcb, 0x1d, 0x71, 0x77, 0x95, 0x4f, 0xa, 0xde, 0xf9, 0xc1, 0xc2, 0xe8, 0x89, 0xd4, 0x9e, 0x88, 0xfe, 0x8b, 0xe1, 0xaa, 0xe8, 0xb6, 0x1b, 0xa0, 0x50, 0xf8, 0xb4, 0x7b, 0x51, 0xba, 0x36, 0xb3, 0xe, 0xab, 0xfd, 0xc8, 0x85, 0xa4, 0x9c, 0x18, 0x63, 0x24, 0xd4, 0x81, 0x43, 0x7d, 0x36, 0x4f, 0x8d, 0x11, 0xc4, 0x35, 0x28, 0x6, 0x3b, 0x9b, 0x22, 0x86, 0xde, 0xe7, 0x3e, 0x9d, 0x97, 0x68, 0xa, 0x4d, 0x45, 0x18, 0x25, 0x22, 0x40, 0xb4, 0xa8, 0xb2, 0x7b, 0xe0, 0xf0, 0x13, 0xe5, 0x5a, 0xa3, 0xcd, 0x48, 0x1, 0xd3, 0x80, 0x4d, 0x86, 0xf9, 0xb9, 0x29, 0xb8, 0xb2, 0xb6, 0x22, 0x89, 0x21, 0x9, 0x77, 0xbb, 0x8d, 0x77, 0x6c, 0x69, 0xad, 0xa5, 0x84, 0xe8, 0xd2, 0x4, 0x8, 0xe8, 0x2e, 0x72, 0xb, 0x49, 0x49, 0x58, 0xf0, 0x29, 0x85, 0xa0, 0x80, 0xa, 0x86, 0x33, 0x49, 0x7f, 0xa9, 0x1e, 0x30, 0x73, 0x57, 0xa, 0xaf, 0xb2, 0xf4, 0xb, 0x73, 0xa0, 0x57, 0x1, 0xf4, 0x14, 0xd1, 0xa5, 0x43, 0x66, 0x83, 0xa9, 0xf1, 0xd6, 0x2, 0xbb, 0x6d, 0xe0, 0x76, 0x61, 0x1e, 0x4c, 0x3d, 0xc8, 0x7d, 0xb2, 0x19, 0x2, 0xb9, 0x1a, 0x5d, 0xb, 0x78, 0x73, 0xc, 0xaa, 0x6b, 0xde, 0x6, 0x3c, 0xd3, 0xe2, 0x96, 0x45, 0x12, 0x31, 0x6f, 0xbe, 0x22, 0x27, 0xbd, 0xbd, 0x65, 0x7f, 0x95, 0x4e, 0xfa, 0x3e, 0xc4, 0x7f, 0x9a, 0x3c, 0xb3, 0x3d, 0x4f, 0x69, 0x6f, 0xc9, 0x97, 0xbc, 0x15, 0xa7, 0xaa, 0x4c, 0x8b, 0xeb, 0xd5, 0x71, 0x72, 0x5a, 0x84, 0x96, 0xf2, 0x1c, 0xbf, 0x19, 0x69, 0x2d, 0xee, 0x1, 0xc3, 0x66, 0xe9, 0x5a, 0x25, 0x68, 0x74, 0xac, 0xec, 0x5d, 0x2b, 0x7f, 0x92, 0x9e, 0x5b, 0xc8, 0xe1, 0x1, 0xa, 0xbb, 0x2d, 0x6b, 0xcc, 0xdd, 0x3b, 0x74, 0x6e, 0x9c, 0x69, 0xb5, 0x11, 0x78, 0x4e, 0x43, 0x10, 0x4c, 0x42, 0xb0, 0xa7, 0x7a, 0xff, 0xca, 0xb7, 0x80, 0x89, 0x2e, 0xbe, 0x2b, 0x5, 0xfb, 0xc7, 0x22, 0x49, 0xf, 0xe1, 0xdf, 0x1, 0xe5, 0xa9, 0xb4, 0x78, 0x10, 0x7d, 0x6e, 0x75, 0x33, 0xfb, 0x7d, 0xc3, 0x82, 0xec, 0xfb, 0x26, 0xcc, 0xf4, 0xf2, 0x32, 0x74, 0x52, 0xa5, 0x79, 0xb4, 0x24, 0x60, 0xf1, 0x50, 0x97, 0xe5, 0x24, 0x88, 0x1c, 0x85, 0x79, 0x6c, 0x6c, 0xb7, 0x33, 0x9e, 0x8a, 0x3b, 0x95, 0x3c, 0x35, 0xfd, 0xea, 0x3d, 0x66, 0x7d, 0x4c, 0xae, 0x2e, 0x6f, 0xc6, 0xd3, 0xe9, 0xd5, 0xf4, 0xe6, 0x6c, 0x34, 0x1f, 0xff, 0x7c, 0x35, 0xad, 0x4f, 0xc0, 0xaa, 0x6f, 0xf1, 0x7a, 0x7c, 0x39, 0xf9, 0xf9, 0xb2, 0x39, 0x9, 0xaa, 0xdf, 0x78, 0xfb, 0x5c, 0x63, 0x27, 0xac, 0x75, 0xfc, 0x53, 0x36, 0x86, 0xaa, 0xd4, 0x46, 0x29, 0x7b, 0x88, 0xd5, 0x60, 0xe8, 0x62, 0x1c, 0x67, 0x1c, 0xa5, 0x69, 0x2c, 0x5e, 0x49, 0xd5, 0x89, 0xcb, 0x47, 0x4a, 0x36, 0xee, 0x50, 0x22, 0xbd, 0x52, 0x16, 0xa5, 0x92, 0x53, 0xeb, 0xec, 0x6c, 0xf3, 0xe9, 0x54, 0x76, 0xf0, 0xd4, 0x30, 0xbf, 0x6a, 0x6a, 0xc4, 0x47, 0xc4, 0x86, 0x3f, 0x17, 0x31, 0xef, 0x75, 0xcb, 0xdd, 0x5b, 0x49, 0xd3, 0xd1, 0xd, 0xba, 0xbb, 0x0, 0x30, 0x1c, 0x7c, 0xf3, 0xd6, 0xdd, 0x43, 0xee, 0xb7, 0x20, 0x8e, 0x40, 0xbf, 0x2b, 0xa6, 0x1e, 0x44, 0x92, 0x44, 0x61, 0x51, 0x1f, 0x91, 0xbb, 0x2c, 0x7, 0x45, 0xf7, 0x70, 0xd0, 0xa9, 0x7, 0xdf, 0xbf, 0x87, 0xce, 0xba, 0x5d, 0x1e, 0xa3, 0x6b, 0x2e, 0x5a, 0xb, 0xa9, 0x53, 0x6b, 0xbd, 0x67, 0xb0, 0x92, 0xce, 0x82, 0x27, 0xaf, 0xad, 0xf5, 0xcf, 0xc5, 0xd1, 0x26, 0x4a, 0xd1, 0x22, 0x0, 0x5c, 0x50, 0xf0, 0xe1, 0xc2, 0x1f, 0x17, 0x12, 0x95, 0xa5, 0x1b, 0x95, 0xc6, 0xab, 0x83, 0x94, 0x2d, 0xed, 0xd7, 0xc6, 0xf5, 0xa8, 0xdd, 0xef, 0xed, 0x7, 0x51, 0x12, 0xac, 0xa3, 0x7, 0x1e, 0xef, 0x9f, 0x74, 0x7d, 0xd4, 0xc3, 0xf4, 0xec, 0xed, 0xe4, 0xd7, 0xd1, 0x5, 0x40, 0x22, 0x8c, 0x6b, 0x55, 0x42, 0xf1, 0xab, 0xf3, 0xc9, 0x6c, 0xf4, 0x7a, 0x1f, 0xb3, 0xa7, 0xf8, 0xc9, 0xf8, 0x12, 0xbf, 0x68, 0x54, 0x15, 0xf5, 0x63, 0xef, 0x4d, 0xf4, 0x35, 0xf, 0xee, 0x57, 0x51, 0x6c, 0x43, 0x42, 0xf, 0xf2, 0x3e, 0xd9, 0x57, 0xa8, 0x67, 0x7, 0xbb, 0x4c, 0x30, 0x13, 0x4e, 0x31, 0xf1, 0xc0, 0xe3, 0x8c, 0xa7, 0x39, 0xa, 0x3b, 0x8b, 0xe4, 0x90, 0x9d, 0x59, 0xdc, 0xf5, 0x41, 0x6e, 0xdf, 0x50, 0x9b, 0x48, 0x2f, 0xa4, 0xf8, 0x18, 0xc4, 0x99, 0x8e, 0x1e, 0x10, 0x65, 0xe, 0x9f, 0xe1, 0x2c, 0x8c, 0x1b, 0xa0, 0xcd, 0xda, 0xdf, 0x84, 0xc, 0xe1, 0x97, 0x21, 0x7b, 0x61, 0x4f, 0x66, 0x1e, 0xe2, 0x33, 0x44, 0xbc, 0x5b, 0xc8, 0x0, 0xaf, 0x44, 0x91, 0x4c, 0xb3, 0x28, 0x35, 0x4d, 0xa8, 0xea, 0x39, 0x80, 0x84, 0x60, 0xb2, 0x9e, 0x2d, 0x6d, 0xd, 0x29, 0x7e, 0x3, 0xa6, 0x15, 0x55, 0x75, 0xd7, 0x7c, 0x25, 0x6, 0x80, 0xc9, 0xcc, 0x1, 0x4c, 0x28, 0x49, 0x91, 0x48, 0xc3, 0xa1, 0x0, 0xa, 0x27, 0xd8, 0x47, 0xb5, 0x3d, 0x5c, 0xb9, 0x97, 0x6c, 0x14, 0x6b, 0x48, 0x31, 0xa4, 0xf4, 0x6f, 0x7a, 0x29, 0x32, 0xf7, 0x1e, 0xa9, 0x36, 0x25, 0xc0, 0x4f, 0x22, 0xc0, 0x6d, 0xf3, 0x65, 0x46, 0xf1, 0xf8, 0x7f, 0x33, 0xd3, 0xb0, 0x5e, 0xb2, 0x4c, 0xaf, 0x5, 0x3c, 0xd9, 0xc1, 0xab, 0xd2, 0x42, 0xda, 0x89, 0xe7, 0x90, 0x28, 0x4b, 0x41, 0x40, 0xbc, 0xf5, 0x95, 0x6c, 0xe4, 0x51, 0xca, 0x6, 0x55, 0xf6, 0x6d, 0x54, 0x58, 0xcc, 0xb7, 0xfd, 0x5e, 0x3a, 0x6c, 0x48, 0xc1, 0x55, 0xa1, 0x71, 0xcb, 0xe5, 0x6, 0x1c, 0xf7, 0x4e, 0x63, 0xd2, 0xb8, 0xc5, 0x54, 0x9f, 0x48, 0x57, 0xc1, 0x52, 0xd6, 0xe8, 0x91, 0xd7, 0x3c, 0x7c, 0x1d, 0x49, 0x9e, 0x44, 0x87, 0xdd, 0xe4, 0x96, 0xe5, 0x3e, 0x9a, 0xfa, 0x81, 0xdf, 0xea, 0x4a, 0xc9, 0x7b, 0xdf, 0x34, 0x70, 0xcf, 0x12, 0xe, 0x58, 0xa2, 0x5, 0x0, 0xeb, 0xce, 0x73, 0xde, 0x1d, 0x7a, 0xec, 0x27, 0x5d, 0x90, 0xc3, 0xab, 0x5, 0x66, 0x2b, 0x12, 0x9e, 0xaa, 0x36, 0x77, 0x45, 0xf5, 0x21, 0x93, 0x8, 0x7e, 0x9c, 0xd2, 0x1a, 0x1d, 0x38, 0x95, 0x6, 0xeb, 0x2b, 0xa0, 0x35, 0x52, 0xd2, 0x7, 0x54, 0x3a, 0x84, 0x6d, 0x7, 0xf9, 0xd1, 0xe7, 0xee, 0x9e, 0x93, 0xee, 0x8a, 0x1e, 0xab, 0x57, 0x68, 0x52, 0xf4, 0xb0, 0xd3, 0xeb, 0xa7, 0xc7, 0xb4, 0x30, 0x97, 0xcc, 0x62, 0xbe, 0xa, 0xb8, 0x72, 0x96, 0xa6, 0x8d, 0x7b, 0x51, 0xd1, 0xc3, 0x85, 0xfc, 0x45, 0x8, 0xf4, 0xa5, 0x6e, 0x79, 0xc2, 0x37, 0x22, 0x5, 0x27, 0x11, 0xd3, 0x3b, 0x19, 0x50, 0x66, 0x91, 0xd8, 0x6c, 0x55, 0xc2, 0xe3, 0x21, 0xdf, 0x46, 0x43, 0xd7, 0x10, 0xdd, 0xb7, 0xc3, 0x87, 0x9f, 0x86, 0x74, 0xb2, 0xe1, 0xf0, 0xf6, 0xa1, 0xcf, 0xe5, 0xe0, 0x5b, 0xd7, 0xfb, 0x42, 0x4e, 0xee, 0xa4, 0x51, 0xb9, 0x58, 0x7a, 0xda, 0xb9, 0x93, 0x6e, 0x92, 0x4c, 0xde, 0x44, 0x21, 0x5b, 0xa, 0x70, 0x4e, 0xb8, 0x17, 0x3e, 0xb0, 0xb5, 0x8c, 0x42, 0xa0, 0xa2, 0x83, 0x2e, 0xa2, 0x40, 0xd9, 0xf9, 0x96, 0xec, 0xe2, 0x22, 0x3b, 0xce, 0x5, 0x46, 0x91, 0xfc, 0xe, 0x57, 0xda, 0x4e, 0x8d, 0x56, 0x39, 0xb4, 0xff, 0x7c, 0xde, 0x75, 0x86, 0x51, 0x45, 0xed, 0x2, 0x37, 0xaf, 0xc6, 0xa1, 0xaa, 0xea, 0x6f, 0x6a, 0xf9, 0xc4, 0x30, 0x33, 0xa0, 0x83, 0xfd, 0x4d, 0x2d, 0xd9, 0xe4, 0xbc, 0x1, 0x7e, 0xb7, 0xeb, 0xa9, 0x57, 0x9c, 0x56, 0x45, 0x45, 0xd9, 0xbd, 0x81, 0x9d, 0xb8, 0x22, 0x48, 0x42, 0x53, 0xa4, 0xcb, 0xb1, 0x2d, 0xbb, 0x26, 0x4a, 0xc8, 0x20, 0xfa, 0x94, 0x50, 0xe4, 0xb5, 0xe4, 0xe4, 0x48, 0xbf, 0x7d, 0x35, 0xfa, 0x54, 0x68, 0x71, 0x90, 0x49, 0xfd, 0x94, 0xd, 0x5e, 0x99, 0x7e, 0xda, 0xb0, 0xcd, 0x6b, 0xec, 0x39, 0x55, 0x2, 0x8a, 0x68, 0x94, 0x3b, 0x98, 0xaa, 0x5, 0x97, 0x68, 0xa2, 0xe7, 0x1c, 0xfe, 0xb9, 0xf4, 0xa0, 0x91, 0x12, 0x41, 0x8f, 0x3f, 0xf0, 0x32, 0xa8, 0x1e, 0xe1, 0xc5, 0x1e, 0xc, 0xb1, 0x5b, 0xf8, 0xe9, 0x6, 0xea, 0xd0, 0xc3, 0xaf, 0xf4, 0x7, 0x7a, 0xd, 0xb0, 0x3f, 0x24, 0x82, 0x45, 0xa0, 0xbc, 0xeb, 0x6c, 0x53, 0x68, 0xd5, 0x27, 0xfa, 0x72, 0xea, 0x1a, 0x34, 0x4f, 0x25, 0x7f, 0x47, 0xb8, 0xd6, 0x82, 0xdd, 0x12, 0xcf, 0xea, 0x92, 0xba, 0x81, 0x8c, 0x29, 0xd2, 0xde, 0x9b, 0x1a, 0xbf, 0xdd, 0x31, 0x89, 0xda, 0x2a, 0x9d, 0xd2, 0xe2, 0x91, 0xd4, 0x7e, 0xb6, 0x5a, 0x29, 0xef, 0x4b, 0xa4, 0xd4, 0x57, 0x4e, 0x71, 0xbb, 0x35, 0x27, 0x1b, 0x1e, 0x8c, 0x44, 0x62, 0x36, 0x3a, 0x85, 0xc7, 0xf9, 0xc1, 0x19, 0x3e, 0x48, 0x9e, 0x16, 0xe9, 0x90, 0xcd, 0xd7, 0x42, 0x8b, 0x7c, 0x9b, 0x7b, 0x41, 0x9b, 0xdb, 0x6d, 0x1c, 0x89, 0x70, 0x61, 0x83, 0xc, 0x7f, 0x90, 0xe2, 0xf1, 0x7, 0x0, 0x5c, 0xdd, 0xb, 0xd1, 0xf1, 0xa2, 0x7, 0xe9, 0x9e, 0xa5, 0x92, 0x10, 0x87, 0xdd, 0x81, 0x54, 0xda, 0xa, 0xb2, 0xc3, 0x85, 0x1c, 0xc5, 0xb1, 0x3f, 0x16, 0xc4, 0x54, 0xe1, 0x38, 0xd6, 0x69, 0xe2, 0x7a, 0xa5, 0xbb, 0x1f, 0xd6, 0xe3, 0x49, 0x74, 0xa, 0xaf, 0xf7, 0x85, 0x28, 0x6e, 0x63, 0x80, 0x60, 0xc1, 0xf3, 0xe2, 0x73, 0x6d, 0xbf, 0x63, 0x1a, 0x58, 0x4d, 0x67, 0x34, 0xee, 0xc1, 0xe7, 0x36, 0xc4, 0xb4, 0x48, 0x9f, 0x78, 0x3e, 0x43, 0xdb, 0x3c, 0x26, 0xed, 0x2b, 0xd5, 0xa9, 0x4f, 0xf5, 0x63, 0x42, 0x74, 0xc1, 0x28, 0xae, 0x2d, 0x26, 0xd9, 0xe8, 0xc3, 0x84, 0xa5, 0x25, 0xf0, 0xd9, 0xda, 0xad, 0x5d, 0x19, 0xd9, 0x56, 0xae, 0xc3, 0x94, 0x46, 0xb6, 0xbc, 0xec, 0x2a, 0xe6, 0x14, 0x6e, 0x1, 0xf0, 0xf0, 0xa4, 0xc3, 0x2b, 0x13, 0xfa, 0x9b, 0xb4, 0xa1, 0xab, 0x46, 0xf4, 0xfc, 0x84, 0xe5, 0x40, 0xaf, 0xe4, 0xd5, 0xad, 0xa1, 0xeb, 0x5e, 0x88, 0xed, 0x7b, 0x63, 0xeb, 0x3f, 0x3d, 0xc, 0xb0, 0x0, 0x5d, 0x0, 0x5d, 0xe5, 0x5, 0xf, 0x13, 0xb1, 0xe1, 0x91, 0xa4, 0x3f, 0x93, 0x9e, 0x2, 0x22, 0xab, 0xa9, 0x41, 0x3f, 0xcd, 0x21, 0x1, 0xef, 0xab, 0xaa, 0x68, 0x44, 0x43, 0x9, 0x1, 0xdc, 0xa5, 0x8c, 0xb3, 0x84, 0xcb, 0x50, 0x51, 0xec, 0x31, 0x15, 0xf, 0x2a, 0x2, 0x36, 0x20, 0x19, 0xb, 0x19, 0x52, 0xf4, 0xe6, 0x80, 0x45, 0x32, 0x4d, 0x54, 0x98, 0x1, 0xc8, 0xc3, 0x3, 0x4f, 0x22, 0xbe, 0x8c, 0x62, 0x8, 0x16, 0x57, 0x5e, 0xfd, 0xe, 0xf0, 0x59, 0xd5, 0x2e, 0x7f, 0xaa, 0x12, 0x71, 0x45, 0x78, 0xdc, 0x65, 0x5c, 0xaa, 0xde, 0x62, 0x50, 0x39, 0x53, 0x5b, 0x7d, 0xc3, 0x2a, 0x77, 0x1a, 0xd6, 0x69, 0x5d, 0x72, 0x9a, 0x62, 0x58, 0x0, 0x6, 0xb6, 0xda, 0x26, 0x1c, 0x95, 0xb0, 0xcc, 0xff, 0x50, 0xc0, 0x54, 0x6, 0x37, 0x1, 0x46, 0xe7, 0x22, 0x96, 0x5, 0xe9, 0x7c, 0x33, 0x6f, 0xd2, 0x9, 0xa8, 0xbe, 0x2b, 0xf3, 0x5c, 0xf0, 0xfd, 0xb5, 0x11, 0x55, 0xbf, 0x68, 0x90, 0xd6, 0xa9, 0x42, 0x52, 0xe0, 0x1e, 0x44, 0x40, 0x41, 0x93, 0x43, 0xb4, 0x3e, 0xe8, 0xf2, 0xe1, 0x42, 0x5e, 0x5e, 0xcd, 0xc7, 0xa7, 0xcc, 0x8, 0xf8, 0x13, 0x34, 0xb7, 0x9d, 0x86, 0xf5, 0x14, 0x37, 0xea, 0xeb, 0x59, 0x74, 0x27, 0xb, 0xc5, 0x6f, 0xfb, 0x7b, 0x93, 0xf7, 0x7b, 0x68, 0x15, 0xfc, 0x52, 0xe6, 0xe, 0x9c, 0x97, 0xf8, 0x2c, 0x7b, 0x62, 0x9f, 0x19, 0xec, 0xb3, 0x2b, 0xc8, 0x28, 0xc, 0x1, 0x58, 0x9c, 0x42, 0x96, 0xce, 0xe1, 0x63, 0xe6, 0xb6, 0xd4, 0xc4, 0x69, 0xe5, 0x99, 0xcc, 0x10, 0x52, 0xfa, 0x42, 0xbf, 0xa4, 0xa0, 0x17, 0x63, 0x35, 0x78, 0xb8, 0x29, 0xc8, 0x8a, 0x4a, 0x7a, 0x9e, 0x94, 0xb5, 0xd3, 0xb4, 0x8b, 0xf0, 0x13, 0xc2, 0xc8, 0x46, 0x81, 0x86, 0x5c, 0xb2, 0x3d, 0x6a, 0x2c, 0xb7, 0x28, 0xd9, 0xc, 0x43, 0xdf, 0x28, 0xc, 0x16, 0x76, 0x83, 0x6, 0x10, 0x6b, 0xeb, 0x35, 0x36, 0xba, 0x59, 0xde, 0x69, 0x16, 0x47, 0xf7, 0x2, 0x96, 0x84, 0xa9, 0x84, 0xa5, 0x9, 0x62, 0xc4, 0xa4, 0xea, 0x5e, 0xc8, 0x3a, 0x75, 0xfc, 0x85, 0xfa, 0x38, 0x50, 0xc0, 0x69, 0xf3, 0x21, 0x4b, 0x9e, 0xc9, 0x6c, 0xc2, 0x91, 0x9e, 0x68, 0x37, 0x1d, 0xf0, 0x7e, 0xf5, 0x7a, 0x34, 0x3f, 0x7b, 0x7b, 0x73, 0xf5, 0x7e, 0x3c, 0x1d, 0x39, 0x64, 0xef, 0xda, 0x67, 0xac, 0xea, 0x8f, 0x2b, 0x2a, 0x61, 0x54, 0x7f, 0x58, 0x59, 0x5, 0xa3, 0xfa, 0x53, 0xaa, 0x80, 0x41, 0x9f, 0x55, 0xbe, 0x7e, 0xb5, 0x53, 0xde, 0xc8, 0xb3, 0x39, 0x21, 0x41, 0x1e, 0xe8, 0x9c, 0x3b, 0x2e, 0x44, 0x4c, 0x8b, 0xae, 0xa0, 0xdd, 0x98, 0xe6, 0xa4, 0xe3, 0x1, 0xf3, 0x55, 0xed, 0x29, 0x8f, 0xf1, 0xb4, 0xb1, 0x1c, 0x28, 0xe7, 0x33, 0x5f, 0x4d, 0xec, 0xc8, 0xf5, 0xee, 0xc3, 0x4f, 0xee, 0x1f, 0xae, 0xb, 0x81, 0xea, 0xbf, 0x71, 0xe7, 0xbf, 0xbd, 0xef, 0xbc, 0x6f, 0xe1, 0x5b, 0x57, 0x37, 0xa0, 0xf5, 0x4b, 0x44, 0xf0, 0x69, 0xfd, 0x6c, 0x36, 0xf9, 0xf9, 0x72, 0xd4, 0xfe, 0xd9, 0xf9, 0xd8, 0xe8, 0x80, 0xd6, 0xcf, 0xa6, 0xe3, 0xd9, 0x78, 0xde, 0xfa, 0xd5, 0xf5, 0xfb, 0x73, 0x78, 0x2d, 0x77, 0x95, 0x9, 0xae, 0xde, 0x9b, 0xff, 0x99, 0xb5, 0x37, 0xbc, 0x7c, 0x3f, 0xba, 0x9e, 0x8d, 0x6f, 0x6c, 0xdc, 0x5c, 0xd7, 0x91, 0x5c, 0x9c, 0x5d, 0xd7, 0x81, 0x60, 0x1e, 0xf9, 0x30, 0x7d, 0x34, 0x5a, 0x69, 0x49, 0x1b, 0x45, 0xe9, 0x5a, 0xc2, 0x6d, 0xe3, 0xdb, 0xf5, 0xf9, 0xdb, 0xf5, 0xf9, 0xe9, 0x84, 0x75, 0xbd, 0x3e, 0xff, 0xbe, 0x2e, 0xac, 0xfd, 0xe, 0xb0, 0xd2, 0x46, 0xa3, 0x63, 0x2c, 0xc3, 0xbf, 0x37, 0x1e, 0x62, 0x2d, 0x5b, 0x18, 0x90, 0x17, 0x8f, 0x8, 0xe2, 0xfc, 0xcf, 0xb6, 0x8d, 0x79, 0x2d, 0xeb, 0x58, 0x93, 0x55, 0xb6, 0xcf, 0xf1, 0x26, 0x7e, 0xe0, 0x1a, 0xb9, 0xeb, 0xbe, 0x75, 0x1b, 0xc, 0xd9, 0x7b, 0x9e, 0xa4, 0x11, 0x8f, 0x9, 0x3e, 0x93, 0x9c, 0xbf, 0x41, 0x20, 0xb6, 0x29, 0x65, 0xab, 0x14, 0xb3, 0x67, 0xf1, 0xb3, 0x9b, 0x4d, 0x7d, 0xea, 0x10, 0x7e, 0xf1, 0x8e, 0xeb, 0xfb, 0x27, 0x59, 0x70, 0x67, 0x38, 0x9c, 0xa6, 0xcc, 0x63, 0x4a, 0x7c, 0x84, 0x1c, 0x89, 0x5b, 0xcb, 0xa7, 0x1b, 0xfb, 0x6c, 0xb0, 0xef, 0x16, 0xef, 0xe4, 0xcd, 0xf9, 0x5c, 0x6e, 0x9c, 0xcf, 0xe4, 0xc5, 0xb1, 0xd5, 0x3e, 0x8d, 0xee, 0xc, 0xb8, 0xa4, 0x80, 0xa9, 0x40, 0x6d, 0x96, 0xe0, 0x73, 0x40, 0x48, 0x7e, 0xb9, 0x63, 0xa, 0xb2, 0xed, 0x91, 0x90, 0xff, 0x60, 0xd1, 0x8a, 0xed, 0x54, 0xc6, 0x74, 0xb6, 0xdd, 0xc6, 0x10, 0x90, 0x9, 0x53, 0xba, 0xb1, 0x15, 0xea, 0x58, 0xaa, 0xee, 0xb0, 0x60, 0x1, 0xb4, 0xf7, 0xdb, 0xea, 0x41, 0xa1, 0xf4, 0x40, 0xce, 0x94, 0xbf, 0x41, 0xec, 0xee, 0x53, 0xbc, 0x4a, 0x95, 0xa, 0xc6, 0xfa, 0x96, 0x24, 0xc9, 0xe4, 0x89, 0xe5, 0xdd, 0x89, 0x65, 0xe6, 0x71, 0xfd, 0x4c, 0x45, 0x22, 0x3a, 0x39, 0x9a, 0xb0, 0x49, 0xc9, 0x6c, 0xff, 0xba, 0x35, 0xe4, 0x63, 0xfb, 0x74, 0x1a, 0xb5, 0x56, 0x2d, 0x3b, 0x3a, 0xa8, 0xaf, 0xf, 0xf9, 0x45, 0x85, 0x5e, 0xd5, 0xd6, 0x3c, 0x65, 0x8f, 0x22, 0x11, 0x85, 0xda, 0x89, 0xee, 0xa0, 0x7d, 0x88, 0xa8, 0xa0, 0x78, 0x69, 0xd0, 0x2f, 0x46, 0xf1, 0xed, 0x4d, 0xb4, 0x49, 0xfd, 0x59, 0xce, 0x7b, 0x17, 0xbc, 0x3a, 0x45, 0x68, 0x76, 0xbd, 0x62, 0x19, 0xe4, 0xe6, 0x72, 0x9b, 0x3f, 0x6a, 0xfe, 0x11, 0xc1, 0x63, 0xb6, 0xcc, 0x8c, 0xd, 0x25, 0x43, 0x86, 0xb7, 0x42, 0x61, 0xc1, 0x93, 0x37, 0x94, 0x85, 0x1a, 0x11, 0x10, 0x8d, 0xab, 0xe2, 0x93, 0xa7, 0x9f, 0x6d, 0xb2, 0x94, 0xb7, 0x6d, 0xe3, 0x66, 0x3b, 0xa4, 0x71, 0x53, 0xd0, 0xae, 0x6e, 0xf9, 0xa8, 0xef, 0x85, 0x5b, 0x3f, 0x65, 0xab, 0xd7, 0x8d, 0x5e, 0xeb, 0xdc, 0xc2, 0xa4, 0xc4, 0x1c, 0xd, 0x61, 0x9a, 0xc5, 0x7, 0x25, 0xa, 0xa5, 0x3c, 0xb9, 0x13, 0x69, 0xb, 0xec, 0x43, 0x93, 0x51, 0xb2, 0x15, 0x49, 0x20, 0x64, 0xca, 0xef, 0xc4, 0x94, 0x6f, 0xb6, 0x9d, 0x5f, 0xf4, 0xf9, 0x66, 0xfb, 0x7a, 0xf7, 0xde, 0xb5, 0x6d, 0xcf, 0x2b, 0x4f, 0xf8, 0x66, 0x9b, 0xe7, 0x6d, 0x83, 0x67, 0xe1, 0x2e, 0xe1, 0x61, 0xc6, 0x63, 0xf6, 0x3a, 0xce, 0xc4, 0xab, 0x9f, 0x13, 0x21, 0x24, 0xb, 0xc5, 0x36, 0x56, 0xbb, 0xd, 0x64, 0x2c, 0xbd, 0x80, 0x54, 0x98, 0x68, 0x13, 0xc5, 0x3c, 0x79, 0x9, 0x59, 0x91, 0x89, 0x80, 0x3, 0xe7, 0x91, 0x63, 0x62, 0x0, 0x38, 0xbd, 0x39, 0xb, 0x44, 0x92, 0xc2, 0x8b, 0x94, 0x4a, 0xc0, 0xf3, 0x42, 0x7a, 0x2a, 0x4d, 0xf8, 0xa, 0xaa, 0xf0, 0x91, 0x67, 0x9, 0x18, 0xb5, 0x90, 0xe, 0x3c, 0xa2, 0x4f, 0xbe, 0xce, 0x3e, 0x78, 0xc5, 0xde, 0xeb, 0x37, 0x3e, 0xb0, 0x3b, 0xc5, 0x63, 0xe8, 0x1e, 0x95, 0xea, 0x4, 0x6b, 0xc6, 0xd3, 0x85, 0x74, 0x71, 0xde, 0x58, 0xe6, 0x5f, 0x11, 0x9c, 0x86, 0x21, 0x71, 0x83, 0xa9, 0xee, 0x1e, 0xba, 0x45, 0x5, 0x6c, 0x86, 0x1f, 0xd0, 0xc, 0x2e, 0x1a, 0x1b, 0xa1, 0xad, 0x6c, 0x25, 0x95, 0x80, 0x63, 0x15, 0x50, 0xc6, 0xd8, 0x9, 0x3b, 0x5b, 0x9b, 0xce, 0x2c, 0x65, 0x80, 0x91, 0x73, 0x46, 0xd9, 0xe5, 0x27, 0x23, 0x7d, 0x72, 0x29, 0x1e, 0xd9, 0x38, 0x27, 0xf0, 0x71, 0xad, 0x7c, 0x9c, 0x88, 0x28, 0x81, 0x5e, 0x98, 0xd9, 0x23, 0x42, 0xa6, 0xaf, 0x6c, 0xa6, 0xb2, 0xeb, 0xef, 0x7b, 0x9d, 0xa3, 0x81, 0x38, 0x18, 0x90, 0x17, 0x90, 0xb, 0x6b, 0x6f, 0x64, 0x82, 0xba, 0xb8, 0xa5, 0x7e, 0x6f, 0x20, 0xab, 0xf5, 0x26, 0xa, 0x6f, 0xd1, 0xda, 0x38, 0x71, 0x70, 0x2c, 0x4b, 0xb1, 0xe6, 0xf, 0x91, 0x2, 0xc7, 0xd7, 0xec, 0xfc, 0x17, 0x9d, 0xd7, 0xc4, 0x81, 0x4a, 0x39, 0x39, 0x3a, 0x8, 0xf5, 0x48, 0x3e, 0xaa, 0xe1, 0x4b, 0x9a, 0xea, 0x28, 0xaf, 0xcc, 0x4d, 0x2a, 0x9, 0x47, 0xa4, 0xa4, 0xb3, 0x12, 0x9d, 0x6a, 0xc5, 0xcc, 0x8f, 0x6e, 0xd5, 0x5e, 0x2c, 0x77, 0xd4, 0xb3, 0x47, 0x3d, 0xbb, 0xcd, 0xb4, 0xb8, 0x71, 0x4a, 0xb5, 0x33, 0xf1, 0xd4, 0x53, 0xdd, 0x14, 0x7c, 0xe2, 0x1, 0xb, 0x80, 0x2f, 0x35, 0x14, 0x67, 0x57, 0x2b, 0xf6, 0x82, 0x12, 0x97, 0x96, 0xb1, 0x78, 0xe9, 0xb2, 0x84, 0x69, 0xf5, 0x5f, 0xdc, 0x9e, 0xa9, 0xcd, 0x96, 0xa7, 0xd1, 0x32, 0x16, 0xaf, 0x8b, 0xf9, 0xcd, 0x46, 0x91, 0xdc, 0xea, 0x97, 0xb, 0xe9, 0x90, 0x2, 0xac, 0xba, 0xcf, 0x53, 0xb2, 0x8d, 0x80, 0xd9, 0xf2, 0xa4, 0xb4, 0x4b, 0x1c, 0x3b, 0x1c, 0xc4, 0x8a, 0xcd, 0x64, 0x59, 0x48, 0xbe, 0x2f, 0x7c, 0x2f, 0x60, 0x82, 0xc0, 0x55, 0x11, 0xbe, 0xf4, 0x1, 0x5e, 0xc8, 0xce, 0x34, 0x56, 0x9f, 0xeb, 0x91, 0xc6, 0x5f, 0xc8, 0x52, 0xd7, 0x7b, 0xd3, 0x2, 0x49, 0xbf, 0x32, 0xd3, 0xe7, 0xf9, 0x72, 0x58, 0x9c, 0x53, 0xd, 0xab, 0x84, 0x26, 0xac, 0xfb, 0x11, 0x38, 0x9, 0x16, 0x9b, 0xb1, 0x73, 0xa3, 0x20, 0x8b, 0x79, 0x92, 0xf, 0x1c, 0xa5, 0x90, 0x93, 0xb0, 0xd3, 0xb8, 0x39, 0x78, 0x9a, 0xff, 0x94, 0x88, 0x3b, 0x9e, 0x84, 0xb1, 0xd0, 0xc0, 0x0, 0x4c, 0x72, 0xd0, 0xf9, 0x36, 0xcc, 0xe7, 0x3a, 0x64, 0x96, 0xb1, 0xb, 0x89, 0x93, 0xf7, 0x73, 0x94, 0x52, 0xc5, 0x36, 0xea, 0x41, 0x14, 0xc3, 0x5e, 0x20, 0x0, 0xc, 0xad, 0xdc, 0xc0, 0xad, 0x52, 0x71, 0x3b, 0x43, 0xd1, 0x7a, 0x2c, 0x1, 0x45, 0x25, 0x7a, 0x7f, 0x75, 0x99, 0xd9, 0x4c, 0x99, 0xf9, 0xe4, 0x32, 0x32, 0xb0, 0x5b, 0x1b, 0xea, 0xb5, 0xed, 0x30, 0xbc, 0x71, 0x0, 0xeb, 0x9b, 0x8, 0x7b, 0xd8, 0xa6, 0x36, 0x29, 0x13, 0xce, 0x75, 0xeb, 0xab, 0xdd, 0x9b, 0x4c, 0xae, 0x2b, 0xa1, 0xae, 0x87, 0x17, 0xf6, 0xa3, 0x5d, 0x8c, 0x10, 0xa2, 0xab, 0xe7, 0xd4, 0xb2, 0xf1, 0xc7, 0x48, 0xa7, 0x56, 0x26, 0x39, 0xd4, 0x94, 0xd5, 0x29, 0x53, 0x52, 0x30, 0x9d, 0x5, 0x6b, 0xb6, 0xf8, 0x2e, 0x93, 0x81, 0x92, 0x36, 0x42, 0x7f, 0xf1, 0x1d, 0xb2, 0x9, 0x9c, 0x1b, 0x71, 0x4c, 0x20, 0xd, 0x91, 0x66, 0x42, 0xae, 0x54, 0x12, 0x8, 0xed, 0x50, 0x95, 0x76, 0x3a, 0x15, 0x9b, 0x1, 0xcb, 0x24, 0x2c, 0x2, 0x6c, 0x31, 0xf8, 0x82, 0xb6, 0x14, 0x6d, 0x8c, 0x85, 0xa4, 0xef, 0x1, 0xb9, 0x90, 0x12, 0xe2, 0xa9, 0x24, 0xc3, 0x2b, 0x8c, 0xc7, 0xc5, 0xd, 0xaa, 0x85, 0x95, 0x4d, 0x73, 0xa2, 0x88, 0x8f, 0xc6, 0x36, 0x43, 0x20, 0x7a, 0xd0, 0x83, 0x2f, 0x81, 0xed, 0xe7, 0x59, 0x2, 0x68, 0x12, 0xde, 0xf1, 0x32, 0x80, 0xa9, 0xa8, 0x84, 0x6d, 0x20, 0x4d, 0x25, 0xc7, 0xaf, 0x2f, 0x2c, 0x36, 0xf, 0x43, 0x9b, 0xba, 0xa, 0x5a, 0x9a, 0x2f, 0xa4, 0xce, 0x96, 0xc6, 0x46, 0xb2, 0x87, 0xc, 0xd7, 0xf7, 0x3a, 0x87, 0x28, 0x71, 0x72, 0xb6, 0xe4, 0x1a, 0xaa, 0x44, 0x30, 0xce, 0x16, 0xdf, 0xc1, 0xd1, 0x97, 0x9f, 0xb3, 0x8b, 0xef, 0x72, 0x59, 0xc0, 0xc5, 0x34, 0xc7, 0xc9, 0x26, 0x8b, 0xd3, 0x68, 0x5b, 0x5e, 0x3c, 0x8d, 0x0, 0x7e, 0x5, 0xc1, 0x80, 0x2d, 0x64, 0xf, 0xa2, 0x85, 0xb4, 0x49, 0x44, 0x70, 0x18, 0x40, 0x4, 0xd7, 0x20, 0x2f, 0x3e, 0x6, 0x66, 0x61, 0x24, 0x43, 0xf1, 0x91, 0xfd, 0x8, 0x31, 0x63, 0xb4, 0x97, 0x72, 0x2d, 0x83, 0x32, 0xe2, 0x76, 0xab, 0x3d, 0xd7, 0x28, 0xff, 0x1d, 0x6e, 0xaa, 0x4e, 0x97, 0xd8, 0x30, 0x45, 0x52, 0x5b, 0xe6, 0x77, 0x9b, 0x87, 0xcd, 0x53, 0x26, 0x4b, 0xfb, 0x8, 0x52, 0x8e, 0xf2, 0x91, 0x94, 0x83, 0xde, 0x7b, 0x41, 0xc0, 0x93, 0x66, 0x5a, 0xb, 0xe9, 0x94, 0xa2, 0x8e, 0x36, 0xdb, 0x78, 0x7, 0x7, 0x1c, 0x61, 0x16, 0x88, 0xf0, 0xe5, 0xc0, 0x63, 0x75, 0xb5, 0x52, 0xe3, 0x72, 0x21, 0x33, 0xe9, 0x5a, 0xd0, 0xe6, 0xaa, 0xb3, 0xbe, 0xa0, 0x86, 0x34, 0x79, 0xcf, 0xe, 0x4a, 0x6a, 0xe9, 0x64, 0x75, 0x35, 0x59, 0x46, 0x23, 0xc2, 0x83, 0x88, 0x42, 0x23, 0x8a, 0x62, 0xb3, 0x4d, 0xa1, 0x64, 0xaf, 0x37, 0x95, 0x3a, 0x17, 0x94, 0x85, 0xc2, 0xac, 0x99, 0x4b, 0x81, 0x90, 0xe7, 0xe, 0x7b, 0x9c, 0x57, 0x12, 0xe3, 0xb5, 0xfd, 0xbf, 0x4d, 0x3c, 0xf0, 0x1b, 0x99, 0x5d, 0xe2, 0x41, 0x33, 0xf6, 0xb1, 0xd1, 0xa, 0xdd, 0x98, 0xdd, 0x9, 0xe2, 0x82, 0x7b, 0x87, 0x10, 0x4b, 0x96, 0x3b, 0xc7, 0x6e, 0x50, 0xae, 0xbe, 0x6, 0xc8, 0x7, 0xad, 0xf0, 0x64, 0xe2, 0x3a, 0x9b, 0x69, 0xb6, 0x89, 0x4e, 0x87, 0xc7, 0xad, 0xeb, 0xc9, 0xc5, 0xf9, 0xcd, 0xe4, 0x1c, 0xd1, 0xc, 0xa6, 0xe3, 0xd1, 0xd9, 0xdb, 0xd1, 0xeb, 0xc9, 0xc5, 0x64, 0x5e, 0x9b, 0x74, 0xdd, 0xd0, 0x82, 0xfe, 0x71, 0x31, 0xee, 0xf8, 0x3d, 0x14, 0x64, 0x3e, 0xbf, 0xb1, 0x78, 0x7e, 0xb3, 0x52, 0xb5, 0xcb, 0x46, 0xea, 0xf2, 0xd1, 0x1a, 0x9f, 0x7a, 0xfa, 0x4d, 0xb0, 0xe4, 0xcc, 0xa7, 0x8b, 0xb9, 0xbd, 0xdd, 0xda, 0x94, 0xd9, 0x7c, 0x4d, 0xb1, 0xba, 0x35, 0xf, 0xd6, 0x8c, 0xe7, 0x4a, 0xc2, 0xae, 0x31, 0x0, 0x12, 0xd8, 0x1b, 0x41, 0xe1, 0xec, 0x5, 0x5, 0x5a, 0x90, 0x12, 0x73, 0x3c, 0x19, 0xe5, 0x95, 0x61, 0x79, 0x42, 0x25, 0x35, 0x1c, 0x79, 0xe9, 0x7f, 0x90, 0x5a, 0x36, 0x3, 0xc1, 0xb1, 0x8a, 0x49, 0xca, 0x2f, 0x10, 0xdb, 0x6f, 0x25, 0x1e, 0xd9, 0x26, 0x92, 0x59, 0x2a, 0xf4, 0x4b, 0x96, 0xc9, 0x34, 0x8a, 0xc1, 0xe0, 0x8, 0x94, 0xd9, 0xb4, 0x64, 0x4d, 0x38, 0x14, 0x20, 0x1e, 0x4, 0x59, 0x62, 0x2e, 0xc9, 0x88, 0xe0, 0xbf, 0xcc, 0x6c, 0xbd, 0xdb, 0x50, 0x58, 0x30, 0x5e, 0xa3, 0x12, 0x1f, 0x39, 0xba, 0xf1, 0xf9, 0xbd, 0xa0, 0xb6, 0x0, 0x39, 0xd, 0x20, 0x4e, 0x3c, 0x8d, 0x1e, 0xc4, 0x42, 0xea, 0x28, 0x14, 0x6e, 0x38, 0xe6, 0x46, 0x1b, 0xb2, 0x37, 0x70, 0xee, 0x71, 0x63, 0x2d, 0x31, 0xb7, 0x42, 0xc, 0x8a, 0x30, 0xed, 0x75, 0x62, 0x94, 0xb4, 0x64, 0x95, 0x32, 0x0, 0x1c, 0xba, 0x54, 0xa9, 0x38, 0xa5, 0x5c, 0x4f, 0xeb, 0x65, 0xc4, 0x85, 0xd8, 0xbb, 0x16, 0x38, 0x9b, 0xe7, 0x7b, 0xed, 0x1d, 0x79, 0x50, 0x3d, 0x3e, 0x5, 0x73, 0x6d, 0x1f, 0xca, 0xf, 0x2f, 0x2c, 0xb, 0xc9, 0x3, 0xcc, 0x39, 0xc5, 0x97, 0xe5, 0xc4, 0x5f, 0xc, 0xae, 0x2d, 0x82, 0xe, 0x39, 0x20, 0xef, 0xa5, 0x7a, 0x24, 0x8, 0xad, 0xdd, 0xf7, 0x39, 0xc0, 0x22, 0x82, 0x48, 0xec, 0x6c, 0xf5, 0xfb, 0x4c, 0x57, 0x19, 0xaa, 0x78, 0x3a, 0x47, 0x89, 0x47, 0xc8, 0x90, 0xcd, 0x8c, 0xd, 0x7e, 0xa7, 0xe8, 0x44, 0xed, 0x70, 0x33, 0x72, 0x3f, 0x9a, 0xcb, 0x67, 0x81, 0x5, 0xa5, 0x1b, 0x51, 0x77, 0x86, 0xc, 0x19, 0x9c, 0x9b, 0xa, 0xc2, 0x8b, 0xb4, 0xd0, 0x3, 0xb6, 0xe1, 0xf7, 0x66, 0x7d, 0xd, 0xd3, 0x53, 0x65, 0x74, 0x50, 0xb2, 0x2b, 0xb2, 0xc6, 0x82, 0x34, 0x37, 0xc, 0xea, 0x31, 0x9c, 0x6b, 0xf6, 0x28, 0xe2, 0xd8, 0x56, 0x4b, 0xed, 0xb6, 0x1d, 0x4f, 0xb1, 0x87, 0x64, 0x6f, 0x7b, 0x18, 0xf2, 0x2d, 0x8c, 0x67, 0x5b, 0x6f, 0x4e, 0xf6, 0x4e, 0x73, 0x16, 0xd0, 0xe, 0xb2, 0x79, 0xfd, 0x7e, 0x1c, 0x38, 0x70, 0xdc, 0x13, 0xb2, 0x17, 0xc6, 0x64, 0x32, 0x6, 0x42, 0x8e, 0x55, 0x84, 0x8b, 0xf9, 0x12, 0x0, 0xe, 0x71, 0x47, 0xbe, 0x1b, 0xfd, 0xb6, 0x90, 0x4b, 0x8, 0x7a, 0x97, 0xc5, 0x9e, 0x96, 0x3c, 0xb8, 0x8f, 0xd5, 0xdd, 0x9d, 0x31, 0x5c, 0x3c, 0xe4, 0x4f, 0xf, 0xab, 0x32, 0xa2, 0x9a, 0xff, 0x7d, 0xd5, 0xa3, 0x37, 0x9d, 0xd0, 0x8, 0x8f, 0xe1, 0x9, 0x14, 0xa7, 0xde, 0x23, 0x2, 0x92, 0xa7, 0x2d, 0xcb, 0x80, 0x8d, 0xb1, 0x28, 0x4d, 0x7a, 0xb0, 0x90, 0x46, 0x2c, 0xde, 0x8d, 0x7e, 0xc3, 0x3e, 0xb0, 0x2c, 0xaf, 0xd7, 0x8b, 0xf7, 0x16, 0x28, 0xf9, 0x46, 0xe8, 0x2d, 0xf, 0x0, 0xc9, 0x40, 0x48, 0xf0, 0x6d, 0x6c, 0x45, 0x12, 0xa9, 0x10, 0xeb, 0x67, 0xfb, 0x86, 0x95, 0xb1, 0x81, 0x9c, 0x6b, 0x5b, 0xc6, 0xbb, 0xc2, 0x79, 0xd6, 0x2e, 0x7, 0x55, 0x6b, 0x47, 0x73, 0x71, 0x71, 0x20, 0xc5, 0x8b, 0xc3, 0x80, 0x49, 0x73, 0x19, 0x4c, 0xf3, 0xac, 0x4, 0x87, 0x28, 0x23, 0x77, 0x4c, 0x98, 0xcb, 0x83, 0x59, 0x41, 0x1f, 0xd5, 0x2a, 0x9f, 0x59, 0x69, 0x3e, 0xfb, 0x27, 0xee, 0x19, 0x8f, 0x85, 0xc, 0x79, 0x62, 0xe, 0x83, 0x83, 0x62, 0x30, 0x85, 0xb9, 0xa3, 0x3c, 0xe9, 0x8d, 0x69, 0xfc, 0x71, 0x9b, 0x8, 0xd, 0xe0, 0x67, 0x29, 0x1, 0x1, 0x32, 0xec, 0x4e, 0x3b, 0xa4, 0xe6, 0x53, 0xf6, 0x63, 0xcd, 0x4b, 0x1f, 0x9c, 0xf, 0x47, 0x1b, 0x97, 0x8e, 0x9b, 0xf6, 0x71, 0xd7, 0x2a, 0xeb, 0xf5, 0x72, 0xdd, 0x38, 0xaa, 0xe9, 0xac, 0xc3, 0x98, 0x21, 0xdf, 0x5d, 0xad, 0xde, 0x29, 0x99, 0xae, 0x8f, 0x36, 0x72, 0x68, 0xee, 0xee, 0xae, 0xfc, 0x96, 0x4c, 0xd7, 0x1e, 0x15, 0x3f, 0xd4, 0x70, 0xfc, 0xa8, 0x4, 0x40, 0x6f, 0xba, 0x7d, 0xd4, 0x9d, 0xe0, 0xc7, 0xe3, 0xb7, 0xe9, 0xac, 0xc3, 0x98, 0xc0, 0xef, 0xf, 0x42, 0x3c, 0xed, 0xe9, 0xb4, 0x8d, 0xdd, 0x8f, 0x42, 0xdc, 0xb7, 0xd3, 0x10, 0xa8, 0x8d, 0x39, 0x6d, 0xf, 0xb8, 0xf9, 0xbc, 0x49, 0x84, 0x38, 0x81, 0x4c, 0x27, 0xea, 0x8b, 0xe1, 0x7, 0x4b, 0xeb, 0x78, 0x8b, 0xa4, 0xd5, 0x11, 0x8a, 0x20, 0xdb, 0xf4, 0x56, 0x4, 0x7d, 0x6e, 0x4, 0xbe, 0x12, 0xb1, 0xbd, 0xb, 0x78, 0xc, 0xc4, 0x2b, 0x2b, 0x3d, 0x1, 0x11, 0x44, 0x50, 0x22, 0x62, 0x32, 0x92, 0xd0, 0x7c, 0xb, 0xa8, 0xf5, 0xc0, 0x98, 0x5e, 0xe0, 0x83, 0xc6, 0x6b, 0x7e, 0x9a, 0x70, 0xe7, 0x2b, 0x8, 0x12, 0x25, 0x8b, 0xdd, 0xc, 0x72, 0x80, 0x8a, 0x98, 0x2f, 0xa1, 0xc6, 0x17, 0x3e, 0xcf, 0xc, 0xd9, 0x98, 0x7, 0xeb, 0x85, 0x44, 0xa4, 0x3e, 0x72, 0x2f, 0xc0, 0x5, 0x64, 0x5, 0xbe, 0xda, 0x1f, 0x4e, 0x2d, 0x38, 0x28, 0xa1, 0x9c, 0x9b, 0x3f, 0x7e, 0xcc, 0xff, 0xe8, 0x3c, 0x89, 0xd8, 0x81, 0xf8, 0x7b, 0xc6, 0x63, 0xcd, 0x3e, 0xc2, 0x57, 0xaf, 0x76, 0xac, 0xf5, 0xc3, 0x7f, 0x91, 0x3f, 0x40, 0x95, 0xf1, 0x44, 0x30, 0x9, 0x97, 0x72, 0xc9, 0x8, 0xa0, 0x13, 0xba, 0x38, 0xf9, 0x47, 0x6d, 0xf, 0x91, 0x76, 0x68, 0xe5, 0x1f, 0xe1, 0x90, 0xfb, 0x47, 0xe, 0x32, 0x62, 0xda, 0x3e, 0xe, 0x3e, 0xe, 0x76, 0x83, 0xe1, 0x70, 0xd8, 0xd4, 0x3, 0xce, 0x14, 0x3d, 0x4d, 0xc6, 0xc8, 0xa6, 0x20, 0x50, 0xbd, 0x90, 0x86, 0x2d, 0xec, 0xe3, 0x80, 0xed, 0x6, 0xec, 0x1f, 0x3, 0x36, 0x1c, 0xe, 0xc1, 0x2c, 0x47, 0x58, 0x77, 0x63, 0x79, 0x7, 0xd1, 0x6, 0xaa, 0xa, 0x2, 0xad, 0x88, 0x75, 0x8c, 0xdb, 0xd3, 0xfc, 0x67, 0xc8, 0xe1, 0x5e, 0x60, 0x84, 0x16, 0x8e, 0xcb, 0x85, 0x39, 0x94, 0xf8, 0x72, 0x69, 0x2c, 0x24, 0x5c, 0xd6, 0x17, 0x74, 0xe4, 0xf0, 0xad, 0x39, 0x23, 0x92, 0xc8, 0xd8, 0xe2, 0xb8, 0x22, 0x2f, 0x87, 0xb, 0x39, 0x42, 0x47, 0x55, 0xca, 0x37, 0x5b, 0x47, 0x7c, 0xb4, 0x2, 0xf, 0x16, 0xbd, 0xaa, 0x6d, 0xec, 0x8b, 0xb0, 0x3, 0x2c, 0xa1, 0x1f, 0xe0, 0xf8, 0xe, 0xa3, 0xd5, 0x4a, 0x24, 0x28, 0xbd, 0xe8, 0x8, 0xc6, 0x69, 0xd, 0xe0, 0xc4, 0x4, 0x23, 0x5d, 0x46, 0x42, 0x6, 0xa2, 0xd0, 0x83, 0xb, 0xf4, 0x21, 0x2f, 0x15, 0xfe, 0x55, 0xab, 0x8d, 0x40, 0x89, 0x8a, 0x8c, 0x2d, 0xf, 0x30, 0x8c, 0xe8, 0x96, 0x87, 0xa1, 0xc0, 0x8, 0x4c, 0x4, 0x37, 0xc7, 0xea, 0x42, 0x86, 0x7c, 0x77, 0xa3, 0x56, 0x37, 0xc8, 0x8, 0xb3, 0x28, 0xf4, 0x7, 0xe0, 0x4, 0xd7, 0x6c, 0xf1, 0x9d, 0x4a, 0x16, 0xdf, 0xb1, 0x48, 0x82, 0xf3, 0xd0, 0xf0, 0x68, 0xf1, 0x1d, 0x97, 0xe1, 0xe2, 0x3b, 0x5c, 0x9b, 0xa5, 0x32, 0xcd, 0x12, 0x44, 0x2d, 0x8d, 0xf4, 0x2, 0xc, 0x6e, 0x37, 0x2c, 0xf8, 0x77, 0xfc, 0xe, 0x3, 0x0, 0x69, 0x9, 0xc4, 0x36, 0x65, 0x3f, 0x1a, 0xb6, 0xff, 0x9b, 0x19, 0x62, 0x96, 0x99, 0x6f, 0x16, 0xb2, 0xb0, 0xcd, 0xee, 0x44, 0x8a, 0x45, 0xb2, 0x22, 0x4, 0x6f, 0x49, 0x15, 0x9b, 0xa5, 0x49, 0x16, 0x98, 0x2b, 0x45, 0xe8, 0x7f, 0x39, 0xa0, 0xeb, 0x5d, 0x44, 0x69, 0xb4, 0xce, 0xfd, 0x84, 0x48, 0xb5, 0xa6, 0x31, 0x46, 0x17, 0xd8, 0x8d, 0x8b, 0x5c, 0xa3, 0xd7, 0x93, 0x2a, 0x83, 0x21, 0x36, 0x26, 0xe0, 0x41, 0x98, 0x7b, 0xe2, 0x63, 0xd6, 0xf1, 0x85, 0xda, 0xe, 0x77, 0x9, 0x4d, 0x2a, 0x55, 0xa4, 0xc5, 0x1, 0xed, 0xd7, 0xe1, 0xc4, 0xb6, 0xaa, 0xec, 0x33, 0x8e, 0xe4, 0xfd, 0x67, 0x4b, 0x6e, 0xbd, 0x88, 0xe4, 0x7d, 0x67, 0xa7, 0x8e, 0xf9, 0x18, 0xcc, 0x6f, 0x15, 0x44, 0x2e, 0x3e, 0xc5, 0xea, 0x55, 0x98, 0xe9, 0x90, 0x4d, 0xd2, 0x7d, 0x9f, 0xba, 0x99, 0x9f, 0xf9, 0xdf, 0x4c, 0x86, 0x22, 0x89, 0x77, 0x70, 0x5, 0x10, 0x5a, 0x65, 0xe0, 0x40, 0x46, 0xf5, 0xb1, 0x90, 0xae, 0x83, 0x7e, 0x47, 0x1, 0xb4, 0x1, 0x15, 0x9e, 0xa6, 0x46, 0xe5, 0xa4, 0xa, 0x82, 0xe8, 0xcc, 0x3d, 0xa, 0x71, 0x55, 0x9d, 0xbb, 0x9d, 0x3c, 0xd4, 0x62, 0x78, 0x37, 0xcc, 0x9d, 0xfb, 0x49, 0x26, 0xfd, 0xca, 0x29, 0x75, 0xf2, 0x77, 0x40, 0xba, 0xc2, 0xd9, 0xe8, 0xe2, 0xe2, 0xf5, 0xe8, 0xec, 0x97, 0xe6, 0x3c, 0x85, 0xbd, 0xaf, 0x66, 0xf3, 0xd1, 0xe5, 0xf9, 0xeb, 0xdf, 0x9a, 0xbe, 0xb0, 0x70, 0x9f, 0xd, 0xdf, 0x98, 0xff, 0x9c, 0x5c, 0xfe, 0x7c, 0x73, 0xf5, 0xe6, 0x4d, 0xc3, 0x57, 0x94, 0xb8, 0xd0, 0x30, 0xd4, 0xf5, 0xd9, 0xd9, 0x78, 0x7c, 0xde, 0x3c, 0xd4, 0xc5, 0xd5, 0xd9, 0x2f, 0x2d, 0xe9, 0xf, 0x1d, 0x38, 0x51, 0xf2, 0x1a, 0x19, 0xbe, 0x93, 0xf3, 0xc7, 0xca, 0x7, 0x5d, 0x80, 0xeb, 0x7b, 0x3b, 0xb5, 0x76, 0xe, 0x6a, 0xed, 0x1, 0xcb, 0xf2, 0xda, 0x20, 0xf8, 0xdc, 0x32, 0xac, 0xea, 0x81, 0x78, 0x7e, 0xca, 0x9c, 0x54, 0x1, 0x12, 0x2c, 0x97, 0x0, 0xd6, 0xbb, 0xdc, 0xd, 0xa0, 0xee, 0xe, 0x95, 0xe0, 0x31, 0x8a, 0x2b, 0x89, 0xee, 0xee, 0x4, 0x7a, 0xcd, 0x2b, 0x7a, 0xb3, 0xeb, 0x53, 0xec, 0x8f, 0x84, 0x11, 0x2b, 0xd4, 0x14, 0xfb, 0xa3, 0xa, 0x2a, 0xe0, 0x32, 0x8e, 0x34, 0xb, 0x2c, 0x58, 0x98, 0xbd, 0x6c, 0xc9, 0xbb, 0xca, 0x81, 0xbc, 0x45, 0xf6, 0x86, 0x32, 0xd7, 0x37, 0x82, 0x9d, 0xc6, 0x28, 0xaf, 0xbc, 0xba, 0xa, 0xa1, 0x26, 0xd2, 0xbd, 0xd6, 0x7c, 0xd, 0xaf, 0x54, 0xab, 0x95, 0x9f, 0xe0, 0x2d, 0xc5, 0xc7, 0xd4, 0x46, 0xfa, 0x56, 0xe, 0x8b, 0x52, 0x53, 0x39, 0x62, 0x35, 0x3f, 0xac, 0x10, 0xed, 0x35, 0x21, 0xf8, 0xf6, 0x9a, 0x56, 0x24, 0x56, 0x45, 0x1e, 0x2e, 0x63, 0x5, 0xe8, 0xf9, 0x2f, 0xc4, 0xdd, 0xa9, 0xb9, 0x99, 0x6, 0x51, 0x12, 0x64, 0x51, 0xca, 0x96, 0x89, 0xe0, 0xf7, 0x22, 0x79, 0x59, 0xb1, 0x8b, 0x65, 0x20, 0x62, 0x5b, 0xac, 0xbd, 0x14, 0xdb, 0x81, 0x5, 0x2, 0xcf, 0x78, 0xa6, 0x9f, 0xbc, 0xc5, 0xa1, 0x5e, 0xf0, 0xf8, 0x2f, 0xf3, 0xf1, 0xf4, 0x72, 0x74, 0xe1, 0x1c, 0xd, 0x5e, 0x90, 0x3f, 0xb2, 0xeb, 0xe6, 0xc, 0x22, 0xf8, 0x6b, 0x75, 0x40, 0xbf, 0x6e, 0x9a, 0x3e, 0xbc, 0xbc, 0x9a, 0xdf, 0xbc, 0xb9, 0xba, 0xbe, 0x3c, 0x68, 0x80, 0xcb, 0xd1, 0xbb, 0xf1, 0xec, 0xfd, 0xe8, 0x6c, 0xec, 0x75, 0xd7, 0xbc, 0xc1, 0x9f, 0xce, 0x87, 0xca, 0x25, 0x13, 0xe1, 0x91, 0x80, 0x3a, 0x8f, 0x8a, 0x97, 0xf9, 0xac, 0x1, 0x78, 0x66, 0xf7, 0x5b, 0x8c, 0x4c, 0x2c, 0x5c, 0x40, 0x25, 0xb1, 0xe9, 0x94, 0xcd, 0xb1, 0xaa, 0x3a, 0xa0, 0xbc, 0x81, 0x33, 0xb4, 0x24, 0xef, 0x5f, 0x50, 0xd9, 0xf1, 0x4a, 0xfe, 0x3a, 0x7, 0xd9, 0x1, 0xc, 0xbe, 0x74, 0x4e, 0x36, 0xe2, 0x6e, 0x0, 0x7e, 0x61, 0x2f, 0x15, 0x14, 0x62, 0x51, 0x8c, 0x12, 0xbc, 0x9e, 0xb0, 0x54, 0xa9, 0x58, 0xdb, 0xb7, 0xf7, 0x4c, 0xb, 0x76, 0xeb, 0x68, 0xb8, 0xa5, 0xcb, 0x8e, 0xb9, 0xff, 0x91, 0x23, 0x1b, 0x2a, 0x4e, 0x15, 0xbf, 0x82, 0xd8, 0x11, 0x25, 0xe3, 0x3a, 0x80, 0x50, 0xf7, 0xe1, 0xd3, 0x82, 0xb9, 0x4a, 0x71, 0x97, 0x4f, 0xe, 0xb8, 0x6c, 0xa9, 0x3d, 0xd5, 0x3, 0xfc, 0xe5, 0x83, 0xdf, 0xa6, 0xc6, 0x54, 0x8e, 0x52, 0xb0, 0x12, 0x9f, 0xd, 0x51, 0x7c, 0x92, 0xa3, 0x89, 0x3, 0x7e, 0xf8, 0xcd, 0xd9, 0xdb, 0xc9, 0xc5, 0x79, 0x95, 0xde, 0x99, 0x5c, 0x4e, 0xe6, 0x93, 0x51, 0x75, 0x71, 0x2b, 0xfc, 0xc3, 0x97, 0x80, 0x90, 0xee, 0xcd, 0xa7, 0x76, 0x26, 0x7b, 0x40, 0xe9, 0xdd, 0xe7, 0xd1, 0x4f, 0x47, 0x7c, 0x39, 0xd5, 0xb6, 0xbf, 0xe9, 0x88, 0x6f, 0x3a, 0xe2, 0x9b, 0x8e, 0xf8, 0x2, 0x75, 0xc4, 0x97, 0x52, 0x58, 0xfb, 0x9b, 0x82, 0xf8, 0xa6, 0x20, 0xbe, 0x29, 0x88, 0x4f, 0xa3, 0x20, 0xa, 0xa9, 0x75, 0xcf, 0x59, 0x71, 0xa5, 0x5e, 0xe5, 0x1c, 0xe1, 0x3a, 0xd8, 0x55, 0x39, 0x7c, 0xdb, 0x47, 0x95, 0x72, 0xf7, 0xcc, 0x62, 0xfd, 0xc5, 0x48, 0xdb, 0xf1, 0xb, 0x61, 0x7e, 0x3b, 0x95, 0x9e, 0x53, 0x2e, 0xbf, 0xc, 0xfd, 0xfe, 0x75, 0xea, 0x87, 0x3, 0xab, 0xec, 0xf7, 0xda, 0x57, 0xe, 0xd5, 0xe6, 0xdb, 0xd6, 0xfa, 0x66, 0xf0, 0xed, 0xf7, 0xfa, 0xfb, 0x53, 0x8, 0x5f, 0xb5, 0xc1, 0xd7, 0x6f, 0x63, 0x1f, 0xbf, 0x56, 0xe4, 0xb7, 0x6d, 0xbd, 0xdf, 0xfc, 0xdb, 0xb6, 0xfe, 0xb6, 0xad, 0xbf, 0xa2, 0x7b, 0x5c, 0x9c, 0xe9, 0x54, 0x24, 0x53, 0xe1, 0x2a, 0x9e, 0x9d, 0x29, 0xb9, 0x8a, 0xee, 0xe, 0xd1, 0x9, 0x1, 0xf6, 0x79, 0xf9, 0x94, 0x62, 0x9a, 0xfb, 0xe4, 0x35, 0xe5, 0xdd, 0x1e, 0x14, 0xa2, 0xc, 0xe1, 0x2d, 0x7, 0x24, 0xf0, 0xf7, 0x41, 0x0, 0x68, 0x7c, 0x6a, 0x84, 0x7e, 0xbc, 0xd8, 0x7d, 0xa3, 0xb0, 0x10, 0x5, 0xc6, 0xe6, 0xb2, 0xba, 0x20, 0x9e, 0x19, 0x10, 0xed, 0xbe, 0xfd, 0xf, 0x4a, 0xb8, 0xd6, 0x90, 0x9, 0x63, 0x1b, 0xda, 0xc0, 0x74, 0x42, 0x58, 0x25, 0x49, 0xc3, 0x2, 0xe5, 0x91, 0xd0, 0x6c, 0xc3, 0x43, 0x61, 0xd3, 0x42, 0xf7, 0x3a, 0x64, 0xcb, 0xdd, 0x42, 0x62, 0x9e, 0xec, 0x7f, 0xbd, 0xa7, 0xca, 0xe4, 0x7f, 0x7d, 0xb1, 0x4e, 0xd3, 0xad, 0x3e, 0x7d, 0xf5, 0x2a, 0x54, 0x81, 0x1e, 0x3a, 0x7c, 0x86, 0x48, 0xbd, 0x72, 0xe1, 0xf3, 0xff, 0xef, 0x96, 0x3e, 0x7e, 0xc9, 0x54, 0x82, 0x88, 0x33, 0xb, 0xb9, 0x11, 0xbc, 0x8, 0xce, 0xfa, 0xff, 0xec, 0x31, 0xb1, 0xe2, 0xd1, 0xd5, 0xa5, 0x95, 0x62, 0xd5, 0x66, 0xc8, 0xcd, 0xd1, 0xf7, 0xc5, 0x84, 0x82, 0xca, 0xe4, 0xe3, 0x85, 0x7c, 0x71, 0x8b, 0x4b, 0x9a, 0x27, 0x8b, 0xbf, 0xc4, 0x22, 0x11, 0x94, 0xf2, 0xec, 0x32, 0xfd, 0x29, 0x57, 0xf8, 0x87, 0x9c, 0xc1, 0x3f, 0x14, 0xba, 0xc1, 0x85, 0xf5, 0xba, 0xc1, 0xac, 0xcb, 0x94, 0x72, 0x64, 0x93, 0xef, 0xb5, 0xad, 0x56, 0x1f, 0xe5, 0x48, 0x60, 0x82, 0x12, 0x49, 0x6c, 0x9c, 0x61, 0xba, 0xb7, 0xaa, 0x91, 0xf6, 0x16, 0x14, 0x83, 0xf2, 0x31, 0xea, 0x69, 0x6f, 0x1, 0x5e, 0x40, 0xf8, 0xd3, 0x72, 0x47, 0xd9, 0xca, 0xe6, 0x13, 0xbb, 0x10, 0x6c, 0xf4, 0x7e, 0x82, 0xb4, 0xbc, 0x53, 0x3a, 0x2d, 0x40, 0x36, 0xf0, 0x44, 0x40, 0xd2, 0x80, 0xb0, 0x45, 0x38, 0x53, 0xc5, 0xa4, 0xc0, 0x37, 0x69, 0xcb, 0xd2, 0x1, 0x5b, 0xab, 0x47, 0x61, 0x8e, 0x44, 0x87, 0x59, 0xb0, 0x90, 0x3a, 0x4a, 0x33, 0x8a, 0x76, 0xc, 0xb8, 0x64, 0x77, 0x89, 0xe0, 0x58, 0x45, 0x4e, 0x8a, 0x95, 0x2d, 0x7f, 0xed, 0x2a, 0x66, 0x9f, 0x42, 0x4, 0xc8, 0xa5, 0xf0, 0x12, 0xb1, 0x63, 0x25, 0xef, 0x4e, 0x92, 0x4c, 0x4a, 0x9b, 0x5a, 0xd, 0x41, 0x5b, 0x1e, 0xb4, 0x1, 0xf4, 0xc0, 0x25, 0x53, 0xb1, 0x7, 0x1, 0x60, 0x56, 0x1, 0x32, 0xf5, 0xa5, 0x78, 0x14, 0x9, 0x53, 0x92, 0x2, 0x7e, 0x6c, 0xd7, 0x6b, 0x95, 0xae, 0xa2, 0x8f, 0x18, 0x99, 0xb9, 0x4c, 0xd4, 0xbd, 0x90, 0x46, 0xac, 0x74, 0x9a, 0x5, 0xf7, 0x55, 0x83, 0xd8, 0xac, 0xd8, 0x42, 0xc2, 0xf6, 0x7e, 0xa, 0xbf, 0x61, 0x11, 0x4e, 0xb, 0xe2, 0x3f, 0x21, 0x1c, 0x33, 0x14, 0x3c, 0xc6, 0xea, 0xff, 0xe9, 0xda, 0x50, 0xb8, 0x90, 0x1e, 0xe5, 0x89, 0xa1, 0x5a, 0x32, 0xa9, 0x1e, 0x4f, 0x42, 0x11, 0xa8, 0xcd, 0x26, 0xd2, 0x94, 0xf2, 0x66, 0xe7, 0x41, 0xc, 0x99, 0xe7, 0x42, 0x66, 0x97, 0xcc, 0x11, 0xf9, 0xe7, 0x4c, 0xc0, 0x9e, 0xb3, 0xc1, 0xcd, 0x18, 0x33, 0xc4, 0x5e, 0xe4, 0xb2, 0xf0, 0xd2, 0xcf, 0x96, 0xc3, 0xde, 0xbc, 0x3d, 0x8c, 0xa5, 0x16, 0x88, 0x7f, 0x8e, 0x38, 0xa6, 0x15, 0x24, 0xa3, 0x71, 0x89, 0xd5, 0x25, 0xa4, 0xdf, 0x39, 0x30, 0xb6, 0x6e, 0x80, 0x85, 0x9c, 0x16, 0xd9, 0x42, 0x91, 0x80, 0xc1, 0x9a, 0x47, 0x79, 0xd6, 0x6b, 0x95, 0xfa, 0xb5, 0x45, 0xeb, 0xf, 0xab, 0x4b, 0x43, 0xa9, 0xbb, 0x47, 0xc, 0xa6, 0xdc, 0x57, 0xd1, 0x2d, 0x1, 0x92, 0xa3, 0x38, 0x46, 0x66, 0xe5, 0xda, 0x95, 0x12, 0x9f, 0xf4, 0x80, 0x65, 0x12, 0xb2, 0xb8, 0x45, 0x38, 0xa0, 0x8c, 0x76, 0x97, 0x2, 0x16, 0x73, 0x9d, 0x32, 0x81, 0x61, 0xba, 0x5e, 0x8, 0x2d, 0xe4, 0x2e, 0x42, 0xb, 0xdc, 0xcc, 0x22, 0x65, 0xb, 0x1b, 0x70, 0xb3, 0xf8, 0xae, 0x8f, 0xee, 0xbb, 0xf6, 0x4a, 0xb0, 0x52, 0xa0, 0x89, 0x97, 0x90, 0x35, 0x7a, 0x3f, 0xd1, 0x46, 0xa2, 0x5d, 0x55, 0x69, 0x2e, 0x73, 0x62, 0x19, 0xe5, 0xc5, 0xfb, 0x69, 0xb5, 0x76, 0x4e, 0x44, 0x2a, 0xa4, 0xab, 0xfb, 0xc4, 0xaa, 0xaa, 0x13, 0x6, 0x72, 0x3b, 0x41, 0x39, 0x7a, 0xa5, 0x30, 0x81, 0x22, 0xd7, 0x1d, 0x0, 0xb0, 0x40, 0x9c, 0xbc, 0x4b, 0xee, 0xb5, 0x9b, 0xa1, 0x52, 0x76, 0xb2, 0x54, 0x1c, 0x6e, 0x4e, 0xe8, 0x0, 0xb6, 0xe9, 0xcf, 0x89, 0xca, 0xb6, 0x9f, 0xb0, 0x92, 0x61, 0x81, 0xfe, 0x99, 0x47, 0x43, 0x67, 0x61, 0x83, 0x18, 0x7b, 0xa2, 0x9e, 0xdd, 0x99, 0xa6, 0x7e, 0x3e, 0x4, 0xf0, 0x3f, 0x4b, 0x21, 0x57, 0x74, 0x15, 0xdd, 0x51, 0xce, 0xb4, 0x4d, 0x6b, 0x60, 0x45, 0xc0, 0x3, 0xe4, 0xf6, 0x42, 0xe6, 0x5a, 0xdf, 0x2e, 0xca, 0x29, 0xb, 0xd4, 0x83, 0x20, 0xa0, 0x85, 0xbc, 0x35, 0x35, 0x5, 0xd0, 0xa8, 0xdd, 0x16, 0xf2, 0x2f, 0xc2, 0x57, 0x90, 0xfc, 0x79, 0x47, 0x3a, 0xf3, 0x2d, 0x7f, 0x30, 0x8d, 0xf2, 0x58, 0x7a, 0xa4, 0x23, 0xb3, 0xa5, 0x66, 0xc, 0x3d, 0xf9, 0x8f, 0x79, 0x4f, 0x3, 0xc6, 0x63, 0xc8, 0x99, 0x8b, 0xc, 0x35, 0x42, 0x86, 0xa0, 0x74, 0xd2, 0xc, 0xc1, 0x34, 0xbc, 0x22, 0x16, 0xe6, 0xbe, 0x56, 0x2c, 0x3f, 0xe3, 0x81, 0xbe, 0x13, 0x6e, 0x4, 0xe4, 0xcf, 0xe2, 0xa9, 0x36, 0x5f, 0xb, 0x76, 0x2f, 0x5c, 0xb8, 0xd5, 0x86, 0x3, 0x6e, 0x91, 0xf9, 0x4f, 0x44, 0x8d, 0xc1, 0x40, 0x74, 0x9f, 0x99, 0x36, 0x7e, 0x19, 0x8a, 0x9d, 0x3, 0x66, 0x46, 0x94, 0x2, 0x9a, 0x94, 0x61, 0xdd, 0xdf, 0x33, 0xa0, 0x8b, 0xd0, 0xb3, 0x2, 0x1e, 0xc7, 0xbd, 0x8c, 0x91, 0xc2, 0xea, 0x33, 0x40, 0xd8, 0xd3, 0x45, 0xe, 0xe1, 0x61, 0xbf, 0x16, 0xf1, 0x56, 0xe7, 0xb9, 0xee, 0x4, 0x4c, 0xc6, 0xb6, 0x31, 0x97, 0xb8, 0xe7, 0x10, 0xa7, 0x2c, 0xc1, 0xe0, 0x6a, 0x8, 0x57, 0x65, 0x3f, 0x98, 0xd3, 0xe7, 0x7, 0xe0, 0xcf, 0xf, 0x6b, 0xf5, 0xf8, 0x3, 0x15, 0xb3, 0x32, 0xd7, 0x0, 0xf3, 0x9f, 0xd4, 0x55, 0x1c, 0xad, 0x44, 0xb0, 0xb, 0x62, 0x40, 0x9a, 0x30, 0xbb, 0xbe, 0x79, 0x87, 0x15, 0x24, 0xf4, 0x20, 0x64, 0x2b, 0x42, 0x15, 0x30, 0x77, 0xc5, 0x23, 0x28, 0xea, 0x56, 0xf4, 0x82, 0xe2, 0x9d, 0xb4, 0x65, 0x4b, 0x5d, 0x11, 0xcc, 0x8, 0x42, 0x6a, 0xf8, 0x52, 0x8e, 0x21, 0xbb, 0x28, 0xeb, 0x98, 0xb7, 0x54, 0x90, 0x15, 0x70, 0x7, 0x18, 0xb1, 0x9f, 0xac, 0xc0, 0x54, 0xb2, 0x25, 0x96, 0x6, 0xf5, 0x1f, 0x23, 0x6e, 0x8b, 0x4a, 0x51, 0x27, 0x3e, 0x46, 0x5a, 0x50, 0x85, 0xfe, 0x70, 0x21, 0xf3, 0xed, 0x50, 0x57, 0x1e, 0xb, 0xfb, 0xef, 0xec, 0xb1, 0xa5, 0xb5, 0x7c, 0x6f, 0x9b, 0x35, 0x31, 0x61, 0x86, 0xd2, 0x18, 0x49, 0xd, 0x39, 0x1e, 0x6e, 0xb7, 0x56, 0x4b, 0x21, 0xf3, 0x84, 0x70, 0x8d, 0x78, 0x39, 0x24, 0x6c, 0x80, 0x42, 0xe3, 0x49, 0x9b, 0x11, 0x36, 0x56, 0x90, 0xb5, 0xfd, 0x59, 0x19, 0x36, 0xf5, 0x9e, 0xd3, 0xc, 0x1b, 0x35, 0xcd, 0x68, 0x22, 0xcd, 0x9d, 0xdb, 0xdb, 0x47, 0x4e, 0xf8, 0x7d, 0xea, 0xf7, 0xf6, 0xd, 0x53, 0xab, 0xd4, 0xfc, 0x3b, 0x2f, 0xdf, 0xb5, 0x90, 0x16, 0x82, 0xa0, 0xd4, 0xd, 0x27, 0x3e, 0x41, 0x21, 0x9, 0x87, 0xd2, 0xc2, 0xc9, 0x4d, 0x4, 0xa0, 0x38, 0x8f, 0x3e, 0x7a, 0x9, 0x6b, 0xb9, 0x94, 0x56, 0xee, 0xbb, 0x59, 0xb6, 0xd9, 0xf0, 0xe4, 0x20, 0x70, 0x93, 0xcf, 0xbf, 0xfd, 0x1a, 0xc5, 0xb9, 0xca, 0xe9, 0xf4, 0x94, 0x3b, 0x7d, 0x25, 0xfb, 0x10, 0xdb, 0xef, 0x58, 0xa6, 0x42, 0x4f, 0x29, 0x6d, 0x3a, 0xe7, 0x3f, 0x11, 0x86, 0x2e, 0x51, 0x7f, 0x3, 0x4a, 0xa8, 0x8c, 0x1b, 0xc9, 0x66, 0x62, 0xc3, 0x65, 0x1a, 0x5, 0xe6, 0xe2, 0x71, 0xc2, 0xde, 0x51, 0x41, 0x37, 0xc2, 0x6, 0x72, 0xc9, 0xe2, 0x5, 0x55, 0xa6, 0xd9, 0xb, 0xc8, 0x4b, 0xf7, 0x72, 0xd6, 0xe1, 0xea, 0x53, 0xd4, 0x77, 0x3c, 0x4e, 0xe0, 0xea, 0x4, 0xf9, 0xe3, 0x90, 0xa1, 0x77, 0xc2, 0xc6, 0x80, 0x8a, 0x3, 0xa8, 0x93, 0xa0, 0x5b, 0x64, 0x9e, 0x5d, 0x5e, 0x6c, 0xc, 0x9, 0xeb, 0x27, 0x6a, 0x7b, 0xca, 0xa4, 0x22, 0x68, 0x2f, 0xe8, 0xe0, 0x52, 0xc9, 0x13, 0xd1, 0xb5, 0x13, 0x98, 0x2b, 0xb2, 0xf6, 0x15, 0x42, 0x63, 0x62, 0x3a, 0xbd, 0xca, 0xf3, 0x19, 0x21, 0x35, 0x73, 0x83, 0xc9, 0xa9, 0x39, 0x0, 0x1f, 0x80, 0x7e, 0x9a, 0xe1, 0x46, 0x16, 0x1f, 0x74, 0xcb, 0xd3, 0xb5, 0x3e, 0x65, 0xb, 0xd8, 0x4a, 0x37, 0x70, 0x2c, 0x40, 0xc1, 0x47, 0xbd, 0xf8, 0x6e, 0xc0, 0x16, 0x4e, 0x92, 0x8b, 0xff, 0x1a, 0x9a, 0x2f, 0xf6, 0xfe, 0x44, 0x41, 0xd3, 0x8b, 0xef, 0x6, 0x66, 0x64, 0xef, 0x7, 0xc8, 0x58, 0xbb, 0x11, 0x32, 0xdc, 0xaa, 0x48, 0xa6, 0xd8, 0xa, 0x35, 0xa3, 0xff, 0xdf, 0x5e, 0x97, 0xf4, 0x7, 0xd7, 0x61, 0xdf, 0x3d, 0x72, 0xb8, 0x5a, 0xf9, 0xd2, 0x6c, 0x68, 0x3b, 0xa5, 0x6a, 0xc5, 0xd3, 0x66, 0x9c, 0x8d, 0x3c, 0xeb, 0x38, 0x92, 0xe8, 0xae, 0xa5, 0x6a, 0x8a, 0x45, 0xbb, 0x4d, 0x6d, 0xd3, 0x68, 0x3, 0xc5, 0x4f, 0x8c, 0xf8, 0xc5, 0x91, 0x4e, 0xd9, 0x43, 0x24, 0x2a, 0x50, 0xd3, 0xf7, 0x8f, 0xdf, 0x43, 0x34, 0x78, 0xbb, 0x8a, 0x6c, 0xf4, 0x7, 0xee, 0xb6, 0xf9, 0x3b, 0x8, 0xdd, 0x10, 0x9c, 0xe4, 0x31, 0xc0, 0xf4, 0xc4, 0x5e, 0x60, 0xef, 0x17, 0x52, 0x56, 0x4f, 0x9c, 0xf9, 0xcf, 0xcd, 0xe1, 0xee, 0x67, 0xf9, 0x2d, 0x77, 0xa5, 0xf4, 0x56, 0x9b, 0xf0, 0x87, 0x36, 0x29, 0x59, 0x6, 0x90, 0x3e, 0xb9, 0x4d, 0x10, 0xbb, 0x1f, 0xed, 0x57, 0xb8, 0x70, 0x12, 0x41, 0x96, 0x90, 0x1b, 0x12, 0x65, 0xdc, 0x99, 0x35, 0xc6, 0xc2, 0xd3, 0x92, 0xe, 0x5a, 0x21, 0x78, 0x79, 0x24, 0xb5, 0x23, 0x24, 0x9f, 0x72, 0xc1, 0x1a, 0x22, 0x8c, 0xe0, 0xdc, 0x58, 0x1f, 0x2e, 0xe4, 0x1b, 0x95, 0xd0, 0x69, 0x7f, 0xe2, 0xa5, 0xdc, 0xba, 0x9e, 0xcc, 0xfd, 0x9f, 0x10, 0x77, 0x67, 0xe7, 0xbf, 0x7c, 0xaf, 0x5d, 0x6a, 0x31, 0xf1, 0xc0, 0x42, 0xd, 0x41, 0x7d, 0x50, 0xcf, 0xe1, 0x27, 0x3c, 0xfc, 0x1c, 0x9f, 0xa1, 0x80, 0x7b, 0xf2, 0x6, 0x6e, 0x5c, 0x1b, 0x95, 0x8a, 0xba, 0x31, 0x77, 0x2a, 0x63, 0x9b, 0xe8, 0x6e, 0x8d, 0x8f, 0x54, 0x3b, 0x95, 0x25, 0x4c, 0x3d, 0xca, 0x8a, 0x41, 0x35, 0xe3, 0x41, 0xa0, 0x92, 0x90, 0x12, 0xd2, 0x1e, 0xad, 0xa7, 0x11, 0xbb, 0x67, 0x56, 0x1b, 0x69, 0x8f, 0x86, 0xba, 0xf7, 0x2d, 0xa3, 0xbe, 0xc6, 0xf4, 0xfd, 0x1, 0x92, 0x9a, 0xdb, 0xe2, 0x93, 0x6a, 0x71, 0x85, 0x84, 0x77, 0x6, 0xc9, 0xba, 0x8c, 0x20, 0x7c, 0xad, 0xb9, 0x8d, 0xaf, 0x77, 0xa8, 0x3f, 0x11, 0x5a, 0xf1, 0x9, 0x97, 0x33, 0xbb, 0x5b, 0xed, 0xf5, 0xcc, 0x57, 0x5, 0xe, 0x16, 0xa5, 0xcd, 0x26, 0x6, 0x23, 0xb8, 0xe1, 0xf6, 0x65, 0xd, 0x62, 0x1f, 0xf0, 0x69, 0x80, 0x87, 0x28, 0xa1, 0x3, 0x46, 0x9a, 0x25, 0x22, 0x10, 0xd1, 0x83, 0xb9, 0x18, 0x38, 0x34, 0x49, 0x44, 0x5, 0xc2, 0x3b, 0x22, 0xd7, 0x80, 0xd1, 0x17, 0x0, 0xd0, 0xc1, 0x16, 0x86, 0x35, 0xd7, 0xe8, 0xb2, 0xf1, 0xe9, 0x5f, 0xfa, 0x3c, 0xc3, 0x17, 0x5, 0x44, 0x92, 0x7b, 0x34, 0x92, 0xf, 0xea, 0x5e, 0x98, 0xc3, 0x74, 0xf4, 0x61, 0xc6, 0x2e, 0xf8, 0x66, 0x19, 0x72, 0xf6, 0x26, 0x93, 0x41, 0x7e, 0x2b, 0x8d, 0x52, 0x2d, 0xe2, 0x15, 0xc3, 0x22, 0x12, 0x5b, 0x4c, 0xde, 0xb5, 0xce, 0x49, 0x94, 0x6e, 0x32, 0x76, 0x2f, 0xc5, 0xe3, 0x8b, 0x97, 0x6c, 0x45, 0x8d, 0xeb, 0xd4, 0xe2, 0x6c, 0xdf, 0xec, 0xff, 0x12, 0x94, 0x22, 0x1d, 0xaa, 0x24, 0x50, 0x9f, 0x4d, 0x25, 0x22, 0x19, 0x9f, 0x5d, 0x21, 0x22, 0x19, 0x87, 0xab, 0x43, 0xec, 0xa7, 0x56, 0x19, 0x86, 0x3c, 0xe5, 0xc7, 0xd4, 0x84, 0x6e, 0xb8, 0x1a, 0x3d, 0xb8, 0x37, 0xde, 0x81, 0x4a, 0xb0, 0xa3, 0x5e, 0x41, 0x71, 0x77, 0x2c, 0x44, 0x27, 0xd4, 0x9c, 0x1e, 0xbe, 0xd8, 0xc, 0x35, 0x19, 0xa1, 0x6d, 0x28, 0x9c, 0x2, 0xcb, 0xb6, 0x0, 0x8c, 0x61, 0x68, 0x2e, 0x94, 0xe3, 0x59, 0x48, 0x8b, 0xfc, 0xb, 0x1b, 0xd3, 0x8, 0x6f, 0x12, 0x69, 0xb, 0xb9, 0x2b, 0x92, 0x73, 0xe7, 0xd0, 0xab, 0xd8, 0x7c, 0x66, 0xc5, 0xde, 0x89, 0x94, 0x1b, 0x2e, 0x1c, 0x96, 0xd9, 0xc3, 0x75, 0x39, 0xe, 0xa1, 0xc7, 0xfe, 0x9b, 0x42, 0x7, 0x60, 0x44, 0x3d, 0xae, 0x77, 0xb4, 0xd, 0xc1, 0xc2, 0x7a, 0x4, 0x0, 0xb9, 0xba, 0x82, 0x4, 0x68, 0xd1, 0x4f, 0xe, 0x4f, 0xc8, 0x9c, 0xec, 0x25, 0x63, 0x82, 0x43, 0x1e, 0x7b, 0x4f, 0x86, 0xb, 0x39, 0x13, 0x69, 0x8e, 0x71, 0xc, 0x9, 0x99, 0xdf, 0xeb, 0x3c, 0x81, 0xb3, 0x69, 0x4f, 0x62, 0x1f, 0xf3, 0xa8, 0xf5, 0xa9, 0xba, 0x26, 0x42, 0x0, 0xca, 0x5b, 0x40, 0x8d, 0xff, 0x46, 0xfd, 0x15, 0xe5, 0xd5, 0x43, 0x3d, 0xd2, 0x3b, 0xf9, 0x1a, 0x10, 0x1c, 0x6f, 0xa4, 0x2f, 0xc5, 0xe3, 0x4, 0x83, 0x34, 0x54, 0xa5, 0x2a, 0xee, 0x90, 0x7, 0x7d, 0x75, 0x39, 0x9f, 0x5c, 0x5e, 0x8f, 0x6f, 0x46, 0xb3, 0x9b, 0xcb, 0xf1, 0x7, 0x1b, 0x67, 0x71, 0x35, 0xad, 0xcd, 0x78, 0xae, 0x6d, 0x60, 0x63, 0x1d, 0xba, 0x7d, 0x3d, 0x1d, 0xcf, 0xa7, 0xbf, 0x75, 0xfb, 0xf4, 0x6c, 0x7a, 0x75, 0xe9, 0x92, 0xf3, 0x9b, 0xb3, 0x99, 0x7b, 0xcd, 0x26, 0xbf, 0x81, 0x9f, 0xb0, 0xf6, 0x69, 0x9d, 0xb2, 0x42, 0x2d, 0x58, 0x3a, 0x4e, 0xbd, 0x5c, 0x5f, 0x5, 0x16, 0x84, 0x59, 0x18, 0x66, 0xe, 0x77, 0xf1, 0x88, 0xd9, 0xf1, 0xcd, 0x1c, 0xd8, 0xeb, 0xd5, 0xf6, 0x10, 0x52, 0x17, 0xae, 0x16, 0x20, 0x42, 0x55, 0x42, 0xdc, 0x7, 0xbc, 0xd2, 0x36, 0xf6, 0x5c, 0x60, 0x58, 0xd7, 0x11, 0x0, 0xef, 0xc6, 0x98, 0x25, 0xe, 0x24, 0x81, 0x90, 0x94, 0x45, 0x31, 0xf6, 0xa8, 0x46, 0xe, 0x73, 0xf4, 0xec, 0xd7, 0x4, 0xc0, 0x7e, 0x1c, 0x81, 0xfc, 0x75, 0x3c, 0x9d, 0x4d, 0xae, 0x2e, 0x27, 0x97, 0x3f, 0xdf, 0xbc, 0x1e, 0xbf, 0x1d, 0xfd, 0x3a, 0xe9, 0x2e, 0x9a, 0x55, 0x4d, 0x47, 0xd7, 0xf3, 0xab, 0x9b, 0xeb, 0xf7, 0x3f, 0x4f, 0x47, 0xe7, 0xe3, 0xbe, 0x6d, 0xaf, 0x67, 0xe3, 0x9b, 0xe9, 0xe8, 0xdd, 0x7b, 0xf3, 0x47, 0xfa, 0xbd, 0x97, 0x34, 0x76, 0x9d, 0x4a, 0xe9, 0xcd, 0xe8, 0xe3, 0x56, 0x24, 0x11, 0xd8, 0x24, 0x31, 0x0, 0x82, 0x45, 0x52, 0x68, 0xff, 0x11, 0xe, 0xc0, 0x2e, 0x2c, 0xec, 0x3d, 0x3e, 0xe4, 0x65, 0xde, 0xe3, 0x21, 0xa2, 0x4c, 0x83, 0x7b, 0x1a, 0x60, 0x39, 0x7c, 0x18, 0x44, 0x78, 0x2d, 0x6, 0xe0, 0x53, 0x2b, 0x18, 0x27, 0x5c, 0x9f, 0x98, 0x2f, 0xe0, 0xfd, 0xd7, 0x21, 0x77, 0xf4, 0x64, 0xed, 0x29, 0x2b, 0x10, 0xbd, 0xc0, 0xb8, 0x7c, 0x82, 0xa9, 0xc0, 0x41, 0xe1, 0x7d, 0x71, 0x94, 0xa5, 0xea, 0x7a, 0x7b, 0x97, 0x40, 0xfc, 0x9, 0xcd, 0x60, 0xc8, 0xae, 0xc9, 0xce, 0xa0, 0x38, 0x18, 0x12, 0x2d, 0xff, 0xdd, 0x8b, 0xb0, 0x36, 0x3d, 0x2f, 0x3f, 0x47, 0xa4, 0xf9, 0x24, 0x5, 0xcd, 0x3b, 0x30, 0xd2, 0xed, 0x77, 0x9e, 0xc3, 0x3a, 0x86, 0x6a, 0xc8, 0x46, 0x50, 0x2a, 0x3d, 0xe7, 0x4d, 0xf1, 0x49, 0xca, 0xe1, 0xdd, 0xa3, 0xc5, 0x63, 0x2c, 0xa, 0xf1, 0x60, 0x6e, 0x5, 0x1e, 0x42, 0xfc, 0x6b, 0xc7, 0xee, 0x82, 0x52, 0x30, 0x76, 0x95, 0x54, 0x69, 0x8e, 0xb3, 0x43, 0x2e, 0x29, 0x6f, 0xfb, 0x85, 0xc2, 0x21, 0xbc, 0x92, 0x61, 0x5e, 0x9c, 0x16, 0x5b, 0xa, 0xa8, 0x1d, 0xe1, 0xf6, 0xa9, 0xd9, 0x93, 0x9c, 0xbd, 0x8f, 0xa4, 0x14, 0x21, 0x53, 0xf, 0x22, 0x49, 0xa2, 0x10, 0x2e, 0x4d, 0x3c, 0x75, 0xff, 0xcc, 0x51, 0xc1, 0x6d, 0x4d, 0x0, 0x57, 0x3a, 0xa0, 0xb4, 0xda, 0x45, 0xe0, 0x7d, 0x33, 0x74, 0xcb, 0x46, 0xf6, 0x2a, 0xf4, 0xd0, 0x74, 0xf6, 0x64, 0xc5, 0x58, 0x63, 0x9b, 0x8d, 0x31, 0xac, 0x7c, 0x10, 0xfd, 0x2b, 0x4b, 0x1b, 0xbd, 0xe, 0xa7, 0xfc, 0x5e, 0x98, 0x5b, 0xba, 0x8, 0x44, 0x8, 0x2f, 0x73, 0x16, 0x42, 0x17, 0xa2, 0x67, 0x36, 0xea, 0x41, 0x84, 0x6c, 0xc3, 0x25, 0x42, 0x0, 0x3f, 0x44, 0xbc, 0xa5, 0xaa, 0xcc, 0xb0, 0xb3, 0x60, 0x56, 0xec, 0xdb, 0x92, 0x7c, 0x5a, 0x91, 0x9b, 0xf2, 0xcd, 0xd6, 0x10, 0xdf, 0x51, 0xe6, 0xbc, 0x52, 0x7f, 0x83, 0xa, 0xc6, 0xe6, 0xcd, 0x16, 0x72, 0x4f, 0x98, 0x5f, 0x14, 0xac, 0xd6, 0xd5, 0xb, 0x57, 0xd8, 0x22, 0xa, 0x7, 0x50, 0xa1, 0xe5, 0x26, 0x87, 0xa9, 0x7f, 0xf9, 0xb2, 0xbb, 0xc8, 0x62, 0xd5, 0x9, 0xf7, 0x2b, 0x3a, 0x51, 0x3d, 0x29, 0x66, 0x55, 0x42, 0x8c, 0xa7, 0x4b, 0x51, 0x74, 0xed, 0x15, 0x3e, 0x11, 0xe8, 0xce, 0xb5, 0xac, 0x71, 0xdb, 0xc0, 0xaa, 0x17, 0x2c, 0x9f, 0x62, 0xcd, 0xee, 0x2a, 0xea, 0x22, 0xed, 0x81, 0xc4, 0xf, 0xcc, 0x68, 0x56, 0x5c, 0xb5, 0xc0, 0xfa, 0x31, 0x20, 0x85, 0x14, 0x9, 0x43, 0xdd, 0x7b, 0x21, 0x56, 0xeb, 0xe8, 0x6e, 0x1d, 0xef, 0x4c, 0x1f, 0x81, 0xca, 0x12, 0x7e, 0x87, 0xa7, 0x6d, 0x5e, 0x22, 0x77, 0xd5, 0xb6, 0xb, 0xab, 0xd4, 0xcc, 0xc0, 0x9e, 0x7c, 0x86, 0x63, 0x91, 0x76, 0xa5, 0x46, 0xae, 0x2e, 0x2f, 0x7e, 0x23, 0xff, 0xba, 0xce, 0x9d, 0xcd, 0xbe, 0x6, 0xf5, 0x7, 0x33, 0x5c, 0x1a, 0x30, 0xbe, 0xb7, 0x38, 0xe6, 0xcb, 0x41, 0xe1, 0xbb, 0x85, 0x8c, 0xa, 0xa, 0xc9, 0xe7, 0x2, 0x80, 0xca, 0x61, 0x35, 0x73, 0x26, 0x8d, 0x15, 0x19, 0x57, 0xaa, 0x2e, 0xb8, 0xb2, 0xdd, 0x29, 0x4b, 0x53, 0x51, 0x9e, 0x28, 0x2, 0x65, 0x21, 0x9, 0xe7, 0xb7, 0x82, 0xa1, 0x3e, 0x4, 0x5d, 0x85, 0xa8, 0x7f, 0xd3, 0x4a, 0x47, 0xd1, 0x4a, 0x65, 0x23, 0x29, 0x93, 0xa9, 0xad, 0x86, 0x93, 0xc7, 0x92, 0x4d, 0x31, 0x5c, 0xf0, 0xa0, 0x97, 0x2d, 0x0, 0xf0, 0x3e, 0x5a, 0x10, 0x73, 0xb9, 0x74, 0xe2, 0x2d, 0x0, 0x60, 0xdf, 0x5a, 0xf8, 0x61, 0x78, 0x95, 0x41, 0x5c, 0x2d, 0x40, 0x16, 0xa6, 0x32, 0x65, 0xc8, 0xf9, 0x4c, 0x92, 0xa, 0x41, 0x78, 0xc7, 0x8f, 0xd1, 0x86, 0xa7, 0xf6, 0xca, 0xbb, 0x90, 0x79, 0x8, 0x8, 0x6c, 0x2a, 0x23, 0x23, 0x88, 0x77, 0x4a, 0xc0, 0x5a, 0xc9, 0xe, 0x5f, 0xe1, 0xbd, 0x11, 0xb, 0xa3, 0x55, 0x8e, 0x45, 0x5, 0x2a, 0xc0, 0xc9, 0x90, 0x6d, 0x72, 0x57, 0x50, 0x26, 0x53, 0xd, 0x43, 0x9a, 0x7f, 0xd2, 0x8b, 0x57, 0xe, 0x65, 0x68, 0x61, 0x8f, 0x91, 0xfd, 0xe4, 0x3d, 0xa7, 0xab, 0x39, 0xb9, 0x82, 0xf4, 0x86, 0x83, 0x8b, 0xd, 0x30, 0xda, 0x41, 0x5a, 0x53, 0x95, 0xf2, 0xd8, 0xaf, 0xa7, 0x9b, 0x4f, 0x66, 0x63, 0x43, 0x31, 0xf3, 0xa9, 0x54, 0xdf, 0x2a, 0xef, 0x1a, 0xdf, 0x59, 0x9e, 0x1b, 0x32, 0xb0, 0x45, 0xc, 0x47, 0x77, 0x77, 0x66, 0x3, 0x9a, 0xbf, 0xf5, 0x8b, 0x67, 0x72, 0xce, 0x26, 0x8f, 0xd9, 0xa4, 0x3a, 0x6c, 0x49, 0xc9, 0xea, 0xc5, 0xc4, 0xa, 0x99, 0xf8, 0xfe, 0x42, 0xbe, 0x4c, 0x57, 0xea, 0x12, 0x8e, 0xb2, 0x81, 0x2b, 0x7b, 0x82, 0x4b, 0x6a, 0xf8, 0xe, 0xe1, 0x68, 0xee, 0x89, 0xd1, 0x93, 0xb4, 0x4e, 0xb7, 0xe6, 0x7e, 0x1c, 0x38, 0x60, 0x63, 0x2, 0x85, 0xbf, 0x2, 0xfc, 0xe8, 0xe7, 0x5a, 0x6f, 0xeb, 0x28, 0x6c, 0x7d, 0xc5, 0x3f, 0x58, 0x89, 0x74, 0x63, 0x3c, 0x78, 0xfc, 0x5d, 0x51, 0xc1, 0x7f, 0x62, 0x3d, 0xe8, 0x6a, 0xf6, 0xff, 0x1e, 0xf4, 0xa0, 0x37, 0x99, 0xaf, 0x49, 0xf, 0xb6, 0x9, 0xe3, 0x3f, 0x8b, 0x36, 0xec, 0xcd, 0x87, 0x6f, 0x3a, 0xf1, 0x98, 0x3a, 0xd1, 0x96, 0x7e, 0xfe, 0xe7, 0x53, 0x82, 0x16, 0x3c, 0xfa, 0xf7, 0xa0, 0x3, 0xf3, 0xb9, 0x7c, 0x4d, 0x2a, 0xb0, 0x24, 0x7b, 0xff, 0x2c, 0x3a, 0xaf, 0x7d, 0xe2, 0xdf, 0x94, 0xdc, 0x31, 0x95, 0x5c, 0xe9, 0xa2, 0xfc, 0xcf, 0xa7, 0xed, 0x72, 0xdf, 0x73, 0xae, 0xed, 0xc8, 0x81, 0xff, 0x15, 0xea, 0xbb, 0x7c, 0x36, 0x5f, 0x93, 0xbe, 0xab, 0x17, 0xc3, 0x27, 0x2b, 0xbe, 0x5b, 0x9c, 0xd6, 0x2d, 0xf8, 0x9d, 0xbe, 0x22, 0xd, 0xd8, 0x83, 0x15, 0xdf, 0x54, 0xe1, 0xb1, 0x54, 0x61, 0x22, 0x78, 0x2a, 0x2e, 0xfd, 0x28, 0x3b, 0xaa, 0x4b, 0x7f, 0x50, 0x4, 0x6f, 0xb1, 0x26, 0x57, 0x23, 0x33, 0xec, 0xb0, 0x50, 0xc7, 0xab, 0x31, 0x43, 0x8d, 0x3e, 0x64, 0x79, 0x7b, 0x78, 0xdb, 0x86, 0x19, 0x74, 0x91, 0xb1, 0xaa, 0xa9, 0x1e, 0xae, 0xf1, 0x45, 0x4d, 0x70, 0x62, 0xdb, 0x7c, 0x1b, 0xe7, 0x7a, 0xce, 0x53, 0xce, 0xb6, 0x54, 0x1d, 0x52, 0x6c, 0x53, 0x2e, 0x3, 0x31, 0x64, 0x67, 0xc5, 0x52, 0x18, 0x91, 0xd6, 0x59, 0xa1, 0x2e, 0x31, 0x6, 0x6a, 0xd0, 0xe3, 0x0, 0x46, 0xfa, 0xa9, 0xa4, 0x32, 0xa8, 0xa8, 0x92, 0x35, 0xd6, 0x2, 0x39, 0xce, 0x39, 0x28, 0x57, 0x71, 0x14, 0xa4, 0x73, 0x75, 0x2f, 0x7a, 0x5, 0xf3, 0xe4, 0x12, 0xbc, 0xdc, 0x75, 0xc2, 0x84, 0x0, 0xd2, 0xf7, 0xe3, 0x93, 0xbe, 0xa4, 0x29, 0x34, 0xc6, 0xda, 0x98, 0x65, 0xc2, 0xba, 0x9f, 0x91, 0x77, 0x20, 0x6a, 0x65, 0x43, 0x23, 0x5d, 0x19, 0x28, 0x8a, 0x5f, 0x8d, 0x77, 0x6c, 0xcb, 0x35, 0x9, 0xc0, 0xe8, 0xfd, 0x4, 0x8f, 0xee, 0x85, 0x7c, 0x4c, 0xa2, 0xd4, 0xd5, 0xa5, 0xda, 0xe7, 0x6, 0xa6, 0x99, 0x57, 0xa5, 0xfe, 0xe3, 0xf, 0x61, 0x14, 0x1a, 0x5, 0xbf, 0x90, 0x98, 0x11, 0xe1, 0x6a, 0x39, 0x81, 0x10, 0x8d, 0xde, 0x4f, 0x20, 0x23, 0x11, 0x34, 0x3e, 0xb7, 0xa5, 0x3f, 0x61, 0xbc, 0xce, 0x92, 0xb5, 0x4f, 0x10, 0x3d, 0x7b, 0x74, 0x58, 0xa5, 0xda, 0xee, 0xcc, 0x41, 0x31, 0x3d, 0x92, 0xb0, 0x26, 0x45, 0x7c, 0x8e, 0xc6, 0xed, 0xeb, 0x8f, 0xdd, 0x1c, 0xed, 0x8, 0xa4, 0x86, 0x90, 0xbb, 0x5e, 0x63, 0x7e, 0xfc, 0x4d, 0x2d, 0xf, 0x82, 0xe3, 0x78, 0xd, 0xd7, 0xd3, 0xff, 0x54, 0x4b, 0x40, 0x6d, 0x58, 0x31, 0x28, 0x92, 0x7e, 0xa2, 0x8d, 0xc8, 0x40, 0xa1, 0xf4, 0x47, 0xee, 0x82, 0xcf, 0x43, 0xaf, 0x12, 0x3f, 0x16, 0x91, 0xee, 0xb0, 0x78, 0x46, 0xb, 0xbd, 0x8e, 0xd5, 0xf2, 0x30, 0xf5, 0x18, 0xa8, 0x30, 0x92, 0x77, 0x7d, 0x10, 0x80, 0xc6, 0x7e, 0x9b, 0x4a, 0xce, 0xed, 0x5, 0x19, 0xf6, 0xdd, 0x92, 0xed, 0x33, 0x17, 0x41, 0x1c, 0x49, 0x11, 0xe2, 0x5b, 0x26, 0x89, 0x2b, 0xbd, 0x7b, 0x1e, 0xc2, 0x8d, 0x70, 0x7f, 0xb, 0xf4, 0x11, 0xbb, 0x8a, 0x1d, 0x54, 0x87, 0xc2, 0xf3, 0x10, 0x99, 0x5f, 0x2f, 0xc1, 0x36, 0x7e, 0xae, 0xdb, 0xc8, 0x94, 0x46, 0xf1, 0x4c, 0xf0, 0x74, 0xed, 0x57, 0xc9, 0x66, 0x89, 0x82, 0x52, 0x33, 0x36, 0xfc, 0xd2, 0xc2, 0x8d, 0xe0, 0xb3, 0xbc, 0xc5, 0x1d, 0x59, 0x48, 0x23, 0xa6, 0x21, 0x31, 0x1c, 0x1e, 0xf7, 0xa1, 0xf0, 0x5c, 0xa0, 0x36, 0x60, 0xc2, 0xc3, 0x47, 0xf0, 0xe6, 0x49, 0xc3, 0x45, 0x9a, 0xfd, 0x8f, 0xff, 0x89, 0xba, 0x89, 0x6a, 0xf2, 0x44, 0x79, 0x81, 0x32, 0x44, 0xe9, 0xf0, 0xea, 0xac, 0xba, 0xda, 0xa4, 0xa1, 0x8, 0x22, 0x88, 0x6a, 0x78, 0x5c, 0xb, 0x0, 0x55, 0x51, 0x9, 0x7c, 0x90, 0x2a, 0xa6, 0xb3, 0x2d, 0x54, 0x3c, 0xc4, 0x7b, 0x45, 0x46, 0xcf, 0xdb, 0x3a, 0xba, 0x93, 0x3c, 0xee, 0x13, 0x92, 0xfb, 0x21, 0xe1, 0xdb, 0x2d, 0x80, 0x96, 0x24, 0x50, 0xc3, 0x1e, 0xde, 0xc1, 0xcb, 0x59, 0xf0, 0xb9, 0xfa, 0x9d, 0x9d, 0xff, 0xe2, 0x66, 0xe, 0x91, 0x3, 0x34, 0x74, 0xaa, 0x20, 0x4e, 0x54, 0xb8, 0x1f, 0x6f, 0x8, 0xe8, 0x85, 0x7a, 0xb8, 0xb1, 0x1f, 0x2a, 0xc9, 0x3a, 0x22, 0x8d, 0x96, 0xde, 0x7f, 0xcf, 0x85, 0x31, 0xe4, 0xfb, 0x9a, 0x43, 0x95, 0x9d, 0xf4, 0x30, 0x1c, 0x2a, 0xdb, 0x3f, 0xe1, 0xf4, 0xee, 0xd4, 0xcf, 0x93, 0x8f, 0x99, 0xbc, 0xbb, 0x1e, 0xc7, 0x4c, 0xa9, 0xf, 0x4b, 0xc6, 0x41, 0x96, 0x34, 0x60, 0xb2, 0x74, 0x40, 0xa7, 0x6a, 0xb4, 0x26, 0x1d, 0x32, 0x82, 0x3, 0xc7, 0xb0, 0x9, 0x1, 0x7c, 0xe3, 0x30, 0x3c, 0x28, 0xeb, 0xe5, 0x15, 0xa5, 0x5f, 0x82, 0x7d, 0xcd, 0x13, 0x81, 0x55, 0x2f, 0x41, 0x3e, 0xef, 0x70, 0xe3, 0x2c, 0x77, 0x6c, 0x8d, 0x78, 0xc, 0x7c, 0x21, 0xf5, 0x9a, 0x23, 0xae, 0x7, 0x60, 0xc7, 0x48, 0xbe, 0x11, 0xc3, 0x85, 0xbc, 0xca, 0x20, 0xdd, 0xcd, 0x58, 0xd, 0x3e, 0xf4, 0xf, 0x4, 0xf9, 0xe1, 0x97, 0x3, 0x80, 0x0, 0x21, 0xe3, 0x6, 0xb, 0x9d, 0xc3, 0x20, 0x58, 0xba, 0xdb, 0x81, 0xcf, 0xe4, 0xad, 0x5d, 0x1c, 0x9, 0xa5, 0xaf, 0xe8, 0x62, 0xb4, 0x60, 0x5e, 0x75, 0x18, 0x36, 0xbf, 0xf9, 0xd, 0xd1, 0x98, 0xa, 0x8e, 0x81, 0xc7, 0x28, 0x5d, 0x2f, 0xe4, 0x6d, 0x5b, 0x90, 0xe0, 0x6d, 0x55, 0xfc, 0x62, 0xcd, 0x19, 0xbe, 0x3c, 0x18, 0x54, 0xcb, 0x41, 0xd, 0xa1, 0xf5, 0xa5, 0x3d, 0x80, 0x93, 0x87, 0x72, 0xb0, 0x97, 0x48, 0xf2, 0xd2, 0x99, 0xf4, 0xef, 0x6d, 0xa2, 0xee, 0x12, 0xbe, 0x81, 0x10, 0x3e, 0xb, 0x9d, 0x81, 0x2a, 0xd7, 0x5a, 0x74, 0xbd, 0xd0, 0x24, 0x6e, 0x73, 0xc9, 0xbd, 0xa5, 0xb8, 0x74, 0xa8, 0xb5, 0xcf, 0x7d, 0x55, 0xa6, 0x56, 0x79, 0x92, 0x1, 0x92, 0xa1, 0x11, 0xe6, 0x20, 0x50, 0x9b, 0x65, 0x24, 0x51, 0x7a, 0xd4, 0xca, 0x6f, 0x82, 0xb, 0xbf, 0x90, 0x46, 0x46, 0xd8, 0xbf, 0x38, 0x30, 0x16, 0x7, 0x60, 0x80, 0x2b, 0xef, 0x6, 0xc4, 0x70, 0x4b, 0x4a, 0xd0, 0xd0, 0x82, 0xdd, 0xee, 0xef, 0x6e, 0xa, 0x6c, 0xb9, 0x25, 0xf7, 0x11, 0x95, 0x9c, 0x17, 0xc9, 0x42, 0x12, 0x43, 0xe0, 0x22, 0x84, 0xc1, 0x38, 0x3b, 0x42, 0x97, 0xc2, 0xd2, 0x9b, 0xc3, 0x85, 0x3c, 0x17, 0xdb, 0x44, 0x4, 0x46, 0xe4, 0x2a, 0x14, 0xa3, 0x1d, 0xe1, 0xf0, 0x4a, 0x51, 0x15, 0x2a, 0x80, 0x35, 0x1d, 0xf3, 0x9e, 0xd2, 0xa8, 0x76, 0x8, 0x80, 0x51, 0x79, 0x8c, 0xc, 0x80, 0xca, 0xee, 0x5d, 0x42, 0xbf, 0x99, 0xf9, 0x67, 0x72, 0x8f, 0x14, 0xd9, 0x3f, 0xf7, 0x29, 0x6a, 0x77, 0x98, 0x6c, 0xca, 0x9, 0x28, 0x6d, 0x84, 0x1c, 0x98, 0x35, 0x5c, 0xe5, 0xcb, 0x69, 0xda, 0xed, 0x23, 0xc0, 0x65, 0x3b, 0x21, 0x70, 0xe, 0x8b, 0xa, 0x72, 0x2f, 0x76, 0x27, 0x24, 0x9b, 0xee, 0x96, 0xf, 0x97, 0x79, 0xd0, 0x88, 0x5b, 0x9e, 0xc0, 0x57, 0x78, 0xc9, 0xf3, 0x1f, 0xea, 0x15, 0x9a, 0x2c, 0xbe, 0x9a, 0xd4, 0x59, 0xb0, 0x36, 0x8d, 0x6e, 0x67, 0x22, 0xa5, 0x40, 0x3b, 0x6f, 0x43, 0xd7, 0x68, 0xb1, 0x48, 0xd3, 0xa7, 0x75, 0x8c, 0x5b, 0x2a, 0x15, 0xb, 0x2e, 0xdb, 0xdc, 0xd3, 0x60, 0x95, 0x79, 0x7b, 0x3e, 0xaa, 0x53, 0xe7, 0x90, 0xd, 0x9d, 0xea, 0xb2, 0x7e, 0x78, 0xa2, 0xa6, 0x32, 0xe2, 0x71, 0xcb, 0xd6, 0x2a, 0xe, 0x8b, 0xa9, 0x95, 0x7c, 0xa9, 0xb2, 0xb4, 0xa0, 0xba, 0x86, 0xcc, 0xbb, 0x18, 0x17, 0x12, 0xb2, 0x35, 0x4b, 0x13, 0x1e, 0xdc, 0x8b, 0x70, 0x21, 0x79, 0x96, 0x2a, 0xf3, 0xe7, 0x0, 0x6e, 0xdc, 0xcb, 0x9d, 0xcd, 0x16, 0xe3, 0x9a, 0x69, 0x65, 0xba, 0xd5, 0x5e, 0x50, 0xe5, 0x56, 0xc5, 0x31, 0xa2, 0x22, 0x80, 0x61, 0xe7, 0x4d, 0x9, 0x8a, 0xfc, 0x93, 0x47, 0x1d, 0x7b, 0x0, 0x25, 0x9, 0x8, 0x57, 0xb8, 0xca, 0x9b, 0x2c, 0x4e, 0xa3, 0x6d, 0x5c, 0x30, 0x9b, 0x49, 0x9f, 0x62, 0xf4, 0xbb, 0x8e, 0xe4, 0x5d, 0x2c, 0xfc, 0x4e, 0x1d, 0x4c, 0x96, 0x2d, 0x93, 0x1c, 0xd1, 0x4d, 0x7d, 0x23, 0xb4, 0xe6, 0x0, 0x68, 0xd0, 0x49, 0xbb, 0x5d, 0x44, 0xfa, 0x9f, 0x4f, 0xc3, 0x7d, 0x9d, 0x82, 0x5e, 0x5e, 0x34, 0xfb, 0xb0, 0x63, 0xeb, 0x58, 0xe7, 0xaa, 0xc4, 0x47, 0xe9, 0x28, 0xee, 0xf, 0x10, 0xcf, 0xef, 0xb, 0xef, 0x2e, 0xb, 0x69, 0x3a, 0xcc, 0x3f, 0xeb, 0x7c, 0x34, 0x4e, 0x8d, 0x64, 0x73, 0xc4, 0x94, 0x7c, 0x5a, 0x3e, 0xcd, 0xf9, 0xf8, 0xfd, 0xc5, 0xd5, 0x6f, 0xef, 0xc6, 0x97, 0xf3, 0x9b, 0xe9, 0x78, 0x74, 0xf6, 0x76, 0xf4, 0x7a, 0x72, 0x31, 0x99, 0xff, 0x56, 0x97, 0x43, 0x53, 0xf7, 0x39, 0xfd, 0xe3, 0x62, 0xdc, 0xe5, 0xe3, 0xb3, 0x8b, 0xab, 0xd9, 0x38, 0x7, 0xbf, 0x9d, 0xdd, 0x5c, 0x5d, 0x5e, 0xfc, 0xd6, 0xa5, 0xe1, 0xf5, 0x65, 0x3e, 0xe, 0x7d, 0x5d, 0x99, 0x59, 0xd3, 0x67, 0x52, 0x25, 0xa4, 0xa4, 0xdc, 0x52, 0x41, 0xc5, 0x41, 0xec, 0x65, 0xb1, 0x78, 0x10, 0x31, 0x5d, 0x2a, 0x7d, 0x31, 0x82, 0x48, 0xf3, 0x4, 0x71, 0x11, 0xe1, 0x76, 0x2b, 0x58, 0xb4, 0xa2, 0x90, 0x79, 0xbc, 0x64, 0x2b, 0x73, 0x34, 0xe4, 0x78, 0x90, 0xd0, 0xb5, 0xa7, 0x9, 0x29, 0x87, 0xa6, 0x3, 0xd1, 0xa7, 0x6c, 0x5a, 0xa6, 0x88, 0x6e, 0xd8, 0x2e, 0xdc, 0x79, 0xd8, 0xd8, 0x9b, 0x63, 0x20, 0xe6, 0x7d, 0x15, 0xf7, 0xe, 0xcd, 0x37, 0x6, 0xb0, 0x57, 0x63, 0xbc, 0x93, 0x19, 0xab, 0xb6, 0x42, 0xe6, 0xf6, 0xfb, 0x70, 0xbf, 0x65, 0x0, 0xe1, 0xf4, 0x50, 0x13, 0x7c, 0xf, 0xf7, 0x52, 0xf3, 0x95, 0x88, 0x77, 0xcd, 0x14, 0x55, 0x4a, 0x43, 0x15, 0x75, 0x66, 0x8c, 0x12, 0x85, 0x25, 0xea, 0xb0, 0xae, 0x3f, 0x3e, 0x97, 0x2d, 0x5, 0xd3, 0x69, 0x14, 0xc7, 0x90, 0x7, 0xf, 0xd1, 0xe5, 0xb, 0x69, 0xf1, 0x35, 0x6d, 0x6a, 0x41, 0x10, 0x2b, 0x2d, 0xc2, 0xe6, 0xd9, 0xe1, 0xed, 0xa8, 0x62, 0x66, 0x66, 0xa5, 0xcd, 0xea, 0xb3, 0x50, 0x9, 0x72, 0x7d, 0xc0, 0x43, 0x67, 0xb9, 0xd7, 0x96, 0x25, 0x6e, 0x5c, 0x96, 0xd2, 0xc4, 0xb9, 0xdc, 0xf9, 0x91, 0xf7, 0x98, 0xa0, 0xc7, 0x9, 0xa7, 0xd2, 0xbb, 0x67, 0xad, 0x95, 0x9d, 0xb9, 0x51, 0x94, 0x5, 0x28, 0xc0, 0x47, 0x50, 0x8a, 0x78, 0x41, 0x4c, 0x44, 0x8a, 0x18, 0x39, 0x6c, 0x2b, 0x92, 0x48, 0x85, 0xbd, 0x58, 0xd0, 0xa0, 0x9d, 0xe6, 0x9, 0x97, 0x3a, 0x4a, 0x8b, 0xfe, 0xb5, 0x4f, 0x7b, 0xb8, 0x35, 0x7b, 0xfd, 0x45, 0x85, 0x77, 0xc8, 0xfa, 0xcf, 0x1c, 0xed, 0x43, 0x76, 0x99, 0xc5, 0x31, 0x3, 0x6c, 0x62, 0x63, 0x9, 0xa8, 0x93, 0x15, 0x4f, 0x4e, 0xe8, 0x4e, 0xe8, 0xad, 0x31, 0x38, 0xbf, 0xf2, 0x66, 0x94, 0xb9, 0x93, 0xc9, 0xe2, 0x97, 0xe6, 0x86, 0xd6, 0xe3, 0xc8, 0x79, 0x5b, 0x63, 0x4a, 0x29, 0x79, 0xa7, 0x60, 0x4, 0x37, 0x1e, 0x5e, 0xeb, 0xcb, 0x37, 0x71, 0x3c, 0x82, 0xcc, 0x35, 0xdf, 0x9b, 0x64, 0xe, 0x6a, 0x5c, 0x3c, 0x69, 0x20, 0xb5, 0xae, 0xe4, 0xb9, 0xc9, 0xd7, 0xb1, 0x61, 0xb1, 0x4b, 0xdf, 0x1e, 0xb2, 0xe6, 0xf, 0xd5, 0x6e, 0xd9, 0x3e, 0xce, 0x96, 0xbd, 0x49, 0xdd, 0xe6, 0xb3, 0xb7, 0xee, 0xbb, 0x3a, 0x2b, 0xfc, 0xe8, 0xde, 0xe1, 0x8e, 0x42, 0xb8, 0x97, 0x53, 0xe6, 0x49, 0x20, 0x42, 0x10, 0x46, 0xf1, 0xa0, 0x45, 0xfe, 0xd8, 0x97, 0x2c, 0x7e, 0xf5, 0x78, 0xa4, 0x45, 0x71, 0x2c, 0xa6, 0xb3, 0xbe, 0x3, 0x45, 0x4e, 0x2f, 0x62, 0x14, 0xa1, 0x82, 0x8f, 0x5f, 0x15, 0xb2, 0x88, 0x40, 0xa9, 0xa5, 0x20, 0xfe, 0xe3, 0x3c, 0x4e, 0xc9, 0xc3, 0x30, 0xdb, 0x8d, 0x39, 0x91, 0x49, 0xf, 0x98, 0xd4, 0x82, 0x9e, 0x42, 0x16, 0xe9, 0x2a, 0x23, 0x80, 0xe9, 0x24, 0x93, 0x37, 0x51, 0x8, 0x6f, 0x46, 0x85, 0x53, 0x3d, 0x8f, 0xce, 0x81, 0xb0, 0x80, 0xba, 0xb, 0x64, 0xf1, 0x22, 0xd1, 0x28, 0xad, 0x25, 0x36, 0xc1, 0x2d, 0xa4, 0xd1, 0xe0, 0x2e, 0xc9, 0x81, 0x3f, 0x8f, 0x7c, 0xcd, 0x6b, 0x89, 0xdb, 0x66, 0xfd, 0x6b, 0xc5, 0x36, 0x11, 0x34, 0x13, 0x49, 0xc4, 0x63, 0x0, 0xeb, 0x72, 0x54, 0xc0, 0x28, 0x3, 0xfb, 0x3c, 0xcb, 0x35, 0xe3, 0xc9, 0x5d, 0x86, 0x8e, 0x4f, 0x7a, 0x97, 0x75, 0x9f, 0x3a, 0xc, 0x9b, 0x85, 0xbc, 0x92, 0xf1, 0xe, 0x4c, 0x77, 0x63, 0xba, 0xc9, 0x20, 0xce, 0x42, 0x71, 0x3, 0x3d, 0xc1, 0x4a, 0xa4, 0x49, 0x26, 0xba, 0x2d, 0x80, 0xca, 0xd2, 0x40, 0x95, 0x2f, 0x4d, 0x9d, 0xd7, 0xe0, 0x8a, 0xda, 0x37, 0xcd, 0xda, 0xa7, 0xb5, 0x30, 0x1f, 0x42, 0x8c, 0x87, 0x22, 0xbf, 0xf8, 0xf8, 0x42, 0x33, 0x21, 0xaa, 0x7a, 0xce, 0x25, 0x56, 0xf2, 0xee, 0xbd, 0x8a, 0xe3, 0x67, 0x7d, 0x79, 0x7, 0xa8, 0x76, 0x63, 0x54, 0x23, 0xc4, 0xfc, 0x89, 0x92, 0x88, 0x10, 0xf, 0xb7, 0x79, 0xa2, 0x4f, 0xf, 0xd9, 0x68, 0x9, 0xf6, 0x1a, 0x20, 0xfc, 0x35, 0x4c, 0xbb, 0x66, 0x26, 0x1, 0x8f, 0xe3, 0x25, 0xf, 0xee, 0x3f, 0x93, 0x2f, 0x8d, 0x6f, 0x23, 0xbb, 0xd0, 0xbf, 0xfe, 0x74, 0x46, 0xb4, 0x94, 0x3c, 0x69, 0x8d, 0xaf, 0xd8, 0x76, 0x2, 0x8c, 0xa7, 0x29, 0xf, 0xd6, 0xf8, 0x4e, 0x5, 0xb7, 0xdf, 0xf2, 0xf6, 0xb3, 0x41, 0x61, 0x51, 0xe2, 0x2e, 0xc2, 0x10, 0x60, 0xd0, 0xe5, 0xa9, 0x99, 0x54, 0x28, 0x3c, 0x69, 0xbb, 0xc8, 0xff, 0x63, 0xe8, 0x4f, 0xe7, 0x2e, 0xeb, 0xf3, 0x2, 0x5d, 0x24, 0x3, 0x5a, 0x16, 0xb8, 0xe4, 0x0, 0x3a, 0xf0, 0x9, 0xde, 0x8d, 0x1, 0x30, 0xbb, 0x47, 0x7a, 0xec, 0xdf, 0x1b, 0xe3, 0x6f, 0xf0, 0xcc, 0x5f, 0x5b, 0x3e, 0xa6, 0x7b, 0xc5, 0x95, 0xe2, 0xdc, 0xb0, 0xf4, 0x4a, 0xb7, 0xc9, 0xe9, 0xbd, 0x32, 0x2d, 0x45, 0xa, 0x92, 0xf4, 0xe8, 0xc8, 0x34, 0x4d, 0x94, 0x50, 0x76, 0x7b, 0xcd, 0xbe, 0x33, 0xb7, 0xa0, 0x4f, 0x47, 0xe, 0xc, 0xd7, 0x40, 0xe, 0x84, 0xaa, 0x3a, 0x96, 0x9f, 0x1d, 0x35, 0x46, 0xd8, 0x11, 0x35, 0x87, 0x78, 0x58, 0x8f, 0x28, 0x18, 0xa6, 0x9a, 0x3d, 0xa4, 0xb5, 0x9e, 0x9b, 0x24, 0x5b, 0xf9, 0xbd, 0x1b, 0x55, 0x54, 0xb2, 0xf9, 0xb9, 0x89, 0xa2, 0xba, 0xaf, 0xdd, 0x68, 0x8a, 0x9e, 0x0, 0x7, 0xe5, 0x55, 0x5d, 0x22, 0x50, 0xa7, 0x48, 0x86, 0x51, 0x80, 0xa1, 0x79, 0x6b, 0x3b, 0xb0, 0x4a, 0x1c, 0xe8, 0x53, 0x5d, 0x14, 0x47, 0x5f, 0x20, 0x2c, 0x37, 0x30, 0x41, 0x60, 0x15, 0x87, 0xc5, 0xfe, 0xe0, 0x4d, 0x2c, 0x55, 0x5b, 0xc6, 0x73, 0x6, 0x74, 0x57, 0xcf, 0xc7, 0x8d, 0xb0, 0xb, 0xeb, 0x5e, 0xda, 0x58, 0xb7, 0x4b, 0x76, 0xf1, 0x24, 0x2b, 0xdf, 0x29, 0x1c, 0x3f, 0xfe, 0x2b, 0x88, 0x5, 0x97, 0xd9, 0xf6, 0xe4, 0xf1, 0xe1, 0x64, 0x9b, 0x88, 0x93, 0x44, 0xc4, 0x82, 0x6b, 0xf1, 0x57, 0xf6, 0x3e, 0xff, 0x87, 0x7f, 0x4b, 0xc5, 0x1a, 0x16, 0xd0, 0x88, 0x65, 0x5b, 0x16, 0xf3, 0xd4, 0x16, 0xa8, 0x2c, 0xb3, 0xc4, 0x15, 0x84, 0x3b, 0x6, 0x47, 0xf2, 0x72, 0x6e, 0x3d, 0x18, 0x72, 0x59, 0x68, 0x54, 0xb3, 0xe1, 0xf7, 0xa, 0x5b, 0x74, 0xeb, 0x90, 0xea, 0x61, 0xd4, 0x88, 0x67, 0x7d, 0x15, 0xae, 0x6e, 0xbd, 0x97, 0xeb, 0x78, 0xd5, 0xaa, 0x5, 0xf5, 0x20, 0x92, 0x9a, 0x3b, 0xf1, 0xd3, 0xc2, 0xa1, 0xb, 0x4f, 0x2, 0x3f, 0xc7, 0x6a, 0xc9, 0xe3, 0xcb, 0xb6, 0xea, 0x80, 0xf6, 0x69, 0xa0, 0x91, 0xca, 0xb7, 0x50, 0xbb, 0xaa, 0x56, 0x5f, 0x3c, 0x77, 0x68, 0xf9, 0x1b, 0x22, 0xc3, 0x1c, 0xeb, 0x99, 0x7e, 0x5a, 0xae, 0x14, 0x95, 0xdf, 0xa, 0x78, 0x4c, 0xf1, 0xa1, 0x6a, 0xc5, 0xec, 0xf4, 0x6e, 0x5c, 0x4, 0x89, 0x2d, 0x37, 0x43, 0x5, 0xd4, 0x6, 0xc6, 0xbe, 0x97, 0x1, 0xf7, 0x10, 0xc7, 0x78, 0x24, 0x9, 0x19, 0xdb, 0x22, 0xc9, 0x5d, 0x2, 0x14, 0x12, 0x85, 0x28, 0xef, 0xc7, 0xa2, 0x42, 0xb6, 0x41, 0xa8, 0x84, 0xcb, 0x6c, 0x79, 0x64, 0x99, 0x5c, 0xaa, 0x4c, 0x86, 0xa2, 0x4b, 0xc, 0xb3, 0xdb, 0x8f, 0xd5, 0xb9, 0xa3, 0x5f, 0xe6, 0x55, 0xdc, 0xa9, 0xe0, 0xcf, 0x75, 0x17, 0xaf, 0xe1, 0xd6, 0x13, 0x6f, 0xe4, 0x6e, 0x3a, 0x47, 0xbc, 0x88, 0x77, 0xbd, 0x87, 0xe7, 0xc7, 0x79, 0xe9, 0x22, 0xee, 0x27, 0xbc, 0x6c, 0xb1, 0xd7, 0x23, 0xde, 0xbc, 0x13, 0xa1, 0xf1, 0xf5, 0xe7, 0x68, 0xb3, 0x9a, 0x63, 0x32, 0x54, 0x16, 0xbb, 0x9b, 0xb6, 0x6f, 0xab, 0xd8, 0x7b, 0xb6, 0xce, 0x82, 0x40, 0x68, 0xbd, 0xca, 0xe2, 0xda, 0xea, 0xa0, 0x64, 0x51, 0x75, 0xa5, 0x8d, 0x2c, 0xa3, 0x56, 0xda, 0xa8, 0xdb, 0x26, 0xe2, 0x32, 0xd9, 0x81, 0xbc, 0x2f, 0xfc, 0x9e, 0xef, 0x49, 0x54, 0xf5, 0x45, 0xbf, 0x45, 0x13, 0x1d, 0x33, 0x9f, 0xc2, 0x26, 0xf3, 0x76, 0x5d, 0x4a, 0x3b, 0x76, 0xdd, 0x5d, 0x61, 0x9d, 0xe7, 0x72, 0xe5, 0x77, 0x75, 0x6a, 0xc3, 0x8, 0xfb, 0x97, 0xf2, 0xf0, 0x36, 0x7c, 0x7, 0x5a, 0x28, 0x4f, 0x86, 0x76, 0x1f, 0x72, 0xbd, 0x90, 0x1, 0xc5, 0xb9, 0xd3, 0x6b, 0x10, 0x94, 0x7b, 0x80, 0x6a, 0x78, 0x58, 0xde, 0xc6, 0x4b, 0x44, 0x6, 0x3d, 0x86, 0xfd, 0xdd, 0x9, 0x84, 0x97, 0x8d, 0x62, 0x50, 0x6a, 0xa9, 0xc2, 0xba, 0x35, 0x1a, 0x6b, 0xa, 0x2e, 0x24, 0x63, 0x67, 0x89, 0xb9, 0x9b, 0x22, 0x50, 0xb2, 0xf9, 0x7d, 0x6, 0xf0, 0xb6, 0x59, 0x22, 0xc2, 0x33, 0x1e, 0xb, 0x19, 0xf2, 0x64, 0xb6, 0x15, 0xc1, 0x4b, 0x37, 0x5a, 0x26, 0x73, 0x2d, 0x49, 0x4f, 0xe0, 0x84, 0x38, 0x65, 0xc, 0x15, 0x1e, 0x20, 0xc4, 0x13, 0x3d, 0xd5, 0x6a, 0xd7, 0x8c, 0x3e, 0xa5, 0x8d, 0x8e, 0xc7, 0x1d, 0x4f, 0x4, 0xdb, 0xa8, 0x10, 0xfb, 0x2a, 0x44, 0x82, 0x98, 0x66, 0x5, 0x6, 0x98, 0x21, 0x0, 0x25, 0x6b, 0x29, 0x84, 0xcc, 0x1b, 0x2d, 0x77, 0x84, 0xc6, 0x64, 0x97, 0x81, 0xa9, 0x4, 0x6b, 0x23, 0xba, 0x75, 0x39, 0x58, 0x73, 0xdb, 0x9e, 0x5a, 0x55, 0xf5, 0xf8, 0x63, 0x9a, 0x70, 0x6f, 0x11, 0x60, 0x8e, 0x66, 0xa4, 0x9a, 0x5d, 0xb9, 0x11, 0x9b, 0xce, 0x44, 0xbc, 0x33, 0xdf, 0xb6, 0xa9, 0xb, 0xd3, 0x21, 0xb8, 0x86, 0xb4, 0xe0, 0x49, 0xb0, 0x66, 0xdc, 0x5, 0x25, 0x7b, 0x89, 0x28, 0x96, 0x3c, 0xa3, 0x7b, 0xad, 0x48, 0x1, 0xda, 0x5b, 0x8d, 0xbf, 0x1, 0xba, 0xaa, 0x2c, 0xb, 0xdd, 0xcc, 0xb5, 0xfd, 0x76, 0xb5, 0xe6, 0xf2, 0x27, 0x4c, 0xfd, 0xa1, 0x57, 0x4e, 0x3a, 0xb0, 0x96, 0x3c, 0xb8, 0x37, 0xf6, 0xd1, 0x9e, 0x4, 0x95, 0x2d, 0xa6, 0x85, 0x2c, 0x70, 0xd, 0xf6, 0xa8, 0x93, 0x40, 0x4a, 0xe1, 0xe1, 0xcc, 0x6a, 0x23, 0xcc, 0xdf, 0x91, 0xd4, 0xad, 0x2d, 0xc, 0x18, 0xa8, 0x2c, 0xe, 0x17, 0x32, 0x16, 0x1c, 0xcc, 0xb6, 0x58, 0x39, 0xbc, 0x5f, 0xc, 0xa4, 0xc5, 0xfa, 0xa3, 0x86, 0x1f, 0x99, 0xde, 0x3b, 0xd7, 0x5b, 0xb4, 0x9f, 0x8b, 0xdc, 0x7b, 0xa7, 0xaa, 0x73, 0x26, 0xba, 0x84, 0x88, 0xcc, 0xce, 0xa6, 0x93, 0xd7, 0xe3, 0x9b, 0xf9, 0x68, 0xf6, 0xcb, 0xcd, 0x9f, 0xaf, 0xc7, 0xd7, 0xe3, 0x9b, 0x77, 0x57, 0xe7, 0xe3, 0xfa, 0x18, 0x91, 0x9a, 0xef, 0xc7, 0x97, 0x6f, 0x47, 0x97, 0x67, 0xe3, 0xf3, 0x96, 0xd8, 0x8d, 0x1e, 0xa3, 0xed, 0xaf, 0x26, 0xbc, 0xb1, 0xb7, 0xb7, 0x3f, 0x65, 0xd7, 0x9e, 0x9e, 0xc2, 0x97, 0xdd, 0x58, 0xdc, 0xf1, 0x60, 0x97, 0xc7, 0x19, 0xd3, 0x83, 0x7d, 0xcb, 0x54, 0x4e, 0xd9, 0x58, 0xae, 0xb9, 0x34, 0x7a, 0x6d, 0xa3, 0x42, 0xd0, 0x72, 0x2a, 0x49, 0x35, 0xe3, 0x94, 0x2a, 0x2b, 0x42, 0x32, 0x21, 0xa8, 0xdc, 0x56, 0x1c, 0x63, 0x29, 0xda, 0x14, 0xcb, 0x47, 0xea, 0x6c, 0x8b, 0xdf, 0xbb, 0x2, 0xa1, 0x98, 0xd2, 0x6b, 0xbb, 0x49, 0xa2, 0x60, 0xd, 0xb0, 0xe2, 0x4e, 0x4d, 0x34, 0xac, 0xf0, 0x31, 0xe, 0x38, 0xaa, 0x34, 0xf0, 0xd9, 0x52, 0x72, 0x61, 0xf8, 0x6e, 0x41, 0xa6, 0x46, 0x83, 0x76, 0x56, 0x38, 0x8e, 0x49, 0x33, 0x68, 0xd5, 0x68, 0xcc, 0xa6, 0x3c, 0x8d, 0x74, 0x1a, 0x5, 0xf9, 0xe5, 0x2a, 0x8f, 0xa, 0xdc, 0x33, 0x58, 0x6f, 0x71, 0xa1, 0x6e, 0x80, 0x16, 0xc8, 0xcd, 0xc7, 0x3a, 0x44, 0x1d, 0xec, 0x55, 0x68, 0xf2, 0x7a, 0xf7, 0x3e, 0x89, 0x54, 0x12, 0xa5, 0xbb, 0x5f, 0x44, 0xed, 0x65, 0xf5, 0xf8, 0xd1, 0xb2, 0x7b, 0xdc, 0xe8, 0x7a, 0x3d, 0x9d, 0xe7, 0xc1, 0x91, 0x40, 0x3d, 0x5b, 0x26, 0x82, 0xdf, 0x3, 0x80, 0xfd, 0x72, 0xc7, 0xb6, 0x34, 0x13, 0x76, 0x2f, 0x76, 0x43, 0x6, 0x5c, 0x72, 0x99, 0xef, 0x58, 0xc7, 0x22, 0xde, 0x61, 0x1e, 0x90, 0xff, 0xa5, 0x3e, 0x1e, 0x47, 0xf3, 0x6c, 0x81, 0x3e, 0x6e, 0x1b, 0xc7, 0x8b, 0x5f, 0x8b, 0xcd, 0x1b, 0x45, 0x84, 0x74, 0x87, 0x2d, 0xc9, 0x85, 0xf, 0xff, 0x7e, 0x44, 0x2b, 0x75, 0xf6, 0x42, 0xbf, 0x4, 0xf0, 0x7f, 0x91, 0x40, 0x16, 0x96, 0xad, 0x33, 0x8, 0x8c, 0x84, 0x41, 0x9, 0x30, 0x56, 0x63, 0xae, 0xd1, 0x7, 0x73, 0xeb, 0xc4, 0x52, 0x83, 0x50, 0xb5, 0x15, 0x72, 0xaa, 0x50, 0x3d, 0x59, 0x31, 0xc4, 0x82, 0xaa, 0xd0, 0x19, 0x1c, 0x15, 0xd7, 0xe5, 0x7, 0x7e, 0xf6, 0xc2, 0xfe, 0x7, 0x26, 0x5a, 0x5c, 0x5f, 0x52, 0xa6, 0xc5, 0xf8, 0xdc, 0x18, 0x40, 0xbe, 0x89, 0x86, 0x84, 0xe7, 0x33, 0x37, 0x87, 0xc4, 0xf0, 0xe5, 0x42, 0xe6, 0x4, 0xfa, 0xd8, 0x98, 0x11, 0x45, 0x3c, 0xda, 0x98, 0xe8, 0x48, 0x62, 0x61, 0x60, 0x8c, 0xcd, 0xb5, 0x5, 0x43, 0x66, 0x22, 0xdd, 0xf, 0x84, 0xa0, 0x60, 0x4f, 0xea, 0x6a, 0x21, 0x8d, 0x8a, 0xab, 0xf8, 0x8c, 0x10, 0x47, 0x5d, 0x1c, 0x84, 0x2c, 0x33, 0xd6, 0x88, 0xcb, 0xa5, 0x4a, 0xc5, 0x29, 0x1a, 0xc5, 0x7b, 0x81, 0xc3, 0x18, 0x28, 0x15, 0x8b, 0x7, 0x8e, 0x31, 0x2e, 0x4, 0x3f, 0x5a, 0x97, 0x9e, 0x82, 0x6f, 0x64, 0x1e, 0x58, 0xa3, 0x31, 0xa4, 0xd3, 0xb5, 0xd8, 0xf9, 0x45, 0x6b, 0x73, 0x56, 0xe3, 0xe7, 0xd4, 0x67, 0x79, 0xad, 0x87, 0xec, 0x2d, 0x56, 0xcb, 0x1e, 0xd4, 0xe5, 0xc4, 0x2c, 0xa4, 0xe9, 0x37, 0xdd, 0x6d, 0x29, 0xa0, 0xd9, 0x90, 0x4b, 0xdd, 0x21, 0xaa, 0x28, 0x8c, 0xed, 0x2e, 0x4, 0x38, 0x9e, 0x87, 0x2d, 0xfb, 0x22, 0x93, 0x31, 0xe5, 0xc7, 0x21, 0x89, 0x1a, 0x73, 0xcc, 0x68, 0x9d, 0x1d, 0xdc, 0x6a, 0xbe, 0x64, 0xe, 0xcd, 0xd4, 0x9c, 0x3d, 0x89, 0x60, 0x67, 0x6b, 0x73, 0xcc, 0x7c, 0x70, 0x11, 0x62, 0x10, 0xb4, 0x41, 0xad, 0xb6, 0xdc, 0xac, 0xd1, 0xcb, 0xba, 0x27, 0xd4, 0x5e, 0xce, 0x45, 0xb7, 0xa9, 0xc8, 0xa3, 0xd8, 0xfa, 0x9c, 0xbd, 0x55, 0xdb, 0xc, 0xf3, 0x9b, 0xa2, 0x15, 0x9d, 0x7e, 0x37, 0x5e, 0x31, 0x36, 0x4a, 0x5d, 0x24, 0x6d, 0x60, 0xd6, 0x22, 0xc9, 0xea, 0x1e, 0x7b, 0xc5, 0x6a, 0x25, 0x40, 0xdd, 0x4c, 0x79, 0x2a, 0x2e, 0xa2, 0x4d, 0xd4, 0xd1, 0x29, 0x50, 0x7b, 0x9e, 0x8e, 0xcb, 0x1d, 0x56, 0xe, 0x9c, 0xfa, 0x5a, 0x35, 0x7b, 0xda, 0xd1, 0x94, 0x35, 0x9f, 0x4d, 0x5e, 0x54, 0x13, 0x60, 0xa6, 0xa7, 0x99, 0x2e, 0x27, 0x7c, 0x92, 0xf2, 0xcd, 0x59, 0xa, 0xce, 0xac, 0x5b, 0xeb, 0x5c, 0xf1, 0xd8, 0xaa, 0xa1, 0x87, 0xdb, 0x3d, 0xbe, 0x76, 0xf3, 0xb7, 0x58, 0xf, 0x64, 0x95, 0xae, 0xfd, 0x4, 0x27, 0x17, 0xc9, 0x78, 0xaf, 0x57, 0xf4, 0x2, 0xf7, 0x80, 0x47, 0x3e, 0xf6, 0x8d, 0x35, 0xe9, 0xc0, 0x90, 0x3, 0xe8, 0x15, 0xb8, 0x75, 0x6f, 0xf3, 0x53, 0xcc, 0xd3, 0x8a, 0xbe, 0xe2, 0x81, 0xb2, 0xc4, 0x3c, 0x58, 0xe7, 0x55, 0xd3, 0xa9, 0x12, 0x22, 0x55, 0x18, 0xe2, 0x1a, 0x8a, 0x14, 0xe3, 0x25, 0x3, 0xb5, 0xb9, 0x17, 0x96, 0xd5, 0xc3, 0x96, 0xff, 0xe7, 0x85, 0x57, 0x30, 0x6a, 0x99, 0xa7, 0xac, 0x2, 0x5e, 0x81, 0x75, 0xc6, 0x57, 0x58, 0x48, 0x2, 0x58, 0x60, 0x55, 0xf8, 0xa, 0x89, 0xb9, 0x7a, 0x35, 0x63, 0x2b, 0x78, 0xc2, 0xff, 0xb8, 0xb7, 0x12, 0x7d, 0xc, 0x8e, 0xfd, 0x55, 0xac, 0x79, 0x3e, 0xeb, 0x28, 0x3, 0xdd, 0x93, 0x6b, 0x5b, 0x45, 0x61, 0x7f, 0x52, 0xfe, 0x16, 0x3b, 0x2c, 0x2, 0xb2, 0xfe, 0x45, 0x8c, 0xb6, 0x81, 0xdb, 0xd6, 0x9f, 0x2d, 0xdb, 0xad, 0x13, 0x77, 0x7f, 0xdd, 0xa3, 0xb6, 0x7b, 0xba, 0x19, 0xc5, 0x66, 0xe7, 0x1a, 0x44, 0xdb, 0x3a, 0x6f, 0xf, 0x50, 0x2e, 0x2e, 0xc1, 0x1a, 0x6f, 0xa1, 0x4d, 0x60, 0x8a, 0xb4, 0x2f, 0xd8, 0xc4, 0xa5, 0xde, 0xaa, 0xe2, 0x78, 0x52, 0xd1, 0x5f, 0x8, 0xfa, 0x8b, 0x75, 0x21, 0x7d, 0xfe, 0x28, 0x98, 0x40, 0xb6, 0xb3, 0x7e, 0x2f, 0xa3, 0x25, 0x5a, 0x9a, 0x9e, 0x45, 0x1f, 0xf7, 0x3f, 0xee, 0xcb, 0xa9, 0x72, 0xe3, 0xca, 0x71, 0xb6, 0x42, 0x86, 0x91, 0xbc, 0x1b, 0x39, 0x63, 0xf5, 0xb3, 0x5d, 0xd1, 0xb, 0x84, 0xec, 0xba, 0xdd, 0xd5, 0x89, 0x7a, 0x30, 0x3f, 0x93, 0xfa, 0x73, 0xe6, 0x13, 0xd1, 0xe, 0x64, 0xd4, 0xf0, 0xbc, 0x65, 0x6, 0x76, 0xc5, 0xe6, 0x15, 0xc5, 0x9c, 0x5b, 0x46, 0xf5, 0x9b, 0x36, 0x84, 0x8, 0x7c, 0xf6, 0x50, 0x45, 0x4b, 0x67, 0x43, 0xa8, 0x62, 0x13, 0x87, 0x8a, 0x4f, 0x99, 0x9f, 0x5b, 0x4c, 0x8b, 0xd4, 0x74, 0x9b, 0x48, 0xbe, 0xa5, 0x53, 0x21, 0x43, 0x11, 0x1e, 0xb4, 0xa3, 0xb, 0x9d, 0xf4, 0x56, 0x87, 0x5f, 0x34, 0xb4, 0x12, 0xbe, 0xa3, 0xc7, 0x64, 0x67, 0x3d, 0x72, 0x34, 0xa2, 0x3a, 0x1c, 0x52, 0xe3, 0x6a, 0x30, 0xa2, 0x1e, 0x2e, 0xe9, 0xf1, 0xe5, 0xd9, 0xd5, 0xf9, 0xe4, 0xf2, 0xe7, 0x9b, 0xf9, 0x6f, 0xef, 0x6b, 0xfd, 0xd0, 0xc5, 0x8f, 0xde, 0x4f, 0xaf, 0xe6, 0x57, 0x7f, 0xac, 0xff, 0xfd, 0x3f, 0x67, 0x2d, 0xe5, 0xba, 0xea, 0xc7, 0x2c, 0x4d, 0xaf, 0x4, 0x45, 0xf7, 0x29, 0x12, 0x60, 0xfa, 0x80, 0x6, 0x1, 0xb0, 0x9d, 0xcd, 0xbe, 0x40, 0x2f, 0x67, 0xa4, 0x5d, 0x2d, 0xcc, 0x1, 0x8b, 0x64, 0x90, 0xd8, 0x7a, 0x9b, 0x70, 0xbd, 0x79, 0x10, 0xc9, 0x8e, 0xfc, 0x3e, 0x8, 0x78, 0x17, 0x42, 0xb1, 0x13, 0x63, 0xd3, 0xe0, 0x4b, 0x46, 0x1, 0xc1, 0xc6, 0xd8, 0xec, 0x75, 0xb1, 0x7, 0x87, 0x44, 0x6e, 0x5c, 0xcb, 0xe8, 0xef, 0x99, 0xcd, 0xe1, 0x3e, 0xb9, 0x13, 0xd2, 0xec, 0x6b, 0x11, 0x3a, 0xc2, 0xcd, 0xdd, 0xab, 0xc6, 0xdb, 0xfa, 0x1c, 0x50, 0x88, 0xe6, 0x3, 0xe7, 0x23, 0xb6, 0x34, 0xd4, 0xf9, 0x4f, 0xf0, 0x31, 0xed, 0xd9, 0xab, 0x46, 0xae, 0x5, 0x83, 0x45, 0x2, 0xff, 0x56, 0xb4, 0x11, 0x39, 0x4c, 0x89, 0x63, 0x92, 0xf7, 0xb6, 0x57, 0x17, 0x11, 0xc0, 0x75, 0xfa, 0x8e, 0xde, 0xb0, 0xbe, 0x14, 0x8a, 0x21, 0x72, 0xc9, 0x3e, 0xac, 0xd, 0x17, 0xf2, 0x3, 0xe4, 0x75, 0x22, 0x1e, 0xaa, 0x97, 0xc, 0xe1, 0xda, 0x40, 0x5, 0x65, 0xb0, 0xac, 0xb, 0x8f, 0xc2, 0x75, 0x35, 0x3d, 0x93, 0xf8, 0x7d, 0x22, 0x56, 0xd1, 0xc7, 0x3, 0xa4, 0x93, 0x1c, 0xbd, 0xe2, 0xe3, 0x16, 0x72, 0x3f, 0xaf, 0xa7, 0x17, 0x6c, 0xb, 0x7d, 0x82, 0x8c, 0x44, 0xf2, 0x41, 0x5, 0xe, 0x90, 0xc5, 0x43, 0x8f, 0x50, 0xb2, 0xb8, 0xfb, 0xac, 0xeb, 0x21, 0x54, 0x42, 0xcb, 0xef, 0x53, 0x1b, 0x14, 0x3, 0xb3, 0xdb, 0x26, 0x2a, 0x55, 0x81, 0x8a, 0x7, 0x6c, 0xad, 0x74, 0xa, 0x10, 0x2e, 0xca, 0x5c, 0x1d, 0x92, 0xd4, 0x6, 0xd8, 0x10, 0x42, 0x82, 0xb, 0xe0, 0xba, 0x97, 0xea, 0x11, 0xca, 0x12, 0x47, 0xa9, 0x2d, 0xa1, 0xbd, 0x14, 0x0, 0x67, 0x69, 0xee, 0xd7, 0xb, 0xb9, 0xcd, 0x96, 0x71, 0x14, 0xc4, 0x3b, 0xcc, 0xf9, 0x34, 0x34, 0x43, 0x69, 0x64, 0xc8, 0x34, 0xb5, 0xe9, 0x56, 0x3c, 0x80, 0xe0, 0x33, 0xc7, 0xda, 0x44, 0x40, 0x80, 0x64, 0x9f, 0x44, 0xb2, 0x91, 0xd, 0x50, 0x3b, 0xb9, 0x83, 0x28, 0x3f, 0xb6, 0x8c, 0xe0, 0x7c, 0xc6, 0xfb, 0xe, 0x97, 0xfe, 0x16, 0x86, 0x74, 0x30, 0x9b, 0x14, 0x7, 0x98, 0x61, 0x54, 0x1c, 0xc, 0x7d, 0xd0, 0x84, 0x48, 0x86, 0x35, 0xc2, 0x5d, 0xe4, 0x48, 0x9d, 0x12, 0x9e, 0x15, 0x37, 0xfe, 0x93, 0x42, 0x41, 0xf, 0x90, 0x9, 0xa7, 0x11, 0x4d, 0x3f, 0x3, 0x96, 0xa1, 0x2, 0x73, 0x1a, 0x97, 0x98, 0x32, 0x64, 0xef, 0x32, 0x6d, 0x43, 0x3b, 0x6e, 0xff, 0x8b, 0x9f, 0xfc, 0x63, 0x74, 0xf2, 0xbf, 0x6e, 0xfe, 0x4a, 0xff, 0xf1, 0xe3, 0xc9, 0xbf, 0xdf, 0xfc, 0xf5, 0x87, 0xdb, 0xe1, 0x42, 0x4e, 0xd, 0xe3, 0xc1, 0xa5, 0xe4, 0x31, 0xc, 0x1e, 0x61, 0x34, 0x3c, 0x2d, 0xe6, 0x65, 0x4, 0x1, 0xa5, 0x99, 0xee, 0x98, 0x89, 0x0, 0xd8, 0xa9, 0x40, 0xec, 0x6b, 0xf9, 0x80, 0x67, 0xda, 0xf4, 0x56, 0x84, 0x32, 0x59, 0xf1, 0x28, 0xae, 0xcd, 0x8c, 0xf4, 0x27, 0x77, 0xb4, 0x40, 0xab, 0x77, 0x3c, 0xc1, 0x57, 0x24, 0xef, 0xef, 0x0, 0xcf, 0x60, 0x73, 0xbb, 0x74, 0x8e, 0xc0, 0x61, 0x8e, 0x69, 0x72, 0xac, 0x61, 0x5a, 0xa4, 0x91, 0x50, 0x1a, 0x84, 0xc1, 0xec, 0x82, 0x64, 0xb7, 0x4d, 0x5, 0x21, 0x62, 0x5f, 0x4f, 0x40, 0xaf, 0x9c, 0x5d, 0x4c, 0x20, 0x48, 0x24, 0x14, 0xf0, 0x2b, 0x62, 0x3b, 0xa5, 0xae, 0x24, 0x71, 0x96, 0x88, 0x10, 0x70, 0x9b, 0x2, 0xbb, 0x7f, 0xbc, 0xcd, 0xf8, 0xda, 0xc5, 0xab, 0xc, 0xfc, 0x1d, 0x26, 0x24, 0xe0, 0x3c, 0x1a, 0xd2, 0xe2, 0x68, 0x13, 0x41, 0xe2, 0xf0, 0x1f, 0x7e, 0x1c, 0xfc, 0xf8, 0xe3, 0x8f, 0x6c, 0xb9, 0x4b, 0x85, 0xf6, 0x8f, 0xd5, 0x34, 0x4a, 0x84, 0xb, 0x79, 0xab, 0x73, 0x1e, 0x1b, 0x71, 0xef, 0x7b, 0x44, 0x21, 0x30, 0x62, 0xb3, 0x7e, 0xc5, 0x7d, 0x94, 0x2a, 0x7c, 0xc9, 0x70, 0x3b, 0x86, 0xa5, 0xaa, 0x5f, 0x9d, 0x6b, 0x72, 0x82, 0x6e, 0x32, 0x54, 0xe, 0x16, 0xe0, 0x42, 0x25, 0x46, 0x1a, 0xc7, 0xc5, 0xd3, 0xaf, 0xbc, 0xf, 0xe7, 0xfb, 0xf3, 0x7b, 0xa2, 0x23, 0xa2, 0x1b, 0x87, 0x8a, 0xa3, 0xa2, 0x43, 0xa2, 0xe6, 0xb5, 0xe0, 0x63, 0x2a, 0x12, 0xc9, 0xe3, 0xa7, 0xf4, 0x3b, 0xb6, 0x6d, 0xbb, 0xb3, 0xb1, 0x7d, 0x35, 0x3c, 0xd6, 0x3d, 0x8, 0x99, 0x1e, 0x60, 0x23, 0xff, 0x3a, 0xbe, 0x9c, 0x37, 0x1b, 0xc8, 0xf9, 0x17, 0x16, 0x7d, 0xe1, 0x66, 0xfc, 0x97, 0xf1, 0xd9, 0xf5, 0x7c, 0x72, 0x75, 0x79, 0x33, 0x9b, 0x8f, 0xa6, 0xf3, 0x3e, 0xd, 0xce, 0xae, 0xde, 0xbd, 0xbf, 0x18, 0xf7, 0x6a, 0xf2, 0x66, 0x34, 0xb9, 0xe8, 0xf3, 0xfd, 0x7c, 0xf2, 0x6e, 0x7c, 0x7e, 0x73, 0x75, 0x3d, 0x6f, 0x6b, 0x2, 0xf1, 0x1a, 0xb6, 0xc4, 0x71, 0xeb, 0x0, 0xf8, 0x75, 0xb7, 0xf9, 0xc2, 0xb7, 0x9d, 0xa7, 0xa, 0x5f, 0xf7, 0xa3, 0xba, 0x91, 0x27, 0xa3, 0xb3, 0xf9, 0xe4, 0xd7, 0xc9, 0xfc, 0xb7, 0x6e, 0x13, 0xdc, 0xfb, 0xba, 0x71, 0x82, 0xc5, 0x6f, 0xdb, 0x26, 0x58, 0xfc, 0xba, 0x7, 0xc9, 0x6d, 0xbc, 0xd8, 0x23, 0x63, 0x74, 0x79, 0x36, 0xbe, 0xb8, 0x99, 0x8e, 0xff, 0x7c, 0x3d, 0x9e, 0x75, 0xa6, 0x1d, 0x1a, 0xd5, 0x7e, 0x6c, 0x28, 0x98, 0xb6, 0x30, 0x3, 0xbf, 0x79, 0x33, 0x99, 0xb6, 0x7c, 0xd1, 0x32, 0x54, 0xd5, 0x26, 0xe9, 0x36, 0xa3, 0xda, 0x96, 0xb5, 0x2d, 0xa8, 0x47, 0x3b, 0xc0, 0xf8, 0x2f, 0xf3, 0xf1, 0xf4, 0x72, 0x74, 0x51, 0xd5, 0x13, 0x55, 0x2, 0x3f, 0x46, 0x57, 0x8d, 0x2b, 0xdf, 0xd4, 0xb0, 0x23, 0x1f, 0xde, 0x8d, 0xa6, 0xbf, 0x8c, 0xa7, 0x37, 0xd3, 0xf1, 0xd9, 0xd5, 0xf4, 0xbc, 0x97, 0xf6, 0x9a, 0xfc, 0x7c, 0x39, 0xea, 0xa7, 0x5b, 0xc6, 0xd3, 0x77, 0x93, 0xcb, 0x6, 0xb6, 0x54, 0xaa, 0x3c, 0x2c, 0x2f, 0x7c, 0x4e, 0xf5, 0x85, 0x6b, 0x5a, 0x82, 0xb0, 0xdd, 0x9c, 0xbd, 0x9d, 0x5c, 0x9c, 0x3f, 0x65, 0x3d, 0x5a, 0x9a, 0x37, 0xae, 0x41, 0x6d, 0xab, 0xe6, 0xd, 0x50, 0xdb, 0xac, 0x4d, 0x31, 0x1c, 0x99, 0xca, 0x16, 0xa1, 0xaf, 0x6d, 0xd7, 0xa6, 0x66, 0xea, 0x1b, 0xb6, 0x49, 0x1, 0xa, 0xd6, 0x41, 0xfb, 0xab, 0x43, 0x17, 0x4f, 0xde, 0x57, 0x2d, 0x72, 0x7f, 0xfd, 0x7e, 0x36, 0x9e, 0xce, 0xf3, 0x86, 0xb3, 0xf1, 0x68, 0x7a, 0xf6, 0xf6, 0x66, 0x34, 0x9f, 0x4f, 0x27, 0xaf, 0xaf, 0xe7, 0xe3, 0x59, 0x77, 0xd9, 0xbf, 0x7e, 0x7f, 0x3e, 0x9a, 0x8f, 0x6f, 0x46, 0xe7, 0xef, 0x26, 0xf3, 0x5e, 0x9b, 0xc6, 0x36, 0x3c, 0x3b, 0x1b, 0xbf, 0x7f, 0x4a, 0xc3, 0xe9, 0xf8, 0x3f, 0xc7, 0x67, 0x4f, 0x69, 0xd8, 0xf9, 0xd4, 0x7e, 0x3f, 0xbd, 0x7a, 0x3f, 0x9e, 0xce, 0x27, 0xe3, 0xd9, 0xcd, 0xbb, 0xab, 0x73, 0xb0, 0x9b, 0x1c, 0xd3, 0x8b, 0x48, 0x65, 0x55, 0x87, 0xd0, 0x93, 0x5a, 0x37, 0x8d, 0x5d, 0xd3, 0xe4, 0x72, 0xfc, 0x97, 0xeb, 0xd9, 0x8d, 0xf9, 0x7a, 0x84, 0x4b, 0xdf, 0x62, 0xd, 0x94, 0xbe, 0x6f, 0xd4, 0x0, 0xfb, 0x5f, 0xb7, 0x31, 0x6f, 0xff, 0xfb, 0x46, 0x9, 0x2e, 0x75, 0xde, 0xbc, 0xcd, 0xf7, 0x3f, 0x6f, 0xdb, 0xdd, 0xd5, 0xdd, 0x3f, 0xe5, 0xd0, 0xbd, 0x7a, 0x6f, 0xfe, 0x67, 0x46, 0x12, 0xd4, 0x6f, 0x3a, 0xf9, 0x39, 0xda, 0x93, 0x75, 0x7b, 0xcd, 0xfb, 0x1a, 0xc9, 0xef, 0x47, 0xd7, 0xb3, 0x5e, 0xbb, 0xe3, 0xb2, 0x6f, 0xb, 0xc3, 0xff, 0x9b, 0xd9, 0x2f, 0x93, 0xf7, 0x50, 0x33, 0x7f, 0x3e, 0x1d, 0x5d, 0xce, 0x26, 0x73, 0x8, 0x30, 0x6c, 0xf6, 0xa0, 0x37, 0xdf, 0x48, 0xf6, 0xef, 0x4a, 0x27, 0xac, 0xba, 0xc1, 0x29, 0x7b, 0x1f, 0xf3, 0x40, 0x0, 0xcc, 0x28, 0xa1, 0xcc, 0x93, 0x67, 0xb, 0xfd, 0x7d, 0x7c, 0xbb, 0x15, 0x3c, 0x41, 0xdc, 0xce, 0xf, 0x65, 0x40, 0x22, 0xcc, 0xab, 0xdc, 0x41, 0x7c, 0x77, 0xa7, 0x1b, 0xd0, 0x69, 0x65, 0x2f, 0x5c, 0xa3, 0x63, 0x31, 0x4d, 0xa2, 0xbb, 0x3b, 0x91, 0x88, 0xf0, 0x15, 0x45, 0xe3, 0x41, 0x55, 0x7a, 0x17, 0x33, 0x54, 0xd1, 0x14, 0xb2, 0xdb, 0xf4, 0x80, 0x71, 0xcd, 0x1e, 0x45, 0x1c, 0x9b, 0xff, 0x75, 0x5f, 0xa5, 0xd1, 0x46, 0xa8, 0x2c, 0x75, 0x7e, 0x9, 0x4e, 0x81, 0x83, 0xad, 0xb4, 0x3a, 0x19, 0xab, 0xa5, 0xd6, 0xcf, 0x4, 0xdb, 0xc3, 0x89, 0x69, 0xa2, 0x96, 0xc2, 0xd7, 0x3b, 0x90, 0x80, 0x72, 0x5a, 0x3b, 0x7e, 0x31, 0x17, 0xad, 0x8e, 0x2, 0x1b, 0xd9, 0xb3, 0xd7, 0x81, 0x48, 0x12, 0x95, 0x74, 0xa0, 0xc1, 0x69, 0x86, 0x5a, 0x32, 0xc, 0x87, 0x43, 0x40, 0xbe, 0xc3, 0x5a, 0xf3, 0x39, 0x80, 0x36, 0xfa, 0x6f, 0x17, 0xf2, 0x5a, 0x63, 0x35, 0xf7, 0x30, 0x2b, 0xc4, 0x1a, 0x41, 0x5f, 0x84, 0xb8, 0x8e, 0x7e, 0x67, 0xe1, 0xa7, 0xda, 0x3d, 0x46, 0xe9, 0x3a, 0x92, 0x6e, 0x1, 0xb5, 0x48, 0xd3, 0x48, 0xde, 0xd5, 0xf3, 0xad, 0x78, 0x81, 0xf3, 0xc8, 0x85, 0x18, 0x11, 0x27, 0x5e, 0x36, 0xb7, 0x24, 0x74, 0xa5, 0xbe, 0x66, 0xe7, 0xbf, 0xb0, 0x20, 0x8e, 0x20, 0xe0, 0x89, 0xc4, 0x1e, 0x50, 0x0, 0x19, 0xb8, 0x65, 0x52, 0xc5, 0xb6, 0x89, 0x32, 0x6c, 0x6, 0x94, 0x40, 0x29, 0x1e, 0xad, 0xc0, 0x33, 0xf1, 0x20, 0x64, 0xc3, 0x42, 0xfa, 0x77, 0xc4, 0x2a, 0x72, 0x6c, 0xb0, 0x69, 0x5, 0x1d, 0xe6, 0xe7, 0x6d, 0x14, 0xdc, 0x8b, 0x90, 0x65, 0xdb, 0x22, 0xc3, 0xa0, 0x39, 0x15, 0x82, 0x20, 0xc2, 0x80, 0x81, 0x3d, 0xe9, 0xaa, 0x12, 0x6f, 0x47, 0x99, 0x5b, 0x4, 0xac, 0x97, 0xe6, 0x11, 0xd6, 0x46, 0x14, 0x51, 0x24, 0xc2, 0x4a, 0x82, 0xbc, 0x8e, 0x36, 0x7c, 0xc7, 0x54, 0xe2, 0x92, 0xf0, 0x4c, 0xfb, 0xa, 0xd9, 0x31, 0xdc, 0xf, 0x95, 0x5f, 0xb, 0xea, 0x51, 0x25, 0xf7, 0xe, 0xc, 0xfa, 0x74, 0x21, 0xdb, 0xaf, 0xf2, 0x85, 0x6f, 0xa, 0x77, 0xd5, 0xc2, 0x2f, 0xad, 0x86, 0x5c, 0xe1, 0xeb, 0xbd, 0x6b, 0x54, 0xe1, 0xb7, 0xae, 0x97, 0x93, 0x42, 0xa3, 0xa7, 0xdc, 0x36, 0x8b, 0xa3, 0xf6, 0x30, 0xa3, 0xb, 0xd, 0x9b, 0x74, 0x5f, 0xdb, 0x87, 0xa8, 0xa1, 0x5a, 0xbb, 0x23, 0x63, 0xa4, 0x7d, 0xd8, 0xe2, 0xe5, 0xaf, 0x59, 0x82, 0xab, 0x34, 0x13, 0xc8, 0xa1, 0x90, 0x0, 0x7c, 0x62, 0x8e, 0x10, 0xc6, 0xad, 0xfe, 0x58, 0xc8, 0x71, 0x4, 0x39, 0x5f, 0x5c, 0xfa, 0xf2, 0xc, 0x7e, 0x6b, 0xce, 0x62, 0x15, 0xf0, 0x98, 0x5, 0x3c, 0x58, 0xe7, 0x39, 0x67, 0xfc, 0x81, 0x47, 0x31, 0xa8, 0x0, 0xaf, 0xc0, 0xcb, 0xc0, 0x8, 0x6d, 0x94, 0xb2, 0x54, 0xa9, 0x7b, 0xf3, 0xff, 0x20, 0xe7, 0xd6, 0x3d, 0x59, 0x7a, 0x1d, 0x7b, 0x6a, 0xc3, 0x6, 0x13, 0x37, 0x4f, 0xa7, 0xa4, 0xec, 0x2b, 0xe6, 0x42, 0x9, 0xca, 0xb9, 0x46, 0x25, 0x7c, 0x6c, 0x2e, 0xbd, 0x94, 0x43, 0xd7, 0x1, 0x4e, 0x44, 0x9e, 0x84, 0x22, 0x15, 0xc9, 0x26, 0x92, 0x90, 0x83, 0xb3, 0x90, 0x2e, 0xa8, 0xbe, 0xf0, 0x71, 0x22, 0xb4, 0x48, 0x1d, 0x80, 0x1b, 0x7, 0x38, 0x5c, 0x1e, 0x23, 0x16, 0x2f, 0x25, 0x59, 0xc0, 0x2e, 0xde, 0x9f, 0x44, 0xcd, 0xa6, 0x3b, 0x65, 0x36, 0x9e, 0x9, 0xe7, 0x61, 0x68, 0x71, 0x9a, 0xb7, 0xa4, 0x55, 0x48, 0xed, 0x1a, 0xe5, 0x82, 0xaa, 0xc5, 0x87, 0xe1, 0x4a, 0xad, 0x6e, 0xc1, 0x63, 0x47, 0xd0, 0x6b, 0x1e, 0x50, 0x3, 0xc9, 0xb8, 0x7b, 0x59, 0x31, 0xe, 0xb3, 0xae, 0x68, 0x11, 0xe4, 0xfd, 0x75, 0xb2, 0x8, 0x2a, 0x3d, 0x7d, 0xfb, 0xb3, 0xf2, 0xb5, 0x38, 0x1d, 0x8a, 0xf2, 0xae, 0x34, 0xbb, 0xb2, 0x32, 0x2f, 0xf6, 0x52, 0x56, 0xe6, 0x85, 0x6f, 0xf2, 0x77, 0xce, 0x66, 0x1a, 0x3d, 0x8d, 0x5e, 0xa6, 0x72, 0x65, 0x96, 0x7f, 0xbd, 0x97, 0x5d, 0xdf, 0x42, 0x29, 0xd8, 0x81, 0xd5, 0x16, 0x46, 0x69, 0x12, 0xd, 0x8b, 0x32, 0x2a, 0xe3, 0xa9, 0xd5, 0x98, 0x40, 0x55, 0x3e, 0xd0, 0xc6, 0xc9, 0x14, 0x2d, 0xa0, 0x7c, 0x3a, 0x4d, 0xdc, 0x5e, 0x66, 0x69, 0xbd, 0xe5, 0x14, 0xa5, 0xfd, 0x26, 0x2, 0x56, 0x54, 0xcb, 0x3c, 0x3c, 0x3d, 0xe5, 0x7a, 0x28, 0xda, 0x4d, 0x3c, 0x8, 0x54, 0x12, 0x12, 0xc0, 0x68, 0xa5, 0x5, 0xe5, 0x1a, 0xba, 0x88, 0x6b, 0x9b, 0xd3, 0x62, 0xad, 0x24, 0xd2, 0x4f, 0x4d, 0x96, 0x52, 0xb3, 0x27, 0xf8, 0x94, 0x8d, 0x1c, 0x98, 0x44, 0xaa, 0x58, 0xc0, 0x65, 0x20, 0xe2, 0x22, 0xff, 0xc, 0xd5, 0x2a, 0x80, 0xb4, 0xfa, 0xf2, 0x1e, 0x7e, 0x8c, 0xe2, 0xd8, 0x37, 0x9a, 0x60, 0x7b, 0x25, 0x1b, 0xea, 0x28, 0x76, 0xf, 0xf5, 0x5c, 0xe6, 0x1d, 0x86, 0x59, 0x42, 0x8f, 0xaf, 0xf9, 0x18, 0x82, 0x27, 0xe9, 0x52, 0xf0, 0x16, 0x45, 0x63, 0x8f, 0x94, 0x3d, 0x9e, 0xa2, 0x9, 0x89, 0x23, 0x1a, 0x1a, 0x8b, 0x5d, 0x14, 0xe, 0x7f, 0x33, 0x5f, 0xc3, 0xb1, 0xc4, 0xdf, 0xc5, 0xd5, 0x2d, 0xc0, 0x6d, 0x5d, 0xfc, 0x7e, 0x15, 0x25, 0x75, 0x5f, 0x7b, 0xa4, 0x61, 0xf8, 0x45, 0x3b, 0x61, 0x1d, 0xdc, 0xb9, 0xfe, 0xf2, 0xb8, 0xe, 0x37, 0x58, 0x54, 0xcb, 0x5f, 0xac, 0xb2, 0x91, 0xde, 0x79, 0x30, 0x33, 0xc8, 0x9e, 0x32, 0xa0, 0x45, 0xa4, 0x1d, 0x5f, 0x58, 0x4a, 0x4b, 0x8c, 0xb5, 0x5e, 0x9b, 0xae, 0x74, 0xb5, 0x13, 0x7f, 0x8a, 0xd5, 0x73, 0xea, 0x5f, 0x1e, 0x5c, 0xc0, 0x2, 0x90, 0x48, 0x27, 0x60, 0xc9, 0x88, 0x4c, 0x76, 0x1e, 0x97, 0x8, 0x18, 0xd7, 0xf5, 0x72, 0x0, 0x4d, 0x56, 0x45, 0xed, 0xf, 0x18, 0xd0, 0x2d, 0x22, 0xf5, 0x57, 0x6, 0x1f, 0xa4, 0x45, 0xe8, 0xd, 0x8c, 0x29, 0x77, 0x9a, 0x65, 0x74, 0x9c, 0x5b, 0xe4, 0xf1, 0xfc, 0xf3, 0x7c, 0xae, 0x79, 0x9f, 0x4b, 0xc1, 0x56, 0x2a, 0x93, 0x25, 0x66, 0xf6, 0x79, 0x1d, 0x28, 0xd3, 0x5c, 0xba, 0xd1, 0xfa, 0x8c, 0x15, 0xa5, 0x6d, 0x5c, 0x41, 0xe2, 0x3e, 0x3d, 0x7b, 0x36, 0xb2, 0x91, 0xe0, 0xd, 0x87, 0x14, 0x13, 0x27, 0x18, 0x58, 0xc9, 0x55, 0x84, 0xc3, 0xb2, 0xda, 0xb5, 0xe0, 0xcb, 0x98, 0x45, 0x57, 0xab, 0x19, 0x41, 0xb, 0xe1, 0xc, 0x40, 0x3, 0x1, 0xd0, 0x89, 0xb9, 0x75, 0x8, 0x63, 0xa6, 0x19, 0xe1, 0x7c, 0xb4, 0x71, 0x4d, 0x24, 0x6, 0x99, 0xc, 0x45, 0xa2, 0x53, 0x38, 0x75, 0xd3, 0x61, 0x17, 0xaf, 0x5, 0x79, 0x80, 0x4b, 0x82, 0x7, 0x5, 0xbb, 0x8c, 0x5d, 0x36, 0x83, 0x92, 0x7a, 0xd6, 0x40, 0x32, 0x24, 0x55, 0x9d, 0x1f, 0x60, 0x21, 0xe2, 0x97, 0x18, 0xbc, 0xe2, 0x5b, 0x27, 0xf6, 0x17, 0xa, 0x6a, 0xe8, 0x72, 0x33, 0x77, 0x8e, 0xf5, 0x66, 0x7f, 0xa, 0x44, 0x55, 0xe0, 0x92, 0xa2, 0x1d, 0xc8, 0xe9, 0x62, 0xd7, 0x20, 0x7b, 0xf6, 0xbb, 0xbc, 0xe3, 0xd1, 0xfb, 0x9, 0xc6, 0xb9, 0xf1, 0xae, 0xa, 0x6c, 0xcf, 0x98, 0xdf, 0xe3, 0x5e, 0x83, 0xeb, 0x82, 0xc3, 0xdd, 0xb1, 0xf0, 0x35, 0xde, 0xdc, 0xbd, 0xe4, 0x4c, 0xb, 0x6c, 0xc2, 0x37, 0x84, 0xeb, 0xcd, 0x3, 0xd4, 0x75, 0x2e, 0xac, 0x2, 0xc2, 0xdb, 0xea, 0xdd, 0x2f, 0x3e, 0xf3, 0xb, 0xc3, 0xed, 0xbb, 0x95, 0xf6, 0xa7, 0xda, 0xf5, 0x76, 0x57, 0xde, 0x61, 0x20, 0x88, 0x24, 0x84, 0x8, 0xf4, 0xc9, 0x59, 0x50, 0xc8, 0x1f, 0xed, 0x39, 0x96, 0x55, 0x3f, 0xc5, 0x24, 0x54, 0x6f, 0x6, 0xae, 0x8e, 0x84, 0xe5, 0xdd, 0x2b, 0xe7, 0x5c, 0x2b, 0x79, 0x65, 0xf6, 0x69, 0x81, 0xca, 0x6d, 0x2a, 0x8e, 0x23, 0x5d, 0x71, 0x86, 0xb4, 0x3d, 0x82, 0x35, 0xd0, 0x54, 0x5a, 0xfc, 0xa, 0xd2, 0x3a, 0xe, 0xe6, 0x59, 0xbc, 0xdd, 0x87, 0xf3, 0x7c, 0x1b, 0x1d, 0x87, 0x69, 0x65, 0x73, 0x93, 0x33, 0xae, 0xfb, 0x64, 0xdc, 0x19, 0xdc, 0x38, 0x4e, 0xf3, 0x79, 0xda, 0xfe, 0x7c, 0xd7, 0xd2, 0x7d, 0xbb, 0x33, 0xaf, 0xeb, 0x80, 0x9e, 0x76, 0x6a, 0x9f, 0x90, 0xaf, 0x98, 0xf6, 0xb6, 0x40, 0xf, 0xb7, 0x46, 0xf3, 0x96, 0x23, 0x5, 0x5b, 0x73, 0x14, 0x9f, 0x1d, 0x43, 0x4b, 0x77, 0x7e, 0x87, 0xac, 0x30, 0x19, 0x70, 0xab, 0x36, 0x13, 0x79, 0x5d, 0xa1, 0xab, 0x8f, 0x64, 0x20, 0xe4, 0x87, 0x5c, 0xab, 0x61, 0x80, 0x34, 0x92, 0x5d, 0x50, 0x41, 0x65, 0x71, 0xd0, 0x56, 0xbf, 0x9a, 0x77, 0x30, 0x94, 0x81, 0x94, 0xf2, 0x8, 0x5b, 0x57, 0x37, 0xce, 0xdc, 0x4a, 0x77, 0x32, 0x58, 0x27, 0x4a, 0x42, 0x30, 0xa3, 0xb, 0x3d, 0x7c, 0x88, 0x74, 0x44, 0x85, 0x7c, 0xc0, 0x0, 0xe8, 0x70, 0x48, 0xed, 0x3d, 0xb9, 0x9e, 0xb2, 0x91, 0xb4, 0x41, 0xf9, 0xe6, 0xb0, 0xe3, 0xe1, 0x26, 0x4a, 0xa1, 0xe2, 0xc5, 0xa5, 0x4a, 0x29, 0x2d, 0x3, 0x5c, 0x43, 0x46, 0x1c, 0xe8, 0x37, 0x7, 0x2b, 0x64, 0x91, 0xed, 0x24, 0xd5, 0x86, 0x1, 0x13, 0x60, 0xc8, 0x66, 0xc2, 0x46, 0xf4, 0x8f, 0xa8, 0x5, 0x84, 0xa1, 0x5d, 0x25, 0xd1, 0x5d, 0x84, 0xa9, 0x2, 0x3a, 0x4a, 0x33, 0x8a, 0x16, 0x8d, 0x24, 0x1, 0x60, 0xf8, 0xe, 0x97, 0x28, 0x8f, 0x2e, 0xef, 0x31, 0x25, 0x7a, 0xc, 0x2e, 0x4d, 0x9, 0xea, 0xee, 0x8b, 0x90, 0xbd, 0x88, 0x86, 0x62, 0x68, 0xb3, 0x82, 0x1f, 0x78, 0x1c, 0x85, 0x4, 0xd8, 0xb8, 0x15, 0xc9, 0x9a, 0x6f, 0xb5, 0x13, 0x32, 0xa9, 0xec, 0xcf, 0x2a, 0x61, 0x58, 0xd3, 0x18, 0x6a, 0xfc, 0xbd, 0xec, 0x4e, 0x8c, 0x7d, 0x60, 0x26, 0x90, 0x9, 0x34, 0x8e, 0x22, 0x1b, 0x4e, 0xfe, 0x98, 0x18, 0xb6, 0x0, 0x82, 0x2f, 0x39, 0x8c, 0x7b, 0xcc, 0xd3, 0xf7, 0x7a, 0xb8, 0x89, 0xd6, 0x6a, 0xdf, 0x8e, 0xf, 0xd2, 0xa7, 0x6c, 0xa6, 0x36, 0x10, 0x1c, 0xbe, 0x15, 0x49, 0xa, 0x8e, 0xea, 0x3c, 0x88, 0xd2, 0xaf, 0x5a, 0xa, 0x52, 0xb, 0x8a, 0xe1, 0x71, 0xad, 0x62, 0x81, 0xd9, 0xa7, 0x98, 0xd, 0xd, 0x68, 0x69, 0x52, 0xc9, 0x93, 0x3c, 0x86, 0xd8, 0xa6, 0xc1, 0xb, 0x16, 0x46, 0x3a, 0x8d, 0xd0, 0xd5, 0x6, 0x81, 0xe0, 0x14, 0xf7, 0xc8, 0x1e, 0xf4, 0xd0, 0x10, 0xbf, 0xe1, 0x32, 0x3c, 0x59, 0x72, 0x8d, 0x20, 0x48, 0xd1, 0xca, 0x96, 0xad, 0x35, 0x16, 0x9b, 0xd9, 0x9c, 0x29, 0xc7, 0x3a, 0x59, 0xce, 0xe7, 0xc8, 0xe5, 0x42, 0x6e, 0x78, 0x84, 0xd8, 0xa4, 0xb9, 0xbf, 0x6f, 0x83, 0xa1, 0xff, 0x99, 0x73, 0x2a, 0x15, 0xfb, 0xe6, 0xdb, 0x6d, 0xa2, 0x78, 0xb0, 0x2e, 0xb1, 0xbb, 0xe3, 0xcb, 0x7b, 0x2b, 0x9b, 0xb8, 0x64, 0x3c, 0x4e, 0x4, 0xf, 0x77, 0x27, 0xde, 0xb3, 0x4b, 0x7e, 0x61, 0xff, 0x5d, 0x30, 0xab, 0x49, 0xa6, 0x3c, 0xdd, 0xe6, 0x71, 0xc6, 0xc7, 0xd3, 0x83, 0x62, 0x57, 0x85, 0x59, 0xef, 0xf7, 0x5f, 0x1b, 0x95, 0x60, 0x2e, 0x54, 0x18, 0xb4, 0x9f, 0x23, 0x3a, 0x16, 0xfc, 0xac, 0x34, 0x17, 0xce, 0x2c, 0xd8, 0x5a, 0x31, 0x79, 0xcf, 0x4e, 0xb0, 0x34, 0xa3, 0x9a, 0xb8, 0x6, 0xd8, 0x61, 0xdc, 0xea, 0x5e, 0x95, 0xe9, 0xea, 0xd1, 0xc9, 0x4a, 0x5f, 0xee, 0x18, 0xa7, 0xf, 0xd6, 0x5c, 0x86, 0xb1, 0x48, 0x5a, 0xc7, 0xf1, 0xf7, 0x72, 0xa9, 0xef, 0x1a, 0x80, 0xd0, 0xb6, 0x3e, 0x9d, 0x17, 0xb1, 0xd4, 0xe1, 0x8a, 0x47, 0x71, 0x85, 0x4a, 0xad, 0x8b, 0xa4, 0x68, 0xa6, 0x9, 0x6e, 0x46, 0xc6, 0x28, 0xeb, 0xd0, 0xa3, 0xef, 0x10, 0x2c, 0x75, 0xe9, 0xc, 0xb0, 0x8e, 0x84, 0x15, 0x3d, 0x44, 0x55, 0xb, 0xe2, 0xdd, 0xe3, 0x95, 0x39, 0x48, 0x2d, 0x9d, 0x4e, 0x3a, 0xa6, 0xf8, 0xc1, 0x19, 0xfc, 0xbd, 0xa3, 0x88, 0xb4, 0x47, 0x76, 0x54, 0x5e, 0x4a, 0x11, 0x8f, 0x22, 0x7, 0x3c, 0xa2, 0xd, 0xd0, 0x73, 0xae, 0x45, 0x41, 0xa9, 0xf4, 0x4a, 0x61, 0x55, 0xc1, 0x4a, 0xf9, 0xf4, 0x4d, 0x99, 0x50, 0xc4, 0xd1, 0x3, 0x3c, 0xae, 0x90, 0x7f, 0xa1, 0xa7, 0xc0, 0x56, 0xc5, 0x95, 0xf4, 0xa4, 0x9, 0xcd, 0x6, 0x44, 0x4c, 0xe1, 0xe4, 0x51, 0xee, 0xc2, 0x6e, 0xc, 0x31, 0x81, 0x3d, 0x49, 0xce, 0x6, 0x80, 0xfe, 0xf0, 0xa0, 0xf1, 0xc9, 0x1b, 0x56, 0x51, 0x42, 0xca, 0xd9, 0xdd, 0x5b, 0x73, 0xc2, 0x77, 0x33, 0x2b, 0x2e, 0x3b, 0xf, 0xb8, 0x4d, 0xc4, 0x43, 0xa4, 0x32, 0xd, 0xa0, 0x23, 0x99, 0xae, 0xc4, 0x8b, 0xca, 0x49, 0xc8, 0x64, 0x77, 0x22, 0xea, 0xc3, 0x64, 0x1a, 0xc8, 0x8a, 0x36, 0x82, 0xe9, 0xfb, 0x68, 0xbb, 0x5, 0x69, 0xf, 0x1f, 0x10, 0x5c, 0x10, 0xfe, 0x6c, 0xd, 0x9a, 0x48, 0xf3, 0x65, 0xbc, 0xf, 0x8a, 0xca, 0xf8, 0x2a, 0x15, 0x66, 0xc5, 0x0, 0xab, 0xdb, 0xa6, 0xe3, 0x1a, 0x4d, 0x3a, 0xcc, 0x23, 0x6c, 0x1c, 0xf2, 0xec, 0x87, 0xb5, 0x40, 0x6b, 0x6, 0x2c, 0x37, 0xc0, 0xfc, 0x36, 0x67, 0x15, 0x3c, 0x7c, 0x3, 0xce, 0x2e, 0x9d, 0x73, 0xa1, 0xb2, 0x68, 0x29, 0x58, 0x78, 0x8b, 0xce, 0x35, 0xb4, 0x73, 0x5f, 0x67, 0xab, 0x95, 0x48, 0xc6, 0x68, 0x1e, 0x49, 0x9b, 0x19, 0x2, 0xa5, 0x4c, 0x0, 0xa, 0x47, 0x24, 0xc3, 0x3b, 0x65, 0x44, 0x75, 0xc3, 0xef, 0x5, 0x43, 0x48, 0x16, 0x78, 0x20, 0xc7, 0xe3, 0x2a, 0x49, 0x44, 0x90, 0x12, 0x17, 0x54, 0x12, 0xa, 0x48, 0x68, 0xd8, 0xcf, 0x81, 0xa0, 0xd3, 0xb3, 0x8c, 0xc9, 0x0, 0x22, 0x3b, 0xb5, 0xca, 0x2, 0x88, 0xa8, 0xc4, 0x21, 0xed, 0x9d, 0x67, 0x2, 0xc9, 0x1e, 0xdc, 0xf6, 0xd9, 0xf, 0x69, 0xbc, 0x5b, 0xe9, 0x8b, 0x28, 0xb4, 0x46, 0xd9, 0xed, 0x53, 0x3c, 0xca, 0xb7, 0x4e, 0x72, 0x9c, 0x71, 0xa, 0xcc, 0xd4, 0x5b, 0x25, 0x43, 0xbd, 0x90, 0x69, 0xd, 0xb4, 0x80, 0x6c, 0x43, 0xd6, 0xef, 0x90, 0xcf, 0xe6, 0xd0, 0xf9, 0x9d, 0x53, 0x55, 0x9d, 0x2c, 0xc5, 0x89, 0xbb, 0xe1, 0xbb, 0xbd, 0x33, 0x84, 0xf0, 0x9, 0xc4, 0x59, 0xbb, 0x9e, 0xb0, 0x54, 0xa9, 0xd8, 0x5d, 0x8f, 0xa0, 0x8e, 0xbc, 0xa3, 0xe6, 0x16, 0x53, 0x89, 0xe0, 0xa5, 0x8b, 0x72, 0xab, 0x36, 0x99, 0x4e, 0xf7, 0xbe, 0xba, 0x89, 0xc2, 0x5b, 0xf0, 0x96, 0xd6, 0xe4, 0x4f, 0xe5, 0x25, 0x1b, 0xda, 0x16, 0xac, 0xb2, 0x79, 0x9, 0xc6, 0xe3, 0xc9, 0x9, 0xff, 0x1d, 0xd2, 0xdf, 0xeb, 0x64, 0xda, 0xde, 0x54, 0xbf, 0x56, 0x61, 0xee, 0xe3, 0xfc, 0x68, 0x16, 0x62, 0xf6, 0x49, 0x65, 0xd8, 0xe9, 0x7b, 0xbc, 0xcc, 0xc2, 0xb1, 0x4b, 0x4b, 0xf1, 0x4d, 0x8c, 0xf7, 0x51, 0x0, 0xd3, 0x44, 0x95, 0x92, 0xe5, 0x9e, 0x56, 0x97, 0xb3, 0x7d, 0xa7, 0xec, 0x95, 0xd1, 0x38, 0x60, 0x1f, 0xd8, 0xc2, 0x19, 0xcf, 0x57, 0x8c, 0xca, 0xf4, 0xac, 0x53, 0xbe, 0xd9, 0xe6, 0xf9, 0xeb, 0x67, 0x98, 0xdd, 0xcb, 0xf4, 0x63, 0x94, 0xe6, 0x35, 0xdb, 0x4, 0x41, 0xe0, 0x43, 0xf6, 0xf3, 0x5e, 0x3d, 0x8f, 0x4f, 0x58, 0x7a, 0xa5, 0x94, 0xa9, 0xe8, 0x95, 0x2d, 0x22, 0xf8, 0x51, 0xcd, 0xb8, 0x5f, 0x85, 0xc4, 0x2b, 0x35, 0xc3, 0xb4, 0xc3, 0x1e, 0xe4, 0x2c, 0xaf, 0xd8, 0x52, 0xb1, 0x7c, 0xc5, 0xba, 0x7, 0xbd, 0xd7, 0x8d, 0x8a, 0xe9, 0x3f, 0x65, 0x2f, 0x68, 0x95, 0x25, 0x7, 0xe9, 0x9, 0x73, 0x99, 0xc7, 0x4e, 0x50, 0x4b, 0xb9, 0x8a, 0x55, 0xe0, 0xb, 0x23, 0x4, 0xd4, 0x1, 0x13, 0xc3, 0xbb, 0x21, 0x9b, 0xef, 0xb6, 0x62, 0x6, 0x8d, 0xcd, 0x9d, 0xfd, 0x15, 0xfb, 0x4f, 0xfe, 0xc0, 0x67, 0xe7, 0xbf, 0x2c, 0xe4, 0x44, 0x22, 0xc2, 0x3d, 0x68, 0x91, 0xd4, 0x3d, 0x62, 0xa1, 0x30, 0x24, 0x62, 0xbd, 0xb, 0x13, 0x8e, 0x58, 0x9f, 0x86, 0xa7, 0xc1, 0x3d, 0x4b, 0x13, 0xa3, 0x99, 0x0, 0x6c, 0xdf, 0xd8, 0xd7, 0x1f, 0x3, 0x81, 0xf9, 0xd0, 0xc8, 0xb1, 0x7a, 0x30, 0xe1, 0xe0, 0x7e, 0x9e, 0xb4, 0xeb, 0xc5, 0xca, 0xd6, 0x42, 0x9a, 0x8b, 0x7c, 0xd8, 0x1f, 0xc6, 0xbd, 0x4b, 0x72, 0xf7, 0x28, 0x86, 0xd3, 0x2e, 0x8d, 0x1e, 0x4, 0x7b, 0xe4, 0xf8, 0x9a, 0x94, 0x6d, 0xb7, 0xf1, 0x8e, 0xdd, 0xd2, 0xe2, 0xde, 0x82, 0x76, 0xbd, 0x85, 0x39, 0xdc, 0xc0, 0xf4, 0xf1, 0x2f, 0x5b, 0xa5, 0x75, 0xb4, 0x8c, 0x77, 0x84, 0x7e, 0x9e, 0xbb, 0x59, 0x7, 0xc8, 0x40, 0x0, 0x26, 0xc1, 0x74, 0x6f, 0xf4, 0xb5, 0x2c, 0x24, 0x6, 0xb8, 0xb8, 0x15, 0x42, 0xc0, 0x0, 0x74, 0x5a, 0x98, 0x29, 0x92, 0x82, 0xc7, 0xe2, 0xe0, 0xb6, 0x36, 0x8e, 0x16, 0x50, 0xc2, 0xf6, 0xa1, 0x0, 0xea, 0x48, 0xbe, 0x9c, 0x5b, 0x62, 0xcd, 0x4d, 0x3e, 0xf8, 0xad, 0xcb, 0x36, 0x47, 0xf, 0x76, 0x62, 0x77, 0xb, 0xc4, 0xdb, 0xda, 0xac, 0x75, 0x8, 0x2b, 0xc1, 0x25, 0x23, 0x9, 0x81, 0xc4, 0x75, 0xfc, 0xb, 0xa0, 0xb1, 0xb2, 0x5b, 0x92, 0xa7, 0x5b, 0x44, 0x75, 0x58, 0x48, 0x62, 0x7, 0xd4, 0x83, 0x37, 0x52, 0xc4, 0xb3, 0x74, 0xad, 0x12, 0xd, 0xa5, 0x1c, 0x6c, 0xf4, 0x8a, 0xd, 0x3d, 0x4b, 0xd4, 0x43, 0x14, 0xa, 0xa8, 0x44, 0xf, 0xe1, 0xf5, 0x96, 0x52, 0xea, 0x73, 0xe4, 0x91, 0xb, 0xcc, 0xd, 0x45, 0xcd, 0xaf, 0xd1, 0x66, 0x1b, 0x3, 0xd2, 0xb, 0xdd, 0xe7, 0xd7, 0x3c, 0x3d, 0x5d, 0x48, 0xc6, 0x4e, 0xd8, 0xb5, 0x86, 0xe4, 0x76, 0x9f, 0x6e, 0x10, 0x59, 0x3b, 0xdd, 0xdb, 0xff, 0xcd, 0x88, 0xe2, 0x1, 0xf3, 0xd6, 0x8e, 0xfd, 0xdf, 0xdb, 0x21, 0x76, 0x70, 0xf5, 0x20, 0x12, 0x0, 0x51, 0xa4, 0x7a, 0x6b, 0xb8, 0x28, 0xb1, 0x6d, 0x85, 0x9e, 0xf0, 0xc5, 0x77, 0x63, 0x64, 0xb1, 0x8b, 0x16, 0xfc, 0xce, 0xc, 0x63, 0x2f, 0x44, 0x78, 0x3d, 0xda, 0xc0, 0xfb, 0xb8, 0x7, 0xb9, 0x19, 0x58, 0x37, 0xbb, 0xf8, 0x68, 0x6, 0x25, 0x5f, 0x73, 0xc3, 0x98, 0x3e, 0x81, 0x18, 0x44, 0x29, 0x99, 0xf0, 0x40, 0x3a, 0xa9, 0x79, 0x5e, 0xf2, 0xc5, 0x88, 0x8e, 0x3f, 0x75, 0xa8, 0x3d, 0x22, 0x1f, 0x44, 0x42, 0x9e, 0x9, 0x2b, 0x4, 0xb9, 0xff, 0xcd, 0xae, 0x4, 0xfd, 0x72, 0x46, 0x5f, 0x17, 0x12, 0x14, 0x96, 0x22, 0xf, 0x39, 0x36, 0x23, 0x32, 0xfb, 0x6e, 0x65, 0x44, 0xf4, 0x84, 0x56, 0x35, 0xcc, 0xbb, 0x8, 0x45, 0x60, 0xa4, 0xe1, 0x84, 0x21, 0xd0, 0x41, 0x22, 0xbe, 0xd7, 0x2c, 0x14, 0x1b, 0x2e, 0xc3, 0x1, 0x7b, 0x14, 0xc4, 0x6, 0x6e, 0x4e, 0x13, 0xa6, 0x10, 0xea, 0x77, 0x9f, 0x1a, 0x23, 0x34, 0xfb, 0x6b, 0xac, 0x18, 0xa, 0xb, 0x6d, 0x2c, 0xb5, 0xe5, 0x7f, 0xcf, 0x84, 0x53, 0x6f, 0xb9, 0xa8, 0xd7, 0x56, 0x53, 0xcd, 0x74, 0xef, 0x62, 0x36, 0x95, 0x3d, 0xf1, 0xad, 0x3b, 0x51, 0xe8, 0xbb, 0x3e, 0x58, 0x5b, 0xa3, 0xea, 0xd6, 0x95, 0x23, 0x51, 0xb0, 0xd9, 0x13, 0x46, 0x99, 0x97, 0x5b, 0xd6, 0x70, 0x5, 0xfd, 0x54, 0x4f, 0x18, 0xe2, 0xac, 0xa2, 0x69, 0xf5, 0x2c, 0xdc, 0xbb, 0xe3, 0x53, 0x26, 0x52, 0xd9, 0xb8, 0xfa, 0x38, 0x1, 0xfb, 0xf5, 0x9, 0x63, 0xcc, 0x4a, 0xd, 0x2b, 0xfb, 0x87, 0xe8, 0x5d, 0x6b, 0x72, 0x3e, 0x61, 0x98, 0x69, 0x5d, 0xfb, 0x6a, 0x29, 0x23, 0xf, 0xfe, 0x53, 0x44, 0xac, 0xa2, 0x69, 0xf5, 0xea, 0xaf, 0xa3, 0x38, 0x2c, 0x19, 0xd1, 0x4f, 0x91, 0x85, 0xd6, 0x8e, 0xaa, 0xef, 0xd, 0xd5, 0x5, 0xc4, 0x9e, 0x40, 0x40, 0xd1, 0xa3, 0xda, 0x6d, 0xe0, 0xb7, 0xe8, 0x80, 0x7c, 0xea, 0x68, 0x15, 0xcd, 0xdb, 0xaf, 0x6, 0x22, 0xd, 0xd6, 0x8, 0xec, 0x81, 0xf0, 0x9c, 0xc7, 0xc3, 0x3a, 0xed, 0x8f, 0x16, 0xea, 0xda, 0xb4, 0x99, 0x93, 0x38, 0x40, 0x31, 0x96, 0xbb, 0xc3, 0x3d, 0xe8, 0x67, 0x91, 0xd2, 0x5d, 0xc2, 0x30, 0xe7, 0x28, 0x85, 0xac, 0xb0, 0xf0, 0x88, 0x8, 0xcf, 0x20, 0x7a, 0xb2, 0x16, 0xa6, 0xf1, 0xe9, 0x8, 0xde, 0x75, 0x86, 0x67, 0xb, 0x52, 0xee, 0x2f, 0x2, 0xb, 0x7a, 0x63, 0x50, 0x27, 0x20, 0x5c, 0x45, 0x43, 0xc1, 0x16, 0xdf, 0xa5, 0xf4, 0xce, 0x7f, 0x72, 0xa7, 0x16, 0xdf, 0xd, 0xfc, 0x3f, 0xfc, 0x8d, 0x3f, 0x70, 0xf3, 0x27, 0x95, 0xf8, 0x7f, 0xd, 0xe2, 0x68, 0xf1, 0xdd, 0x70, 0x21, 0x7f, 0x75, 0xb8, 0xd3, 0x5c, 0xde, 0x51, 0x25, 0x2c, 0x3b, 0x79, 0xe6, 0xca, 0x28, 0x82, 0x27, 0x20, 0x1f, 0x17, 0x87, 0xfc, 0xff, 0xfd, 0x34, 0xfc, 0x69, 0xf8, 0x13, 0xfb, 0x1f, 0xff, 0xf3, 0xa7, 0xe1, 0xbf, 0xe, 0x7f, 0x64, 0xff, 0xe7, 0xff, 0xb0, 0xff, 0xff, 0x9f, 0x86, 0x3f, 0xe, 0x7f, 0x5c, 0x7c, 0x57, 0x5b, 0xe, 0x29, 0xe9, 0x7c, 0x4d, 0xab, 0x56, 0x23, 0xb4, 0xca, 0x4f, 0xba, 0xfc, 0x3f, 0xf4, 0xc7, 0x6b, 0x6e, 0xc5, 0x67, 0x26, 0x82, 0x2e, 0xdb, 0x51, 0xb0, 0x2a, 0x9b, 0xd3, 0x3, 0xf9, 0x6c, 0xcd, 0x93, 0xb0, 0xb1, 0x8e, 0x70, 0x24, 0x53, 0x71, 0x27, 0x92, 0x86, 0xcb, 0xeb, 0x1f, 0xff, 0x50, 0x7, 0x8c, 0x9b, 0xe8, 0x48, 0xa7, 0x42, 0x6, 0x62, 0x96, 0xaa, 0x72, 0x95, 0xbd, 0x4e, 0x9c, 0x73, 0xa1, 0x18, 0x4f, 0xee, 0x2, 0x1d, 0x6d, 0xf1, 0x9b, 0x67, 0xae, 0x92, 0xba, 0xe7, 0xa, 0x98, 0x58, 0x9c, 0xc6, 0x67, 0xf2, 0x9, 0xec, 0x6d, 0xce, 0x6a, 0x3d, 0x94, 0x87, 0x8c, 0x46, 0xa5, 0x72, 0x94, 0x2e, 0x3a, 0xc7, 0x22, 0x9d, 0xed, 0xfb, 0x8, 0x4c, 0x97, 0x58, 0x1d, 0xe4, 0xc8, 0xb8, 0xf6, 0xfb, 0x9d, 0x7e, 0x85, 0xb5, 0x8d, 0x7f, 0x16, 0x5, 0xa6, 0xf0, 0x60, 0xcd, 0x51, 0x4a, 0xbf, 0xc0, 0xaa, 0xcf, 0x5, 0xeb, 0x2e, 0xa7, 0xb4, 0x7f, 0xbf, 0xfe, 0x3c, 0xeb, 0xd1, 0x29, 0x31, 0x44, 0xe9, 0xb9, 0xb1, 0x29, 0x7d, 0x5a, 0x58, 0x2c, 0x1e, 0x44, 0xec, 0x7c, 0x7, 0x1b, 0x81, 0xd0, 0x85, 0xda, 0xc6, 0xc3, 0x5, 0x6b, 0x41, 0x95, 0x1a, 0x53, 0xe7, 0x9, 0xd4, 0x5e, 0x9d, 0x20, 0xf2, 0x9, 0x42, 0x19, 0x84, 0x85, 0xc4, 0xd8, 0xa6, 0x14, 0xe3, 0xe3, 0x2, 0x1e, 0x7, 0x58, 0xaa, 0xa3, 0x11, 0x91, 0xed, 0xb9, 0x65, 0xad, 0x0, 0xe1, 0x7a, 0x14, 0xfc, 0xf5, 0x32, 0x10, 0x6e, 0xa3, 0x10, 0x38, 0xe0, 0xdc, 0x2e, 0x6, 0xd1, 0x6c, 0xa7, 0x53, 0xb1, 0x39, 0x9a, 0x3d, 0xd4, 0xe3, 0xe4, 0x6e, 0x92, 0x18, 0x57, 0xbb, 0x68, 0xe5, 0x61, 0x5, 0xd6, 0xde, 0xa3, 0xb7, 0x28, 0x5b, 0x15, 0x68, 0xee, 0x75, 0x2c, 0xaa, 0x9c, 0xf8, 0x99, 0xdf, 0x51, 0xb3, 0x2f, 0x2e, 0x66, 0xfe, 0xa8, 0x48, 0x23, 0xf4, 0xe7, 0x4a, 0xd1, 0x75, 0x33, 0x47, 0x5b, 0x88, 0x38, 0x64, 0x25, 0xe0, 0xe5, 0x65, 0x24, 0xc3, 0x3f, 0x67, 0x22, 0xd9, 0xbd, 0x15, 0x3c, 0x2c, 0x83, 0xfe, 0xed, 0x97, 0x2, 0x6f, 0x34, 0xbb, 0xa1, 0xa2, 0xcd, 0x8a, 0x5e, 0x74, 0xc0, 0x19, 0xf3, 0x77, 0xd3, 0x33, 0x5b, 0x43, 0xd7, 0x58, 0x4f, 0xcb, 0x59, 0x84, 0xb5, 0x15, 0x93, 0xf1, 0xc9, 0x6e, 0x9c, 0x24, 0x2a, 0x39, 0x8f, 0x56, 0x0, 0xa8, 0x99, 0x46, 0xbc, 0xea, 0x89, 0xe5, 0x29, 0xc4, 0xd9, 0xfe, 0x29, 0x43, 0xf, 0x68, 0xa, 0xbd, 0x61, 0x6c, 0x61, 0x8, 0x74, 0xd8, 0xb8, 0x92, 0xae, 0xf4, 0xf5, 0x4a, 0x25, 0x6c, 0x9b, 0x25, 0x5b, 0xa5, 0xe1, 0xcf, 0xb, 0x99, 0x88, 0x34, 0xd9, 0x21, 0x4e, 0x81, 0x3c, 0xd9, 0xeb, 0x1b, 0xdc, 0x8b, 0x50, 0x68, 0x2c, 0x93, 0x5a, 0xa4, 0xaf, 0x56, 0x3c, 0xd6, 0x62, 0x40, 0x86, 0x2f, 0x54, 0x67, 0x49, 0x76, 0x10, 0x31, 0x4a, 0xfe, 0x38, 0x3d, 0x64, 0xf0, 0x75, 0x9a, 0x64, 0xde, 0x67, 0xe4, 0xcf, 0x52, 0x54, 0x44, 0x27, 0xd9, 0x2d, 0x64, 0xd5, 0x58, 0x1d, 0x2f, 0xe4, 0x0, 0x70, 0xfb, 0xd6, 0xa6, 0xd2, 0xf5, 0x62, 0x68, 0xfe, 0xfe, 0x42, 0xac, 0x44, 0x79, 0xc, 0xed, 0xcd, 0x7d, 0xce, 0xf5, 0xfd, 0x1b, 0x8, 0x9d, 0x82, 0x9c, 0x10, 0x57, 0x70, 0x11, 0x51, 0x75, 0xd, 0x8f, 0x5c, 0xa, 0x9f, 0x2d, 0xb8, 0x5b, 0x63, 0xdb, 0x53, 0x4b, 0x1b, 0x9c, 0x56, 0x7b, 0x65, 0xea, 0xb2, 0xee, 0x33, 0x4b, 0x46, 0x1e, 0xfc, 0xe6, 0x1e, 0x21, 0x57, 0x82, 0xa7, 0xc0, 0xf7, 0x46, 0x67, 0x7d, 0xc9, 0x95, 0x7b, 0x18, 0xd7, 0xe8, 0x18, 0x83, 0xec, 0x69, 0x70, 0x47, 0x6b, 0x1b, 0x98, 0x42, 0xe0, 0xc3, 0x64, 0xc7, 0xd, 0xf9, 0x36, 0x1a, 0x92, 0x64, 0xc, 0x1f, 0x7e, 0x1a, 0x12, 0x19, 0xc3, 0xb2, 0x9f, 0xbc, 0x9a, 0xfa, 0x65, 0x16, 0xc5, 0xe1, 0x24, 0x7c, 0xcd, 0xb5, 0x8, 0xf3, 0x32, 0x65, 0x47, 0xa1, 0xdd, 0x2d, 0xad, 0xf, 0x17, 0xec, 0x82, 0xba, 0xcc, 0xbe, 0x1f, 0xf9, 0x39, 0xda, 0x9a, 0x61, 0xa0, 0xa4, 0x31, 0x55, 0xe9, 0x5e, 0xfe, 0xbd, 0x66, 0x40, 0xdf, 0x4d, 0x14, 0x2e, 0xe4, 0xb, 0x2d, 0xc4, 0xe9, 0x42, 0xae, 0xd3, 0x74, 0xab, 0x4f, 0x5f, 0xbd, 0xba, 0x8b, 0xd2, 0x75, 0xb6, 0x1c, 0x6, 0x6a, 0xf3, 0xca, 0xf2, 0x22, 0x52, 0xaf, 0x8c, 0x12, 0x53, 0x9a, 0xc7, 0xfa, 0xd5, 0x32, 0x56, 0xcb, 0x57, 0xfc, 0xa7, 0x3f, 0xfc, 0x91, 0xaf, 0xfe, 0xb8, 0xfc, 0xd3, 0x9f, 0xfe, 0x7d, 0xf5, 0xaf, 0x7f, 0xc, 0x97, 0x3f, 0xfd, 0x37, 0xc1, 0xff, 0x5b, 0x18, 0xfe, 0xf1, 0xa7, 0xff, 0xfe, 0x6f, 0x3f, 0x2e, 0x57, 0xcb, 0x7f, 0xfb, 0xd3, 0xbf, 0x6, 0xff, 0x1a, 0x6, 0x7f, 0x12, 0xaf, 0xf2, 0x52, 0x85, 0xaf, 0x70, 0xe8, 0x13, 0x7b, 0x13, 0x1d, 0x6e, 0xc2, 0x97, 0x35, 0x10, 0xd5, 0x5b, 0x2d, 0x92, 0xf4, 0x5d, 0x45, 0x59, 0xe0, 0xc3, 0xd8, 0x85, 0xfd, 0x1a, 0x66, 0x39, 0x11, 0x84, 0xda, 0xc3, 0xd5, 0xd2, 0xc7, 0xef, 0x44, 0x62, 0x99, 0x3a, 0x4b, 0x79, 0x72, 0xe0, 0x6e, 0xdd, 0x27, 0x6, 0xfa, 0xcf, 0x9, 0x81, 0x64, 0x7a, 0x7f, 0x3d, 0x1d, 0x74, 0x81, 0x19, 0xba, 0xe4, 0x26, 0x33, 0x5b, 0xbc, 0x66, 0xf7, 0x86, 0xf7, 0xef, 0x44, 0xca, 0x43, 0x9e, 0xf2, 0xc3, 0x8, 0xf6, 0x10, 0x80, 0xef, 0xa5, 0x7a, 0xd4, 0x5e, 0xd9, 0x7d, 0x1d, 0xde, 0xb3, 0xd, 0xd, 0x42, 0xc1, 0x0, 0x4a, 0xb2, 0xf, 0x6f, 0xe6, 0x36, 0xf0, 0xd2, 0x15, 0x1e, 0x84, 0x3c, 0xf, 0x4c, 0x26, 0x5c, 0xc8, 0x8, 0x82, 0xa7, 0xe8, 0xa6, 0x5c, 0xf7, 0xec, 0x9e, 0xc9, 0xf4, 0xe7, 0x44, 0x65, 0xdb, 0xd7, 0xbb, 0x3c, 0x5a, 0xa4, 0xb2, 0xca, 0xdc, 0x93, 0x67, 0xe3, 0x96, 0x0, 0x6, 0x63, 0x77, 0x66, 0x34, 0xb6, 0xf4, 0xb3, 0xc7, 0xf1, 0xcd, 0xb7, 0xc1, 0xd, 0x78, 0x8c, 0x93, 0xb0, 0x8a, 0xa2, 0xbd, 0x18, 0x44, 0x6d, 0xd3, 0x2f, 0x57, 0x31, 0x87, 0x9a, 0x80, 0xa1, 0xd8, 0xa, 0x19, 0x1a, 0x4b, 0x77, 0xa9, 0xd2, 0x35, 0x43, 0xf0, 0x68, 0xd3, 0x83, 0xad, 0x70, 0x60, 0x78, 0x6e, 0x24, 0x7, 0x3b, 0xc2, 0xb8, 0x52, 0x21, 0x31, 0x88, 0xee, 0x21, 0xe2, 0xce, 0x88, 0xaf, 0x73, 0xcb, 0x95, 0x5c, 0x3c, 0xb3, 0x80, 0xc7, 0x22, 0xf4, 0xca, 0x52, 0x3e, 0xd7, 0xd4, 0xa9, 0xd4, 0x81, 0x86, 0xf1, 0x3c, 0x9b, 0xfe, 0xe9, 0x3c, 0xa8, 0xed, 0x71, 0x21, 0xfb, 0x33, 0xa6, 0xcd, 0x61, 0x80, 0x66, 0x62, 0x6e, 0x73, 0xee, 0x5c, 0x51, 0xfb, 0x8a, 0xfb, 0x7, 0x7a, 0x52, 0x5f, 0xe3, 0x9, 0x71, 0xa6, 0x36, 0x5b, 0x9e, 0x46, 0xc7, 0xbb, 0xef, 0x6e, 0xf8, 0xdf, 0x94, 0x35, 0xf0, 0x67, 0xa2, 0x7e, 0xc5, 0x9e, 0xbb, 0x30, 0x8d, 0x9d, 0x58, 0x2c, 0x72, 0x62, 0x3a, 0x7b, 0x47, 0xdf, 0x99, 0x49, 0xb8, 0x25, 0xd5, 0x22, 0xd5, 0x3, 0xa3, 0x3c, 0x20, 0x7a, 0x92, 0x2c, 0xc4, 0x38, 0x24, 0x48, 0x4, 0x29, 0x1e, 0x85, 0x4e, 0x11, 0xd7, 0x1f, 0xb2, 0x4b, 0x5, 0x3e, 0x2, 0xda, 0xbb, 0x9, 0x4, 0x7d, 0x82, 0x26, 0xc2, 0x4a, 0xa7, 0xb, 0xb9, 0xc4, 0x38, 0x4, 0x72, 0x9d, 0xb8, 0x27, 0xc4, 0x8d, 0x3f, 0xe8, 0x90, 0x4d, 0xc6, 0xa7, 0xec, 0xd2, 0x2b, 0x70, 0xaa, 0x29, 0x6d, 0x8d, 0x90, 0xad, 0xd7, 0x82, 0x6d, 0x94, 0x4e, 0x21, 0xdf, 0x38, 0x2f, 0x5d, 0xb6, 0x90, 0x11, 0x3e, 0x2e, 0xfb, 0xc4, 0x83, 0x29, 0x3a, 0x5f, 0x8b, 0x4, 0x2b, 0xf8, 0x2f, 0x5, 0x5b, 0x89, 0x47, 0x23, 0xfd, 0x22, 0xf5, 0xca, 0x4, 0xa6, 0x6b, 0x88, 0x83, 0x88, 0x74, 0x3a, 0xb0, 0xbb, 0xc4, 0x86, 0x28, 0x7, 0x6b, 0xa5, 0x21, 0xa6, 0x14, 0x11, 0xd8, 0xa9, 0x90, 0x1f, 0xca, 0xca, 0x61, 0x57, 0xe9, 0x5a, 0xf1, 0x34, 0xf6, 0xe4, 0xb1, 0x5d, 0x31, 0x64, 0x14, 0x4d, 0x1b, 0xfc, 0x26, 0x9f, 0x4a, 0x3a, 0x5f, 0x57, 0x90, 0xd2, 0x55, 0x38, 0x1, 0xaf, 0xc4, 0x77, 0xfe, 0xc, 0xd8, 0x32, 0x51, 0xf7, 0x42, 0x32, 0x5b, 0x22, 0x1a, 0x26, 0xca, 0x22, 0x87, 0x21, 0x26, 0x8b, 0x95, 0xb5, 0xe1, 0x9e, 0x41, 0x6b, 0x8b, 0xb1, 0xfe, 0xb1, 0x11, 0x2a, 0x26, 0xb3, 0xcd, 0x52, 0x24, 0x20, 0xb7, 0xee, 0x73, 0xcd, 0xa8, 0x9c, 0xba, 0xff, 0x27, 0xae, 0xb5, 0xa, 0xf0, 0xba, 0xe4, 0xd2, 0xec, 0xee, 0xa2, 0x7, 0x21, 0xdd, 0xc8, 0x90, 0xb3, 0xc6, 0x17, 0xd2, 0xc5, 0xd9, 0xd, 0x4a, 0x9d, 0x58, 0x64, 0x10, 0xb3, 0x3f, 0x30, 0xce, 0x1d, 0x45, 0x8e, 0x9c, 0x9d, 0x10, 0xdf, 0xa7, 0x36, 0x36, 0x78, 0x70, 0xe3, 0x30, 0xc1, 0x6c, 0x3c, 0x89, 0xcf, 0x1, 0x23, 0xf6, 0xb9, 0x4b, 0xd4, 0xa5, 0x2e, 0x17, 0x4b, 0x8, 0x84, 0x28, 0xbe, 0x74, 0xcf, 0x82, 0xe6, 0xf6, 0x15, 0x1f, 0x7e, 0x18, 0x14, 0xc8, 0xa3, 0x92, 0xe, 0x9e, 0x63, 0xca, 0x1b, 0x62, 0x21, 0xb, 0x69, 0x95, 0xe6, 0x66, 0x16, 0x89, 0x7, 0x8a, 0x95, 0xb1, 0x13, 0x3, 0x54, 0x83, 0xd0, 0x62, 0x49, 0x51, 0x5d, 0x5, 0x80, 0x29, 0x99, 0x8e, 0x47, 0x67, 0x6f, 0x47, 0xaf, 0x27, 0x17, 0x93, 0xf9, 0x6f, 0x3e, 0xe2, 0x22, 0x13, 0x32, 0x4d, 0xa8, 0x44, 0x8, 0x96, 0x96, 0x80, 0x59, 0x43, 0x21, 0xa0, 0x85, 0xb4, 0x8, 0x15, 0x1, 0x70, 0x52, 0x31, 0xab, 0x6, 0xa, 0x44, 0xa2, 0xe1, 0x6, 0xdb, 0x35, 0x9f, 0xc, 0x28, 0x80, 0xab, 0xad, 0x90, 0x36, 0xce, 0x2a, 0xd3, 0xe6, 0x46, 0x1e, 0x70, 0xc9, 0x78, 0xf8, 0xb7, 0x4c, 0xa7, 0x36, 0x3c, 0xdd, 0xec, 0xee, 0xe5, 0xce, 0x42, 0xc5, 0x78, 0x27, 0xe5, 0xf7, 0x9a, 0x85, 0x3b, 0xc9, 0x37, 0x51, 0x40, 0x87, 0x14, 0xd5, 0x19, 0x5d, 0xa9, 0x64, 0x21, 0x6f, 0x91, 0xaf, 0x3e, 0x1d, 0x79, 0xb1, 0xdd, 0x80, 0xcb, 0x5b, 0xaf, 0xe, 0x4, 0x7f, 0x10, 0x3c, 0xb5, 0x49, 0x1, 0x11, 0x2, 0x7, 0x0, 0x21, 0x3a, 0x4d, 0x38, 0xc9, 0xc0, 0x7e, 0xc6, 0x66, 0x9f, 0x93, 0xb0, 0x4e, 0xd1, 0x2c, 0xa4, 0x17, 0x11, 0xc9, 0xae, 0xb5, 0x60, 0xb7, 0xa5, 0x42, 0xc4, 0xb7, 0xf5, 0xa7, 0x65, 0x7e, 0x87, 0x9a, 0x9a, 0x3b, 0xe9, 0x31, 0xb4, 0x11, 0xd7, 0x3a, 0xba, 0x93, 0xe0, 0x8a, 0x6d, 0xba, 0xe6, 0x3e, 0xb7, 0x26, 0x72, 0xf1, 0x94, 0x22, 0x24, 0xa5, 0x34, 0x2a, 0x10, 0xd6, 0x5e, 0xc7, 0x2d, 0x70, 0x27, 0xed, 0x54, 0x60, 0xa1, 0xf2, 0x2f, 0x65, 0x42, 0xb9, 0xd, 0xe0, 0xf4, 0x6d, 0x4e, 0x60, 0x97, 0x89, 0x7d, 0xd2, 0x9a, 0xbd, 0x54, 0x9c, 0x97, 0x72, 0x6f, 0x97, 0x10, 0xa4, 0xa8, 0x28, 0x49, 0xb8, 0x46, 0xa, 0x2d, 0x2e, 0xd3, 0x42, 0xee, 0x97, 0xe2, 0x4d, 0xcc, 0x7, 0xec, 0xd1, 0x9c, 0xf9, 0x46, 0x49, 0xe5, 0xb9, 0x85, 0x7e, 0x31, 0xde, 0x8b, 0xc8, 0x43, 0xea, 0xc1, 0x81, 0x6, 0xb, 0x89, 0xc1, 0x7b, 0xa8, 0xe0, 0x62, 0xc1, 0x21, 0xc, 0x2b, 0x36, 0xa6, 0x86, 0x4d, 0x69, 0x36, 0x2d, 0x48, 0x15, 0x29, 0xb9, 0xca, 0xea, 0x4a, 0xa6, 0x1e, 0x6c, 0x5, 0x14, 0xee, 0x9c, 0x6f, 0xf1, 0xe2, 0x76, 0x8c, 0x9d, 0x67, 0xef, 0x80, 0x1d, 0x7d, 0xc1, 0x6f, 0x9b, 0xae, 0x8c, 0x9, 0x7f, 0x7c, 0x5b, 0xdd, 0xdd, 0xa7, 0x92, 0xf7, 0x73, 0x9e, 0xf2, 0xd7, 0xb1, 0x5a, 0x76, 0xb6, 0x1f, 0xa6, 0x3c, 0x87, 0xe0, 0x8c, 0x34, 0x66, 0xe3, 0x62, 0xec, 0xa8, 0xc8, 0xc3, 0xe, 0x1d, 0xa2, 0x8f, 0xfd, 0x12, 0x3, 0x4, 0xd1, 0x7c, 0xcc, 0xcb, 0x79, 0xaf, 0xfc, 0xca, 0x3e, 0xe6, 0x5c, 0x84, 0xb8, 0xeb, 0x44, 0xc9, 0x54, 0xc8, 0x90, 0xde, 0x69, 0x22, 0x4, 0x4e, 0xcc, 0xa3, 0x1, 0x96, 0xe8, 0xf8, 0x9c, 0x9d, 0xff, 0xa2, 0x87, 0x8c, 0xf0, 0x17, 0x41, 0x1e, 0x55, 0xc2, 0x6e, 0x69, 0xbc, 0x5b, 0x77, 0x8c, 0x1a, 0x3, 0xb6, 0xf6, 0x32, 0x9c, 0xbe, 0xe7, 0x77, 0xe2, 0xa8, 0xfb, 0x33, 0x4f, 0xdd, 0xca, 0xc7, 0x27, 0x7b, 0x38, 0x11, 0xe0, 0x30, 0x86, 0x28, 0xc9, 0x22, 0x86, 0x29, 0x1a, 0xcf, 0xb0, 0xdb, 0xc8, 0x93, 0x17, 0xda, 0x8c, 0x7f, 0x67, 0xd1, 0xd4, 0xf8, 0x68, 0x93, 0x60, 0x1d, 0x3d, 0x88, 0xda, 0x40, 0x4, 0x7b, 0xb1, 0x2d, 0x6f, 0xaf, 0x3e, 0x7b, 0xc6, 0x5c, 0x6, 0x8e, 0x52, 0xe0, 0xf2, 0x98, 0x5b, 0xe7, 0xab, 0x5d, 0xbe, 0x9a, 0x15, 0x28, 0xbd, 0xa1, 0xf4, 0xcf, 0x9e, 0x80, 0x5a, 0x4f, 0xc7, 0x8f, 0x11, 0x6a, 0x8b, 0x2b, 0xaf, 0x3e, 0x9, 0xdb, 0x4c, 0xad, 0xbc, 0x54, 0x95, 0x75, 0xc6, 0x81, 0x8e, 0xa0, 0x63, 0x8c, 0xa7, 0x29, 0xb7, 0xc9, 0x18, 0x9c, 0x3d, 0xf0, 0x24, 0x12, 0xe9, 0xce, 0x28, 0x14, 0x5b, 0x8a, 0x69, 0xc0, 0xe2, 0xe8, 0x9e, 0x20, 0x88, 0xf0, 0x16, 0x62, 0x6f, 0xba, 0x3, 0x73, 0xc2, 0x2c, 0xa4, 0x3d, 0xf, 0x13, 0xb5, 0xe5, 0x77, 0x98, 0x17, 0x8c, 0x87, 0xd7, 0x0, 0x43, 0xd2, 0x3f, 0xf2, 0xcd, 0x36, 0x16, 0x3, 0xef, 0x82, 0xc, 0x30, 0x51, 0xae, 0x72, 0x73, 0xc9, 0x9a, 0x2b, 0x2b, 0xea, 0xfe, 0x4f, 0xad, 0xf, 0x4d, 0x5e, 0xa8, 0xe7, 0x56, 0xf5, 0x34, 0x1, 0xc8, 0x31, 0x6b, 0x59, 0xb4, 0xea, 0xa9, 0x63, 0xcb, 0x43, 0xe7, 0x7f, 0xc4, 0xf4, 0xb6, 0x7d, 0xbf, 0x8b, 0x92, 0x2a, 0x55, 0x92, 0x32, 0x6d, 0xa1, 0x3a, 0x2a, 0x87, 0xc0, 0x6f, 0xcc, 0x5c, 0xc3, 0xb, 0xea, 0x0, 0x65, 0x46, 0x33, 0x9e, 0xb2, 0x9f, 0xea, 0x5e, 0x6f, 0xa0, 0xa6, 0xd7, 0x11, 0xc2, 0x16, 0x1a, 0x7a, 0x2f, 0x56, 0xc, 0x6b, 0x5c, 0xb8, 0xbc, 0xc4, 0x58, 0x65, 0x7f, 0xcf, 0x5c, 0x85, 0xd6, 0x6, 0x4b, 0x39, 0x9f, 0x10, 0x79, 0xa6, 0x60, 0x1a, 0x94, 0xe4, 0x41, 0xf1, 0xf1, 0x74, 0x63, 0x36, 0xfb, 0x6b, 0x93, 0xc5, 0x69, 0x74, 0x42, 0xf1, 0x44, 0x85, 0xa4, 0x24, 0xb3, 0xcd, 0x1c, 0xba, 0x7f, 0xfe, 0xc4, 0x32, 0xc4, 0xe4, 0x1b, 0x2c, 0x17, 0xb, 0xeb, 0x77, 0x27, 0x55, 0x42, 0x49, 0x3d, 0xa0, 0xda, 0x6a, 0x6b, 0xf2, 0xe9, 0xfb, 0xe7, 0x93, 0xa9, 0x49, 0x28, 0x64, 0x6a, 0x8c, 0xdf, 0xa4, 0x34, 0xd3, 0x28, 0x0, 0x47, 0x1, 0xba, 0xf5, 0xf6, 0x67, 0x8, 0xf8, 0x71, 0x2b, 0x63, 0x9a, 0xc0, 0x2b, 0x56, 0xd9, 0xe7, 0xe1, 0xa3, 0xf9, 0x3c, 0x6d, 0xe2, 0xf8, 0x26, 0xf5, 0x8e, 0xef, 0x26, 0xd0, 0xe0, 0xa0, 0x97, 0x4e, 0xac, 0x76, 0x97, 0x26, 0x99, 0x57, 0xd8, 0x75, 0x76, 0xfe, 0xb, 0x3a, 0x10, 0x2c, 0x3d, 0x16, 0x81, 0x90, 0x6b, 0x16, 0xa5, 0x79, 0xf1, 0xd2, 0x68, 0xb3, 0xe5, 0x41, 0x9a, 0x3f, 0x7, 0xe9, 0xd4, 0xd8, 0x82, 0xe6, 0x6a, 0xef, 0xbb, 0x55, 0x0, 0x89, 0x60, 0x87, 0xc9, 0x45, 0xf6, 0x9a, 0x61, 0x46, 0x90, 0x2, 0x54, 0xb3, 0xb1, 0x4, 0x3, 0x1, 0x66, 0xa1, 0x61, 0xd0, 0x90, 0x4d, 0x56, 0x16, 0x55, 0xdb, 0xc1, 0x55, 0x83, 0xb5, 0x49, 0xf8, 0x45, 0x80, 0x82, 0x88, 0x77, 0xd, 0x9f, 0x96, 0x1c, 0x87, 0x71, 0x60, 0xfe, 0xe, 0xb9, 0x9d, 0xf0, 0xca, 0xcd, 0x32, 0x19, 0x23, 0x6e, 0x36, 0xda, 0x94, 0x66, 0xaa, 0x30, 0x48, 0x94, 0xda, 0x7f, 0x9a, 0x16, 0xdf, 0xeb, 0x85, 0x44, 0x34, 0x23, 0x2c, 0x9f, 0x68, 0xcb, 0x6, 0xe7, 0xc8, 0x8b, 0x5c, 0x86, 0xaf, 0x94, 0x9f, 0xe7, 0x44, 0x2f, 0x15, 0x99, 0x84, 0x67, 0xf5, 0x6d, 0x22, 0xa0, 0x69, 0x5d, 0x5, 0x5b, 0x2d, 0x92, 0xba, 0x27, 0xae, 0xba, 0xed, 0x7f, 0xed, 0xb7, 0x69, 0xd4, 0x7f, 0xf6, 0x24, 0x55, 0x32, 0xa7, 0x3a, 0x37, 0xa3, 0xd5, 0x2a, 0x5, 0x98, 0xb7, 0x24, 0x31, 0x57, 0x39, 0xd8, 0xd2, 0xe0, 0x8c, 0x26, 0x38, 0xe, 0x3c, 0x0, 0x29, 0xb4, 0xd6, 0xa8, 0x50, 0x3d, 0x64, 0xef, 0xcc, 0xc5, 0xcd, 0x2, 0xed, 0x3f, 0x2a, 0xf9, 0x7d, 0x8a, 0x0, 0x3b, 0xc8, 0xc5, 0x7c, 0x75, 0x7, 0xb8, 0xab, 0xd5, 0x63, 0xe9, 0x17, 0x97, 0x48, 0x57, 0x78, 0xfd, 0xc8, 0xb6, 0x44, 0x22, 0xf0, 0x6c, 0xc5, 0x3, 0x61, 0x6c, 0x7f, 0x74, 0x99, 0x85, 0x1a, 0x21, 0x34, 0x17, 0x92, 0x42, 0xe, 0x1, 0x29, 0xed, 0xe4, 0x5e, 0xaa, 0x47, 0x48, 0x12, 0xd3, 0xa7, 0xb, 0xc9, 0x7e, 0x70, 0xe2, 0x76, 0xe3, 0x9e, 0xbe, 0x6e, 0x8, 0x25, 0xe6, 0x6, 0x8, 0xf6, 0x1e, 0xb9, 0xd9, 0x9, 0xd3, 0xd9, 0x66, 0xc3, 0x93, 0x1d, 0x90, 0x49, 0x8f, 0x1b, 0x14, 0x19, 0x6, 0x98, 0x89, 0x5e, 0x3e, 0x3c, 0xfb, 0x1, 0x11, 0x79, 0xbb, 0xf4, 0x96, 0x78, 0x39, 0x98, 0x92, 0x45, 0xb9, 0xaa, 0xb0, 0x72, 0x83, 0xd8, 0xbe, 0xe6, 0x5f, 0x99, 0x16, 0x6c, 0xb9, 0x83, 0x6c, 0x22, 0x48, 0x74, 0x73, 0x13, 0xaf, 0x8b, 0x20, 0x88, 0x23, 0x79, 0xff, 0xd9, 0x4c, 0x85, 0x8b, 0x48, 0xde, 0x77, 0xbe, 0x11, 0x9a, 0x8f, 0x35, 0x66, 0x9d, 0xc5, 0x54, 0xe8, 0x3b, 0x5, 0x13, 0xca, 0x95, 0x54, 0xa0, 0x9a, 0xcf, 0x29, 0xbc, 0xea, 0x9b, 0x65, 0xb6, 0x78, 0x3e, 0x79, 0x5e, 0xf9, 0xf7, 0x3a, 0x5f, 0x84, 0x9a, 0x10, 0xe2, 0x24, 0x92, 0x41, 0xb4, 0xed, 0x5a, 0x4, 0xf4, 0xe1, 0xa7, 0xf7, 0xae, 0x41, 0xb3, 0xea, 0x83, 0x97, 0xb6, 0x40, 0x6d, 0xb6, 0x59, 0x8a, 0x70, 0x1d, 0x6b, 0x43, 0x2a, 0xf8, 0xfa, 0xac, 0x1f, 0x15, 0x97, 0x36, 0xdd, 0x55, 0xea, 0x71, 0xda, 0x67, 0x1d, 0x73, 0xbd, 0x67, 0x38, 0xf5, 0x7a, 0xf4, 0x80, 0xc6, 0x39, 0x95, 0xd1, 0x8, 0xaa, 0xbb, 0xeb, 0x46, 0xcb, 0x99, 0x85, 0x1a, 0x3a, 0x16, 0x35, 0xb5, 0x1d, 0x76, 0xa3, 0x7, 0x43, 0x80, 0x8e, 0x45, 0x4c, 0x75, 0x6f, 0xdd, 0x28, 0x31, 0xc6, 0x5f, 0x78, 0x95, 0xa5, 0xc7, 0xa2, 0xa5, 0xae, 0xbf, 0x46, 0x6a, 0xe6, 0x5c, 0xdf, 0xdb, 0x40, 0xa6, 0x43, 0xb9, 0xd2, 0xd8, 0x57, 0x3b, 0x15, 0x47, 0x11, 0xda, 0x86, 0x9e, 0x5a, 0x29, 0x38, 0x96, 0xa8, 0x36, 0xf6, 0xd5, 0x4a, 0xc5, 0x91, 0xc4, 0xa2, 0xa9, 0xab, 0x56, 0x1a, 0x8e, 0xb2, 0x49, 0xea, 0x3b, 0xaa, 0xf6, 0x33, 0x79, 0x71, 0x7a, 0x87, 0x4a, 0xe4, 0xa8, 0x4b, 0x5f, 0xed, 0x54, 0x1c, 0x24, 0x91, 0xa3, 0xf6, 0x9e, 0x5a, 0x29, 0x38, 0x54, 0x22, 0x47, 0x5d, 0xfa, 0x6a, 0xa5, 0xe2, 0x20, 0x69, 0x28, 0x87, 0x5f, 0xf6, 0x1e, 0xff, 0xc0, 0x1d, 0x31, 0xea, 0xd0, 0x55, 0xf5, 0xad, 0xcf, 0x58, 0x56, 0x87, 0x9, 0xc1, 0xbc, 0xa1, 0x8b, 0xfa, 0x31, 0xdf, 0x44, 0xc9, 0x61, 0x23, 0x56, 0x76, 0xd0, 0x2e, 0x6d, 0x5d, 0x91, 0xb4, 0xba, 0xcb, 0x5c, 0x73, 0x8f, 0x1d, 0x29, 0x3a, 0x22, 0x29, 0x7d, 0x56, 0xe1, 0xc0, 0xc1, 0xe7, 0x4d, 0x7d, 0x54, 0x8e, 0x8a, 0x45, 0x6, 0xa6, 0x54, 0x5a, 0xe0, 0x89, 0xc3, 0xbe, 0x6b, 0xec, 0xa4, 0xa3, 0xfd, 0xd8, 0xa, 0x3f, 0xd5, 0x48, 0x42, 0x67, 0x38, 0xab, 0x8e, 0x76, 0x92, 0x4b, 0x57, 0x3f, 0x9a, 0xa5, 0x54, 0xdb, 0x63, 0x47, 0x9b, 0xf6, 0x28, 0x1b, 0xa5, 0x2f, 0x92, 0x5d, 0x1f, 0xda, 0x8e, 0x4d, 0x54, 0x47, 0x6a, 0x12, 0x1f, 0x91, 0xb3, 0x16, 0xdd, 0x6c, 0x52, 0x80, 0x22, 0xeb, 0x4f, 0xe3, 0xf4, 0xb0, 0x51, 0xe, 0xa0, 0xfc, 0xa0, 0x93, 0xb0, 0x1b, 0xd9, 0x3d, 0xce, 0x48, 0x71, 0x30, 0x24, 0x62, 0x23, 0xbd, 0x4f, 0x45, 0x5c, 0xec, 0x7a, 0x2f, 0x94, 0x69, 0x24, 0x33, 0x11, 0x8e, 0xf4, 0xa5, 0x78, 0x3c, 0xde, 0xe5, 0xb0, 0xa9, 0xd7, 0x4a, 0xca, 0xc0, 0x4f, 0x50, 0xd, 0xb6, 0x70, 0xa8, 0xa0, 0xce, 0x9e, 0xd0, 0x75, 0x5f, 0x1a, 0xf, 0x12, 0xc9, 0x6, 0x2, 0x7b, 0xc8, 0x61, 0x35, 0xe4, 0xc5, 0x61, 0x86, 0x53, 0x35, 0x51, 0x7d, 0x2c, 0xa9, 0x6a, 0xaa, 0xe, 0xb5, 0xa8, 0xab, 0xe9, 0xea, 0x67, 0x5b, 0xd7, 0x43, 0x84, 0x1c, 0x99, 0xac, 0x83, 0xd7, 0xf0, 0xc0, 0xc3, 0xa4, 0x86, 0x59, 0x7d, 0x4e, 0x94, 0x6a, 0xba, 0xe, 0xbc, 0x11, 0x54, 0xd3, 0xd5, 0xeb, 0x6e, 0x50, 0x43, 0xd7, 0xa1, 0xa6, 0x4a, 0xd, 0x65, 0xfd, 0xec, 0x15, 0x4c, 0x70, 0x7c, 0xb6, 0xe3, 0x77, 0xf6, 0xc4, 0xee, 0x9f, 0x42, 0xeb, 0x61, 0xda, 0xed, 0x29, 0x7d, 0xf7, 0x3b, 0x69, 0xf, 0xb4, 0x94, 0x7b, 0x3, 0xc0, 0x56, 0x52, 0x87, 0x79, 0x5b, 0x2e, 0x17, 0xb, 0x6a, 0x91, 0xe4, 0x6d, 0x9e, 0x48, 0xda, 0x75, 0xaf, 0x4e, 0xbb, 0x9d, 0xf9, 0x54, 0x4e, 0x84, 0x2a, 0x79, 0x1c, 0xeb, 0xcc, 0x6f, 0xee, 0xb5, 0xf, 0x65, 0x53, 0xf1, 0x37, 0x11, 0x1c, 0x9d, 0xb2, 0xba, 0x5e, 0xfb, 0x50, 0x76, 0x74, 0x2f, 0x7a, 0x4b, 0xb7, 0x8d, 0xb4, 0xe5, 0x81, 0x3c, 0xef, 0x28, 0x68, 0xd3, 0xca, 0x71, 0xbc, 0x3b, 0x90, 0xbe, 0x3e, 0x5d, 0x37, 0x7a, 0xf, 0x9e, 0x81, 0xc6, 0xd1, 0x13, 0xba, 0xee, 0xcb, 0xc7, 0xa3, 0x73, 0xef, 0x90, 0x7d, 0xea, 0x97, 0xfd, 0x39, 0xde, 0x3e, 0xad, 0xe9, 0xb5, 0x92, 0xb2, 0x22, 0x98, 0xd9, 0xa1, 0x5e, 0xe1, 0xcb, 0x6e, 0xbd, 0x75, 0xa1, 0xe4, 0x20, 0xdb, 0xf6, 0xb2, 0x4b, 0x5f, 0x1d, 0xa8, 0x38, 0x54, 0x29, 0x5c, 0x76, 0xeb, 0xad, 0x3, 0x25, 0x7, 0x1d, 0xd3, 0x65, 0x9c, 0xb9, 0xa7, 0x71, 0xe3, 0x30, 0x5b, 0xf5, 0xb2, 0x53, 0x67, 0x1d, 0xe8, 0x38, 0xd0, 0x36, 0xbd, 0xec, 0xd4, 0x59, 0x67, 0x7e, 0x1c, 0xea, 0x4, 0xa8, 0x62, 0xcb, 0x81, 0x37, 0xff, 0x2b, 0xac, 0xa5, 0x82, 0xea, 0xe0, 0x68, 0xda, 0xa5, 0xb9, 0xd7, 0xbe, 0xfc, 0x3a, 0xf2, 0xd6, 0xea, 0xd4, 0x75, 0x5f, 0x1a, 0x8f, 0xb8, 0xe9, 0x3a, 0xf4, 0xdb, 0x6d, 0x6d, 0xdf, 0x43, 0x49, 0x94, 0x63, 0xad, 0x69, 0x75, 0x6f, 0x1d, 0xcf, 0x30, 0x2a, 0xcf, 0x72, 0xb4, 0xd3, 0xab, 0xa6, 0xbf, 0x8e, 0x3e, 0xec, 0x68, 0x23, 0x66, 0x54, 0xcb, 0x65, 0x9e, 0x70, 0xc0, 0x99, 0x56, 0xf2, 0x88, 0x1e, 0xed, 0x8e, 0xfd, 0xe7, 0xd4, 0xfe, 0x3f, 0x7b, 0x54, 0xef, 0xc7, 0xac, 0xbc, 0x2d, 0xc6, 0x9f, 0x73, 0x8a, 0xce, 0xdb, 0x88, 0x74, 0xad, 0x20, 0x44, 0x11, 0x3, 0xe3, 0xf2, 0xa2, 0x8b, 0x50, 0x1c, 0x1, 0xab, 0xd4, 0xb0, 0x17, 0x2a, 0x61, 0x89, 0xc0, 0xe2, 0x7f, 0x2f, 0xf7, 0xa2, 0xf6, 0x86, 0xb, 0x39, 0x13, 0xd8, 0xd9, 0xad, 0x8b, 0x3a, 0xbd, 0x65, 0x42, 0x66, 0x1b, 0x8c, 0xea, 0xb4, 0x10, 0xcf, 0x4, 0xa8, 0xf0, 0xb8, 0xe6, 0x29, 0x13, 0x3c, 0x58, 0xe7, 0xe5, 0xf7, 0x56, 0xaa, 0xc, 0x1f, 0xe7, 0xc7, 0xf, 0xbf, 0x89, 0xe2, 0x54, 0x24, 0x7b, 0xe1, 0xaf, 0x75, 0xe1, 0x9a, 0xdf, 0x99, 0x91, 0xbf, 0x3b, 0x65, 0xff, 0x95, 0x2f, 0xdf, 0xdb, 0xc9, 0x6c, 0x7e, 0x35, 0xfd, 0xed, 0x6, 0x8b, 0xfa, 0xbc, 0x99, 0x5c, 0xcc, 0xc7, 0x53, 0x2a, 0xa, 0x99, 0xa7, 0x42, 0x7a, 0x11, 0x3f, 0xd, 0xd, 0x46, 0x17, 0x17, 0xf8, 0xd7, 0x6e, 0x9f, 0x9f, 0x5d, 0x5c, 0xcd, 0xc6, 0xd4, 0x80, 0xbe, 0xff, 0xab, 0xb7, 0x42, 0x90, 0x86, 0xd, 0xab, 0xd3, 0x89, 0xc2, 0x3d, 0x16, 0x4d, 0x64, 0x28, 0x3e, 0x8a, 0x10, 0x70, 0x30, 0x9f, 0xce, 0x9c, 0xc9, 0xe5, 0xf9, 0xf8, 0x2f, 0xe3, 0xf3, 0x9b, 0x5f, 0x47, 0x17, 0xd7, 0xe3, 0x46, 0xae, 0x54, 0x7c, 0x39, 0x1f, 0xff, 0x65, 0xde, 0xf2, 0xc9, 0x2f, 0xe3, 0xdf, 0x3e, 0x5c, 0x4d, 0xdb, 0x3a, 0x9a, 0x5c, 0xb6, 0xf5, 0x73, 0x7e, 0x75, 0xfd, 0xfa, 0x62, 0xdc, 0xf2, 0xd1, 0xeb, 0xab, 0xab, 0x8b, 0xb6, 0x7e, 0x46, 0xf3, 0xf1, 0x7c, 0xf2, 0xae, 0xad, 0x27, 0x22, 0xfb, 0xe6, 0x62, 0x32, 0x6b, 0x5e, 0xba, 0x16, 0xfe, 0x95, 0xd6, 0x6c, 0x2d, 0x92, 0x28, 0x15, 0xe1, 0x28, 0x4b, 0xd5, 0xf5, 0xf6, 0x2e, 0xe1, 0xe1, 0x3e, 0xac, 0x6e, 0x7f, 0x60, 0x2d, 0x48, 0xb1, 0xcd, 0x31, 0x2b, 0x6a, 0xc0, 0xce, 0x9a, 0x71, 0x6e, 0xcb, 0xcd, 0x9b, 0x93, 0x8, 0x5d, 0x5, 0x5, 0xf, 0x8e, 0x6e, 0x2f, 0xda, 0x1b, 0x2b, 0xa6, 0xbf, 0xb2, 0x65, 0xb8, 0xda, 0x82, 0xf5, 0xf6, 0xa7, 0x31, 0x15, 0xf, 0x50, 0xf3, 0xf9, 0x12, 0x62, 0xf0, 0x9f, 0x2b, 0x58, 0x1b, 0x81, 0xe1, 0x71, 0x24, 0x3f, 0x1f, 0xfd, 0x19, 0x26, 0x18, 0xd0, 0x63, 0x6, 0xbc, 0x65, 0xa0, 0x5b, 0x2d, 0xce, 0x13, 0x2c, 0x5f, 0x8b, 0x35, 0x7f, 0x88, 0x54, 0x69, 0xa2, 0xf5, 0x70, 0x13, 0x5e, 0x6f, 0x15, 0xdd, 0x34, 0x4d, 0x7a, 0xfc, 0x71, 0x2b, 0x92, 0x8, 0x80, 0xe3, 0xe3, 0xe1, 0x42, 0x4e, 0x8, 0x23, 0xd7, 0x29, 0xf6, 0x48, 0xdb, 0xd4, 0xf8, 0x2c, 0x4e, 0xb1, 0x16, 0x88, 0x25, 0xfe, 0x84, 0xeb, 0x13, 0x29, 0x1e, 0x7, 0x5e, 0xac, 0xb9, 0xf9, 0x5c, 0xb, 0x57, 0x1a, 0x9f, 0x0, 0x53, 0x6f, 0xf2, 0x38, 0xfd, 0x9b, 0x25, 0x11, 0xb5, 0x90, 0x16, 0x38, 0x91, 0xd2, 0x9d, 0x78, 0xea, 0x55, 0xf6, 0xbb, 0x92, 0xf1, 0x2e, 0x2f, 0x0, 0xe1, 0x75, 0x85, 0x99, 0xe5, 0x16, 0xc9, 0x37, 0xc9, 0xa4, 0x4b, 0x21, 0xdd, 0xff, 0x80, 0xcb, 0x1d, 0xe5, 0xc6, 0x6b, 0xff, 0xfb, 0xe1, 0x42, 0x5e, 0xaa, 0xd4, 0x26, 0xba, 0xa6, 0xa, 0x4b, 0x8c, 0x27, 0x42, 0x32, 0x33, 0x90, 0x62, 0xab, 0x2c, 0xcd, 0x12, 0xb1, 0x3f, 0x47, 0x8, 0x28, 0xbe, 0x54, 0xa9, 0x38, 0x65, 0x13, 0xc, 0x3d, 0x5e, 0x45, 0x9, 0x0, 0x60, 0x20, 0x10, 0xa3, 0x5a, 0x31, 0xda, 0xc1, 0x27, 0x4a, 0x9e, 0x9c, 0xf1, 0xcb, 0x41, 0x1e, 0x8, 0xf, 0xf8, 0x69, 0x2d, 0x4b, 0x4, 0xf5, 0x88, 0x3c, 0x3d, 0x30, 0x58, 0x48, 0xe, 0xc0, 0x6e, 0x58, 0xbf, 0xa0, 0x4e, 0x55, 0xb0, 0x8d, 0xe0, 0x32, 0xad, 0xa8, 0xab, 0x47, 0xd0, 0x6d, 0x54, 0xd2, 0xbd, 0xd0, 0xf5, 0x90, 0xcd, 0x14, 0x70, 0x35, 0xf0, 0xd1, 0x57, 0x16, 0x12, 0x2, 0x52, 0xf7, 0x52, 0xd3, 0x30, 0xab, 0x20, 0x15, 0x21, 0xb, 0xb3, 0x4, 0x93, 0xf2, 0xcd, 0x48, 0xd1, 0x46, 0xc, 0x0, 0x19, 0x9, 0xff, 0xcd, 0x25, 0xf3, 0x71, 0x4, 0x30, 0xa1, 0x18, 0x52, 0xde, 0x22, 0xcd, 0xc4, 0xdf, 0xb3, 0xe8, 0x81, 0xc7, 0x10, 0x0, 0xaf, 0x7c, 0x3a, 0x16, 0x12, 0x3f, 0x24, 0xb8, 0x8f, 0xda, 0x29, 0x42, 0x6, 0x27, 0x31, 0xa2, 0x4f, 0x32, 0xfe, 0xb5, 0xc6, 0x1a, 0x98, 0x5b, 0xc3, 0x2, 0xb5, 0x62, 0x1d, 0x5f, 0x9c, 0xc, 0x95, 0x46, 0x38, 0x10, 0xcf, 0xc2, 0x50, 0xe6, 0x11, 0xc4, 0xac, 0xf4, 0x62, 0xbd, 0x87, 0x3a, 0xa5, 0x0, 0x28, 0x3b, 0xbc, 0xaa, 0xc4, 0xe0, 0x23, 0xa0, 0x23, 0xd4, 0x29, 0xb, 0xa8, 0x40, 0xc8, 0x65, 0xe5, 0x88, 0xc3, 0x85, 0x1c, 0xc5, 0x5a, 0xe5, 0x9b, 0xa2, 0x28, 0x6f, 0xee, 0xbb, 0xc2, 0x5a, 0x63, 0x49, 0x2b, 0x2d, 0xa6, 0x7c, 0x63, 0xcc, 0x47, 0x92, 0xbb, 0x92, 0x81, 0x35, 0x91, 0xdb, 0xec, 0xa0, 0xcc, 0xac, 0x75, 0x25, 0x82, 0x63, 0x6d, 0x26, 0x19, 0x7e, 0xdd, 0xa4, 0x95, 0xde, 0x12, 0x6e, 0x23, 0xca, 0x57, 0xe2, 0x12, 0xd3, 0x1d, 0x96, 0x3, 0x5e, 0x6, 0x31, 0x8, 0xdf, 0x43, 0x8b, 0x81, 0x74, 0x2d, 0x88, 0xb5, 0xc6, 0xe2, 0x2e, 0x1a, 0x33, 0xdb, 0x1d, 0xc2, 0xdd, 0x3a, 0x92, 0x77, 0x1a, 0x73, 0xff, 0x78, 0x96, 0xae, 0x61, 0xcf, 0x27, 0x3c, 0x0, 0xd1, 0x56, 0xf7, 0x42, 0xd6, 0x85, 0xd3, 0xcb, 0x76, 0x6c, 0xec, 0xb6, 0x93, 0x5, 0x60, 0xce, 0xe9, 0xb4, 0x20, 0xea, 0xa9, 0xa6, 0x27, 0xd6, 0x42, 0x79, 0x50, 0xf7, 0xc2, 0xa6, 0x5e, 0x10, 0xce, 0xce, 0x87, 0xe6, 0x43, 0x84, 0x27, 0x77, 0x7d, 0xab, 0xf8, 0x34, 0x43, 0x87, 0x1a, 0x32, 0x79, 0x72, 0x97, 0x6d, 0x30, 0x2f, 0x95, 0x36, 0x2, 0xe9, 0x72, 0x43, 0x7f, 0xb8, 0x47, 0x79, 0x7, 0x1c, 0xd1, 0x89, 0x4c, 0x45, 0xf2, 0xc0, 0xe3, 0xd9, 0x56, 0x4, 0x87, 0x88, 0x58, 0x44, 0xfd, 0xb4, 0xac, 0x42, 0x25, 0xa3, 0xb6, 0x6b, 0x5e, 0x2e, 0x66, 0x52, 0xdb, 0xb0, 0x4d, 0xb1, 0xf8, 0x33, 0x62, 0x1b, 0x9e, 0x6, 0x6b, 0x2a, 0xe9, 0xa9, 0xb, 0x39, 0xa8, 0xe2, 0xe3, 0x36, 0x81, 0x1a, 0x30, 0x8c, 0xeb, 0xd3, 0x85, 0x14, 0x5b, 0x15, 0xac, 0xd9, 0xbf, 0x30, 0xc9, 0x7e, 0x60, 0x76, 0x2e, 0xec, 0x5f, 0x18, 0x90, 0xb6, 0x90, 0x8f, 0xa0, 0x2e, 0x25, 0xa5, 0xc4, 0x13, 0x50, 0xfa, 0x70, 0x21, 0xe1, 0x67, 0xb, 0xd2, 0x4, 0x4b, 0xf1, 0xf, 0x91, 0x28, 0xa3, 0x33, 0x37, 0x91, 0xd6, 0x90, 0xf7, 0xe6, 0x3a, 0x8b, 0xb0, 0xae, 0x6e, 0x94, 0x40, 0xa1, 0x9c, 0xd7, 0x2a, 0x5d, 0xe7, 0xbf, 0x41, 0xa9, 0x25, 0xe8, 0xb, 0x72, 0x9a, 0x96, 0x2, 0x74, 0xaa, 0x14, 0x77, 0x58, 0xb3, 0x9, 0x72, 0x57, 0xcd, 0x35, 0x30, 0xc9, 0x24, 0x66, 0x2e, 0xd8, 0x45, 0x17, 0x3c, 0x11, 0x3a, 0x5d, 0x48, 0x2d, 0x2, 0x25, 0x43, 0xb6, 0x14, 0x2b, 0x73, 0x87, 0x33, 0x67, 0xab, 0x5, 0x34, 0x26, 0xb0, 0xb6, 0x37, 0x7e, 0x56, 0x2c, 0xcd, 0x1, 0x86, 0x56, 0x2b, 0xf6, 0x13, 0x5b, 0xab, 0x2c, 0xc1, 0xcd, 0x8b, 0x54, 0xa8, 0x15, 0x4e, 0xe4, 0x11, 0x8e, 0x29, 0x60, 0xa2, 0x39, 0x73, 0x92, 0x1d, 0x7c, 0x39, 0x58, 0x48, 0xda, 0x8, 0xe6, 0x5f, 0x8, 0x49, 0xa3, 0xa1, 0x4a, 0x80, 0xed, 0x74, 0x99, 0xa5, 0x8c, 0xe7, 0x7d, 0xfd, 0xf4, 0xef, 0x6c, 0x13, 0x49, 0x50, 0xdf, 0xa5, 0x1e, 0x17, 0xf2, 0xe3, 0xc7, 0xd3, 0x9f, 0xfe, 0xfd, 0xf4, 0xc7, 0x1f, 0x87, 0x6c, 0x54, 0xa4, 0xeb, 0xf, 0xff, 0x9d, 0x85, 0x7c, 0xa7, 0x7d, 0xc2, 0xf6, 0xa9, 0x5a, 0xc8, 0x3f, 0xfc, 0xf8, 0x87, 0x3f, 0x9c, 0xfc, 0xf8, 0x87, 0x93, 0x9f, 0xfe, 0x6d, 0xfe, 0xe3, 0x8f, 0xa7, 0xf0, 0x7f, 0xff, 0x8b, 0xbd, 0xe0, 0x1b, 0x25, 0xef, 0x2c, 0x54, 0xab, 0x59, 0xfb, 0x97, 0x55, 0x64, 0x12, 0xfc, 0x8e, 0xa3, 0xf3, 0x8f, 0xb, 0x69, 0x6, 0x1c, 0xb0, 0x3f, 0xc1, 0xcc, 0x34, 0x26, 0x3e, 0xfd, 0xe1, 0x8f, 0x95, 0xd4, 0xdb, 0x81, 0xff, 0xf0, 0xe3, 0xfc, 0xc7, 0x3f, 0x9d, 0xfe, 0xe1, 0x8f, 0x30, 0x70, 0x24, 0x75, 0x2a, 0x78, 0x58, 0x52, 0xe1, 0x90, 0x72, 0x73, 0xc0, 0xf6, 0x72, 0x6e, 0x8d, 0x87, 0xa, 0xa0, 0xf9, 0x6a, 0xa5, 0x62, 0x86, 0xfc, 0x50, 0x68, 0x56, 0xb9, 0xf9, 0x96, 0x66, 0x32, 0xff, 0xa9, 0x96, 0xdd, 0x3b, 0x7d, 0x6d, 0x5b, 0x54, 0x6b, 0x3d, 0x7a, 0xab, 0xe9, 0xde, 0x9f, 0x7d, 0xdd, 0xe9, 0xe2, 0x86, 0xeb, 0xde, 0x6b, 0xd1, 0xcd, 0xd6, 0x43, 0x7f, 0x98, 0xc6, 0x2e, 0x51, 0x7d, 0x2f, 0x21, 0xa8, 0x68, 0x7f, 0xd, 0xd9, 0x24, 0xdd, 0x2b, 0x64, 0x56, 0x46, 0xdf, 0x7, 0xe0, 0x34, 0x8b, 0xc8, 0xb, 0x47, 0xdf, 0x42, 0xda, 0x54, 0x2a, 0xda, 0xc5, 0x85, 0x5e, 0x87, 0xec, 0x4d, 0x55, 0x2, 0x3b, 0x1b, 0x41, 0x5, 0x5f, 0xed, 0xca, 0x41, 0x23, 0xd2, 0x93, 0x4b, 0xb7, 0xf2, 0xac, 0x94, 0xd7, 0xa7, 0x84, 0xf4, 0x6, 0x10, 0x4a, 0xda, 0xec, 0xf7, 0xe2, 0x10, 0xc6, 0xa0, 0xf7, 0xfa, 0x45, 0x34, 0x17, 0x3b, 0x3, 0xce, 0x80, 0x1, 0x44, 0x9a, 0xef, 0x40, 0x82, 0x9c, 0x2e, 0xdb, 0xc1, 0x42, 0xe6, 0xe3, 0xe1, 0x36, 0x79, 0x88, 0x2, 0x1, 0x10, 0xaa, 0xbc, 0x42, 0xfa, 0x75, 0x6a, 0x57, 0xd9, 0xd9, 0x77, 0x47, 0x1, 0x4a, 0x72, 0xa6, 0xdb, 0x67, 0x4b, 0xa6, 0x2b, 0xcd, 0xcb, 0x4c, 0xb6, 0x8, 0xcc, 0x5f, 0x87, 0x21, 0xf4, 0x2c, 0x20, 0x17, 0xfb, 0x36, 0x3, 0x80, 0xbf, 0xa5, 0x60, 0x98, 0xc2, 0xfd, 0x49, 0x18, 0xdd, 0x85, 0x67, 0xc7, 0x47, 0x73, 0xcf, 0xba, 0xc3, 0x44, 0x59, 0xb0, 0xdf, 0x7, 0x4, 0x85, 0x1, 0x36, 0xbd, 0xf7, 0x41, 0xbb, 0x19, 0x1, 0x2b, 0x4c, 0x70, 0x25, 0x25, 0x4b, 0xfe, 0x77, 0xb2, 0xd2, 0x15, 0xf1, 0x36, 0x9f, 0x72, 0x95, 0x3b, 0xad, 0x1, 0xe8, 0x66, 0xa7, 0xf5, 0x8e, 0xc2, 0x78, 0x87, 0xf9, 0x5a, 0x55, 0xa3, 0xe2, 0x93, 0x61, 0x22, 0x16, 0xe6, 0x55, 0x62, 0x7c, 0x61, 0x60, 0x7, 0xf3, 0x52, 0x6e, 0x94, 0x97, 0x49, 0x31, 0x3b, 0x60, 0xc9, 0x75, 0x14, 0xf8, 0xe, 0x6f, 0x38, 0xb, 0x73, 0x90, 0xdb, 0xe7, 0x85, 0xa6, 0xe9, 0xb4, 0x9e, 0x1e, 0xbc, 0xed, 0x31, 0xd6, 0xf2, 0xf8, 0xb4, 0x7b, 0x8c, 0x9, 0xdb, 0xa1, 0x78, 0x9f, 0x1d, 0xef, 0xca, 0x91, 0xd0, 0xa2, 0x85, 0x4b, 0x46, 0xc0, 0xb3, 0x16, 0xf6, 0x30, 0xc4, 0xb8, 0xa, 0xbd, 0xc7, 0x59, 0x48, 0xd7, 0xdb, 0xe7, 0x63, 0x35, 0x22, 0x24, 0xba, 0x79, 0x4d, 0x4b, 0x60, 0x48, 0x5f, 0x84, 0x46, 0x2c, 0x54, 0x54, 0xf9, 0xa2, 0x36, 0x51, 0xfb, 0xb1, 0xbd, 0x52, 0x9, 0xbb, 0xf3, 0xf0, 0x36, 0x2b, 0x4f, 0x64, 0x3f, 0x58, 0xd2, 0x4e, 0xf3, 0x73, 0x9, 0x45, 0xb9, 0x7a, 0x4c, 0x17, 0x0, 0x22, 0xb7, 0x4c, 0xe5, 0xe2, 0x89, 0xc7, 0x3d, 0xc1, 0x3e, 0x1b, 0x5f, 0x6a, 0x66, 0xf7, 0x4f, 0x6b, 0x2a, 0xda, 0x8, 0xb0, 0x77, 0x54, 0x53, 0x0, 0x70, 0x39, 0x8f, 0x52, 0x43, 0xc8, 0x5c, 0x53, 0x9a, 0xb0, 0x9d, 0xfa, 0xaf, 0x74, 0x5, 0x57, 0xdb, 0xf0, 0xa0, 0xba, 0xa, 0xbd, 0xab, 0x63, 0x72, 0x94, 0xa9, 0xb7, 0x15, 0x45, 0x79, 0x6e, 0x21, 0xb7, 0xb3, 0x31, 0x33, 0x1b, 0xcb, 0x34, 0xd9, 0x7d, 0x61, 0x27, 0xc1, 0x7e, 0x24, 0xf5, 0x71, 0x4a, 0xdc, 0xe9, 0x54, 0x6d, 0xda, 0x2b, 0xc0, 0x1c, 0x1f, 0x9f, 0xaf, 0x14, 0x52, 0x50, 0x6b, 0xf, 0x97, 0xf0, 0xeb, 0x21, 0x56, 0xc5, 0xa1, 0xbd, 0xe2, 0x14, 0xd8, 0xb, 0x28, 0x7f, 0x9d, 0x88, 0xbb, 0x48, 0xa7, 0x22, 0x11, 0xe1, 0x4b, 0xa6, 0x81, 0x5f, 0x39, 0x16, 0x12, 0xba, 0xc8, 0x53, 0xc5, 0xa2, 0x54, 0xb3, 0xfd, 0xe1, 0xeb, 0x5e, 0x8a, 0xa1, 0xf8, 0xc0, 0x57, 0xcd, 0x1f, 0xaa, 0xcd, 0xf5, 0x62, 0x9b, 0x8, 0x18, 0xe1, 0x68, 0xac, 0x49, 0x55, 0xc2, 0xef, 0x84, 0xd9, 0x35, 0x9b, 0xda, 0x82, 0x28, 0x9f, 0xbc, 0xf6, 0xab, 0x9d, 0xbd, 0x7b, 0xb9, 0x29, 0xcf, 0xb1, 0x2, 0x86, 0x9b, 0xdf, 0x99, 0x9f, 0xc1, 0x57, 0x9d, 0xee, 0xcd, 0xb8, 0x61, 0x43, 0xee, 0x87, 0x33, 0x7c, 0x51, 0xd6, 0x59, 0xe5, 0x9a, 0x3d, 0xee, 0x53, 0xfc, 0x79, 0x74, 0x6d, 0x23, 0xf3, 0xf6, 0x7f, 0x98, 0x21, 0x9c, 0x55, 0x67, 0x9, 0x98, 0xdb, 0xba, 0x14, 0x6a, 0x65, 0x6b, 0x25, 0xfb, 0x35, 0x4f, 0xfa, 0x2c, 0xed, 0x51, 0x16, 0x14, 0x69, 0xd0, 0x9f, 0xd3, 0xfb, 0x80, 0xb3, 0x69, 0xf6, 0x3a, 0xec, 0x71, 0x31, 0x47, 0x94, 0x3f, 0x5, 0x44, 0x79, 0x9a, 0x85, 0x7b, 0x20, 0x40, 0xdc, 0x36, 0xc, 0xca, 0x40, 0xc8, 0x64, 0xcd, 0x56, 0x59, 0x1c, 0xb3, 0x7c, 0x2c, 0x8c, 0xf3, 0x5b, 0x48, 0x7a, 0x1d, 0xd5, 0x4c, 0x7c, 0xdc, 0xa, 0xa9, 0xcd, 0x26, 0x4b, 0x32, 0x69, 0x2c, 0xe, 0xb6, 0x11, 0x69, 0x12, 0x5, 0x7a, 0xc8, 0x3e, 0x8, 0xc4, 0x44, 0xd6, 0xa9, 0xda, 0xb2, 0xad, 0xda, 0xc2, 0xcb, 0xf, 0xdc, 0x1a, 0xf2, 0xd0, 0xf, 0xa, 0x8c, 0x80, 0x0, 0x8a, 0x46, 0xd0, 0xc1, 0xcf, 0xea, 0x61, 0x13, 0x49, 0xa5, 0x55, 0xdc, 0xc4, 0xeb, 0x8b, 0x68, 0x13, 0xa5, 0x54, 0xbe, 0xd, 0xc0, 0xd7, 0x9c, 0xf, 0xfe, 0xb3, 0x80, 0x43, 0x5f, 0x5a, 0x63, 0x18, 0xdf, 0xac, 0xbb, 0x6f, 0x98, 0x6f, 0x4e, 0xd3, 0xa3, 0xaf, 0x50, 0x2f, 0xde, 0x1f, 0xad, 0x7c, 0x43, 0xf2, 0x39, 0xcd, 0x70, 0x7f, 0x36, 0x5f, 0x10, 0xa3, 0x9b, 0xd1, 0x51, 0xe, 0x60, 0x36, 0x62, 0xb7, 0x74, 0xa8, 0x8e, 0xde, 0xa4, 0x42, 0xe8, 0xbc, 0xc2, 0xab, 0x2f, 0x14, 0x10, 0x56, 0x16, 0xf1, 0x11, 0x21, 0x61, 0x17, 0xd0, 0x9b, 0x5e, 0x7c, 0x67, 0x8e, 0xc5, 0x7, 0x9e, 0x40, 0x60, 0x10, 0xe, 0xad, 0x87, 0x6c, 0xfc, 0xf1, 0x94, 0x5d, 0xa8, 0x80, 0xc7, 0x16, 0x62, 0x7a, 0x37, 0x60, 0x3a, 0xa, 0x5, 0x13, 0xab, 0x95, 0x8, 0xea, 0xd0, 0x3, 0x6d, 0xad, 0xcb, 0x4f, 0x66, 0x13, 0xbb, 0x28, 0x93, 0x5a, 0xcd, 0xea, 0x94, 0xd8, 0x4c, 0x24, 0x11, 0x8f, 0xa3, 0x7f, 0x40, 0xf8, 0x5f, 0xfe, 0xa6, 0x99, 0xd0, 0xfa, 0xd9, 0xd3, 0x4, 0x39, 0xd0, 0x17, 0xe0, 0xed, 0x88, 0x80, 0xbe, 0x79, 0x39, 0xbd, 0xb5, 0x60, 0xb7, 0x1f, 0xae, 0xa6, 0xbf, 0xbc, 0xb9, 0xb8, 0xfa, 0x70, 0x3, 0xa5, 0x74, 0xce, 0xae, 0xde, 0xbd, 0xbf, 0x18, 0xcf, 0xc7, 0xe7, 0xb7, 0xf4, 0x6c, 0x89, 0x81, 0xf3, 0xf8, 0x30, 0x8a, 0xb1, 0x8c, 0x10, 0xd8, 0x97, 0x8, 0x2a, 0x3e, 0xf0, 0x18, 0xa5, 0xeb, 0xea, 0xb9, 0x3c, 0x29, 0x82, 0xaa, 0xb2, 0x27, 0x2a, 0xdc, 0xd9, 0xb5, 0x2b, 0x2a, 0xee, 0xd9, 0xc, 0x72, 0xa9, 0x36, 0x2, 0xcb, 0x86, 0xaa, 0x95, 0x95, 0x49, 0x42, 0x50, 0xe7, 0x2c, 0xde, 0x13, 0x4b, 0x7c, 0xed, 0x5d, 0x0, 0x1d, 0x8b, 0xef, 0xc0, 0xa1, 0x93, 0xae, 0xc5, 0x8e, 0x85, 0x51, 0x48, 0xe5, 0x46, 0x75, 0xbe, 0xca, 0x6b, 0x51, 0x5d, 0x61, 0x67, 0x7f, 0x6f, 0x17, 0xb, 0x62, 0xfe, 0xde, 0xb0, 0xed, 0x9d, 0x8c, 0x8d, 0x0, 0xdd, 0xf5, 0x84, 0xae, 0x81, 0x10, 0x49, 0xab, 0x56, 0xec, 0x87, 0x4c, 0x46, 0x78, 0xe5, 0xfb, 0x1, 0x4d, 0x2d, 0x2f, 0x2e, 0x4e, 0x7c, 0xdc, 0x2a, 0x8, 0x8c, 0x5b, 0xb, 0x9, 0x56, 0x75, 0x24, 0xef, 0x5e, 0xe1, 0xed, 0xd1, 0xaf, 0xf6, 0xa9, 0xf7, 0x5f, 0xc, 0xde, 0x9, 0xad, 0xf9, 0xdd, 0x41, 0x87, 0x50, 0xd4, 0x6b, 0x93, 0xed, 0x57, 0xa9, 0x96, 0x6c, 0x72, 0x4e, 0xc1, 0xbd, 0x91, 0xb6, 0x45, 0xd4, 0x3, 0xb6, 0x41, 0xba, 0x6a, 0x41, 0x5c, 0x55, 0xaa, 0x2, 0x15, 0x4f, 0xa4, 0x4e, 0xb9, 0xc, 0x44, 0xbf, 0x7d, 0x5e, 0x87, 0xcd, 0x4d, 0x25, 0xb2, 0x2d, 0x9, 0x11, 0x75, 0x8e, 0xc1, 0xce, 0x76, 0x48, 0xa3, 0xb0, 0xbd, 0xed, 0x4d, 0x74, 0x2e, 0xe4, 0x52, 0xc4, 0x4a, 0xde, 0xd5, 0x16, 0xf2, 0x3d, 0x5c, 0x1b, 0x55, 0xf6, 0x4b, 0xda, 0x5, 0x3c, 0x1, 0x47, 0xef, 0x7c, 0xa9, 0xc2, 0x8e, 0xd1, 0x35, 0xc0, 0x9c, 0x65, 0xb6, 0x1a, 0xc9, 0x5d, 0x6b, 0x60, 0xa1, 0xda, 0xf2, 0xbf, 0x67, 0x82, 0x1, 0xc2, 0xb4, 0x45, 0x91, 0x6, 0x38, 0xf4, 0x9c, 0x9b, 0x18, 0x42, 0x95, 0x73, 0x7c, 0xb7, 0xb5, 0x85, 0x89, 0x16, 0xc6, 0x8c, 0x48, 0x78, 0xe0, 0x8a, 0x64, 0x63, 0xcc, 0x7d, 0x70, 0x8f, 0x8e, 0x81, 0x3c, 0xb2, 0x92, 0x7a, 0x72, 0x23, 0x44, 0x12, 0x8e, 0x49, 0x88, 0xe3, 0x95, 0x95, 0xf1, 0xc3, 0xa5, 0x8d, 0x51, 0x80, 0xd6, 0xee, 0xbd, 0x2b, 0xb0, 0x4e, 0xd1, 0x41, 0x82, 0x89, 0x7b, 0x3, 0xe2, 0x81, 0xec, 0xfe, 0x3d, 0xd1, 0x81, 0xda, 0x8a, 0x90, 0x65, 0x32, 0xfa, 0x7b, 0x26, 0xa4, 0xd0, 0x3a, 0xdf, 0x3b, 0x18, 0x92, 0x59, 0x57, 0xd4, 0x9c, 0xa0, 0x87, 0xf, 0x21, 0x87, 0xe1, 0x47, 0xce, 0x5e, 0xb1, 0xaf, 0x45, 0xfc, 0x4e, 0xd8, 0xe0, 0xf3, 0xc4, 0xe6, 0x8d, 0xd6, 0x91, 0x54, 0xd2, 0x79, 0x75, 0xe0, 0xe3, 0x14, 0xd4, 0x94, 0x17, 0x75, 0x2e, 0xf4, 0x55, 0x58, 0x27, 0x61, 0xa8, 0xaa, 0x80, 0x43, 0xef, 0xef, 0xd2, 0x51, 0x12, 0xc2, 0xf9, 0xc1, 0xc2, 0x2a, 0xc5, 0xdb, 0x8c, 0xd2, 0x54, 0x6c, 0xb6, 0xf5, 0xae, 0x18, 0x8a, 0xd6, 0x7c, 0x7a, 0xde, 0xc9, 0x19, 0x14, 0xe3, 0x55, 0xab, 0xe2, 0x51, 0x6a, 0xf4, 0x12, 0x2a, 0x1c, 0xc0, 0x4c, 0x5f, 0x8a, 0x3b, 0x48, 0x76, 0xf0, 0x82, 0xc9, 0x39, 0x12, 0x96, 0xc7, 0xe6, 0xfb, 0x79, 0x1b, 0x29, 0xd7, 0xf7, 0x83, 0x85, 0x4, 0x13, 0x4, 0x82, 0xce, 0x31, 0x61, 0xc1, 0xb6, 0x51, 0x1, 0x54, 0x0, 0x5, 0x3b, 0xb, 0x2a, 0x1d, 0xba, 0x60, 0x74, 0xd3, 0x30, 0x47, 0x7d, 0x77, 0xe1, 0xe6, 0x1b, 0xe2, 0xf7, 0x42, 0xda, 0x2a, 0xf4, 0x18, 0x95, 0xe5, 0xb0, 0xf3, 0x39, 0x58, 0xa2, 0xe5, 0x8c, 0xc0, 0x26, 0x21, 0x70, 0x7, 0x9f, 0x5b, 0xfe, 0x44, 0xc4, 0xe2, 0x81, 0xcb, 0xb4, 0x30, 0xa6, 0x2b, 0x7c, 0xbf, 0x2f, 0x4, 0xee, 0x6d, 0xf8, 0xc, 0xa, 0x41, 0x1d, 0x25, 0x0, 0xd2, 0xb2, 0x77, 0x2a, 0x52, 0x23, 0xee, 0x4a, 0xce, 0xd3, 0x27, 0x5, 0x1d, 0x2f, 0x79, 0xf8, 0x3a, 0x92, 0x3c, 0x29, 0x1b, 0xe, 0xd, 0x41, 0x28, 0x79, 0x93, 0x6a, 0x2b, 0x11, 0xa3, 0xec, 0x30, 0x10, 0x8a, 0xc7, 0x33, 0xc3, 0xe2, 0xae, 0x9d, 0x17, 0x1b, 0x35, 0x1e, 0x8c, 0x2b, 0x96, 0x79, 0xd9, 0x39, 0x2f, 0x46, 0xd3, 0xb3, 0xb7, 0x93, 0x5f, 0x47, 0x17, 0x37, 0xb3, 0xf9, 0x68, 0x5e, 0x48, 0x69, 0x7b, 0x89, 0x5, 0x3e, 0x6d, 0x11, 0xd9, 0xaa, 0x4a, 0xc2, 0x56, 0x88, 0x6a, 0xf4, 0xd3, 0xde, 0x8c, 0xae, 0x93, 0xe8, 0x29, 0xbc, 0xce, 0xbd, 0xc5, 0xbf, 0x23, 0xd6, 0x94, 0x27, 0xf5, 0x44, 0xee, 0xe0, 0x3, 0xcc, 0xde, 0xeb, 0xd4, 0x28, 0x8e, 0xb8, 0x7e, 0x8e, 0xf7, 0x92, 0xa7, 0xbf, 0xb, 0xe0, 0xc9, 0x8e, 0xce, 0x44, 0xfb, 0x16, 0xc0, 0xd, 0x99, 0x1d, 0x8e, 0x6d, 0xa7, 0x9, 0x30, 0x41, 0xf8, 0xb0, 0x4c, 0x3, 0x70, 0x87, 0x9e, 0xb, 0xb8, 0x4f, 0xd6, 0x31, 0xa8, 0x4b, 0x5d, 0x94, 0xd7, 0x3b, 0xb7, 0xfe, 0x79, 0x3c, 0x8d, 0xd1, 0xb8, 0x97, 0xa3, 0x77, 0xe3, 0xd9, 0xfb, 0xd1, 0xd9, 0x98, 0xe4, 0xe6, 0x7c, 0xc, 0xd7, 0x48, 0xaa, 0x7d, 0xc2, 0xa9, 0x6e, 0xa2, 0x2d, 0x7, 0x6, 0x69, 0xd5, 0x18, 0xa4, 0x41, 0x7f, 0xba, 0x9, 0x91, 0xb8, 0xbc, 0xea, 0x4a, 0x14, 0xc7, 0x2e, 0xcb, 0xc5, 0xfe, 0x98, 0x8f, 0x39, 0xb4, 0xc9, 0x6b, 0x8e, 0x4d, 0x2c, 0xea, 0x40, 0x8, 0x5c, 0x2a, 0xa2, 0x14, 0xee, 0xb0, 0xb6, 0x53, 0x67, 0x7d, 0xd1, 0xb3, 0x15, 0x44, 0xe2, 0xe7, 0x51, 0xcc, 0xa0, 0xc4, 0xa9, 0xe8, 0x9e, 0x6d, 0xb2, 0x2b, 0x16, 0xd1, 0x6b, 0x5b, 0xc1, 0x43, 0x73, 0x60, 0x3b, 0xe4, 0xea, 0x54, 0x6e, 0x13, 0xdd, 0x47, 0x65, 0x38, 0x6a, 0x51, 0x67, 0x54, 0x76, 0x58, 0x94, 0x86, 0xde, 0xf4, 0xa8, 0x47, 0x29, 0x92, 0xf1, 0x86, 0x47, 0x4f, 0x3a, 0x7e, 0xaa, 0x4a, 0xc4, 0x7c, 0xb6, 0xcd, 0x3d, 0x62, 0xf7, 0x62, 0x77, 0x82, 0xf9, 0x7e, 0x1b, 0xb3, 0xd1, 0x21, 0x83, 0x6e, 0x47, 0x4f, 0xc3, 0xe0, 0x4, 0xa2, 0x23, 0xbe, 0xd6, 0x8c, 0x7d, 0x92, 0xe2, 0xb3, 0x25, 0xe9, 0x7b, 0x9c, 0xc1, 0x5, 0x31, 0x3c, 0xf3, 0x3b, 0x68, 0x9c, 0x20, 0x14, 0x12, 0xce, 0x3f, 0x76, 0x19, 0x53, 0xb8, 0xd9, 0x6c, 0xa9, 0xff, 0xda, 0x62, 0x2d, 0x9b, 0xa8, 0x6c, 0x5f, 0x56, 0x53, 0x58, 0xa0, 0xef, 0x2, 0x1b, 0xd6, 0x3c, 0x13, 0xb8, 0xe1, 0xbd, 0x32, 0x99, 0x34, 0x54, 0xf5, 0x6, 0x20, 0x2a, 0x67, 0x6d, 0x81, 0x1e, 0x5d, 0x74, 0xdf, 0x87, 0xb5, 0x80, 0xe4, 0x18, 0x1b, 0x35, 0x12, 0xfa, 0xa5, 0xf2, 0x12, 0xe1, 0x55, 0xe4, 0x54, 0x94, 0x4a, 0xe0, 0xd8, 0xe5, 0xd5, 0x1c, 0x92, 0xf1, 0xe, 0x4a, 0x3c, 0x89, 0x70, 0x21, 0x53, 0xc4, 0xa3, 0x48, 0xa2, 0x18, 0x10, 0x2a, 0x62, 0xbc, 0xd5, 0xad, 0x4, 0x87, 0x84, 0xdd, 0x8, 0x9f, 0xaf, 0x6c, 0x2a, 0xf3, 0x80, 0x69, 0xc5, 0x1e, 0xf1, 0xfa, 0x78, 0x17, 0x3d, 0x8, 0xa3, 0xc6, 0x38, 0x5b, 0x47, 0x77, 0x6b, 0x96, 0xf2, 0xbb, 0xbe, 0xea, 0xe8, 0xac, 0x5a, 0x90, 0xfa, 0x3f, 0x97, 0xf0, 0x3b, 0x91, 0x38, 0xe0, 0xbd, 0x94, 0x27, 0xa5, 0x54, 0x9b, 0x3e, 0x2c, 0x9e, 0x27, 0x79, 0xfa, 0x6c, 0x59, 0xd6, 0x18, 0xc, 0xb6, 0x97, 0x60, 0x51, 0x1b, 0x45, 0x21, 0x3, 0xbc, 0x67, 0xf5, 0xa2, 0x27, 0xf7, 0x8d, 0x36, 0x53, 0x62, 0xba, 0xa7, 0x2, 0xbe, 0x35, 0x39, 0x3d, 0xcf, 0x4c, 0x0, 0x6f, 0xa5, 0x0, 0x9f, 0xf6, 0xde, 0xa, 0x9e, 0xa4, 0x4b, 0xc1, 0xeb, 0x2f, 0x7b, 0x7, 0x91, 0x41, 0xef, 0x87, 0xeb, 0x7c, 0x94, 0x4a, 0x5a, 0xac, 0xbb, 0xf8, 0x7d, 0xa2, 0x96, 0xb1, 0xd8, 0xe8, 0x3d, 0xcb, 0xed, 0x59, 0x48, 0x73, 0x2e, 0xea, 0x2d, 0xd, 0x5a, 0xa, 0x41, 0x69, 0x1, 0xbc, 0xe3, 0x59, 0x7d, 0x8a, 0xe5, 0x41, 0x94, 0x6d, 0x79, 0xa6, 0x2b, 0x5c, 0x99, 0x25, 0x11, 0x4e, 0xb9, 0xc, 0x79, 0xac, 0xa4, 0x18, 0xb9, 0xfb, 0xf3, 0xf3, 0x8, 0xb3, 0x1b, 0xc8, 0xbb, 0xa9, 0x37, 0x9, 0xd5, 0x7b, 0x15, 0xc7, 0xf6, 0x79, 0xe2, 0x4a, 0xce, 0xd6, 0x59, 0x1a, 0xaa, 0xc7, 0x5a, 0x8b, 0xe0, 0x8, 0x1b, 0x1f, 0xef, 0x1a, 0x27, 0xe0, 0xf8, 0xa, 0x70, 0x60, 0x42, 0xaa, 0x50, 0x59, 0xa, 0xe4, 0x5b, 0x7e, 0x8a, 0x84, 0x6d, 0x55, 0x1c, 0x1b, 0x45, 0xcb, 0x34, 0x11, 0x36, 0x5c, 0xc8, 0xf, 0xc6, 0xee, 0x13, 0x92, 0x2f, 0x63, 0x11, 0xe, 0xfc, 0xd2, 0x8c, 0x60, 0x66, 0x52, 0x97, 0x82, 0x9a, 0x9a, 0xb3, 0xdc, 0x6, 0x1f, 0x60, 0xba, 0x98, 0x90, 0xa1, 0x8b, 0x32, 0x40, 0x57, 0xea, 0x2f, 0x62, 0x47, 0xf, 0x3a, 0x51, 0xb2, 0x90, 0xa6, 0x9d, 0xab, 0xc4, 0x8a, 0x65, 0xe3, 0xa0, 0x24, 0x33, 0x11, 0x80, 0x4d, 0xf3, 0x54, 0x6f, 0x48, 0xa9, 0x2c, 0xf5, 0x47, 0xbe, 0x42, 0xd3, 0x15, 0x50, 0x85, 0x31, 0xe, 0xb, 0xc9, 0x25, 0xc6, 0x8f, 0xba, 0xda, 0xb9, 0x43, 0xf6, 0x61, 0x6d, 0x6b, 0x8e, 0xaf, 0x62, 0x7e, 0x97, 0xd7, 0xeb, 0xb3, 0x54, 0x13, 0x58, 0x2, 0x8f, 0x8d, 0x9a, 0xc4, 0x49, 0x41, 0x39, 0x32, 0xd3, 0x21, 0xbb, 0x4b, 0x78, 0x20, 0x56, 0x59, 0x1c, 0xef, 0x16, 0x32, 0xe1, 0x54, 0x2e, 0x9a, 0x4b, 0x96, 0x12, 0x70, 0x2f, 0x54, 0x8f, 0x95, 0x3b, 0xa6, 0xb6, 0x42, 0x56, 0x30, 0xb3, 0xc6, 0x8f, 0xad, 0xe2, 0x58, 0x24, 0xa3, 0x2c, 0x55, 0x3a, 0xe0, 0xb1, 0xb1, 0x5f, 0x9e, 0x65, 0xe7, 0xc0, 0x28, 0x8c, 0x7b, 0xc3, 0x34, 0x88, 0xe9, 0x19, 0xd5, 0xf1, 0x7b, 0x46, 0xc1, 0x24, 0x91, 0x73, 0x15, 0x3, 0x5f, 0x90, 0xa4, 0xa6, 0xea, 0xc4, 0xfb, 0x29, 0x93, 0xb6, 0x12, 0xe6, 0x43, 0x84, 0x60, 0x23, 0x89, 0x8a, 0xd9, 0xdf, 0x33, 0x91, 0x9, 0xfd, 0xb2, 0x8f, 0x4f, 0xd1, 0x33, 0x80, 0xec, 0xf9, 0xbd, 0xb3, 0xe5, 0xfb, 0x86, 0x6c, 0xb6, 0x2e, 0xa4, 0x25, 0x2, 0x16, 0x15, 0x19, 0x13, 0x68, 0xa1, 0xd0, 0x6, 0x80, 0xd2, 0x93, 0x9e, 0x71, 0x52, 0xeb, 0x83, 0x9a, 0xe6, 0x35, 0x3c, 0xf, 0x77, 0x47, 0x81, 0x6a, 0x11, 0x67, 0x58, 0x0, 0xb5, 0xc3, 0xdb, 0x73, 0xb5, 0xfd, 0x8b, 0xcd, 0x3f, 0x5b, 0xa4, 0x0, 0x91, 0x5f, 0x66, 0x8c, 0x7f, 0x6f, 0x38, 0xfc, 0x2e, 0xe6, 0xf5, 0xbf, 0x7f, 0x1b, 0x6b, 0x33, 0xee, 0xf6, 0xdd, 0x44, 0x3d, 0xc0, 0xb2, 0xf6, 0xaf, 0xce, 0x35, 0x48, 0x59, 0xfb, 0x9f, 0x4d, 0xc7, 0x3f, 0x4f, 0x66, 0xf3, 0xf1, 0xb4, 0xf9, 0xab, 0xf3, 0xf1, 0xfb, 0xe9, 0xf8, 0x6c, 0x34, 0x6f, 0xfb, 0xa, 0x6e, 0xeb, 0x8d, 0x98, 0x54, 0x4d, 0x64, 0xee, 0x73, 0x45, 0x3c, 0x56, 0x47, 0xd3, 0x1c, 0xc1, 0xad, 0xda, 0xfa, 0x20, 0xd2, 0x68, 0x5d, 0xf4, 0x29, 0x77, 0xfc, 0xc1, 0x6f, 0x53, 0xd9, 0x6b, 0xca, 0xf5, 0xfd, 0x9f, 0x8d, 0x3a, 0xe9, 0xda, 0xe5, 0xdc, 0x35, 0xa8, 0xbe, 0x9c, 0xee, 0xc1, 0xa7, 0x34, 0xf6, 0xd5, 0x9, 0x88, 0xc3, 0xb, 0x8e, 0x28, 0xe0, 0x71, 0xf8, 0x19, 0xd3, 0x5d, 0x2b, 0x46, 0xce, 0xa3, 0x8d, 0x50, 0x65, 0xfa, 0xfa, 0xa0, 0x97, 0xa8, 0x94, 0xc7, 0x55, 0x68, 0x36, 0x29, 0x76, 0x4d, 0x8e, 0x27, 0x73, 0x12, 0x5a, 0xc0, 0x25, 0x38, 0xd4, 0x9, 0xf2, 0x88, 0x71, 0xcd, 0xa4, 0x68, 0xa3, 0x77, 0x9a, 0x1d, 0x83, 0x52, 0x22, 0x8, 0x5e, 0x6e, 0x8d, 0xd5, 0x18, 0x7b, 0x19, 0xe6, 0x49, 0x56, 0x77, 0x1c, 0xef, 0xd7, 0xe8, 0x7b, 0x46, 0x22, 0xe0, 0x75, 0xa5, 0x99, 0x8a, 0x49, 0x38, 0x15, 0x99, 0x16, 0xef, 0x55, 0x1c, 0x5, 0x1d, 0xdf, 0x61, 0x73, 0xa9, 0x2f, 0x36, 0x6e, 0x22, 0xf3, 0x1c, 0x75, 0xc4, 0x29, 0x73, 0x31, 0x2d, 0x93, 0xf3, 0x9b, 0xe9, 0xf8, 0x7a, 0x36, 0xbe, 0x79, 0x7f, 0x75, 0x31, 0x39, 0xfb, 0xed, 0x66, 0x74, 0x61, 0xfe, 0x7a, 0x7e, 0xfd, 0xfe, 0x62, 0x62, 0x54, 0x51, 0xd, 0xd9, 0x66, 0xc9, 0x77, 0xfd, 0x88, 0x9d, 0x7a, 0x4d, 0xda, 0x9e, 0x8d, 0xa1, 0x7b, 0x63, 0xca, 0x44, 0xc1, 0xce, 0x81, 0x81, 0xb9, 0x3d, 0xc0, 0x3e, 0x18, 0xdb, 0x4f, 0xa, 0x63, 0x9c, 0x8a, 0x8f, 0x81, 0x10, 0x21, 0xbb, 0xad, 0x28, 0xed, 0x4b, 0x82, 0x7a, 0x5b, 0x87, 0xc6, 0x96, 0xe4, 0x98, 0xd1, 0x7d, 0x16, 0xde, 0xb, 0x66, 0x12, 0x6c, 0x9d, 0xa6, 0x5b, 0x7d, 0xfa, 0xea, 0x55, 0xa8, 0x2, 0x3d, 0x24, 0x5f, 0x45, 0x3c, 0x8c, 0x14, 0xfc, 0xe1, 0x95, 0xd9, 0xc, 0x42, 0xa6, 0xaf, 0x8c, 0x99, 0x71, 0x12, 0xe9, 0x13, 0x7e, 0x62, 0x3f, 0x39, 0x31, 0xa3, 0x9f, 0xfc, 0x4d, 0x2d, 0x5f, 0x55, 0x13, 0xb7, 0x29, 0xc6, 0xbe, 0x34, 0x32, 0x16, 0xe2, 0x64, 0xaa, 0xf, 0xd4, 0xbd, 0xdc, 0x94, 0xae, 0x3d, 0xee, 0xe7, 0xb4, 0x3c, 0x77, 0xf4, 0xd2, 0x27, 0xad, 0x70, 0x9d, 0x83, 0xdc, 0xd9, 0x42, 0xde, 0x84, 0x42, 0x91, 0x7b, 0xa0, 0xa, 0xf5, 0xae, 0x49, 0x3, 0x57, 0x95, 0x26, 0x5a, 0x45, 0x77, 0xb, 0x99, 0x57, 0x6a, 0xde, 0xaf, 0xd2, 0x6c, 0x9a, 0x86, 0x91, 0xde, 0xc6, 0x7c, 0x47, 0xe8, 0x71, 0x1f, 0x1, 0x18, 0xe8, 0x44, 0xad, 0x4e, 0x10, 0xa4, 0xad, 0xaa, 0xc4, 0x34, 0xc6, 0x34, 0xe4, 0x48, 0x18, 0x75, 0xf, 0x45, 0xe, 0x4e, 0xee, 0xea, 0x41, 0x24, 0x49, 0x14, 0x76, 0x3e, 0xd8, 0x7e, 0x2d, 0xb7, 0x6c, 0x79, 0xfd, 0xd2, 0x22, 0x1d, 0xb0, 0x14, 0x80, 0x42, 0xb6, 0x89, 0x8, 0x44, 0x28, 0x20, 0x52, 0x6, 0xb8, 0xb3, 0x16, 0x2c, 0xef, 0x90, 0x39, 0x68, 0x3b, 0x2d, 0x64, 0x6a, 0xb, 0xdf, 0xcf, 0xce, 0x7f, 0x31, 0xcc, 0x77, 0x8f, 0xfb, 0x46, 0xe3, 0x7a, 0x77, 0xd4, 0xe1, 0x42, 0xce, 0x15, 0xcb, 0x24, 0x40, 0x8, 0xae, 0xb1, 0x5f, 0x43, 0x15, 0xe3, 0xab, 0x54, 0x24, 0x7b, 0x6b, 0x6, 0x70, 0x7e, 0x66, 0xa8, 0x1, 0x30, 0x1d, 0xdd, 0x47, 0x75, 0xe0, 0xd1, 0xf5, 0x55, 0xa1, 0x55, 0xd2, 0x19, 0x4c, 0x6, 0x8a, 0x42, 0xe3, 0xf7, 0xd5, 0x7a, 0xc0, 0xfe, 0xcc, 0x36, 0x56, 0x1c, 0x7b, 0xdc, 0x56, 0x6a, 0xac, 0x2f, 0xc0, 0x84, 0x62, 0x7a, 0xcd, 0x13, 0x11, 0xba, 0xf0, 0x16, 0xb8, 0x68, 0xb, 0x19, 0xf0, 0xad, 0xce, 0x62, 0x9e, 0x9a, 0x13, 0x17, 0xd0, 0x5a, 0xc4, 0x42, 0x5a, 0xc, 0xa8, 0xa2, 0xe5, 0x0, 0x42, 0x6, 0x77, 0x55, 0x8f, 0x83, 0x92, 0x85, 0xd1, 0x6a, 0x25, 0xa0, 0x4a, 0x3a, 0x28, 0xa8, 0x8f, 0xce, 0x45, 0xed, 0x5b, 0x85, 0x1f, 0x33, 0xfd, 0x16, 0xf1, 0xbe, 0xc6, 0x49, 0xa2, 0x12, 0xd0, 0xde, 0x15, 0x10, 0x95, 0x7d, 0x6c, 0xe7, 0xf1, 0x5f, 0xae, 0x67, 0x37, 0x6f, 0x47, 0x97, 0xe7, 0x17, 0xe3, 0xe9, 0xcd, 0x78, 0x3a, 0xbd, 0x9a, 0xde, 0x4c, 0xc7, 0xf3, 0xe9, 0x6f, 0x37, 0xaf, 0xc7, 0x6f, 0x47, 0xbf, 0x4e, 0xae, 0xa6, 0xb5, 0xe6, 0x74, 0x7b, 0x4b, 0xf8, 0xe7, 0x68, 0xf, 0x20, 0xb6, 0x43, 0xbb, 0xcb, 0xab, 0x4b, 0xaf, 0x6d, 0xa3, 0x4d, 0xfd, 0x34, 0xf2, 0xcb, 0x2b, 0xde, 0xc4, 0x59, 0xf4, 0x47, 0x18, 0xd3, 0xe9, 0x63, 0xa6, 0x2d, 0xe0, 0x1a, 0xac, 0xa5, 0xf8, 0x68, 0xee, 0x3b, 0x90, 0x1a, 0x45, 0xfb, 0x4, 0xf, 0x49, 0x7, 0x4e, 0x8, 0x96, 0x87, 0xdf, 0x31, 0x44, 0x61, 0x4a, 0x95, 0x7a, 0xa0, 0x9b, 0x83, 0xfd, 0x46, 0x50, 0x61, 0x1f, 0xbd, 0x1a, 0xfe, 0x33, 0x9f, 0x30, 0xed, 0x31, 0xe9, 0xca, 0x7, 0xe, 0x42, 0xdd, 0x6, 0x98, 0x43, 0xe6, 0x3, 0xed, 0x1e, 0x2d, 0xa1, 0x57, 0x73, 0x71, 0x36, 0x5b, 0x9e, 0x78, 0xb6, 0x90, 0x99, 0x8c, 0x85, 0x76, 0x61, 0x7e, 0x46, 0x9f, 0xa6, 0x6b, 0x91, 0x3c, 0x46, 0x5a, 0x0, 0xb2, 0x26, 0x3b, 0x61, 0x7d, 0x16, 0xf6, 0x94, 0x8d, 0x1c, 0x76, 0x1e, 0xd2, 0x87, 0xde, 0x7f, 0xe0, 0x4a, 0xbc, 0xc3, 0x10, 0x55, 0x0, 0x7f, 0x74, 0xd4, 0xc, 0xbb, 0xe, 0x52, 0x90, 0x82, 0xee, 0x3, 0x49, 0x25, 0x4f, 0xf2, 0xc1, 0x9a, 0xf6, 0x10, 0x5, 0xdc, 0x1e, 0x7a, 0xb1, 0x4a, 0x2b, 0xae, 0x44, 0x3d, 0x11, 0x9, 0x11, 0xe7, 0x29, 0x5f, 0x60, 0x6, 0xcf, 0xbc, 0x18, 0x7a, 0x4a, 0xe1, 0xd7, 0x66, 0xc1, 0x4e, 0x17, 0xd2, 0xda, 0x36, 0x77, 0x51, 0xba, 0xce, 0x96, 0xc3, 0x40, 0x6d, 0x5e, 0x81, 0x58, 0x9e, 0x24, 0xdb, 0xe0, 0x15, 0xdf, 0x46, 0xaf, 0x96, 0xb1, 0x5a, 0xbe, 0xda, 0xf0, 0x48, 0xbe, 0x32, 0x62, 0x3f, 0xdc, 0x84, 0xff, 0x6f, 0x9e, 0xcd, 0x78, 0x42, 0x1c, 0x3c, 0x41, 0x49, 0x69, 0x32, 0x23, 0xfb, 0x2, 0xdf, 0xb6, 0xe8, 0xa6, 0x26, 0x6, 0x4c, 0xb, 0xd2, 0x3f, 0x28, 0x60, 0xec, 0x55, 0x6f, 0xa9, 0xe2, 0x6e, 0xa8, 0x61, 0x56, 0x97, 0x97, 0xa5, 0x83, 0x6a, 0x13, 0xf4, 0xcf, 0x15, 0x29, 0x94, 0x74, 0x38, 0x62, 0x64, 0x7c, 0x85, 0x44, 0x4d, 0xce, 0x2d, 0xa3, 0x6e, 0x71, 0xab, 0x5d, 0xbd, 0x1f, 0x4f, 0x47, 0xf3, 0xc9, 0xd5, 0xe5, 0xcd, 0xd9, 0xe8, 0xf2, 0x6c, 0x7c, 0x71, 0x33, 0x1d, 0xff, 0xf9, 0x7a, 0x3c, 0xcb, 0x43, 0xe6, 0x3b, 0xdc, 0xc8, 0x9e, 0x2d, 0xb4, 0xbf, 0x62, 0x2, 0x6d, 0x1, 0xfe, 0xe, 0x69, 0x37, 0x50, 0x9, 0x3a, 0x98, 0xe1, 0xda, 0x5b, 0xa8, 0xff, 0x59, 0x5c, 0xdf, 0xca, 0x44, 0x0, 0x44, 0xdb, 0xad, 0x7b, 0x8c, 0x2b, 0x54, 0xaf, 0x79, 0xde, 0xf9, 0x46, 0x61, 0xed, 0x82, 0xcd, 0xce, 0xde, 0x8e, 0xcf, 0xaf, 0x2f, 0xfc, 0xb9, 0x83, 0x3d, 0x6c, 0xa6, 0x68, 0xbd, 0xf7, 0x1e, 0x1b, 0xcc, 0xc6, 0x39, 0x4c, 0xf8, 0xdb, 0x8a, 0x5e, 0x7c, 0x93, 0xfc, 0xdf, 0xbb, 0xe4, 0x3f, 0x43, 0xea, 0xa, 0x7d, 0x93, 0xbb, 0xfd, 0x47, 0xac, 0x5c, 0x94, 0x88, 0x8e, 0x63, 0xf6, 0x98, 0x50, 0x72, 0x3a, 0x67, 0xb6, 0x4a, 0x90, 0xf7, 0xf3, 0xb7, 0xed, 0xda, 0xb9, 0xee, 0xd0, 0x93, 0xb1, 0x45, 0xbe, 0x6e, 0x26, 0xfe, 0x33, 0x6f, 0xe3, 0x1e, 0x2, 0xf4, 0xd5, 0x4a, 0x4e, 0x83, 0x92, 0xdf, 0x97, 0x9c, 0x21, 0xbb, 0x86, 0x54, 0x8d, 0x78, 0x67, 0xd3, 0x26, 0x30, 0x2a, 0x2c, 0xd2, 0x39, 0xfc, 0xdf, 0xa7, 0xd3, 0x82, 0xc8, 0x77, 0x4, 0x6b, 0x76, 0xaa, 0xb0, 0xce, 0xe, 0x7, 0x49, 0x38, 0x28, 0x81, 0x65, 0x9e, 0x3, 0xb2, 0x1b, 0x9e, 0x99, 0x8b, 0x2c, 0xa2, 0x4a, 0xf3, 0xd4, 0xc5, 0x83, 0xc1, 0xe3, 0x41, 0xaf, 0xd7, 0x5c, 0xb8, 0xad, 0x28, 0x5f, 0x2c, 0x71, 0x57, 0x19, 0x4b, 0x3c, 0x20, 0xc1, 0x1a, 0xb2, 0x77, 0x7c, 0xc7, 0x54, 0xc2, 0x36, 0x7c, 0x7, 0xd7, 0x51, 0xca, 0x9d, 0x10, 0x92, 0x85, 0x19, 0x6, 0x14, 0xd3, 0xb7, 0xb1, 0xcd, 0x37, 0x45, 0x32, 0xc9, 0x3f, 0xb5, 0xe7, 0x69, 0x6b, 0x96, 0xe3, 0xb8, 0xa, 0xb5, 0xf2, 0xe9, 0x56, 0x4a, 0x13, 0xaa, 0x54, 0xb3, 0xf4, 0xe6, 0x8, 0x51, 0x6d, 0xab, 0x2, 0xa0, 0xe, 0x10, 0xd6, 0x5b, 0xe0, 0x2, 0x6e, 0x6d, 0xa2, 0xa3, 0x16, 0x4e, 0xa6, 0x4f, 0x78, 0x6c, 0x2d, 0xbb, 0x1a, 0xe2, 0x65, 0x29, 0x37, 0xe5, 0xe9, 0x79, 0x36, 0x7f, 0xfc, 0x43, 0x2b, 0x3, 0xf2, 0xb2, 0x2e, 0x34, 0x9a, 0x66, 0x1b, 0x1e, 0x82, 0x64, 0x84, 0x22, 0x8e, 0xac, 0x1f, 0x93, 0x54, 0x7e, 0x2e, 0x6d, 0xc4, 0x1d, 0xa8, 0x2a, 0x10, 0x69, 0xdb, 0x4d, 0x22, 0xb6, 0x89, 0xd0, 0x58, 0x45, 0x8b, 0x6d, 0x22, 0x19, 0x6d, 0xb2, 0xd, 0x5b, 0xaa, 0x4c, 0x86, 0x4c, 0x47, 0x32, 0x10, 0x16, 0xe0, 0x6, 0x52, 0x6e, 0x20, 0xe2, 0x3a, 0x48, 0xc4, 0x46, 0x48, 0x90, 0x5a, 0xe7, 0xd2, 0xcc, 0xf, 0x16, 0x94, 0xe8, 0xda, 0x30, 0x51, 0xae, 0x53, 0x4a, 0x46, 0xb2, 0x47, 0xca, 0xa7, 0x95, 0x19, 0x43, 0xac, 0x21, 0xc2, 0x4d, 0xc9, 0xed, 0xc1, 0x76, 0x8a, 0xdf, 0x1c, 0x5f, 0xab, 0xcd, 0xf7, 0xc8, 0xf9, 0x5e, 0x33, 0xd2, 0x9d, 0x3, 0x16, 0x41, 0x1, 0x98, 0x6, 0x78, 0xe, 0x22, 0xcb, 0x3e, 0xfb, 0x7c, 0x7a, 0x46, 0x2, 0xa4, 0x9d, 0x27, 0x1b, 0xee, 0x20, 0xab, 0x21, 0x7a, 0x19, 0xab, 0xe0, 0x5e, 0x84, 0x53, 0xc1, 0x75, 0x6b, 0x3c, 0x79, 0x8b, 0x13, 0x1f, 0x9c, 0x15, 0x10, 0xe1, 0x1f, 0x69, 0xf6, 0xfa, 0xe2, 0xea, 0xec, 0x97, 0xf1, 0xf9, 0x80, 0xd1, 0x0, 0x2c, 0x81, 0x11, 0xd8, 0x36, 0x51, 0xf, 0x51, 0x28, 0x34, 0xcb, 0x23, 0xc3, 0xeb, 0x90, 0x4f, 0x3a, 0xa9, 0xee, 0x5a, 0xe5, 0x59, 0xc4, 0xcc, 0x45, 0xba, 0xc0, 0x83, 0x29, 0xf7, 0x35, 0xbe, 0xd7, 0xb0, 0x87, 0x82, 0x3e, 0x24, 0xc6, 0xa3, 0xf2, 0x2a, 0x77, 0x41, 0x47, 0x7e, 0x63, 0xd8, 0x47, 0x7b, 0x4b, 0x67, 0x32, 0xf4, 0x6c, 0xf7, 0x7a, 0x74, 0xf6, 0xcb, 0xe4, 0xf2, 0xe7, 0x9b, 0xab, 0x37, 0x6f, 0xfa, 0x8e, 0x78, 0x7d, 0x76, 0x36, 0x1e, 0x9f, 0xf7, 0x1e, 0xf1, 0xcd, 0x68, 0xd2, 0x9f, 0xcc, 0xf9, 0xe4, 0xdd, 0xf8, 0xfc, 0xe6, 0xea, 0x7a, 0xde, 0x77, 0x7a, 0x28, 0x8f, 0x1d, 0x1c, 0xf0, 0xbd, 0xd7, 0xa5, 0x14, 0x66, 0x91, 0xcb, 0x5a, 0xc9, 0xba, 0xf0, 0x65, 0xad, 0xe0, 0xa2, 0xee, 0x3a, 0xea, 0x29, 0xa3, 0x17, 0x76, 0x2c, 0x88, 0x34, 0x28, 0x24, 0x8e, 0xd9, 0xe4, 0xc8, 0x6e, 0xbd, 0x3a, 0x49, 0x39, 0x65, 0x67, 0x55, 0xc6, 0xb, 0xe6, 0xf2, 0x98, 0xdd, 0x3, 0x51, 0x72, 0xec, 0x91, 0x47, 0x8, 0xce, 0xa4, 0xb0, 0x10, 0x89, 0x8, 0x32, 0x8, 0xb4, 0x7, 0xf7, 0x35, 0xe4, 0x7d, 0xca, 0x34, 0xde, 0xd9, 0x40, 0xe, 0x79, 0xd7, 0x99, 0x10, 0x4f, 0xf4, 0x6a, 0x48, 0x59, 0x73, 0x54, 0xc2, 0xb6, 0xa0, 0x1, 0xf7, 0x1e, 0x4, 0xd0, 0x79, 0x6a, 0xae, 0x12, 0x91, 0x66, 0x4b, 0x1e, 0xdc, 0x1b, 0x1a, 0xd5, 0x6a, 0x65, 0xab, 0x8a, 0xec, 0x6b, 0xc5, 0xee, 0xfc, 0xb1, 0x72, 0x5d, 0x43, 0x94, 0xce, 0x82, 0x0, 0x92, 0x8, 0x3a, 0xf7, 0x88, 0x12, 0x5f, 0xd3, 0x5d, 0x71, 0x7e, 0x5, 0xcf, 0x3f, 0xce, 0xb1, 0xf3, 0x30, 0x6e, 0x8f, 0x9c, 0x42, 0x34, 0xab, 0x97, 0x47, 0x95, 0x4b, 0xa2, 0x39, 0x35, 0x42, 0xa6, 0xb2, 0x94, 0x9d, 0x50, 0x88, 0x83, 0xc0, 0x82, 0x67, 0xf0, 0xc4, 0xac, 0xb3, 0xed, 0x36, 0x6, 0x89, 0xa2, 0xe3, 0xe3, 0xff, 0x63, 0xef, 0x6f, 0x97, 0x1b, 0xc7, 0xb1, 0x74, 0x51, 0xf8, 0xff, 0xbe, 0xa, 0xbc, 0xf9, 0xc6, 0x8e, 0x72, 0xf6, 0x96, 0x55, 0x99, 0xdd, 0x7b, 0x66, 0xc7, 0x78, 0x3e, 0x62, 0x54, 0xb6, 0xaa, 0x52, 0x53, 0x4e, 0xdb, 0x6d, 0xc9, 0x95, 0x5d, 0xd3, 0xec, 0xb0, 0x21, 0x12, 0x92, 0xd0, 0x49, 0x1, 0x6a, 0x82, 0xb4, 0x53, 0x7d, 0xf6, 0x8e, 0x38, 0x17, 0x71, 0xae, 0xf0, 0x5c, 0xc9, 0x9, 0xac, 0xb5, 0x0, 0x82, 0x12, 0x49, 0x51, 0x96, 0x9c, 0x59, 0x55, 0x93, 0xbf, 0x2a, 0xcb, 0x22, 0x41, 0x7c, 0x2e, 0xac, 0xcf, 0xe7, 0x39, 0xcd, 0xf5, 0x69, 0x9c, 0x6a, 0x23, 0x5c, 0x76, 0x4e, 0xf7, 0xc5, 0xc5, 0x83, 0xd7, 0xbc, 0xc7, 0xdc, 0x5, 0x71, 0x22, 0xe6, 0x67, 0x56, 0x61, 0x8e, 0x65, 0x16, 0x17, 0x32, 0x67, 0xd3, 0x4c, 0xf0, 0x8f, 0x22, 0x7b, 0xbd, 0x4b, 0x26, 0xbf, 0x80, 0x73, 0xfb, 0xb7, 0x67, 0xfd, 0x21, 0xd1, 0xde, 0x9e, 0xd9, 0x64, 0x5d, 0x93, 0xc9, 0x4a, 0x16, 0xbf, 0xdc, 0xc7, 0x7f, 0xca, 0xe, 0x31, 0xb4, 0xdb, 0x30, 0x6d, 0xba, 0xfa, 0x90, 0xe3, 0x7b, 0x8a, 0xd4, 0x5, 0x6a, 0xc9, 0x22, 0x61, 0x42, 0x42, 0x36, 0xf4, 0xa3, 0xe4, 0xc0, 0x9, 0xe8, 0xf3, 0xcc, 0x63, 0x9e, 0xa6, 0xf6, 0x74, 0x5b, 0x79, 0xc3, 0xd, 0x48, 0x0, 0x6a, 0x12, 0xcc, 0x2f, 0xb3, 0x56, 0xf1, 0x22, 0xd3, 0x4a, 0x17, 0x5d, 0x26, 0xe3, 0x57, 0x67, 0x8c, 0x82, 0xac, 0x31, 0x6, 0x32, 0xc6, 0x77, 0x1c, 0x88, 0x32, 0x7f, 0xe4, 0xab, 0x39, 0xd9, 0xbe, 0xcd, 0xbf, 0x9a, 0x93, 0x5f, 0xcd, 0xc9, 0xaf, 0xe6, 0xe4, 0x7f, 0x15, 0x73, 0xb2, 0x72, 0x1, 0x1c, 0xd8, 0xbd, 0x81, 0xfb, 0x3e, 0x38, 0xbe, 0x97, 0x7c, 0x6d, 0x35, 0xe2, 0xd, 0xe6, 0x59, 0xc1, 0xea, 0xfc, 0xde, 0xe4, 0x12, 0x7f, 0xbe, 0x9d, 0xdb, 0x28, 0xde, 0x1b, 0xd, 0xde, 0x56, 0x23, 0xa4, 0xe3, 0x5d, 0x72, 0xe8, 0xfd, 0x51, 0xb2, 0xf1, 0x1c, 0x72, 0xe9, 0xa2, 0xfa, 0x53, 0x2a, 0x3f, 0x99, 0xa7, 0xe0, 0xdd, 0x1c, 0xa3, 0xd5, 0xa2, 0xa5, 0x2, 0x5c, 0xeb, 0xb2, 0x62, 0x88, 0xa7, 0x5a, 0xcd, 0x51, 0xc1, 0xce, 0xa, 0x40, 0x43, 0x3a, 0x99, 0x8a, 0x54, 0x3f, 0xbd, 0x6e, 0xda, 0x26, 0xc5, 0xee, 0xee, 0xd6, 0xbe, 0xe8, 0x8, 0x2d, 0xe, 0x18, 0xaa, 0xa3, 0xa4, 0x80, 0xee, 0xf7, 0xac, 0xb2, 0xa3, 0xd3, 0x47, 0x84, 0x66, 0xe0, 0xec, 0xee, 0xf6, 0x12, 0x14, 0x24, 0xb8, 0x4, 0xb0, 0x1a, 0xe6, 0x1b, 0xc3, 0xdc, 0x57, 0x19, 0xa2, 0xa1, 0x67, 0x4d, 0x82, 0xc5, 0x88, 0xec, 0x51, 0xc6, 0x87, 0xa4, 0xf9, 0x8c, 0xb1, 0x5, 0xe8, 0x5b, 0xc3, 0x47, 0x74, 0x13, 0xf5, 0xdd, 0x1e, 0x9f, 0x29, 0x83, 0x45, 0x2d, 0x1f, 0xb2, 0x1b, 0xbd, 0xe8, 0x5e, 0x87, 0x5f, 0xbf, 0xbd, 0xc7, 0xd8, 0x48, 0xfb, 0x91, 0x47, 0xda, 0xe2, 0x94, 0xe1, 0x17, 0x4b, 0xa4, 0x2c, 0x3f, 0xd4, 0x1e, 0x93, 0x2a, 0x91, 0x31, 0x24, 0x4e, 0x3e, 0x51, 0xa1, 0x3a, 0x26, 0x0, 0x97, 0xd6, 0x31, 0x25, 0x97, 0x82, 0xd5, 0xac, 0x98, 0x56, 0x5e, 0x23, 0xa6, 0xca, 0x3f, 0xd7, 0x3c, 0xa0, 0x6b, 0x60, 0xf2, 0x69, 0xc2, 0xb4, 0xbd, 0xa5, 0x4b, 0xe6, 0x67, 0x3f, 0x2d, 0xf6, 0xe3, 0x99, 0x9c, 0xdb, 0xd7, 0xd2, 0x75, 0x29, 0x9b, 0x11, 0x42, 0x89, 0xcf, 0xb1, 0x0, 0xd, 0xc1, 0x36, 0x32, 0xc1, 0x81, 0x51, 0x94, 0x6f, 0x7e, 0xe8, 0x18, 0x8a, 0xd4, 0x8d, 0x80, 0x78, 0x5f, 0x75, 0x72, 0x77, 0xc3, 0xde, 0xbc, 0xd7, 0x3e, 0x84, 0x2e, 0x12, 0xb4, 0xf7, 0x80, 0x1e, 0x59, 0xcf, 0xb6, 0xc, 0xcb, 0xe1, 0x9f, 0x86, 0xe7, 0x77, 0xde, 0xaa, 0xbc, 0x1b, 0xdf, 0xdf, 0xde, 0x5d, 0x5d, 0x8d, 0xae, 0x7e, 0xd8, 0x11, 0x3d, 0x9f, 0xe8, 0x73, 0x6b, 0xb4, 0x1e, 0x5e, 0x7d, 0x31, 0x6e, 0xb2, 0x83, 0x6b, 0xb6, 0xc1, 0xce, 0x3e, 0x8d, 0x1d, 0xdb, 0xc7, 0xf1, 0xfa, 0x84, 0xd9, 0xde, 0xfb, 0xf7, 0x9, 0x7a, 0x72, 0xb4, 0x49, 0xb2, 0xad, 0x1d, 0x30, 0x43, 0xbf, 0x20, 0xd5, 0x1a, 0xe7, 0x73, 0x97, 0x66, 0x2d, 0xd, 0xe3, 0xab, 0x55, 0xa6, 0x3f, 0xc9, 0x25, 0xcf, 0xad, 0x3e, 0xb7, 0xa5, 0x3f, 0xc3, 0xf1, 0xe3, 0xc8, 0x1e, 0x2f, 0x41, 0x4b, 0xd9, 0xe6, 0xcf, 0x4, 0xef, 0x5a, 0x3f, 0x52, 0x23, 0xab, 0xce, 0xf0, 0x38, 0x97, 0xb1, 0x70, 0x34, 0x35, 0x88, 0x7a, 0x3a, 0x15, 0x6c, 0x9, 0xfc, 0xb8, 0xae, 0xc7, 0x56, 0x6f, 0xf4, 0x6d, 0x7a, 0x47, 0xdc, 0xb4, 0x40, 0x27, 0x12, 0x24, 0x1b, 0xc6, 0x7a, 0xb9, 0x94, 0x79, 0xcf, 0xca, 0x19, 0xc8, 0x91, 0xdd, 0x7e, 0x37, 0x52, 0x4f, 0x50, 0x42, 0x85, 0x45, 0x2e, 0xd8, 0xc6, 0xae, 0xad, 0xfb, 0xd2, 0xfa, 0xa7, 0xd5, 0x3d, 0xab, 0x22, 0xce, 0xf6, 0xb1, 0x4e, 0xc6, 0x91, 0x83, 0x0, 0xb6, 0xdc, 0x46, 0x66, 0x41, 0xb6, 0xad, 0x62, 0x85, 0x77, 0xf3, 0xa7, 0x95, 0xc4, 0x7, 0x5f, 0x7a, 0x34, 0x63, 0xdf, 0x57, 0xd0, 0xa9, 0xff, 0x47, 0xe0, 0x17, 0xd0, 0xac, 0xea, 0x4c, 0x6b, 0x2a, 0xb4, 0xa5, 0x63, 0xf9, 0xe2, 0x73, 0x5e, 0x73, 0xb7, 0xe4, 0x19, 0x57, 0x6, 0x24, 0xbc, 0xd3, 0x3a, 0xa0, 0x3b, 0xce, 0xc9, 0xfc, 0xd5, 0xf8, 0xfb, 0x6a, 0xfc, 0x6d, 0x76, 0xda, 0x57, 0xc6, 0x5d, 0x14, 0x7, 0xeb, 0x7e, 0xc3, 0x94, 0xaf, 0x8c, 0x3b, 0x3a, 0x50, 0x36, 0xe0, 0xbe, 0xe, 0x65, 0x77, 0x76, 0x47, 0x2a, 0xfd, 0x4, 0x77, 0x8b, 0x57, 0xa9, 0x3c, 0x5f, 0x1a, 0x10, 0xf0, 0xd3, 0x19, 0xc3, 0xc7, 0xed, 0x73, 0xb8, 0x7f, 0x23, 0x55, 0x3e, 0xd7, 0xb, 0x6a, 0x4c, 0x79, 0x9a, 0x96, 0x42, 0xd2, 0xea, 0x4f, 0x53, 0x1e, 0x7f, 0xc4, 0x30, 0x2, 0x12, 0xea, 0xb8, 0x1f, 0x9b, 0xe, 0x6b, 0xb3, 0xb7, 0xad, 0x75, 0x1b, 0x75, 0x75, 0xde, 0xfd, 0xaa, 0xcd, 0xed, 0xc3, 0xfd, 0xad, 0x63, 0xc4, 0x74, 0x40, 0x1d, 0x3c, 0x87, 0x1e, 0x79, 0xe7, 0x6b, 0x81, 0x74, 0xf8, 0xc0, 0xf, 0x9f, 0x88, 0xe5, 0x4a, 0xe7, 0x42, 0xc5, 0x6b, 0xa4, 0xb1, 0xc0, 0xdd, 0x6c, 0x8a, 0xe9, 0x52, 0x22, 0xd6, 0x1d, 0xde, 0xec, 0x1e, 0x27, 0x24, 0xd7, 0x91, 0x82, 0xcb, 0x98, 0x5c, 0xd1, 0xec, 0x2, 0xd0, 0xae, 0xe3, 0xbc, 0xac, 0x55, 0xa1, 0x67, 0xef, 0x25, 0x18, 0xf6, 0x35, 0x37, 0xe, 0xd9, 0xf4, 0x3d, 0x2, 0x56, 0x95, 0x6, 0x4b, 0xa6, 0x62, 0x9e, 0xa6, 0xe, 0x30, 0x25, 0xec, 0xd7, 0x47, 0x51, 0x96, 0x9c, 0xd6, 0xdd, 0x5f, 0xb7, 0x37, 0xe7, 0xd6, 0x70, 0x15, 0xe9, 0x6c, 0x97, 0x6d, 0xb5, 0x37, 0xfb, 0x41, 0xa3, 0x81, 0x5, 0x73, 0xd5, 0x67, 0xd7, 0x2a, 0xc5, 0xf2, 0x1f, 0x80, 0x52, 0xab, 0xf5, 0xa9, 0x1b, 0xf2, 0x9, 0xf2, 0xc0, 0x27, 0x8d, 0xc3, 0x8, 0x72, 0xfb, 0x78, 0x9a, 0xb6, 0xd9, 0x15, 0x13, 0x7f, 0xb7, 0x0, 0x48, 0xed, 0x4b, 0x85, 0x57, 0x46, 0x81, 0x22, 0x66, 0xcd, 0x1f, 0x14, 0x26, 0x95, 0x6b, 0xee, 0x1b, 0x53, 0x6e, 0xfa, 0x65, 0x91, 0xc3, 0xce, 0x92, 0x8a, 0xad, 0x44, 0x66, 0xa4, 0xb1, 0xcb, 0xd5, 0x68, 0x76, 0xbe, 0x68, 0xe5, 0x2b, 0xe4, 0x28, 0xbc, 0xab, 0x2d, 0x7f, 0xfd, 0x62, 0x68, 0x7b, 0xd8, 0x1d, 0x94, 0xa4, 0x58, 0xd5, 0x67, 0xc5, 0xc1, 0x8a, 0xcf, 0x89, 0x36, 0x5e, 0x25, 0x56, 0x67, 0x88, 0x43, 0x60, 0xdd, 0x86, 0xb9, 0xfb, 0x3c, 0xd5, 0xb8, 0x2f, 0x53, 0x36, 0xbb, 0xd3, 0x88, 0x49, 0xa5, 0xfa, 0xf8, 0xc5, 0xa0, 0x51, 0x2e, 0xa5, 0xfa, 0xd8, 0x79, 0x41, 0xed, 0xc3, 0x60, 0x18, 0x70, 0x7b, 0xb3, 0xba, 0x5c, 0x45, 0x57, 0x98, 0xe6, 0x3c, 0x6b, 0xa5, 0x46, 0xa8, 0x95, 0x33, 0x8b, 0xb2, 0xb0, 0xb8, 0xf6, 0xc5, 0x10, 0xc2, 0x31, 0xab, 0x1a, 0x9b, 0x71, 0xb3, 0x1f, 0xa7, 0x12, 0x19, 0x31, 0xb4, 0xa7, 0xf6, 0x6f, 0x36, 0x2d, 0xff, 0xdb, 0x46, 0xb7, 0xb6, 0xb2, 0xf8, 0x8b, 0x34, 0x75, 0xae, 0x99, 0xd0, 0x61, 0x1a, 0x60, 0x71, 0x6d, 0xf8, 0x15, 0x7b, 0xf6, 0x9a, 0x71, 0xe, 0x1b, 0x59, 0xe2, 0xc3, 0x57, 0x4d, 0x8e, 0x9d, 0xde, 0x54, 0x4f, 0x15, 0xf5, 0xc5, 0x3d, 0xaa, 0x3, 0xc2, 0x7e, 0xaf, 0xf3, 0xa9, 0x7e, 0x1, 0x6f, 0xea, 0xce, 0x88, 0x2b, 0x7e, 0x48, 0x7b, 0x75, 0xa5, 0x61, 0x9d, 0x76, 0x10, 0xd, 0x1f, 0xcb, 0x2f, 0xfb, 0x5f, 0xc3, 0xc1, 0xfa, 0x1b, 0x32, 0xfe, 0x3f, 0x8b, 0x45, 0x3d, 0x9a, 0x6d, 0xbb, 0x69, 0x1, 0xed, 0x6b, 0xc3, 0xf3, 0xda, 0xb, 0x69, 0xee, 0x82, 0x20, 0xad, 0x17, 0x2e, 0xed, 0x6, 0x39, 0xa2, 0xe2, 0xed, 0xf2, 0xe1, 0x7e, 0xe, 0xd7, 0xf8, 0x84, 0x4c, 0x87, 0x2, 0xb1, 0xfd, 0x3, 0xa7, 0x75, 0xef, 0x10, 0xaf, 0x75, 0xf5, 0xad, 0xbd, 0x1d, 0xd8, 0xc7, 0x52, 0xd0, 0xda, 0xcf, 0x69, 0x15, 0xcd, 0xd2, 0x4, 0x40, 0xd6, 0xa1, 0x9d, 0xf1, 0xb, 0x50, 0x86, 0xcb, 0x58, 0x42, 0xc7, 0x9, 0x3c, 0xa6, 0x35, 0x6f, 0x77, 0x88, 0x3, 0x85, 0x88, 0x45, 0xc9, 0xe1, 0xeb, 0x9d, 0x60, 0xb0, 0xf6, 0xa6, 0xe2, 0x30, 0x73, 0xbe, 0x56, 0xa2, 0x81, 0x24, 0xd8, 0x5e, 0x22, 0x89, 0xb4, 0x6a, 0x7a, 0xcd, 0x31, 0x43, 0x13, 0x7f, 0x1f, 0x1d, 0xc0, 0x91, 0x30, 0x6e, 0x6, 0x10, 0xab, 0xec, 0x61, 0x79, 0x91, 0x5, 0x15, 0xd9, 0x40, 0x33, 0xea, 0x81, 0x20, 0x9, 0xd8, 0xd2, 0xea, 0xde, 0x6a, 0xee, 0x98, 0x94, 0x16, 0x22, 0x13, 0x3d, 0x26, 0x94, 0x29, 0x32, 0x82, 0xd5, 0x40, 0xdf, 0x30, 0x4f, 0x8d, 0x66, 0x74, 0xd2, 0x1, 0x29, 0xbd, 0x39, 0xdc, 0xca, 0x4e, 0x94, 0xce, 0xcb, 0x97, 0x97, 0x7c, 0xcd, 0x78, 0x9a, 0x9, 0x9e, 0x40, 0xb0, 0xb9, 0x6c, 0x23, 0x52, 0x6d, 0x8d, 0x4c, 0x8b, 0x1c, 0x79, 0x34, 0xb0, 0x3e, 0x2b, 0xd7, 0xab, 0xd3, 0x54, 0x3c, 0x8a, 0x74, 0x57, 0x5a, 0xdd, 0xe6, 0xf9, 0x3f, 0x4a, 0xa2, 0xf3, 0x56, 0x14, 0xa7, 0x63, 0x9a, 0x73, 0x53, 0xf4, 0x67, 0xaf, 0x77, 0x7c, 0xd1, 0xda, 0x5e, 0x6f, 0xed, 0x4e, 0x52, 0xde, 0xfe, 0x10, 0x24, 0x41, 0xee, 0xf9, 0xd2, 0x64, 0x78, 0xfb, 0x7e, 0x74, 0xb5, 0x5, 0xcd, 0xb7, 0xf3, 0x35, 0x9f, 0xe, 0x4d, 0x2f, 0x75, 0x4a, 0x6c, 0xee, 0xb4, 0xe, 0x75, 0x69, 0xcd, 0x85, 0xd9, 0xa5, 0x21, 0x97, 0x38, 0x6e, 0x70, 0x7e, 0x5f, 0xea, 0x62, 0x8, 0xbc, 0x78, 0x2d, 0x37, 0x43, 0x43, 0x86, 0x75, 0xd3, 0x76, 0xc2, 0x74, 0xd9, 0x4a, 0x7f, 0x90, 0x30, 0xa1, 0xa6, 0xe9, 0x8d, 0x47, 0x29, 0x5, 0x84, 0x7c, 0x84, 0x94, 0x25, 0xd, 0x57, 0x40, 0x2f, 0x52, 0xd5, 0xa4, 0xe4, 0xaa, 0x37, 0x11, 0x22, 0x34, 0xee, 0x5c, 0x3b, 0x9c, 0xa8, 0x6e, 0xbd, 0xf6, 0x1b, 0x7a, 0xb3, 0xdf, 0xd, 0x69, 0x83, 0xdd, 0x5a, 0x75, 0x39, 0xca, 0x4d, 0x4d, 0x82, 0xc2, 0x4f, 0x4e, 0xec, 0xae, 0x1d, 0xa5, 0x3, 0xd1, 0xdc, 0x68, 0x58, 0x6b, 0x17, 0x39, 0x7f, 0x1a, 0xcd, 0x22, 0x65, 0xb9, 0x71, 0x15, 0xbc, 0x59, 0xd2, 0x3, 0x15, 0xb9, 0xb6, 0x52, 0x3a, 0x86, 0x2d, 0x53, 0xaa, 0x48, 0x9b, 0xba, 0x93, 0xf6, 0xed, 0x7b, 0xe5, 0x2b, 0x11, 0x2b, 0xc, 0x5b, 0x47, 0x8a, 0x9e, 0x77, 0xa6, 0x60, 0xf9, 0x1e, 0x6d, 0x5e, 0xf0, 0x6d, 0xf8, 0x84, 0x3b, 0x6a, 0x72, 0xbd, 0x12, 0xc8, 0xb3, 0xd2, 0x6d, 0x12, 0xca, 0x3, 0xbe, 0x39, 0xd, 0x56, 0xcb, 0x75, 0xb8, 0xbf, 0x0, 0x12, 0xe6, 0x30, 0x80, 0xb5, 0x62, 0xb, 0xbe, 0x5a, 0x9, 0x65, 0x98, 0x5c, 0x2e, 0x45, 0x22, 0x79, 0x2e, 0xd2, 0x35, 0xac, 0x80, 0x46, 0xb1, 0x1e, 0xd0, 0x66, 0x95, 0xb9, 0xb4, 0x9d, 0x7a, 0x53, 0x4d, 0x11, 0x2f, 0x3b, 0xb3, 0xb0, 0x9d, 0xf1, 0xb9, 0xe1, 0xd3, 0x35, 0x9e, 0x2e, 0xd8, 0xbd, 0x65, 0xae, 0x42, 0x99, 0xe9, 0x44, 0x1, 0xac, 0x6, 0x7c, 0xa7, 0x4a, 0x39, 0xfc, 0xd7, 0xc, 0xed, 0xcf, 0x5d, 0x9f, 0xfb, 0x4c, 0x94, 0x2, 0xc5, 0x6, 0x2b, 0xf, 0x7d, 0xbb, 0x1b, 0xa9, 0xe0, 0x57, 0x93, 0x4d, 0x8d, 0x5, 0x16, 0x1d, 0x76, 0xea, 0x11, 0x70, 0x94, 0x3e, 0xe7, 0xfe, 0xdc, 0x48, 0xbb, 0xf1, 0x4a, 0x34, 0x96, 0xe6, 0x8f, 0x2e, 0xbe, 0x3a, 0x43, 0x8e, 0xe7, 0xc, 0x39, 0x8e, 0xd7, 0xad, 0xfc, 0xd4, 0xe8, 0x82, 0x9d, 0x3a, 0xe5, 0x1, 0x1, 0xe6, 0xb7, 0xcc, 0x9a, 0xe0, 0x36, 0x2f, 0xe3, 0x31, 0x70, 0x9d, 0x47, 0xaa, 0xa4, 0xeb, 0xef, 0xb3, 0x5b, 0x61, 0xfb, 0xd, 0xae, 0x1, 0xff, 0xf2, 0x3d, 0xc6, 0x75, 0x3e, 0x6f, 0x18, 0xe9, 0xd9, 0x23, 0xda, 0xe3, 0x6c, 0xdf, 0x3a, 0x77, 0x9, 0xb9, 0xa6, 0xf1, 0x13, 0x13, 0x2, 0x3f, 0x5, 0x40, 0xc8, 0xd, 0x7b, 0x6, 0xaa, 0xc4, 0xf0, 0xf8, 0x6, 0x84, 0xc1, 0x64, 0xd8, 0xe5, 0xba, 0xc4, 0x2f, 0xc4, 0xb0, 0xdd, 0xae, 0x1b, 0x6d, 0x94, 0x9c, 0x6b, 0x35, 0x4b, 0x65, 0x9c, 0x6f, 0x81, 0xd4, 0x1e, 0x60, 0x20, 0x8d, 0x2e, 0xee, 0xcf, 0xaf, 0xaf, 0xbe, 0xbf, 0x1c, 0x9d, 0x4f, 0x1c, 0x5c, 0x6e, 0x47, 0x13, 0xa9, 0xe6, 0x4d, 0xab, 0xc9, 0xed, 0xf9, 0xca, 0xdd, 0x78, 0x78, 0x3f, 0xfc, 0xd3, 0x68, 0x3c, 0xb1, 0xc6, 0xd5, 0x3e, 0x16, 0x45, 0xc7, 0x8e, 0xd7, 0xa0, 0x5, 0x4b, 0x5, 0xd9, 0x92, 0xd6, 0x3e, 0xd5, 0x2c, 0xd1, 0xa4, 0xe1, 0x67, 0xeb, 0x50, 0x87, 0xae, 0x49, 0x62, 0xae, 0xf2, 0x38, 0xd8, 0x3b, 0xc3, 0x1a, 0x0, 0xbf, 0xa3, 0x5c, 0x80, 0xdf, 0x5, 0xd7, 0x2d, 0x92, 0x94, 0x85, 0x46, 0xf8, 0xef, 0x20, 0xe9, 0xe9, 0x77, 0xec, 0x91, 0xa7, 0x12, 0xd6, 0x1e, 0xe0, 0x1c, 0xf2, 0x27, 0xed, 0x53, 0x9, 0x1c, 0x59, 0xaf, 0x77, 0xf6, 0xc3, 0x57, 0x74, 0x70, 0x6c, 0xe1, 0xf8, 0x8d, 0x85, 0xd5, 0x9, 0x36, 0xf6, 0x45, 0x80, 0x94, 0xfc, 0x0, 0x41, 0x28, 0xd0, 0xcc, 0x2a, 0x9, 0xa, 0xb6, 0xbf, 0x49, 0xe1, 0xef, 0x58, 0x57, 0xf3, 0xf7, 0x3b, 0x74, 0x5f, 0x54, 0x3b, 0x5f, 0xab, 0xcf, 0x35, 0xac, 0xf6, 0x19, 0xbb, 0xd0, 0xea, 0x9b, 0xdc, 0x4f, 0x9a, 0x12, 0x4f, 0x65, 0x5b, 0xff, 0xc, 0xa3, 0x12, 0x3c, 0x71, 0x1c, 0x14, 0x1b, 0x3d, 0x1f, 0xa0, 0x11, 0x32, 0x46, 0x1b, 0xe4, 0xa1, 0xad, 0xe6, 0x70, 0xc7, 0xce, 0xd9, 0xaf, 0x1b, 0x9c, 0x54, 0x57, 0x1f, 0x13, 0xdf, 0xca, 0xe7, 0xd8, 0x79, 0x14, 0xeb, 0x91, 0xad, 0xf, 0x3b, 0x87, 0x15, 0xcc, 0xea, 0xee, 0x87, 0xb0, 0xd, 0xea, 0xfa, 0x80, 0x57, 0xc9, 0x2c, 0xbb, 0xbf, 0xbe, 0xba, 0xfc, 0x79, 0x9f, 0x66, 0x6e, 0x87, 0xff, 0x31, 0x3c, 0x9f, 0x4, 0x5d, 0xd8, 0xf3, 0x50, 0xef, 0x9c, 0x85, 0xe6, 0x13, 0x8d, 0xf9, 0xcf, 0x40, 0xb6, 0x8, 0x38, 0xe9, 0xe2, 0x14, 0x19, 0x77, 0x2a, 0x86, 0xdc, 0xe8, 0x2, 0x3d, 0xa6, 0xdc, 0x33, 0xc5, 0xa6, 0xeb, 0xf2, 0x1c, 0x6c, 0x46, 0x75, 0x22, 0x35, 0xaa, 0xc4, 0xdb, 0x10, 0x5d, 0x54, 0xc9, 0xd, 0x3e, 0x19, 0xdc, 0x58, 0x56, 0x1e, 0x74, 0xdc, 0xe2, 0xd, 0x27, 0xb9, 0x2a, 0xe1, 0x37, 0xe, 0x73, 0xc3, 0x11, 0xae, 0x15, 0x40, 0x4d, 0x87, 0xa8, 0x6d, 0xc5, 0xcf, 0xd8, 0x20, 0x7d, 0xe2, 0x6b, 0x43, 0xd3, 0x57, 0x22, 0xed, 0x86, 0xd3, 0x87, 0x33, 0xda, 0x24, 0xa0, 0xf6, 0xff, 0x68, 0xb8, 0xcd, 0x6c, 0x7, 0x3a, 0x7f, 0xd9, 0xda, 0x48, 0xa, 0x18, 0xd4, 0xc2, 0x24, 0xbc, 0x30, 0xcd, 0x62, 0xe6, 0xbd, 0x27, 0x2, 0x9d, 0xb9, 0x22, 0x52, 0x7a, 0xc6, 0xfe, 0x2f, 0xd4, 0xca, 0x7b, 0xde, 0x3e, 0xef, 0x5, 0xb6, 0x70, 0xaf, 0x34, 0x45, 0xff, 0x4f, 0xb7, 0xf1, 0x6c, 0xee, 0x77, 0x2b, 0x8a, 0xc0, 0x51, 0xb0, 0xb2, 0x8d, 0xe6, 0xb8, 0xb, 0xbd, 0x1d, 0x1b, 0x72, 0xc5, 0x7, 0x5, 0xab, 0xdf, 0x17, 0xc0, 0xfd, 0xb6, 0x91, 0x29, 0x84, 0xb9, 0xb8, 0x90, 0xc4, 0x93, 0x4b, 0x70, 0x37, 0xc4, 0xb, 0xae, 0xe6, 0x18, 0xa6, 0x41, 0x24, 0xf9, 0x5e, 0xa4, 0x60, 0xb5, 0x90, 0xb3, 0xa0, 0xfa, 0xa5, 0x1d, 0x42, 0x6c, 0x5c, 0x31, 0x18, 0x8e, 0x63, 0x24, 0x1f, 0xbf, 0xc, 0x65, 0x59, 0x98, 0x9c, 0x89, 0x4f, 0xd2, 0xe4, 0xce, 0x17, 0xfe, 0x5f, 0xb3, 0xe8, 0xe4, 0x39, 0xdc, 0x1c, 0x3b, 0x52, 0x95, 0x56, 0x3e, 0x53, 0x5e, 0x6c, 0x16, 0x4f, 0x97, 0x2c, 0xbf, 0x8f, 0x22, 0xcb, 0xc9, 0x9f, 0x20, 0x55, 0xae, 0x49, 0x40, 0x96, 0xa5, 0x99, 0xc0, 0x6, 0xe0, 0xdd, 0x55, 0x90, 0x9b, 0xbe, 0xca, 0xa4, 0x3d, 0x72, 0xee, 0x37, 0xc4, 0xd4, 0x37, 0x91, 0x72, 0x48, 0xcb, 0xee, 0xd0, 0x1a, 0x74, 0x86, 0x95, 0x59, 0x69, 0xdb, 0x31, 0x55, 0x76, 0xad, 0x2a, 0x29, 0x22, 0x46, 0x26, 0x98, 0xc7, 0x1a, 0xc4, 0x36, 0xa6, 0x1c, 0xf2, 0x5, 0xa7, 0x6b, 0xaf, 0x8c, 0xf7, 0x28, 0x1b, 0x8e, 0x3a, 0x0, 0x3c, 0x59, 0x5c, 0x19, 0x6b, 0xe5, 0xa, 0xcc, 0xb2, 0x74, 0x9, 0xf1, 0xce, 0xf9, 0xcb, 0x68, 0xc6, 0x98, 0xc9, 0x75, 0xe6, 0xc2, 0x2e, 0xd2, 0xb4, 0x2, 0x5c, 0x7e, 0xd9, 0x8a, 0x8f, 0x48, 0x8d, 0x7c, 0xe5, 0xcf, 0x42, 0x3f, 0x31, 0x48, 0x8d, 0x40, 0x8f, 0x21, 0x90, 0x65, 0x49, 0x3, 0x74, 0x62, 0xa4, 0xd3, 0x3e, 0x71, 0x89, 0xad, 0x6c, 0x99, 0x44, 0xd8, 0xd6, 0x39, 0x4f, 0x53, 0x84, 0xbe, 0x46, 0xe2, 0x93, 0x84, 0x5, 0x8b, 0x45, 0x69, 0x3a, 0xb8, 0x27, 0x9a, 0xb3, 0x87, 0x7f, 0xa9, 0xe9, 0x63, 0x56, 0x1f, 0x80, 0x8c, 0x23, 0xb7, 0xe8, 0x95, 0x2d, 0xdc, 0x67, 0xa4, 0xab, 0xb, 0x23, 0xdc, 0x56, 0xf5, 0x18, 0xe0, 0xfe, 0xb2, 0xe1, 0xa6, 0xb4, 0xf4, 0xdc, 0x43, 0x10, 0xb2, 0xc3, 0x49, 0x8a, 0x54, 0xc0, 0x75, 0xf, 0x94, 0x31, 0xb, 0x99, 0x6, 0x44, 0xa1, 0x3d, 0x6a, 0xdf, 0xb6, 0xb, 0x5b, 0x71, 0x29, 0x73, 0x62, 0x3d, 0xde, 0x50, 0x38, 0x4c, 0xa5, 0xbe, 0x53, 0x7c, 0x22, 0x6c, 0x72, 0x8, 0x47, 0x60, 0xa7, 0x22, 0x95, 0x67, 0xdc, 0xa7, 0xc2, 0xae, 0x88, 0x85, 0xe7, 0xb7, 0x81, 0xde, 0xe8, 0x4e, 0x40, 0x7, 0xe0, 0x46, 0xd6, 0x2, 0xbf, 0x7a, 0xc, 0xff, 0xa0, 0x4f, 0x53, 0x1a, 0x5d, 0xb0, 0x32, 0x5, 0xd8, 0x65, 0xac, 0x51, 0x1d, 0xd, 0x5d, 0x31, 0xac, 0x58, 0xd9, 0x5e, 0x66, 0x22, 0x70, 0xd, 0x78, 0xe1, 0x81, 0x31, 0xa9, 0xd1, 0x5, 0xb2, 0xfb, 0x4d, 0xab, 0x1b, 0x0, 0x75, 0x38, 0x60, 0x7e, 0xb1, 0xdb, 0xa0, 0x5e, 0xa, 0x1a, 0x7, 0x35, 0x53, 0x97, 0x75, 0xec, 0x13, 0x7c, 0x77, 0xf8, 0xdc, 0xe, 0x9a, 0xc, 0x7f, 0x27, 0xa3, 0xd5, 0xeb, 0x4b, 0x43, 0x9b, 0x6e, 0x64, 0x1f, 0xfb, 0xc5, 0x9c, 0x12, 0x37, 0x17, 0xb0, 0x80, 0x7e, 0x32, 0x5d, 0xb4, 0x1d, 0xd8, 0x4a, 0x40, 0xea, 0x52, 0x50, 0x4, 0x9f, 0xb5, 0x63, 0x86, 0x1, 0x37, 0x49, 0x22, 0xfb, 0xf5, 0x98, 0x1b, 0x51, 0xed, 0x2, 0xf8, 0x58, 0xd0, 0x2d, 0xe5, 0x13, 0x23, 0x5c, 0x6a, 0x4b, 0xa4, 0xca, 0x6e, 0xd4, 0x85, 0xfd, 0x7e, 0x91, 0x65, 0x74, 0x68, 0x29, 0xd4, 0x9f, 0xc, 0xa2, 0x3a, 0x2c, 0x75, 0xb7, 0x7e, 0x59, 0xb2, 0xa0, 0xef, 0xa1, 0xe9, 0xfb, 0xb0, 0xe9, 0x76, 0xc4, 0xcc, 0x2f, 0x55, 0x9a, 0xb7, 0xe7, 0x8, 0x71, 0x54, 0xfa, 0xbe, 0xac, 0xb5, 0x68, 0x19, 0xde, 0x2e, 0xaf, 0x1e, 0xc8, 0x42, 0xa0, 0x3f, 0x40, 0x4d, 0x84, 0xe7, 0x55, 0xa3, 0xc3, 0x6e, 0x95, 0x32, 0x49, 0x64, 0xba, 0xe, 0x69, 0x47, 0x5c, 0x3d, 0x74, 0xbb, 0xd4, 0xda, 0xa5, 0x85, 0xa3, 0x65, 0xf8, 0xdb, 0xf, 0x54, 0xe1, 0xaa, 0xe7, 0xc8, 0x93, 0xd3, 0x1, 0x78, 0xf8, 0x38, 0x7e, 0xef, 0x6a, 0xa8, 0x71, 0x74, 0x51, 0x3a, 0x60, 0x49, 0x96, 0x54, 0x60, 0x81, 0x9c, 0x40, 0xb, 0x81, 0x7e, 0x5a, 0xb4, 0x53, 0x12, 0x60, 0xa3, 0xb, 0x2f, 0x9c, 0x3, 0x8, 0x19, 0xa7, 0xd9, 0x56, 0xad, 0xf2, 0xd2, 0x7d, 0x7e, 0xb6, 0xbf, 0xfb, 0xfc, 0x8b, 0xc5, 0xbd, 0x5e, 0xc2, 0x85, 0x3f, 0xd9, 0x8, 0x97, 0x7f, 0x14, 0xea, 0x25, 0x16, 0x7, 0x1b, 0xee, 0xb4, 0x3e, 0xcf, 0x16, 0x1b, 0x5c, 0x35, 0x54, 0xae, 0xa0, 0xf8, 0xa0, 0xac, 0x71, 0x1a, 0x53, 0xa0, 0xee, 0x6c, 0x42, 0x52, 0x6d, 0xa5, 0x71, 0x7a, 0xe4, 0x9b, 0x6a, 0xd8, 0xa2, 0x17, 0xde, 0xa9, 0x94, 0x32, 0x12, 0x5e, 0xab, 0x23, 0xc5, 0x32, 0xa0, 0xa6, 0x97, 0x79, 0xe1, 0xca, 0xce, 0x4c, 0x11, 0x2f, 0x58, 0x9, 0x67, 0xe4, 0xc3, 0xe8, 0xa5, 0x1b, 0xcb, 0x2a, 0x32, 0x56, 0xef, 0x9c, 0x71, 0x99, 0x22, 0x6f, 0x70, 0xac, 0x33, 0x32, 0xeb, 0xe2, 0xbc, 0x40, 0x57, 0xa, 0xdd, 0x55, 0x70, 0x3b, 0x83, 0x42, 0x33, 0xe3, 0xd3, 0xc, 0xcc, 0x90, 0x48, 0x5, 0x9d, 0x2, 0x85, 0x28, 0x13, 0xb1, 0x90, 0x8f, 0x5b, 0xf3, 0x1c, 0x42, 0x6c, 0x1, 0x31, 0x2e, 0xc1, 0x6c, 0xed, 0x10, 0x94, 0xf6, 0x46, 0x4a, 0xae, 0x8b, 0xfc, 0xb7, 0x2f, 0x29, 0x7f, 0x13, 0x21, 0xfd, 0x3d, 0x88, 0x7, 0x7e, 0x35, 0xe1, 0x7c, 0xef, 0x1a, 0xdc, 0xb1, 0x55, 0x3f, 0x70, 0x99, 0x8f, 0x73, 0x3e, 0x3f, 0x12, 0x58, 0xeb, 0x87, 0xc1, 0x68, 0x72, 0x3f, 0x9e, 0xc, 0x7e, 0xe8, 0xc, 0xd2, 0x1a, 0xbc, 0x31, 0x9e, 0xc, 0x6e, 0x77, 0xa4, 0xf8, 0x5, 0x4f, 0x9f, 0x5f, 0x5e, 0x8f, 0xf7, 0x84, 0x2c, 0xdd, 0xd1, 0xbb, 0x1a, 0xb5, 0xd0, 0xd1, 0xbe, 0xc5, 0x5c, 0x55, 0x41, 0x8c, 0x40, 0x3a, 0x3b, 0xcc, 0x4f, 0xad, 0xb6, 0x91, 0x73, 0x9b, 0x1c, 0xdb, 0xdb, 0xe3, 0x3d, 0x63, 0x1f, 0x9c, 0xcb, 0x63, 0x2b, 0x2f, 0x6b, 0x2a, 0xda, 0xd3, 0xde, 0xb6, 0xe6, 0x63, 0x47, 0x63, 0xdb, 0xd9, 0x7a, 0xa2, 0xe7, 0x40, 0x5, 0x83, 0x8a, 0x45, 0x9d, 0xb1, 0x42, 0x95, 0xff, 0xbf, 0xb5, 0x87, 0xae, 0x8b, 0x3c, 0xd6, 0xcb, 0xda, 0x3d, 0xd3, 0x59, 0xa0, 0x61, 0xeb, 0x7b, 0xba, 0x9, 0x1b, 0x2a, 0x2, 0x9f, 0x29, 0x4b, 0xba, 0x1f, 0x2f, 0xd0, 0x0, 0x70, 0xd0, 0x98, 0xe3, 0xe9, 0xd9, 0x14, 0x31, 0x73, 0xfc, 0xcc, 0xcd, 0x9e, 0x9d, 0x3a, 0x97, 0xff, 0xb7, 0x39, 0x6b, 0x37, 0x3c, 0x13, 0x2a, 0x7, 0x9b, 0xe5, 0x90, 0x70, 0xdc, 0xcd, 0xe0, 0x76, 0x78, 0x35, 0xc1, 0xf5, 0xde, 0x11, 0x82, 0xab, 0x7b, 0xd4, 0xa7, 0xda, 0xed, 0x7a, 0x70, 0xf0, 0xdd, 0xe0, 0xea, 0xe2, 0xfa, 0x6a, 0xd7, 0x63, 0xc4, 0xb1, 0x43, 0x79, 0x8c, 0xad, 0xe7, 0xb1, 0x6b, 0xcf, 0x37, 0x67, 0xff, 0x94, 0xb5, 0xe, 0x4, 0xb3, 0xf4, 0xaa, 0x7e, 0x2c, 0xbc, 0xf1, 0xc1, 0xe9, 0xea, 0x23, 0x26, 0x70, 0x82, 0x5a, 0x46, 0xda, 0xdc, 0x4e, 0x2, 0x61, 0x92, 0x5, 0xa4, 0x43, 0x36, 0xb4, 0x51, 0x9d, 0x86, 0xd, 0x40, 0x57, 0xe7, 0x4f, 0xf1, 0x0, 0x8d, 0xbe, 0x62, 0xaf, 0xf2, 0xb1, 0x72, 0x2, 0x3c, 0xbb, 0xa5, 0x8b, 0x18, 0x2e, 0xf4, 0xd3, 0xa6, 0xa7, 0xe, 0x5b, 0xcd, 0x4, 0x8f, 0x73, 0xd2, 0x2f, 0x65, 0xc6, 0x56, 0x9c, 0x98, 0x25, 0x51, 0x6f, 0x71, 0x2e, 0xc8, 0x70, 0x13, 0xe6, 0xf1, 0xc2, 0x99, 0x81, 0xb7, 0xa4, 0x9f, 0xb6, 0x1c, 0xe4, 0xad, 0xd7, 0xb, 0x23, 0x6, 0xe8, 0x41, 0x5c, 0xfb, 0x34, 0xf8, 0x3, 0xdb, 0xe9, 0xf0, 0x7a, 0x73, 0x44, 0xb5, 0xcc, 0xf1, 0xb9, 0x33, 0x82, 0x3d, 0xb4, 0x77, 0xf0, 0xa1, 0xe6, 0x50, 0x16, 0x66, 0x9b, 0xc1, 0xf4, 0x80, 0x1e, 0xdd, 0x56, 0x91, 0x57, 0x4b, 0xa1, 0x5a, 0xff, 0xa5, 0xc6, 0xea, 0x48, 0x17, 0x18, 0x9, 0x7a, 0xb0, 0xe9, 0xf7, 0xcb, 0xa6, 0x32, 0xcf, 0x78, 0xb6, 0x76, 0xae, 0x55, 0x6, 0xa5, 0xbd, 0x56, 0xc6, 0x2b, 0x56, 0xa8, 0x58, 0x2b, 0x93, 0x67, 0x1c, 0xa9, 0x25, 0x41, 0x5, 0x74, 0x86, 0x86, 0xcb, 0xc7, 0xa6, 0x59, 0x62, 0x10, 0xb0, 0xb1, 0x5b, 0x87, 0x2f, 0x45, 0x2e, 0x32, 0xd3, 0xb, 0x5d, 0x7, 0x88, 0x5f, 0x6b, 0xff, 0xb4, 0x14, 0x4b, 0xdd, 0x63, 0x22, 0x8f, 0xfb, 0x91, 0x6a, 0xe8, 0xed, 0x41, 0x3a, 0xee, 0x6a, 0xbb, 0x8d, 0x4a, 0x3b, 0x2f, 0x5d, 0x1f, 0xec, 0x66, 0x3c, 0x74, 0xda, 0xb7, 0x5c, 0x11, 0x15, 0x26, 0xea, 0x7, 0x7a, 0xf9, 0x61, 0x6b, 0x62, 0x30, 0x72, 0xe4, 0x76, 0xe4, 0xa1, 0xa9, 0x93, 0x6e, 0xcd, 0x9e, 0x7, 0xbd, 0xe7, 0xde, 0xde, 0x87, 0xdb, 0x7f, 0x10, 0xbe, 0xd3, 0xe4, 0x8c, 0xdb, 0x1b, 0xd, 0xcd, 0xb5, 0xda, 0x82, 0x25, 0xbb, 0x10, 0x3c, 0xcb, 0xa7, 0x82, 0xe7, 0x17, 0xa8, 0xce, 0x1f, 0x47, 0x55, 0x48, 0xb9, 0xc9, 0xdf, 0xb9, 0x96, 0x8f, 0x51, 0xec, 0xd8, 0xf8, 0x15, 0x72, 0x97, 0xbd, 0xd8, 0x37, 0x8e, 0x1, 0x8, 0x56, 0xdb, 0xf0, 0x92, 0x7f, 0x92, 0xcb, 0x62, 0x49, 0x8, 0x3b, 0x8d, 0xc7, 0xf1, 0xf9, 0x1f, 0xf0, 0xc6, 0xec, 0x8b, 0xcd, 0xcd, 0x71, 0x71, 0xac, 0x1a, 0x97, 0xf8, 0x99, 0xa0, 0x48, 0x8d, 0xed, 0xd9, 0xdb, 0x41, 0x64, 0xa3, 0x6e, 0xe8, 0x0, 0xb5, 0xad, 0x4, 0x57, 0xcc, 0x77, 0x85, 0x4c, 0x93, 0x66, 0x39, 0x51, 0x17, 0xe3, 0xac, 0x4a, 0x9d, 0xd6, 0x88, 0x65, 0x78, 0xf1, 0x42, 0x89, 0x1f, 0xa5, 0x9c, 0x2, 0xce, 0xdb, 0x52, 0x70, 0x45, 0x6e, 0x80, 0xf2, 0x92, 0x31, 0x8c, 0x1b, 0x23, 0xe7, 0xaa, 0xc4, 0x78, 0x9b, 0xda, 0x1e, 0x92, 0xbb, 0x41, 0xe6, 0x66, 0x93, 0x9, 0xaa, 0x6e, 0x86, 0x46, 0xa, 0x2b, 0x53, 0x0, 0x2f, 0x72, 0x40, 0xed, 0xed, 0x18, 0x69, 0x7, 0x9b, 0x3c, 0x1c, 0xd, 0x5e, 0x91, 0x34, 0x2, 0x51, 0x19, 0x80, 0xc, 0xbf, 0xce, 0x88, 0x3, 0xde, 0x5a, 0xee, 0x2a, 0x1, 0xcf, 0x16, 0xe2, 0x46, 0xef, 0x1a, 0x1d, 0x86, 0xd9, 0x7c, 0xbb, 0xa0, 0xc6, 0x15, 0x14, 0x1c, 0xc2, 0x97, 0x64, 0x19, 0xd6, 0xa7, 0x2, 0x4f, 0xcc, 0xa, 0x2c, 0x1d, 0x6f, 0xe0, 0x9c, 0x46, 0x3c, 0x3b, 0x8a, 0xb8, 0x95, 0xae, 0x7f, 0x28, 0x6, 0x43, 0x67, 0x99, 0x9f, 0x71, 0xdf, 0x19, 0x7b, 0xf7, 0x53, 0x6a, 0xe, 0x8f, 0x63, 0x9d, 0x25, 0x14, 0x76, 0xc7, 0xb4, 0xa4, 0x5c, 0x98, 0x9c, 0x95, 0xdc, 0xf6, 0x91, 0xca, 0x8a, 0xb4, 0x15, 0xcc, 0x1a, 0x77, 0x2c, 0x51, 0xd0, 0x8f, 0x73, 0xbe, 0x5c, 0x75, 0x3d, 0xc, 0x35, 0x6f, 0x56, 0x56, 0x28, 0x50, 0x81, 0xc3, 0xb5, 0x11, 0xae, 0x7b, 0xd6, 0x7a, 0x5d, 0xae, 0x9c, 0x22, 0xfd, 0x4, 0xad, 0x41, 0xfe, 0xc0, 0x2, 0x42, 0x69, 0xe1, 0xd6, 0x7b, 0xe2, 0x86, 0x2d, 0x35, 0x94, 0xa5, 0xc6, 0xb8, 0x74, 0x89, 0x34, 0x2b, 0xab, 0x8, 0x8b, 0xa4, 0x52, 0x47, 0x6b, 0x16, 0xe, 0x52, 0x30, 0x4e, 0x5, 0xb7, 0xf3, 0x56, 0xac, 0xd0, 0xd4, 0x2f, 0xe7, 0xe4, 0xf4, 0xf7, 0x6c, 0x70, 0x33, 0xc2, 0xe0, 0xdd, 0x52, 0x3f, 0xda, 0x5e, 0xfd, 0x19, 0x9e, 0x2e, 0x56, 0xa7, 0xe2, 0xd3, 0x4a, 0x64, 0x72, 0x29, 0x54, 0xce, 0xd3, 0xd3, 0xa7, 0xc7, 0xbf, 0x34, 0xd4, 0xd9, 0x63, 0x25, 0x15, 0xb0, 0x21, 0x8f, 0x54, 0x2e, 0xb2, 0x47, 0x9e, 0x1e, 0xe8, 0x4f, 0x42, 0x47, 0x67, 0x65, 0x47, 0x41, 0x1e, 0x45, 0xa1, 0x72, 0x99, 0x96, 0x70, 0x65, 0xc0, 0x99, 0x81, 0x9b, 0x28, 0xdc, 0xd6, 0xdb, 0x0, 0xac, 0x32, 0xf7, 0x36, 0x4b, 0xf9, 0x22, 0x86, 0x37, 0x1f, 0x79, 0xa, 0xe8, 0x6c, 0xee, 0x7d, 0x2a, 0x1c, 0x69, 0x69, 0xd4, 0xb9, 0x49, 0x82, 0x46, 0x5d, 0x31, 0x59, 0xb5, 0x5d, 0xbf, 0xbd, 0x33, 0x51, 0x7e, 0x5e, 0xbb, 0x87, 0x82, 0x2e, 0x15, 0x8d, 0x8, 0x4a, 0xbf, 0x20, 0x8c, 0x3d, 0x37, 0x17, 0xe, 0x23, 0xce, 0xee, 0xc2, 0x12, 0x70, 0x8f, 0x85, 0xd3, 0xb5, 0xe0, 0xe8, 0x19, 0x7, 0xd2, 0xbc, 0xb2, 0x0, 0x60, 0x8d, 0x54, 0xf3, 0xaa, 0xe3, 0xd8, 0xbf, 0x0, 0x2c, 0xde, 0x95, 0xdd, 0x1c, 0xe5, 0xe0, 0xab, 0x3b, 0x70, 0x2a, 0x82, 0x78, 0x75, 0xcb, 0xfe, 0x28, 0x25, 0x97, 0xce, 0x7c, 0x8, 0xa2, 0xdb, 0x90, 0x57, 0xd6, 0xa6, 0x6a, 0x14, 0xfc, 0x53, 0xad, 0xed, 0xc1, 0xdc, 0x91, 0x5b, 0xe6, 0x52, 0x93, 0x64, 0xb5, 0x7f, 0xd8, 0x74, 0xcb, 0x36, 0xbb, 0x10, 0xab, 0x54, 0xaf, 0xed, 0x61, 0xef, 0x2a, 0xf2, 0x82, 0x37, 0x76, 0x6d, 0xa8, 0xc4, 0x3f, 0x5a, 0x23, 0xcb, 0x4a, 0xe9, 0x65, 0x5, 0x5e, 0x45, 0xb2, 0xf5, 0xd9, 0xd, 0xd5, 0xbe, 0x43, 0xc6, 0x29, 0x55, 0x97, 0xb8, 0xb7, 0x11, 0xd5, 0xb4, 0xfa, 0x3a, 0xf, 0xee, 0x31, 0x94, 0xa2, 0xfd, 0x6a, 0xe9, 0xc, 0x98, 0xd5, 0x76, 0xc0, 0xf7, 0x65, 0xa7, 0xee, 0xe9, 0x9d, 0x87, 0x9d, 0x57, 0x43, 0x39, 0x66, 0x12, 0xf5, 0x7, 0x4a, 0x3a, 0x6c, 0x95, 0x95, 0xcd, 0x32, 0x6a, 0x77, 0xcf, 0x79, 0x3a, 0xce, 0x18, 0x77, 0x8e, 0xae, 0xfd, 0xf6, 0xdb, 0x7e, 0xfd, 0xf3, 0xd, 0x7f, 0x34, 0x63, 0x4a, 0xa6, 0xbd, 0xaa, 0x8e, 0xe3, 0x4, 0x91, 0x95, 0x3c, 0xc8, 0xe0, 0x59, 0xb6, 0xa1, 0x33, 0x68, 0x15, 0x84, 0xdb, 0xc6, 0x16, 0x52, 0xac, 0x50, 0x5b, 0xbb, 0xa8, 0xe1, 0xc4, 0x66, 0x52, 0x67, 0x35, 0xca, 0x6d, 0xa3, 0x35, 0xe7, 0x9e, 0x6f, 0x9b, 0x19, 0xf7, 0x10, 0x5b, 0x12, 0xbe, 0x19, 0x88, 0xd7, 0x1c, 0x15, 0x39, 0x63, 0xf8, 0x5c, 0xb8, 0xd8, 0xa3, 0xd7, 0x52, 0x81, 0x15, 0x6b, 0xed, 0x10, 0x29, 0x7c, 0xc2, 0x9a, 0xff, 0x3d, 0x5f, 0x8, 0x7b, 0x31, 0x2d, 0x44, 0x26, 0x31, 0x41, 0x8, 0x18, 0xc5, 0x2, 0x8, 0x93, 0x1d, 0xca, 0x2a, 0x88, 0x8f, 0xee, 0x50, 0x97, 0x35, 0x6e, 0x82, 0x1b, 0xdf, 0x42, 0xab, 0x2d, 0x7f, 0xd, 0xb3, 0xd0, 0xd9, 0x3a, 0x1e, 0x6c, 0xbc, 0xd6, 0x36, 0xad, 0xe7, 0x74, 0x4b, 0xfb, 0xed, 0xa1, 0xf1, 0x25, 0x64, 0x7c, 0x9d, 0x96, 0xa8, 0x25, 0x1, 0x1e, 0xa4, 0x56, 0x58, 0xf8, 0x5d, 0x96, 0x27, 0x85, 0x1b, 0xac, 0x3, 0x7b, 0x71, 0xad, 0x83, 0xe0, 0x79, 0x8e, 0xf2, 0xe1, 0xd5, 0xc5, 0xe8, 0xea, 0x87, 0xfb, 0xc1, 0xf9, 0x64, 0xf4, 0xd3, 0x68, 0xf2, 0x73, 0x3b, 0x7b, 0x60, 0xc3, 0xd3, 0xb5, 0x8c, 0x81, 0x4d, 0xcf, 0x6e, 0x7, 0xb0, 0x1a, 0x9e, 0xdc, 0xe4, 0xa7, 0xef, 0xf0, 0xca, 0xcd, 0xe0, 0x6e, 0xdc, 0xfd, 0xc1, 0xa0, 0x69, 0x7a, 0xa1, 0xde, 0x23, 0xdf, 0x7d, 0x8a, 0x4a, 0x85, 0xfc, 0x94, 0xb5, 0x76, 0xf1, 0x8c, 0xe1, 0x7f, 0xc9, 0x86, 0xda, 0xbe, 0x53, 0x5d, 0xf2, 0x1c, 0xe6, 0xc6, 0xf5, 0x9c, 0x1, 0x63, 0x8f, 0x67, 0x59, 0x62, 0x16, 0x68, 0xf5, 0xe8, 0x73, 0xef, 0x34, 0x58, 0xfa, 0x76, 0xf9, 0x87, 0x9a, 0x4e, 0xd4, 0xd0, 0xd, 0x84, 0x5f, 0xeb, 0x1, 0x2a, 0x4c, 0x5d, 0x4f, 0x1b, 0x5c, 0x7b, 0xe7, 0xb, 0x99, 0x26, 0x47, 0xe3, 0x2, 0x71, 0x62, 0xe5, 0x79, 0xe, 0xbe, 0x67, 0x93, 0x72, 0xf8, 0xec, 0xdb, 0xf5, 0x4a, 0x5c, 0xf1, 0x9d, 0x4a, 0x63, 0x6d, 0x1b, 0x20, 0x65, 0xec, 0x7d, 0x7a, 0x58, 0x7a, 0x42, 0x83, 0x38, 0x6d, 0x8e, 0x9d, 0xb1, 0x76, 0x6f, 0xe0, 0xe6, 0x8b, 0xed, 0x7e, 0x0, 0x38, 0x1a, 0x67, 0xed, 0x1, 0xa7, 0xee, 0x52, 0x6c, 0xa3, 0x68, 0xea, 0xc0, 0xbd, 0x71, 0xf4, 0xa2, 0xf4, 0x48, 0xdd, 0x7e, 0xa5, 0x4e, 0xf9, 0x6c, 0xc5, 0xec, 0xc7, 0x45, 0x10, 0x3e, 0xb8, 0xc2, 0xfd, 0x4b, 0x17, 0x85, 0xb8, 0x8c, 0x6a, 0xd4, 0x1a, 0xd2, 0xb5, 0x7f, 0xda, 0x88, 0x3c, 0x7, 0x62, 0xcf, 0x4a, 0xe, 0xeb, 0x8e, 0x51, 0x7c, 0x66, 0xee, 0xbd, 0x6d, 0x28, 0xc6, 0x9d, 0xa9, 0xd9, 0x47, 0xe2, 0x8c, 0xa9, 0x57, 0x6, 0xbf, 0x92, 0x83, 0xfc, 0x32, 0xc9, 0x41, 0x7e, 0x41, 0xfe, 0xa8, 0xaf, 0x9c, 0xf, 0x9f, 0x9d, 0xf3, 0xe1, 0x38, 0xb4, 0x7, 0xdd, 0xd8, 0xe, 0x3e, 0x67, 0x86, 0xa8, 0x3, 0xcf, 0xa9, 0x10, 0xd6, 0x36, 0x81, 0xec, 0xf4, 0xd9, 0x39, 0x66, 0xcf, 0x39, 0xb3, 0x10, 0x72, 0xea, 0x53, 0x9e, 0x8b, 0x6a, 0xfd, 0x82, 0x24, 0xec, 0xba, 0xb, 0xf8, 0xde, 0xb4, 0x36, 0x55, 0x82, 0x52, 0x2b, 0xa0, 0x16, 0xc9, 0x67, 0x28, 0x90, 0x34, 0xf8, 0x55, 0x93, 0x2e, 0xfe, 0xaa, 0x59, 0xb, 0xbe, 0x72, 0x77, 0x3d, 0x27, 0x31, 0xbf, 0xd1, 0x44, 0x68, 0xe4, 0xaa, 0x24, 0x48, 0xbe, 0x6, 0x3c, 0xef, 0x1d, 0xc6, 0xc7, 0x11, 0x1c, 0x29, 0x5b, 0xd9, 0xe0, 0x5d, 0xfc, 0x29, 0xf5, 0x2f, 0xb5, 0xba, 0x55, 0xea, 0x5f, 0x9, 0x88, 0xf0, 0xf7, 0xf8, 0x4e, 0xb3, 0x4b, 0xa6, 0xe1, 0x2b, 0x78, 0xac, 0x3b, 0x79, 0x4d, 0xba, 0xcf, 0x47, 0x1d, 0x5c, 0xe8, 0x8e, 0x45, 0xa5, 0xfc, 0xe1, 0xce, 0xdf, 0x3a, 0x63, 0x64, 0xbc, 0xa2, 0xa7, 0xb2, 0xc7, 0xa, 0x55, 0xa6, 0x2b, 0x23, 0x2d, 0x55, 0x87, 0x6, 0xfd, 0xba, 0x9c, 0xb1, 0xeb, 0xd, 0x88, 0x6e, 0xbb, 0x19, 0x41, 0xe1, 0xf2, 0x1, 0x3d, 0xcc, 0x29, 0xf6, 0x5a, 0x94, 0xce, 0xaa, 0xee, 0x15, 0x2, 0x3b, 0x55, 0xf3, 0x2e, 0x1f, 0xe, 0x56, 0x37, 0xfc, 0xf4, 0x82, 0x9b, 0xd, 0xee, 0xff, 0xd, 0xde, 0x7f, 0xe7, 0x3d, 0xaa, 0xc2, 0x88, 0xce, 0x74, 0x26, 0xb6, 0x6e, 0xec, 0x4e, 0xe3, 0x77, 0x39, 0xd9, 0xd7, 0xb5, 0x85, 0x31, 0xbe, 0x96, 0xc4, 0x69, 0x51, 0x15, 0x89, 0xea, 0x60, 0x44, 0x3b, 0xed, 0xb0, 0x8d, 0x9, 0xde, 0x9b, 0xe8, 0x9f, 0xe, 0xf9, 0x87, 0xa0, 0x6c, 0xfa, 0x60, 0x5c, 0xbe, 0x67, 0x98, 0x28, 0xe1, 0xf7, 0x5b, 0xc, 0x94, 0x97, 0x4f, 0xf9, 0x71, 0x55, 0xb2, 0xe3, 0xcf, 0x65, 0x10, 0xba, 0xf, 0xde, 0xfb, 0xb1, 0x21, 0x9b, 0x16, 0x99, 0xb4, 0x55, 0xbc, 0x6e, 0xa7, 0x29, 0xcd, 0x64, 0x66, 0xf2, 0x52, 0x75, 0x1, 0x4b, 0x24, 0x29, 0x6c, 0x67, 0x36, 0xfe, 0xe8, 0xb3, 0xdf, 0xfa, 0x91, 0xf2, 0xf9, 0x6a, 0x1b, 0xcf, 0x48, 0xc3, 0x12, 0xad, 0xc0, 0x4e, 0xc6, 0xac, 0xd3, 0xe4, 0x43, 0x4d, 0x11, 0x3d, 0x1e, 0x9c, 0xef, 0x75, 0x16, 0x8b, 0xf3, 0x4c, 0xf0, 0x5c, 0x5c, 0x89, 0xa7, 0xf0, 0x39, 0xf6, 0xaf, 0xff, 0xca, 0xf2, 0xac, 0x10, 0x94, 0xc5, 0xe2, 0x8a, 0x41, 0xc1, 0xaa, 0x82, 0xdb, 0x2d, 0xe6, 0x46, 0xf4, 0xd8, 0x75, 0xdd, 0xfc, 0xb2, 0x27, 0xc0, 0xb2, 0xc2, 0x84, 0x12, 0x48, 0xcf, 0x20, 0x14, 0x62, 0x17, 0xe0, 0x87, 0xb1, 0x9f, 0xb2, 0xa6, 0xb9, 0x12, 0x9f, 0x62, 0x21, 0x12, 0x13, 0x29, 0xa3, 0xa1, 0xee, 0x39, 0x13, 0x66, 0xa1, 0x53, 0x2, 0x2c, 0xaa, 0xe, 0xd6, 0x45, 0x83, 0x67, 0x76, 0x20, 0xc9, 0xe, 0x72, 0x40, 0xf3, 0xab, 0xca, 0xbd, 0x6b, 0xf7, 0x21, 0x6e, 0x9f, 0xb0, 0x83, 0x2e, 0xf1, 0x2a, 0xdc, 0x41, 0xa7, 0x2b, 0xbc, 0xee, 0x95, 0xd6, 0xb, 0xbc, 0xf6, 0x5, 0xba, 0x89, 0xbb, 0x5c, 0xac, 0xbb, 0xfa, 0xb8, 0x39, 0x51, 0x69, 0x31, 0x97, 0x7, 0x7b, 0x57, 0xd5, 0x6e, 0xb7, 0xf7, 0x4e, 0x17, 0x9, 0x2f, 0x4f, 0xfa, 0xa, 0x3a, 0xd5, 0x3, 0xff, 0x87, 0xcc, 0x1a, 0x4d, 0xc4, 0xc7, 0xa3, 0x44, 0xc5, 0x5d, 0x4e, 0xd4, 0xc6, 0xb7, 0x43, 0xa4, 0xc9, 0x2e, 0x4e, 0x6b, 0x9d, 0xa6, 0xcf, 0xc9, 0xed, 0xdf, 0x39, 0xb5, 0xc7, 0x67, 0xb7, 0x71, 0x1, 0x9d, 0x9e, 0xb5, 0x2a, 0xad, 0xb9, 0x2, 0x52, 0x27, 0x2b, 0xd4, 0xbd, 0x44, 0xf0, 0xd, 0xa5, 0xf3, 0x6d, 0xce, 0xf9, 0x76, 0xc2, 0x9, 0xbd, 0x55, 0xd5, 0xc4, 0xda, 0x2e, 0xc0, 0xad, 0x99, 0x72, 0x55, 0x51, 0x9d, 0xe6, 0xb9, 0x81, 0x50, 0xe0, 0x97, 0x39, 0xdb, 0x1, 0xc5, 0xd3, 0xf1, 0xa6, 0xfb, 0xa9, 0xa6, 0xf4, 0xb0, 0x75, 0xc2, 0x9b, 0x2a, 0x17, 0x77, 0x8d, 0x25, 0x20, 0xb1, 0x9a, 0x8b, 0x6d, 0xa6, 0x32, 0x17, 0xcc, 0x46, 0x47, 0x61, 0xf2, 0xc8, 0x15, 0xdc, 0x2f, 0xb, 0xae, 0x9c, 0xfd, 0x35, 0xf, 0x2b, 0x77, 0x68, 0x6c, 0x2b, 0xdd, 0x68, 0xf, 0xbf, 0xb0, 0x2d, 0x5f, 0x92, 0x7c, 0xbc, 0x98, 0x45, 0x8f, 0x35, 0x1f, 0xc7, 0x84, 0xf0, 0xc2, 0xa2, 0x57, 0xdb, 0x6a, 0x2b, 0xe2, 0x6d, 0x88, 0xc8, 0xff, 0xd9, 0xca, 0x86, 0x6d, 0xdf, 0xa8, 0xd9, 0xb6, 0xce, 0x85, 0x15, 0x91, 0xf5, 0x78, 0xbc, 0x35, 0xc7, 0x3c, 0xbc, 0xbc, 0xff, 0x68, 0x8d, 0xa7, 0x63, 0x1c, 0x70, 0xab, 0xf, 0xed, 0xbd, 0xb7, 0x4a, 0xf5, 0x63, 0xba, 0xde, 0xa4, 0x9e, 0xf7, 0xa1, 0xfd, 0x3a, 0xc6, 0x33, 0xef, 0xe5, 0xb0, 0x9f, 0x6d, 0x8f, 0x1e, 0x7b, 0x31, 0xb6, 0x4f, 0x1a, 0x54, 0xf5, 0xc5, 0xd6, 0xf6, 0xf7, 0xa9, 0x5b, 0xf9, 0x10, 0xbe, 0x53, 0xdb, 0xaa, 0x3, 0xd5, 0xc, 0x71, 0x4d, 0x5e, 0xd6, 0x6f, 0xa, 0x9e, 0xef, 0xaa, 0x5a, 0xeb, 0x2c, 0x4b, 0x82, 0xfb, 0x1, 0x8e, 0x54, 0x2b, 0x50, 0x57, 0x99, 0xb6, 0x7b, 0xd, 0xc1, 0x18, 0x40, 0x3b, 0xa6, 0x14, 0x67, 0xbf, 0x1c, 0x21, 0x97, 0xc8, 0x7, 0x52, 0x8e, 0xff, 0x2e, 0x32, 0x6d, 0xf7, 0xb0, 0xd2, 0x64, 0x45, 0x70, 0x80, 0x39, 0xf0, 0x69, 0x95, 0xed, 0xea, 0xf2, 0x67, 0x98, 0x1, 0xe9, 0x4b, 0x1f, 0x83, 0x7c, 0xb4, 0xb6, 0x29, 0x71, 0xbc, 0xb1, 0xa0, 0xfe, 0x3, 0x14, 0x31, 0xe4, 0xa5, 0x95, 0x38, 0x57, 0xdc, 0x30, 0x1e, 0x29, 0x92, 0x2d, 0xe, 0xcf, 0xca, 0x4a, 0x67, 0x5f, 0x64, 0x3f, 0x15, 0x40, 0x6d, 0x2b, 0x32, 0x48, 0xd6, 0xde, 0x9c, 0x2a, 0x97, 0x4d, 0x1f, 0x29, 0xcf, 0x9b, 0x41, 0xfe, 0x37, 0x48, 0x10, 0x83, 0x4e, 0x18, 0xd7, 0x9, 0x8, 0x2a, 0xd1, 0x1d, 0xe1, 0xa3, 0x50, 0x27, 0x4a, 0x3, 0x8a, 0xef, 0x87, 0xef, 0x27, 0xae, 0xef, 0xaf, 0xfb, 0x91, 0x3a, 0xf7, 0x8e, 0x10, 0xb2, 0xa2, 0x1c, 0x61, 0x5, 0x2c, 0xe1, 0xdf, 0xa, 0x91, 0xc9, 0xc6, 0xd4, 0xfa, 0x97, 0x8e, 0xe7, 0x8d, 0x3d, 0x6c, 0x69, 0xce, 0xde, 0xa2, 0xb5, 0x55, 0x13, 0xde, 0xc3, 0x60, 0x18, 0x1a, 0x91, 0x25, 0x24, 0xce, 0x74, 0xd, 0x13, 0xd3, 0x9a, 0xe5, 0x37, 0xe5, 0xf1, 0xc7, 0x54, 0xcf, 0x81, 0xb3, 0xeb, 0xdd, 0x9e, 0x19, 0xb, 0xfb, 0x6c, 0xa9, 0x1, 0x5b, 0xc8, 0x0, 0xa3, 0x2d, 0x43, 0xdc, 0x3a, 0xb8, 0xc9, 0x6d, 0x5f, 0x8d, 0x27, 0x8f, 0x9, 0x58, 0xa5, 0xca, 0x91, 0x80, 0x37, 0x2b, 0x52, 0x2b, 0x3b, 0x17, 0xa8, 0xa, 0x6c, 0x44, 0x2a, 0x28, 0x59, 0x51, 0xfe, 0x5d, 0xb0, 0x24, 0xe3, 0x52, 0x21, 0x5c, 0x84, 0xc9, 0x65, 0xfc, 0xb1, 0xc, 0x3e, 0x46, 0x6a, 0x8c, 0x8a, 0xf, 0xd0, 0xac, 0xf4, 0x48, 0xf3, 0x21, 0x74, 0x98, 0x32, 0xdc, 0x59, 0x9d, 0x63, 0xec, 0x5d, 0x26, 0x96, 0xd4, 0xaa, 0x54, 0xc8, 0xb4, 0x2c, 0xd5, 0xe9, 0x52, 0x2c, 0xed, 0xae, 0x9a, 0x16, 0xb3, 0x59, 0x78, 0xdc, 0x7d, 0x2f, 0x3, 0x26, 0xe5, 0xd2, 0xd7, 0x16, 0xdb, 0x9d, 0x95, 0x30, 0x9e, 0x47, 0xea, 0xed, 0x9b, 0x37, 0x6f, 0xfa, 0xec, 0x3b, 0x11, 0xf3, 0xc2, 0x88, 0x4a, 0x67, 0x89, 0x25, 0xc, 0x4e, 0x91, 0x56, 0x22, 0x6c, 0x32, 0xaf, 0xc4, 0x66, 0x23, 0x5, 0x53, 0x18, 0xea, 0x7a, 0x7e, 0xfc, 0xf9, 0x42, 0x2c, 0xfb, 0xec, 0xca, 0x2e, 0x52, 0x4a, 0xcd, 0xf6, 0x58, 0xbe, 0x5e, 0x11, 0xcb, 0xcc, 0x82, 0x3, 0x8c, 0xa, 0x2e, 0x81, 0xd5, 0xa1, 0x0, 0xcb, 0x36, 0xec, 0x3c, 0x56, 0x2d, 0x13, 0xba, 0x35, 0x7d, 0xd2, 0x13, 0xfc, 0x61, 0x3a, 0x56, 0x4a, 0x22, 0x6f, 0xa5, 0xb3, 0xbc, 0x34, 0x6b, 0x22, 0xa5, 0x1f, 0x45, 0xc6, 0xed, 0xf1, 0xc5, 0xed, 0xd5, 0x67, 0xe3, 0x62, 0x6a, 0xec, 0x29, 0x57, 0x39, 0xbb, 0xbd, 0x39, 0xc7, 0xca, 0x56, 0x7b, 0x82, 0x17, 0x32, 0x40, 0x44, 0xf4, 0x1f, 0x67, 0xdc, 0x10, 0xf4, 0x4b, 0x8b, 0xee, 0x43, 0xa7, 0xba, 0xeb, 0x35, 0xf3, 0x8e, 0x1e, 0xdf, 0x25, 0xf8, 0x9c, 0xb0, 0xf0, 0xeb, 0xe9, 0x64, 0x5e, 0x45, 0xc0, 0x11, 0x14, 0xc3, 0x54, 0x94, 0x7, 0x4f, 0x67, 0x38, 0x0, 0x9e, 0xf6, 0xd9, 0xd, 0xfe, 0x83, 0x1a, 0x93, 0xc2, 0x44, 0xa, 0xc0, 0x73, 0xc0, 0xd3, 0xa2, 0xe9, 0x48, 0x1a, 0x20, 0x80, 0x85, 0x45, 0x36, 0x72, 0xae, 0x78, 0x8a, 0xda, 0x6c, 0x8e, 0x29, 0xad, 0x1c, 0xd6, 0x75, 0x7b, 0x23, 0x93, 0xdb, 0xc6, 0xd7, 0x8d, 0x47, 0x8a, 0x57, 0xc5, 0x72, 0x4b, 0x5c, 0xf6, 0x86, 0xcf, 0xc5, 0x51, 0xf5, 0x91, 0x8d, 0xf9, 0x73, 0x22, 0xdb, 0x8, 0xa7, 0x3d, 0x86, 0x7, 0xdd, 0xcd, 0x2c, 0x49, 0x6a, 0xd8, 0x74, 0x4f, 0xf6, 0x9, 0xa4, 0xaf, 0xf, 0x20, 0x52, 0x3d, 0x2b, 0x1d, 0x1b, 0x17, 0xf1, 0x82, 0x5e, 0x88, 0x54, 0x59, 0xf5, 0x33, 0x13, 0x98, 0xd3, 0xfc, 0x28, 0x39, 0x7b, 0xf8, 0x41, 0xe4, 0x5b, 0xea, 0x9, 0xad, 0x76, 0x53, 0x4a, 0xb8, 0x15, 0xea, 0x9d, 0x77, 0x8e, 0x6b, 0xfc, 0x8f, 0xf0, 0x52, 0xdb, 0xf8, 0x2f, 0xc5, 0x9c, 0xc7, 0x6b, 0x77, 0x65, 0x30, 0x7b, 0xd4, 0x79, 0x56, 0xad, 0x10, 0xc3, 0xd2, 0x28, 0xf8, 0x3e, 0xe2, 0x10, 0x4f, 0x3d, 0x7c, 0x13, 0x8a, 0xb2, 0x47, 0xc9, 0x23, 0xf5, 0x40, 0x6e, 0x42, 0xf8, 0x64, 0x5, 0x68, 0xf3, 0x81, 0x32, 0xa6, 0x3, 0xaf, 0x9b, 0x2c, 0xa5, 0x27, 0x42, 0x8e, 0xb3, 0x13, 0xdf, 0x83, 0x4c, 0x10, 0x66, 0x34, 0x52, 0x96, 0x45, 0x8a, 0x9e, 0xf0, 0xe0, 0x4, 0xaf, 0xb1, 0x70, 0x5, 0x40, 0x84, 0x68, 0x81, 0x1e, 0xa8, 0xc8, 0xca, 0x39, 0xf2, 0x4a, 0x3b, 0xc6, 0xd3, 0x15, 0x58, 0x1, 0x50, 0xae, 0x68, 0x9f, 0x8d, 0xf2, 0x48, 0x21, 0xb5, 0x9f, 0xd1, 0xd5, 0x57, 0xe4, 0x2c, 0x90, 0xe3, 0xe4, 0x5d, 0xcc, 0x41, 0xc0, 0x59, 0xa1, 0xa2, 0xd5, 0x69, 0x45, 0x48, 0x77, 0xd4, 0x5a, 0xbd, 0x92, 0xde, 0x75, 0x9, 0xcb, 0x17, 0x76, 0xe6, 0x11, 0xf8, 0xfb, 0xa6, 0xae, 0xdf, 0x8, 0x0, 0x59, 0x91, 0x4, 0x1c, 0xf1, 0xcd, 0xa7, 0xa2, 0xa, 0xfe, 0x1b, 0xc, 0x4d, 0xf1, 0xa5, 0x88, 0x94, 0x43, 0x7a, 0x81, 0xb6, 0x7b, 0xb0, 0xa7, 0xfd, 0xe4, 0xf8, 0x78, 0x79, 0x6c, 0xc5, 0x20, 0xa4, 0x68, 0x5b, 0xc5, 0xa8, 0xe6, 0x16, 0xfb, 0xdc, 0xb9, 0x55, 0xde, 0xe0, 0xf8, 0x80, 0xbb, 0xc4, 0xcd, 0xc8, 0x16, 0x86, 0xe1, 0x66, 0xf6, 0xed, 0x56, 0x17, 0x8f, 0xe7, 0xe8, 0x6d, 0x95, 0x40, 0x6e, 0x33, 0x3b, 0x5f, 0x42, 0xab, 0x12, 0x1f, 0x42, 0x87, 0xf6, 0x20, 0x3, 0xd9, 0x21, 0x8b, 0xb9, 0xd7, 0x5d, 0x44, 0xaa, 0x59, 0x8c, 0x6c, 0xa3, 0xb, 0x1f, 0x1, 0x9d, 0xb8, 0x9b, 0x28, 0xa, 0xde, 0xf9, 0x3f, 0xf5, 0xab, 0xf6, 0x47, 0x92, 0x3, 0xc8, 0xb2, 0xeb, 0xc5, 0xa7, 0x8f, 0x4, 0x92, 0xf3, 0x61, 0xb5, 0x4a, 0x4b, 0x6, 0x36, 0x92, 0xd2, 0xa1, 0x2, 0xd6, 0x67, 0xce, 0x1a, 0x36, 0x65, 0x2b, 0x91, 0xf2, 0xa4, 0xeb, 0xb9, 0x66, 0xf, 0x2d, 0x81, 0x8d, 0x84, 0xa8, 0xf0, 0xce, 0xce, 0x40, 0xee, 0xdd, 0xa3, 0xd, 0x60, 0x1e, 0x1a, 0xaa, 0xda, 0xb1, 0x10, 0xe4, 0x8b, 0xa1, 0x4b, 0xbc, 0xc7, 0xef, 0x77, 0x98, 0xdd, 0x9b, 0x4c, 0xe7, 0x3a, 0xd6, 0xa9, 0xab, 0x5d, 0x31, 0x6c, 0x25, 0xe7, 0xf3, 0xb5, 0x8f, 0x70, 0x5a, 0x11, 0x67, 0x6d, 0xd, 0x20, 0x75, 0x1, 0x88, 0x5e, 0xab, 0x27, 0x35, 0xd8, 0xb8, 0x3a, 0x4d, 0x45, 0x36, 0x8e, 0xb9, 0x3d, 0xf5, 0x17, 0x22, 0x96, 0xfb, 0x14, 0x29, 0xdd, 0xd4, 0xbe, 0xbc, 0x2b, 0x81, 0x57, 0x64, 0xa7, 0x3c, 0x79, 0x94, 0x88, 0x87, 0x5b, 0xf2, 0xc4, 0x2, 0xfe, 0xe1, 0xc5, 0x8f, 0xa0, 0xa2, 0x15, 0x4, 0x8f, 0x92, 0xfc, 0xd5, 0x5e, 0x55, 0x32, 0x47, 0x83, 0xd, 0x50, 0xdc, 0x8b, 0x46, 0x10, 0x73, 0x7c, 0xe4, 0x87, 0x4c, 0x17, 0xab, 0x3, 0xdd, 0x9b, 0xd2, 0x7f, 0x6f, 0x6e, 0x5b, 0x3, 0x54, 0xcc, 0x10, 0xbd, 0x4e, 0x30, 0xfd, 0xa4, 0x1c, 0xd7, 0xfb, 0x66, 0x1c, 0x8a, 0xbb, 0xe8, 0xb7, 0xb3, 0xe2, 0xd6, 0x21, 0xdb, 0xed, 0x79, 0x5, 0x24, 0xba, 0xf1, 0xba, 0x75, 0xdb, 0x7d, 0xc5, 0xd, 0xd5, 0xc9, 0x43, 0xd0, 0x1e, 0xda, 0x44, 0xaf, 0xf, 0xcb, 0x34, 0xc6, 0xce, 0x77, 0x4f, 0x86, 0x9a, 0xe9, 0x2f, 0x87, 0x99, 0x52, 0xed, 0x47, 0x67, 0xc0, 0x73, 0x7b, 0x27, 0x3e, 0x9, 0x39, 0x5f, 0xd8, 0xc9, 0x0, 0xca, 0x60, 0x3d, 0xab, 0x2c, 0x8a, 0x61, 0xa3, 0xb, 0x12, 0x30, 0x71, 0x2a, 0xc1, 0x7d, 0x8b, 0x53, 0x66, 0xf7, 0x8e, 0x9d, 0xa6, 0x19, 0xf2, 0x50, 0xd8, 0x77, 0xc, 0xe6, 0x85, 0x92, 0x54, 0x89, 0x14, 0xde, 0x69, 0xec, 0x1c, 0xdf, 0x3, 0x57, 0xc9, 0x4a, 0xc4, 0x88, 0x62, 0x7e, 0x16, 0x29, 0xc6, 0xde, 0xf6, 0xd9, 0x7b, 0x2e, 0xd1, 0xc8, 0x5f, 0x4a, 0x25, 0x97, 0xc5, 0x32, 0xb0, 0xcd, 0xb0, 0x1b, 0x86, 0x29, 0x8d, 0x9, 0xa0, 0xde, 0x15, 0x5c, 0x3e, 0x82, 0x5d, 0xec, 0xdb, 0xb6, 0x7e, 0xdf, 0x67, 0x93, 0x6c, 0xd, 0xdb, 0x19, 0x8a, 0xed, 0xcb, 0xb4, 0x3, 0x70, 0x42, 0x40, 0x5e, 0x3d, 0x6e, 0x33, 0x47, 0x4d, 0x69, 0xad, 0x67, 0x97, 0xf5, 0x1, 0xdd, 0xef, 0xd9, 0x76, 0xfe, 0x0, 0x1a, 0x98, 0x78, 0xb4, 0x1b, 0xa, 0x9f, 0x5f, 0xd8, 0xcb, 0x10, 0xcc, 0xa0, 0xca, 0xc3, 0x3b, 0xbf, 0x93, 0x71, 0x95, 0xe8, 0x65, 0xba, 0xb6, 0xad, 0xb2, 0xed, 0x2a, 0x7f, 0x9c, 0xf6, 0x5a, 0xe8, 0xe1, 0x1a, 0x7, 0x66, 0xb8, 0xb8, 0x7, 0xb8, 0x2c, 0xe5, 0xf3, 0xaa, 0x52, 0xa0, 0xab, 0x4d, 0x6f, 0xe2, 0x72, 0x34, 0x5d, 0xec, 0xb3, 0x54, 0xf3, 0xbc, 0xeb, 0x18, 0xf, 0x1d, 0x1e, 0x24, 0xcd, 0x82, 0x73, 0xf8, 0xc5, 0x42, 0xce, 0xf2, 0x0, 0x54, 0x10, 0xab, 0x89, 0xdc, 0x88, 0x6c, 0x2c, 0x62, 0xad, 0x1a, 0x17, 0xa2, 0x7d, 0x3a, 0x13, 0x5d, 0x4c, 0xd3, 0x86, 0xae, 0x3d, 0x85, 0x50, 0xe, 0xe7, 0x7c, 0xc5, 0xa7, 0x32, 0x95, 0x35, 0x1a, 0x48, 0x37, 0x2c, 0x88, 0x4a, 0x3, 0x3b, 0x32, 0x32, 0xb9, 0xf3, 0x8a, 0xda, 0xb3, 0xa2, 0x57, 0x18, 0x9f, 0x71, 0xfb, 0x1c, 0x7f, 0x29, 0x91, 0x1b, 0xd8, 0x4c, 0x70, 0x90, 0x19, 0x4f, 0xb, 0x99, 0xa, 0xa7, 0xa, 0xf7, 0xe0, 0xfe, 0x89, 0x83, 0x8f, 0x82, 0x2, 0x1e, 0x29, 0x32, 0xb3, 0xac, 0xb1, 0xd9, 0xdf, 0x2c, 0xb5, 0x58, 0xa5, 0x3c, 0x46, 0x5, 0x35, 0xa8, 0x17, 0x76, 0xd5, 0x91, 0xf5, 0x93, 0x54, 0x3e, 0xb8, 0x67, 0xc5, 0xe6, 0x66, 0xa9, 0x70, 0x97, 0xca, 0x4d, 0x2a, 0x13, 0xe, 0xaa, 0xc8, 0xa9, 0x73, 0x28, 0x51, 0xed, 0x3d, 0xec, 0x9c, 0x6, 0xdb, 0x5c, 0x19, 0xad, 0x27, 0xa5, 0x59, 0x95, 0xd8, 0x1f, 0xef, 0x4b, 0xa7, 0x29, 0xa9, 0x70, 0x17, 0x22, 0xcd, 0xf9, 0xb8, 0x98, 0xcf, 0x85, 0x69, 0xab, 0xed, 0x39, 0xd8, 0xef, 0xf9, 0x4e, 0x3f, 0xb1, 0x25, 0xc8, 0xdf, 0xc0, 0x41, 0xc, 0xd7, 0x87, 0xc1, 0x8f, 0x7, 0xda, 0x2c, 0x56, 0x1c, 0xe8, 0xcc, 0xe1, 0x7c, 0xf8, 0x4, 0x75, 0x36, 0x0, 0xe6, 0x3b, 0xa5, 0x9f, 0x7a, 0xe, 0xdf, 0x5f, 0x2b, 0x2b, 0x6e, 0x4d, 0xcc, 0x53, 0x61, 0x58, 0xb1, 0xb2, 0x6f, 0x25, 0xfa, 0x49, 0xd9, 0xd, 0xf2, 0xb6, 0xcf, 0xde, 0xe9, 0x27, 0x1, 0x95, 0x8e, 0xe3, 0x8b, 0x1f, 0xbd, 0xa6, 0x8b, 0xcc, 0x55, 0x40, 0x74, 0x2, 0x3e, 0x1f, 0xaa, 0x2f, 0x3e, 0xc1, 0xcd, 0x69, 0x72, 0xe, 0xaa, 0xb3, 0xbd, 0x33, 0xa4, 0x8a, 0x14, 0x6c, 0x9, 0x91, 0xd8, 0xdb, 0xea, 0xdb, 0x25, 0xff, 0xf4, 0x1a, 0xfc, 0x8e, 0x13, 0x52, 0xa9, 0xa4, 0x61, 0xb3, 0x4c, 0x80, 0x4a, 0x25, 0xe7, 0xa, 0x3d, 0x6f, 0xd2, 0xb8, 0x21, 0x81, 0xd7, 0x6d, 0xf8, 0xa7, 0x33, 0xb6, 0xe4, 0x1f, 0xbd, 0x6b, 0xe, 0xaf, 0x4d, 0xf4, 0x67, 0x2b, 0x9d, 0xdb, 0xdf, 0xc0, 0x8f, 0x64, 0x4, 0x9b, 0xa2, 0xe7, 0x10, 0xd8, 0x9a, 0x98, 0x49, 0x75, 0x8e, 0xf6, 0xbe, 0xf3, 0x5, 0xe8, 0x38, 0x2e, 0x56, 0xb2, 0x1a, 0x4a, 0xf8, 0x6f, 0x1b, 0xdb, 0x7d, 0xcb, 0x4d, 0x1b, 0x68, 0xf4, 0xa0, 0x44, 0x65, 0x5e, 0xef, 0xcf, 0x35, 0x9b, 0xcb, 0x47, 0x1, 0x7e, 0x5c, 0xe3, 0x71, 0xb2, 0x2f, 0x7e, 0x64, 0x7c, 0x6a, 0xef, 0xca, 0x85, 0x7e, 0xf2, 0xfc, 0xfe, 0xa5, 0xb6, 0xe8, 0x2f, 0xe2, 0x48, 0xd1, 0x65, 0xbd, 0x9d, 0x1e, 0xa7, 0x4d, 0x7e, 0x2b, 0x8c, 0x28, 0x3, 0x9e, 0x7, 0x65, 0xc6, 0x81, 0x23, 0xcd, 0x19, 0x21, 0x1d, 0x4b, 0xba, 0xb7, 0x7a, 0x30, 0xae, 0xb6, 0x52, 0x2b, 0x26, 0x90, 0x7, 0xde, 0x3d, 0xb3, 0x97, 0xa8, 0xd8, 0xfe, 0xe0, 0x5d, 0x6d, 0x63, 0xdd, 0xd7, 0x6d, 0xbb, 0xc5, 0xd2, 0x53, 0x6b, 0xaa, 0xd9, 0xfb, 0x98, 0xb, 0xba, 0x12, 0x19, 0x51, 0x17, 0x69, 0xa7, 0xa0, 0x3c, 0x95, 0xfa, 0xb3, 0x8f, 0x58, 0xf9, 0xe8, 0x74, 0x88, 0x32, 0x28, 0x6a, 0x30, 0x10, 0x33, 0xa9, 0x62, 0xb9, 0xaa, 0xc0, 0xe3, 0xec, 0x1f, 0x2d, 0xad, 0x9, 0x1a, 0xee, 0x61, 0x2e, 0x5c, 0xea, 0xa7, 0xd3, 0x98, 0x5b, 0xd, 0x8a, 0xa7, 0x32, 0x5f, 0x33, 0x7b, 0x7, 0xcc, 0xad, 0x25, 0xeb, 0x72, 0x6d, 0x5c, 0x1f, 0xd9, 0x89, 0xe8, 0xcf, 0xfb, 0x3d, 0x16, 0xbd, 0xfa, 0xeb, 0x53, 0x1e, 0xbd, 0xb2, 0xff, 0x28, 0x8c, 0xc8, 0x4c, 0xf4, 0xea, 0x75, 0x93, 0xef, 0xf4, 0xb0, 0x8c, 0xa3, 0x51, 0x19, 0xa3, 0x45, 0x31, 0xe1, 0xb0, 0x8a, 0xa9, 0x83, 0xd4, 0x1f, 0x53, 0x4c, 0xd9, 0x7f, 0x7c, 0x98, 0xb0, 0x38, 0xe5, 0x72, 0xd9, 0x63, 0x62, 0xc9, 0x65, 0x6a, 0x85, 0x5b, 0x26, 0x8c, 0x79, 0xbd, 0x57, 0xc2, 0xba, 0x1f, 0xa9, 0x84, 0xc5, 0xe7, 0x45, 0xbe, 0xb0, 0x3d, 0x40, 0xf4, 0x6a, 0x47, 0xe6, 0x44, 0x6a, 0xa, 0xb8, 0x92, 0x8b, 0x7c, 0xd3, 0x8b, 0x43, 0x40, 0x1, 0x59, 0x61, 0x72, 0x91, 0x44, 0x2a, 0x68, 0x2, 0x83, 0xed, 0x2a, 0x17, 0x9f, 0x6a, 0xf7, 0xc1, 0x26, 0x68, 0xc4, 0xfe, 0xb7, 0xd, 0xb5, 0xf1, 0xa3, 0x68, 0x54, 0xa1, 0xe, 0xbe, 0x5e, 0x3c, 0xe, 0xc5, 0x47, 0x81, 0x80, 0x67, 0x6c, 0xa5, 0x8d, 0xcc, 0xad, 0x7c, 0xa3, 0xb6, 0x71, 0xfc, 0x6f, 0xed, 0x71, 0x81, 0x40, 0x8e, 0xc8, 0x4, 0x33, 0x4b, 0x9a, 0x3a, 0x7c, 0xc4, 0x44, 0xaa, 0x64, 0x9d, 0x0, 0x2, 0x56, 0x39, 0xb7, 0x17, 0x84, 0xb, 0x46, 0xd9, 0x4b, 0x82, 0xc2, 0x47, 0x85, 0x62, 0x46, 0x6b, 0x25, 0xb2, 0xd7, 0x7d, 0x36, 0x72, 0x41, 0xd1, 0xb4, 0x47, 0xd1, 0x25, 0x7b, 0x6f, 0x70, 0x72, 0x3a, 0x96, 0xd7, 0x5a, 0x19, 0x58, 0x96, 0x8a, 0x51, 0x3d, 0x83, 0x8f, 0x74, 0xad, 0x99, 0xce, 0x12, 0xa8, 0xc9, 0x4f, 0xad, 0xad, 0x32, 0x5f, 0x60, 0xe7, 0xec, 0xfd, 0xf3, 0x28, 0x5d, 0x66, 0x9, 0x5c, 0x1f, 0xc6, 0xc8, 0x69, 0x2a, 0xfc, 0x35, 0x44, 0x98, 0x81, 0x65, 0x3b, 0x68, 0xcf, 0x9e, 0x38, 0xeb, 0xca, 0xfd, 0xfd, 0x35, 0xb2, 0x52, 0x22, 0x26, 0x2f, 0x5, 0xb7, 0x61, 0x63, 0x0, 0x7, 0xda, 0x4c, 0xce, 0xb, 0x97, 0x68, 0xc4, 0x55, 0xc2, 0x28, 0x35, 0x10, 0xee, 0x85, 0x7f, 0x80, 0x6f, 0x8d, 0x66, 0xe5, 0x27, 0xaa, 0x90, 0x1e, 0xec, 0x44, 0x67, 0x10, 0xd4, 0x7d, 0xdd, 0x2b, 0x7d, 0xcf, 0x62, 0x36, 0x13, 0x31, 0xcc, 0xbf, 0x7f, 0x8b, 0xdc, 0xcf, 0x18, 0x6e, 0xa3, 0xf, 0xf8, 0x5f, 0xc3, 0xd8, 0x1a, 0x4f, 0x63, 0x72, 0x36, 0x4f, 0xd7, 0x30, 0x90, 0xff, 0x61, 0x2f, 0xde, 0x6f, 0x7f, 0xdf, 0x67, 0x1f, 0xc8, 0x5f, 0xd, 0xd7, 0x32, 0xbc, 0xbf, 0xe4, 0x9f, 0xac, 0x3c, 0xf8, 0x7, 0xec, 0xf6, 0x52, 0x42, 0xc8, 0xa, 0x2, 0xab, 0x1c, 0x2a, 0xee, 0x84, 0x61, 0xf6, 0x36, 0xcb, 0x35, 0xfb, 0x43, 0x73, 0x5e, 0x4b, 0xa6, 0x84, 0x31, 0x2d, 0xdb, 0xb3, 0x83, 0x48, 0xf8, 0x9e, 0x5a, 0x29, 0x37, 0xa0, 0x59, 0xe8, 0x2c, 0x67, 0xf8, 0x2a, 0x74, 0xe7, 0x9b, 0x80, 0x9c, 0x9, 0x1e, 0x83, 0x2c, 0x22, 0xe6, 0xbe, 0x1f, 0xa9, 0x29, 0x4f, 0xb9, 0x8a, 0x41, 0x53, 0x10, 0xf1, 0x82, 0x2b, 0x69, 0x96, 0x7d, 0x36, 0xc2, 0x3b, 0xb8, 0xba, 0x31, 0x39, 0xcb, 0x85, 0xe2, 0xd6, 0xc4, 0x4e, 0xa0, 0x5c, 0x12, 0xfe, 0x34, 0x93, 0x9f, 0xec, 0xc9, 0xa6, 0x2f, 0xa6, 0xf2, 0xa3, 0x60, 0xd1, 0x2b, 0xbb, 0x85, 0xa3, 0x57, 0xf6, 0x99, 0xe8, 0x55, 0xaa, 0x9f, 0xa2, 0x57, 0x18, 0xaf, 0x70, 0xd3, 0x47, 0xe1, 0x51, 0x64, 0xc4, 0xc6, 0x37, 0xfd, 0xce, 0x72, 0x1d, 0x2b, 0x7b, 0x53, 0x9, 0x50, 0x3b, 0x24, 0x1a, 0xda, 0xf3, 0x38, 0x18, 0xab, 0x51, 0x28, 0x9c, 0x3, 0x15, 0x29, 0x2b, 0x11, 0x28, 0x90, 0x68, 0x35, 0xa4, 0xdc, 0x90, 0x9, 0xdc, 0x67, 0xdf, 0xeb, 0x8c, 0x89, 0x4f, 0x7c, 0xb9, 0x4a, 0x45, 0xcf, 0x47, 0xc5, 0xec, 0xc6, 0x37, 0xb0, 0xfb, 0xa4, 0xc9, 0xa5, 0x8a, 0x73, 0x1a, 0x65, 0xa4, 0x64, 0x62, 0x7a, 0x4c, 0x70, 0x70, 0xd1, 0x43, 0x2d, 0x2, 0xb6, 0x3, 0x6b, 0xdd, 0x7f, 0xc3, 0x4e, 0x82, 0x1d, 0xf5, 0xda, 0xc5, 0x39, 0x31, 0xe5, 0x49, 0xe1, 0x6b, 0xae, 0xa1, 0xb9, 0xc8, 0x31, 0xfa, 0xce, 0x32, 0x7b, 0xc8, 0xd2, 0x35, 0x13, 0x7f, 0x3, 0xd6, 0x8a, 0x85, 0x3d, 0x5c, 0x14, 0x1e, 0xe, 0x86, 0xb6, 0x80, 0xc7, 0x56, 0x45, 0xe, 0xb3, 0x72, 0x72, 0xa5, 0x73, 0x71, 0x86, 0x3a, 0x9e, 0xcf, 0x59, 0x90, 0xcb, 0xd5, 0x76, 0x33, 0x64, 0x2, 0x59, 0xe3, 0x26, 0x96, 0xf9, 0xfa, 0xff, 0xc7, 0xbe, 0xf7, 0xab, 0x9c, 0x90, 0x2, 0x8f, 0xe7, 0x19, 0xa, 0x79, 0xa7, 0x9c, 0x20, 0x2f, 0x48, 0x64, 0xe4, 0x3c, 0xb7, 0x33, 0x10, 0x9b, 0x1e, 0x62, 0xe3, 0x84, 0xbe, 0x6f, 0x91, 0xb1, 0x54, 0xf3, 0xa4, 0xff, 0xda, 0x76, 0x68, 0x60, 0xaf, 0x3, 0xd4, 0x62, 0x37, 0x66, 0xf3, 0xa3, 0x58, 0x9b, 0x72, 0xf9, 0xed, 0xa4, 0xd2, 0xfa, 0x53, 0x9, 0x1f, 0xce, 0xdf, 0x3f, 0xf5, 0xdf, 0xc0, 0x6f, 0x6f, 0xfb, 0x6f, 0x20, 0x93, 0x63, 0x85, 0x67, 0x36, 0xa5, 0xc3, 0xba, 0xca, 0xc4, 0xcc, 0x1a, 0x33, 0x34, 0x1d, 0xb6, 0x5d, 0xdf, 0x24, 0xae, 0xba, 0xb6, 0x37, 0x8b, 0x6b, 0x99, 0x2, 0xff, 0x39, 0xe3, 0x91, 0xfa, 0xa7, 0xb3, 0xb7, 0xc, 0x4, 0x4a, 0x8f, 0x8c, 0x3e, 0xcf, 0x40, 0x4a, 0x91, 0x56, 0xbb, 0x47, 0x72, 0xd, 0x4e, 0x25, 0xab, 0xee, 0x6e, 0x4c, 0x18, 0x45, 0x1b, 0x23, 0x1a, 0x5c, 0x55, 0xe0, 0xc0, 0x5a, 0xc, 0x80, 0x57, 0x64, 0x73, 0x87, 0x9a, 0x1e, 0x5, 0x1f, 0x81, 0xeb, 0x94, 0xe7, 0x82, 0xa5, 0x72, 0x29, 0x73, 0xd3, 0x83, 0xc9, 0x9e, 0xa, 0x93, 0x9f, 0x8a, 0xd9, 0xcc, 0x1e, 0x4c, 0x48, 0xb4, 0x5f, 0x65, 0x7a, 0xa, 0xd6, 0xa7, 0x9d, 0x6d, 0x3c, 0x19, 0xe4, 0xcb, 0xf6, 0x1, 0xed, 0x25, 0x6c, 0x4, 0x60, 0x2, 0xe7, 0x2c, 0x7a, 0x65, 0xf5, 0x2c, 0x11, 0xe7, 0x76, 0x4e, 0xd3, 0xb9, 0x95, 0x5c, 0x8b, 0x25, 0xcc, 0x68, 0xa4, 0xa4, 0x2, 0x85, 0x10, 0x5a, 0xd0, 0x45, 0x16, 0xb, 0xa7, 0xe5, 0xaf, 0x32, 0x9d, 0x14, 0x31, 0x26, 0xe9, 0xa3, 0xd, 0x40, 0xa9, 0x5e, 0xb0, 0x46, 0x18, 0x16, 0x76, 0x54, 0xc1, 0x29, 0x6c, 0x11, 0x1e, 0xc7, 0x5, 0x74, 0x3e, 0xf, 0x3a, 0x44, 0xe2, 0x13, 0x6, 0x1f, 0x4a, 0x1b, 0x6c, 0x2, 0x86, 0x89, 0x7a, 0xfe, 0x3f, 0xfe, 0x4f, 0x36, 0x5d, 0xe7, 0x8d, 0x19, 0x2e, 0x6e, 0xd2, 0x3e, 0x1c, 0xec, 0xe2, 0xe9, 0x24, 0xf, 0x69, 0xa7, 0xa1, 0x78, 0x40, 0x66, 0x27, 0xe, 0xe1, 0x6e, 0x8a, 0x8b, 0x2d, 0x8b, 0x34, 0x97, 0x2b, 0x6b, 0x78, 0xd1, 0xa4, 0xcd, 0x74, 0x16, 0xa9, 0x59, 0x2a, 0x3e, 0x49, 0x70, 0xb, 0xac, 0xfb, 0xec, 0x7b, 0xfb, 0x1c, 0xdc, 0xc5, 0x6, 0x24, 0x79, 0xaa, 0x9f, 0xec, 0xbf, 0x56, 0x99, 0x88, 0x45, 0x22, 0x54, 0x2c, 0xce, 0x22, 0xf5, 0xb6, 0xcf, 0x70, 0x40, 0x4e, 0x12, 0xc1, 0xf5, 0x9, 0x81, 0x6b, 0x3d, 0xc3, 0x69, 0x22, 0x2a, 0x9, 0xbb, 0x65, 0x33, 0x99, 0x24, 0x2, 0xb, 0x5f, 0x83, 0x74, 0x14, 0xc6, 0x58, 0xe5, 0x2a, 0x24, 0x61, 0xa3, 0xd8, 0xe0, 0x66, 0xd4, 0x8f, 0xd4, 0xef, 0x41, 0x18, 0x53, 0x2b, 0x61, 0xa8, 0x24, 0x74, 0x55, 0x7f, 0x1b, 0x60, 0x7b, 0x87, 0x51, 0xe2, 0x48, 0xfd, 0xa1, 0x2a, 0x79, 0xab, 0x12, 0xcc, 0x85, 0x66, 0x1, 0xf9, 0xce, 0xae, 0x30, 0xe, 0xc6, 0xd9, 0xa6, 0x76, 0x85, 0xe3, 0x94, 0x2f, 0x57, 0xe5, 0x7, 0x33, 0x40, 0x12, 0xfd, 0xf3, 0x9b, 0xfe, 0x9b, 0x37, 0x6f, 0x7b, 0xec, 0xed, 0x9b, 0x37, 0x6f, 0xfe, 0xb2, 0xa7, 0x4a, 0x89, 0xb7, 0xb2, 0x2f, 0x79, 0x74, 0x8, 0x5e, 0xee, 0xea, 0x54, 0x79, 0xa6, 0x53, 0xc3, 0xa0, 0x60, 0xd8, 0xde, 0xe3, 0xa0, 0x9f, 0x60, 0xa1, 0x17, 0xce, 0x1a, 0xe9, 0x33, 0x90, 0xb2, 0x80, 0x85, 0xda, 0x78, 0xfe, 0xed, 0x41, 0x43, 0xba, 0xd5, 0x62, 0x85, 0xbc, 0x17, 0xe4, 0x16, 0x1e, 0x1, 0x4c, 0xd, 0xa4, 0xea, 0xdc, 0x6c, 0x28, 0x5, 0x8e, 0xc5, 0x2f, 0x52, 0x4b, 0x27, 0x69, 0x4e, 0xbc, 0x89, 0x2, 0xc4, 0x96, 0x34, 0xad, 0xaf, 0x83, 0x15, 0x33, 0x7d, 0x76, 0xc9, 0xad, 0x39, 0x23, 0x3d, 0x19, 0x26, 0x35, 0xe3, 0x82, 0x5e, 0x91, 0xa, 0x9e, 0xc6, 0x82, 0x35, 0x15, 0x88, 0x5, 0xfb, 0x19, 0x2f, 0x8e, 0x61, 0xda, 0x6f, 0x2, 0x15, 0x27, 0x5c, 0xe2, 0x12, 0xfb, 0x3f, 0xe8, 0x8c, 0xb4, 0x3d, 0xf8, 0x6e, 0xed, 0x96, 0xb4, 0x17, 0xfc, 0xdd, 0x8a, 0x3, 0x44, 0x30, 0xf3, 0x2d, 0x6e, 0xe1, 0x97, 0xd1, 0x44, 0x43, 0x65, 0x10, 0x50, 0x28, 0x2d, 0x11, 0x1, 0xc9, 0xe, 0x85, 0x36, 0xa9, 0x20, 0x98, 0x34, 0x9a, 0x60, 0xae, 0x2a, 0x78, 0x4a, 0x2e, 0xf8, 0xa9, 0x33, 0xb6, 0xd4, 0x9, 0x24, 0x80, 0x13, 0x38, 0x89, 0x59, 0x59, 0x41, 0x84, 0xe9, 0x77, 0x8, 0x4e, 0x12, 0xf9, 0x15, 0xb7, 0x6, 0x52, 0x5, 0xa0, 0xd, 0x62, 0xfc, 0x7e, 0x1b, 0x10, 0x2e, 0x9b, 0xed, 0x1b, 0xb2, 0xe3, 0x66, 0x3a, 0x65, 0x91, 0x97, 0x1a, 0xd1, 0xab, 0x40, 0xd8, 0xa2, 0x2c, 0xb2, 0xc7, 0xcd, 0xa, 0x63, 0x78, 0xb1, 0x47, 0xc5, 0x56, 0x82, 0xdc, 0x1b, 0x4e, 0x47, 0xb4, 0xf7, 0x3d, 0x5c, 0x91, 0xb9, 0x6, 0x5d, 0xf1, 0xdb, 0x50, 0xe5, 0x70, 0xa0, 0xbf, 0xba, 0x9c, 0x36, 0xf, 0xfc, 0x56, 0xce, 0x9b, 0xb5, 0x73, 0xc2, 0x72, 0x2d, 0xd0, 0x7c, 0x7c, 0x56, 0xa, 0x5c, 0x11, 0xee, 0x99, 0x48, 0x95, 0xf, 0x81, 0x4a, 0xea, 0x50, 0x7e, 0x93, 0xb0, 0x52, 0xb3, 0xa6, 0xfb, 0xe4, 0x12, 0x82, 0xc0, 0x83, 0x1b, 0xf2, 0xfd, 0x47, 0x41, 0xc9, 0x65, 0x90, 0xb9, 0x88, 0xbd, 0x92, 0x46, 0x7d, 0x93, 0xbb, 0x8, 0xf3, 0xac, 0x48, 0x99, 0xd1, 0xa0, 0xd8, 0x66, 0xe2, 0x1b, 0xec, 0x88, 0x56, 0xb3, 0x2, 0x2a, 0x43, 0xa6, 0x22, 0x7f, 0x12, 0x20, 0x6c, 0x60, 0x64, 0xdf, 0xba, 0x2e, 0xc0, 0x46, 0xa, 0x5b, 0xc0, 0x3e, 0x59, 0xd5, 0x28, 0x52, 0xdb, 0xdf, 0xae, 0xcc, 0x97, 0x3b, 0x35, 0x80, 0xdf, 0xba, 0xca, 0x4, 0xa5, 0x63, 0x46, 0xaf, 0xe8, 0x23, 0xa8, 0xe6, 0x39, 0x34, 0x65, 0xdb, 0x31, 0x9e, 0x23, 0x8a, 0x46, 0x59, 0xbb, 0xf, 0x6a, 0xa8, 0xd2, 0xea, 0x14, 0x5b, 0x9e, 0x5, 0x57, 0x4a, 0x8f, 0xad, 0x75, 0x61, 0x25, 0xdd, 0x37, 0x79, 0xb9, 0x13, 0xe1, 0x3a, 0xe, 0x9f, 0x72, 0xf0, 0xca, 0x7e, 0x4b, 0x92, 0x64, 0xaa, 0x55, 0x26, 0x5d, 0x2, 0x99, 0x11, 0x4b, 0x6e, 0xcd, 0x4e, 0x70, 0xe4, 0xf9, 0xb3, 0xc1, 0x33, 0x92, 0xe1, 0xdf, 0xcb, 0xcc, 0xe4, 0x3d, 0x3b, 0x7b, 0x46, 0x26, 0xa0, 0x5a, 0xac, 0xfc, 0xb6, 0x3d, 0xdb, 0xb0, 0xc7, 0xd6, 0xec, 0xc4, 0xde, 0x4, 0x19, 0x39, 0xa5, 0x5e, 0xb3, 0xb9, 0x55, 0xc9, 0xa0, 0xce, 0xf, 0xa5, 0xf5, 0x64, 0x21, 0x54, 0xd0, 0x96, 0xeb, 0xfb, 0x19, 0xcb, 0x31, 0x6c, 0x54, 0xa3, 0xc1, 0x6, 0xb8, 0x7a, 0xe1, 0x15, 0xb, 0x77, 0x83, 0x4, 0x88, 0x81, 0x40, 0xa1, 0x45, 0xe2, 0xf, 0x52, 0x69, 0x41, 0x27, 0x59, 0x79, 0xe6, 0x7d, 0xe3, 0xc3, 0xad, 0x5c, 0xad, 0x99, 0x29, 0xa6, 0x74, 0x13, 0x95, 0x87, 0x87, 0x88, 0x24, 0xcb, 0x6c, 0x3f, 0x6c, 0x71, 0x89, 0x9a, 0x49, 0x2a, 0xf8, 0x23, 0x65, 0xa0, 0xc0, 0x8e, 0x74, 0xc7, 0x12, 0x35, 0xa6, 0xca, 0x36, 0xc6, 0x63, 0x78, 0xa5, 0x73, 0xd8, 0xc7, 0x24, 0xeb, 0xa8, 0x58, 0xc2, 0xac, 0x4d, 0x2e, 0x96, 0xd0, 0x17, 0x53, 0xac, 0x6c, 0xdf, 0xe1, 0xcf, 0xd1, 0xab, 0x59, 0x91, 0xa6, 0xd1, 0xab, 0xea, 0x72, 0x70, 0x50, 0xf9, 0x68, 0xba, 0x15, 0x7e, 0xb1, 0xcf, 0x4e, 0xca, 0x74, 0x5a, 0xcc, 0xf, 0xa4, 0x76, 0xa4, 0x62, 0x5e, 0x56, 0x87, 0x52, 0x56, 0x1a, 0xb6, 0x4a, 0xb9, 0x52, 0x22, 0xe9, 0xbf, 0xde, 0x74, 0x27, 0x40, 0x3c, 0xf6, 0x56, 0xfc, 0x55, 0xc4, 0xf9, 0xb9, 0x56, 0x98, 0x38, 0xf1, 0xbc, 0xa2, 0xba, 0x3f, 0xde, 0xd, 0x6f, 0x3d, 0xaf, 0xfe, 0xf9, 0xf5, 0xd5, 0xc5, 0x8, 0xa, 0x7d, 0x1b, 0xea, 0xe9, 0x1a, 0x9e, 0xbe, 0xba, 0xbe, 0x1a, 0x76, 0x7a, 0x6c, 0x72, 0x7f, 0x7d, 0x33, 0xbc, 0xea, 0xf8, 0xa8, 0x27, 0x32, 0xbe, 0x3f, 0xbf, 0x1c, 0xe, 0xae, 0x2e, 0x7f, 0x6e, 0xad, 0xbc, 0xdb, 0x63, 0x20, 0x9b, 0x77, 0x38, 0x3b, 0x65, 0x2d, 0x3, 0x3b, 0x63, 0x57, 0x5a, 0x59, 0x11, 0xe1, 0x60, 0x76, 0x61, 0xbf, 0x61, 0xdc, 0x9c, 0x9c, 0x12, 0x88, 0x7c, 0xcc, 0x32, 0x58, 0x10, 0xc7, 0x74, 0xb5, 0x63, 0x12, 0x6c, 0xb3, 0xf9, 0xf5, 0xa, 0x4, 0x5a, 0x73, 0xcb, 0x41, 0xab, 0x56, 0xee, 0x84, 0xa9, 0x6d, 0xf6, 0xa3, 0x7a, 0x25, 0xd4, 0xce, 0xaf, 0x6d, 0xcd, 0x23, 0x7c, 0xda, 0x47, 0xf2, 0xcf, 0x53, 0xc1, 0x1, 0x69, 0xf7, 0x19, 0xdd, 0x48, 0x64, 0x42, 0xf9, 0xe6, 0x94, 0xeb, 0x19, 0x63, 0x63, 0x5b, 0xfe, 0xaf, 0x60, 0xc3, 0x56, 0xd0, 0x8e, 0x9f, 0x55, 0xe1, 0x5d, 0xec, 0x15, 0x79, 0xaa, 0x24, 0xc8, 0x8d, 0xf1, 0xf5, 0x9d, 0xa1, 0x22, 0xe8, 0xaf, 0x7b, 0xfb, 0x18, 0x15, 0x2f, 0x7f, 0xc3, 0x9, 0x78, 0x46, 0x55, 0x52, 0x3, 0xd, 0xc8, 0xdf, 0x1a, 0x66, 0xb4, 0xb5, 0xc9, 0xea, 0x32, 0xec, 0x9c, 0x85, 0x5b, 0xbe, 0x5c, 0x7d, 0xb7, 0xbe, 0x11, 0x59, 0x2c, 0x54, 0x13, 0xc5, 0x5e, 0xe7, 0x9a, 0x3e, 0xbe, 0x5c, 0xd5, 0xb6, 0xc4, 0x8e, 0x69, 0x2e, 0xd, 0xe2, 0x58, 0xac, 0x10, 0x7b, 0xd, 0x15, 0x7b, 0x69, 0xd8, 0x9f, 0xdf, 0xf4, 0xde, 0xbe, 0x79, 0x53, 0xeb, 0x28, 0xde, 0x1a, 0xaf, 0x3a, 0x6c, 0x90, 0xa0, 0x49, 0xbe, 0x6c, 0xcd, 0x83, 0xbd, 0x60, 0x70, 0x68, 0x27, 0x60, 0xa1, 0x1b, 0xf9, 0x28, 0x9a, 0xdc, 0xf3, 0xa2, 0x39, 0x56, 0x7e, 0x70, 0x67, 0x86, 0x2a, 0xd9, 0xa7, 0x2b, 0x26, 0x17, 0x5b, 0xc4, 0xa, 0x47, 0x9c, 0x18, 0xb1, 0x62, 0x27, 0x18, 0x20, 0xe6, 0x69, 0xcf, 0x5f, 0xeb, 0x6f, 0xf7, 0x8a, 0xe, 0xc0, 0xea, 0x57, 0xc2, 0x43, 0xce, 0xec, 0x75, 0xae, 0x6f, 0x54, 0x13, 0x7a, 0xbe, 0xba, 0x2, 0x7d, 0x1a, 0x4e, 0xe3, 0xb5, 0x6a, 0x61, 0xcc, 0x53, 0xa1, 0x12, 0x9e, 0x45, 0xa, 0x91, 0x14, 0x14, 0x1b, 0xe7, 0x59, 0x11, 0xe7, 0x45, 0x26, 0x92, 0x73, 0xfa, 0x6d, 0xbc, 0x12, 0x31, 0xa6, 0xca, 0xa8, 0x84, 0xfd, 0xb, 0x5a, 0x1f, 0xa4, 0x5e, 0xb, 0x84, 0x2, 0xa9, 0xaa, 0xa3, 0x91, 0xf2, 0x1a, 0x3f, 0x3c, 0x5b, 0x21, 0xf8, 0x20, 0x5, 0x13, 0x35, 0x24, 0x86, 0x43, 0x0, 0x73, 0x1b, 0x61, 0x87, 0xec, 0x0, 0x10, 0x22, 0x1d, 0x21, 0x55, 0x40, 0x27, 0xb2, 0x5f, 0xb1, 0x5a, 0xb3, 0x5d, 0x13, 0x56, 0x28, 0xfb, 0xcc, 0x9, 0x4d, 0x19, 0x65, 0xd9, 0xbc, 0x79, 0x8d, 0xa4, 0xb4, 0xce, 0xea, 0xe0, 0xcc, 0x9a, 0xa7, 0x29, 0x99, 0x12, 0x5b, 0xd2, 0xfd, 0x96, 0xe7, 0xe2, 0xd2, 0x1a, 0x82, 0x7, 0x9, 0x8, 0x8a, 0x65, 0x1f, 0x98, 0xe6, 0xb1, 0x5b, 0x46, 0xfc, 0x27, 0xd4, 0x4d, 0x19, 0x9c, 0x14, 0x99, 0x4, 0x76, 0x6c, 0x27, 0x11, 0x41, 0x43, 0x3d, 0x7, 0xf, 0xc7, 0x61, 0x12, 0x71, 0x7b, 0xd6, 0x58, 0x9b, 0xf4, 0x2e, 0xa7, 0xb9, 0xf6, 0x88, 0x39, 0xc7, 0x43, 0xd7, 0xe6, 0x70, 0x4, 0xef, 0xdd, 0x5b, 0xdd, 0x87, 0x3e, 0x6, 0xf, 0xd3, 0xf3, 0xf4, 0xcd, 0xdb, 0xc1, 0x64, 0x78, 0x7f, 0x39, 0x7a, 0x3f, 0x9a, 0xdc, 0x8f, 0xaf, 0xef, 0x6e, 0xcf, 0x1b, 0xa1, 0x1b, 0xb6, 0x1f, 0x1c, 0xdc, 0x8c, 0xda, 0x1f, 0xf8, 0x70, 0x7d, 0xfb, 0xe3, 0xf0, 0xb6, 0xfd, 0x99, 0xf1, 0xcf, 0xe3, 0xc9, 0xf0, 0x7d, 0xab, 0x26, 0xd9, 0xad, 0x8b, 0x5b, 0x32, 0x8, 0x26, 0xc5, 0xf3, 0x96, 0x96, 0x71, 0x9b, 0x60, 0x7b, 0x11, 0x22, 0x52, 0xed, 0xd0, 0x90, 0xbb, 0x11, 0x8d, 0x62, 0x48, 0x22, 0x17, 0xb9, 0xb, 0x3c, 0xa2, 0xdb, 0xac, 0xf6, 0x45, 0x1c, 0x72, 0xc3, 0xbb, 0xbc, 0xa4, 0x43, 0xa8, 0x7d, 0x19, 0xe7, 0xa2, 0xee, 0x65, 0x6e, 0x42, 0xab, 0x87, 0xe6, 0x66, 0xfb, 0xd8, 0x3, 0x69, 0xb5, 0xa7, 0x57, 0xe3, 0xe6, 0xa3, 0xc7, 0x79, 0xf9, 0x6e, 0x3d, 0x4a, 0x8e, 0xa1, 0x36, 0x21, 0xfe, 0xe0, 0xad, 0xab, 0x5d, 0x6f, 0x12, 0x9, 0x5d, 0x78, 0x32, 0xc2, 0x1a, 0x1c, 0x6b, 0x22, 0x66, 0x85, 0xd8, 0x64, 0x97, 0x0, 0x63, 0x1e, 0xaa, 0x33, 0xb9, 0xf9, 0x48, 0x50, 0x7f, 0xd0, 0x1, 0x6b, 0x9f, 0x8b, 0x74, 0x86, 0x9e, 0x47, 0xc8, 0x3d, 0x42, 0xbd, 0xd8, 0xa, 0xed, 0x48, 0x29, 0x9d, 0xcb, 0xd9, 0xba, 0xda, 0x92, 0x9e, 0xb1, 0x10, 0x3b, 0xd1, 0x7e, 0x9, 0x11, 0x42, 0x4d, 0xe, 0x61, 0x15, 0x4, 0xee, 0x6e, 0x2a, 0x9e, 0xa4, 0x56, 0x6e, 0xe, 0x26, 0x7, 0xe9, 0x32, 0xe8, 0x5d, 0x54, 0x21, 0xbc, 0x24, 0xb9, 0x14, 0x8d, 0xca, 0xcd, 0xb1, 0x3a, 0xf3, 0x4, 0xb4, 0xe9, 0x46, 0xd8, 0xc3, 0x2, 0x6e, 0x0, 0x57, 0xf3, 0x47, 0x4e, 0x11, 0xcf, 0xbb, 0x53, 0xd4, 0x42, 0xd5, 0x75, 0xdf, 0xa1, 0x5f, 0x77, 0xe7, 0xd7, 0xdd, 0xf9, 0x8b, 0xd8, 0x9d, 0x98, 0xe9, 0xb8, 0xcf, 0xbe, 0xdc, 0x6a, 0x66, 0x2e, 0x4d, 0x2e, 0xb2, 0x2b, 0xbe, 0x14, 0x66, 0xc5, 0x63, 0x41, 0x1b, 0xf2, 0x50, 0x28, 0x21, 0x68, 0xeb, 0x39, 0xc9, 0xba, 0xd5, 0x89, 0xdd, 0xfb, 0x75, 0x28, 0x5d, 0x18, 0x2e, 0xb9, 0xdc, 0xc5, 0x29, 0x56, 0xfb, 0xf6, 0x56, 0x4d, 0xdc, 0xad, 0xc8, 0x85, 0xb2, 0xff, 0xb8, 0x11, 0x99, 0xd4, 0xcf, 0xca, 0xe2, 0x26, 0x24, 0xf9, 0x2f, 0x56, 0xa3, 0x70, 0x8e, 0xdf, 0xbf, 0x15, 0xde, 0x2d, 0x4a, 0xda, 0x67, 0xf0, 0xfa, 0xff, 0x69, 0x3e, 0x1d, 0x82, 0xde, 0x7f, 0x2e, 0x2d, 0x42, 0x9d, 0x52, 0x79, 0x78, 0x29, 0x57, 0xd3, 0x97, 0x77, 0xd4, 0x5d, 0xc, 0xd8, 0x47, 0xb1, 0x3e, 0x45, 0x75, 0x65, 0xc9, 0x57, 0x18, 0xa5, 0x54, 0x6b, 0x16, 0x17, 0x26, 0xd7, 0x4b, 0xf9, 0x77, 0x91, 0xb0, 0x55, 0x91, 0xad, 0xb4, 0x69, 0xac, 0x9, 0x14, 0x71, 0x91, 0xd9, 0xdb, 0xa0, 0x43, 0xbd, 0x6f, 0x6d, 0x3, 0xd2, 0xfc, 0x90, 0xea, 0x29, 0x4f, 0xaf, 0x76, 0x9d, 0x11, 0x27, 0x75, 0x6a, 0x5b, 0xa1, 0xc8, 0xda, 0x20, 0x8b, 0x17, 0xf2, 0x91, 0xa7, 0x9b, 0xb8, 0x68, 0xad, 0xfb, 0xa1, 0xfa, 0xd2, 0x8e, 0xc, 0xf3, 0x10, 0x45, 0xf3, 0x64, 0x70, 0x7b, 0xfe, 0x6e, 0xf4, 0xd3, 0xe0, 0x72, 0x1b, 0x92, 0x8c, 0xea, 0x5d, 0x9d, 0xe9, 0x4c, 0xc9, 0x6e, 0xd5, 0x38, 0xae, 0xc4, 0xcc, 0x9b, 0xf6, 0xba, 0x73, 0xd7, 0xb9, 0xbb, 0x4c, 0x3e, 0x67, 0x76, 0x1f, 0xa5, 0xa1, 0x80, 0xf5, 0x6f, 0x68, 0x6a, 0xb6, 0x7, 0xb5, 0xcf, 0xec, 0x34, 0x5e, 0x1f, 0x5b, 0x72, 0x7f, 0xff, 0xab, 0x23, 0x15, 0x7c, 0x8b, 0xe5, 0x69, 0xef, 0xdb, 0xa2, 0x1b, 0x4, 0x5c, 0xed, 0xcc, 0x64, 0xd8, 0x83, 0x17, 0x2b, 0x3a, 0x51, 0x3a, 0x6f, 0xae, 0x98, 0x6c, 0x9c, 0xe9, 0x46, 0x17, 0x51, 0x39, 0x5f, 0x65, 0xa4, 0x37, 0xac, 0x11, 0xc4, 0x9c, 0x6f, 0xda, 0x55, 0x71, 0x5, 0xd5, 0x4e, 0x2c, 0x57, 0x3a, 0xe3, 0x69, 0x8d, 0x15, 0xe5, 0xa5, 0xfa, 0x1, 0xe0, 0x88, 0xb7, 0xc3, 0x9b, 0xcb, 0xd1, 0x79, 0x7, 0x54, 0xe3, 0xed, 0x7, 0xaf, 0xae, 0x6f, 0xdf, 0xf, 0x2e, 0xdb, 0x9f, 0x79, 0x37, 0xb8, 0xba, 0xb8, 0xfe, 0x69, 0x78, 0xdb, 0x6e, 0x38, 0xb7, 0xf6, 0x61, 0x6b, 0xd8, 0x7, 0x2b, 0x29, 0x4b, 0xd1, 0xdd, 0xd9, 0xf1, 0x5e, 0x54, 0x5c, 0x1c, 0xa1, 0x38, 0x57, 0xab, 0x6d, 0x68, 0xed, 0xa6, 0x66, 0x46, 0xf0, 0x70, 0xf7, 0xd, 0x3, 0xe8, 0x6d, 0x58, 0xc5, 0xe7, 0xc0, 0x7c, 0x10, 0xc9, 0x22, 0x93, 0xf3, 0xb9, 0xc8, 0xc, 0xe3, 0xcc, 0x45, 0x19, 0x18, 0xe6, 0xba, 0xd7, 0xec, 0xf, 0x78, 0xf, 0x31, 0xf4, 0x9f, 0x3, 0x6e, 0xd8, 0xd6, 0xde, 0xf0, 0x53, 0x2e, 0xb2, 0x20, 0xa5, 0xdf, 0xb7, 0xfb, 0x3d, 0x40, 0x16, 0x3, 0x9e, 0xd2, 0x20, 0xcf, 0x33, 0x39, 0x2d, 0xaa, 0xe7, 0xe8, 0x19, 0xb6, 0x52, 0x61, 0x3a, 0x4b, 0xf1, 0x4e, 0x9d, 0x3b, 0x87, 0x16, 0x5b, 0x95, 0xc0, 0x4a, 0xc9, 0xea, 0xb1, 0xc1, 0xa1, 0x7c, 0xb9, 0xb3, 0x5d, 0xe4, 0x87, 0x2a, 0xe2, 0xa7, 0x8f, 0xb9, 0x3d, 0x54, 0x70, 0xb1, 0x10, 0xba, 0x5, 0xe1, 0x69, 0xc9, 0x98, 0x58, 0xe9, 0xcc, 0x21, 0x48, 0x34, 0xe7, 0xd8, 0x77, 0x51, 0xc5, 0xdb, 0xee, 0x3a, 0x7f, 0x45, 0x6c, 0x55, 0x4, 0x63, 0xbf, 0x8, 0xa0, 0xda, 0x5b, 0x94, 0xfd, 0x48, 0x41, 0xa5, 0x8f, 0xed, 0xe6, 0xdd, 0x88, 0xe5, 0x5a, 0xa7, 0x26, 0x2c, 0x5f, 0x7d, 0xf0, 0x9d, 0x72, 0x98, 0x18, 0xd3, 0xc2, 0x5f, 0x8c, 0x80, 0xde, 0x51, 0x7d, 0xea, 0x5e, 0x26, 0xf, 0x60, 0x28, 0xb5, 0xd4, 0x11, 0xc0, 0x83, 0x87, 0x71, 0x7f, 0xbd, 0x14, 0x7a, 0x9b, 0xe7, 0x5, 0x7b, 0xb1, 0x2d, 0x54, 0xa2, 0x8a, 0x3d, 0x10, 0xf3, 0x9b, 0x63, 0xd8, 0x1b, 0xfe, 0x69, 0x32, 0xbc, 0xbd, 0x1a, 0x5c, 0x96, 0x90, 0xb2, 0xc3, 0x3f, 0xd, 0xcf, 0xef, 0x40, 0xc8, 0x8e, 0xae, 0x46, 0x93, 0xd1, 0x20, 0xd8, 0x65, 0x98, 0x28, 0x87, 0x48, 0x80, 0x61, 0x12, 0xbe, 0x61, 0x79, 0x3, 0xe9, 0x6, 0x65, 0x26, 0x1d, 0xb0, 0xb7, 0x82, 0xba, 0xc2, 0x2e, 0x3a, 0x4b, 0x17, 0xe1, 0x33, 0xaa, 0xcc, 0xf7, 0x71, 0xe4, 0xcf, 0x57, 0x91, 0x50, 0x8f, 0xf6, 0x8b, 0x62, 0xa1, 0x9a, 0x4f, 0x7, 0x95, 0x50, 0xe4, 0x20, 0x82, 0xea, 0xf6, 0x47, 0xc8, 0x84, 0xf9, 0x2a, 0x15, 0x3e, 0xcb, 0xd1, 0x9, 0x3f, 0xb1, 0x90, 0xa9, 0x47, 0xe, 0xb9, 0x56, 0x69, 0x63, 0x65, 0x45, 0xad, 0x83, 0xab, 0xc4, 0xa8, 0x21, 0x58, 0x2d, 0x9e, 0x89, 0x10, 0x49, 0x0, 0x5d, 0x5d, 0x80, 0x3a, 0x50, 0xf5, 0x77, 0x5, 0x99, 0x95, 0x4, 0xb8, 0x45, 0xca, 0xb, 0x85, 0x7, 0x9d, 0xdb, 0xd1, 0x44, 0x8a, 0x33, 0xe8, 0x63, 0xc3, 0xbd, 0x22, 0x8d, 0x29, 0x30, 0x27, 0xd3, 0xb5, 0xd0, 0x64, 0x5, 0xec, 0xcb, 0x6d, 0xe3, 0xc7, 0x86, 0xb4, 0x38, 0xe0, 0x6, 0x8, 0x3b, 0xb9, 0x10, 0x15, 0xf, 0xe7, 0x9e, 0x92, 0xe9, 0xf9, 0xd8, 0xc6, 0x6d, 0xad, 0x6e, 0xed, 0xab, 0x67, 0xb7, 0x37, 0x4a, 0xe, 0x66, 0x62, 0xb4, 0x22, 0x68, 0x1f, 0x34, 0xd2, 0xa1, 0x7f, 0x61, 0x97, 0x54, 0xa1, 0xab, 0x68, 0xbd, 0xf2, 0xda, 0x46, 0x5, 0xe0, 0x2c, 0x40, 0xbe, 0xa4, 0xf8, 0x56, 0x3b, 0xca, 0xb2, 0xf8, 0x5c, 0x6c, 0x50, 0xe5, 0x1d, 0xdc, 0xb1, 0xbf, 0x6c, 0x94, 0x7f, 0x63, 0x7c, 0x25, 0x19, 0x86, 0xfd, 0x1c, 0xaf, 0x14, 0x26, 0x68, 0x45, 0xea, 0xa3, 0xd2, 0x4f, 0x8a, 0x9d, 0x14, 0x6a, 0x96, 0x16, 0x66, 0x1, 0x4c, 0x6d, 0x90, 0x19, 0x49, 0x50, 0x4b, 0x58, 0xf6, 0x16, 0x90, 0x14, 0x94, 0xf9, 0xba, 0x4f, 0x21, 0xcc, 0x27, 0xa4, 0xe2, 0x2b, 0x31, 0xc7, 0x14, 0x72, 0xc, 0xe6, 0x47, 0xaa, 0x2, 0x3a, 0xc8, 0x15, 0x93, 0xa, 0x23, 0xda, 0xa3, 0x8b, 0x26, 0x54, 0x4b, 0xfa, 0xf8, 0x21, 0x7e, 0x72, 0xc7, 0x37, 0xef, 0x84, 0x85, 0xb3, 0x6b, 0x7c, 0xf4, 0xc0, 0x7d, 0x4, 0x72, 0x1c, 0x8c, 0xee, 0xd5, 0x4d, 0xc, 0xc3, 0x79, 0x81, 0x4c, 0xf2, 0x9c, 0xb0, 0x63, 0x22, 0xe5, 0x86, 0x1c, 0xc, 0xc5, 0xbd, 0xb7, 0x57, 0x22, 0x47, 0x78, 0x48, 0x4a, 0x3b, 0x3d, 0x11, 0x39, 0x30, 0xe4, 0x41, 0xa2, 0x86, 0xeb, 0xb5, 0x6f, 0x39, 0x3c, 0x63, 0x46, 0xe4, 0x47, 0x31, 0xb4, 0x82, 0x76, 0xf6, 0x9, 0x37, 0x35, 0xdf, 0x12, 0x48, 0xf3, 0xde, 0xd4, 0x41, 0x18, 0xd1, 0x43, 0xfd, 0x78, 0xb6, 0xeb, 0xb0, 0xf7, 0x16, 0x19, 0x90, 0x11, 0x1c, 0xc2, 0x58, 0xed, 0xe3, 0x13, 0xae, 0x36, 0xda, 0xea, 0xe1, 0x85, 0xfe, 0xfa, 0x4a, 0xfa, 0x3a, 0xbe, 0x91, 0x12, 0xd2, 0x5a, 0x67, 0x55, 0xe8, 0xb2, 0x1d, 0x6c, 0xfe, 0x9f, 0xb5, 0xe7, 0x35, 0x58, 0xc9, 0x7b, 0x77, 0x3c, 0xd4, 0x5a, 0x3f, 0x7, 0xae, 0x31, 0x2f, 0x7d, 0x57, 0x8d, 0xea, 0x6b, 0x6f, 0xe3, 0x97, 0xc9, 0xe8, 0xfd, 0xf0, 0xe2, 0xfe, 0xfa, 0x6e, 0xf2, 0xd0, 0xdb, 0x7c, 0xe9, 0xfb, 0xc1, 0xe8, 0xd2, 0xbe, 0xc1, 0x74, 0x16, 0xa9, 0x87, 0x2d, 0x52, 0x8c, 0xdb, 0xd0, 0x74, 0xd1, 0x18, 0x59, 0x63, 0xb9, 0xee, 0x43, 0x16, 0xb6, 0x70, 0x98, 0x9f, 0x40, 0x4f, 0x6, 0xde, 0xb5, 0x44, 0xb, 0x2c, 0x17, 0x28, 0xb1, 0x1e, 0x9e, 0xa8, 0x2a, 0x1, 0xf2, 0xf6, 0x57, 0x94, 0x1f, 0xc7, 0xd9, 0x14, 0x32, 0xb3, 0xda, 0x2f, 0x96, 0x69, 0x21, 0xd3, 0x3d, 0x99, 0x9e, 0xf7, 0xde, 0xa9, 0x15, 0x10, 0x6c, 0x18, 0xa, 0x7c, 0x95, 0xc9, 0xa4, 0xf, 0xa5, 0xc0, 0x55, 0x9d, 0x89, 0xbb, 0xf2, 0xbc, 0xca, 0x4b, 0xc2, 0xbf, 0x83, 0x35, 0xaa, 0x5b, 0x80, 0x5e, 0x58, 0x60, 0x30, 0x85, 0x6a, 0x5e, 0x57, 0x97, 0xdc, 0x63, 0xca, 0x4d, 0xa8, 0x87, 0xab, 0x74, 0xd0, 0x6, 0x95, 0xf9, 0x9d, 0x6, 0x75, 0x37, 0xe, 0x73, 0x51, 0xe4, 0x88, 0x9d, 0x99, 0xea, 0x27, 0x54, 0x14, 0xa7, 0x88, 0x76, 0x86, 0x59, 0xed, 0x50, 0xb5, 0xd, 0xf5, 0x48, 0xf1, 0x82, 0x43, 0xa1, 0x30, 0x16, 0xb8, 0x48, 0x55, 0x88, 0x53, 0x6e, 0x4e, 0x95, 0x68, 0xa2, 0xba, 0x85, 0xa6, 0x6f, 0x5, 0xc0, 0xea, 0xed, 0xa3, 0x7b, 0xdc, 0x6e, 0xbe, 0x57, 0xaf, 0xa, 0x6e, 0x9, 0x4a, 0x82, 0x8c, 0x79, 0x0, 0xf4, 0x1b, 0xe2, 0xc5, 0xbe, 0x1d, 0x8e, 0x87, 0x93, 0xfb, 0xdb, 0xe1, 0xe0, 0xe6, 0xe6, 0xf2, 0xe7, 0xfb, 0xc9, 0xcf, 0x37, 0xc3, 0xfb, 0xf1, 0xe8, 0x87, 0xab, 0xc1, 0x65, 0x83, 0x6, 0x8e, 0x11, 0xdd, 0xdb, 0x42, 0x3d, 0x5f, 0xfd, 0xb6, 0xeb, 0x9c, 0x15, 0xa2, 0x87, 0x59, 0x40, 0xae, 0x18, 0x11, 0xc3, 0xcc, 0x10, 0x3d, 0xf6, 0xe0, 0x7, 0xd5, 0x8, 0x32, 0x3b, 0x71, 0x31, 0x66, 0xbb, 0x4, 0x76, 0xf, 0xdc, 0xcb, 0x84, 0xe5, 0x3c, 0x9b, 0xb, 0x0, 0xaf, 0x48, 0x22, 0x45, 0xca, 0xc7, 0x1a, 0xab, 0x1b, 0x7c, 0xb9, 0x2, 0x42, 0x8b, 0xb9, 0xba, 0x81, 0xb6, 0x65, 0x18, 0x7e, 0x2, 0x88, 0x59, 0x3b, 0xab, 0x47, 0x8, 0x6f, 0x76, 0x59, 0xc0, 0xe0, 0x8b, 0x1d, 0xa0, 0x4, 0x87, 0x5e, 0x99, 0xc4, 0xb3, 0x81, 0x9b, 0x31, 0x83, 0xa6, 0x64, 0x6d, 0xe, 0x73, 0xf3, 0x35, 0x8a, 0xac, 0x9c, 0x86, 0x40, 0xb, 0xac, 0xee, 0xb1, 0x40, 0x6b, 0x17, 0x57, 0x83, 0x7, 0x15, 0x51, 0x20, 0x51, 0xac, 0x4d, 0xe1, 0x4, 0x89, 0x7d, 0xc0, 0x83, 0x55, 0x47, 0xa, 0x8a, 0xe4, 0x83, 0x52, 0x39, 0xfb, 0x28, 0xa6, 0x48, 0x9e, 0x56, 0x11, 0x41, 0x58, 0xca, 0x73, 0xf, 0x4e, 0xb4, 0x71, 0x27, 0xdf, 0x68, 0xa9, 0xf2, 0x43, 0x15, 0xf9, 0xc3, 0xa5, 0x18, 0x41, 0x2d, 0x79, 0xc1, 0xd4, 0x20, 0x2d, 0xa5, 0xe2, 0xd9, 0xfa, 0x7c, 0x21, 0xe2, 0x8f, 0x6, 0x82, 0xf, 0x47, 0x30, 0x7a, 0xd9, 0xc0, 0xd5, 0x2b, 0x63, 0xeb, 0x3e, 0x5e, 0x52, 0x92, 0x37, 0x34, 0x49, 0x92, 0x23, 0x30, 0xc4, 0xa0, 0xbc, 0x26, 0x9e, 0x18, 0x3a, 0x38, 0x25, 0xc0, 0xb, 0xca, 0x36, 0x10, 0x91, 0x56, 0x2e, 0xe7, 0xba, 0x80, 0x1a, 0x46, 0x27, 0xc6, 0x9f, 0x82, 0x49, 0x6b, 0x2a, 0x10, 0xde, 0xd4, 0x97, 0xbc, 0xdb, 0xe9, 0xe5, 0x6e, 0xf2, 0xe1, 0x6, 0xaf, 0x2d, 0x8e, 0xb1, 0xb6, 0x13, 0x74, 0xef, 0x6e, 0xdf, 0x50, 0x1d, 0x86, 0x86, 0xc5, 0x96, 0x2f, 0x16, 0xb4, 0x13, 0x9f, 0x56, 0x32, 0x7b, 0x71, 0x76, 0x64, 0x2c, 0xa8, 0x83, 0x3c, 0x6d, 0x87, 0x2e, 0x8e, 0x57, 0x9b, 0x35, 0x15, 0x70, 0x8a, 0x92, 0x42, 0xa0, 0x7c, 0xa0, 0x14, 0x92, 0xb6, 0x7b, 0xd, 0xaa, 0xe, 0xe, 0x31, 0xac, 0x66, 0x3c, 0x35, 0x81, 0x55, 0x65, 0x85, 0xc7, 0xca, 0x4a, 0x8, 0xc8, 0xfb, 0x72, 0x8, 0x8a, 0xe8, 0x11, 0xfa, 0xde, 0x7c, 0x9b, 0x89, 0xbf, 0xa1, 0x57, 0xc1, 0x7c, 0x8b, 0xd8, 0x4e, 0xce, 0x9b, 0x5a, 0x8b, 0x8b, 0xd8, 0x6c, 0x2a, 0x85, 0x72, 0x88, 0x65, 0x90, 0x91, 0x64, 0xaa, 0x3a, 0x86, 0xb7, 0x8e, 0xb1, 0xfa, 0xd1, 0x4, 0x1b, 0xb, 0x30, 0xf8, 0xc3, 0xd, 0x44, 0xc8, 0x15, 0x91, 0x72, 0xd2, 0xc4, 0x6a, 0x2c, 0x74, 0xb8, 0x63, 0x92, 0x1d, 0xf6, 0xd8, 0x2b, 0xf1, 0x54, 0x19, 0xa2, 0xd3, 0x51, 0x5c, 0x15, 0xaf, 0x9c, 0x79, 0x24, 0xf9, 0xad, 0x86, 0x22, 0xe5, 0x5a, 0x22, 0xda, 0x3e, 0xc3, 0x4e, 0x3c, 0xda, 0x8b, 0xf4, 0x20, 0x32, 0x78, 0xb5, 0xda, 0x1e, 0x92, 0xd2, 0x84, 0x5, 0x80, 0x95, 0x42, 0x69, 0x0, 0x23, 0xb0, 0x3b, 0x60, 0x9b, 0x9d, 0xb2, 0x9c, 0x99, 0x83, 0x8c, 0xa6, 0xd5, 0x66, 0xb, 0xec, 0x79, 0x37, 0xeb, 0xf3, 0x12, 0x87, 0x36, 0xae, 0x99, 0xf0, 0xba, 0xed, 0xe0, 0x10, 0xab, 0xbf, 0xb3, 0x9f, 0x19, 0x9e, 0xe, 0xb5, 0xae, 0xe1, 0x9f, 0xce, 0x2f, 0xef, 0x2e, 0x86, 0xa8, 0x7d, 0x35, 0xc6, 0xa9, 0x1b, 0xdf, 0x20, 0x7d, 0xad, 0xdb, 0xc3, 0x77, 0x37, 0x17, 0x83, 0xc9, 0xb0, 0xe3, 0xc3, 0xc0, 0x77, 0xda, 0xf1, 0x59, 0x8a, 0xcf, 0x50, 0xb8, 0x66, 0x47, 0x60, 0x7c, 0xaf, 0xd1, 0xd7, 0xb, 0x75, 0xd4, 0x81, 0x72, 0xcd, 0x4, 0x2e, 0x6, 0x31, 0x98, 0x9, 0xf, 0x52, 0x4d, 0xf4, 0x1, 0x53, 0xb1, 0x6, 0x74, 0x9b, 0xaa, 0x10, 0xf1, 0xb9, 0xe7, 0xbb, 0xa6, 0xf5, 0x8c, 0xd1, 0x62, 0x13, 0xf7, 0x82, 0xd9, 0xfb, 0x3b, 0xed, 0x5f, 0xc1, 0xf5, 0x28, 0xbf, 0x82, 0x70, 0x71, 0xc7, 0xfe, 0xa, 0x2c, 0x64, 0xf9, 0x11, 0x5, 0xd4, 0xc4, 0x9e, 0x9, 0xe7, 0x98, 0x5f, 0xaa, 0x6e, 0x83, 0x33, 0x56, 0xaa, 0x37, 0x3d, 0x56, 0x28, 0x69, 0x2f, 0xdb, 0xa5, 0x50, 0x60, 0xf2, 0xaf, 0xf2, 0x3a, 0xae, 0xeb, 0x2d, 0xe3, 0xe6, 0x8, 0x7, 0xac, 0xfb, 0xc1, 0xea, 0x74, 0xa0, 0x70, 0x4a, 0x37, 0x8a, 0x7c, 0x6b, 0x1e, 0x19, 0x5c, 0x5e, 0xde, 0xf, 0x2f, 0x47, 0x3f, 0x8c, 0xbe, 0xbb, 0x1c, 0xee, 0x71, 0x20, 0x3a, 0x1f, 0x84, 0x72, 0x6e, 0xcf, 0x0, 0x9b, 0xdd, 0xd7, 0x88, 0x7, 0x41, 0xa8, 0x6, 0xb1, 0x5, 0xe1, 0xe, 0x70, 0x6d, 0xac, 0x23, 0x5, 0x27, 0x8, 0xb1, 0x83, 0x8, 0x15, 0x41, 0x42, 0xdd, 0x3, 0x82, 0x5f, 0xd9, 0xbb, 0x49, 0x4, 0x47, 0x6e, 0x13, 0x50, 0x33, 0xd7, 0x4d, 0x1f, 0x89, 0x94, 0x54, 0x26, 0x17, 0x1c, 0x5c, 0x29, 0x4, 0xbb, 0x5a, 0xb3, 0x7f, 0x2a, 0xa7, 0x6d, 0x4c, 0xa7, 0xc, 0xa3, 0x2c, 0x64, 0xd6, 0xe0, 0x1e, 0xd, 0xab, 0x7d, 0x5d, 0xd6, 0x71, 0x7d, 0x63, 0xae, 0x4e, 0xd9, 0xed, 0xe5, 0x83, 0x1a, 0xb, 0x57, 0xf1, 0x8c, 0xd, 0xd2, 0x94, 0x89, 0x54, 0xce, 0xc1, 0xc5, 0xbd, 0x4f, 0xf3, 0xb5, 0xfb, 0xfc, 0xd0, 0xd, 0xbe, 0x7b, 0x63, 0xc3, 0x13, 0xdf, 0x8f, 0x6e, 0xc7, 0x93, 0x2a, 0x9, 0x6b, 0xc3, 0x93, 0x97, 0x83, 0xad, 0x7, 0x77, 0x6f, 0xdc, 0x67, 0x6c, 0xd8, 0x1e, 0x33, 0x42, 0x94, 0x49, 0x60, 0x7c, 0x25, 0xfb, 0xb1, 0x5e, 0x2e, 0xb5, 0xea, 0x3f, 0xbe, 0xed, 0x87, 0x1e, 0xda, 0xea, 0x96, 0x69, 0x1a, 0xcd, 0x19, 0x2b, 0x7d, 0x4f, 0xb8, 0x57, 0x5b, 0xe8, 0x99, 0xbd, 0xd7, 0xd1, 0x21, 0x7d, 0xc8, 0xbc, 0x84, 0xdd, 0x12, 0x9f, 0xa4, 0xc9, 0x43, 0x1f, 0x3d, 0x22, 0x5b, 0x22, 0x2b, 0x84, 0x23, 0xb2, 0xe8, 0x6f, 0x76, 0x69, 0x7b, 0xda, 0x1a, 0x7b, 0xd4, 0xe6, 0x6, 0x7d, 0x7e, 0x87, 0x6a, 0x77, 0xd7, 0x73, 0x2, 0x6c, 0x3b, 0x35, 0xb8, 0x2e, 0xa6, 0x66, 0x37, 0x65, 0xca, 0x75, 0x8f, 0x28, 0x1d, 0x8f, 0x1, 0xd9, 0xed, 0xcb, 0x6, 0x2e, 0x30, 0xb8, 0x71, 0x40, 0x6d, 0x79, 0x73, 0xcf, 0x57, 0x5a, 0x55, 0x6a, 0x68, 0xd0, 0xee, 0x10, 0x49, 0xc7, 0x22, 0xaf, 0xee, 0xd, 0x1e, 0xa7, 0x31, 0xb7, 0xb9, 0x8e, 0xd7, 0xbd, 0x92, 0xae, 0xe3, 0x8, 0xad, 0x61, 0xf2, 0xda, 0xb1, 0xa, 0xe4, 0x28, 0xd9, 0xe7, 0x8b, 0x59, 0x18, 0x8e, 0x9e, 0x74, 0xb7, 0x27, 0xf, 0x99, 0x35, 0xb0, 0xe6, 0x16, 0x93, 0x65, 0x5d, 0xdf, 0x59, 0xc, 0x17, 0x2c, 0xb1, 0x5d, 0x45, 0xca, 0x6e, 0xec, 0x7b, 0x4f, 0x1f, 0x7f, 0xef, 0xe2, 0x76, 0x2b, 0xdc, 0xb3, 0x60, 0x81, 0x6a, 0xcd, 0x52, 0x9e, 0xcd, 0x45, 0xcf, 0x7, 0xf2, 0x3c, 0xff, 0x69, 0xf0, 0xeb, 0xb3, 0x76, 0x37, 0xae, 0xcf, 0xd7, 0xb5, 0xf9, 0x5, 0xac, 0x4d, 0x9e, 0xad, 0x6f, 0x74, 0x2a, 0xe3, 0x83, 0x60, 0x73, 0x31, 0x79, 0x2f, 0x1d, 0xa9, 0x5c, 0x64, 0x8f, 0xfc, 0x90, 0x74, 0x1d, 0xd7, 0x44, 0xf5, 0xae, 0xcd, 0x6c, 0x37, 0x21, 0xd6, 0xd, 0xff, 0xfa, 0x8e, 0xc7, 0x1f, 0xf5, 0x6c, 0x76, 0xae, 0xc5, 0x6c, 0x26, 0x63, 0xc7, 0xdf, 0xf1, 0xb6, 0xff, 0x6, 0x8b, 0x8, 0xb0, 0xcc, 0xce, 0xfb, 0x8c, 0x39, 0x52, 0x9, 0xb6, 0x10, 0x69, 0x4e, 0xb7, 0xda, 0x7b, 0x5e, 0x5d, 0x3c, 0xd1, 0x1f, 0xb4, 0x8d, 0x2f, 0xec, 0xb3, 0x83, 0x38, 0xf0, 0x20, 0xb2, 0x25, 0x5b, 0x7, 0xc, 0x13, 0x31, 0xa, 0x1e, 0x79, 0xda, 0x47, 0x37, 0x5a, 0xcd, 0x2f, 0x50, 0xba, 0x47, 0xc, 0xb5, 0xe5, 0x1f, 0x9, 0xa7, 0x50, 0x96, 0xd1, 0xad, 0xb8, 0xfc, 0x6c, 0x3f, 0x52, 0xef, 0x89, 0xfb, 0xed, 0xad, 0x55, 0xd, 0x60, 0xa7, 0x34, 0xf9, 0x80, 0x9, 0xb1, 0xf7, 0x8, 0xb, 0xfb, 0x9e, 0xb0, 0x7f, 0x7d, 0x27, 0x1d, 0xd6, 0x98, 0x5b, 0x1a, 0x36, 0xfc, 0xb4, 0xd2, 0x4a, 0x28, 0xe0, 0x2e, 0xa4, 0x15, 0x61, 0xa9, 0xe0, 0x88, 0x24, 0x55, 0xe, 0x58, 0xc5, 0x99, 0xe0, 0x40, 0xa3, 0x33, 0x29, 0x29, 0x71, 0xc8, 0x63, 0x16, 0xf3, 0x95, 0xdb, 0x38, 0xfe, 0x39, 0x76, 0x51, 0xe2, 0xc7, 0xbe, 0x7d, 0xf3, 0xe6, 0x53, 0xf9, 0x0, 0xec, 0xd9, 0x72, 0x92, 0x5b, 0x67, 0x60, 0x40, 0x68, 0xb2, 0xc7, 0xc3, 0xd7, 0xf0, 0x82, 0xc1, 0xcd, 0xcc, 0x36, 0xb7, 0x6a, 0x9f, 0x1, 0xa5, 0x98, 0xf8, 0x14, 0xb, 0x91, 0xf8, 0x1c, 0x2f, 0x98, 0x2e, 0x66, 0x72, 0xbd, 0xf2, 0x44, 0x6e, 0xa8, 0xd3, 0xad, 0x64, 0x26, 0x12, 0xb6, 0x6, 0xb3, 0xe3, 0x2d, 0x4b, 0xa4, 0xe1, 0xd3, 0x54, 0x98, 0x72, 0x82, 0xdf, 0x10, 0x9e, 0x45, 0xa1, 0x1c, 0x2, 0xe7, 0x49, 0xb1, 0x72, 0x91, 0xd5, 0x5c, 0x2e, 0x85, 0x2e, 0x72, 0xd3, 0x10, 0xcf, 0x52, 0x50, 0xe4, 0x97, 0xad, 0x6d, 0x93, 0xc3, 0x2c, 0xd3, 0xd9, 0x91, 0xa2, 0x59, 0xcf, 0xac, 0x50, 0xbb, 0xd2, 0xea, 0xd4, 0xf7, 0x87, 0x9, 0xdb, 0x21, 0x83, 0xa6, 0x24, 0x71, 0xf7, 0xc2, 0xf4, 0xc0, 0x59, 0x1, 0xe2, 0x54, 0x5c, 0x72, 0x78, 0xe, 0xb3, 0xa6, 0x0, 0x56, 0x44, 0x10, 0xad, 0x52, 0x2a, 0x4d, 0xde, 0x67, 0x3e, 0x5e, 0x4b, 0xf4, 0x9f, 0x94, 0x45, 0xc3, 0x1, 0x11, 0x8d, 0xb0, 0xff, 0xec, 0x5b, 0xbd, 0xa0, 0xad, 0xdf, 0xd9, 0xc6, 0x7e, 0xc7, 0x4e, 0x0, 0x7d, 0x15, 0x31, 0xa, 0x5f, 0x63, 0x1a, 0x26, 0xe2, 0x96, 0x88, 0x4f, 0x3c, 0xce, 0xeb, 0x79, 0xc0, 0xbd, 0x50, 0xf5, 0x1b, 0xe1, 0x1d, 0x4, 0xb4, 0x70, 0x79, 0x75, 0x31, 0x5f, 0xb8, 0x48, 0xdc, 0x82, 0xab, 0x24, 0x5, 0x5f, 0x7, 0xac, 0xa8, 0x3d, 0xd3, 0x53, 0x9d, 0x2f, 0x1a, 0x81, 0x1e, 0xb7, 0x15, 0xa4, 0x3c, 0x5b, 0x1f, 0x54, 0xf7, 0x32, 0xb9, 0xfd, 0x79, 0x57, 0xc5, 0x4b, 0xf9, 0xc8, 0xe8, 0xea, 0xfe, 0xe6, 0xf6, 0xfa, 0x87, 0xdb, 0xe1, 0x78, 0xdc, 0xf4, 0xc8, 0xd5, 0xf5, 0xd5, 0x3d, 0xfc, 0xff, 0xe0, 0xbb, 0xcb, 0x21, 0x64, 0x30, 0xdc, 0xdd, 0xe, 0x9b, 0x1e, 0x9e, 0x8c, 0xde, 0xf, 0xaf, 0xef, 0x26, 0x4d, 0x3f, 0xbf, 0x1f, 0xfc, 0x69, 0xf4, 0xfe, 0xee, 0xfd, 0xfd, 0x60, 0x32, 0x19, 0xbe, 0xbf, 0x99, 0x8c, 0xad, 0xa1, 0x7d, 0xfe, 0xae, 0xb9, 0x7b, 0xf8, 0xef, 0x9b, 0xeb, 0xcb, 0xd1, 0xf9, 0xcf, 0x80, 0xdd, 0x35, 0x1e, 0x36, 0xb6, 0x3d, 0xba, 0xa2, 0xc4, 0xf0, 0xf1, 0xf0, 0xf6, 0xa7, 0xe1, 0xed, 0xfd, 0xf0, 0xf6, 0xf6, 0xfa, 0xb6, 0xe9, 0xe1, 0xaa, 0x97, 0xca, 0x55, 0xe3, 0x34, 0x1a, 0xb9, 0xf5, 0x73, 0xba, 0xb9, 0x74, 0xc8, 0xef, 0x75, 0x38, 0x10, 0xa, 0xc5, 0x55, 0x4b, 0x82, 0x98, 0x9f, 0xea, 0xeb, 0xc9, 0xba, 0xf2, 0xcb, 0xb8, 0xd7, 0xdb, 0xe, 0x29, 0x31, 0x1e, 0xb, 0x47, 0x8c, 0x5d, 0xbe, 0xcd, 0xe8, 0x75, 0xe7, 0xf7, 0xc9, 0x44, 0x2c, 0xe4, 0x63, 0x13, 0x11, 0x4, 0xee, 0x6f, 0x2, 0x71, 0x9e, 0x45, 0xa, 0xac, 0x57, 0x7b, 0x1c, 0xb, 0x45, 0xc1, 0x4c, 0x4c, 0xf6, 0x19, 0x14, 0xb9, 0xbe, 0x5b, 0xcd, 0x33, 0x9e, 0x94, 0x91, 0x15, 0x6b, 0xeb, 0x5f, 0x49, 0x2, 0xac, 0x24, 0xf9, 0xa7, 0xb4, 0xff, 0xbe, 0x3, 0xbe, 0xd, 0xba, 0x76, 0x62, 0xc5, 0xed, 0x2a, 0x67, 0xb7, 0x7c, 0xb9, 0xb2, 0x1f, 0xa1, 0x47, 0x81, 0xd8, 0x85, 0x52, 0x1, 0x5f, 0xbb, 0xe, 0x1b, 0x96, 0x67, 0xdc, 0x5e, 0xac, 0x21, 0x16, 0xa7, 0xeb, 0xa8, 0xbf, 0x98, 0xd3, 0x35, 0xbb, 0x91, 0x4a, 0x85, 0xcc, 0xa7, 0x90, 0x92, 0xc8, 0xa7, 0x46, 0x28, 0xac, 0x17, 0xe1, 0x8c, 0x90, 0xb, 0xcb, 0xcf, 0x95, 0xb4, 0xcf, 0xee, 0x1b, 0xc4, 0x87, 0xa1, 0xd6, 0x2c, 0xe3, 0xcb, 0x15, 0x3b, 0x91, 0x33, 0x66, 0x44, 0xfe, 0x9a, 0x21, 0x98, 0x64, 0xae, 0x2b, 0xf3, 0xe1, 0x68, 0x7e, 0x4f, 0xf2, 0x85, 0x36, 0x84, 0x57, 0xf4, 0x70, 0x77, 0xf5, 0xd3, 0xf0, 0x76, 0x3c, 0xba, 0xbe, 0x1a, 0x5e, 0x3c, 0x0, 0x14, 0x7e, 0x50, 0x9d, 0xf9, 0x9a, 0x3d, 0x54, 0x18, 0x96, 0xa4, 0x9a, 0xbf, 0xd7, 0x89, 0x78, 0xe8, 0xbf, 0xa6, 0x5c, 0x96, 0xb3, 0xcd, 0x3e, 0x5a, 0x9, 0x19, 0x20, 0x14, 0x93, 0xaa, 0xb1, 0x31, 0x6f, 0x4, 0x71, 0x1c, 0x92, 0x34, 0xd3, 0x70, 0xd0, 0x47, 0x6c, 0x47, 0xb2, 0xf2, 0x98, 0x65, 0x91, 0x2, 0xa9, 0xab, 0x4e, 0x21, 0x23, 0xf3, 0xc4, 0x8, 0xc1, 0x1e, 0x32, 0x6c, 0xf0, 0x3e, 0x20, 0x51, 0xa2, 0x61, 0x3e, 0xc0, 0xc6, 0xf0, 0xf, 0xd0, 0x5f, 0xef, 0xcb, 0xe6, 0x1e, 0x9a, 0xa0, 0xb2, 0xe8, 0x38, 0x34, 0x1c, 0x82, 0x67, 0x46, 0xda, 0x21, 0x1f, 0x86, 0x5a, 0xae, 0xeb, 0x6d, 0x53, 0x64, 0x13, 0xbb, 0xff, 0x59, 0x8f, 0xe6, 0x87, 0x9a, 0xb9, 0x67, 0xc1, 0xd4, 0x13, 0x29, 0x41, 0xcd, 0xaa, 0x49, 0xc3, 0xcc, 0x42, 0xce, 0x1c, 0x1d, 0x2d, 0x2c, 0xf9, 0xe6, 0xbe, 0x20, 0x95, 0x62, 0x63, 0x27, 0x38, 0xc5, 0xb3, 0x24, 0xad, 0xd, 0x10, 0x4c, 0x6d, 0x53, 0x6d, 0x73, 0x67, 0x95, 0x16, 0x61, 0xc, 0x5e, 0x7c, 0x3c, 0x13, 0x4c, 0xc9, 0xb4, 0x72, 0xb4, 0x43, 0x4c, 0xb1, 0x34, 0x85, 0xef, 0xbf, 0xd0, 0x71, 0x8, 0x33, 0xbb, 0xd0, 0xd4, 0x28, 0xd3, 0x93, 0x35, 0x4e, 0x2a, 0xc, 0x47, 0x2b, 0x11, 0xce, 0x88, 0x3, 0xbf, 0xf7, 0x7, 0x5c, 0x13, 0xcf, 0x47, 0xd0, 0x4d, 0xc4, 0x2, 0xb6, 0xfd, 0xc4, 0x54, 0x30, 0x9e, 0xe5, 0xd2, 0x9a, 0x6, 0x35, 0x6f, 0xd5, 0xfd, 0xda, 0x20, 0x3, 0xda, 0xf7, 0xdd, 0xb, 0x9c, 0x81, 0x96, 0x13, 0xdb, 0xa9, 0x2f, 0x2f, 0x8f, 0x61, 0x58, 0x7e, 0xa1, 0xe4, 0xd9, 0xf7, 0x18, 0xb7, 0x99, 0x2e, 0xf2, 0x12, 0xbc, 0x7c, 0x53, 0x9e, 0x5, 0xe1, 0x87, 0x9a, 0xbd, 0xdf, 0x8f, 0xd4, 0x4f, 0x84, 0x78, 0xa6, 0xe6, 0xe2, 0x8c, 0xfd, 0xf9, 0xd, 0x0, 0x9e, 0xff, 0xa5, 0xcf, 0x6, 0xf6, 0xbf, 0xff, 0xbd, 0x72, 0x11, 0xd5, 0x36, 0x6f, 0xe8, 0x72, 0x1, 0x2e, 0xba, 0xc2, 0x6e, 0x65, 0x3a, 0x79, 0xd3, 0x22, 0x7, 0xa4, 0x19, 0xab, 0xe1, 0x3, 0xd8, 0xb0, 0x5e, 0xea, 0x5c, 0x24, 0xd1, 0x2b, 0x97, 0x3d, 0xb8, 0xdd, 0x9b, 0x1e, 0x50, 0x6b, 0xa4, 0x6b, 0x97, 0x64, 0xe1, 0x32, 0x1c, 0x4a, 0x27, 0x84, 0xbd, 0x1f, 0x7, 0x6c, 0xdf, 0x7e, 0x29, 0xed, 0x7a, 0xd5, 0x49, 0xbe, 0x9e, 0x43, 0xa, 0xc1, 0x8b, 0xf3, 0x2f, 0x5f, 0x72, 0x93, 0x63, 0xae, 0x89, 0xcb, 0xf0, 0x73, 0xb9, 0x4e, 0x4f, 0xdc, 0x50, 0x1e, 0x43, 0x53, 0xb6, 0x4d, 0x75, 0x3, 0x7e, 0xf6, 0xe, 0xd3, 0xe7, 0x6b, 0x3b, 0x6c, 0xd, 0x13, 0xa, 0xe1, 0x42, 0xd2, 0x6, 0x82, 0xe1, 0x2c, 0xc4, 0x96, 0xfc, 0xa6, 0x4c, 0x8d, 0x3d, 0x8f, 0xd8, 0x17, 0x1f, 0x6b, 0x30, 0x82, 0x70, 0xd8, 0x90, 0xbb, 0xbb, 0xf9, 0xac, 0xf4, 0xbf, 0x53, 0x26, 0x2d, 0xe4, 0xd0, 0x1a, 0xed, 0xe6, 0x27, 0xe4, 0x36, 0x17, 0x61, 0xcb, 0x26, 0xb7, 0x77, 0xe, 0x0, 0xae, 0xf1, 0x65, 0x13, 0x6c, 0x89, 0xd5, 0xd7, 0xec, 0x67, 0xae, 0x50, 0xba, 0xbc, 0x50, 0xfe, 0xd8, 0x7b, 0xad, 0x74, 0xae, 0x95, 0x8c, 0x79, 0xa, 0x90, 0xc0, 0xe0, 0xa7, 0xa0, 0x53, 0x59, 0x88, 0x92, 0x5b, 0x8, 0x7e, 0x71, 0x71, 0x6d, 0x45, 0xa4, 0xaf, 0xcb, 0x22, 0x87, 0x73, 0x1b, 0x29, 0xb8, 0x52, 0xd6, 0x54, 0x4, 0xa8, 0x67, 0x55, 0x9c, 0x7c, 0xfb, 0x63, 0xbc, 0x90, 0xe2, 0x91, 0x2, 0x3c, 0x5, 0x4f, 0x11, 0x5c, 0xdc, 0xe4, 0x42, 0xc5, 0x6b, 0xef, 0x7c, 0xd9, 0xa4, 0x1c, 0x40, 0x98, 0x70, 0xb8, 0x59, 0xf2, 0x4d, 0x9a, 0xca, 0x26, 0x17, 0x62, 0x68, 0xa2, 0x60, 0x7d, 0xfd, 0x21, 0xb6, 0xe6, 0xf5, 0xdd, 0x64, 0x74, 0xf5, 0xc3, 0xfd, 0xf9, 0xf5, 0xd5, 0xf7, 0xa3, 0x1f, 0x28, 0x93, 0x61, 0x87, 0xed, 0xd9, 0xf2, 0x4a, 0x93, 0x2d, 0xda, 0xf2, 0x8a, 0x4f, 0xc2, 0x6f, 0xb7, 0xdf, 0xf6, 0xec, 0x67, 0x53, 0x85, 0xf, 0xa4, 0x4a, 0x80, 0x5e, 0xc0, 0x69, 0x67, 0xfb, 0x7b, 0x7, 0xe7, 0x95, 0xe1, 0xc4, 0x7a, 0x60, 0x32, 0x64, 0x2a, 0xe2, 0x73, 0x4e, 0x57, 0x14, 0x7a, 0x37, 0x53, 0xf1, 0xc8, 0x55, 0xce, 0x26, 0x76, 0x39, 0xff, 0xd8, 0xb2, 0x9c, 0x2e, 0xf0, 0xd9, 0x6d, 0xca, 0xce, 0x8, 0x2f, 0x61, 0xa3, 0x4b, 0xd4, 0x23, 0x7b, 0x16, 0x3d, 0xdc, 0x3a, 0x2, 0xce, 0xcf, 0x33, 0x61, 0x4c, 0x7f, 0xe7, 0x27, 0xfc, 0x14, 0xb7, 0x7f, 0xc0, 0xe, 0xb9, 0xac, 0xe6, 0x30, 0x5, 0x50, 0xe7, 0xda, 0x2b, 0x71, 0x1b, 0xfb, 0x7a, 0x4c, 0x41, 0xcb, 0x43, 0x4c, 0x64, 0xab, 0xfa, 0x75, 0xd5, 0xb9, 0xdd, 0xf7, 0xac, 0x89, 0xdb, 0x8c, 0x99, 0xd6, 0x5d, 0x87, 0x77, 0xed, 0xd, 0xe2, 0xe6, 0x5a, 0xd8, 0x95, 0x4e, 0x65, 0xbc, 0x7, 0x5f, 0xae, 0x6b, 0xf3, 0xc6, 0xbd, 0x57, 0xdb, 0xaa, 0xd9, 0x7, 0xf9, 0xc7, 0xf, 0x1b, 0x5e, 0xda, 0x29, 0x1a, 0x36, 0x46, 0x75, 0xc8, 0xda, 0xe4, 0x3c, 0xcb, 0xf7, 0x63, 0xd6, 0x7c, 0x7c, 0x7b, 0x25, 0x9e, 0x6a, 0xca, 0xde, 0x67, 0xba, 0x55, 0x3a, 0xf, 0x2, 0x7e, 0x8d, 0x19, 0x6b, 0x6a, 0x2, 0xf4, 0x44, 0xaa, 0x9e, 0x43, 0x77, 0xc1, 0x4c, 0x67, 0x67, 0x91, 0x3a, 0xf5, 0x26, 0xfe, 0xbd, 0x4c, 0xee, 0x33, 0x51, 0x18, 0x71, 0xf, 0xeb, 0xb6, 0xb6, 0xbf, 0xc5, 0x99, 0x56, 0xf7, 0x2e, 0xbe, 0x8e, 0x3e, 0xfd, 0x32, 0xa7, 0xc3, 0x6b, 0x94, 0xae, 0x66, 0xc9, 0xff, 0x54, 0xa5, 0x77, 0x2, 0x39, 0x4f, 0x7e, 0xc5, 0x5e, 0xa4, 0x88, 0x4f, 0x66, 0xc1, 0x1f, 0x5, 0xe5, 0x59, 0x9a, 0xdc, 0xea, 0x5, 0x7c, 0x65, 0x95, 0x3d, 0xa, 0x81, 0x20, 0x89, 0x93, 0xb2, 0x87, 0x73, 0xdf, 0x55, 0xdb, 0xc2, 0x53, 0xdf, 0x7f, 0xed, 0xa8, 0xbd, 0x97, 0xd6, 0x30, 0x26, 0x95, 0x2c, 0x63, 0x3c, 0x7f, 0x98, 0x57, 0xce, 0x3f, 0xa, 0xc5, 0x4e, 0xb6, 0x38, 0xce, 0x5d, 0xc7, 0x42, 0x1e, 0xae, 0xbf, 0xca, 0x3c, 0x17, 0x59, 0x93, 0xdb, 0x80, 0xc7, 0xf6, 0x26, 0xfd, 0xd2, 0x3, 0xc9, 0x4, 0x4f, 0x2b, 0x19, 0xb5, 0x35, 0x67, 0xba, 0x3c, 0x2d, 0xfb, 0x1, 0xe2, 0x6f, 0xd7, 0xe5, 0xd7, 0x7, 0x2d, 0x46, 0xb3, 0xb0, 0x63, 0xf0, 0xc1, 0x7b, 0xb7, 0x61, 0xcf, 0x3a, 0xf4, 0x6a, 0x7c, 0x14, 0x8e, 0x81, 0xd6, 0x48, 0xe2, 0x6c, 0x73, 0xfa, 0xaa, 0xbd, 0xec, 0x5, 0x94, 0x57, 0x8e, 0x87, 0x6f, 0x96, 0x8a, 0x38, 0x67, 0x5c, 0x45, 0xca, 0x69, 0x4d, 0xe9, 0xfa, 0xd4, 0xeb, 0x4d, 0x39, 0x7b, 0x94, 0xe2, 0xa9, 0xe9, 0x98, 0x7e, 0x3, 0x1f, 0xc8, 0x8b, 0x7d, 0x8e, 0xd8, 0xa1, 0xe9, 0x29, 0x38, 0xb8, 0x73, 0x5d, 0x34, 0x47, 0x2c, 0xf, 0xd5, 0x56, 0xaf, 0xca, 0xa8, 0x54, 0x8c, 0xce, 0x58, 0xdc, 0x85, 0x46, 0xb3, 0x19, 0x6f, 0xc, 0x1b, 0x4a, 0x63, 0x44, 0x72, 0x6e, 0xe5, 0x55, 0xb1, 0xfa, 0x20, 0x55, 0xb2, 0x2d, 0xb4, 0x8f, 0xdf, 0x3f, 0x90, 0x7d, 0x8c, 0x97, 0x9, 0x4c, 0x95, 0xb5, 0xff, 0x28, 0x57, 0xab, 0xb2, 0xda, 0xc0, 0x76, 0xb0, 0xc4, 0x30, 0x80, 0x6e, 0xb2, 0x27, 0xe8, 0x67, 0xc3, 0x88, 0xf4, 0xa3, 0xc8, 0x52, 0xbe, 0x1a, 0x63, 0x33, 0x2f, 0x3f, 0x18, 0xd7, 0x5f, 0x37, 0xe9, 0xd4, 0x6f, 0xea, 0x46, 0x6b, 0xe9, 0xf9, 0x45, 0xa6, 0x3f, 0x4f, 0x1f, 0x13, 0xfc, 0xd0, 0x66, 0x1f, 0xb1, 0x17, 0xdb, 0x68, 0xef, 0x5b, 0x1d, 0x1d, 0xcb, 0xbf, 0x3f, 0x53, 0x8e, 0x3e, 0x67, 0xdb, 0x52, 0xf5, 0x11, 0x7e, 0x1a, 0x71, 0x7c, 0xa9, 0xa7, 0xb, 0x9d, 0x52, 0x3d, 0x86, 0xdf, 0xe2, 0x48, 0x91, 0xac, 0x0, 0x5e, 0x60, 0x2a, 0x98, 0x5c, 0x2e, 0x45, 0x22, 0x79, 0x2e, 0xac, 0xe5, 0x8d, 0xb0, 0x62, 0x22, 0x61, 0x27, 0x34, 0xe0, 0x9c, 0x38, 0xa3, 0x52, 0xbe, 0x62, 0x78, 0xd9, 0xbf, 0x86, 0xf6, 0x4d, 0xd9, 0xa0, 0x63, 0xe2, 0x73, 0x5c, 0x9f, 0x7a, 0x86, 0xd4, 0xb2, 0xca, 0xe, 0x29, 0xf5, 0x5b, 0x16, 0x31, 0x8, 0xa6, 0x3c, 0xfe, 0x38, 0x93, 0x69, 0x53, 0x44, 0x9a, 0x90, 0x83, 0x9d, 0x4c, 0xfc, 0x62, 0xa9, 0x2f, 0x2d, 0x10, 0x2e, 0x3b, 0xa2, 0xb7, 0x9e, 0xa5, 0xe9, 0x94, 0xc6, 0x12, 0x84, 0x32, 0x9d, 0x58, 0x75, 0x95, 0x52, 0x6e, 0x6a, 0xfa, 0xec, 0x64, 0x2, 0x35, 0x85, 0x4b, 0x20, 0x1b, 0x9c, 0x8a, 0x48, 0x2d, 0x91, 0xc4, 0x9e, 0x2b, 0x70, 0xb5, 0x92, 0xcd, 0x5f, 0x5d, 0x8, 0x2c, 0xb0, 0x35, 0xee, 0xaf, 0xa6, 0xea, 0xbd, 0xa5, 0x6a, 0xa4, 0x7b, 0x99, 0xc0, 0xf6, 0xc0, 0x92, 0xc5, 0x8c, 0xa8, 0xac, 0x32, 0x39, 0x97, 0x8a, 0xa7, 0x41, 0xb9, 0x1a, 0x14, 0x2e, 0x25, 0x6, 0xe8, 0x22, 0x2a, 0xdd, 0x14, 0x41, 0x2f, 0x37, 0xa, 0x8e, 0x5d, 0xf8, 0x3d, 0xe9, 0x1, 0x91, 0xcf, 0x46, 0xd, 0x6f, 0x2f, 0x52, 0x3a, 0x63, 0x4f, 0x22, 0xa3, 0x7c, 0xf8, 0x1e, 0xa2, 0xc1, 0xe0, 0x10, 0x9, 0xe9, 0x41, 0x38, 0xa8, 0x68, 0x40, 0xfa, 0x21, 0x4e, 0xd9, 0xd2, 0x73, 0x8e, 0xfd, 0x6f, 0x74, 0x68, 0xc4, 0x42, 0xe5, 0xa8, 0xc8, 0x7d, 0xb1, 0x7d, 0x52, 0xab, 0x4f, 0x76, 0xdd, 0x2a, 0xef, 0x35, 0xa4, 0xff, 0xc4, 0x90, 0x2a, 0x2e, 0x80, 0x53, 0xb0, 0xe0, 0xa9, 0x93, 0xec, 0x28, 0xf2, 0x4f, 0x4a, 0xf5, 0x6d, 0xc9, 0x15, 0xd0, 0x78, 0x10, 0xf4, 0x5f, 0x93, 0x82, 0x84, 0xb5, 0xbb, 0xd8, 0x21, 0xab, 0x6d, 0x1d, 0x3f, 0x91, 0x61, 0x63, 0x6e, 0x5a, 0xcb, 0xf2, 0x76, 0xe5, 0x3a, 0x88, 0x4f, 0x38, 0xf6, 0xad, 0x8b, 0xd, 0x86, 0xff, 0xe2, 0xe5, 0x83, 0xbb, 0x54, 0x55, 0xb0, 0x37, 0xc0, 0x5a, 0xf2, 0x62, 0xc, 0x3e, 0xe, 0x58, 0x9d, 0x2a, 0xc1, 0xe4, 0xe4, 0x22, 0x4, 0x5e, 0xdc, 0xec, 0x2b, 0xfe, 0xf8, 0x62, 0xa5, 0x8e, 0x84, 0x73, 0xe2, 0xf6, 0x21, 0xa4, 0xaf, 0x7c, 0x2e, 0x30, 0x36, 0xf7, 0xd1, 0x4b, 0x69, 0xf2, 0xa1, 0xca, 0xb3, 0x83, 0xd2, 0xec, 0xdc, 0xfc, 0x3e, 0xf, 0xab, 0x6b, 0x29, 0x96, 0xba, 0xab, 0xc2, 0xfd, 0xde, 0x3e, 0x5b, 0xaf, 0xc5, 0xb, 0x9e, 0xc5, 0x8b, 0x5a, 0xbc, 0xb8, 0xd6, 0x16, 0xc7, 0x9b, 0xef, 0x35, 0x2c, 0xd5, 0xac, 0x73, 0x1f, 0xc3, 0xa9, 0xad, 0x96, 0xde, 0xed, 0x2c, 0xc9, 0xdc, 0x5a, 0x15, 0xc, 0x6f, 0xe4, 0x45, 0x46, 0x74, 0xf3, 0xf6, 0x7, 0xf7, 0x90, 0x69, 0xf4, 0x36, 0xf9, 0x2f, 0x7f, 0x9, 0xaf, 0x53, 0xbd, 0x5d, 0x6, 0xfc, 0xc3, 0xb6, 0xcd, 0xb3, 0x48, 0x8d, 0x81, 0xb8, 0x18, 0x7d, 0x19, 0xf6, 0x5a, 0x73, 0xfa, 0x5a, 0x59, 0x8f, 0x13, 0xeb, 0x15, 0x10, 0x15, 0xc0, 0xb, 0x20, 0x4e, 0xfe, 0xae, 0x95, 0xb8, 0xdf, 0xe0, 0xaa, 0x9, 0xd6, 0xc7, 0x63, 0xa5, 0xec, 0x81, 0x2c, 0xf1, 0x21, 0x7c, 0xa7, 0xa5, 0xd7, 0x28, 0xd4, 0xce, 0x22, 0x85, 0x72, 0x19, 0xe9, 0x83, 0xb4, 0x12, 0x7a, 0x86, 0x83, 0x40, 0xc6, 0xd9, 0x27, 0xc1, 0x94, 0x40, 0xd7, 0xa7, 0x50, 0xb1, 0x6, 0xb2, 0x4f, 0x70, 0x96, 0xb3, 0xff, 0x18, 0x5f, 0x5f, 0x81, 0xc0, 0x9, 0xde, 0x31, 0x2c, 0xd1, 0xea, 0x1b, 0xac, 0x8d, 0x88, 0xd4, 0x93, 0x48, 0x53, 0xbc, 0x41, 0xed, 0xb3, 0x70, 0x57, 0x73, 0xff, 0xad, 0x5a, 0xeb, 0x10, 0x6b, 0x96, 0x1a, 0xc, 0xda, 0x2e, 0xb8, 0xc7, 0x6d, 0xab, 0x94, 0xf3, 0x5c, 0x34, 0x34, 0xbd, 0xea, 0xc4, 0xfb, 0xf0, 0x5b, 0xb9, 0xf3, 0xab, 0xf3, 0x62, 0x65, 0x0, 0x3b, 0x59, 0xf2, 0xf5, 0x54, 0xb0, 0x99, 0x78, 0x12, 0x19, 0x13, 0xa, 0x92, 0xe2, 0x5e, 0x37, 0x4c, 0xd6, 0x2f, 0xee, 0x36, 0x7f, 0x9e, 0x20, 0x2, 0xbf, 0xa2, 0xdd, 0xf4, 0x8a, 0xf1, 0xe9, 0x34, 0x13, 0x8f, 0x0, 0xcf, 0xe9, 0xf8, 0xd1, 0x88, 0x5d, 0x1b, 0xce, 0xae, 0x7b, 0xb, 0x76, 0x7b, 0xe8, 0x4b, 0x40, 0xf6, 0xdc, 0x6f, 0x2, 0x59, 0x26, 0x55, 0x47, 0x59, 0x76, 0x8d, 0x1a, 0x72, 0x73, 0x2e, 0xf8, 0xee, 0xd8, 0xcd, 0xf8, 0xfc, 0xdd, 0xf0, 0xe2, 0xee, 0x72, 0x78, 0x7f, 0xfd, 0xd3, 0xf0, 0xf6, 0x72, 0x70, 0xe3, 0x92, 0xec, 0x1a, 0xe2, 0x36, 0x4d, 0x8f, 0x8f, 0x7f, 0x1c, 0xdd, 0x74, 0x79, 0xee, 0xbb, 0xbb, 0xef, 0xbf, 0x1f, 0xde, 0xde, 0x6f, 0x94, 0x4c, 0xee, 0x78, 0x7a, 0x70, 0x79, 0xd9, 0xe5, 0x69, 0xca, 0xe5, 0xbb, 0x9e, 0xbc, 0xab, 0x92, 0x5d, 0x35, 0x3d, 0x3f, 0x19, 0xde, 0xbe, 0x1f, 0x5d, 0xd, 0x26, 0xc3, 0xee, 0xaf, 0xc, 0x2e, 0x2f, 0xaf, 0x3f, 0x40, 0x7f, 0xe8, 0xd9, 0xda, 0x38, 0xd3, 0x3e, 0x73, 0xda, 0xb4, 0xb9, 0x2a, 0x4b, 0x5b, 0xb2, 0xa5, 0x3f, 0x59, 0x13, 0x68, 0x1, 0x7e, 0x62, 0x2a, 0xd8, 0xd, 0x28, 0x97, 0x9f, 0x5c, 0x3d, 0x26, 0x19, 0x3a, 0x91, 0x2, 0xe4, 0x81, 0xd2, 0x65, 0xca, 0x91, 0x46, 0x8f, 0xa7, 0x99, 0xe0, 0xc9, 0xda, 0xd3, 0xd9, 0x50, 0x80, 0xa9, 0x6d, 0x6d, 0xcf, 0x5a, 0x7f, 0xf5, 0x34, 0x79, 0xaf, 0x29, 0x19, 0x1, 0x5, 0x38, 0x52, 0xed, 0x71, 0xb5, 0xce, 0x17, 0xf6, 0x33, 0x98, 0x18, 0xd, 0x34, 0xcf, 0xbe, 0xcb, 0x2e, 0x54, 0x44, 0xbc, 0xde, 0x90, 0x2d, 0x5f, 0xaa, 0xcc, 0x95, 0x3a, 0x37, 0x30, 0xfe, 0xe4, 0xb2, 0x4, 0x0, 0x74, 0xc4, 0xcb, 0xae, 0xc, 0x6f, 0xf7, 0x9e, 0x6b, 0x1e, 0x45, 0xf9, 0xc, 0x8d, 0x0, 0xfb, 0x5e, 0xc1, 0x7b, 0xe0, 0x73, 0x2e, 0x15, 0x33, 0xda, 0xaa, 0xc8, 0x6, 0xc7, 0xe1, 0x72, 0x16, 0xac, 0x2d, 0x1b, 0xc, 0xc5, 0xde, 0x79, 0x10, 0xf1, 0x27, 0x67, 0x85, 0xfd, 0x19, 0x1b, 0x74, 0xb9, 0x8b, 0x4f, 0x1c, 0x4b, 0x23, 0x5c, 0x82, 0x11, 0xfd, 0x6a, 0x8d, 0xd4, 0x62, 0xb5, 0xd2, 0x54, 0x64, 0x80, 0xb, 0x8d, 0xeb, 0x5c, 0xe9, 0x8a, 0xd5, 0x7c, 0x70, 0xf1, 0x7a, 0xee, 0xf6, 0xc, 0x17, 0xd6, 0x21, 0xd, 0xf6, 0x88, 0xea, 0xc8, 0x67, 0x1f, 0x94, 0xe8, 0x14, 0x6e, 0x12, 0x9d, 0x4d, 0xec, 0x26, 0xb9, 0xb4, 0x5c, 0xfd, 0xc7, 0xec, 0x1d, 0x61, 0x16, 0xc2, 0x74, 0x9a, 0xe5, 0xc1, 0xe5, 0xe5, 0xce, 0x59, 0x1e, 0x5c, 0x5e, 0xd2, 0x2c, 0xd3, 0xfc, 0x14, 0x2b, 0x8, 0x8b, 0x97, 0xc9, 0xf4, 0xd0, 0x2b, 0x43, 0xa1, 0xd2, 0x48, 0xd1, 0x3c, 0x18, 0xf1, 0xb7, 0x2, 0x6b, 0xd, 0xd2, 0x75, 0xaf, 0xe2, 0xdf, 0x69, 0xe9, 0xbd, 0x5f, 0x96, 0xf6, 0xee, 0x87, 0xc2, 0xa3, 0x79, 0x0, 0xe1, 0x53, 0x3e, 0xef, 0x6, 0xa9, 0xcf, 0x3d, 0x4b, 0xbc, 0x5b, 0x52, 0xd7, 0x83, 0x48, 0xf9, 0xa5, 0xf2, 0xb4, 0x54, 0x3d, 0xe2, 0x99, 0x74, 0x7b, 0x4c, 0x89, 0x27, 0x58, 0x95, 0x72, 0x1c, 0x3a, 0x4d, 0xaa, 0xbb, 0xaa, 0x2, 0xdb, 0xda, 0x3e, 0x96, 0xd, 0xc1, 0xd6, 0x3c, 0x9c, 0x8d, 0x7, 0x9f, 0x31, 0x22, 0x84, 0x55, 0x3, 0xd4, 0xcb, 0xbc, 0x61, 0x4c, 0xc1, 0x3a, 0xb5, 0x77, 0xdb, 0xb, 0xd7, 0xe6, 0xe, 0xfb, 0x47, 0x2a, 0xa7, 0xb4, 0xba, 0x77, 0x62, 0xed, 0x8f, 0x65, 0x25, 0xa1, 0xd8, 0x7b, 0x90, 0x40, 0x99, 0x84, 0x53, 0x88, 0xfe, 0xa6, 0x1e, 0x5a, 0xbb, 0x34, 0xd3, 0xe0, 0x34, 0x42, 0x87, 0x9f, 0x37, 0x84, 0x5d, 0x9d, 0x16, 0x1c, 0x1a, 0x24, 0xb5, 0x8e, 0x14, 0x7f, 0xe4, 0x32, 0x85, 0xdc, 0x7e, 0x23, 0x55, 0x1c, 0x7a, 0x8f, 0x20, 0xd5, 0x51, 0xe7, 0xc1, 0x7e, 0x6d, 0xbc, 0xc1, 0x6f, 0x78, 0x1e, 0x2f, 0xe, 0x31, 0x45, 0xc8, 0x6b, 0x32, 0x2a, 0x27, 0xb9, 0xab, 0x8a, 0x3f, 0xd9, 0x7a, 0xd3, 0x51, 0x4f, 0xec, 0x88, 0xd0, 0xa0, 0xcf, 0xb, 0xdf, 0xc6, 0x5d, 0x4b, 0xfa, 0x78, 0xb0, 0xd0, 0xcd, 0x35, 0x5b, 0x33, 0x99, 0xa6, 0xdb, 0x1c, 0x17, 0xec, 0x73, 0x2a, 0xba, 0xdf, 0x6d, 0x74, 0xa3, 0xab, 0x53, 0xc7, 0x8d, 0x3d, 0x2b, 0xe0, 0x94, 0x0, 0xae, 0xe, 0x38, 0x12, 0x3d, 0x59, 0xe, 0xdc, 0x4f, 0x2b, 0xe0, 0xd3, 0x3a, 0x31, 0xaf, 0x29, 0x5, 0xfe, 0xa3, 0x30, 0xde, 0xa7, 0xcc, 0xd, 0x9e, 0x2c, 0xba, 0xcb, 0x22, 0xb5, 0xe2, 0xe, 0x22, 0x28, 0x3, 0x7, 0xa2, 0xb2, 0x66, 0xc, 0x4f, 0x53, 0xc6, 0xad, 0x9c, 0x8e, 0x5, 0x3a, 0xbd, 0x37, 0x1c, 0xa4, 0xe4, 0x99, 0xe, 0xf2, 0xb8, 0x89, 0x5e, 0x33, 0x52, 0x26, 0xd6, 0x25, 0xbe, 0xf0, 0xe, 0xa7, 0xf4, 0xaa, 0x8e, 0x7a, 0x62, 0x9f, 0xba, 0x3f, 0x9a, 0xf, 0x97, 0x3, 0x83, 0x1, 0x36, 0xcc, 0xc, 0x41, 0x63, 0x88, 0x41, 0x1c, 0x9b, 0xfe, 0x7d, 0x92, 0x9, 0x3b, 0x53, 0xb9, 0x7c, 0x14, 0xe9, 0x1a, 0x27, 0x7, 0x81, 0xb6, 0x5, 0xa4, 0x48, 0xa, 0x17, 0xd7, 0x23, 0xef, 0x3c, 0x66, 0x56, 0xf9, 0xc0, 0x5d, 0xd6, 0x4c, 0xbc, 0x47, 0x5f, 0x38, 0xb4, 0x16, 0x7d, 0x2b, 0xf7, 0xe2, 0x80, 0x63, 0xa9, 0x1b, 0x34, 0xf3, 0xd6, 0x7d, 0x59, 0xaf, 0xd6, 0xb7, 0xa6, 0xc4, 0xe2, 0x7e, 0xb0, 0xab, 0xef, 0xbd, 0xe5, 0x5b, 0x20, 0xa1, 0xb4, 0x5b, 0x28, 0x7, 0xcf, 0x55, 0x24, 0x94, 0x8e, 0xbf, 0x5, 0x2f, 0xe3, 0x83, 0x4b, 0x1f, 0xfe, 0xe8, 0x21, 0x98, 0x1f, 0xfc, 0xc9, 0xc1, 0x49, 0xa1, 0x8f, 0x7b, 0x95, 0xe9, 0xa4, 0x88, 0x5, 0x2b, 0x94, 0x54, 0x79, 0x21, 0x91, 0xcc, 0x15, 0x24, 0x26, 0x96, 0x48, 0x10, 0xce, 0x54, 0x8f, 0x50, 0xe, 0x72, 0x91, 0x45, 0x8a, 0x36, 0x2e, 0xed, 0x58, 0x81, 0x91, 0x1b, 0xc1, 0xb3, 0x54, 0x8a, 0x8c, 0x76, 0x75, 0x93, 0x4f, 0xf4, 0xb9, 0x1, 0xc9, 0xe6, 0xa9, 0xa2, 0x26, 0xcd, 0x99, 0x87, 0x1a, 0x9d, 0x10, 0xfe, 0x84, 0x7, 0xe5, 0x97, 0xc6, 0x8, 0xb4, 0xea, 0x50, 0xb6, 0xb9, 0x50, 0x1e, 0xa2, 0x66, 0x41, 0x10, 0xc3, 0xde, 0x17, 0x50, 0xfb, 0x68, 0x22, 0x35, 0x15, 0x56, 0xe7, 0x48, 0xf4, 0x93, 0xc2, 0x9b, 0x3d, 0xd6, 0x4b, 0x61, 0xe0, 0xf8, 0xb1, 0x62, 0xd5, 0xab, 0xc4, 0xb4, 0xcb, 0xf8, 0x80, 0x8b, 0x7e, 0x78, 0x7d, 0xd7, 0x91, 0x63, 0x9b, 0x12, 0xf8, 0x12, 0xfe, 0x6d, 0x47, 0x5e, 0x26, 0xee, 0xbb, 0xcb, 0xcd, 0x3e, 0x5b, 0x2d, 0xa8, 0x24, 0x25, 0xdc, 0xb8, 0x9e, 0xae, 0x5, 0xcf, 0xa8, 0x3f, 0x84, 0x84, 0xca, 0x20, 0x1f, 0x1f, 0xc2, 0x2f, 0x6f, 0xdf, 0x30, 0x3, 0x74, 0xd2, 0x4d, 0xce, 0x68, 0x38, 0x53, 0xd7, 0xca, 0x15, 0x4b, 0x1f, 0x82, 0x8c, 0xed, 0x70, 0x3e, 0xa1, 0xe4, 0xad, 0x54, 0xcd, 0xec, 0x1c, 0xcc, 0x10, 0x7a, 0x3a, 0xa3, 0xb0, 0x80, 0x2e, 0xec, 0xdd, 0x52, 0x64, 0x8a, 0x69, 0xc5, 0x22, 0x72, 0xa9, 0x44, 0xaf, 0xdc, 0x38, 0x39, 0xe1, 0x7e, 0xe2, 0x1e, 0xc6, 0xb2, 0x5a, 0x97, 0x62, 0x75, 0x46, 0x8, 0x9f, 0x69, 0xea, 0xf1, 0x57, 0x7d, 0x65, 0x1e, 0x54, 0xf7, 0xd9, 0x4f, 0xb1, 0xdc, 0xda, 0xdb, 0x74, 0x77, 0x71, 0x94, 0x52, 0x88, 0x48, 0x53, 0x3f, 0x9, 0x1f, 0x85, 0x58, 0x5d, 0x53, 0x54, 0xc9, 0xf9, 0xc4, 0x9a, 0x3d, 0xb9, 0x7b, 0x4f, 0x46, 0xb8, 0x31, 0xc0, 0x78, 0x23, 0x85, 0x26, 0x40, 0xdc, 0xc, 0xf3, 0x83, 0xaa, 0xfa, 0x87, 0x4b, 0x16, 0xda, 0xc8, 0x8c, 0x49, 0xc2, 0xfc, 0xa4, 0x3d, 0xbc, 0xdd, 0xe3, 0xaa, 0x53, 0xf3, 0x19, 0xe9, 0x5e, 0x9b, 0x84, 0xee, 0x5f, 0xcc, 0x91, 0x55, 0x4b, 0x2d, 0xdf, 0x3d, 0xd2, 0x49, 0x2f, 0x9d, 0x4e, 0xb9, 0xbd, 0xb6, 0x1c, 0xf0, 0x33, 0x41, 0x2a, 0xb9, 0xa4, 0x85, 0xc6, 0x10, 0x8e, 0x56, 0x63, 0x94, 0x46, 0x5f, 0xaa, 0xce, 0x16, 0x33, 0xd6, 0xb0, 0xf8, 0x15, 0xc3, 0xe4, 0x9c, 0xe5, 0x19, 0x77, 0xdc, 0x93, 0x90, 0xd1, 0x56, 0x1d, 0x95, 0x55, 0x4b, 0xb8, 0xbb, 0x63, 0xd9, 0x28, 0x8f, 0x14, 0x8f, 0x63, 0xb1, 0xca, 0xd, 0xfb, 0x87, 0x1e, 0xfb, 0x47, 0xa8, 0x5f, 0xf9, 0x5f, 0xe4, 0x9b, 0xed, 0x31, 0x23, 0x56, 0xdc, 0xc3, 0xfe, 0x3, 0xd, 0x89, 0x21, 0xcf, 0x82, 0x63, 0xe7, 0x7, 0xe9, 0xbe, 0x24, 0x7d, 0x84, 0x5b, 0x8b, 0x9d, 0xaf, 0xed, 0x27, 0x2a, 0x44, 0xff, 0x91, 0xfa, 0x7, 0x6a, 0xf2, 0xcc, 0x8f, 0x64, 0x29, 0x55, 0x91, 0x8b, 0x1e, 0x5b, 0xe8, 0x22, 0xeb, 0xb1, 0x84, 0xaf, 0xef, 0xf5, 0xec, 0x7e, 0xa9, 0x55, 0xbe, 0xe8, 0x31, 0xfa, 0xf, 0xfd, 0xf1, 0x49, 0x88, 0x8f, 0x91, 0xfa, 0xc7, 0x3, 0x5b, 0xe8, 0x81, 0x88, 0x8c, 0xd4, 0xff, 0xf2, 0xed, 0xa0, 0x48, 0xec, 0x3d, 0xb3, 0x9d, 0xd1, 0xc, 0xfe, 0xe1, 0xaa, 0x90, 0x1, 0xf2, 0xb1, 0x7, 0x20, 0x3e, 0x81, 0x64, 0xfe, 0x1d, 0xe2, 0xff, 0xc3, 0x87, 0xb6, 0x9e, 0x8c, 0x54, 0xf8, 0xe8, 0x9b, 0x7e, 0xa4, 0xc6, 0xb, 0x9d, 0x59, 0x81, 0x9d, 0x18, 0xf6, 0xef, 0xb6, 0x71, 0x6b, 0xfa, 0xfe, 0x3b, 0x74, 0x1, 0xfe, 0x65, 0x3f, 0xf, 0xff, 0x48, 0xb8, 0xb4, 0xff, 0xb5, 0xb, 0xf1, 0xef, 0xb6, 0xd7, 0x29, 0x12, 0x94, 0xf0, 0xd4, 0x68, 0xb7, 0x9c, 0xe0, 0x5a, 0xac, 0x14, 0xc2, 0xfc, 0xc3, 0xe9, 0xff, 0x42, 0x9d, 0x15, 0xc7, 0xdf, 0x8f, 0x14, 0xa2, 0x2d, 0xa1, 0x85, 0x5d, 0x2a, 0x5e, 0x4e, 0x87, 0x58, 0x65, 0x22, 0x86, 0xaa, 0xf6, 0xe9, 0x9a, 0x9d, 0xdf, 0x5e, 0x5f, 0xdd, 0x4f, 0xfe, 0xf3, 0x5f, 0xff, 0xc5, 0x85, 0x20, 0x80, 0x36, 0xe7, 0xdf, 0x0, 0xd2, 0x7c, 0xfb, 0xcf, 0x3d, 0xca, 0x91, 0x7, 0x11, 0x36, 0x17, 0xd6, 0xdc, 0x5a, 0x49, 0x12, 0x5e, 0x2e, 0x84, 0x61, 0x1f, 0x2c, 0x53, 0x6, 0xa, 0x43, 0xa5, 0x33, 0x50, 0x2b, 0x30, 0x75, 0x99, 0x92, 0xfe, 0x49, 0x57, 0xd8, 0xd9, 0x7f, 0x1d, 0xf6, 0x9a, 0x45, 0xaf, 0xfe, 0xff, 0xd1, 0x2b, 0x36, 0xd3, 0x4, 0xd2, 0xd, 0x1e, 0xb0, 0x58, 0x2f, 0xa1, 0x4c, 0xd4, 0x8e, 0xc2, 0x8a, 0x4d, 0x9e, 0x31, 0xca, 0x24, 0x10, 0x2a, 0xd9, 0x50, 0x31, 0x37, 0x73, 0xd, 0xe0, 0xa0, 0xd8, 0x53, 0xc3, 0xd, 0xfd, 0x15, 0x55, 0xa2, 0xc, 0x2c, 0x1e, 0x42, 0xb1, 0x23, 0xd9, 0x0, 0x9, 0x9d, 0x33, 0x3b, 0x1, 0x39, 0x4, 0x53, 0xad, 0x4e, 0x10, 0x6c, 0x1d, 0x58, 0x9c, 0x60, 0xdb, 0xd8, 0x33, 0x11, 0xbd, 0xd2, 0x59, 0xf4, 0x2a, 0x5c, 0x97, 0xe8, 0x15, 0x57, 0x49, 0xf4, 0xa, 0xbd, 0x3e, 0x53, 0x9d, 0x2f, 0x22, 0x65, 0x17, 0x92, 0xc0, 0xc7, 0xed, 0x84, 0x4, 0xe0, 0x79, 0xfd, 0x48, 0xfd, 0x3b, 0x16, 0x19, 0xfc, 0x8b, 0xc3, 0x44, 0xf8, 0xb7, 0x3f, 0x7f, 0xfb, 0x2f, 0xab, 0x5, 0x37, 0xe2, 0xdf, 0xfe, 0x2, 0xc6, 0xbb, 0x5b, 0x7a, 0xfb, 0x71, 0x0, 0xc8, 0xb6, 0x8a, 0xb, 0xd0, 0x9a, 0x49, 0xac, 0x47, 0x88, 0x94, 0x83, 0x8a, 0xb0, 0x7, 0xd3, 0x75, 0xa5, 0x1f, 0xb4, 0x8, 0xef, 0x52, 0xa3, 0x21, 0xec, 0x1b, 0x4b, 0x44, 0x2c, 0x97, 0x84, 0xc7, 0x30, 0xb7, 0x7a, 0x1e, 0xa5, 0x3a, 0x14, 0x4a, 0xe6, 0xcc, 0x14, 0xb3, 0x99, 0xfc, 0xc4, 0x4c, 0x8f, 0x2d, 0x7b, 0x6c, 0x1, 0x52, 0xa4, 0x11, 0x37, 0xf7, 0xb, 0xdf, 0x18, 0x9f, 0xff, 0x9e, 0x90, 0x3b, 0xd0, 0x39, 0x5e, 0x7a, 0xc4, 0xe1, 0x92, 0x77, 0x37, 0x80, 0xe9, 0xa5, 0x67, 0x8d, 0x98, 0xe0, 0x39, 0xbf, 0xb4, 0x72, 0xf0, 0xac, 0xa5, 0x1e, 0xa8, 0x75, 0xa9, 0x86, 0x19, 0x4c, 0xea, 0x46, 0x6e, 0x19, 0x8, 0xc5, 0xd2, 0xd0, 0xee, 0x7f, 0x57, 0xba, 0x55, 0x31, 0x15, 0x10, 0x0, 0xf6, 0xab, 0x85, 0x96, 0xee, 0xd9, 0x52, 0x5d, 0xba, 0x77, 0xbb, 0xbf, 0x7d, 0xe2, 0xb6, 0xb5, 0x9a, 0x5f, 0xb0, 0x7e, 0x55, 0x3b, 0x10, 0x50, 0x6e, 0x8f, 0x9e, 0xdd, 0x12, 0xa6, 0x37, 0x63, 0x3c, 0xd8, 0x59, 0x51, 0x84, 0x5c, 0x59, 0x59, 0xba, 0xa9, 0x98, 0x59, 0xe3, 0x2d, 0x78, 0x70, 0x7b, 0xc9, 0x4e, 0x26, 0x7a, 0xe, 0xf5, 0x3d, 0xbd, 0xf0, 0x39, 0x2b, 0x3, 0x85, 0x4a, 0xf0, 0x7f, 0x80, 0x69, 0x3, 0xe8, 0x78, 0x0, 0x31, 0xf3, 0x51, 0x94, 0x90, 0x34, 0xd, 0x60, 0x2c, 0x42, 0xbd, 0x78, 0xb9, 0xde, 0x68, 0x56, 0x76, 0xb0, 0x61, 0xf8, 0x68, 0x38, 0xf9, 0xa7, 0x36, 0xc7, 0x5e, 0xdf, 0x75, 0xcc, 0xaf, 0x7f, 0x56, 0xd0, 0x7c, 0x90, 0xa6, 0xe1, 0xe7, 0xdd, 0xf7, 0xc2, 0x32, 0x39, 0xb8, 0xa1, 0x33, 0xae, 0x12, 0xbd, 0x24, 0x3b, 0x16, 0x4c, 0xdd, 0x37, 0x68, 0xd7, 0x0, 0x97, 0xda, 0x52, 0x17, 0x88, 0x9b, 0x88, 0x3d, 0xf1, 0xf0, 0x40, 0x67, 0xec, 0x4d, 0x7d, 0x8f, 0x9d, 0xa2, 0xd0, 0x81, 0xd9, 0x7d, 0x67, 0x52, 0x3f, 0xe8, 0x30, 0xe, 0xcd, 0xc8, 0xaa, 0xb7, 0xe0, 0x9e, 0x8b, 0xb7, 0x85, 0x3f, 0x51, 0x1, 0x82, 0x1a, 0x58, 0x28, 0x98, 0xfd, 0x50, 0x99, 0xbb, 0x9b, 0x9c, 0xf7, 0xd9, 0x7, 0x1, 0x58, 0xe2, 0x56, 0x1d, 0x49, 0x58, 0x1, 0xe9, 0xcc, 0x77, 0x93, 0x73, 0xf0, 0x4a, 0xac, 0x75, 0x91, 0x85, 0xe8, 0xad, 0x4c, 0xce, 0x22, 0xc5, 0xf1, 0x6b, 0xae, 0x58, 0xbd, 0x7, 0x21, 0x91, 0x47, 0x2d, 0x13, 0xf6, 0xc8, 0x33, 0x0, 0x90, 0x32, 0x45, 0xb6, 0xca, 0x24, 0xb4, 0x54, 0x5a, 0x66, 0x4e, 0x16, 0x43, 0xe7, 0xb1, 0x82, 0xcc, 0x8f, 0xc5, 0x38, 0x82, 0x86, 0x55, 0xa6, 0x1f, 0x25, 0x29, 0x73, 0x56, 0xa1, 0xea, 0xb1, 0x92, 0x18, 0x93, 0x2a, 0x2e, 0x80, 0x69, 0xd0, 0x65, 0xe1, 0x8e, 0x6, 0x57, 0x3, 0x72, 0x51, 0xc0, 0x9c, 0x24, 0x3c, 0xe7, 0x76, 0xf4, 0x8, 0xf9, 0xb0, 0xc8, 0xf3, 0x95, 0x39, 0xfb, 0xf6, 0xdb, 0xa7, 0xa7, 0xa7, 0xbe, 0xe4, 0x8a, 0xf7, 0x75, 0x36, 0xff, 0xd6, 0x3e, 0x7c, 0xa, 0x1f, 0xc5, 0xec, 0x5a, 0x56, 0xa, 0x92, 0x92, 0xd5, 0x2a, 0xd5, 0x3c, 0x29, 0xb3, 0x32, 0x37, 0x5d, 0x31, 0xde, 0xef, 0x21, 0xd4, 0xa3, 0xcc, 0xb4, 0x2, 0x45, 0x4e, 0xe6, 0xe8, 0x84, 0x2d, 0x27, 0x7c, 0x6b, 0xf6, 0x32, 0xf1, 0xb7, 0x42, 0x66, 0x76, 0xb4, 0xe8, 0xac, 0x81, 0x0, 0x2a, 0x38, 0xa0, 0x3c, 0x74, 0x12, 0xd, 0x23, 0xe8, 0x52, 0x61, 0x44, 0x2, 0xa, 0xbb, 0x9d, 0xa2, 0x15, 0x37, 0x86, 0xf8, 0x5c, 0x28, 0x8, 0x13, 0x3c, 0xeb, 0x19, 0x45, 0x74, 0xb6, 0x44, 0x30, 0x90, 0xc9, 0x7f, 0xca, 0x19, 0x9b, 0xc9, 0x54, 0x44, 0xca, 0xf7, 0x79, 0x7b, 0xb2, 0x40, 0xf9, 0x27, 0xcd, 0xb5, 0xe7, 0x1c, 0x3c, 0x1, 0xf2, 0x7a, 0xa9, 0x8, 0x46, 0xca, 0x4e, 0xc, 0xdd, 0x32, 0x10, 0x41, 0xad, 0x9d, 0x8b, 0x3e, 0xfb, 0x59, 0x17, 0x2e, 0x3, 0x16, 0x42, 0x17, 0x2b, 0xad, 0x10, 0xd9, 0x0, 0x34, 0x51, 0xc8, 0xd3, 0x83, 0xe5, 0xc, 0x33, 0x85, 0xca, 0x98, 0x62, 0x30, 0x24, 0x57, 0x8b, 0x6c, 0xa7, 0xd4, 0x49, 0x76, 0xd8, 0xd9, 0xe5, 0x85, 0x27, 0xd, 0xc3, 0xd, 0xaf, 0x15, 0x4b, 0x65, 0xe, 0x78, 0xf2, 0xfe, 0x47, 0x52, 0xa4, 0xe3, 0x54, 0xc7, 0x1f, 0xc9, 0xbd, 0xd, 0xfa, 0xa0, 0xd2, 0x5e, 0x8b, 0x6, 0x58, 0x24, 0x7a, 0xf6, 0x62, 0x3c, 0x39, 0x63, 0x12, 0x96, 0x8e, 0x3d, 0x65, 0x32, 0xb7, 0xa, 0x65, 0x5c, 0xf9, 0x2c, 0xa8, 0xdb, 0x33, 0xbb, 0x8a, 0x70, 0x12, 0x7e, 0x7f, 0xf6, 0x87, 0x37, 0x7c, 0x89, 0x8e, 0x63, 0x84, 0x2c, 0x26, 0x9b, 0x80, 0xce, 0x28, 0x3c, 0xad, 0x31, 0x79, 0xf8, 0x62, 0x3c, 0x21, 0x3c, 0x8c, 0xd0, 0xf1, 0xe6, 0x72, 0xc3, 0xcb, 0x7c, 0x70, 0x4d, 0xb3, 0xc0, 0xd7, 0xf8, 0xf4, 0x2, 0xb8, 0x86, 0xe8, 0x53, 0x7d, 0x36, 0x96, 0x4b, 0x99, 0xa2, 0xd1, 0x55, 0x3a, 0x3, 0x11, 0x6f, 0xa, 0xfa, 0x65, 0xed, 0x88, 0xb7, 0xd8, 0x2d, 0xb7, 0x8c, 0x65, 0xdb, 0xf9, 0x93, 0x8c, 0x45, 0xed, 0x17, 0xf2, 0x27, 0xd, 0xaf, 0xe1, 0x5c, 0xf, 0xac, 0x81, 0xa3, 0xbc, 0xd5, 0xa1, 0x74, 0x19, 0x2e, 0xb0, 0xcb, 0xa, 0xae, 0x59, 0x3b, 0xdf, 0x82, 0xaf, 0x4e, 0xc9, 0x67, 0xc7, 0x4e, 0x44, 0x7f, 0xde, 0x67, 0xbf, 0xff, 0xc3, 0xd9, 0x3f, 0xfc, 0xd3, 0xd9, 0x3f, 0xbe, 0xb1, 0x42, 0xa4, 0x29, 0x6f, 0xd6, 0xad, 0xfb, 0x5, 0xdf, 0x66, 0x5, 0xef, 0x76, 0xfb, 0x4c, 0xd7, 0xb5, 0x85, 0x83, 0xbb, 0x52, 0x18, 0xd0, 0x9a, 0x30, 0xd5, 0xf3, 0xe3, 0x9f, 0x24, 0x56, 0x2d, 0x4c, 0x94, 0xe1, 0x53, 0xa3, 0xd3, 0x22, 0x17, 0xc1, 0x5d, 0x11, 0xa9, 0x13, 0x4f, 0xe2, 0x23, 0x15, 0xec, 0x51, 0xf1, 0x9a, 0x56, 0xd4, 0xaf, 0x4, 0xd9, 0x22, 0x3a, 0x8e, 0xed, 0xe9, 0xcf, 0x51, 0xc6, 0x2c, 0x5, 0x57, 0xb4, 0xc5, 0x78, 0xa4, 0x2a, 0xbd, 0x49, 0xc4, 0x4a, 0xd8, 0xd9, 0x23, 0xa, 0x4, 0xe0, 0xd8, 0xb3, 0xa2, 0x1, 0x21, 0x48, 0x0, 0xe3, 0xda, 0xa, 0x8, 0x3a, 0x8, 0x3d, 0x57, 0x27, 0xe8, 0x8c, 0x41, 0xb0, 0xce, 0xdd, 0x69, 0x81, 0xfe, 0x97, 0xbb, 0xcf, 0xda, 0x96, 0x14, 0x8, 0x41, 0x21, 0x63, 0x7f, 0x39, 0x59, 0x6a, 0x8c, 0x2c, 0x2e, 0xed, 0x17, 0x7b, 0x78, 0xea, 0x12, 0xbe, 0x4e, 0xe5, 0x7c, 0x91, 0x47, 0xca, 0xf0, 0x47, 0x77, 0x32, 0x7d, 0x68, 0x87, 0x5c, 0xed, 0x80, 0xc0, 0xa3, 0xec, 0x6, 0xe0, 0x56, 0x74, 0x6a, 0x62, 0x80, 0xb0, 0x9f, 0xd4, 0x39, 0x18, 0xba, 0x46, 0xa4, 0xb3, 0x53, 0x22, 0xf1, 0x13, 0x49, 0x75, 0xa0, 0x40, 0xd4, 0x3, 0x37, 0x8b, 0xce, 0x1c, 0x46, 0x65, 0x55, 0x0, 0xc0, 0xc6, 0xfb, 0x1e, 0x7e, 0x5d, 0x15, 0x79, 0xf, 0xe, 0xa1, 0x1d, 0x2, 0x5d, 0xa, 0x9e, 0x5d, 0x11, 0xa4, 0xa7, 0x9e, 0x9d, 0xb1, 0x1a, 0x7d, 0xb5, 0xe7, 0x8f, 0x6b, 0x2f, 0x52, 0x81, 0xd7, 0xa9, 0xe7, 0x95, 0x21, 0xf4, 0x47, 0xb4, 0xa8, 0xbc, 0xe4, 0x13, 0x4e, 0x1d, 0x76, 0x24, 0x1e, 0x23, 0x38, 0xa3, 0x18, 0x33, 0xa, 0x3d, 0x9b, 0x78, 0xc4, 0x72, 0x50, 0xbd, 0x70, 0xfd, 0xc9, 0x46, 0x2f, 0x94, 0x5b, 0x10, 0xdf, 0x90, 0x24, 0x8f, 0x72, 0x2f, 0x52, 0x4b, 0xa9, 0xa, 0xc, 0x38, 0xc0, 0xed, 0x7, 0x8b, 0xe9, 0x90, 0xde, 0x1a, 0x3b, 0xf6, 0x1a, 0x26, 0xe8, 0x5a, 0xb9, 0xf9, 0xf1, 0x82, 0x9, 0xdc, 0xe9, 0x81, 0x87, 0x8d, 0x52, 0x16, 0xcb, 0xa4, 0x94, 0xc0, 0xb8, 0x8e, 0x54, 0x4d, 0xcb, 0xec, 0x84, 0x48, 0x92, 0xa6, 0xa5, 0xd2, 0x88, 0xce, 0xe0, 0xd0, 0xbb, 0xf1, 0xba, 0xc7, 0x8c, 0x26, 0xe9, 0x68, 0x8d, 0x8, 0xe4, 0x68, 0xaa, 0x64, 0xf3, 0xac, 0x75, 0xf1, 0x4d, 0x9a, 0x2, 0x7e, 0x36, 0xec, 0xe7, 0xda, 0xe9, 0x2d, 0x57, 0x42, 0xe4, 0xb1, 0xbb, 0x2c, 0x91, 0xcd, 0xce, 0xc9, 0x3a, 0x2f, 0xbf, 0xa9, 0x18, 0xcb, 0xe7, 0x20, 0x84, 0x91, 0x6, 0x4c, 0x25, 0xa9, 0x38, 0x9a, 0xcb, 0x1b, 0xdc, 0x14, 0x60, 0x3f, 0x80, 0x72, 0x52, 0xe4, 0x7a, 0xc9, 0x73, 0x19, 0x23, 0x57, 0x8c, 0x5d, 0x97, 0x13, 0x6c, 0xd1, 0xd8, 0xa3, 0xc5, 0x53, 0xbb, 0xfd, 0xcd, 0x36, 0xad, 0x48, 0xb5, 0x4a, 0xf9, 0x0, 0x37, 0xf4, 0xde, 0x9, 0x9e, 0x5b, 0x36, 0x2e, 0xa, 0x3e, 0xab, 0xd3, 0x2f, 0x8a, 0x25, 0x57, 0xa7, 0x99, 0xe0, 0x9, 0xc4, 0xf9, 0x1d, 0x50, 0x3, 0x5c, 0x6a, 0x20, 0x36, 0x3e, 0x41, 0x61, 0x3, 0x7c, 0xb2, 0xc7, 0x40, 0x22, 0x23, 0xdc, 0x23, 0x37, 0x56, 0x9b, 0x8, 0x62, 0x6c, 0xd2, 0x50, 0x44, 0x14, 0x45, 0x94, 0x59, 0x9b, 0x5c, 0x2c, 0x41, 0xcb, 0xb0, 0xc2, 0x2, 0x6f, 0xbf, 0xa, 0x18, 0x84, 0xbd, 0x8e, 0x45, 0x66, 0xcf, 0x36, 0x90, 0xc8, 0xa1, 0xf3, 0xd6, 0x7d, 0x4, 0xc4, 0x8, 0xb4, 0x77, 0xaa, 0xd5, 0xa9, 0xcb, 0x4e, 0xa0, 0xb4, 0xb0, 0xb6, 0x70, 0xce, 0x71, 0x22, 0x17, 0x89, 0x46, 0xca, 0x31, 0xb4, 0x81, 0xd6, 0xfe, 0xb6, 0xf2, 0x9a, 0x41, 0xe5, 0xd0, 0xda, 0xad, 0xd6, 0x44, 0x3f, 0x89, 0x90, 0x96, 0x3b, 0xf2, 0x5e, 0x3b, 0xf6, 0x8d, 0x1a, 0xbb, 0xf7, 0xb5, 0x63, 0xc6, 0x75, 0x57, 0x90, 0xb1, 0x51, 0xc2, 0xb3, 0xf9, 0x87, 0xc8, 0x1e, 0xe2, 0xf1, 0x22, 0x52, 0xf8, 0x37, 0x94, 0x48, 0x9b, 0x43, 0x4, 0x31, 0xb8, 0x59, 0xcb, 0x1, 0xb1, 0xfc, 0xad, 0x36, 0x1, 0xe, 0xcd, 0x8a, 0xcf, 0x3e, 0xa3, 0x81, 0xc1, 0x3a, 0xfb, 0xca, 0x20, 0xbc, 0xcf, 0xa7, 0x6b, 0x26, 0x3e, 0x59, 0x6d, 0xd5, 0xaa, 0xb2, 0x4, 0x7, 0x7c, 0x22, 0xfb, 0xa2, 0xef, 0xf4, 0x87, 0x48, 0x85, 0x9, 0x4e, 0xc0, 0xb8, 0x86, 0xc1, 0xfc, 0xd7, 0x7d, 0x36, 0xde, 0x28, 0x34, 0x3c, 0xa9, 0x56, 0x1a, 0xba, 0x82, 0x36, 0x1a, 0x85, 0xdd, 0x40, 0xd6, 0x7e, 0x82, 0xfc, 0x35, 0x13, 0xcc, 0x82, 0x7b, 0xbf, 0xef, 0x84, 0x42, 0x18, 0x11, 0xb6, 0x82, 0x41, 0x43, 0x8d, 0xd3, 0xc6, 0xd3, 0x35, 0x92, 0xc0, 0x49, 0xbf, 0x48, 0x3d, 0x5b, 0x12, 0x6c, 0x6e, 0xd, 0xff, 0xd9, 0x1d, 0x9b, 0xa3, 0x4b, 0xcd, 0xe1, 0xee, 0x10, 0x58, 0x73, 0x7d, 0xc4, 0x33, 0x60, 0x95, 0x13, 0xf1, 0x49, 0x24, 0xdf, 0xc3, 0xb5, 0xd0, 0xd4, 0xeb, 0x3a, 0x3e, 0x55, 0x9e, 0xb8, 0x8, 0xcd, 0x4d, 0x7d, 0xd3, 0xac, 0xcd, 0x27, 0x43, 0xc0, 0xf5, 0xcf, 0x4c, 0x69, 0x1e, 0xd8, 0xdb, 0x36, 0x3b, 0x85, 0x26, 0xcb, 0xf4, 0xe5, 0xdf, 0xd1, 0x58, 0x7e, 0xe7, 0x2e, 0x39, 0x8f, 0xb6, 0x65, 0x45, 0xc9, 0xb7, 0xe2, 0x13, 0x26, 0x2a, 0x82, 0x34, 0x4a, 0x11, 0xde, 0xf1, 0x5b, 0x2c, 0x35, 0xa9, 0x94, 0x7, 0x12, 0x12, 0x72, 0x0, 0x85, 0x8d, 0xc9, 0x51, 0x99, 0xe4, 0xa9, 0xfc, 0x3b, 0xe6, 0x3b, 0xf3, 0x6a, 0x7, 0x9e, 0x78, 0xd, 0x5c, 0x8, 0xd8, 0x83, 0x47, 0xe2, 0x8, 0x8, 0xa1, 0x71, 0xbb, 0x67, 0xec, 0x37, 0x6e, 0x9f, 0xfc, 0x7c, 0x13, 0xaa, 0xf3, 0x18, 0x38, 0xe9, 0x5b, 0xf8, 0x9f, 0xa3, 0x3d, 0x2a, 0x6d, 0x36, 0xde, 0xaa, 0xbf, 0x13, 0x8, 0xec, 0xf2, 0x28, 0x5f, 0xd8, 0x75, 0xa9, 0x3a, 0xf3, 0xb0, 0x4, 0x98, 0x2b, 0x59, 0x4, 0x9d, 0xa6, 0x41, 0xde, 0x39, 0x2a, 0xdf, 0x84, 0x5a, 0x6f, 0x60, 0xb9, 0x25, 0xc2, 0xf9, 0x6e, 0x90, 0xbc, 0x7f, 0x8e, 0xed, 0xb2, 0x15, 0xab, 0xd3, 0xa7, 0xc7, 0xd3, 0x55, 0x26, 0x4e, 0x33, 0x91, 0xa, 0x6e, 0xc4, 0x5f, 0xd8, 0x4d, 0xf9, 0x3f, 0x61, 0x2f, 0x6, 0x37, 0x23, 0xd3, 0x63, 0xf0, 0x12, 0x2b, 0x56, 0x98, 0xb1, 0xb2, 0xbd, 0xf9, 0xf2, 0x4d, 0xc8, 0xc6, 0xf3, 0xa, 0x5c, 0xda, 0x51, 0xd6, 0x5b, 0xab, 0x59, 0x2a, 0xe3, 0x7c, 0xa2, 0x3f, 0x8a, 0xbd, 0xb0, 0xfd, 0x36, 0x4c, 0xb5, 0x56, 0x97, 0x56, 0x5, 0x7f, 0xdb, 0x97, 0x1c, 0x18, 0xed, 0xb1, 0x11, 0x5d, 0x72, 0x59, 0x19, 0x52, 0xa3, 0x1c, 0xb5, 0x5c, 0xc3, 0x54, 0x61, 0xbd, 0x2, 0x59, 0xec, 0x94, 0x7b, 0x40, 0x54, 0x99, 0x1, 0x22, 0xab, 0x4f, 0x4, 0x13, 0xca, 0x14, 0x59, 0x18, 0x4f, 0xb3, 0x3f, 0x44, 0x2a, 0x91, 0x9, 0x88, 0x1, 0x32, 0x99, 0x3c, 0xb6, 0x95, 0xed, 0xde, 0xe0, 0x66, 0x64, 0xf5, 0xed, 0x94, 0xf2, 0x45, 0xb0, 0x54, 0x4, 0x3f, 0xd8, 0xa4, 0xdc, 0xd0, 0x46, 0x7e, 0x1, 0x5c, 0x44, 0xd7, 0xf4, 0x1e, 0xc0, 0x88, 0xdb, 0xc7, 0xea, 0x33, 0xa0, 0x83, 0x5a, 0x11, 0xeb, 0x10, 0xd7, 0xf6, 0x3e, 0x57, 0x61, 0x98, 0xc2, 0x8a, 0xe3, 0x19, 0x7f, 0xd4, 0x90, 0x4c, 0x2b, 0x13, 0xb1, 0x5c, 0x69, 0xc4, 0x1f, 0xa3, 0xf3, 0x3b, 0xb8, 0x19, 0xd1, 0xd4, 0x38, 0xab, 0x64, 0xb3, 0xbb, 0xf, 0x76, 0xdd, 0xe7, 0x2e, 0xb5, 0xef, 0x7c, 0x3, 0xd7, 0xf, 0x4a, 0x85, 0xa8, 0x43, 0x76, 0x95, 0x7d, 0x77, 0xa0, 0xe1, 0xef, 0x70, 0xbb, 0x39, 0x9c, 0x87, 0x7, 0x77, 0x26, 0xee, 0x73, 0x7b, 0x28, 0x1e, 0xd8, 0x5c, 0xe7, 0xde, 0xd, 0x16, 0xa9, 0x96, 0x2e, 0xc0, 0x6, 0x22, 0x17, 0x32, 0xec, 0x28, 0x67, 0xe1, 0xfa, 0xd, 0x49, 0xd9, 0xcd, 0x8a, 0x5c, 0xbb, 0x33, 0x81, 0x91, 0x6e, 0x34, 0xc0, 0xad, 0x9, 0xea, 0xb6, 0xa4, 0x0, 0x7f, 0x8d, 0x6d, 0xb0, 0x13, 0x4e, 0xc8, 0xb6, 0xa8, 0x78, 0xcf, 0x15, 0x9f, 0x8b, 0xec, 0xab, 0x8c, 0xf8, 0x25, 0xc8, 0x8, 0x5a, 0x8c, 0x11, 0x50, 0xe9, 0xe6, 0x8d, 0xd4, 0xd5, 0x5d, 0x8, 0x82, 0x5d, 0x7f, 0x1f, 0x96, 0xd8, 0xe6, 0xbd, 0xa4, 0x46, 0x1f, 0x1c, 0x44, 0xd, 0xf7, 0x11, 0x27, 0x4c, 0xc5, 0x84, 0x91, 0xbc, 0xe8, 0x71, 0xa3, 0xae, 0x30, 0xd7, 0x95, 0xff, 0x62, 0x47, 0xed, 0xb6, 0x82, 0x98, 0xf9, 0xf5, 0xc4, 0xfd, 0x12, 0x4e, 0xdc, 0xd7, 0x5b, 0xb9, 0x7a, 0x2b, 0x3b, 0x80, 0xd4, 0x2f, 0x79, 0x2b, 0xdf, 0x6e, 0x82, 0xb4, 0xfe, 0x56, 0x6e, 0xe5, 0x9a, 0x15, 0x7f, 0x79, 0x68, 0xea, 0xc9, 0xa2, 0x15, 0x22, 0xf7, 0xeb, 0x42, 0x7f, 0xce, 0x3b, 0xe1, 0x51, 0x64, 0xd5, 0x7b, 0x7d, 0x9f, 0x72, 0xe8, 0xe1, 0x4f, 0xc3, 0xdb, 0xd1, 0xa4, 0xb9, 0xfe, 0xd9, 0xfd, 0xfe, 0x6e, 0xf4, 0xc3, 0xbb, 0xda, 0x1f, 0xde, 0xf, 0x2f, 0x46, 0x77, 0xef, 0x6b, 0x7f, 0xba, 0xbc, 0xfe, 0xd0, 0x5e, 0x37, 0x5c, 0xf7, 0xf1, 0xcd, 0xe1, 0x55, 0x38, 0xcd, 0xb7, 0xe0, 0x9c, 0x90, 0xa4, 0xed, 0x7c, 0xa3, 0x1c, 0x66, 0x9f, 0x9, 0x0, 0xfa, 0xd5, 0xfb, 0xe1, 0x9f, 0x88, 0x44, 0xc5, 0x73, 0x59, 0xe, 0xff, 0x34, 0x3c, 0xbf, 0x9b, 0x8c, 0xae, 0xaf, 0x80, 0xfa, 0x65, 0x78, 0x71, 0x7f, 0x3e, 0xb8, 0x1b, 0x37, 0xe2, 0xfb, 0xee, 0xdb, 0x4c, 0xdb, 0x83, 0x57, 0xd7, 0x93, 0xfb, 0xef, 0xaf, 0xef, 0xae, 0xe, 0xfa, 0xc0, 0xd5, 0xe0, 0xfd, 0x70, 0x7c, 0x33, 0x38, 0x1f, 0x1e, 0xa7, 0x39, 0x7a, 0xfe, 0xfc, 0xfa, 0xee, 0x6a, 0x72, 0x7f, 0x39, 0x7a, 0x3f, 0x9a, 0xdc, 0xf, 0xff, 0x74, 0x3e, 0x1c, 0x5e, 0xec, 0x80, 0x20, 0x3e, 0xc6, 0xf4, 0x96, 0x9e, 0x8e, 0x53, 0x76, 0xc4, 0x7e, 0x3b, 0xca, 0x5d, 0x86, 0xde, 0x62, 0x70, 0xa7, 0x43, 0xdc, 0x22, 0xa8, 0xfc, 0xa4, 0xe2, 0x16, 0xc8, 0xa5, 0x48, 0x29, 0x3, 0x1c, 0xd3, 0x34, 0x92, 0xb5, 0xe2, 0x4b, 0x19, 0xdb, 0x1f, 0x67, 0x72, 0xce, 0xa2, 0x57, 0xb, 0x69, 0x72, 0x9d, 0xad, 0xfb, 0xc4, 0xc5, 0x45, 0x74, 0xbe, 0x37, 0x22, 0xf3, 0x7b, 0x35, 0x7a, 0xf5, 0xac, 0xcd, 0xd, 0xac, 0xdf, 0xc7, 0xf1, 0xd5, 0xc6, 0x75, 0x65, 0x63, 0x8d, 0x59, 0x6f, 0xdd, 0x4f, 0x5e, 0xed, 0x6d, 0xe4, 0x61, 0x58, 0x42, 0xe6, 0x4c, 0x18, 0xcc, 0x4e, 0x68, 0xa0, 0x56, 0xef, 0x76, 0x7d, 0xe2, 0x95, 0xbd, 0x91, 0x1e, 0x2a, 0x44, 0xb4, 0x25, 0x82, 0xf3, 0x3, 0x15, 0xd6, 0x63, 0x46, 0x36, 0x81, 0xca, 0x2c, 0x97, 0x76, 0x6d, 0x41, 0x3d, 0x11, 0x2b, 0x8d, 0x28, 0x99, 0x32, 0x5f, 0x34, 0xa0, 0xa8, 0xf0, 0xa5, 0x80, 0xd4, 0xff, 0x3, 0x74, 0xba, 0x2b, 0xd7, 0x86, 0xbb, 0xd9, 0x4a, 0x1c, 0x3, 0xe8, 0xd7, 0xc, 0x26, 0x14, 0xb5, 0x53, 0x98, 0xfa, 0x7e, 0xa4, 0xc6, 0x17, 0x3f, 0x62, 0x9c, 0xfe, 0x6e, 0xc4, 0x72, 0xad, 0xd3, 0xa, 0xc3, 0xf5, 0x83, 0xef, 0x95, 0x33, 0xbf, 0xa6, 0x45, 0xee, 0x2b, 0xba, 0xa, 0x93, 0x6f, 0x3c, 0x75, 0x2f, 0x93, 0x7, 0x88, 0x9c, 0x36, 0xa8, 0xf, 0xfe, 0xc1, 0xe7, 0x41, 0x37, 0x3d, 0x6d, 0x41, 0xed, 0x3d, 0x1b, 0xce, 0xb5, 0xb6, 0x7d, 0xe4, 0xc2, 0x3b, 0xce, 0x1e, 0xaa, 0xfd, 0x0, 0x9d, 0xf3, 0xcf, 0x86, 0xba, 0xd5, 0x7e, 0xbe, 0x46, 0x95, 0xe1, 0x1e, 0xe7, 0xfc, 0x7f, 0x3d, 0x92, 0x3b, 0x8e, 0x64, 0xae, 0x4f, 0xa7, 0xe2, 0x14, 0x8f, 0x5f, 0x58, 0x59, 0xf6, 0xf5, 0x28, 0x56, 0x13, 0x9b, 0x61, 0x82, 0xf6, 0x4d, 0x36, 0xf5, 0x1b, 0xc3, 0x8e, 0xee, 0x5b, 0x60, 0x38, 0x74, 0xa5, 0x28, 0x78, 0x11, 0xe7, 0x1a, 0x92, 0xdf, 0x5c, 0xaa, 0xa1, 0xa0, 0xa3, 0xe1, 0x57, 0xa1, 0x49, 0x2e, 0xac, 0x8a, 0xce, 0xd0, 0xd1, 0x9e, 0xef, 0xba, 0xbe, 0x67, 0xe3, 0x32, 0x48, 0xc7, 0xb3, 0x79, 0xb1, 0x84, 0x3c, 0xa9, 0x5c, 0xfb, 0x2c, 0x21, 0x57, 0x7a, 0x88, 0xfd, 0x45, 0xce, 0xc3, 0xec, 0xf3, 0x4a, 0x93, 0xf0, 0x13, 0xb, 0x99, 0x26, 0x6e, 0xc9, 0xae, 0xd5, 0x36, 0x14, 0x42, 0x6b, 0x46, 0x81, 0x1f, 0xf4, 0x7, 0xa2, 0x73, 0xe2, 0x60, 0xb2, 0xad, 0x44, 0x4c, 0xac, 0xd, 0x58, 0xac, 0xe, 0x5c, 0xbd, 0x90, 0x59, 0xe0, 0xea, 0x77, 0x4b, 0xe, 0xf7, 0x85, 0xc0, 0xa2, 0x2b, 0xa, 0xe8, 0x53, 0x12, 0xad, 0x43, 0xfd, 0x30, 0x91, 0xe2, 0xc, 0xfa, 0xd8, 0x70, 0xe3, 0x49, 0x63, 0xa, 0xcf, 0x18, 0xba, 0x1, 0x4d, 0x10, 0x8e, 0x73, 0x21, 0x78, 0xb2, 0x9d, 0x8f, 0xdd, 0xb4, 0xc4, 0xef, 0xf0, 0xe9, 0x8e, 0xf2, 0xf7, 0x83, 0xcc, 0x17, 0xe3, 0x10, 0xf4, 0xfb, 0xb3, 0x73, 0xc6, 0xef, 0xb4, 0xb3, 0x1, 0xd1, 0x75, 0x6b, 0xa, 0xbd, 0x77, 0xc5, 0x21, 0xda, 0x9c, 0x32, 0x9d, 0xb1, 0xbf, 0x5a, 0x59, 0x83, 0xdb, 0x13, 0x32, 0x7b, 0x81, 0x52, 0xdf, 0x3e, 0xb5, 0x89, 0x81, 0xd4, 0x2, 0x7f, 0x7e, 0xa4, 0xac, 0x19, 0x5e, 0x65, 0x4a, 0xc, 0xba, 0xda, 0xf4, 0x71, 0xe8, 0xf6, 0xa5, 0x54, 0x1f, 0xbb, 0x2e, 0x35, 0x3c, 0xdb, 0xd6, 0x19, 0xfb, 0x0, 0x31, 0x4f, 0x71, 0x63, 0x74, 0x8c, 0x68, 0x65, 0x4, 0x88, 0x82, 0xe, 0xc3, 0x2a, 0x64, 0x3b, 0xcd, 0x1c, 0xde, 0x4e, 0xfd, 0x48, 0xd, 0x92, 0xa4, 0x4c, 0xf1, 0xa1, 0x5c, 0x63, 0x41, 0x12, 0x1, 0x9, 0x4e, 0x3c, 0xf0, 0x44, 0x2a, 0xd5, 0x47, 0xfb, 0x86, 0x87, 0x49, 0x1, 0xbf, 0xc1, 0x66, 0x7a, 0xf7, 0xdb, 0xfe, 0x1f, 0xde, 0xc2, 0x35, 0x52, 0xac, 0x3a, 0xeb, 0x8, 0x2f, 0xb2, 0x35, 0xd3, 0xaf, 0xf3, 0x1c, 0xcc, 0xb3, 0xdd, 0x98, 0x8e, 0xfc, 0xfd, 0x17, 0x29, 0x1, 0x46, 0x17, 0x4e, 0x2, 0x10, 0x87, 0xee, 0xba, 0x41, 0x2, 0x60, 0x1a, 0xe9, 0xa3, 0xe4, 0x6c, 0x70, 0x3e, 0x19, 0xfd, 0x34, 0x9a, 0xfc, 0x7c, 0x3f, 0xba, 0x0, 0x86, 0x9b, 0xcb, 0xd1, 0xf9, 0xc4, 0x43, 0xb3, 0x81, 0xf, 0x62, 0x34, 0x9e, 0x8c, 0xae, 0x7e, 0x68, 0x65, 0x68, 0x38, 0xaa, 0x30, 0xf0, 0x5d, 0xdf, 0x2d, 0xc, 0x5e, 0x64, 0x7b, 0x86, 0x94, 0x8, 0xae, 0x2f, 0x5d, 0x77, 0xc7, 0x77, 0x3c, 0x8f, 0x17, 0xd7, 0xce, 0x85, 0xd9, 0x61, 0x6b, 0xd4, 0x35, 0x72, 0x1e, 0xde, 0xd8, 0x47, 0x74, 0x62, 0x4d, 0x6, 0xb7, 0x93, 0xfb, 0xf3, 0x77, 0xa3, 0xcb, 0x8b, 0x67, 0x3b, 0xb0, 0xf6, 0x68, 0xc2, 0xff, 0x3e, 0xb8, 0xbc, 0x1d, 0xe, 0x2e, 0x7e, 0xc6, 0x9d, 0x34, 0x7e, 0x6e, 0x73, 0x75, 0xae, 0xaa, 0x56, 0x9f, 0xd2, 0x33, 0x47, 0xbb, 0xef, 0x82, 0x1c, 0xd1, 0xf0, 0x7a, 0x11, 0x63, 0x5, 0x55, 0xab, 0x5f, 0xb9, 0x89, 0x72, 0xd8, 0xdb, 0xcf, 0x86, 0xf8, 0xad, 0xd7, 0xa7, 0xf7, 0x72, 0x8f, 0x75, 0x3b, 0xcf, 0x5f, 0xca, 0x36, 0x38, 0xa6, 0xb7, 0xa4, 0xde, 0x6c, 0x18, 0x79, 0x9d, 0xf4, 0x61, 0xc7, 0x89, 0x1c, 0x5d, 0x8d, 0x26, 0xa3, 0x41, 0xbd, 0xd5, 0x8f, 0x7f, 0x28, 0xb, 0xf1, 0xac, 0xb5, 0xf1, 0x1b, 0xf5, 0x27, 0xb6, 0xdd, 0x2e, 0xf5, 0x1b, 0xe9, 0x25, 0x7c, 0x40, 0x5f, 0x45, 0x51, 0xd3, 0xc6, 0xfa, 0x25, 0x89, 0xa2, 0x9c, 0x9b, 0x8f, 0xc0, 0x91, 0xd8, 0x19, 0xdd, 0xd0, 0xbf, 0x70, 0x44, 0x27, 0x49, 0xeb, 0x80, 0xfd, 0x2e, 0x9d, 0xc8, 0xa5, 0xd0, 0xdb, 0xad, 0xef, 0xa3, 0xe4, 0xea, 0x3c, 0x70, 0xf3, 0x4, 0x6c, 0x26, 0x39, 0x36, 0x1d, 0x70, 0x9f, 0x39, 0x84, 0x2b, 0x17, 0x98, 0x91, 0xaa, 0xb0, 0x36, 0x87, 0x55, 0x2f, 0x1b, 0x76, 0x87, 0x6b, 0xf6, 0xb6, 0x38, 0x46, 0x4f, 0xa9, 0x43, 0x58, 0xcc, 0x27, 0xd5, 0x3c, 0x15, 0x15, 0x7c, 0xaf, 0x1d, 0x7d, 0xb0, 0xab, 0xf4, 0xc2, 0x9d, 0xb0, 0x3b, 0xa7, 0xb1, 0x24, 0x26, 0x13, 0x2a, 0x3f, 0x4f, 0xb5, 0x11, 0xfb, 0x1, 0xf5, 0xdd, 0x6c, 0xbd, 0xd8, 0x7e, 0x37, 0x51, 0xb1, 0xfa, 0xcd, 0xe0, 0x76, 0x78, 0x35, 0xb9, 0x3f, 0xbf, 0xbc, 0x1e, 0xf, 0xb7, 0x20, 0x58, 0x9b, 0x7c, 0x5a, 0x2f, 0x7f, 0x35, 0xfe, 0xea, 0x2f, 0x92, 0x5a, 0xd9, 0x75, 0x2b, 0x8a, 0x7d, 0x97, 0xf5, 0x43, 0xed, 0xcb, 0x9d, 0x96, 0xd6, 0xf, 0x68, 0x74, 0x71, 0x7f, 0x3b, 0xbc, 0x2b, 0xd7, 0x17, 0x11, 0x6b, 0x2f, 0xee, 0x6e, 0x2e, 0x47, 0xe7, 0xcd, 0xab, 0xc, 0x48, 0x76, 0xfb, 0x75, 0xf6, 0x36, 0x78, 0xa5, 0x7e, 0xe7, 0x64, 0x5a, 0xd5, 0x50, 0xac, 0xee, 0x5c, 0xc6, 0x10, 0x4f, 0x83, 0x92, 0x16, 0xed, 0x65, 0x6, 0xf5, 0xf6, 0x1a, 0xaa, 0xe1, 0x1, 0x3f, 0xac, 0xe4, 0x61, 0xcc, 0xb1, 0xfc, 0x87, 0x80, 0x95, 0x16, 0x22, 0x6b, 0x90, 0xb9, 0x7, 0xba, 0x2d, 0x83, 0x96, 0x7e, 0x1d, 0xac, 0x28, 0xb, 0x91, 0xc9, 0xfc, 0xbb, 0x42, 0xa6, 0xc9, 0xe1, 0x88, 0x81, 0x25, 0xaf, 0x45, 0xaf, 0x46, 0xc1, 0x60, 0xf4, 0x31, 0xac, 0x72, 0x85, 0x4f, 0x6, 0xe, 0x12, 0x14, 0x73, 0x7d, 0x76, 0x9d, 0x2f, 0x44, 0xf6, 0x24, 0x8d, 0x20, 0x40, 0x4a, 0x63, 0xe4, 0x1c, 0x20, 0x4, 0x22, 0x95, 0x15, 0x29, 0x81, 0x46, 0xb8, 0xb6, 0xbf, 0x31, 0x1, 0x31, 0x71, 0x15, 0xa2, 0x0, 0xb0, 0x30, 0xb0, 0x92, 0x1a, 0x79, 0x84, 0xb1, 0x25, 0xc6, 0xcb, 0x2f, 0xdb, 0x47, 0xf2, 0xd, 0xf0, 0x9b, 0x6b, 0x95, 0xae, 0x3, 0xcc, 0x76, 0xa8, 0x70, 0xa6, 0xa4, 0x24, 0xc8, 0x4f, 0x7a, 0xd3, 0xff, 0x7d, 0x63, 0x1e, 0x97, 0xd4, 0x59, 0x4d, 0xaa, 0x6e, 0xa3, 0x78, 0x76, 0xcf, 0xd7, 0xef, 0x6b, 0xf7, 0x33, 0x5b, 0x8a, 0x9c, 0x37, 0xd3, 0xa6, 0xd8, 0xbb, 0x16, 0xa, 0xed, 0x3c, 0xb9, 0x71, 0x67, 0xdd, 0x63, 0xfb, 0xcd, 0x5d, 0x2e, 0xad, 0x90, 0x1f, 0x5a, 0x2e, 0xc5, 0xa9, 0xa1, 0xd7, 0x29, 0x9f, 0xa2, 0x40, 0x2f, 0x8b, 0x83, 0xf9, 0xdd, 0xd4, 0x2f, 0xdb, 0x4c, 0x9e, 0x94, 0x8a, 0x5, 0x2f, 0xa8, 0x8d, 0x43, 0x20, 0x54, 0x2b, 0xbe, 0xc7, 0xc4, 0x75, 0xca, 0xd1, 0x1e, 0x92, 0x43, 0xa9, 0xb9, 0x6f, 0x6d, 0xa, 0xff, 0x95, 0xf8, 0x54, 0x18, 0xef, 0x4e, 0xfa, 0x85, 0xbb, 0x1c, 0x7d, 0xe6, 0xde, 0x4e, 0x9f, 0xe3, 0xd5, 0xf0, 0x4f, 0x77, 0xe3, 0xfb, 0xeb, 0x9b, 0xe1, 0xed, 0x0, 0x4d, 0xbf, 0x5f, 0x8a, 0xeb, 0xb1, 0x1c, 0x42, 0x83, 0xef, 0xb1, 0x6d, 0xb1, 0x7e, 0x1b, 0xb1, 0xa1, 0x72, 0x95, 0xca, 0x8b, 0xff, 0x9c, 0xf2, 0x1d, 0x9, 0x2d, 0xf8, 0xcb, 0xac, 0xcd, 0x3e, 0x31, 0xa2, 0x17, 0xa7, 0xe4, 0x75, 0xe5, 0x3b, 0xa5, 0x11, 0x82, 0xdf, 0xdc, 0x9c, 0xe4, 0x3e, 0x9b, 0xac, 0x57, 0x32, 0x86, 0xd4, 0x74, 0x2c, 0xde, 0x35, 0xac, 0xc6, 0xf7, 0x31, 0x9e, 0xc, 0x26, 0x77, 0xe3, 0xfb, 0xdb, 0xbb, 0xab, 0xab, 0xd1, 0xd5, 0xf, 0x91, 0x2a, 0x14, 0x40, 0x12, 0x73, 0x96, 0x88, 0xd3, 0xa4, 0x58, 0x9, 0xc4, 0xf2, 0x30, 0x88, 0x5b, 0xe1, 0x11, 0xe6, 0x98, 0x89, 0x85, 0xe2, 0x99, 0xd4, 0x86, 0x82, 0xcc, 0x49, 0x9, 0x91, 0x2c, 0x18, 0xe, 0x47, 0xbc, 0x2f, 0xd2, 0x5c, 0x7a, 0x11, 0xc2, 0x4e, 0x32, 0x31, 0x13, 0x19, 0x5e, 0x45, 0x86, 0x25, 0x3a, 0x6e, 0xac, 0x35, 0x16, 0x7c, 0x2e, 0xb2, 0xf, 0x81, 0x16, 0xdc, 0xf9, 0xa2, 0xd1, 0x69, 0x1a, 0xbe, 0x7, 0x97, 0xa5, 0x3f, 0xb, 0x6d, 0xb3, 0xa, 0x54, 0x28, 0xf, 0x14, 0xe5, 0xbd, 0x87, 0xe, 0xdc, 0xfb, 0x19, 0x7e, 0xa0, 0xab, 0xde, 0xc5, 0x7f, 0x1e, 0x9a, 0xe, 0x1d, 0xbc, 0xfd, 0x40, 0x40, 0x9d, 0xe8, 0x2e, 0x38, 0x65, 0x72, 0xc6, 0x80, 0x43, 0x84, 0x36, 0x3a, 0xe2, 0x69, 0x60, 0x49, 0x41, 0xc0, 0x1, 0x52, 0xb1, 0x8f, 0x28, 0x54, 0x5, 0xdd, 0x48, 0xd7, 0xb4, 0xd4, 0x0, 0x85, 0x36, 0x59, 0x60, 0x96, 0xb0, 0x0, 0x50, 0xd3, 0x30, 0x1a, 0x4e, 0xe4, 0xe5, 0x4f, 0x58, 0x63, 0x50, 0x92, 0x21, 0x60, 0x8c, 0x2a, 0x46, 0x9c, 0x69, 0xd1, 0x66, 0x7e, 0xbd, 0x58, 0x48, 0xa3, 0x34, 0x9c, 0x21, 0x9a, 0xd6, 0x45, 0xa8, 0xe9, 0xd5, 0xe1, 0xf1, 0xc, 0x9d, 0xf1, 0xb9, 0xb8, 0xc8, 0xe4, 0xa3, 0xc8, 0xe, 0x2d, 0x4f, 0xce, 0x6b, 0x9c, 0x27, 0x7b, 0x8a, 0xc2, 0x30, 0x9f, 0x24, 0x81, 0x4e, 0xf5, 0x1c, 0x26, 0x56, 0x37, 0x39, 0x5f, 0x8b, 0xf1, 0x77, 0xc0, 0x98, 0x10, 0xb9, 0xe8, 0x4b, 0x61, 0x16, 0xde, 0x72, 0x35, 0x6f, 0xa1, 0xef, 0xf4, 0xca, 0xe1, 0x7b, 0x0, 0x86, 0xf1, 0x28, 0x4b, 0x6f, 0x4e, 0xff, 0xe1, 0x9f, 0x1a, 0x0, 0xfd, 0x10, 0x22, 0xf8, 0xd7, 0x31, 0x1e, 0xec, 0x6b, 0xfb, 0x78, 0x16, 0xba, 0xf8, 0x62, 0x88, 0x92, 0xfb, 0x8d, 0xc6, 0xf6, 0x14, 0xc6, 0xf2, 0xfb, 0x3f, 0x34, 0x8c, 0x25, 0xe1, 0xeb, 0xeb, 0xd9, 0x7b, 0xad, 0xf2, 0xc5, 0xaf, 0x63, 0x44, 0x9, 0x5f, 0xfb, 0xb, 0x15, 0xa1, 0x82, 0x4f, 0xde, 0x9e, 0xfe, 0xe1, 0x6d, 0xd3, 0xce, 0xfb, 0xf5, 0xc, 0xc, 0xba, 0x6a, 0xec, 0x68, 0xde, 0xfe, 0xbe, 0x61, 0x34, 0x6b, 0xf1, 0xe5, 0x90, 0x4c, 0x77, 0xc, 0x66, 0x93, 0xd7, 0x18, 0x86, 0x64, 0xfb, 0xdb, 0x54, 0x71, 0x4, 0xfb, 0xee, 0x83, 0x10, 0x5b, 0xf7, 0xda, 0x2f, 0x79, 0x40, 0xe1, 0xe6, 0x3, 0x58, 0xea, 0x93, 0x37, 0xa7, 0xff, 0xf8, 0xcf, 0xec, 0x8d, 0xbd, 0xf1, 0xc7, 0x85, 0x4a, 0xf8, 0xba, 0x49, 0x71, 0x22, 0x5c, 0xed, 0x3, 0x6e, 0xaa, 0xef, 0x33, 0x21, 0x4e, 0x1, 0x43, 0xd1, 0x61, 0x74, 0xe3, 0x3, 0x53, 0x57, 0x81, 0x24, 0x1, 0x9c, 0x8d, 0xe0, 0xbd, 0x90, 0x5c, 0x7c, 0x3, 0x4f, 0xe8, 0xbf, 0x6d, 0xf4, 0x6b, 0xb, 0x8e, 0xae, 0xf6, 0x26, 0x73, 0xdf, 0x41, 0x96, 0xf, 0x74, 0x3b, 0x56, 0x31, 0xf1, 0x33, 0x91, 0x22, 0xa, 0x14, 0x6a, 0x15, 0x91, 0xa, 0x41, 0xb5, 0x18, 0x47, 0xe4, 0x47, 0xa2, 0x6e, 0x14, 0xdc, 0xac, 0xed, 0x73, 0x56, 0xf3, 0xc0, 0x34, 0x9f, 0x55, 0xa6, 0xe7, 0x19, 0x5f, 0x2, 0x0, 0x8e, 0xd5, 0x89, 0xfb, 0x6c, 0xc8, 0xe3, 0x5, 0x85, 0x77, 0x62, 0xae, 0x0, 0xe2, 0x2c, 0xa4, 0x13, 0xc9, 0x1c, 0xf6, 0xe2, 0x20, 0x20, 0x7c, 0x0, 0x68, 0x2e, 0x1, 0x38, 0x43, 0x3c, 0x67, 0xa9, 0xe0, 0xc4, 0xde, 0x96, 0x21, 0xce, 0xdc, 0xc, 0x90, 0x8b, 0xa8, 0x51, 0xf7, 0x2c, 0xf6, 0xb5, 0x82, 0xe4, 0x49, 0xf0, 0x2d, 0x2e, 0xa9, 0xd7, 0x35, 0xef, 0xf1, 0xed, 0x0, 0x7e, 0x54, 0xf0, 0xc, 0xe1, 0x18, 0x9, 0xc1, 0x7e, 0x29, 0xa1, 0xe, 0xac, 0x47, 0x95, 0xa5, 0x48, 0xb8, 0xc5, 0xd3, 0x14, 0xf, 0x0, 0x7e, 0xae, 0xcf, 0xbe, 0xd7, 0x19, 0xfc, 0x91, 0x3e, 0x31, 0x15, 0x6, 0xe8, 0x5d, 0x88, 0x7a, 0x24, 0xec, 0x33, 0x6c, 0xcd, 0x48, 0x41, 0x3c, 0x6b, 0xea, 0xd1, 0xdb, 0xed, 0xac, 0x21, 0x18, 0x9b, 0xe7, 0x9, 0x8c, 0xd4, 0xad, 0x9b, 0x7a, 0xf1, 0xc9, 0x3e, 0x66, 0x0, 0xe4, 0xc8, 0x14, 0xf6, 0x21, 0xc3, 0xa2, 0x57, 0xc0, 0xc9, 0x95, 0xf0, 0x75, 0x45, 0x62, 0x46, 0xaf, 0xec, 0x54, 0x46, 0xaf, 0xf2, 0x85, 0xcc, 0x12, 0xf6, 0x5e, 0xdb, 0x7d, 0x1b, 0xbd, 0xf2, 0x5c, 0x5c, 0xb1, 0xa3, 0xaf, 0xb7, 0xba, 0x30, 0x7d, 0xdb, 0xea, 0xab, 0xff, 0x4c, 0xea, 0x2d, 0x71, 0x84, 0x8, 0x55, 0x2c, 0xad, 0xa, 0x88, 0x2e, 0x8e, 0x58, 0xab, 0x38, 0x3, 0xdc, 0x42, 0x7b, 0x44, 0x20, 0xbd, 0x93, 0x54, 0xa8, 0x6d, 0x74, 0x9a, 0x62, 0x3e, 0x17, 0x26, 0x3f, 0xa7, 0x10, 0xcc, 0xc0, 0x5c, 0x89, 0xa7, 0x5b, 0xc0, 0x1, 0x7b, 0x66, 0xa, 0xcb, 0xdd, 0xf, 0x3f, 0xc, 0xc7, 0x93, 0xfb, 0xf3, 0xeb, 0xab, 0xc9, 0xe8, 0xea, 0x6e, 0x78, 0x3f, 0x18, 0xdf, 0x5f, 0xd, 0x3f, 0xdc, 0xdf, 0xe, 0x7, 0xe3, 0xeb, 0xab, 0xc6, 0xac, 0x95, 0xf6, 0xb7, 0xde, 0x8d, 0xc6, 0x93, 0xeb, 0xdb, 0x9f, 0xef, 0xc7, 0xa3, 0xff, 0x1c, 0xde, 0x4f, 0xae, 0xaf, 0xef, 0x2f, 0x7, 0xb7, 0x3f, 0xc, 0xf7, 0x68, 0xc0, 0xbe, 0xf3, 0x7e, 0x70, 0xf5, 0xb3, 0x6f, 0x69, 0xf8, 0xd3, 0xf0, 0x6a, 0x23, 0xd3, 0xa5, 0x63, 0xb, 0x77, 0x37, 0x17, 0x83, 0xc9, 0x70, 0xdc, 0x9e, 0xd9, 0xb2, 0xff, 0x24, 0x6c, 0x9d, 0xfe, 0xc6, 0x75, 0xf1, 0xb4, 0x5d, 0x86, 0x3d, 0x2d, 0xd6, 0xac, 0xee, 0x41, 0x87, 0x21, 0xe6, 0x19, 0x32, 0x9f, 0x33, 0xbd, 0x67, 0xde, 0xbd, 0xc0, 0xde, 0x61, 0x4d, 0x14, 0x33, 0xf2, 0xef, 0x50, 0xfb, 0x38, 0x17, 0x39, 0x25, 0x9, 0x6b, 0x96, 0xf2, 0xc, 0x90, 0x1, 0x76, 0x7f, 0xa6, 0x61, 0x11, 0x6a, 0xbe, 0xe3, 0x92, 0x9, 0xa, 0x95, 0x1f, 0xe1, 0x73, 0xb4, 0x62, 0xe5, 0x77, 0xbe, 0x31, 0xd4, 0x36, 0xb0, 0xee, 0x51, 0xe0, 0x88, 0xad, 0xd2, 0xc2, 0x30, 0xa9, 0x4e, 0x67, 0x0, 0x72, 0x49, 0x24, 0xf2, 0x8, 0xc7, 0xe6, 0xbf, 0xbb, 0x79, 0x7a, 0xac, 0xf1, 0x3c, 0x4a, 0xbe, 0x4b, 0x75, 0xfc, 0xf1, 0x20, 0x13, 0xc3, 0xda, 0xc9, 0x2f, 0x50, 0x9, 0x23, 0x54, 0x8b, 0xb, 0xff, 0x28, 0x8, 0x64, 0x93, 0x9a, 0xf8, 0xf6, 0xb3, 0x52, 0x19, 0x9e, 0x13, 0xb2, 0xff, 0x28, 0xb7, 0xed, 0xb2, 0x9d, 0x71, 0xf5, 0x1f, 0xed, 0x4b, 0x9d, 0x62, 0x63, 0x10, 0xe3, 0xfb, 0xe3, 0xdd, 0xf0, 0x6e, 0x78, 0xff, 0xe3, 0xe8, 0xea, 0xe2, 0xfe, 0xea, 0xfa, 0xf6, 0xfd, 0xe0, 0xb2, 0x29, 0x77, 0xc1, 0xce, 0xdc, 0xde, 0xa5, 0x14, 0x5b, 0xfe, 0xb4, 0x19, 0xb3, 0x83, 0x62, 0xff, 0xfa, 0xaf, 0x5b, 0x5f, 0x1f, 0x4f, 0x46, 0xe7, 0x3f, 0xfe, 0xec, 0x41, 0xec, 0xa4, 0x63, 0x9d, 0x23, 0x24, 0x55, 0xf4, 0x5a, 0x0, 0xbf, 0x88, 0x9e, 0xd9, 0xab, 0xcf, 0x5e, 0x1f, 0xb6, 0x4b, 0xe8, 0x28, 0xf9, 0x1b, 0x84, 0x43, 0x2, 0xd8, 0x4, 0x19, 0x7f, 0x5c, 0x3b, 0x27, 0x48, 0xc9, 0xca, 0xca, 0xba, 0x62, 0x55, 0x8d, 0x3, 0xe4, 0xec, 0x44, 0xc7, 0xa6, 0x9f, 0x53, 0xde, 0x6e, 0x5f, 0x6a, 0xf8, 0xc3, 0xb7, 0xf6, 0xe, 0x12, 0xab, 0xdc, 0x7c, 0x6b, 0xbf, 0x7f, 0xa, 0xdf, 0x37, 0xdf, 0xd6, 0x9d, 0x1f, 0x58, 0x95, 0xad, 0x40, 0xc5, 0xde, 0x9b, 0x8, 0xbe, 0x70, 0xcb, 0x73, 0x71, 0x29, 0x97, 0xb2, 0x73, 0x8a, 0x84, 0x7f, 0xa1, 0x43, 0xbc, 0xe3, 0xe, 0x5d, 0x7e, 0x4b, 0x9d, 0x0, 0x69, 0x62, 0xc9, 0xda, 0x9e, 0x7b, 0x64, 0x4c, 0xf, 0x4, 0x7, 0x57, 0x31, 0x94, 0xa2, 0x36, 0xec, 0x97, 0x19, 0x97, 0x99, 0x12, 0xc6, 0xfc, 0x28, 0xd6, 0xc6, 0x77, 0xe2, 0xc2, 0x5f, 0x21, 0x47, 0xef, 0xbc, 0xe3, 0x3c, 0x4, 0xc5, 0x4b, 0xaa, 0x44, 0x3e, 0xca, 0xa4, 0xe0, 0x29, 0x73, 0xfd, 0x60, 0x1f, 0xc5, 0xda, 0x87, 0xcb, 0x8, 0x92, 0xd2, 0xd7, 0xc1, 0xdb, 0xd1, 0xf4, 0x98, 0x89, 0x79, 0x5a, 0xe2, 0x9d, 0x3f, 0x9, 0x10, 0x93, 0xa4, 0xca, 0x84, 0xcd, 0xec, 0x18, 0xf1, 0x7, 0x78, 0xf1, 0xda, 0x31, 0xea, 0x35, 0x1d, 0x97, 0xe7, 0x43, 0xd, 0xb6, 0x80, 0x23, 0xd4, 0xc0, 0x23, 0x74, 0xb5, 0x39, 0xdc, 0x4, 0x56, 0xa9, 0x0, 0xfd, 0xb8, 0x71, 0x3a, 0x4c, 0x19, 0xe9, 0xaa, 0x2a, 0xb2, 0xc1, 0xf4, 0x74, 0x1, 0x3, 0xa8, 0x4a, 0xab, 0x67, 0x29, 0x62, 0x9b, 0xf2, 0xa3, 0x41, 0xf3, 0xaa, 0x17, 0x72, 0x6d, 0x4f, 0xa0, 0x20, 0x6a, 0x7b, 0xe2, 0xc3, 0xf5, 0xed, 0x8f, 0xc3, 0xdb, 0xfb, 0xf3, 0xeb, 0xf7, 0xef, 0x7, 0x57, 0x17, 0xed, 0xaa, 0x52, 0x97, 0x6e, 0x6e, 0x2e, 0x5, 0x3b, 0xdd, 0x92, 0x8e, 0xc1, 0x6b, 0x67, 0x10, 0x0, 0x26, 0xf6, 0x7a, 0xa0, 0xd8, 0x5, 0x96, 0xba, 0xd0, 0x6d, 0x4c, 0x44, 0x2, 0x85, 0xf2, 0xc, 0xa8, 0x48, 0x35, 0x50, 0x4a, 0x4a, 0x90, 0xc2, 0xd2, 0xf8, 0xc0, 0x71, 0x22, 0x81, 0x99, 0x5a, 0x41, 0x1a, 0x1f, 0x7b, 0x5a, 0x0, 0xcd, 0x46, 0xc8, 0x9, 0x18, 0x48, 0x59, 0x6b, 0xeb, 0xa1, 0x7c, 0xb5, 0x8a, 0xbd, 0x42, 0x31, 0x8c, 0xac, 0xd9, 0xf8, 0x18, 0x21, 0x49, 0x6e, 0xbc, 0xdd, 0x63, 0x9b, 0xdf, 0x87, 0xe3, 0x68, 0xf4, 0x52, 0x20, 0xc0, 0xf1, 0x54, 0xb0, 0x48, 0x55, 0xfb, 0x5c, 0x33, 0x13, 0xb8, 0x80, 0xd5, 0x49, 0x70, 0x57, 0x41, 0x5d, 0x6f, 0x79, 0xfa, 0x64, 0x8d, 0x4, 0x7, 0xb6, 0xed, 0x21, 0xcf, 0xfd, 0xb3, 0x54, 0x10, 0xf, 0x13, 0x44, 0x8e, 0x71, 0x7a, 0xb5, 0xe4, 0x8f, 0x25, 0x99, 0x50, 0x18, 0xbc, 0x4d, 0xa8, 0x4d, 0xbe, 0x7d, 0x5, 0x1, 0x8c, 0x70, 0x26, 0x1c, 0x2c, 0x10, 0xb7, 0xf6, 0x98, 0x5a, 0x23, 0xb1, 0x3a, 0xd4, 0xae, 0x19, 0x6b, 0xe0, 0x4a, 0x17, 0x67, 0xf7, 0x69, 0x51, 0x35, 0xd, 0x1, 0x45, 0xc7, 0x42, 0x1b, 0xc1, 0xdc, 0xcb, 0x40, 0x7e, 0x20, 0x81, 0xbb, 0x12, 0x9e, 0xc4, 0xe1, 0x93, 0x1d, 0x88, 0x6f, 0xd5, 0x4e, 0x19, 0xee, 0xe8, 0x33, 0x36, 0x70, 0xeb, 0x86, 0xc3, 0x3, 0x70, 0x6a, 0x9a, 0x17, 0x48, 0x4c, 0x73, 0x53, 0x41, 0xc4, 0xc9, 0x48, 0x13, 0xba, 0x19, 0x93, 0xf0, 0x4, 0x89, 0x50, 0x52, 0x17, 0xa9, 0x95, 0xc8, 0x4e, 0xb1, 0x83, 0xb0, 0xc7, 0xc6, 0xc1, 0x17, 0xb0, 0x54, 0xf, 0x1, 0xd2, 0x13, 0x87, 0x44, 0x0, 0x81, 0xa8, 0xe9, 0x1a, 0x5, 0x35, 0x5d, 0xd0, 0x49, 0x91, 0x91, 0x5f, 0x41, 0x3a, 0xca, 0xf5, 0x62, 0x5, 0x53, 0xb9, 0xc6, 0x5e, 0x8a, 0x4f, 0xd2, 0xe4, 0x91, 0x72, 0xc2, 0x27, 0x95, 0x33, 0xd8, 0x33, 0x61, 0xac, 0x4b, 0x64, 0x2e, 0xbe, 0xd1, 0xa7, 0xbd, 0x1, 0xde, 0x0, 0x1a, 0x71, 0xb8, 0x21, 0x32, 0x1a, 0x7a, 0x18, 0x1b, 0x41, 0x8d, 0x82, 0xda, 0x81, 0xf9, 0x74, 0xdd, 0xe, 0xd4, 0x9, 0x37, 0xc5, 0x75, 0xa3, 0x84, 0x16, 0x6d, 0xff, 0x2a, 0x93, 0x65, 0xdc, 0x7e, 0x40, 0x73, 0x77, 0xbb, 0x37, 0x4, 0x28, 0x8f, 0x35, 0x1e, 0xd2, 0x91, 0xa1, 0xef, 0x10, 0x38, 0x76, 0x25, 0xb1, 0xab, 0xa7, 0x94, 0x86, 0x65, 0x36, 0xce, 0x27, 0x1c, 0x6b, 0xdb, 0x32, 0x46, 0x9f, 0x4e, 0x73, 0x4d, 0x6b, 0x4, 0xee, 0x9c, 0x42, 0x39, 0x5f, 0xa, 0xb2, 0x15, 0xb8, 0x12, 0x93, 0x48, 0x85, 0x5c, 0xe6, 0x44, 0xd, 0x62, 0x44, 0x38, 0x4c, 0xb1, 0x5a, 0x88, 0x25, 0x80, 0x4, 0xdb, 0x5d, 0x50, 0xae, 0xfd, 0xa9, 0x8b, 0x2d, 0xfd, 0xbf, 0xff, 0xf7, 0xff, 0x83, 0x9b, 0x3, 0x96, 0xcc, 0x4f, 0xb, 0xce, 0xef, 0xae, 0x75, 0xbb, 0x33, 0xae, 0x1a, 0x2b, 0x98, 0x81, 0xc9, 0xcf, 0x37, 0xc3, 0x7b, 0x88, 0xd7, 0xe3, 0x37, 0x11, 0xe1, 0xe2, 0x51, 0xf2, 0x48, 0xdd, 0xe8, 0x34, 0x85, 0x4, 0x5, 0x7f, 0x9f, 0xd4, 0x5a, 0x30, 0x14, 0xfe, 0xe3, 0xf1, 0x82, 0x4f, 0x65, 0xda, 0x80, 0x41, 0xd3, 0x39, 0x4, 0xd4, 0x94, 0xf1, 0xda, 0x45, 0xa3, 0xcf, 0xea, 0x3b, 0xc1, 0x9e, 0xe7, 0x8a, 0x6c, 0xb3, 0x5, 0x2a, 0xc3, 0xed, 0xaa, 0x3, 0x80, 0x80, 0xe, 0xfb, 0x48, 0x42, 0xca, 0xe9, 0xd1, 0xaa, 0x14, 0x58, 0x81, 0xa4, 0x8a, 0x94, 0xd5, 0x96, 0x81, 0x23, 0x66, 0xe3, 0xc3, 0x10, 0xdd, 0x25, 0x38, 0x7e, 0x8, 0x1c, 0x13, 0x84, 0xbb, 0x56, 0x8c, 0x4f, 0x75, 0x91, 0xa3, 0x10, 0xb0, 0x77, 0x3b, 0xd0, 0xe6, 0x70, 0x28, 0xb1, 0x1b, 0xcd, 0xaa, 0x5d, 0x90, 0x86, 0x89, 0xe5, 0x2a, 0x5f, 0x3b, 0x56, 0x16, 0xaf, 0xd3, 0x7, 0x39, 0x4b, 0x85, 0xa2, 0x57, 0x52, 0xaa, 0xca, 0x96, 0xe1, 0x89, 0xd8, 0xc7, 0x2b, 0x59, 0xe9, 0xbe, 0xdd, 0xa6, 0x28, 0x67, 0xc3, 0x69, 0xd0, 0xf5, 0xd3, 0xd0, 0xb8, 0xf3, 0xc6, 0x39, 0xcf, 0xf, 0x4a, 0x85, 0xe7, 0xab, 0x55, 0xa6, 0x3f, 0xc9, 0x25, 0xcf, 0xc5, 0x77, 0x3c, 0xfe, 0x98, 0xea, 0xf9, 0xb9, 0x35, 0xef, 0x8f, 0x96, 0x3, 0x5a, 0x13, 0xa5, 0xc, 0x3e, 0x19, 0x50, 0xf8, 0xe3, 0x64, 0x4c, 0xb1, 0xf, 0x73, 0xc4, 0xc4, 0xda, 0x9c, 0x6b, 0xf6, 0x9e, 0xaf, 0xc9, 0xfd, 0x20, 0x3e, 0xad, 0xe0, 0xa6, 0xa3, 0xd7, 0xec, 0x7a, 0x3f, 0xa, 0x95, 0x17, 0xf6, 0xa, 0x0, 0xf4, 0xfc, 0x47, 0x91, 0xcd, 0x85, 0x71, 0xe1, 0x61, 0x24, 0x5a, 0x7, 0xb4, 0xbd, 0x3e, 0x3b, 0xc7, 0xb, 0x34, 0x13, 0xa9, 0xbd, 0x7f, 0x8b, 0x15, 0x25, 0x59, 0x59, 0x1d, 0x1d, 0xe8, 0x1b, 0x45, 0x2c, 0xd, 0x61, 0xa4, 0x47, 0x6a, 0x4c, 0x2c, 0x36, 0xc0, 0xd5, 0xb2, 0x25, 0x84, 0x9d, 0x71, 0xb8, 0x5e, 0x89, 0x33, 0x7, 0xe6, 0x9f, 0x67, 0x32, 0x66, 0x89, 0x16, 0xa8, 0xa9, 0x60, 0x77, 0x2b, 0x97, 0x23, 0x49, 0xef, 0x77, 0xfa, 0x49, 0x40, 0x88, 0x76, 0x2a, 0xa0, 0xea, 0xc6, 0xca, 0x31, 0x7b, 0x25, 0xe3, 0x90, 0x40, 0xba, 0x61, 0x52, 0x85, 0xed, 0xb7, 0x74, 0x97, 0xfa, 0x4c, 0x3c, 0xb9, 0x50, 0x65, 0x8f, 0xbc, 0xe5, 0x3c, 0x8e, 0x8b, 0x8c, 0xc7, 0x56, 0x2f, 0x43, 0x12, 0x6a, 0xb0, 0xb5, 0x8c, 0x9c, 0x2b, 0xf0, 0x6c, 0xab, 0xdc, 0xaa, 0x6, 0xbe, 0x74, 0x54, 0xcf, 0xc1, 0x17, 0x15, 0xa9, 0x79, 0xa6, 0x9f, 0x9a, 0x82, 0x1a, 0xdb, 0xdb, 0x62, 0xd0, 0x8c, 0xa4, 0xd6, 0xc1, 0x3a, 0x1f, 0x4, 0x6b, 0xce, 0xe7, 0x5e, 0x48, 0xeb, 0x34, 0x11, 0x26, 0x27, 0xcd, 0x4e, 0x55, 0xfa, 0x58, 0x21, 0x16, 0x80, 0xb, 0xd3, 0x25, 0xc3, 0x7b, 0x9f, 0xb6, 0x7d, 0x8b, 0x8c, 0xf2, 0x85, 0xe3, 0x4f, 0xb2, 0xff, 0x43, 0x9b, 0xe5, 0x37, 0xb5, 0xcc, 0x6b, 0x57, 0x3c, 0x2, 0xda, 0xef, 0x6c, 0x6, 0x80, 0xfb, 0xb, 0x47, 0xc2, 0x4e, 0xc4, 0xa1, 0x34, 0x75, 0xd2, 0xc0, 0xc4, 0x82, 0xb2, 0xa1, 0x22, 0x15, 0x34, 0xd5, 0x44, 0x17, 0x64, 0xbb, 0x32, 0x48, 0x92, 0x5b, 0xde, 0x1c, 0xdc, 0x3e, 0x6, 0x5c, 0x5e, 0x78, 0xf2, 0x71, 0xf8, 0x2b, 0xa0, 0x6, 0x0, 0x5a, 0x5c, 0x9e, 0x4, 0xc4, 0xd6, 0xe5, 0xa4, 0xf7, 0x18, 0x7f, 0x14, 0x19, 0x9f, 0xbb, 0xe0, 0x10, 0x68, 0x8d, 0x7f, 0x28, 0x89, 0xcc, 0x49, 0x8f, 0xf0, 0xba, 0x26, 0xb4, 0x1b, 0x29, 0x67, 0x66, 0xe8, 0xc, 0x49, 0x1d, 0xec, 0xc, 0x3e, 0x81, 0xb6, 0x44, 0x9f, 0xf9, 0x36, 0x91, 0x66, 0x5, 0xe1, 0x93, 0xa4, 0xe4, 0xd8, 0x72, 0x33, 0x88, 0xba, 0x20, 0xbd, 0x11, 0x3c, 0x18, 0xd2, 0x33, 0x58, 0x5d, 0xc2, 0xde, 0x33, 0x73, 0x2d, 0xd5, 0x3c, 0x52, 0xd4, 0x71, 0xd7, 0xc2, 0x89, 0x59, 0xab, 0xf8, 0x14, 0xe3, 0x33, 0x9, 0x12, 0xcb, 0x0, 0x17, 0x1a, 0xd9, 0x42, 0x71, 0x9, 0xb4, 0xf9, 0x0, 0x3d, 0xbe, 0xe7, 0x49, 0x72, 0x9f, 0xf1, 0x5c, 0x3c, 0x80, 0x26, 0x42, 0x7f, 0x74, 0x9f, 0xa6, 0x5f, 0x80, 0x58, 0xc9, 0xee, 0x67, 0xa2, 0x26, 0x81, 0x2d, 0xe8, 0x14, 0x57, 0x70, 0x9b, 0x70, 0x4a, 0xa4, 0x8f, 0x94, 0xeb, 0x8, 0x9c, 0xf2, 0x6f, 0xcd, 0x22, 0x93, 0xea, 0x23, 0x6e, 0xf5, 0x2b, 0x9d, 0x8b, 0x33, 0x57, 0x46, 0x5d, 0x90, 0x65, 0x60, 0x6d, 0x87, 0x54, 0x3e, 0x22, 0x87, 0x95, 0xe, 0x34, 0x28, 0x62, 0xb2, 0x28, 0x85, 0x49, 0xa, 0xf6, 0xdf, 0x42, 0xce, 0x17, 0xb4, 0xc3, 0xd0, 0x7b, 0x6, 0xdb, 0x23, 0xc8, 0xd7, 0x9f, 0xae, 0x23, 0x55, 0x1d, 0x99, 0x3f, 0x1, 0x67, 0x91, 0x3a, 0x25, 0x3d, 0x9a, 0x6c, 0x19, 0x17, 0x15, 0x72, 0x9f, 0xac, 0xcc, 0xed, 0xf6, 0x9e, 0xb0, 0x8b, 0x8e, 0xee, 0xa3, 0x18, 0x31, 0x6a, 0x86, 0x0, 0x7f, 0xeb, 0x66, 0xab, 0xbf, 0xf1, 0xff, 0x0, 0xc3, 0xc1, 0x98, 0x50, 0x9c, 0x18, 0xd2, 0x2, 0xa5, 0xd8, 0x9a, 0xb, 0x64, 0x52, 0x3b, 0x9, 0x94, 0xf2, 0xdc, 0xa, 0xa5, 0xf1, 0xc5, 0x8f, 0x76, 0xbe, 0x5c, 0x4f, 0x7d, 0x57, 0x42, 0xfd, 0xdc, 0x87, 0x9a, 0x78, 0xc, 0x2, 0x0, 0x35, 0xe3, 0x3e, 0xf3, 0x74, 0xc2, 0x3d, 0x2b, 0x33, 0xd0, 0x30, 0xe9, 0xe1, 0x59, 0x6f, 0x4a, 0xc7, 0xa2, 0xc0, 0x9e, 0xed, 0xa8, 0xff, 0x61, 0xae, 0xf1, 0x6, 0xf3, 0xc6, 0xa0, 0x3b, 0x11, 0xca, 0x21, 0x86, 0x6c, 0x36, 0x63, 0xfb, 0xe9, 0xe6, 0xab, 0xda, 0xd1, 0xd, 0x48, 0x2, 0xee, 0x23, 0x9f, 0xee, 0x8b, 0xa0, 0x84, 0x99, 0xdc, 0x6a, 0xe9, 0x6d, 0x62, 0xe2, 0x82, 0x26, 0xf5, 0x8b, 0xca, 0x8a, 0xba, 0xb3, 0xfb, 0x6c, 0x91, 0x41, 0xfb, 0x94, 0x7d, 0x36, 0x91, 0x11, 0xa9, 0xca, 0xbe, 0xfe, 0x2a, 0x32, 0xb6, 0x44, 0x46, 0x65, 0x10, 0x5f, 0xe5, 0xc6, 0xaf, 0x51, 0x6e, 0xec, 0x32, 0x86, 0xaa, 0x26, 0x4c, 0x19, 0x8a, 0x31, 0x39, 0xcf, 0xa5, 0xd5, 0xa3, 0xc, 0xd9, 0x71, 0x81, 0xfe, 0xe5, 0x36, 0x28, 0xa0, 0x51, 0x3b, 0xec, 0xa, 0x47, 0x6a, 0xd7, 0xa4, 0xb0, 0x91, 0x6d, 0x47, 0x8a, 0x12, 0x90, 0x72, 0x65, 0xb9, 0x55, 0xf5, 0x68, 0x57, 0xd1, 0xf8, 0xdd, 0x56, 0x32, 0x5b, 0xee, 0x17, 0xa0, 0x5f, 0x47, 0x59, 0x91, 0xf4, 0xd9, 0xad, 0xe0, 0x89, 0x35, 0x30, 0x96, 0x8, 0x8c, 0xc5, 0xa7, 0xfa, 0x51, 0xa0, 0xad, 0x49, 0x87, 0x2b, 0xd7, 0xac, 0x50, 0x89, 0xc8, 0xec, 0x94, 0xe0, 0x74, 0xcb, 0xe5, 0x8a, 0xc7, 0xe0, 0xee, 0xaf, 0xe8, 0x87, 0xc0, 0x44, 0x7, 0xf8, 0xbc, 0xae, 0xa8, 0x80, 0x5a, 0x70, 0xfa, 0x7c, 0xbb, 0xd9, 0x57, 0x1c, 0x64, 0xf7, 0x4d, 0x3, 0x63, 0xef, 0x9d, 0x3c, 0xcc, 0xe0, 0x6b, 0x72, 0x47, 0x24, 0x97, 0xe2, 0x51, 0xec, 0x55, 0xc6, 0xd8, 0xa9, 0x65, 0x1e, 0x7f, 0x7c, 0x99, 0x86, 0xad, 0xb0, 0xb9, 0x11, 0xd9, 0xb8, 0x35, 0x69, 0xb5, 0xfd, 0x6e, 0x4b, 0x74, 0x31, 0x4d, 0x5b, 0xea, 0x99, 0xb7, 0x3, 0xde, 0x6c, 0x97, 0xb7, 0xc5, 0xbd, 0xd2, 0xfd, 0x68, 0x6d, 0x21, 0xa7, 0x3, 0x87, 0xbb, 0xe2, 0xe9, 0xc6, 0xfe, 0x79, 0x28, 0xe5, 0xe1, 0x47, 0xb1, 0xca, 0x59, 0xa1, 0x72, 0x99, 0x96, 0x18, 0xd3, 0xfe, 0xe9, 0x7, 0x97, 0x5c, 0x6e, 0x2d, 0xcb, 0x39, 0x1a, 0x9a, 0xb, 0xfe, 0x28, 0x75, 0xd6, 0xbc, 0x43, 0x37, 0x4a, 0xc1, 0x9f, 0x17, 0x7c, 0x1, 0xf7, 0xdc, 0xee, 0xe0, 0xb, 0x3c, 0xe6, 0xea, 0xe, 0xda, 0x9e, 0x71, 0x68, 0x40, 0x6d, 0xcf, 0x80, 0x37, 0xb0, 0x6b, 0xd8, 0xa5, 0xb1, 0x83, 0xed, 0x61, 0x97, 0x4a, 0x87, 0x83, 0x1c, 0xe, 0x9f, 0xbf, 0x1d, 0x3a, 0xc0, 0x6a, 0x5e, 0x75, 0xe3, 0x38, 0x63, 0x3, 0xf, 0x84, 0xd4, 0xf1, 0x55, 0x18, 0xde, 0x59, 0x18, 0x2e, 0x81, 0x37, 0xed, 0xe5, 0xe6, 0xae, 0x3d, 0x7b, 0x5f, 0x81, 0xe7, 0xd3, 0x21, 0xd2, 0x99, 0xf6, 0x65, 0x3e, 0x34, 0xf1, 0x1d, 0xbc, 0xae, 0x59, 0x63, 0x30, 0xf3, 0xa5, 0xd3, 0x27, 0x6f, 0xe0, 0xf3, 0x55, 0xc2, 0xac, 0x1d, 0xbe, 0xcc, 0x3b, 0x45, 0x45, 0x8c, 0x4, 0x8f, 0x69, 0x55, 0x8f, 0x13, 0xb8, 0x1e, 0x1f, 0xa, 0x23, 0x7e, 0xf2, 0x5, 0x8e, 0xff, 0x3a, 0xe3, 0xa9, 0x11, 0xf, 0xaf, 0x9, 0x20, 0x90, 0xd4, 0x1c, 0xa9, 0x58, 0x11, 0x34, 0x40, 0x17, 0x93, 0x78, 0x14, 0x8a, 0xd0, 0x5, 0xd7, 0x50, 0x8, 0x52, 0x96, 0x56, 0xb6, 0xd4, 0x1, 0x75, 0x2e, 0x3, 0xda, 0xf0, 0x18, 0x76, 0x8f, 0xa2, 0xd2, 0x68, 0x8e, 0x51, 0xdd, 0x60, 0xea, 0x98, 0xc6, 0x5e, 0x8e, 0x1e, 0x6f, 0x7b, 0x93, 0xee, 0xe5, 0xab, 0xc6, 0x2a, 0x58, 0x80, 0xce, 0xb7, 0x96, 0x7, 0xfc, 0xcd, 0xb6, 0xd4, 0x67, 0x3f, 0x8a, 0xb5, 0x4b, 0x5d, 0x80, 0xd4, 0x41, 0xab, 0xa7, 0x11, 0x93, 0x87, 0x73, 0x4d, 0xb9, 0x8c, 0xe, 0xbe, 0x92, 0x7d, 0x2b, 0xe2, 0x4c, 0xff, 0xf1, 0x6d, 0xbf, 0xd2, 0x21, 0x70, 0x4d, 0xb7, 0x18, 0x5a, 0xd, 0x31, 0x85, 0xd6, 0x11, 0x53, 0xe1, 0xf1, 0x96, 0x8f, 0x7e, 0xe7, 0x58, 0x6f, 0x37, 0x9d, 0xe2, 0xde, 0x97, 0x8a, 0x9e, 0x70, 0x93, 0xb, 0x95, 0xff, 0x33, 0x1, 0xf8, 0x53, 0x4, 0x98, 0x5b, 0xf5, 0x9f, 0xaf, 0xe9, 0xd6, 0x90, 0x39, 0xdb, 0x72, 0xba, 0x2e, 0xb5, 0xc9, 0x23, 0xf2, 0x4e, 0xe6, 0x82, 0x66, 0x68, 0x5a, 0x0, 0xb7, 0x89, 0xc4, 0x60, 0xe5, 0x5c, 0x39, 0x2e, 0xc0, 0x27, 0xe, 0xd9, 0xb4, 0xc0, 0xbe, 0x89, 0x2f, 0x23, 0x85, 0xbb, 0x11, 0xd9, 0x23, 0x26, 0x86, 0x1a, 0x99, 0x88, 0x9a, 0xaf, 0xf5, 0x51, 0xfd, 0x13, 0x9f, 0xf8, 0x72, 0x95, 0xa, 0x76, 0x3b, 0x1c, 0x9c, 0xbf, 0x1b, 0x7c, 0x77, 0x39, 0x84, 0x7c, 0xd6, 0xad, 0x46, 0xc0, 0xfa, 0x0, 0x34, 0x86, 0x12, 0xa6, 0x67, 0x7c, 0x7f, 0x7d, 0x75, 0xf9, 0x73, 0x60, 0xe8, 0x10, 0xcf, 0x49, 0xa0, 0xed, 0x3f, 0x2d, 0xb4, 0x2b, 0xb8, 0xa6, 0x50, 0xe2, 0x53, 0x99, 0x10, 0xe7, 0x4b, 0xa0, 0xed, 0xd8, 0x40, 0x5b, 0xcc, 0xb7, 0x2b, 0xa9, 0xed, 0xdf, 0xa7, 0x2, 0xa6, 0xa3, 0xd4, 0xf8, 0xab, 0xd1, 0x8, 0x6e, 0x5c, 0x45, 0x57, 0xcc, 0x95, 0x7d, 0xfe, 0xa3, 0xd2, 0x4f, 0x4e, 0x26, 0x7c, 0x93, 0xa6, 0xc4, 0xf6, 0x4a, 0xde, 0xdc, 0xb5, 0x23, 0x2c, 0x5, 0x9f, 0x62, 0x59, 0xd9, 0xcd, 0xc2, 0xc2, 0x6e, 0x99, 0x5, 0x1d, 0xe9, 0xb3, 0x31, 0x5f, 0xa, 0xb4, 0xe, 0xec, 0xc7, 0x1, 0x70, 0xc7, 0xdf, 0x3e, 0x50, 0x7f, 0xe7, 0x52, 0x21, 0x4f, 0x7, 0xe6, 0xf4, 0x4a, 0x3c, 0x95, 0x3f, 0x46, 0x6a, 0x63, 0xa, 0xa8, 0xc4, 0xfc, 0x5b, 0x47, 0xb8, 0xb1, 0xc7, 0x84, 0xf4, 0xd9, 0x48, 0x51, 0xf8, 0x39, 0xe6, 0x46, 0x98, 0x1e, 0x5b, 0xf2, 0x8f, 0x40, 0x24, 0x9a, 0x41, 0xe6, 0xf5, 0xdf, 0xa, 0x91, 0xad, 0xb7, 0x63, 0x45, 0x3b, 0x3e, 0x1a, 0x4c, 0x38, 0x37, 0xec, 0x49, 0xa4, 0xe9, 0x3e, 0xc9, 0x22, 0x24, 0xe6, 0xc6, 0x22, 0x15, 0xf1, 0x46, 0xc9, 0xf4, 0xfe, 0xba, 0x35, 0x1e, 0xc3, 0x23, 0xde, 0x68, 0x9b, 0x71, 0xbf, 0x5d, 0xf9, 0x36, 0x94, 0x90, 0xe0, 0x4b, 0x29, 0xdd, 0x82, 0x34, 0x39, 0x80, 0x83, 0xfb, 0xe8, 0xa0, 0x9a, 0x56, 0xc7, 0x3a, 0xe, 0xfc, 0xdc, 0xe5, 0x15, 0xb7, 0x15, 0x29, 0xb, 0xb5, 0xf9, 0x34, 0x5, 0x25, 0xa6, 0xd1, 0x99, 0xb4, 0xcf, 0x87, 0x81, 0xaa, 0x8, 0x5a, 0x73, 0x30, 0x3, 0xa6, 0xcf, 0x6, 0x25, 0xf, 0x4a, 0x25, 0xb0, 0x47, 0xf, 0xca, 0x59, 0xaf, 0xb4, 0xe0, 0x4d, 0xe, 0x9e, 0x77, 0xaa, 0x9d, 0xea, 0x45, 0x4a, 0x22, 0x79, 0xff, 0x82, 0x27, 0x90, 0xc5, 0x40, 0x4e, 0xfb, 0xc, 0x42, 0xc5, 0xa6, 0x7, 0x25, 0xab, 0xf8, 0xc4, 0xd4, 0x11, 0x97, 0x38, 0x3a, 0x5c, 0x3d, 0x73, 0x6c, 0xce, 0xa1, 0x45, 0xea, 0x18, 0x95, 0x6a, 0x33, 0x99, 0x9a, 0xb4, 0xc7, 0x3b, 0x1f, 0x72, 0x87, 0x5, 0x5d, 0x7, 0xdc, 0x2e, 0x78, 0xd, 0x95, 0xe5, 0x9a, 0xc0, 0xab, 0x22, 0xc, 0xea, 0x19, 0xcd, 0x7a, 0x5b, 0xa9, 0xa3, 0x1c, 0x7a, 0xb1, 0x6f, 0x11, 0x96, 0x7e, 0x6, 0x86, 0xa5, 0x71, 0x90, 0xc5, 0x2d, 0xe3, 0x45, 0xc8, 0x76, 0x45, 0xaf, 0xbb, 0x68, 0x49, 0x26, 0x62, 0x61, 0x17, 0xb9, 0x52, 0x62, 0xed, 0x8b, 0x6e, 0x11, 0x42, 0x89, 0xd6, 0x74, 0x16, 0x29, 0xc8, 0x2b, 0xb0, 0x93, 0x1b, 0x6e, 0x5e, 0x9d, 0xb1, 0x41, 0x91, 0xeb, 0xbb, 0xd5, 0x3c, 0xe3, 0x89, 0xa8, 0x50, 0xdc, 0x5e, 0x49, 0x77, 0xef, 0xfb, 0xfa, 0x2, 0x2c, 0x97, 0xd8, 0x3c, 0x0, 0x5e, 0x49, 0xa4, 0xa4, 0x1b, 0x50, 0x15, 0xef, 0xae, 0x7e, 0x1a, 0xde, 0x8e, 0x47, 0xd7, 0x57, 0xc3, 0x8b, 0x7, 0x76, 0xa2, 0xb3, 0x30, 0xa7, 0xea, 0x35, 0x7b, 0xc0, 0x89, 0x29, 0x17, 0xea, 0xbd, 0x4e, 0xc4, 0x43, 0xff, 0xb5, 0xbb, 0xa3, 0x5c, 0x8d, 0xf6, 0x4f, 0xe5, 0xde, 0xa6, 0xf4, 0xba, 0x4, 0xa9, 0xa6, 0x6d, 0x1f, 0x1c, 0x11, 0x90, 0x7b, 0x8, 0x63, 0x4b, 0x56, 0xf, 0x75, 0xd5, 0x35, 0x19, 0x9f, 0x59, 0x1, 0x1, 0xf1, 0xa3, 0x8c, 0x2f, 0x57, 0x1, 0x85, 0x11, 0x90, 0x5a, 0x2b, 0xad, 0x4e, 0xff, 0x2e, 0x32, 0xcd, 0x4e, 0x8c, 0x10, 0xec, 0x81, 0x8, 0x8f, 0xea, 0x28, 0xb8, 0xd0, 0x9, 0xe9, 0x1e, 0xa0, 0xbf, 0xde, 0x97, 0xcd, 0x3d, 0x34, 0x56, 0x14, 0x55, 0x48, 0x55, 0x8f, 0x83, 0x7a, 0x84, 0x76, 0x2f, 0xb5, 0xbc, 0x7, 0x61, 0x18, 0x75, 0xff, 0xb3, 0xee, 0xe6, 0xf, 0x35, 0x73, 0xcf, 0x82, 0xa9, 0xef, 0xa1, 0x73, 0xa8, 0x66, 0xd5, 0xa4, 0x61, 0x66, 0x21, 0x67, 0x79, 0xe8, 0x8f, 0xde, 0xdc, 0x17, 0xa4, 0x8b, 0x6d, 0xec, 0x84, 0x7e, 0xa4, 0xde, 0x17, 0x26, 0x77, 0xd9, 0x66, 0xd3, 0xd2, 0xcd, 0x4c, 0x5c, 0x4f, 0x6d, 0x73, 0xc7, 0xa8, 0x80, 0x7f, 0xaa, 0xf3, 0x5, 0x7a, 0xc8, 0x64, 0xfa, 0x45, 0x4f, 0x83, 0x67, 0xcc, 0x93, 0x86, 0xad, 0xb4, 0x31, 0x92, 0x8a, 0xd2, 0x61, 0x52, 0x61, 0x38, 0x5a, 0x89, 0x70, 0x46, 0xb8, 0xd2, 0xe0, 0xea, 0xa7, 0x3f, 0x81, 0x1c, 0x87, 0xe7, 0x82, 0x6e, 0x96, 0x89, 0x75, 0xe0, 0x49, 0x5, 0xaf, 0x61, 0x5c, 0xa4, 0xbc, 0xe6, 0xad, 0xba, 0x5f, 0xd1, 0xf, 0xb8, 0x35, 0xe8, 0xf6, 0x7d, 0xf7, 0x2, 0x67, 0xa0, 0xe5, 0xc4, 0x76, 0xea, 0xcb, 0xcb, 0x13, 0xa9, 0x95, 0x5f, 0x28, 0xf3, 0x40, 0x3c, 0xeb, 0x78, 0xa6, 0x8b, 0xbc, 0x8c, 0x2f, 0x6c, 0xca, 0x33, 0xa9, 0x4c, 0x8e, 0x91, 0xff, 0xba, 0xbd, 0xdf, 0x8f, 0xd4, 0x4f, 0x10, 0x52, 0x87, 0xd2, 0xb9, 0x33, 0xf6, 0xe7, 0x37, 0x3d, 0xf6, 0xf6, 0xcd, 0x9b, 0xbf, 0x58, 0x95, 0xe0, 0xed, 0x9b, 0x37, 0xff, 0x9d, 0x76, 0x2b, 0x56, 0xb9, 0xd5, 0x36, 0x6f, 0xe8, 0x2, 0x81, 0x2c, 0xa3, 0xc2, 0x6e, 0x65, 0x3a, 0x79, 0xd3, 0x22, 0x8f, 0x40, 0x45, 0x5f, 0x8b, 0x9c, 0x45, 0xf6, 0x72, 0x5c, 0xea, 0x5c, 0x24, 0xd1, 0x2b, 0x82, 0x55, 0xa8, 0xe9, 0x4d, 0x8f, 0xa5, 0xf2, 0xa3, 0x48, 0xd7, 0x8c, 0x88, 0xfb, 0x57, 0x2, 0xf3, 0x9b, 0x21, 0xea, 0x8f, 0x59, 0x71, 0x50, 0x9, 0xb8, 0x6f, 0xbf, 0x94, 0x76, 0xbd, 0x6a, 0x52, 0xee, 0xa0, 0x1a, 0x67, 0x22, 0xf7, 0x2b, 0xaf, 0x8, 0x7c, 0x9a, 0x3c, 0x17, 0xa7, 0xb9, 0x7d, 0xbd, 0x6d, 0x15, 0x2f, 0xad, 0xee, 0x4, 0xe9, 0x19, 0x1, 0xc0, 0x53, 0x98, 0x95, 0xe5, 0x6a, 0x39, 0x3, 0x3d, 0x1d, 0x89, 0xdf, 0xba, 0x40, 0x13, 0x6c, 0x99, 0xb4, 0xcf, 0x77, 0x2d, 0x92, 0x81, 0x38, 0xba, 0x6c, 0xa1, 0x7c, 0xdb, 0x7e, 0xf0, 0x6a, 0xf8, 0xa1, 0xb4, 0x17, 0xdb, 0x1f, 0x75, 0xe0, 0x31, 0x5d, 0x9f, 0xbf, 0xbe, 0x19, 0x5e, 0x75, 0x7d, 0x76, 0xd3, 0x72, 0xdd, 0xed, 0xa8, 0xdc, 0x39, 0xdc, 0x5d, 0xca, 0x95, 0x15, 0x26, 0x73, 0x9d, 0x5, 0x19, 0x6b, 0x4b, 0x4e, 0xd6, 0xd9, 0x46, 0xde, 0x5a, 0x29, 0xec, 0x2a, 0x5e, 0x48, 0xd0, 0x5e, 0xe1, 0xae, 0x0, 0x43, 0xbf, 0x62, 0xd7, 0xa1, 0xa9, 0x67, 0x35, 0x7, 0x6b, 0x22, 0x3a, 0xd0, 0xfb, 0x2a, 0x8a, 0x18, 0x15, 0xe2, 0xed, 0x58, 0x93, 0x33, 0xcc, 0x86, 0xfd, 0xc6, 0x80, 0x82, 0x3, 0x77, 0xc0, 0x56, 0x92, 0xa1, 0xbd, 0x12, 0xea, 0x14, 0x42, 0xca, 0xd4, 0x71, 0x24, 0x20, 0xa4, 0x3b, 0xfe, 0x4e, 0xe9, 0xfc, 0x77, 0x98, 0x41, 0x94, 0x3, 0x82, 0x46, 0x43, 0x37, 0xb6, 0xd7, 0x7b, 0xcf, 0xbe, 0x78, 0xb5, 0xb3, 0x42, 0xb9, 0x56, 0x62, 0xdc, 0x97, 0xd9, 0xe8, 0x5b, 0x4f, 0x96, 0xbd, 0x8e, 0x54, 0x73, 0xb7, 0xc1, 0xcb, 0x4f, 0xa9, 0x90, 0x56, 0xb2, 0xf8, 0xac, 0xa5, 0x4, 0x9b, 0x2b, 0xa4, 0x59, 0xf8, 0xe0, 0xb2, 0x6, 0x17, 0x83, 0x4a, 0x58, 0x9c, 0x6a, 0x13, 0xf0, 0xff, 0x98, 0xa6, 0xf1, 0x57, 0xf7, 0xef, 0x8b, 0x8d, 0x1d, 0xfa, 0xb5, 0xdf, 0xb8, 0x6b, 0xbb, 0xbb, 0x79, 0x84, 0xe, 0xee, 0x70, 0xd0, 0xc7, 0xad, 0x29, 0xf3, 0x7b, 0xa, 0x9d, 0x66, 0x0, 0xca, 0x3, 0x79, 0x8b, 0xe, 0x4b, 0x2f, 0xc1, 0xca, 0x31, 0xc6, 0x57, 0xab, 0xb4, 0xac, 0x42, 0x87, 0x7a, 0x63, 0x8, 0x30, 0x62, 0xb5, 0x35, 0x39, 0xb7, 0x7a, 0xe4, 0xc, 0x82, 0xde, 0x2a, 0xcd, 0x94, 0xc0, 0xab, 0x11, 0x4f, 0xd1, 0xd6, 0xc7, 0xb7, 0xac, 0x3f, 0x91, 0x2d, 0xa5, 0xe2, 0xb9, 0x78, 0xe, 0xcb, 0x43, 0x53, 0x5b, 0xcf, 0x7, 0x71, 0x6b, 0x6a, 0xf1, 0x39, 0x48, 0x63, 0x4d, 0x6d, 0x25, 0xdf, 0x73, 0x99, 0x16, 0xd9, 0xc1, 0x31, 0xa, 0x79, 0x38, 0x73, 0xf8, 0x64, 0x21, 0x4a, 0x82, 0xee, 0x6a, 0x92, 0xba, 0xce, 0x58, 0x9c, 0x4a, 0x8, 0x40, 0x5b, 0xbd, 0x87, 0xc2, 0x2e, 0x54, 0x20, 0x90, 0xd3, 0x58, 0x64, 0x7d, 0x7d, 0xe1, 0xe6, 0xc8, 0xdb, 0x10, 0xc, 0xf7, 0x1e, 0x36, 0xa6, 0x3e, 0x1c, 0xe4, 0x13, 0x1a, 0x42, 0x13, 0xe0, 0x33, 0x49, 0xa4, 0xc1, 0x7f, 0x83, 0x9a, 0xe0, 0xe1, 0xe, 0xd1, 0xb7, 0x27, 0x4d, 0x8d, 0x81, 0xde, 0xa0, 0xd1, 0x2c, 0xf9, 0xa7, 0xe3, 0x21, 0x1c, 0xbe, 0x47, 0xb2, 0x4a, 0x96, 0x3, 0x0, 0xf3, 0xa3, 0xcc, 0x30, 0xc1, 0xc5, 0x76, 0x11, 0x8b, 0x35, 0x28, 0xd5, 0x4, 0x3f, 0xd8, 0xdc, 0xa3, 0x61, 0xca, 0x57, 0xe6, 0xa8, 0x3d, 0x12, 0xd8, 0x22, 0x4d, 0x17, 0xd6, 0xcd, 0x54, 0x66, 0xee, 0x89, 0x1b, 0xca, 0x4e, 0xf1, 0x52, 0xde, 0xe7, 0x41, 0xc2, 0x85, 0xeb, 0x61, 0x1a, 0xed, 0x6b, 0x56, 0xb0, 0x66, 0xc2, 0x8d, 0xd, 0x1a, 0xdf, 0x60, 0x41, 0xda, 0xe5, 0x87, 0x3a, 0xdf, 0x6, 0xa6, 0xac, 0xf4, 0x87, 0x6a, 0x6d, 0x78, 0xdd, 0x4a, 0x46, 0xa, 0xec, 0x5c, 0xea, 0x6e, 0xaf, 0x3a, 0xd1, 0x3c, 0x79, 0xe4, 0x2a, 0x16, 0x86, 0xf1, 0x22, 0xd7, 0x1e, 0x3f, 0x3, 0xbc, 0x12, 0xe2, 0x11, 0x72, 0x86, 0x42, 0xe6, 0x60, 0x57, 0x66, 0x6e, 0xbf, 0xd2, 0x8f, 0xd4, 0xa8, 0xf2, 0x87, 0x72, 0x6, 0x4a, 0xf7, 0x7d, 0x6f, 0x3, 0xa0, 0xd2, 0xf4, 0x28, 0xc0, 0xe9, 0x11, 0x11, 0x4d, 0x8f, 0x18, 0xa3, 0xbe, 0x25, 0xe6, 0xae, 0x2d, 0xe2, 0xb5, 0xf0, 0xd9, 0x48, 0x61, 0xb5, 0x8, 0x5c, 0x16, 0x6b, 0x86, 0xb6, 0xe4, 0x4c, 0xf0, 0xbc, 0xc8, 0xec, 0x77, 0x21, 0x5d, 0x8c, 0x5c, 0x8a, 0x18, 0x4a, 0x40, 0x2d, 0x8, 0xa7, 0x2b, 0x2b, 0xb3, 0x4a, 0xe2, 0x94, 0x1b, 0x83, 0x55, 0x60, 0xdc, 0x6c, 0xc, 0xc, 0x96, 0xcb, 0x15, 0x95, 0xba, 0x75, 0xd4, 0x8f, 0x50, 0xa, 0x5, 0x33, 0x59, 0x99, 0x38, 0x80, 0xe4, 0xb5, 0x4f, 0xf9, 0xe0, 0x8b, 0xe0, 0x59, 0x2a, 0x29, 0xb5, 0x7e, 0x61, 0xf5, 0x9d, 0x4f, 0x39, 0xd6, 0x98, 0x41, 0x1f, 0x98, 0x2f, 0xb5, 0xc4, 0x15, 0x5, 0xd, 0xad, 0x50, 0x48, 0x97, 0x25, 0x24, 0xc, 0x8, 0x6e, 0x3a, 0xcc, 0xff, 0x72, 0x28, 0xa0, 0x76, 0xd9, 0x5d, 0xec, 0x1f, 0x5a, 0xe, 0x97, 0xff, 0xc, 0xf3, 0xd5, 0x68, 0x85, 0xd9, 0x2c, 0xe5, 0xf3, 0x1e, 0xb6, 0x4a, 0x48, 0x21, 0x3d, 0xba, 0xdb, 0xe3, 0x62, 0x59, 0xa4, 0x90, 0x52, 0xe4, 0xc6, 0xe5, 0x71, 0x45, 0xed, 0xcc, 0x84, 0xb8, 0xa8, 0x1a, 0x21, 0x59, 0x44, 0x52, 0x71, 0xda, 0x19, 0x36, 0xd3, 0xa9, 0x5d, 0xc7, 0xb3, 0x48, 0x9d, 0xbc, 0x7d, 0x4d, 0x81, 0xc, 0xbf, 0xba, 0x15, 0x60, 0xf4, 0x53, 0x6e, 0x4e, 0x95, 0x78, 0x3a, 0xc3, 0x3, 0x11, 0x8e, 0x99, 0xbe, 0x48, 0x49, 0x3a, 0xbb, 0xba, 0x15, 0x29, 0x7b, 0x22, 0x28, 0x0, 0x12, 0x3a, 0x5c, 0xe2, 0x4d, 0xb0, 0x44, 0xc8, 0x2f, 0xdc, 0x9a, 0x59, 0x74, 0xd6, 0x70, 0xf8, 0xff, 0x80, 0xe6, 0xba, 0x6c, 0x90, 0x3e, 0x8a, 0xdf, 0x49, 0xc2, 0xee, 0x71, 0xb5, 0x66, 0x65, 0x28, 0x74, 0x1b, 0x84, 0x95, 0x9c, 0x7d, 0x56, 0xa5, 0xcd, 0xa, 0x7b, 0xd2, 0x4e, 0x7e, 0xff, 0x9a, 0x1, 0x56, 0x34, 0xce, 0x44, 0xa6, 0xd5, 0x59, 0xc3, 0xc8, 0x77, 0x2e, 0x46, 0xd9, 0x3f, 0x0, 0xe3, 0x8e, 0x75, 0x66, 0x37, 0xf7, 0x13, 0x16, 0xd2, 0xd3, 0xa4, 0xb8, 0x19, 0xf0, 0x47, 0x85, 0xf0, 0x2b, 0xff, 0x79, 0xf7, 0xc4, 0x3a, 0xf8, 0x61, 0x6a, 0x1, 0xb0, 0x3c, 0x51, 0x35, 0x2d, 0x77, 0x81, 0x1d, 0xd0, 0x1f, 0xec, 0x80, 0x8c, 0xc8, 0xcf, 0xc2, 0x91, 0x5a, 0x4d, 0xcf, 0x97, 0xef, 0xb7, 0x41, 0xe8, 0x6e, 0x7c, 0x25, 0x58, 0xa9, 0xef, 0x28, 0x7, 0x2c, 0xb3, 0x8d, 0xb3, 0x4c, 0xac, 0x52, 0xbe, 0x36, 0x38, 0x2a, 0x9e, 0xa6, 0x18, 0x7, 0x35, 0x50, 0x13, 0xa9, 0x5d, 0xe6, 0x9c, 0xc8, 0xd9, 0x4a, 0x4b, 0x95, 0x93, 0x3c, 0x3d, 0x5, 0xcd, 0xd, 0x20, 0x85, 0xd6, 0xec, 0xe, 0x4c, 0xed, 0x2d, 0x5, 0xe6, 0x7a, 0x85, 0x1b, 0x97, 0x88, 0xce, 0xd9, 0x92, 0x27, 0x82, 0xf1, 0x59, 0x4e, 0xf5, 0x80, 0xf8, 0x3d, 0x68, 0xb4, 0x17, 0x24, 0xf5, 0x3, 0xd4, 0x7f, 0x61, 0x45, 0x66, 0x2, 0x5d, 0xf0, 0x54, 0x62, 0x86, 0x2f, 0x5, 0x9b, 0x49, 0x45, 0xd2, 0xb3, 0x69, 0xd4, 0x54, 0xf4, 0xe1, 0x63, 0x65, 0x25, 0x34, 0x7f, 0x55, 0x5d, 0xd0, 0x45, 0x7e, 0x24, 0x2d, 0x89, 0xa8, 0xa, 0xf6, 0xa1, 0x81, 0x98, 0x4, 0xaf, 0xd4, 0xde, 0xac, 0x29, 0x37, 0xf9, 0x3b, 0xc1, 0xb3, 0x7c, 0x2a, 0x78, 0x7e, 0x61, 0x17, 0x3c, 0xed, 0x9c, 0xf4, 0x50, 0x43, 0xe2, 0xd0, 0xa2, 0x36, 0x6d, 0xf7, 0x7c, 0x1f, 0xd7, 0xc2, 0xe8, 0xfd, 0xf0, 0xfa, 0x6e, 0xd2, 0x9e, 0xb2, 0x14, 0x3e, 0x83, 0x7c, 0x31, 0x93, 0x6b, 0xb4, 0x47, 0x9a, 0x1f, 0x3b, 0x7f, 0x37, 0xbc, 0xb8, 0xbb, 0x1c, 0xda, 0x27, 0xe1, 0x95, 0x4e, 0x4f, 0xb6, 0xb7, 0xf9, 0x6e, 0x38, 0xb8, 0x9d, 0x7c, 0x37, 0x1c, 0x4c, 0xda, 0xbd, 0x7, 0x4d, 0x23, 0xaa, 0x99, 0xba, 0xec, 0x1c, 0x6e, 0xcd, 0xa3, 0x92, 0xb4, 0xc0, 0x3d, 0xb5, 0x1f, 0x4, 0x4b, 0x49, 0xe7, 0x69, 0xef, 0x4d, 0x84, 0x98, 0x2, 0x30, 0x55, 0x68, 0xb, 0x28, 0x54, 0xd0, 0xb9, 0x6d, 0xc7, 0x76, 0x8b, 0xf3, 0x59, 0x32, 0x10, 0x78, 0x3d, 0x14, 0x9e, 0x6e, 0x5, 0xfe, 0x7d, 0x51, 0xa6, 0x84, 0x12, 0xcc, 0xb8, 0xbe, 0x9f, 0x32, 0x37, 0x22, 0x9d, 0xfd, 0xf6, 0x79, 0x1d, 0x9e, 0x63, 0x73, 0x35, 0x4c, 0x24, 0xd9, 0x59, 0x4f, 0xb, 0x5d, 0x31, 0xae, 0x20, 0x11, 0xdc, 0x6e, 0xdc, 0x6e, 0x2, 0x22, 0xfb, 0xde, 0x9a, 0xee, 0x5f, 0xb7, 0xf8, 0x17, 0xd8, 0xe2, 0x6d, 0xab, 0x32, 0xe, 0x3a, 0xfc, 0xe5, 0xd7, 0x65, 0xe2, 0xb7, 0xdb, 0xb7, 0xa0, 0x6e, 0x63, 0x62, 0x8e, 0x35, 0x8, 0x92, 0xee, 0xd3, 0x3f, 0xd1, 0x76, 0xab, 0x3d, 0x83, 0x25, 0xc7, 0x77, 0xe3, 0x9d, 0x7e, 0x62, 0xa9, 0x86, 0x50, 0x76, 0x2e, 0xd3, 0xe0, 0xab, 0x40, 0x2f, 0xbd, 0x83, 0xd6, 0xe8, 0x57, 0x2b, 0x3d, 0x5a, 0xb6, 0x9, 0xa0, 0x1f, 0x8a, 0x84, 0x52, 0xe4, 0x6, 0x3e, 0x5d, 0xea, 0xb6, 0x4a, 0x95, 0xf2, 0xc, 0x8, 0xfb, 0x6d, 0xaa, 0x95, 0x1d, 0xf9, 0x79, 0x1b, 0x1f, 0xaf, 0x5d, 0xa, 0x84, 0x88, 0x38, 0x46, 0xd0, 0x66, 0x9f, 0xd9, 0xb1, 0x8b, 0xce, 0x73, 0x39, 0x4d, 0x5, 0x75, 0xf5, 0x56, 0x24, 0x32, 0x13, 0xf1, 0x67, 0x9d, 0xa5, 0xf6, 0x4e, 0x7c, 0xf1, 0xd9, 0xca, 0xe4, 0x7c, 0x2e, 0xb2, 0x51, 0x59, 0xd6, 0x45, 0x98, 0xec, 0x87, 0x4c, 0x8f, 0xb5, 0xeb, 0x53, 0xbe, 0xda, 0x8f, 0xd, 0xc8, 0x11, 0xfd, 0x5c, 0x57, 0x5e, 0x6e, 0x4d, 0x93, 0xda, 0xc0, 0x61, 0x62, 0xf4, 0x5d, 0xb6, 0x42, 0xea, 0x3, 0x2f, 0x9f, 0x0, 0x6f, 0x14, 0x87, 0xd5, 0x94, 0x7c, 0x4c, 0x1f, 0x4f, 0x5e, 0x3a, 0xae, 0xe8, 0x77, 0x67, 0x9, 0x3c, 0x92, 0xd7, 0x78, 0x52, 0x73, 0x9e, 0xcd, 0x45, 0x1e, 0xd2, 0xef, 0x8d, 0x66, 0x60, 0x47, 0x22, 0x83, 0xbb, 0xf0, 0xc5, 0x5a, 0x18, 0x1, 0xa1, 0xf4, 0x5d, 0x67, 0x11, 0xda, 0x5e, 0x74, 0x71, 0xae, 0xe2, 0xda, 0x7f, 0xf0, 0x6c, 0x6a, 0xa9, 0x38, 0x6, 0xb, 0x6, 0x5a, 0x90, 0x7, 0x79, 0x59, 0x27, 0x59, 0x39, 0x28, 0x7b, 0xd6, 0x90, 0xef, 0x1c, 0xdb, 0xed, 0x55, 0x6b, 0xe9, 0xe1, 0xe7, 0x58, 0x2b, 0xf4, 0x27, 0x18, 0x76, 0xb2, 0xca, 0x44, 0x22, 0x63, 0x9e, 0x8b, 0x6f, 0x1f, 0xa5, 0x91, 0x18, 0x98, 0xbb, 0x87, 0x90, 0xc2, 0xeb, 0xe, 0x73, 0x72, 0xa7, 0x56, 0xd6, 0x82, 0x3e, 0x42, 0x48, 0x61, 0xa3, 0xa5, 0x7d, 0x66, 0x76, 0x57, 0x12, 0xc4, 0xae, 0x4e, 0x3e, 0x6c, 0x19, 0xc6, 0xf4, 0xc6, 0x41, 0xac, 0x27, 0x5b, 0xf0, 0x1f, 0x25, 0xa5, 0x37, 0x67, 0xa6, 0x88, 0x63, 0x61, 0xcc, 0xac, 0x48, 0x59, 0xd3, 0xb7, 0x36, 0x8e, 0x60, 0xd0, 0x39, 0x70, 0x33, 0x6c, 0x8d, 0x86, 0xdc, 0xc, 0x47, 0xd9, 0x92, 0xd4, 0x36, 0x35, 0xd9, 0x55, 0x24, 0xd, 0x36, 0x5e, 0xab, 0xbf, 0xf8, 0x7d, 0xd1, 0x8a, 0x26, 0xbf, 0x8, 0xba, 0x42, 0xb8, 0x22, 0xe0, 0xd0, 0xe, 0x9b, 0xae, 0x32, 0x1, 0xbf, 0xe1, 0x71, 0x77, 0xdf, 0xe1, 0x9d, 0xb6, 0x44, 0xcd, 0x3e, 0xc7, 0xf7, 0x92, 0xa5, 0xcc, 0x9d, 0xae, 0x77, 0x9d, 0xc9, 0xb9, 0x7c, 0x26, 0x84, 0x31, 0xe2, 0xc5, 0xde, 0xf, 0x2e, 0xde, 0x8f, 0x26, 0x93, 0xe1, 0x5, 0xc2, 0xd4, 0xde, 0x5f, 0xdf, 0x8e, 0x7e, 0x18, 0x35, 0x2, 0x18, 0xb7, 0xbe, 0x73, 0x3b, 0x1c, 0xdc, 0xdc, 0x5c, 0xfe, 0xdc, 0xea, 0xa9, 0xd8, 0xfb, 0xa3, 0xdb, 0x27, 0x33, 0xd6, 0x59, 0x82, 0x98, 0xc0, 0x7c, 0x9b, 0xa9, 0xbf, 0x66, 0x8e, 0x40, 0xbe, 0x3e, 0x65, 0xf6, 0xf, 0x90, 0xe9, 0x45, 0xe8, 0x66, 0xfd, 0x30, 0x1f, 0xd, 0xea, 0x7b, 0xd3, 0x94, 0x71, 0x7a, 0x91, 0xbc, 0x83, 0x65, 0x29, 0xaa, 0xa, 0xe8, 0x7f, 0x5d, 0x96, 0x43, 0x97, 0xc9, 0x80, 0x88, 0x35, 0xab, 0xf6, 0xca, 0xe9, 0xcb, 0xdc, 0x78, 0x74, 0x31, 0xcc, 0xe9, 0x14, 0xf6, 0x16, 0x80, 0x8c, 0x61, 0x72, 0x66, 0x52, 0x90, 0x6, 0x3c, 0x99, 0x91, 0x82, 0x1a, 0x4, 0x1f, 0x7a, 0xee, 0xb3, 0x51, 0x5f, 0xf4, 0xed, 0x8e, 0xe4, 0x71, 0x2c, 0x56, 0x65, 0xa7, 0x19, 0x54, 0xa9, 0xa, 0x36, 0xcd, 0xb8, 0x8a, 0x17, 0xf6, 0xd2, 0xfd, 0xb0, 0x85, 0x71, 0x7, 0xdf, 0x86, 0xaa, 0xc, 0xcc, 0x3e, 0x86, 0x3c, 0xbb, 0xcd, 0xd1, 0x63, 0xa6, 0x48, 0x99, 0x6c, 0x88, 0xd, 0x36, 0x6c, 0xcb, 0x32, 0x8f, 0xf2, 0xbd, 0xa3, 0x6d, 0x3b, 0xe0, 0x6c, 0x17, 0x2b, 0x23, 0xb2, 0x7c, 0xa8, 0x80, 0x3c, 0xf5, 0xf3, 0x95, 0x21, 0x91, 0x13, 0xb2, 0x92, 0xbc, 0x5f, 0xab, 0x52, 0x65, 0x62, 0xa9, 0x1f, 0xc5, 0x8e, 0xfe, 0xbd, 0x78, 0xed, 0xc0, 0x25, 0x40, 0xab, 0xcd, 0x0, 0x6d, 0x13, 0xe3, 0x2f, 0xb6, 0x57, 0x65, 0xb8, 0xc3, 0x11, 0xe8, 0xed, 0x9d, 0xbf, 0xce, 0xb1, 0xf2, 0xda, 0xb6, 0x1d, 0xe4, 0x6b, 0xdb, 0x33, 0x4, 0x59, 0xf1, 0xf0, 0x31, 0x94, 0x83, 0xfe, 0x1b, 0x8c, 0xe7, 0x39, 0x7, 0x14, 0x5, 0xb8, 0x32, 0xcb, 0x14, 0xc6, 0x6a, 0x82, 0x50, 0xfd, 0xe6, 0xf1, 0x4, 0xcd, 0x87, 0x7a, 0xb5, 0xab, 0x83, 0xd9, 0x1b, 0x97, 0x4d, 0x3f, 0x29, 0x91, 0xd, 0x97, 0x5c, 0xee, 0x2a, 0x58, 0xae, 0x7d, 0x7b, 0x63, 0xd3, 0xb7, 0xd, 0x80, 0x75, 0xdf, 0xab, 0xcf, 0xdc, 0x1b, 0x3, 0xbb, 0x2b, 0x4e, 0x29, 0x3b, 0x91, 0xaf, 0x30, 0x47, 0x46, 0xad, 0x59, 0x5c, 0x98, 0x5c, 0x2f, 0xe5, 0xdf, 0x45, 0xc2, 0x56, 0x45, 0xb6, 0xd2, 0x90, 0xc1, 0x35, 0x9a, 0x31, 0x5c, 0xc3, 0x34, 0x13, 0x3c, 0x21, 0xd0, 0x3e, 0xe3, 0xb4, 0x50, 0xcf, 0x57, 0xd, 0x5c, 0x3, 0xd2, 0x60, 0xa8, 0x73, 0x29, 0xb2, 0xb9, 0x28, 0x3, 0x1d, 0x3e, 0xd7, 0xe6, 0xa3, 0x58, 0xa3, 0xe2, 0xde, 0x94, 0x3f, 0x6b, 0xf2, 0x1a, 0x38, 0x92, 0xa6, 0x13, 0xe9, 0x77, 0xc6, 0x18, 0xde, 0x6a, 0x1b, 0xf1, 0x95, 0x78, 0x2a, 0xbb, 0xa, 0xd8, 0x4, 0xa2, 0xe7, 0x8a, 0xb4, 0xa0, 0xc7, 0x99, 0x80, 0x62, 0xf, 0x9, 0x49, 0xd9, 0xca, 0xc0, 0x37, 0x3c, 0x48, 0x69, 0x9a, 0xea, 0x27, 0x88, 0x5f, 0xd, 0xf0, 0x5f, 0xc1, 0x33, 0x10, 0x4, 0x3e, 0x8b, 0x14, 0xbb, 0x15, 0x73, 0x69, 0x72, 0x28, 0x48, 0x39, 0xfd, 0x37, 0xf6, 0x67, 0x76, 0x21, 0x10, 0x52, 0xfd, 0x7f, 0xb3, 0x72, 0x87, 0xb3, 0xff, 0xcd, 0xde, 0x71, 0x95, 0x58, 0x6b, 0x8d, 0xfd, 0x25, 0x52, 0xe5, 0xff, 0xc0, 0x1b, 0x41, 0xb, 0x7f, 0xb1, 0xe7, 0x82, 0x40, 0x29, 0xc, 0xbb, 0x1a, 0xbc, 0x1f, 0x8e, 0x6f, 0x6, 0xe7, 0x10, 0x6c, 0x98, 0x54, 0x9c, 0xf8, 0xe4, 0x58, 0x91, 0xc6, 0x15, 0x91, 0x61, 0x68, 0xa, 0x47, 0xd8, 0x45, 0xeb, 0xaf, 0x1e, 0xb1, 0x63, 0xa8, 0x5e, 0xaa, 0xe1, 0xbc, 0x76, 0x5b, 0xca, 0x6a, 0x7d, 0xe7, 0x6, 0x9b, 0xf2, 0x1e, 0x3c, 0x9e, 0xbe, 0x41, 0x4a, 0x9e, 0x69, 0x90, 0xd4, 0xfe, 0xc6, 0xdc, 0x8f, 0x25, 0x34, 0x98, 0xb0, 0xcd, 0x16, 0x6a, 0x3f, 0x34, 0xe3, 0x32, 0xb5, 0xb, 0xfd, 0x8c, 0xbc, 0xf0, 0x4e, 0x88, 0x7, 0xd2, 0xfc, 0x90, 0xea, 0x29, 0x62, 0xaf, 0xb7, 0x12, 0xe2, 0x3b, 0x1b, 0xb4, 0xeb, 0xc6, 0x10, 0x9f, 0xa, 0x33, 0x54, 0x9, 0xc4, 0x34, 0x8f, 0xb1, 0x39, 0x4, 0xb5, 0xd5, 0x75, 0xa2, 0xdd, 0xb7, 0xdb, 0x73, 0xe5, 0xad, 0x78, 0x5a, 0x69, 0x93, 0x93, 0xb6, 0x3, 0x10, 0x26, 0xe, 0x36, 0xce, 0xd3, 0xde, 0x1a, 0x53, 0x88, 0x30, 0xfc, 0xee, 0xc8, 0xd, 0x3c, 0xc0, 0x37, 0x28, 0x8f, 0x9d, 0xcf, 0xcc, 0x2d, 0x74, 0xf8, 0xd9, 0x13, 0xb1, 0xc5, 0x3c, 0xbf, 0x4f, 0x65, 0x4a, 0xf5, 0xc5, 0xda, 0x1d, 0x81, 0xa3, 0xdb, 0xe9, 0xee, 0xed, 0x7e, 0xf7, 0x3, 0x84, 0x91, 0x9d, 0x68, 0x25, 0x44, 0x82, 0xc9, 0xa, 0xdc, 0x67, 0xbb, 0x59, 0xf5, 0x82, 0x8, 0x1b, 0xb9, 0xf, 0x54, 0x3, 0x72, 0xf0, 0xa3, 0xfe, 0x28, 0xca, 0xda, 0x54, 0x52, 0x1e, 0x1b, 0x6e, 0x7a, 0xe7, 0x8, 0x7b, 0x86, 0xcb, 0x1, 0x53, 0xe3, 0xab, 0x48, 0xfa, 0xc7, 0xd8, 0xaf, 0xfb, 0x9, 0x9d, 0x4d, 0x28, 0xff, 0x8e, 0x5b, 0x9, 0x73, 0x4b, 0x8f, 0xd7, 0xe9, 0xa7, 0xa0, 0xbd, 0xfd, 0xa, 0x9e, 0x3a, 0x32, 0x1e, 0x7b, 0x9c, 0xe0, 0x20, 0x4d, 0xa1, 0xcf, 0x3e, 0x50, 0x92, 0x13, 0xf2, 0x55, 0x5a, 0xd3, 0x81, 0xd2, 0x35, 0x2, 0x87, 0xbf, 0x43, 0xe7, 0xa9, 0x70, 0xfd, 0x8b, 0xac, 0xf3, 0xa9, 0x6b, 0xa8, 0xcb, 0x3a, 0xd7, 0xcb, 0x55, 0x91, 0x77, 0x5f, 0xf7, 0x7d, 0xda, 0x76, 0x26, 0xcb, 0x31, 0x56, 0x66, 0xb9, 0x6d, 0xfe, 0xb4, 0xae, 0xca, 0x46, 0x17, 0x5a, 0x17, 0xe6, 0xfb, 0x2, 0x14, 0x2f, 0xa7, 0x71, 0x83, 0x4b, 0x62, 0x25, 0x32, 0x7b, 0x7f, 0x38, 0x0, 0xb5, 0x22, 0x3c, 0x7d, 0xdd, 0x26, 0xbb, 0x22, 0x6a, 0x2e, 0xe5, 0x4c, 0xc4, 0xeb, 0x38, 0xb5, 0xa, 0xd7, 0xfc, 0x99, 0x9, 0x16, 0x64, 0x18, 0xd7, 0xd0, 0xcb, 0x5e, 0x8e, 0xbe, 0x1f, 0x9e, 0xff, 0x7c, 0x7e, 0x9, 0x6a, 0xce, 0xf, 0x8d, 0xd9, 0x17, 0xdd, 0x1b, 0x70, 0xc6, 0xf7, 0x33, 0xdf, 0x3e, 0x3f, 0x1f, 0xde, 0x3c, 0xfb, 0x6d, 0x1f, 0x1, 0xeb, 0xe2, 0xf1, 0x78, 0xe6, 0x64, 0x6c, 0x99, 0x67, 0x5d, 0x56, 0x8d, 0x11, 0xd, 0x9b, 0x7, 0xad, 0x47, 0x19, 0x6e, 0x50, 0x56, 0x3, 0x4, 0xe6, 0x86, 0xb4, 0xc6, 0x3c, 0xbc, 0x80, 0x3e, 0x1e, 0x9c, 0xcc, 0x2e, 0x93, 0x8a, 0x94, 0xe8, 0x85, 0x8b, 0x53, 0x22, 0x85, 0x19, 0xde, 0xb, 0x4f, 0xd2, 0x2c, 0xf0, 0x86, 0x7d, 0xe2, 0x32, 0xa7, 0x54, 0x7c, 0xa2, 0xb3, 0x45, 0xeb, 0xc3, 0x9b, 0xa3, 0x83, 0x9b, 0x11, 0xd2, 0x3, 0xa8, 0xb5, 0x83, 0xe0, 0xc8, 0x17, 0x2, 0x30, 0xc1, 0xb9, 0x62, 0xcf, 0x98, 0x77, 0xe4, 0xe1, 0x55, 0x39, 0x65, 0xd5, 0xf9, 0x3e, 0x11, 0x77, 0xc, 0x56, 0x70, 0x83, 0xea, 0xef, 0xe1, 0xfe, 0xa7, 0x62, 0xa6, 0x33, 0xac, 0xf9, 0x22, 0x27, 0x7, 0x30, 0xcc, 0x28, 0x3b, 0x8a, 0xc4, 0xe7, 0x71, 0x7a, 0x42, 0x5e, 0x4e, 0x7c, 0xc6, 0x3e, 0xa7, 0x8c, 0xf8, 0x63, 0xe8, 0x5d, 0xa3, 0x7d, 0x39, 0x63, 0xcc, 0x15, 0xa0, 0xca, 0x65, 0x40, 0x9e, 0x86, 0xe0, 0xe4, 0x0, 0x78, 0x4e, 0x9f, 0xc6, 0xbc, 0xda, 0xd1, 0x2c, 0x58, 0x18, 0x3, 0x6b, 0xf5, 0xc4, 0x8d, 0xfa, 0x26, 0xc7, 0x52, 0x1b, 0x48, 0x38, 0x84, 0xe, 0xd2, 0x94, 0x53, 0x96, 0x96, 0xb7, 0x63, 0xb0, 0x5b, 0x26, 0x52, 0x84, 0xed, 0x87, 0x4d, 0xd0, 0xbb, 0x1b, 0x7e, 0xa9, 0xfd, 0x76, 0xdc, 0x19, 0x1b, 0xa8, 0xb0, 0x8e, 0xd3, 0x2d, 0x9e, 0xb, 0x33, 0x1, 0x4, 0xca, 0x9e, 0xcd, 0xbb, 0xc3, 0x89, 0x4e, 0x30, 0x57, 0x4e, 0x5f, 0x62, 0x6c, 0xd0, 0x24, 0xbb, 0xb0, 0xb7, 0x5f, 0x12, 0xf2, 0xa5, 0x97, 0xb5, 0xfa, 0xce, 0x31, 0x15, 0x29, 0xca, 0x9f, 0x2c, 0xd9, 0x94, 0x73, 0x87, 0x71, 0x82, 0xb5, 0xf5, 0x86, 0x1c, 0x7a, 0x54, 0xb8, 0xc7, 0x3d, 0x88, 0x0, 0xa6, 0x3, 0x43, 0x5d, 0x1f, 0x4b, 0x35, 0x4f, 0xc8, 0x9d, 0x66, 0x74, 0x91, 0xc5, 0xc4, 0x4, 0xe3, 0x4a, 0x19, 0x55, 0xb0, 0x35, 0x20, 0xfd, 0xcf, 0x6d, 0xee, 0x60, 0xf3, 0x4, 0x76, 0x65, 0xa4, 0xca, 0xf3, 0x42, 0x9b, 0xc1, 0x77, 0x9c, 0x2a, 0x51, 0x92, 0x4a, 0x86, 0x30, 0xe1, 0xdc, 0x8b, 0x84, 0x30, 0xbd, 0x60, 0xa6, 0x23, 0xe5, 0x2b, 0x7d, 0xca, 0x83, 0xa4, 0xd6, 0xcc, 0x68, 0xf4, 0xc3, 0xf0, 0xf8, 0xa3, 0xd2, 0x4f, 0xa9, 0x48, 0xe6, 0x50, 0x6c, 0xe2, 0x8a, 0x59, 0x3d, 0xe5, 0xc2, 0x7e, 0xb, 0x43, 0x72, 0x6f, 0xdf, 0x85, 0x59, 0x80, 0x63, 0xc8, 0x76, 0x3d, 0x28, 0x85, 0x44, 0x37, 0xe1, 0xf3, 0x3a, 0xe2, 0x8f, 0xf2, 0x73, 0x7a, 0xe2, 0x78, 0xb0, 0xed, 0xfa, 0x94, 0xa7, 0x2c, 0x52, 0x41, 0x7f, 0x60, 0xde, 0xe1, 0x59, 0xcc, 0x93, 0xa6, 0x45, 0xf9, 0x2b, 0xd2, 0x64, 0xeb, 0xac, 0x54, 0x64, 0xb8, 0x13, 0x49, 0xe0, 0xe4, 0x17, 0x59, 0x56, 0x83, 0x98, 0xd6, 0x9e, 0x32, 0x7a, 0x2c, 0xb5, 0xae, 0xae, 0xed, 0x67, 0x5b, 0xe, 0xb5, 0x51, 0x8e, 0xcd, 0xa2, 0x76, 0x77, 0x17, 0x94, 0xd1, 0xac, 0x6a, 0xd4, 0xe3, 0x50, 0x9d, 0xe2, 0x18, 0x33, 0x53, 0xd4, 0x58, 0x64, 0xad, 0x53, 0x51, 0x9a, 0x70, 0xed, 0x25, 0x2f, 0xba, 0x98, 0x2f, 0x2a, 0xc5, 0xaf, 0x0, 0xde, 0x51, 0x4c, 0x8d, 0x15, 0x42, 0x2a, 0x7, 0x59, 0x8e, 0x30, 0x20, 0x56, 0xd9, 0x45, 0xcb, 0xa8, 0xcf, 0xae, 0xa0, 0xd6, 0x41, 0x15, 0x55, 0xe4, 0x9a, 0xd0, 0x95, 0x58, 0xe4, 0xb1, 0xde, 0xe, 0xb7, 0x37, 0xf5, 0xf6, 0x9a, 0x1e, 0xdf, 0xa5, 0x96, 0x53, 0xb3, 0x2e, 0x94, 0xee, 0x4, 0xd5, 0xc, 0x36, 0x3a, 0x32, 0xb9, 0xe0, 0x2f, 0x1b, 0x17, 0x7c, 0xa4, 0x16, 0xe0, 0xf2, 0xa7, 0x44, 0x21, 0xb8, 0x87, 0x1d, 0xd6, 0x26, 0x46, 0x3a, 0xa5, 0x15, 0x59, 0x18, 0x6d, 0xa0, 0x23, 0xb1, 0x7d, 0x57, 0x2e, 0xb8, 0xf1, 0x17, 0x1a, 0x96, 0x3c, 0x55, 0x38, 0xda, 0x2, 0xf0, 0x24, 0x66, 0x44, 0x63, 0x3a, 0x42, 0x5d, 0x81, 0x7a, 0xfb, 0x2a, 0xee, 0xd2, 0x52, 0x77, 0xcd, 0xda, 0x12, 0x1c, 0x7, 0x58, 0x7f, 0x91, 0x0, 0xfd, 0x8, 0xbc, 0x4c, 0xd7, 0xa7, 0xa7, 0x8b, 0x2b, 0xc5, 0xbe, 0x95, 0xb5, 0xca, 0xd1, 0xe8, 0x47, 0x8a, 0x2e, 0xd8, 0x1e, 0x7b, 0x82, 0xe2, 0x96, 0x8d, 0x6, 0x88, 0xf9, 0x25, 0x3, 0xa8, 0x9a, 0x48, 0x3d, 0xeb, 0xfa, 0x65, 0xff, 0xb2, 0xcf, 0x8b, 0xee, 0x62, 0xdd, 0xf3, 0x2d, 0x92, 0xfa, 0xfb, 0xbd, 0xe5, 0x45, 0x74, 0x3f, 0x52, 0x15, 0xaf, 0x64, 0x8d, 0x29, 0xb8, 0xb9, 0x9, 0xf1, 0x96, 0xfc, 0xc6, 0x5e, 0xa3, 0x58, 0x26, 0x65, 0xaf, 0xb6, 0x48, 0x41, 0x29, 0xa, 0xe6, 0x86, 0x55, 0x94, 0x9e, 0x8a, 0xa, 0x40, 0xc1, 0x84, 0x85, 0x5b, 0xa5, 0x52, 0x33, 0x91, 0x54, 0xcf, 0xe0, 0xd4, 0x84, 0xf, 0x5c, 0xe6, 0x98, 0x51, 0x83, 0x55, 0x2b, 0x41, 0x6b, 0xb1, 0x56, 0xb9, 0xf8, 0x94, 0xb3, 0x44, 0xf0, 0x24, 0x95, 0x4a, 0x38, 0x2e, 0x8a, 0x7f, 0xf6, 0x2a, 0xf1, 0x92, 0xaf, 0x23, 0x65, 0x55, 0x88, 0x1c, 0x43, 0x70, 0x79, 0xb6, 0xf6, 0x30, 0x3d, 0x8c, 0x1b, 0x77, 0xe0, 0xbb, 0xc8, 0x3e, 0x23, 0xb2, 0xdc, 0xed, 0xd4, 0xb1, 0xe0, 0x59, 0xbc, 0x28, 0x53, 0x1c, 0x8f, 0x98, 0xf1, 0xf8, 0xab, 0xcf, 0xfc, 0xb, 0x65, 0xc1, 0xc6, 0x34, 0x75, 0xce, 0xa7, 0xda, 0x7c, 0x6f, 0xf7, 0xf2, 0x18, 0x91, 0x1d, 0x23, 0x32, 0x69, 0x8a, 0xe5, 0x92, 0x67, 0x9d, 0x13, 0xbf, 0x5c, 0x44, 0xb1, 0x4d, 0x42, 0x8d, 0x17, 0x3a, 0xcb, 0x91, 0x65, 0x1b, 0x36, 0x2b, 0x42, 0xc8, 0x64, 0xfa, 0x11, 0xe8, 0xf7, 0x38, 0xa3, 0x4f, 0x92, 0xb6, 0xb8, 0xc2, 0x16, 0x5d, 0xe5, 0x3b, 0xa0, 0xfb, 0x45, 0xaf, 0xfe, 0x6a, 0xb4, 0xfa, 0x76, 0x95, 0x72, 0xa9, 0xa2, 0x57, 0xa7, 0x42, 0xc5, 0x3a, 0x11, 0x89, 0x7b, 0x94, 0x98, 0xc1, 0x0, 0x5e, 0x9c, 0x5c, 0x32, 0xff, 0x31, 0xbe, 0xbe, 0x62, 0x1, 0x25, 0x4f, 0x1, 0x18, 0xeb, 0x44, 0x6c, 0xa6, 0x72, 0x91, 0xcd, 0x78, 0x2c, 0x90, 0x89, 0x29, 0xf8, 0x3, 0xc3, 0x2d, 0x3, 0x61, 0x1e, 0x7b, 0x64, 0x94, 0xce, 0x23, 0x5, 0x31, 0x6b, 0xef, 0x61, 0x85, 0x1, 0x40, 0x34, 0x1b, 0x8c, 0x49, 0xa9, 0x58, 0x84, 0x7b, 0x29, 0x7a, 0xc5, 0x8c, 0xcc, 0xb, 0x2, 0xcf, 0x0, 0x6d, 0xcf, 0x8d, 0x4, 0x9c, 0x19, 0x6, 0xb1, 0xdc, 0x6c, 0x2f, 0x3, 0x5a, 0xc6, 0xff, 0xf9, 0xe6, 0x8d, 0xd5, 0xf9, 0xf3, 0xa, 0x88, 0x77, 0x13, 0xb9, 0xfb, 0xb3, 0xa, 0x4e, 0xda, 0x81, 0x32, 0xb4, 0x9a, 0x37, 0x2e, 0xc, 0x7d, 0xef, 0x97, 0xb7, 0x2c, 0x6e, 0x45, 0x28, 0x5a, 0x7, 0x5d, 0x97, 0xa, 0x8e, 0xa6, 0x86, 0xc6, 0x3a, 0x4f, 0xff, 0xef, 0xdf, 0xbc, 0x79, 0xf3, 0x86, 0xb5, 0xcd, 0xff, 0x2e, 0x97, 0xf2, 0x28, 0xe4, 0x7a, 0xc2, 0x81, 0x58, 0x4b, 0x19, 0x53, 0x1b, 0x67, 0xb9, 0x50, 0x7e, 0x9c, 0xd3, 0xf5, 0xd6, 0x38, 0x37, 0xf5, 0xef, 0x9f, 0xd0, 0xe6, 0x78, 0x21, 0xf, 0x21, 0xb5, 0x72, 0x91, 0x71, 0xa9, 0xf8, 0xfc, 0xe0, 0x50, 0xb4, 0xd9, 0xc4, 0xfd, 0x6e, 0xdd, 0x8d, 0x1b, 0x1f, 0x27, 0xd0, 0xf0, 0x56, 0xa9, 0x21, 0xc0, 0xcb, 0x7a, 0x71, 0x3b, 0x18, 0x5d, 0x8d, 0xae, 0x7e, 0xf0, 0x75, 0x7e, 0x1e, 0x41, 0xf, 0x11, 0xe8, 0x4d, 0xae, 0x57, 0x86, 0x82, 0x26, 0x0, 0x41, 0x23, 0x2a, 0xa0, 0x6a, 0x27, 0x58, 0xa8, 0x9b, 0x6a, 0x35, 0xb7, 0x4b, 0x43, 0x39, 0x96, 0xd6, 0x30, 0x42, 0x1c, 0x9b, 0xd7, 0x40, 0xeb, 0x55, 0x7e, 0x9, 0xc2, 0x91, 0x42, 0xd9, 0x77, 0x0, 0xb0, 0x13, 0x90, 0x1e, 0x56, 0x52, 0xa9, 0x10, 0xcd, 0xc0, 0x93, 0xbe, 0xa1, 0x4c, 0xa0, 0xe, 0x35, 0x1c, 0xdb, 0x94, 0x9b, 0xfc, 0x1c, 0xc1, 0x65, 0x3e, 0x1f, 0xee, 0xd, 0x64, 0x99, 0xd2, 0x5c, 0x33, 0x5c, 0xa9, 0x3a, 0x84, 0x9b, 0xad, 0x6e, 0x8a, 0xf8, 0xe3, 0xe7, 0xee, 0x26, 0x32, 0xee, 0xb2, 0x18, 0xbf, 0x8d, 0xe8, 0xcf, 0xae, 0xe7, 0xe, 0xa7, 0xa7, 0x66, 0x86, 0xf7, 0x3a, 0x98, 0x0, 0xde, 0xef, 0x4b, 0x42, 0x7d, 0xf3, 0x56, 0xff, 0x15, 0xe9, 0x8a, 0x79, 0xce, 0xcb, 0x44, 0x20, 0xc2, 0x81, 0xc0, 0x4d, 0x80, 0x28, 0x5e, 0x86, 0xcf, 0x4, 0x70, 0xea, 0x24, 0xc2, 0x8a, 0x18, 0x69, 0xc, 0x1e, 0x76, 0x87, 0xec, 0xc4, 0xae, 0xa0, 0x44, 0x14, 0x40, 0xc6, 0xac, 0xaa, 0x90, 0x8a, 0xa, 0xc8, 0xe3, 0xd6, 0x96, 0xdb, 0x3e, 0xf6, 0xb5, 0x67, 0xe3, 0x59, 0x9e, 0x69, 0xc2, 0x2d, 0xbb, 0x87, 0xbd, 0x6c, 0xb5, 0xdb, 0xf1, 0x64, 0x30, 0xb9, 0x1b, 0x37, 0xf9, 0xa1, 0x9b, 0x1e, 0x77, 0x87, 0xae, 0xf3, 0xb3, 0x3b, 0x7c, 0xc4, 0xfb, 0x74, 0xab, 0x1e, 0x3, 0x68, 0x5d, 0xbb, 0xa5, 0xd1, 0x1b, 0x8b, 0xe2, 0xb2, 0x16, 0x79, 0x51, 0xc3, 0xba, 0x22, 0x47, 0x47, 0x22, 0x62, 0x99, 0x94, 0xa4, 0xaf, 0xf9, 0x42, 0x20, 0x13, 0x24, 0x2c, 0x70, 0xba, 0xae, 0x2e, 0x6f, 0x20, 0x68, 0x9c, 0xdb, 0xb1, 0xc3, 0x20, 0xce, 0x98, 0x5b, 0x44, 0x86, 0xab, 0xe8, 0xd2, 0x2f, 0x36, 0xc8, 0x5e, 0x77, 0xcd, 0x3b, 0x7a, 0x8b, 0x9a, 0xc7, 0x45, 0xad, 0x82, 0xa, 0x32, 0x5d, 0x57, 0x0, 0x84, 0x90, 0x80, 0xe, 0xb9, 0x6b, 0xd3, 0xd4, 0x3d, 0x12, 0xa9, 0x5a, 0x41, 0x86, 0x17, 0xa5, 0xdb, 0xad, 0x84, 0xf4, 0x3b, 0x15, 0x95, 0xa9, 0x10, 0x9, 0x4d, 0x50, 0x87, 0xae, 0x3b, 0x3f, 0xd7, 0x5e, 0x3d, 0xd7, 0xd9, 0x6, 0x9e, 0x4e, 0xf, 0x86, 0xb0, 0x4, 0xf8, 0x81, 0xa9, 0xa0, 0x81, 0xf8, 0x90, 0x6d, 0xa4, 0xfe, 0x58, 0x88, 0x4c, 0x8a, 0x32, 0x10, 0xb7, 0x8d, 0x74, 0xb3, 0x31, 0xaa, 0xc6, 0x21, 0x59, 0x3b, 0xe, 0xf, 0xbe, 0x16, 0x6, 0x41, 0xd4, 0x1a, 0xf0, 0x6b, 0xd0, 0x9f, 0x20, 0xca, 0xa7, 0x1b, 0x1e, 0x44, 0xef, 0x8a, 0x5e, 0x12, 0x3c, 0xc6, 0x27, 0xf4, 0x30, 0x21, 0x7e, 0x1f, 0x1, 0x2, 0x64, 0x82, 0xde, 0xaa, 0x92, 0xa9, 0x35, 0x6d, 0x3f, 0xf2, 0x51, 0x85, 0x5e, 0x57, 0x38, 0x6, 0xbe, 0x0, 0x1, 0xbc, 0xc1, 0x59, 0x8, 0xca, 0xb2, 0x25, 0x5a, 0x8e, 0x4, 0xac, 0xda, 0xf5, 0xb2, 0xbf, 0x15, 0xa9, 0xe0, 0xa6, 0x25, 0xf, 0x26, 0x13, 0x48, 0x5a, 0x92, 0x6c, 0x57, 0x1a, 0x3c, 0xbb, 0x4d, 0xa9, 0x4c, 0x9e, 0x15, 0x71, 0xad, 0x3b, 0xb1, 0x4b, 0x76, 0x1b, 0x4f, 0x45, 0xb6, 0x8d, 0x61, 0xff, 0xb9, 0x90, 0xff, 0x7, 0xf6, 0xeb, 0xbb, 0xf3, 0x32, 0xed, 0x2d, 0x7d, 0x77, 0x34, 0xc, 0xbd, 0xee, 0xb7, 0x69, 0xb0, 0x8f, 0x4a, 0x7a, 0x1c, 0x32, 0x10, 0xe8, 0x7a, 0x75, 0x17, 0x1d, 0x42, 0x11, 0xf8, 0xf5, 0x65, 0x19, 0x2e, 0x5c, 0x9, 0x12, 0x4c, 0x88, 0xd8, 0xf6, 0xbf, 0x38, 0xe7, 0x18, 0x9b, 0x23, 0x4c, 0xdb, 0x70, 0x19, 0x9b, 0xb6, 0xf3, 0x31, 0xec, 0x5c, 0xf1, 0x4b, 0xc8, 0xbd, 0x6d, 0x4d, 0x70, 0xcc, 0xa6, 0x32, 0xcf, 0xfe, 0x3f, 0xf6, 0xde, 0xb5, 0xb9, 0x6d, 0x24, 0x4b, 0x1b, 0xfc, 0x3e, 0xbf, 0x22, 0xc3, 0x11, 0x1b, 0x96, 0x6a, 0x28, 0x56, 0xd9, 0x3d, 0xbb, 0x11, 0xeb, 0x7e, 0x67, 0x22, 0x68, 0x89, 0xae, 0xe2, 0xda, 0x96, 0xd4, 0x24, 0x55, 0xee, 0xde, 0x46, 0x7, 0x95, 0x2, 0x92, 0x52, 0x8e, 0xc0, 0x4, 0x1b, 0x9, 0x48, 0x66, 0xef, 0x3b, 0xff, 0x7d, 0x23, 0xcf, 0x39, 0x79, 0x1, 0x8, 0x90, 0xa0, 0x48, 0xc9, 0xae, 0xee, 0xfa, 0x30, 0xd3, 0x65, 0x11, 0x48, 0xe4, 0xf5, 0xe4, 0xb9, 0x3e, 0xf, 0xcf, 0x57, 0x3e, 0xd1, 0xb1, 0xb, 0xe5, 0xbc, 0x87, 0x25, 0x7d, 0x4f, 0xe0, 0x28, 0x7b, 0x69, 0x12, 0xa3, 0xf3, 0x9f, 0x67, 0xef, 0x87, 0xbf, 0xc, 0x7e, 0x1d, 0x5d, 0x8c, 0xb7, 0x68, 0x11, 0x95, 0x47, 0x2f, 0x47, 0xe7, 0xe7, 0xdb, 0x9f, 0x1a, 0x5c, 0x4d, 0x2f, 0x66, 0x57, 0x97, 0x3f, 0x8f, 0x7, 0x67, 0xc3, 0x2e, 0xa, 0xc4, 0xd6, 0xde, 0xb4, 0xec, 0x5b, 0x63, 0x18, 0xd8, 0xe9, 0x70, 0x77, 0xb1, 0xb6, 0x1e, 0xbd, 0xbb, 0xec, 0xb1, 0x11, 0x27, 0x88, 0x2d, 0xb2, 0x7, 0xe0, 0x6b, 0x47, 0x88, 0x94, 0xb5, 0x4b, 0x2d, 0x52, 0xbf, 0x3a, 0x60, 0x6f, 0x73, 0xe3, 0x34, 0x7d, 0x2c, 0x9b, 0x37, 0x37, 0x6d, 0xec, 0x56, 0xcb, 0xaa, 0xb5, 0x4e, 0xc0, 0x8e, 0xc1, 0x1d, 0xc4, 0xb9, 0xb7, 0xee, 0x68, 0x1d, 0xd0, 0x6e, 0x59, 0xb6, 0x2d, 0x4c, 0x4c, 0xa5, 0x36, 0x7b, 0xf6, 0xe6, 0xe7, 0xa9, 0xce, 0x6c, 0x5d, 0x1d, 0x52, 0xad, 0x71, 0x85, 0x4, 0xa, 0xe6, 0xc2, 0x30, 0x57, 0x2e, 0x57, 0x49, 0x80, 0x30, 0xed, 0xef, 0x26, 0x0, 0x56, 0xf6, 0xc3, 0xb8, 0xa0, 0xda, 0xbc, 0xe3, 0x9a, 0xa, 0xd4, 0xb6, 0xc, 0x1, 0x7d, 0x8c, 0x1f, 0xa9, 0xb, 0xfb, 0xdd, 0xf1, 0x7, 0xe1, 0xd5, 0xe6, 0xca, 0x2c, 0x71, 0xc4, 0xa4, 0x21, 0x26, 0xb4, 0x80, 0xd2, 0xc4, 0xb3, 0x2, 0x81, 0x47, 0xb4, 0x4e, 0xf9, 0xc3, 0x6, 0x8a, 0xd5, 0x9, 0x50, 0x8, 0x82, 0x1f, 0xa6, 0xc8, 0xdc, 0xfd, 0x48, 0x26, 0x6, 0x88, 0x28, 0x6b, 0x10, 0xb8, 0x30, 0xe0, 0x48, 0xb5, 0x23, 0xfa, 0x82, 0x23, 0xc2, 0xa8, 0x1e, 0x98, 0x12, 0xae, 0x5, 0xbb, 0xb4, 0xb4, 0x34, 0x45, 0xc6, 0xee, 0x85, 0x58, 0x3a, 0x10, 0x98, 0x38, 0x23, 0xda, 0x7d, 0xac, 0x17, 0xc5, 0xcc, 0xe1, 0x65, 0x6e, 0x86, 0xe7, 0x44, 0x1f, 0x58, 0x15, 0x89, 0x0, 0xd2, 0xd7, 0x48, 0xc1, 0x13, 0x4d, 0xdd, 0xd7, 0xfd, 0xd6, 0xd9, 0xc6, 0x73, 0x15, 0x4c, 0x34, 0xb8, 0xa9, 0x91, 0x4b, 0xde, 0x6c, 0x2b, 0x20, 0x37, 0x80, 0xf2, 0x43, 0xab, 0x71, 0x11, 0xa8, 0x90, 0xf2, 0xe1, 0x59, 0x54, 0x2, 0xb, 0x8a, 0xed, 0x3, 0x82, 0x4b, 0xc3, 0xa6, 0xa6, 0x98, 0xa4, 0xf, 0x3c, 0xb2, 0xa3, 0xe2, 0x2e, 0x40, 0x2e, 0xc6, 0xa0, 0x82, 0xd4, 0xbe, 0x2b, 0x52, 0x7, 0x6d, 0x57, 0x52, 0x34, 0xa4, 0x8a, 0xd4, 0xb5, 0xc7, 0x62, 0x9d, 0x49, 0x35, 0xcf, 0xfa, 0x15, 0xb0, 0x6e, 0xaa, 0x17, 0xbc, 0xc4, 0xf7, 0xed, 0x47, 0xb2, 0x6a, 0xac, 0xc7, 0x13, 0x11, 0x56, 0xb8, 0x16, 0x2a, 0xc3, 0xa5, 0x86, 0xea, 0xd0, 0xd3, 0xd9, 0xbc, 0x46, 0xfc, 0xd0, 0x63, 0x59, 0x6e, 0x31, 0xc, 0x23, 0x15, 0x0, 0xc1, 0x1a, 0x2d, 0x8b, 0xaf, 0xc1, 0xdc, 0xc2, 0x5a, 0x39, 0x0, 0x72, 0xf3, 0x2b, 0xb, 0xb0, 0x82, 0xaf, 0x2f, 0xaf, 0x7b, 0xee, 0xe0, 0x56, 0xfa, 0xe5, 0xa7, 0x13, 0xdb, 0xbd, 0xfc, 0x3f, 0xc0, 0xe, 0x8f, 0xc1, 0xb6, 0xc5, 0x78, 0x54, 0x13, 0x24, 0x36, 0xfb, 0x42, 0x56, 0x4a, 0x20, 0x3c, 0xe6, 0x18, 0xa3, 0x23, 0x76, 0xd7, 0x48, 0xd9, 0x77, 0x6e, 0xf3, 0xac, 0x5c, 0x12, 0x88, 0xa3, 0xb6, 0x9b, 0xc0, 0x2d, 0xca, 0xe8, 0x8c, 0x70, 0x9b, 0x12, 0xf7, 0xa1, 0xa0, 0xe7, 0x34, 0xa1, 0x10, 0x1b, 0xa3, 0xb3, 0x28, 0x52, 0x89, 0x78, 0x85, 0x1a, 0xc3, 0x4a, 0xd9, 0xdc, 0xed, 0x6a, 0xc4, 0x49, 0x8d, 0x33, 0x15, 0x8b, 0x5c, 0x69, 0x32, 0xad, 0xc0, 0x43, 0x7, 0x1b, 0x1b, 0x1c, 0xc, 0x34, 0x22, 0x99, 0xc3, 0x81, 0xe8, 0x47, 0xca, 0x1d, 0x18, 0x52, 0xfd, 0x49, 0x91, 0x87, 0x37, 0xd6, 0x1c, 0x2b, 0x78, 0x88, 0xc0, 0x51, 0xd1, 0x8f, 0x14, 0xa5, 0xbf, 0x6, 0x58, 0xf2, 0xe2, 0xeb, 0x32, 0x95, 0xb1, 0x2c, 0xd2, 0x15, 0x7b, 0x90, 0xdc, 0x96, 0x9a, 0xb5, 0x45, 0x85, 0xaf, 0x21, 0xe0, 0x5e, 0x64, 0x20, 0xc8, 0x71, 0xd2, 0xbc, 0x5c, 0xa, 0xa0, 0xb7, 0xd7, 0xed, 0x94, 0x7e, 0xa4, 0x6, 0x9e, 0x71, 0x25, 0x9b, 0xb3, 0x6b, 0x3c, 0x78, 0xd7, 0xac, 0xaa, 0xc8, 0x5b, 0x13, 0xc4, 0x41, 0x21, 0x35, 0x34, 0xc5, 0x86, 0x5f, 0xc1, 0x39, 0x65, 0x1, 0xd0, 0xa5, 0x36, 0xe6, 0x0, 0x39, 0x51, 0x9d, 0x57, 0xcb, 0xc1, 0x8c, 0x86, 0x64, 0x2d, 0x4, 0xd8, 0x69, 0x31, 0xda, 0xac, 0x93, 0x81, 0xf0, 0xdc, 0x82, 0xcd, 0xd6, 0x70, 0x7e, 0x81, 0x49, 0xc2, 0xc2, 0xe6, 0x6a, 0x51, 0xfd, 0x88, 0x3, 0x73, 0xb, 0xfa, 0x6f, 0x8f, 0x4c, 0x83, 0xd5, 0x46, 0xa7, 0x27, 0x7b, 0x54, 0xc8, 0x8a, 0x19, 0xb2, 0x7a, 0x6d, 0xbb, 0xd7, 0xeb, 0xb2, 0xaa, 0xa, 0xab, 0x87, 0x2b, 0x93, 0x35, 0x9, 0x2e, 0x37, 0x35, 0x80, 0x17, 0x57, 0xa5, 0x54, 0x94, 0x3a, 0xe0, 0x35, 0xfd, 0x5d, 0x2a, 0x3c, 0x87, 0x54, 0x8, 0x89, 0x26, 0x9c, 0x70, 0x30, 0x52, 0xbd, 0x94, 0x85, 0x23, 0x21, 0x4d, 0x33, 0x75, 0x7b, 0x62, 0x93, 0xc6, 0x82, 0xa3, 0xa1, 0x8d, 0xbd, 0xa, 0x35, 0x27, 0x30, 0xf1, 0xb, 0x7f, 0x8, 0xa9, 0x9b, 0x44, 0x50, 0xba, 0xbe, 0xd7, 0x50, 0x8b, 0x71, 0xa6, 0xb6, 0x37, 0xfe, 0xbb, 0xdd, 0xc0, 0x18, 0xbe, 0xdf, 0x70, 0x5, 0x9b, 0x5e, 0x93, 0x27, 0x34, 0xd8, 0x53, 0xab, 0x25, 0x90, 0x37, 0xd5, 0xce, 0x7c, 0xb8, 0x8d, 0x37, 0x9d, 0xfc, 0xe6, 0x13, 0x13, 0xae, 0x7c, 0x28, 0x78, 0x8e, 0x78, 0xf5, 0x6a, 0x64, 0x2d, 0x17, 0x63, 0xb5, 0x54, 0x1e, 0xf8, 0x60, 0x5c, 0x6a, 0x82, 0x77, 0x28, 0xc0, 0x79, 0x38, 0x6e, 0x10, 0x32, 0xec, 0x49, 0x32, 0x26, 0x52, 0x5d, 0x84, 0xc, 0x6b, 0x96, 0x31, 0xbd, 0xcd, 0x42, 0x86, 0x47, 0xca, 0x17, 0x5b, 0x36, 0xcc, 0x19, 0x8f, 0xe3, 0x2c, 0x4f, 0x2, 0xb6, 0xdc, 0x53, 0xef, 0x3b, 0xb5, 0xdb, 0x7a, 0x8b, 0x70, 0xa, 0x88, 0x9d, 0x7c, 0xe, 0xa8, 0x66, 0xba, 0x28, 0xe3, 0x7b, 0xcc, 0xe3, 0x22, 0xb2, 0xd1, 0x5b, 0x91, 0xd4, 0x3a, 0x8a, 0x3b, 0xcd, 0x48, 0xa7, 0x13, 0x67, 0x8b, 0x7a, 0xde, 0xaa, 0x50, 0x9a, 0x44, 0x8a, 0xc0, 0xf3, 0x7a, 0x8e, 0xe4, 0xd7, 0x1c, 0xf, 0xec, 0xb7, 0x4b, 0x6e, 0xb, 0xe8, 0x94, 0x2b, 0x1f, 0xf3, 0xc9, 0x5c, 0xc2, 0xae, 0x6d, 0x96, 0x3a, 0x95, 0xa7, 0xcd, 0xe4, 0xd, 0xb4, 0xf1, 0x7d, 0xac, 0x5e, 0xbc, 0x70, 0xbb, 0xf9, 0x5c, 0xd6, 0xbf, 0x8c, 0xda, 0x99, 0xeb, 0xc7, 0x26, 0xeb, 0xd5, 0x3e, 0x54, 0xd9, 0x43, 0x36, 0xe1, 0xc4, 0xaa, 0x79, 0x35, 0xea, 0x4e, 0x56, 0xf7, 0xc8, 0x78, 0x9, 0xb4, 0xf, 0x1e, 0xc5, 0xe6, 0xae, 0x34, 0x89, 0xb9, 0x96, 0xfe, 0xdc, 0xac, 0x1b, 0xd4, 0x1b, 0x2d, 0xfe, 0x6, 0x53, 0x7c, 0x53, 0x3f, 0xc7, 0x8, 0xb5, 0x9d, 0x54, 0xb, 0x4a, 0xb1, 0xa4, 0xde, 0xa2, 0xa4, 0xb4, 0xf1, 0x64, 0xf8, 0x72, 0xd4, 0xae, 0x9d, 0xf3, 0x7, 0xa9, 0x53, 0xa7, 0xcc, 0x59, 0x8, 0x6f, 0x1, 0xab, 0xf, 0xf5, 0x19, 0x70, 0xb7, 0xdc, 0x8, 0xc8, 0x15, 0x5b, 0x7b, 0xaa, 0x22, 0x41, 0xfb, 0x91, 0x1a, 0x1, 0x54, 0xa, 0x18, 0xdf, 0x1, 0x16, 0x9a, 0xef, 0x3d, 0x90, 0x51, 0xd4, 0x24, 0xf, 0x2b, 0xb2, 0x4d, 0x53, 0xd2, 0xc7, 0x3d, 0xdd, 0xdf, 0xc2, 0x24, 0x82, 0x4f, 0xed, 0x4f, 0x6a, 0xd2, 0x7d, 0x42, 0xf8, 0xd, 0xca, 0xd1, 0xea, 0x73, 0x46, 0x8f, 0x73, 0xcf, 0x76, 0x98, 0x90, 0x7, 0x4f, 0xe1, 0xd2, 0x30, 0x31, 0x8e, 0x2e, 0xc, 0xdd, 0x7b, 0x91, 0x8a, 0x5e, 0xfd, 0xaf, 0x80, 0x5d, 0x45, 0xf1, 0x85, 0xf8, 0xaf, 0xfe, 0xff, 0x2, 0x12, 0xb8, 0x99, 0x4c, 0xfe, 0x2b, 0x7a, 0xf5, 0xd4, 0x99, 0xdc, 0xe6, 0x20, 0xbc, 0xa2, 0xd4, 0xfa, 0x2c, 0x3c, 0x6c, 0x1, 0xfb, 0x86, 0x9b, 0x82, 0x23, 0x80, 0x2b, 0xc6, 0xf3, 0xbf, 0x3e, 0x4c, 0xd0, 0xbd, 0x8, 0x7f, 0xfe, 0x26, 0x15, 0xc7, 0xe0, 0x3f, 0x89, 0x94, 0x23, 0x8f, 0x6b, 0x0, 0x73, 0x66, 0x16, 0x49, 0x8, 0xd1, 0x82, 0xdc, 0xf7, 0xf9, 0xbd, 0xd0, 0x46, 0x63, 0x8e, 0x45, 0x2, 0x84, 0xf5, 0x50, 0xa4, 0x8a, 0xf3, 0x7b, 0x2, 0xb, 0x43, 0x2e, 0xb5, 0x48, 0x4d, 0x84, 0x40, 0x52, 0x9f, 0x8a, 0xd, 0x31, 0x32, 0x57, 0x71, 0x95, 0x9b, 0xec, 0x1a, 0x4, 0x3b, 0xc4, 0x85, 0x83, 0x84, 0x4a, 0x54, 0x3f, 0x5d, 0x75, 0x3a, 0x8, 0x74, 0xea, 0x45, 0xf, 0xd3, 0xac, 0xb6, 0x9a, 0x29, 0x44, 0x67, 0x6e, 0x8e, 0x50, 0xa4, 0xae, 0xd7, 0x5, 0xef, 0x75, 0xcf, 0xd6, 0x2f, 0x20, 0x50, 0x1d, 0x26, 0x8b, 0xce, 0x16, 0x5c, 0xdf, 0x5f, 0x57, 0xb, 0x1a, 0x28, 0x41, 0xdb, 0x67, 0x69, 0x2c, 0xca, 0xc2, 0x31, 0x57, 0xd4, 0xc4, 0xae, 0xeb, 0x26, 0xde, 0xfe, 0x55, 0xc5, 0xdc, 0x83, 0xed, 0xde, 0xac, 0xd6, 0x21, 0xab, 0xdd, 0x3a, 0xe4, 0x2, 0xdc, 0xa8, 0xbd, 0x3a, 0xc6, 0x71, 0x10, 0xf1, 0xe8, 0x39, 0xe4, 0xdf, 0xd, 0x7c, 0x0, 0x3e, 0xc7, 0x6d, 0x9f, 0xeb, 0x2d, 0x6d, 0x2b, 0xee, 0xd9, 0x28, 0xa, 0xf7, 0xcf, 0xc1, 0x1c, 0xd1, 0xfc, 0xeb, 0x30, 0xc5, 0x6f, 0x5b, 0x1a, 0xe6, 0xc2, 0xc8, 0x9, 0xe4, 0x2e, 0xc1, 0x8c, 0xbe, 0x48, 0xb9, 0xfc, 0x70, 0x48, 0x5c, 0xc5, 0xbc, 0xc3, 0x7e, 0xa4, 0xce, 0x2f, 0xa6, 0xc3, 0x77, 0xe8, 0x9, 0xa3, 0x44, 0xd4, 0x2c, 0xbf, 0x37, 0xfa, 0xf0, 0x2d, 0x9a, 0x3, 0xb0, 0x7d, 0xdc, 0xbb, 0x54, 0x53, 0xe1, 0xcb, 0xaa, 0x6d, 0xc2, 0xcb, 0xcd, 0x2a, 0x52, 0xd5, 0xba, 0xb, 0x76, 0x14, 0x26, 0x2e, 0xc2, 0x5f, 0x8f, 0xe9, 0x40, 0x55, 0x1e, 0x93, 0xda, 0x26, 0x16, 0xba, 0xae, 0xa2, 0x76, 0xee, 0xd4, 0x58, 0x57, 0xc8, 0xe1, 0xba, 0x41, 0xa5, 0x1c, 0x8e, 0x4c, 0xb8, 0x5e, 0x17, 0x42, 0xb2, 0xd0, 0xd6, 0x76, 0xec, 0x20, 0x6b, 0x3c, 0x2b, 0xc, 0x26, 0x39, 0xbe, 0x46, 0xaa, 0x41, 0xbc, 0x3d, 0x9c, 0xfe, 0xe5, 0x12, 0x2d, 0x75, 0x99, 0x36, 0xd0, 0x46, 0x7f, 0x69, 0x2e, 0x30, 0x7c, 0x72, 0xb6, 0xe2, 0xa9, 0x19, 0xc6, 0x44, 0xfe, 0xa3, 0x55, 0x55, 0x31, 0x5d, 0xbc, 0x6d, 0xe7, 0xa6, 0x92, 0xaa, 0xf8, 0xc3, 0xdb, 0x96, 0x24, 0x42, 0x69, 0xd4, 0x45, 0xe4, 0x86, 0x6e, 0x70, 0xea, 0x6f, 0xd8, 0xdb, 0xe1, 0x20, 0x27, 0x4d, 0xad, 0xb4, 0xea, 0x5d, 0x3a, 0x6, 0x27, 0xe5, 0xbe, 0x1f, 0x1d, 0xb4, 0x36, 0xb5, 0x35, 0x90, 0x51, 0x4f, 0x82, 0xda, 0x37, 0x86, 0x69, 0xee, 0xc2, 0x3d, 0xee, 0xfd, 0xe0, 0xa2, 0x6e, 0xc8, 0x38, 0xf0, 0xb7, 0x7e, 0xa9, 0xe4, 0xdf, 0x4b, 0x34, 0x3d, 0x65, 0xd, 0x5e, 0xa2, 0x45, 0x33, 0xa1, 0xab, 0x6f, 0x2, 0x59, 0x90, 0x7, 0x85, 0x5b, 0xd9, 0x25, 0x4, 0xd9, 0x34, 0xdd, 0x2d, 0x79, 0x68, 0x13, 0x4a, 0x11, 0x6d, 0x8d, 0x64, 0xb9, 0xe4, 0xda, 0x75, 0x6b, 0x2d, 0xa0, 0x53, 0xa3, 0x80, 0x61, 0xba, 0x62, 0x45, 0xce, 0x21, 0xf7, 0xc7, 0xa2, 0x10, 0x85, 0xf3, 0x3a, 0x60, 0x6b, 0xdf, 0xb7, 0x86, 0x65, 0xa4, 0x62, 0xa3, 0xfc, 0x8b, 0x84, 0x95, 0xcb, 0xfa, 0xed, 0x35, 0x77, 0x6c, 0x7f, 0x8, 0xcf, 0x4f, 0x90, 0xe4, 0x16, 0x68, 0x6e, 0x21, 0x44, 0xf1, 0x2e, 0x52, 0x27, 0x6c, 0x54, 0xf8, 0x0, 0x45, 0xc8, 0xc7, 0xb4, 0x96, 0x42, 0x56, 0x34, 0x25, 0x8f, 0x51, 0xb, 0x77, 0x1c, 0x92, 0xcc, 0x88, 0xc4, 0x95, 0x38, 0xe4, 0x31, 0x98, 0xd2, 0x32, 0x85, 0xa0, 0x5c, 0xd0, 0x83, 0x33, 0x4c, 0x66, 0xb1, 0x8d, 0x49, 0xed, 0xe2, 0xfb, 0x5b, 0x5b, 0xb0, 0xf9, 0x30, 0xb6, 0x89, 0x97, 0x43, 0xa4, 0xc, 0x83, 0xf9, 0x59, 0x59, 0x34, 0x31, 0xbc, 0x6c, 0xd8, 0x6c, 0xf, 0x6f, 0xc6, 0x95, 0x97, 0x5a, 0x63, 0xdd, 0x9f, 0xb3, 0xc4, 0x9c, 0xb9, 0x7c, 0xb4, 0x3f, 0xe7, 0xcd, 0xa8, 0x86, 0xd2, 0x88, 0xe, 0x15, 0x2a, 0xf2, 0xbc, 0xcb, 0xd8, 0x2, 0x3f, 0x95, 0x34, 0xb0, 0x13, 0xd8, 0x34, 0xb4, 0x70, 0x5f, 0x52, 0xd2, 0x20, 0x38, 0xb3, 0xae, 0x2d, 0x2, 0xe4, 0x35, 0x15, 0x59, 0xd9, 0xa2, 0x4d, 0xc0, 0x12, 0xd2, 0x65, 0x7c, 0xc7, 0xb8, 0x66, 0xd7, 0x13, 0x51, 0xd4, 0x17, 0xf3, 0xb4, 0xc2, 0x37, 0x7a, 0x8d, 0x81, 0xb9, 0xa6, 0x7, 0xc7, 0x15, 0x22, 0xc4, 0x36, 0x23, 0x67, 0xc1, 0xcd, 0x6e, 0x78, 0x8e, 0xd9, 0xa, 0x39, 0x81, 0xee, 0x8, 0xcd, 0x5f, 0x7c, 0x8d, 0xd3, 0x52, 0x9b, 0x2d, 0x9f, 0x43, 0xae, 0x4e, 0x91, 0x1, 0x79, 0xb6, 0xa3, 0x16, 0xb0, 0x8e, 0xa8, 0x75, 0x69, 0x19, 0xa9, 0xe1, 0x62, 0x59, 0xac, 0xc2, 0x9c, 0x5b, 0xa8, 0x1d, 0x2d, 0x28, 0xd8, 0x7, 0xfa, 0xbc, 0xad, 0x60, 0x78, 0x4, 0x66, 0x4e, 0x7, 0xb2, 0xe9, 0x8e, 0x2b, 0x2, 0x4e, 0x5f, 0xd3, 0x98, 0x67, 0x7e, 0xd, 0xc2, 0x32, 0x1d, 0x4e, 0xf4, 0x9b, 0x61, 0xc7, 0x22, 0xd5, 0xde, 0x33, 0x36, 0xbd, 0x13, 0x2b, 0x88, 0x1b, 0x52, 0x45, 0x1d, 0x61, 0x76, 0xca, 0x9c, 0x65, 0x8f, 0xca, 0xf7, 0x82, 0xa6, 0x80, 0x3e, 0xce, 0x90, 0x23, 0x94, 0xe0, 0x3d, 0x51, 0x47, 0x33, 0x6, 0x5b, 0x9e, 0xc5, 0xa2, 0x35, 0xe3, 0xb2, 0x72, 0x6e, 0x8, 0x3d, 0x62, 0x17, 0xe8, 0xa0, 0x71, 0xdb, 0xfb, 0xdd, 0x34, 0xd5, 0x20, 0xf, 0x8e, 0x51, 0x57, 0x66, 0xb8, 0xed, 0x7d, 0xa2, 0xd1, 0xbc, 0x34, 0xc2, 0xb4, 0x4a, 0x82, 0xc2, 0xb1, 0x7c, 0x38, 0x15, 0xf, 0x5c, 0x15, 0x1, 0xbb, 0x9e, 0xb6, 0xde, 0x64, 0x99, 0x23, 0x5, 0x69, 0x98, 0xc2, 0xc1, 0xba, 0xe8, 0x75, 0x83, 0x86, 0xbc, 0xb1, 0x23, 0xff, 0xdf, 0x3d, 0xcc, 0xad, 0xba, 0xcb, 0xf2, 0xe2, 0xb8, 0x4e, 0xeb, 0x6a, 0xbd, 0x98, 0x46, 0x6f, 0x85, 0xd8, 0x2a, 0xb7, 0x4, 0x27, 0x66, 0x51, 0xb2, 0x79, 0xe0, 0xf1, 0xd4, 0x7d, 0x36, 0xb5, 0x91, 0xf7, 0x1e, 0xe3, 0xe1, 0xc7, 0x82, 0x46, 0x33, 0x85, 0xd5, 0x3d, 0xd2, 0x58, 0x8e, 0x39, 0x56, 0x1, 0x58, 0x60, 0xba, 0x48, 0x85, 0x97, 0x92, 0xcf, 0x87, 0x59, 0x94, 0x69, 0x21, 0x97, 0x69, 0x93, 0x3f, 0x58, 0xf7, 0x18, 0x28, 0xfa, 0xee, 0xb, 0xc8, 0x4d, 0xe4, 0xdc, 0xa1, 0x91, 0x8d, 0x2, 0x9b, 0xbe, 0x5a, 0x7a, 0x56, 0x94, 0xff, 0x49, 0x16, 0x97, 0xa6, 0x29, 0x27, 0x8a, 0x36, 0x5c, 0x8, 0xc7, 0x60, 0xdd, 0xfb, 0xe1, 0x20, 0x94, 0x20, 0x5c, 0xb6, 0x4, 0xc4, 0x27, 0x15, 0x9b, 0x8a, 0xc5, 0x32, 0xcb, 0x79, 0x6a, 0x95, 0xfc, 0x75, 0x9e, 0x23, 0x5c, 0xc5, 0x48, 0x61, 0xb2, 0x1, 0x5e, 0x53, 0x8c, 0xe7, 0xb9, 0x7c, 0x10, 0xba, 0x5a, 0x33, 0xdf, 0xa2, 0x56, 0xfb, 0x4e, 0xac, 0xd7, 0x77, 0x3e, 0x1, 0xf3, 0xcc, 0x36, 0x76, 0xbe, 0x9f, 0xa, 0xe7, 0x5c, 0x37, 0x30, 0xc6, 0x6b, 0x9c, 0xe6, 0x59, 0xe0, 0x7d, 0x5f, 0x64, 0x89, 0xf8, 0xcf, 0xff, 0xf4, 0xdc, 0xbf, 0x6d, 0x7e, 0x40, 0x84, 0x82, 0xde, 0xa3, 0x27, 0xd3, 0x3b, 0xe1, 0x78, 0xf0, 0xab, 0xbc, 0x0, 0x7d, 0xb6, 0x73, 0x2f, 0xeb, 0x4e, 0xf8, 0x48, 0x85, 0x34, 0x3, 0x36, 0xe8, 0x4f, 0x70, 0x77, 0xbc, 0x29, 0x42, 0xd9, 0x8e, 0xc0, 0x5e, 0x4f, 0x8a, 0xd8, 0xd, 0x8a, 0xa5, 0xf6, 0x6e, 0x27, 0xe7, 0x67, 0x98, 0x1f, 0x62, 0xde, 0xaa, 0x52, 0xb2, 0x99, 0x9, 0xb2, 0x9a, 0xb6, 0xa7, 0x9f, 0xc9, 0xf2, 0x8a, 0x10, 0xb0, 0x98, 0x6d, 0x91, 0x82, 0x9f, 0xaf, 0x6b, 0xe, 0x31, 0x62, 0x7, 0xb7, 0x4e, 0xb1, 0x6b, 0x16, 0x67, 0x8b, 0x1b, 0x62, 0xb5, 0xeb, 0x31, 0x1e, 0xe7, 0x99, 0x46, 0xa1, 0x12, 0xca, 0xc, 0x22, 0xba, 0xea, 0xb4, 0x1c, 0x7b, 0x4c, 0xff, 0x36, 0x11, 0xb9, 0x2e, 0x20, 0x6d, 0x25, 0xb3, 0x91, 0x73, 0x52, 0xb1, 0xc9, 0xd9, 0x47, 0x42, 0xfc, 0x24, 0x3e, 0xc6, 0x20, 0xfe, 0x42, 0xe7, 0x5d, 0x2a, 0x63, 0x93, 0xe7, 0x2b, 0x38, 0xd8, 0x5b, 0xf, 0xf0, 0xba, 0xc7, 0x74, 0xe7, 0x3, 0xbc, 0xff, 0x79, 0x19, 0x58, 0xb3, 0x4a, 0x5a, 0x2b, 0x2c, 0xf7, 0xfb, 0x22, 0xc, 0xc6, 0x92, 0xc9, 0x15, 0xcc, 0x8f, 0xa4, 0xa, 0x24, 0x5a, 0x1, 0x44, 0x45, 0x65, 0x4a, 0xc4, 0x42, 0x6b, 0x9e, 0xcb, 0x74, 0xb5, 0xd1, 0x62, 0xc3, 0xb8, 0x72, 0xb0, 0x41, 0x20, 0x2e, 0xb8, 0x6d, 0x43, 0x61, 0x8b, 0xc6, 0xc, 0x9, 0xbd, 0xbb, 0x52, 0xfb, 0xb0, 0x6f, 0xd3, 0xc7, 0x7a, 0xec, 0x86, 0x18, 0xa0, 0x82, 0xee, 0xc3, 0xaf, 0x20, 0xc1, 0xab, 0xdd, 0xe4, 0x5b, 0xcd, 0xca, 0x83, 0x89, 0xcd, 0x9a, 0x8b, 0x7a, 0x7d, 0xb, 0x56, 0x56, 0x41, 0x3a, 0x68, 0xcd, 0x7d, 0xaf, 0x7e, 0xdb, 0xe2, 0x91, 0xb, 0x36, 0xb6, 0xdc, 0xff, 0x4d, 0x97, 0xa7, 0x9f, 0xa7, 0x6, 0x1d, 0xef, 0x29, 0xf7, 0xaa, 0xed, 0xcd, 0x4b, 0x5c, 0xaa, 0x91, 0x1a, 0x7e, 0x5d, 0x8a, 0x5c, 0x42, 0xf7, 0xd2, 0x7e, 0xfb, 0xdc, 0x60, 0x37, 0x44, 0xf0, 0x30, 0x6c, 0x45, 0x4c, 0x9d, 0xd7, 0xf2, 0x56, 0xc9, 0xb9, 0x8c, 0x39, 0xd8, 0xd8, 0x4, 0xaa, 0x58, 0xa5, 0x2, 0xec, 0x78, 0xf8, 0xf7, 0x75, 0xbd, 0x3c, 0x1c, 0x9e, 0x4a, 0xbe, 0x3b, 0x85, 0xfc, 0x6e, 0x75, 0x6a, 0x6d, 0x2e, 0x8f, 0xed, 0xf5, 0x6a, 0xd3, 0x3b, 0x57, 0x96, 0x12, 0xa4, 0xad, 0x35, 0x67, 0x17, 0x6d, 0x3b, 0xb1, 0x2d, 0x61, 0xaa, 0x1d, 0x3b, 0xdd, 0xed, 0xc2, 0x7d, 0x66, 0xe9, 0x51, 0x5b, 0xb9, 0x30, 0xb6, 0x65, 0x57, 0xae, 0x5f, 0x93, 0xa7, 0x2d, 0x5d, 0x7a, 0x21, 0x37, 0xc6, 0x4b, 0x97, 0xea, 0x5d, 0x93, 0x5f, 0x69, 0x6, 0xac, 0xaa, 0x33, 0xf3, 0xb7, 0xeb, 0x1e, 0xbb, 0x26, 0x17, 0x53, 0xf0, 0xd7, 0x9e, 0xb1, 0x32, 0xe1, 0xef, 0xb3, 0xa5, 0x4b, 0xd5, 0xb9, 0xae, 0xd7, 0xc8, 0x6d, 0x29, 0xf3, 0xa3, 0x8f, 0x4d, 0x4c, 0xab, 0xcf, 0x3d, 0xc6, 0x48, 0x5d, 0x81, 0x4d, 0x2c, 0xe7, 0xa1, 0xff, 0xac, 0xcd, 0x1a, 0xc6, 0xf1, 0x7e, 0x8b, 0x8e, 0xd9, 0xba, 0x3c, 0xa, 0x19, 0x24, 0xed, 0xa5, 0xa6, 0x3c, 0x2f, 0xb4, 0x7d, 0xbc, 0x7, 0xef, 0x66, 0x8a, 0xc, 0x3b, 0xbe, 0x58, 0xda, 0xc4, 0xc5, 0x16, 0xfc, 0x54, 0xd3, 0x6, 0x24, 0x18, 0xc1, 0x8d, 0xf3, 0x72, 0x5c, 0x25, 0x8f, 0xe, 0xc5, 0xa4, 0x3a, 0x1c, 0xa3, 0x6d, 0x2c, 0x44, 0x7b, 0x81, 0x62, 0x7d, 0x0, 0x50, 0x21, 0x8a, 0xf, 0x7f, 0xcb, 0xce, 0x83, 0xdf, 0xae, 0xda, 0x77, 0x9f, 0x2a, 0x6a, 0x11, 0xde, 0x2a, 0x85, 0x9c, 0x94, 0x32, 0xf7, 0x10, 0xa4, 0xdc, 0x1, 0xba, 0xd, 0xb8, 0x38, 0x4e, 0x37, 0xee, 0x4a, 0xf3, 0xb1, 0x33, 0xc1, 0xbf, 0x8b, 0x55, 0x83, 0x81, 0xeb, 0x22, 0x43, 0x9e, 0x55, 0x48, 0x12, 0x6c, 0x58, 0xbb, 0x48, 0x9d, 0xa6, 0x82, 0xe7, 0x1e, 0xba, 0xd2, 0x65, 0x93, 0x89, 0x38, 0x33, 0xba, 0xe4, 0xfa, 0x3b, 0x8c, 0xdf, 0x72, 0xd9, 0x76, 0x29, 0x99, 0x67, 0x7c, 0x66, 0x60, 0xdb, 0xd8, 0x55, 0xb9, 0xb8, 0x69, 0x8f, 0x6d, 0xcd, 0xd3, 0x8c, 0x6f, 0x49, 0x33, 0x31, 0x7, 0xe7, 0x1d, 0xfb, 0xeb, 0x4f, 0x3d, 0xf6, 0xe6, 0xa7, 0x9f, 0xfe, 0xe6, 0x8d, 0x3c, 0x48, 0xac, 0xac, 0x8d, 0xc4, 0x46, 0xe, 0xa9, 0xf7, 0x47, 0xb2, 0x2f, 0xfa, 0x4d, 0x2, 0xf3, 0x1a, 0x9e, 0x94, 0xe9, 0xb1, 0xdf, 0x1f, 0xa4, 0xfe, 0xe4, 0xa0, 0xb, 0xd9, 0xaf, 0x35, 0xb4, 0xbf, 0xf9, 0x24, 0x14, 0x16, 0x23, 0xd5, 0x28, 0x46, 0xdf, 0x49, 0xbc, 0x26, 0x50, 0xd5, 0xe8, 0x3f, 0xa7, 0x61, 0x2f, 0xbb, 0x97, 0x1d, 0x51, 0xd8, 0x24, 0x30, 0x7e, 0xad, 0xd7, 0xf7, 0x41, 0xe0, 0xb9, 0xb1, 0xe8, 0x7f, 0x88, 0x7b, 0x58, 0xf1, 0x8b, 0x7, 0x35, 0xb3, 0x6b, 0x2a, 0x1b, 0xfd, 0x34, 0x33, 0xb3, 0x37, 0x43, 0x97, 0xe1, 0xb5, 0x59, 0x90, 0x33, 0xe8, 0xc0, 0x4d, 0x1b, 0xea, 0x81, 0xa3, 0xaa, 0x91, 0x4a, 0x17, 0x82, 0xb7, 0x2a, 0x2c, 0xcd, 0xb0, 0x6, 0x1b, 0x66, 0xb0, 0x19, 0x11, 0x61, 0xd3, 0xdc, 0xfc, 0x22, 0xd2, 0xa5, 0xde, 0x52, 0x29, 0xce, 0xea, 0x85, 0xe2, 0xde, 0x1b, 0xa0, 0xed, 0x5d, 0xed, 0xac, 0x89, 0x7a, 0xed, 0xb8, 0x50, 0x5b, 0x4a, 0xc7, 0x23, 0x65, 0x73, 0x22, 0x21, 0xa8, 0x8f, 0x68, 0x23, 0x10, 0xc8, 0x32, 0xd, 0xe9, 0x72, 0x49, 0x88, 0x34, 0x10, 0x0, 0xf, 0x2a, 0x4b, 0x16, 0x98, 0x8b, 0x7f, 0xc2, 0x2e, 0x45, 0x2e, 0xb3, 0x84, 0xcc, 0x92, 0x5c, 0xcc, 0x73, 0xa1, 0x1, 0xf8, 0x69, 0xc1, 0x57, 0xb8, 0xc2, 0x89, 0x48, 0xf9, 0xca, 0xd2, 0xc, 0xcf, 0xc5, 0x23, 0x5b, 0x48, 0x55, 0x16, 0x42, 0xb3, 0xa3, 0x38, 0x53, 0xc0, 0x15, 0x42, 0x5c, 0xcb, 0x46, 0x1c, 0xcd, 0xa8, 0x6a, 0x1f, 0x8e, 0x1b, 0xc6, 0x3e, 0x8e, 0xe1, 0x33, 0x63, 0xdb, 0x32, 0xc2, 0x25, 0xd5, 0x47, 0xd6, 0x1c, 0x4e, 0x63, 0x83, 0xf3, 0x33, 0xb, 0x88, 0xe4, 0x6b, 0xa7, 0xcd, 0xb7, 0xa2, 0x57, 0x14, 0x12, 0x8b, 0x5e, 0xb1, 0x95, 0x28, 0xe0, 0x13, 0x17, 0xc0, 0x41, 0x5f, 0x79, 0xda, 0xe6, 0xf5, 0x16, 0x59, 0xf8, 0x46, 0x8f, 0x56, 0xc7, 0x43, 0xcb, 0x27, 0x1, 0xde, 0x9e, 0xcb, 0xe9, 0x64, 0x4e, 0x42, 0x36, 0xa4, 0x9d, 0x82, 0x84, 0xec, 0x31, 0xee, 0xb0, 0x80, 0xd6, 0x40, 0x16, 0xa4, 0x9a, 0x43, 0xd1, 0x4b, 0x8c, 0xd2, 0xb7, 0x6f, 0x1a, 0x84, 0x8c, 0x8d, 0x85, 0xe0, 0x4a, 0x5b, 0x11, 0x13, 0x58, 0xc9, 0xe1, 0x98, 0x6e, 0xca, 0xa2, 0x56, 0xc4, 0x1d, 0xa6, 0x18, 0xcb, 0x82, 0x3d, 0x48, 0x6e, 0x1a, 0xac, 0x96, 0xc7, 0x98, 0x8e, 0x5d, 0xb8, 0x4c, 0xa3, 0x60, 0x2a, 0x5c, 0x88, 0x84, 0xc7, 0x71, 0x56, 0x3a, 0xae, 0xcd, 0x4c, 0xdb, 0xcc, 0xcb, 0x13, 0x9b, 0xf9, 0x63, 0x1a, 0xd, 0xd9, 0xcc, 0xa1, 0x76, 0x73, 0x1, 0xde, 0xec, 0xa0, 0x7f, 0x6d, 0xd1, 0xa6, 0x67, 0x44, 0x2, 0xf6, 0xd5, 0x8f, 0xe6, 0xb8, 0x9d, 0x10, 0x28, 0x4d, 0xd2, 0x4c, 0xc7, 0xd1, 0x1, 0x85, 0x23, 0xe, 0xb1, 0x53, 0xba, 0x76, 0xb8, 0x2, 0xb8, 0xb2, 0x39, 0xc7, 0x74, 0x89, 0x85, 0xa1, 0x7d, 0x76, 0x6a, 0xa3, 0x1, 0x36, 0x2b, 0xdd, 0x1, 0x4d, 0x43, 0x5b, 0xb5, 0xc8, 0xa2, 0x4d, 0x14, 0xfe, 0x42, 0x5, 0x7f, 0xa1, 0x97, 0xe2, 0xca, 0x72, 0xcc, 0x51, 0xb, 0x3a, 0xe6, 0xa9, 0x8d, 0x38, 0x2d, 0x36, 0xab, 0x2c, 0xfb, 0x84, 0x4d, 0x5d, 0xf0, 0xfe, 0x0, 0x1, 0xd3, 0xa0, 0x9a, 0x6, 0x84, 0x9f, 0xca, 0x1e, 0x7b, 0x21, 0xa0, 0x1e, 0x8, 0x87, 0xd8, 0x6c, 0x46, 0x4f, 0x48, 0x5e, 0xdc, 0xe5, 0x0, 0x59, 0x58, 0x8d, 0xdd, 0xf, 0x2e, 0x47, 0x28, 0xe7, 0xae, 0x4f, 0xc1, 0xc, 0x6c, 0xb9, 0x2c, 0xae, 0xe1, 0x91, 0xee, 0x38, 0xdb, 0x1d, 0x9e, 0xb7, 0xdb, 0xf5, 0xfa, 0xa5, 0xdc, 0x59, 0x81, 0x27, 0x9b, 0x66, 0x5e, 0xf3, 0x5, 0x14, 0x36, 0x24, 0x2, 0x53, 0xe9, 0x30, 0x4a, 0xe7, 0x3c, 0x5c, 0xe1, 0xa6, 0xf9, 0xb2, 0xfe, 0xa6, 0xcf, 0xaf, 0x27, 0x5f, 0x51, 0x8c, 0x91, 0xbc, 0x48, 0x41, 0x22, 0xa0, 0xf9, 0x1b, 0x8f, 0x21, 0xd, 0xc3, 0xbe, 0xa0, 0x33, 0x94, 0xd8, 0x81, 0x64, 0x80, 0xd4, 0x46, 0x5b, 0x9, 0x8b, 0x15, 0x1d, 0x0, 0x15, 0x88, 0x65, 0x3, 0x91, 0x52, 0x99, 0x3a, 0xb1, 0x77, 0xa2, 0xd4, 0xb, 0xa4, 0x2a, 0xd0, 0x94, 0x84, 0xbf, 0xc1, 0x77, 0xb5, 0x93, 0xb, 0xd, 0x22, 0x1b, 0x32, 0x67, 0x7, 0x88, 0x4b, 0x55, 0xfd, 0x3a, 0x4f, 0xaa, 0x90, 0xfe, 0x72, 0x31, 0xfe, 0x38, 0x1c, 0xcf, 0xce, 0x86, 0x97, 0x9f, 0x2e, 0xfe, 0xf2, 0x79, 0x78, 0x3e, 0x9d, 0x59, 0x6c, 0x8c, 0xcd, 0xa0, 0x2b, 0x5b, 0xdf, 0x1b, 0x9d, 0xf, 0x4e, 0xa7, 0xa3, 0x5f, 0x87, 0x3b, 0xbd, 0x74, 0x7a, 0x35, 0x1e, 0xf, 0xcf, 0xa7, 0x3b, 0xbd, 0x33, 0x1e, 0x7c, 0xbe, 0xac, 0xa1, 0xbc, 0x6c, 0x7d, 0xa7, 0x9, 0x1a, 0xa6, 0xdb, 0x4b, 0x3b, 0xce, 0xc2, 0xe9, 0x78, 0x38, 0xd8, 0x86, 0x3d, 0xfe, 0xa4, 0x25, 0xd8, 0x4, 0x30, 0xe3, 0x1d, 0x78, 0x1b, 0x60, 0x65, 0x6c, 0x35, 0x74, 0xe7, 0x85, 0xdc, 0x6, 0x8a, 0xe2, 0xe2, 0xed, 0xfe, 0x34, 0x68, 0x9b, 0x43, 0xbd, 0xfe, 0x16, 0x55, 0x79, 0x87, 0x30, 0x2a, 0x5c, 0xad, 0x82, 0x8a, 0x20, 0x7f, 0x6c, 0x21, 0x9d, 0x41, 0xb, 0x7f, 0xe4, 0x0, 0xee, 0x6, 0xa, 0x5d, 0xe0, 0xe4, 0x7b, 0x7d, 0x3, 0xf5, 0x13, 0xd2, 0x1, 0xb9, 0x2f, 0xb4, 0x6c, 0xd2, 0x35, 0x88, 0xe0, 0x14, 0xe2, 0xec, 0x15, 0x31, 0xcf, 0x26, 0x65, 0x7c, 0xd7, 0xf8, 0x46, 0x6c, 0xd3, 0x91, 0xb5, 0x28, 0x40, 0x8b, 0xb2, 0x7d, 0xc5, 0xca, 0x65, 0xe7, 0xde, 0xe2, 0x5, 0xe3, 0x4, 0x33, 0x8e, 0x2a, 0x65, 0x87, 0x22, 0xcf, 0x7e, 0xb7, 0xc5, 0xa0, 0x3, 0xd2, 0x1, 0xa0, 0x26, 0x64, 0x63, 0x7d, 0x58, 0xaf, 0x44, 0xae, 0x5, 0x13, 0x6, 0x50, 0x9f, 0xf6, 0xd8, 0x90, 0x9a, 0xae, 0x59, 0xa4, 0x20, 0x27, 0x82, 0xeb, 0x7b, 0xd8, 0x53, 0xae, 0xe2, 0xbe, 0xc, 0x54, 0xf3, 0x2c, 0xaf, 0xd4, 0xa0, 0x54, 0x55, 0xc0, 0x3c, 0xb3, 0x0, 0xd0, 0x15, 0x1d, 0xa7, 0xdb, 0x88, 0xe9, 0x78, 0x77, 0x1c, 0xb1, 0x55, 0xc2, 0x3b, 0x8c, 0x18, 0xe1, 0x83, 0x21, 0xa0, 0x69, 0x46, 0x7e, 0x59, 0xad, 0xe2, 0xad, 0x28, 0x94, 0xb9, 0x60, 0x91, 0x6a, 0x19, 0x5, 0xfb, 0x9c, 0xe5, 0xc2, 0x5c, 0xfe, 0x3d, 0xc6, 0x99, 0x31, 0x5c, 0xe8, 0xb3, 0xbb, 0x4c, 0x53, 0xfd, 0x63, 0x80, 0x7d, 0xb0, 0xd7, 0xac, 0xfd, 0x6, 0x30, 0x98, 0xba, 0xca, 0xdb, 0xdf, 0xc1, 0x98, 0xbe, 0x29, 0x18, 0x53, 0x47, 0xb9, 0x84, 0xf7, 0x5c, 0x87, 0xb5, 0xb2, 0xb7, 0x83, 0x45, 0x92, 0x3c, 0x2, 0xe9, 0xb8, 0x59, 0x1f, 0x36, 0x8a, 0xf3, 0x71, 0xa4, 0xcc, 0x1a, 0x5a, 0x96, 0xb, 0x4e, 0x90, 0x64, 0x40, 0x3c, 0xa0, 0x56, 0x56, 0x8f, 0x32, 0xfd, 0x97, 0x5, 0x98, 0xd7, 0xcd, 0xca, 0xd3, 0x2f, 0x82, 0xe7, 0xc5, 0x8d, 0xe0, 0x7b, 0xb1, 0x8b, 0xa3, 0x66, 0x3b, 0x52, 0x1a, 0x18, 0xae, 0x3e, 0x8a, 0x7d, 0x72, 0x14, 0x69, 0xb2, 0x7c, 0x4e, 0x40, 0x2f, 0xa8, 0x7b, 0xa1, 0x70, 0xb9, 0x35, 0xb0, 0xc2, 0x90, 0x3e, 0x25, 0xd9, 0x82, 0x90, 0x89, 0x89, 0x69, 0xe0, 0x31, 0x6c, 0xab, 0x58, 0xf5, 0x7c, 0xf5, 0x84, 0xaa, 0xa5, 0xb, 0xb8, 0x96, 0x4e, 0xf0, 0x13, 0x1b, 0xb3, 0x67, 0xe, 0x90, 0x89, 0xf9, 0xa5, 0xde, 0x33, 0x23, 0x79, 0x9, 0x27, 0x6, 0xad, 0xb1, 0x9e, 0x5, 0xab, 0xf5, 0xe3, 0xee, 0x47, 0xea, 0x4a, 0x23, 0xe6, 0xcb, 0x5d, 0xa6, 0x31, 0xac, 0xf6, 0xef, 0x47, 0xb0, 0x6b, 0xb0, 0x30, 0xdc, 0xfc, 0xe1, 0xf8, 0xdf, 0x89, 0xa9, 0x61, 0x26, 0x13, 0x3c, 0xe6, 0xb1, 0x7, 0x5c, 0xb0, 0x84, 0xb2, 0xf4, 0x25, 0xf3, 0x6a, 0xcb, 0x48, 0xcd, 0x7, 0x76, 0xf1, 0xba, 0xd1, 0x6e, 0xb2, 0x6f, 0x75, 0x18, 0xbb, 0xf9, 0x42, 0xa5, 0xe2, 0x6a, 0x8b, 0x5b, 0x76, 0x9f, 0xcc, 0x2c, 0x97, 0xcf, 0x18, 0x26, 0x1d, 0x41, 0x56, 0x43, 0x96, 0xa6, 0x16, 0xb7, 0x16, 0x6e, 0xf4, 0x97, 0x8a, 0xe2, 0x36, 0x47, 0xb5, 0x93, 0xfb, 0xe, 0x81, 0xd9, 0xb6, 0x57, 0xbb, 0x95, 0x41, 0x1e, 0x2c, 0x9c, 0xde, 0x21, 0x7a, 0x4e, 0x2b, 0x8d, 0xad, 0xf7, 0xd9, 0x99, 0x69, 0x5, 0x45, 0xdd, 0xe4, 0xec, 0x63, 0x7b, 0x64, 0x3f, 0x3f, 0x7c, 0x28, 0xca, 0xf9, 0x3f, 0x7c, 0x97, 0x48, 0x43, 0x45, 0xd1, 0x11, 0xb7, 0x46, 0x9a, 0xf0, 0xf9, 0x72, 0x9, 0xcf, 0xb2, 0xa3, 0x90, 0xd0, 0x9f, 0x9d, 0x4, 0xed, 0xb4, 0xa4, 0xe9, 0xdf, 0x59, 0xf9, 0xfa, 0x72, 0x41, 0x26, 0xeb, 0xa7, 0x71, 0x9f, 0xee, 0xb1, 0x38, 0x3, 0xaa, 0x2d, 0x47, 0x6a, 0x64, 0xb3, 0xee, 0xec, 0x6c, 0xa0, 0x80, 0x85, 0xe8, 0x69, 0x81, 0x8e, 0x56, 0x95, 0x3d, 0x42, 0x5d, 0xa9, 0x67, 0x9b, 0x46, 0x58, 0x66, 0xf7, 0x15, 0xf4, 0xaa, 0x26, 0x32, 0x17, 0xe0, 0x66, 0xa8, 0x35, 0x6d, 0xe1, 0x7f, 0x74, 0x9, 0x57, 0x8, 0xd4, 0x70, 0xa1, 0x13, 0xe3, 0xb5, 0xb9, 0x9a, 0xe3, 0x7b, 0xa6, 0xef, 0xc5, 0x63, 0xcb, 0x16, 0x10, 0x29, 0x5f, 0x6a, 0x91, 0x40, 0xd4, 0xf8, 0x13, 0xd7, 0x45, 0xd3, 0x1d, 0xb5, 0x75, 0xfe, 0xea, 0x94, 0x19, 0xd8, 0x26, 0xae, 0x1b, 0x44, 0x93, 0xbc, 0xfb, 0xcb, 0x4d, 0xd4, 0xda, 0x4, 0xb5, 0xdf, 0x2, 0x16, 0xcb, 0x7e, 0x92, 0x66, 0x85, 0xde, 0x5d, 0x50, 0xfa, 0xd7, 0x1a, 0xbf, 0x60, 0x71, 0x5, 0x9e, 0xef, 0xb, 0x4a, 0x7c, 0x2d, 0xf5, 0xf3, 0x35, 0x9f, 0x66, 0x31, 0x4f, 0x2d, 0x59, 0xfc, 0xf3, 0x7c, 0xc2, 0xae, 0x2, 0x96, 0xa0, 0xed, 0xde, 0x7c, 0xf0, 0xde, 0xc6, 0xf6, 0x27, 0x85, 0x8c, 0xef, 0x57, 0xcf, 0xf5, 0x15, 0xbb, 0xd2, 0xcf, 0xd5, 0x3e, 0xac, 0xf3, 0x73, 0x35, 0x5e, 0x64, 0x5, 0x4f, 0x71, 0x7e, 0xa0, 0x52, 0xf2, 0x17, 0xd9, 0x7a, 0x44, 0x3b, 0x15, 0x4a, 0x6e, 0xce, 0x16, 0x75, 0x38, 0x37, 0x70, 0x9d, 0xcf, 0xb3, 0x52, 0x25, 0x8c, 0xb3, 0x18, 0x3, 0x6, 0xd, 0x74, 0x40, 0x45, 0xc6, 0xf2, 0x52, 0x61, 0x94, 0x47, 0xb7, 0x39, 0xd6, 0xeb, 0x43, 0xf8, 0x2c, 0x75, 0x6b, 0xec, 0xf7, 0xe0, 0x63, 0x48, 0x64, 0x2, 0x1a, 0xde, 0x5c, 0x36, 0xe, 0x45, 0xec, 0x36, 0x14, 0x9b, 0x5, 0xe4, 0x7, 0xb3, 0x77, 0xe5, 0xea, 0xa6, 0xc1, 0xd8, 0x80, 0x1a, 0xf4, 0x9a, 0x69, 0xf9, 0xf, 0xd1, 0x63, 0xe2, 0xeb, 0x32, 0x7, 0x92, 0x30, 0x26, 0x15, 0xc3, 0xf4, 0x81, 0xa, 0x95, 0xff, 0xd0, 0x3b, 0xb1, 0x5a, 0x0, 0x1d, 0xd2, 0xf2, 0x56, 0xb6, 0x43, 0xbd, 0x3e, 0x37, 0x60, 0xeb, 0x25, 0x7c, 0x7e, 0xa7, 0xd0, 0x3a, 0xbe, 0xa2, 0x83, 0xc2, 0x47, 0xe4, 0x3e, 0x40, 0x1d, 0x5b, 0xea, 0xd, 0xaa, 0x4e, 0x92, 0x4b, 0x63, 0x81, 0x7e, 0xab, 0xc1, 0x4e, 0x8a, 0x2c, 0xe7, 0xb7, 0xe2, 0xc, 0x7a, 0xb1, 0xd3, 0x98, 0xe9, 0x4d, 0x46, 0x3, 0xd8, 0x32, 0xe2, 0x6d, 0x71, 0x15, 0x6b, 0xb, 0xa9, 0x79, 0xc6, 0x16, 0xc6, 0x22, 0xbb, 0x15, 0x3d, 0x5f, 0x7f, 0x23, 0xd7, 0x20, 0xdf, 0xeb, 0x5a, 0x46, 0xe1, 0x83, 0xea, 0xc8, 0x2e, 0xe, 0x74, 0xe8, 0x95, 0x17, 0x8d, 0xa6, 0x6f, 0x83, 0x8d, 0x15, 0x34, 0x4e, 0xf3, 0xb6, 0x48, 0xe7, 0x6d, 0xc6, 0xf1, 0xba, 0x11, 0xb4, 0xb3, 0x6d, 0x6c, 0xcc, 0x9c, 0x3d, 0xb3, 0x2d, 0x2b, 0x6, 0x93, 0xb3, 0x8b, 0x37, 0x9a, 0xa8, 0x3f, 0x1b, 0x7b, 0x50, 0xaa, 0xdb, 0x1d, 0x6d, 0xf1, 0xba, 0x9a, 0x7c, 0x4b, 0xcd, 0x84, 0x9f, 0x65, 0x40, 0xd2, 0x6f, 0x44, 0x12, 0x1a, 0x9d, 0x36, 0xac, 0x85, 0xb8, 0x93, 0x77, 0x3c, 0xf, 0x8a, 0x38, 0xd0, 0x94, 0xfd, 0x77, 0x67, 0x5d, 0x5b, 0xdb, 0xb4, 0x4f, 0xf8, 0x84, 0xb6, 0x92, 0xc2, 0xea, 0xdd, 0x90, 0x6d, 0x1f, 0x2e, 0x8f, 0x65, 0xe6, 0x81, 0x6b, 0x2c, 0xa8, 0x4b, 0x3, 0x53, 0xf7, 0x5d, 0xa4, 0xa2, 0x57, 0x5, 0x5, 0x98, 0x4e, 0xf4, 0x4a, 0xff, 0x48, 0x48, 0x20, 0xf4, 0x96, 0xfe, 0xf1, 0xff, 0xa3, 0xca, 0xe, 0x3b, 0x8e, 0xd9, 0xbd, 0x58, 0xfd, 0x4f, 0xf4, 0xaa, 0x45, 0xf6, 0x60, 0xdf, 0xf6, 0xaa, 0x69, 0xa0, 0x79, 0xa3, 0xa6, 0x2a, 0xd3, 0x86, 0x98, 0xa7, 0x14, 0x1e, 0x75, 0xd8, 0x67, 0xce, 0xb8, 0x47, 0xe4, 0x50, 0xa9, 0xa0, 0x48, 0xd, 0x96, 0xfa, 0x8, 0x80, 0xee, 0xcd, 0xec, 0x8b, 0xfe, 0x6d, 0x9f, 0x71, 0xf3, 0xe0, 0x57, 0xb6, 0x94, 0x89, 0x7, 0x1, 0xe3, 0x4b, 0xb3, 0xed, 0x72, 0xc9, 0xb, 0x71, 0xbc, 0xf9, 0x56, 0x30, 0x5b, 0xf9, 0x74, 0x59, 0x5e, 0xe9, 0x67, 0xcc, 0xf7, 0x9a, 0x20, 0xe9, 0x3, 0x2c, 0xe6, 0xe9, 0xe5, 0x15, 0x60, 0x41, 0x33, 0x78, 0xad, 0x9e, 0xa2, 0xd5, 0xff, 0xa9, 0xc7, 0xde, 0xf4, 0x7f, 0xfa, 0x1b, 0x51, 0x93, 0xbd, 0xe9, 0xff, 0x4, 0xce, 0x1b, 0xb2, 0xf, 0x1, 0x43, 0x3a, 0x8d, 0x54, 0x9c, 0xe5, 0x42, 0x5b, 0x38, 0x2d, 0x98, 0x92, 0xa5, 0xb8, 0xdd, 0x9a, 0x5, 0x6b, 0x46, 0xfa, 0x59, 0x2c, 0x5e, 0x6c, 0xa4, 0xb, 0xb1, 0xc8, 0xf2, 0xd5, 0x1e, 0x83, 0x8d, 0x14, 0xb0, 0x76, 0x3d, 0x70, 0x99, 0x22, 0xb0, 0x2f, 0x36, 0x18, 0x8e, 0x5b, 0x42, 0x82, 0xd2, 0x66, 0x3c, 0xd, 0x77, 0x76, 0x7f, 0xc9, 0xd2, 0x4, 0x93, 0x21, 0x57, 0xc5, 0x1d, 0xb2, 0xa7, 0x80, 0x63, 0xb7, 0xc8, 0xec, 0x7e, 0xac, 0x48, 0x40, 0xf3, 0x81, 0x1f, 0xed, 0x86, 0x25, 0xea, 0xb1, 0x66, 0x71, 0xb8, 0xaf, 0x28, 0x7c, 0x6c, 0xf5, 0x38, 0xb2, 0xe, 0xae, 0x25, 0xf7, 0x5a, 0xf7, 0x9b, 0xe5, 0xc, 0xb0, 0xcc, 0x3d, 0x30, 0xf0, 0xba, 0xb7, 0xa9, 0x3e, 0xc4, 0x4f, 0x72, 0x7f, 0x89, 0xff, 0xbb, 0x37, 0x74, 0xaf, 0x51, 0x7e, 0x8f, 0xde, 0xd0, 0xdf, 0x9d, 0x90, 0xbf, 0x3b, 0x21, 0xb7, 0xae, 0xf7, 0x77, 0xec, 0x84, 0xfc, 0x5d, 0x7, 0xfd, 0x5d, 0x7, 0xfd, 0x86, 0x3a, 0xe8, 0xef, 0x56, 0xfd, 0xbf, 0x9e, 0x55, 0xff, 0x89, 0xf0, 0xe9, 0xd6, 0x55, 0xaf, 0x80, 0x7c, 0x97, 0x50, 0x90, 0x25, 0x60, 0xe6, 0x61, 0x45, 0x80, 0x2d, 0xca, 0xe7, 0x9, 0x80, 0x6, 0x43, 0x4a, 0xa9, 0x66, 0x46, 0x73, 0xee, 0x31, 0xa1, 0x74, 0x99, 0x7b, 0x3c, 0x44, 0xcb, 0x8a, 0xc1, 0x13, 0x52, 0x6f, 0xbd, 0x9a, 0xa, 0x78, 0xcc, 0xd2, 0x88, 0xd4, 0x3c, 0xb7, 0x35, 0xce, 0xf3, 0xd2, 0x25, 0x61, 0x86, 0xdd, 0x39, 0x6e, 0x51, 0x5, 0x1b, 0x9d, 0xa6, 0x4f, 0x25, 0x59, 0xc2, 0xc6, 0x9e, 0xcf, 0xb3, 0x78, 0xee, 0x7c, 0x6d, 0x56, 0x99, 0x18, 0x5f, 0x9e, 0x36, 0xc2, 0x72, 0x49, 0xc5, 0xe6, 0xa9, 0xbc, 0xbd, 0xdb, 0x94, 0x69, 0x3c, 0x29, 0x63, 0x23, 0x3a, 0xe6, 0x65, 0x6a, 0xfa, 0xfd, 0x6c, 0xc5, 0x99, 0x52, 0x7, 0x48, 0x72, 0x3b, 0x81, 0x1, 0xbb, 0x3b, 0x2, 0x0, 0x9b, 0xf2, 0xd2, 0xa2, 0x3a, 0x7, 0x3e, 0xc7, 0x38, 0x53, 0xf6, 0x9a, 0xb4, 0xd8, 0x5d, 0x66, 0xbf, 0x94, 0x45, 0x76, 0x2, 0x39, 0xd7, 0x49, 0x57, 0xb0, 0xba, 0x89, 0x48, 0x45, 0x5c, 0x34, 0x33, 0xee, 0x7c, 0x4b, 0x93, 0x80, 0x1a, 0xb3, 0x17, 0xa1, 0xa5, 0x33, 0x16, 0xee, 0xbe, 0xf2, 0x86, 0x82, 0xae, 0x25, 0x96, 0x6f, 0x3b, 0xbb, 0x96, 0x9e, 0xc5, 0x5e, 0x89, 0x5a, 0x40, 0x82, 0x32, 0x5e, 0x68, 0x0, 0x17, 0xc4, 0x2a, 0xe0, 0xad, 0x88, 0x95, 0xc4, 0xe9, 0x32, 0xe, 0xc0, 0x6e, 0x22, 0x35, 0x86, 0x1c, 0x23, 0x48, 0x11, 0x97, 0xc5, 0x8e, 0x6d, 0xda, 0x21, 0x1a, 0x91, 0x40, 0x97, 0xb4, 0xf8, 0x5a, 0x20, 0x1, 0x15, 0x5e, 0x5b, 0x16, 0x8, 0x2a, 0x6c, 0xc, 0x80, 0xa1, 0x2c, 0x68, 0x8f, 0xed, 0x48, 0xf3, 0x11, 0x6f, 0xa, 0x4c, 0x3d, 0xf5, 0x84, 0xf, 0xac, 0xfd, 0xe, 0x8d, 0xbe, 0xc0, 0x41, 0xd7, 0xe6, 0x3b, 0x81, 0xdb, 0xc0, 0x9a, 0x81, 0x34, 0x79, 0x66, 0x56, 0xec, 0x7c, 0xa2, 0x51, 0x11, 0xa9, 0xcf, 0x7c, 0x65, 0x66, 0xed, 0xe4, 0x8d, 0x3d, 0x2e, 0xe5, 0x72, 0x29, 0x72, 0x76, 0x3, 0xa1, 0x14, 0xb2, 0x3, 0x81, 0x44, 0x7e, 0xb3, 0x87, 0xe5, 0x4a, 0x8b, 0xe4, 0x65, 0x47, 0x69, 0x93, 0xd9, 0x82, 0xf1, 0xcd, 0x3d, 0xe9, 0x53, 0xbc, 0xd1, 0x6a, 0x32, 0x2d, 0x4c, 0xca, 0xe5, 0x32, 0x95, 0x22, 0xff, 0x28, 0xd5, 0x4e, 0x9a, 0x95, 0x93, 0x33, 0xe6, 0x45, 0x97, 0x7e, 0x9f, 0x52, 0x55, 0x56, 0xa, 0xf6, 0xb8, 0xb3, 0xa2, 0xd7, 0xf5, 0xf6, 0xbb, 0xec, 0xd1, 0xbd, 0x61, 0x33, 0x19, 0xd3, 0x2c, 0x26, 0xe8, 0xde, 0xcb, 0x4c, 0x6b, 0x60, 0x34, 0x40, 0xcc, 0xe2, 0x77, 0x2c, 0x7a, 0xf5, 0x41, 0x7e, 0x15, 0x9, 0xfb, 0xdf, 0x6c, 0x2c, 0x74, 0x56, 0xe6, 0xb1, 0x78, 0xf, 0x64, 0x1, 0xff, 0x9b, 0x9d, 0x96, 0xba, 0xc8, 0x16, 0x6c, 0x2, 0x5d, 0x6c, 0xd3, 0x1d, 0x21, 0x94, 0x75, 0x89, 0x5a, 0x9f, 0x48, 0x8c, 0xb9, 0xf9, 0x7c, 0xb, 0x34, 0x35, 0xdf, 0xa, 0xa4, 0x2d, 0x66, 0xc3, 0x2e, 0xed, 0xc7, 0xd9, 0x91, 0x23, 0x35, 0x60, 0x37, 0x59, 0x71, 0xc7, 0xb4, 0xbb, 0x51, 0xd2, 0x15, 0xa2, 0x1e, 0x2b, 0xfc, 0x13, 0xfc, 0x5, 0xb3, 0x84, 0xd5, 0x8a, 0x21, 0x73, 0xcb, 0x23, 0x5f, 0x1d, 0x47, 0xaa, 0xba, 0xdc, 0x3e, 0x64, 0xff, 0x18, 0x18, 0x4f, 0x21, 0x97, 0x14, 0x67, 0x71, 0xb9, 0x28, 0x53, 0xe, 0x70, 0x8d, 0x50, 0x21, 0xd5, 0x6e, 0xce, 0x9b, 0xde, 0x7f, 0x0, 0xd7, 0xd0, 0xcb, 0x4e, 0xd3, 0x1c, 0xdd, 0x51, 0xf5, 0xd9, 0xaa, 0xd, 0x35, 0x63, 0x73, 0xde, 0xd6, 0x75, 0x73, 0x3d, 0x8f, 0xcc, 0xd0, 0x1e, 0x5e, 0x6c, 0xad, 0xcf, 0x5b, 0x57, 0x59, 0xaa, 0xee, 0xa9, 0x14, 0x64, 0x6d, 0xb5, 0x2c, 0x54, 0x8f, 0x42, 0x39, 0x88, 0x91, 0xac, 0x11, 0x86, 0xf1, 0x27, 0xac, 0xc2, 0x77, 0x65, 0x79, 0x76, 0x7e, 0x80, 0xfc, 0x84, 0xfb, 0x6f, 0xf5, 0x23, 0xe5, 0xa, 0xb4, 0x6a, 0xbb, 0xd, 0x9a, 0xd, 0x67, 0xbd, 0xc3, 0xb4, 0x9a, 0x8d, 0x51, 0xe6, 0xe2, 0xa5, 0x26, 0xb5, 0x65, 0x4f, 0x3c, 0x25, 0x47, 0x65, 0xb3, 0x1e, 0xb3, 0x7f, 0x55, 0x4c, 0xa7, 0x12, 0x18, 0x9b, 0xa7, 0x7e, 0x75, 0xde, 0x52, 0x51, 0x42, 0xf, 0x4c, 0x7e, 0xb9, 0x9a, 0x4e, 0x47, 0xe7, 0x3f, 0xcf, 0xce, 0x2e, 0xbe, 0x9c, 0x6f, 0x7e, 0xc, 0x9e, 0xa0, 0x7, 0x36, 0x95, 0x8c, 0x34, 0xf4, 0xaf, 0x71, 0x2a, 0x6c, 0xd1, 0x18, 0x5f, 0x72, 0xa0, 0xbf, 0xaa, 0xde, 0xe9, 0x2f, 0x1, 0x85, 0xe5, 0x2e, 0x96, 0x81, 0x62, 0xd9, 0x92, 0x3, 0x6, 0xd4, 0x5d, 0x96, 0x8a, 0x93, 0xc7, 0xba, 0xc3, 0xb7, 0x79, 0xbf, 0x96, 0x5a, 0xf8, 0x8a, 0x8c, 0x7d, 0x78, 0x34, 0x3c, 0xce, 0xbe, 0x8, 0x3c, 0x92, 0x19, 0xd2, 0xae, 0x4b, 0xe5, 0x13, 0xb7, 0x2, 0xdc, 0x7f, 0x3c, 0xac, 0x8f, 0x52, 0xdf, 0x61, 0x85, 0x16, 0x78, 0x13, 0x2c, 0xce, 0x6e, 0xe0, 0xe, 0x40, 0x5a, 0xa9, 0xed, 0xde, 0xcc, 0x9, 0x24, 0x9b, 0xef, 0xe9, 0xa0, 0xb2, 0xd8, 0x2, 0x96, 0x9e, 0x1, 0x1c, 0xc1, 0x77, 0x1c, 0x31, 0xd4, 0x78, 0xc8, 0x4a, 0xa0, 0x31, 0xb7, 0x5d, 0xf1, 0x85, 0x60, 0x47, 0x7e, 0x54, 0x27, 0x7f, 0x38, 0xde, 0x89, 0x8a, 0xbc, 0xa, 0xa0, 0xe5, 0x18, 0x1d, 0xc0, 0xe2, 0xa, 0xa6, 0xb2, 0xce, 0x5c, 0x84, 0x14, 0x69, 0x64, 0xa4, 0x65, 0x6e, 0xa5, 0x57, 0x30, 0xdf, 0x10, 0x8c, 0xee, 0x61, 0x81, 0x89, 0xc5, 0xb8, 0xc8, 0x72, 0xd0, 0xcb, 0x6a, 0x3e, 0x63, 0xb7, 0x42, 0x54, 0x21, 0x7, 0x7b, 0xf0, 0x44, 0x26, 0xc4, 0x2f, 0x14, 0x90, 0x34, 0xcc, 0x5, 0x7, 0x58, 0x28, 0x7b, 0x51, 0x2, 0xca, 0x3b, 0xdc, 0x39, 0x8b, 0x80, 0x73, 0x29, 0x2c, 0x7d, 0x37, 0xfa, 0x8c, 0x2b, 0x56, 0x2c, 0x9, 0x4, 0xd6, 0xae, 0xef, 0x23, 0xe4, 0x2, 0x92, 0x42, 0x59, 0x87, 0x3, 0x68, 0x1, 0x8a, 0xac, 0x55, 0xf9, 0xb7, 0x1c, 0xc7, 0x49, 0xc1, 0x17, 0xcb, 0x6f, 0xc, 0x49, 0xb7, 0xed, 0x34, 0xf6, 0xd9, 0x58, 0x2c, 0x53, 0x1e, 0xd3, 0xaa, 0x27, 0x6e, 0xfc, 0xec, 0xfa, 0x46, 0x2a, 0x9e, 0xaf, 0xb0, 0x78, 0x5e, 0x97, 0x8b, 0x6b, 0x8b, 0xea, 0x6f, 0x21, 0x3f, 0x22, 0x45, 0xc9, 0xd, 0x66, 0xf9, 0xa4, 0x8a, 0xd3, 0x32, 0xc1, 0x2b, 0x34, 0x17, 0x7f, 0x2f, 0x85, 0x6, 0x4c, 0x5c, 0x33, 0xf3, 0xcb, 0x5c, 0x3c, 0xc8, 0xac, 0xd4, 0xe9, 0x8a, 0x34, 0xca, 0x3b, 0xde, 0x66, 0xab, 0x7f, 0x53, 0x29, 0xd0, 0x67, 0x17, 0x66, 0x7f, 0x3e, 0x4a, 0xa4, 0x88, 0xa, 0x2c, 0x46, 0x90, 0x7, 0x1c, 0x30, 0xdc, 0x16, 0xdc, 0x29, 0xeb, 0x1, 0xbb, 0x84, 0x39, 0x92, 0xcb, 0x4c, 0xaa, 0xc2, 0xc1, 0xcb, 0x22, 0x70, 0xe6, 0xe8, 0xcc, 0x1c, 0x57, 0x9e, 0xc7, 0x77, 0x8c, 0x17, 0x45, 0x2e, 0x6f, 0xca, 0x42, 0x74, 0x8b, 0x79, 0x86, 0x1b, 0x91, 0xa, 0xf4, 0xdd, 0x5c, 0xe7, 0xb8, 0x62, 0x9, 0x9e, 0xbf, 0x6b, 0xbf, 0x3b, 0x9, 0xe2, 0x6f, 0x9d, 0xd1, 0xa7, 0x81, 0xc3, 0x85, 0xc6, 0x7d, 0xa4, 0x8f, 0x3d, 0xfb, 0xab, 0xa0, 0xda, 0x10, 0x7f, 0x69, 0x73, 0x38, 0x19, 0x1b, 0x77, 0xf9, 0x3a, 0xe6, 0xe6, 0xee, 0xf7, 0x70, 0xc0, 0xce, 0xf7, 0xf9, 0xe2, 0x6c, 0xb8, 0xe5, 0x42, 0x5e, 0x7f, 0xda, 0xe1, 0x5a, 0x76, 0x78, 0xda, 0x3f, 0xdb, 0xe1, 0x2, 0xee, 0xd2, 0xb1, 0xd, 0x6c, 0xbe, 0x0, 0xd, 0x1a, 0x4e, 0x2f, 0xa2, 0x46, 0x5b, 0xfd, 0x98, 0x2f, 0x97, 0x2c, 0x11, 0xf, 0x22, 0x35, 0xc7, 0x3f, 0xa4, 0x32, 0x13, 0xc8, 0x4b, 0x89, 0xf7, 0x92, 0x67, 0x2, 0x6, 0x4c, 0x8b, 0x9b, 0x80, 0xb4, 0x17, 0x6c, 0x31, 0xc, 0xdd, 0x3b, 0x86, 0x1d, 0x5b, 0x8b, 0x9e, 0x8b, 0x14, 0xce, 0x31, 0x37, 0xef, 0x17, 0x58, 0x96, 0xfe, 0xa5, 0x2a, 0x82, 0x5d, 0x2d, 0xf3, 0x4, 0x8b, 0x6e, 0xe2, 0xc, 0x2a, 0x3a, 0x73, 0x1d, 0xa, 0xe7, 0xd7, 0x1e, 0xdb, 0xe7, 0xc8, 0xa2, 0xc1, 0x1e, 0x13, 0x47, 0x2c, 0x91, 0x1b, 0x42, 0x8d, 0x25, 0x23, 0x8d, 0xf, 0xa0, 0x20, 0xfa, 0xd, 0x5f, 0xb, 0x49, 0x81, 0xd6, 0x8c, 0x5, 0x7f, 0x17, 0x18, 0xab, 0xd2, 0x17, 0xd4, 0xa1, 0xaf, 0xde, 0xcf, 0xcb, 0xeb, 0xb0, 0x50, 0x2e, 0x2c, 0x5d, 0xda, 0xb0, 0x29, 0xde, 0xb9, 0x7a, 0x73, 0xc2, 0x5c, 0x35, 0xc7, 0x9, 0xca, 0xd4, 0x89, 0xb1, 0x12, 0xc3, 0xca, 0xb7, 0xa5, 0x4, 0x2c, 0x10, 0xd0, 0x47, 0x41, 0x51, 0x47, 0xeb, 0xcd, 0x46, 0x31, 0x2d, 0xfe, 0x74, 0xcf, 0x91, 0x85, 0x14, 0x77, 0x62, 0x15, 0x29, 0x4, 0x24, 0x71, 0x94, 0x71, 0x76, 0x8e, 0x74, 0x85, 0xdb, 0xad, 0x75, 0xb8, 0x2e, 0x5a, 0x13, 0x54, 0x11, 0x12, 0x8b, 0xce, 0x16, 0x4e, 0x5f, 0x44, 0xd0, 0xed, 0x48, 0xea, 0x6b, 0xcd, 0x15, 0x18, 0x37, 0xc8, 0x10, 0xcf, 0x7d, 0x4e, 0x11, 0x13, 0x38, 0xef, 0x69, 0xa6, 0xb0, 0x66, 0x9f, 0x8d, 0xe9, 0x4a, 0xb7, 0xb5, 0x8c, 0xa1, 0xc2, 0x51, 0xe4, 0xbc, 0x10, 0xb7, 0x32, 0x28, 0x9d, 0x6f, 0x9c, 0x5b, 0x87, 0x17, 0xe0, 0x4d, 0x42, 0xd8, 0xcc, 0x3c, 0x65, 0x28, 0x1a, 0xd8, 0xf5, 0x6c, 0x16, 0xc, 0x7c, 0x36, 0xbb, 0xb6, 0xfb, 0x78, 0x70, 0x39, 0xd2, 0xfd, 0x4d, 0xeb, 0xdb, 0x6d, 0x75, 0x3d, 0xa2, 0x6d, 0x7b, 0xcd, 0x9a, 0xf3, 0x77, 0xb8, 0x5b, 0x11, 0x93, 0x58, 0xb6, 0x92, 0x54, 0x61, 0x21, 0x71, 0x48, 0x4d, 0x48, 0xd4, 0xd0, 0xd1, 0x2b, 0x37, 0xa4, 0xe8, 0x95, 0xb9, 0x38, 0xb2, 0xe5, 0x32, 0xd3, 0x4, 0x67, 0x10, 0xbd, 0xa, 0x46, 0xc, 0x25, 0x9, 0x43, 0xb3, 0xd7, 0x9a, 0x8b, 0xe9, 0x1a, 0x76, 0x26, 0x6e, 0x4a, 0x57, 0x2b, 0x5d, 0xdf, 0x9d, 0x6e, 0xf3, 0x40, 0x19, 0x75, 0xa4, 0x2c, 0xe4, 0x85, 0x58, 0x3b, 0xed, 0xd6, 0xcd, 0xe8, 0x8e, 0x2d, 0xc2, 0xcf, 0xca, 0xb8, 0x4c, 0x79, 0xee, 0x81, 0x20, 0x42, 0xee, 0xe9, 0x2a, 0xf1, 0x46, 0xbf, 0xa, 0xc8, 0x7e, 0x7d, 0x6c, 0xaf, 0x2a, 0xda, 0x63, 0xa0, 0xc6, 0x9, 0x6d, 0xd1, 0x7f, 0xa1, 0xab, 0xef, 0xd3, 0x52, 0xfc, 0xf8, 0x73, 0x8e, 0x55, 0x7d, 0x49, 0xa4, 0xc6, 0x5c, 0xaa, 0x1b, 0xa8, 0xb0, 0xb6, 0x5b, 0x8a, 0x1d, 0x1, 0xb5, 0xa6, 0xa3, 0x1d, 0x87, 0x2a, 0xc0, 0x90, 0xcd, 0xd3, 0x6e, 0x4c, 0xe2, 0x3f, 0xd4, 0xfd, 0x63, 0x7f, 0xd0, 0x9a, 0x78, 0xbb, 0x9, 0x7e, 0x54, 0x99, 0x6, 0x3c, 0x7b, 0x87, 0xe9, 0xe4, 0x3b, 0x3c, 0xe6, 0x15, 0x82, 0x4d, 0x24, 0x3c, 0x8a, 0xef, 0xb2, 0x4c, 0x83, 0xb0, 0x75, 0x58, 0x12, 0xb6, 0x80, 0xd8, 0xcc, 0x6f, 0x13, 0x1d, 0x1f, 0x84, 0xe2, 0x97, 0x42, 0x41, 0x94, 0x87, 0x72, 0x9d, 0xe2, 0xbb, 0x4c, 0xb, 0xe5, 0x1e, 0xe9, 0xf9, 0x7a, 0xd0, 0x5, 0x5f, 0x45, 0x2a, 0xcb, 0x5d, 0x16, 0x88, 0x5, 0x42, 0xde, 0x97, 0xbc, 0xbb, 0x4f, 0xb, 0xb6, 0xae, 0x3, 0x30, 0x73, 0xfb, 0xf6, 0x8f, 0x9b, 0xee, 0xf2, 0x4a, 0xc1, 0xfa, 0x21, 0x68, 0x86, 0xb6, 0xea, 0xac, 0x8d, 0xda, 0x5f, 0x5e, 0xaa, 0x1d, 0x5e, 0xdc, 0xc1, 0x9e, 0xa9, 0x79, 0xe2, 0x89, 0xe5, 0x77, 0xd, 0xa1, 0x98, 0x5d, 0xe6, 0x3c, 0x2e, 0x3c, 0xdb, 0x3d, 0xbf, 0x7, 0x69, 0x6f, 0xf1, 0x8e, 0xf3, 0x52, 0xcd, 0x24, 0xb8, 0x95, 0x79, 0xa4, 0xca, 0x52, 0x26, 0xbd, 0x56, 0xd2, 0xfc, 0xdb, 0x34, 0xbb, 0x81, 0x56, 0x28, 0xb3, 0x87, 0xf9, 0xaa, 0xa3, 0x5, 0x57, 0x2b, 0x1f, 0x26, 0x0, 0xf2, 0x59, 0xea, 0xdd, 0xa, 0x4f, 0x2f, 0x13, 0x8b, 0x65, 0xb1, 0x8a, 0x54, 0x5e, 0x2a, 0x26, 0x31, 0x77, 0x90, 0x3d, 0x72, 0xc0, 0xb7, 0xd1, 0x1c, 0x9e, 0x89, 0x5e, 0x21, 0xb4, 0x1, 0x39, 0x53, 0x80, 0xa2, 0xd6, 0x3c, 0x5d, 0x67, 0x73, 0x7d, 0xd5, 0x68, 0x9e, 0x54, 0x16, 0xfb, 0x94, 0xab, 0x58, 0xa4, 0x63, 0x54, 0xd8, 0x45, 0x32, 0x7c, 0x10, 0xaa, 0x18, 0x58, 0x4d, 0x75, 0x2f, 0x1f, 0x2, 0xcc, 0xd9, 0x93, 0x3c, 0x8, 0x80, 0xbf, 0xea, 0xb2, 0x9b, 0x73, 0xc1, 0x35, 0xc9, 0xe, 0xb2, 0x2b, 0x0, 0x52, 0x10, 0xfa, 0x9d, 0x42, 0xbc, 0xb3, 0xa5, 0xe6, 0xea, 0x6b, 0x21, 0x72, 0xc5, 0xd3, 0x91, 0x92, 0x85, 0xb1, 0xdd, 0x71, 0x6c, 0xbb, 0x19, 0x53, 0x15, 0xff, 0xd7, 0xff, 0xf5, 0x1f, 0x5b, 0x81, 0x75, 0x3d, 0x4c, 0xfe, 0xf5, 0x78, 0xf8, 0xa7, 0xab, 0xe1, 0x64, 0x3a, 0x3b, 0x1d, 0x9c, 0x9f, 0xe, 0x3f, 0xcd, 0x86, 0x7f, 0x9e, 0xe, 0xc7, 0xe7, 0x83, 0x4f, 0x33, 0x73, 0x9b, 0x7d, 0xf8, 0x74, 0xf1, 0x65, 0x36, 0xfc, 0xf3, 0xf0, 0xf4, 0x6a, 0x3a, 0xba, 0x38, 0x9f, 0x8d, 0xce, 0x47, 0xd3, 0xd1, 0x60, 0x3a, 0x3c, 0xbb, 0x6, 0xc5, 0xc2, 0xa5, 0x5b, 0xda, 0x11, 0x4, 0x98, 0x19, 0x77, 0x52, 0x17, 0x59, 0xee, 0x91, 0x9a, 0x2b, 0xf3, 0xc0, 0x1e, 0xb9, 0xb6, 0x73, 0x64, 0x1, 0x37, 0xc8, 0xff, 0x4c, 0xef, 0xb7, 0x95, 0xa7, 0xd1, 0x87, 0x36, 0x89, 0x2, 0xb6, 0x29, 0x44, 0xbf, 0xfe, 0x62, 0xe3, 0x77, 0xe4, 0x3e, 0x38, 0x4f, 0x32, 0xa9, 0x52, 0x10, 0x18, 0xad, 0x32, 0x80, 0x79, 0xf2, 0xe3, 0x6, 0xe9, 0x8e, 0xf3, 0xd2, 0xcd, 0x93, 0xd8, 0x70, 0x20, 0xe, 0x7a, 0x12, 0xc2, 0xea, 0xba, 0x53, 0x1b, 0x45, 0x38, 0xf4, 0x6e, 0x74, 0xf3, 0x64, 0xf6, 0xe1, 0xb5, 0xdb, 0x65, 0xd3, 0xc1, 0xe4, 0xe3, 0xec, 0xf4, 0xe2, 0xf3, 0xe5, 0xa7, 0x61, 0xb0, 0xc1, 0x6c, 0x68, 0x15, 0xbd, 0x39, 0x10, 0x63, 0xc4, 0xbd, 0x43, 0xb8, 0x7c, 0x46, 0x36, 0xb6, 0xf9, 0xb8, 0xa, 0x2e, 0xd3, 0xce, 0x39, 0x6d, 0x97, 0x7c, 0x95, 0x66, 0x3c, 0xd1, 0x4f, 0x59, 0x88, 0xca, 0x4c, 0x1d, 0x66, 0x25, 0x90, 0x65, 0x6f, 0xe7, 0xce, 0xb7, 0x45, 0xea, 0x73, 0xc9, 0x53, 0xf9, 0xf, 0x90, 0x51, 0x0, 0x39, 0x48, 0x71, 0x62, 0x38, 0xa9, 0x14, 0x2e, 0x2, 0xd, 0x4a, 0xa, 0x84, 0x4d, 0xc0, 0x34, 0x11, 0x22, 0x5f, 0xaa, 0x9, 0x6b, 0x36, 0x2f, 0x55, 0xc, 0xd9, 0x1b, 0xdb, 0x4b, 0x34, 0x7f, 0xeb, 0x9b, 0x48, 0x9, 0xbf, 0xcc, 0xe3, 0xe, 0x77, 0xfe, 0x16, 0x47, 0x8f, 0x95, 0x72, 0x70, 0x61, 0x6a, 0x1b, 0x47, 0x3, 0x42, 0xd0, 0x3c, 0x53, 0x3d, 0xdb, 0xc5, 0x1a, 0xe0, 0x1d, 0x5e, 0xaf, 0x1d, 0x83, 0xd, 0xb5, 0x9d, 0xb9, 0x2f, 0x1b, 0x63, 0x6b, 0xf6, 0x6d, 0xdb, 0x56, 0x74, 0x20, 0xa9, 0x9b, 0x37, 0x87, 0xeb, 0xe2, 0x14, 0x79, 0x2e, 0x9f, 0xa2, 0x84, 0xd9, 0xb6, 0xc6, 0xe5, 0x3e, 0xad, 0x90, 0x27, 0xe5, 0x4b, 0xb0, 0x6b, 0xf7, 0x68, 0xcd, 0x68, 0xcc, 0x9f, 0x77, 0x84, 0x71, 0xbc, 0xa, 0xdf, 0xd9, 0xb4, 0x83, 0x40, 0xdd, 0x70, 0x80, 0x8d, 0x4e, 0xef, 0xc8, 0x14, 0xa5, 0xa1, 0x36, 0x5d, 0x9e, 0x3b, 0x6c, 0x15, 0xa0, 0x9b, 0x4d, 0x6, 0xfa, 0x5c, 0x3c, 0x1e, 0x50, 0x92, 0xed, 0x75, 0x84, 0x2a, 0xc7, 0xdc, 0x9c, 0x3, 0xaf, 0xb7, 0x54, 0x20, 0xa2, 0x82, 0x93, 0xe4, 0xce, 0x50, 0x40, 0x9e, 0xbb, 0x45, 0x50, 0x61, 0x7, 0x76, 0xd2, 0x1f, 0xe0, 0x9d, 0xc6, 0x56, 0xf, 0x7d, 0x62, 0xa4, 0x5a, 0xae, 0x6f, 0xc5, 0x1d, 0x6e, 0xb1, 0x7d, 0xe, 0xcc, 0x46, 0x2d, 0x92, 0xa8, 0x6c, 0xc1, 0x65, 0xa1, 0xa5, 0xba, 0x4d, 0x83, 0x2b, 0x22, 0x2f, 0x37, 0x91, 0x20, 0xed, 0x76, 0xce, 0x9e, 0xdc, 0x9, 0xb3, 0x12, 0x1d, 0x7a, 0xf1, 0x5b, 0xbf, 0xa3, 0x6e, 0x78, 0x7c, 0x9f, 0xcd, 0xe7, 0x13, 0x73, 0x4, 0x6c, 0x1c, 0x7d, 0x8f, 0x29, 0xfd, 0x25, 0x7b, 0x64, 0xe0, 0x5a, 0xf3, 0xe0, 0x8f, 0xe8, 0xf9, 0x3, 0x22, 0x60, 0x64, 0x2b, 0x66, 0x3a, 0xbe, 0x13, 0x49, 0x99, 0x5a, 0x87, 0x27, 0xe2, 0x47, 0x56, 0x26, 0xde, 0x97, 0xc6, 0xe0, 0xd, 0x6, 0x25, 0x23, 0x84, 0xea, 0x84, 0x97, 0x5d, 0x2e, 0x8a, 0x7c, 0x85, 0x7e, 0x63, 0xbc, 0x15, 0x6b, 0x87, 0x16, 0xc8, 0xb7, 0x6c, 0x5e, 0x39, 0xf6, 0x63, 0xc1, 0x57, 0x4c, 0xa8, 0x79, 0x96, 0xc7, 0x2, 0x61, 0xa8, 0x16, 0x52, 0xc9, 0x85, 0xb1, 0x3b, 0x0, 0x65, 0xd9, 0xe1, 0x69, 0xd2, 0x37, 0x9, 0xaf, 0xa, 0xbd, 0xce, 0xcb, 0x3c, 0x2b, 0x4, 0xe8, 0x2d, 0x6c, 0x59, 0xe6, 0xcb, 0x4c, 0xb7, 0x95, 0xd6, 0x48, 0x34, 0xc3, 0xba, 0xb2, 0xf3, 0x3e, 0xbc, 0xb1, 0xa2, 0x13, 0x24, 0xe7, 0xc8, 0xbd, 0xdd, 0xd8, 0xf8, 0x1c, 0x13, 0x1c, 0xba, 0x36, 0x4d, 0xf9, 0x10, 0x1b, 0x17, 0x2c, 0x8c, 0xbf, 0x8c, 0xe6, 0x81, 0xa1, 0xff, 0x5a, 0xe3, 0x1c, 0xb3, 0x25, 0xf0, 0x80, 0x53, 0xda, 0x38, 0x7a, 0x8, 0xb8, 0xd3, 0x2c, 0x8a, 0xcc, 0xde, 0x1e, 0xce, 0x52, 0xb3, 0x70, 0xcd, 0x4a, 0x44, 0xea, 0x8e, 0x6b, 0x4a, 0x93, 0xa8, 0x0, 0xcd, 0xba, 0x14, 0xf4, 0x65, 0xb6, 0x2c, 0xd1, 0x7b, 0x4f, 0x3e, 0x4d, 0x5e, 0x30, 0x1a, 0x64, 0x9f, 0x9d, 0x67, 0x8f, 0xec, 0x8, 0xda, 0xf5, 0x48, 0xda, 0x37, 0x2b, 0x5a, 0x4d, 0xc, 0xb5, 0xea, 0xe4, 0xfe, 0x98, 0xf6, 0x90, 0xe2, 0xa9, 0x3d, 0xc, 0xe4, 0x69, 0xbe, 0x6e, 0xb0, 0x41, 0x3f, 0xc, 0x46, 0x9f, 0xcc, 0xb1, 0xc1, 0x88, 0x92, 0x12, 0x8f, 0x33, 0xe7, 0xcf, 0x98, 0xa1, 0xdf, 0xe3, 0x9a, 0x69, 0xb1, 0x29, 0xc5, 0xf6, 0xd4, 0x29, 0xbc, 0xe3, 0x3, 0x68, 0xd9, 0xd, 0xc6, 0x35, 0x29, 0xd9, 0x2e, 0x5b, 0x64, 0x91, 0x69, 0x24, 0xc3, 0x5, 0x72, 0x43, 0x9b, 0x9c, 0xe5, 0xfc, 0x20, 0xe4, 0x61, 0x87, 0x9b, 0x1b, 0xb4, 0xef, 0xc9, 0xd9, 0x47, 0xa6, 0xcb, 0x7c, 0x4e, 0xb1, 0x4e, 0xa9, 0x1d, 0x31, 0xaa, 0x5d, 0xb4, 0x7, 0xc9, 0x6b, 0x5c, 0xa8, 0x3f, 0x8b, 0xe2, 0x53, 0xc3, 0xd8, 0xda, 0x48, 0x7c, 0xee, 0x4, 0x4f, 0x44, 0xe7, 0x1d, 0xfe, 0xb, 0x3e, 0xdd, 0xd8, 0xd2, 0x42, 0x2c, 0x3a, 0x43, 0x5b, 0x7c, 0x36, 0xcf, 0x36, 0xb6, 0x82, 0xa1, 0xc7, 0x46, 0x8d, 0x63, 0x63, 0x8b, 0x93, 0xfa, 0x7b, 0x2d, 0x47, 0x1a, 0xb8, 0xf7, 0xdf, 0x6f, 0xe, 0x52, 0x77, 0x8c, 0xd6, 0x56, 0x38, 0x55, 0xad, 0x84, 0xb, 0x7c, 0x6a, 0xf8, 0x2d, 0xed, 0x43, 0xab, 0x81, 0xd2, 0x62, 0x8f, 0x96, 0x7b, 0x3c, 0x8c, 0xe4, 0x62, 0x94, 0x84, 0x6b, 0x2d, 0x6f, 0x15, 0xf2, 0x4d, 0x96, 0xa9, 0x58, 0x2f, 0x92, 0x91, 0x2a, 0x1, 0xe7, 0x2d, 0xe6, 0x94, 0xe3, 0xe3, 0x8c, 0xfb, 0x4f, 0x51, 0x56, 0x42, 0xa5, 0x57, 0xb5, 0x7c, 0x81, 0xb, 0x84, 0x89, 0xc6, 0x10, 0x1a, 0x9, 0xe5, 0x20, 0x6d, 0xe1, 0xe1, 0xa7, 0xfe, 0xdb, 0x8d, 0xc2, 0x31, 0x5d, 0xf7, 0xd9, 0x3e, 0x49, 0x58, 0x36, 0x34, 0xb3, 0x69, 0xf2, 0xab, 0x24, 0x5e, 0x16, 0x22, 0x3c, 0x5d, 0xb1, 0x44, 0xc4, 0x16, 0xde, 0x35, 0x18, 0x86, 0xb, 0x3f, 0x12, 0x86, 0x92, 0xbd, 0xa7, 0xe0, 0x7a, 0xa, 0xb4, 0x48, 0x73, 0xa0, 0x28, 0x61, 0xbb, 0x84, 0x22, 0x88, 0xf, 0x59, 0xce, 0xc4, 0x57, 0x6e, 0x4e, 0x52, 0x8f, 0xfc, 0xeb, 0x66, 0x56, 0x43, 0x57, 0x7a, 0xa6, 0xd6, 0xae, 0x2b, 0x4a, 0xb4, 0x30, 0x2d, 0xd3, 0x1e, 0xb0, 0xd7, 0x23, 0x21, 0x54, 0x3e, 0x58, 0x64, 0x7c, 0xfa, 0xb6, 0xcd, 0x36, 0xa8, 0x6b, 0x4b, 0x5d, 0x55, 0xf6, 0x21, 0x25, 0x64, 0xef, 0x9b, 0x45, 0x2d, 0x7c, 0x83, 0x4b, 0x99, 0xbf, 0x8, 0x2d, 0x4b, 0x3, 0xce, 0x8a, 0x70, 0x1f, 0xc7, 0xac, 0xc3, 0x6a, 0x51, 0x7a, 0x3, 0xbe, 0x2d, 0x5b, 0xa6, 0xa5, 0xae, 0xbf, 0x96, 0x95, 0x45, 0x10, 0xcc, 0xc, 0x9f, 0x36, 0xba, 0x3, 0x71, 0xb6, 0x21, 0xe6, 0x64, 0x35, 0x29, 0xa2, 0x8d, 0xad, 0xa5, 0xfc, 0x16, 0xb3, 0x62, 0x76, 0xe4, 0xe6, 0xf9, 0xb0, 0x82, 0x24, 0xd4, 0xb8, 0xd7, 0xe6, 0xa6, 0xf2, 0xa3, 0x9d, 0x9d, 0x96, 0xf4, 0xf2, 0xaa, 0x77, 0xfd, 0x69, 0x15, 0x21, 0xd2, 0x71, 0x21, 0xcb, 0x9a, 0xcb, 0x88, 0x32, 0x98, 0x10, 0x69, 0xc7, 0x7c, 0xc9, 0x7a, 0x41, 0xdb, 0x6f, 0xe9, 0xb1, 0x59, 0x95, 0x17, 0x61, 0xd, 0xab, 0x65, 0xc7, 0x60, 0xa1, 0xe7, 0xb9, 0x4c, 0xd7, 0x46, 0x61, 0x14, 0x72, 0x5, 0x8c, 0x2d, 0x9b, 0xb6, 0x4c, 0x96, 0xcb, 0x5b, 0xa3, 0xcb, 0x4c, 0x9e, 0xa5, 0x90, 0xb5, 0xce, 0x93, 0x40, 0x1f, 0x6b, 0x3a, 0x20, 0x6d, 0x5b, 0xda, 0xf4, 0x7d, 0x5f, 0x67, 0x16, 0xac, 0xe, 0x1b, 0xa3, 0x45, 0x4e, 0xf9, 0x44, 0xc1, 0xc5, 0x63, 0x36, 0x9c, 0x27, 0x5c, 0xaa, 0x4, 0x9c, 0x70, 0xea, 0x2c, 0xe2, 0xec, 0xfa, 0x4f, 0xbe, 0x80, 0x4, 0x0, 0xef, 0xa0, 0x76, 0xa5, 0xfa, 0x1, 0x1f, 0x47, 0x6a, 0x1d, 0x21, 0xec, 0xad, 0x51, 0xb2, 0x91, 0x4e, 0xa8, 0xa1, 0xb6, 0xef, 0x15, 0x4f, 0x12, 0x89, 0xb7, 0xca, 0x65, 0xb3, 0xb0, 0x64, 0x9b, 0xee, 0xb6, 0x71, 0xf8, 0xdd, 0xce, 0xb5, 0x7f, 0xf4, 0x96, 0x99, 0xc8, 0xb0, 0x52, 0xef, 0x48, 0xdc, 0xbe, 0x73, 0x51, 0x14, 0x1b, 0x6d, 0x9, 0xf0, 0x78, 0xb4, 0xce, 0x62, 0x19, 0x2a, 0xde, 0xc2, 0x9e, 0x29, 0x36, 0x3a, 0x3b, 0x26, 0xf8, 0xc0, 0x77, 0x6c, 0x54, 0x58, 0x52, 0x8, 0xf2, 0x2a, 0xfa, 0x87, 0x34, 0x6a, 0xa8, 0xb0, 0x4f, 0xd7, 0x2e, 0x17, 0x97, 0x1a, 0xd7, 0xa3, 0x84, 0x39, 0x4c, 0x47, 0x43, 0xd0, 0xc1, 0x48, 0xc5, 0x3c, 0x4d, 0x35, 0xf6, 0x51, 0xce, 0xd9, 0x44, 0xde, 0x2a, 0x9e, 0x7e, 0x91, 0xc5, 0x5d, 0x4b, 0x63, 0xc4, 0xf4, 0xc6, 0x2b, 0x5e, 0x1b, 0xd0, 0x9e, 0x54, 0xad, 0xe7, 0x3e, 0x4b, 0x92, 0x62, 0x4b, 0x9b, 0xbb, 0xd7, 0x5a, 0xf6, 0x6a, 0xac, 0x9c, 0x5d, 0x51, 0xd7, 0x2a, 0x5f, 0xb8, 0x74, 0x2d, 0x6c, 0xd4, 0x7, 0x5b, 0x21, 0x92, 0x6a, 0xd7, 0x1b, 0x74, 0x88, 0x99, 0x3d, 0xb5, 0x86, 0xb8, 0xfa, 0x6f, 0xb5, 0xee, 0xaf, 0x5b, 0xe4, 0x29, 0xc6, 0x5f, 0x6d, 0xac, 0x2d, 0xe7, 0xd, 0xd0, 0x4c, 0xd, 0xdf, 0xc4, 0x62, 0x4d, 0xac, 0x2d, 0xb2, 0xe9, 0x25, 0xbf, 0x4a, 0x2d, 0x21, 0xf1, 0x7a, 0xb5, 0x3d, 0xe4, 0x8a, 0x65, 0x1a, 0x7, 0xf4, 0x5, 0x1e, 0xc2, 0xfa, 0xed, 0x18, 0xd5, 0xa0, 0x4f, 0xb1, 0x23, 0xf1, 0xf5, 0x1d, 0x1b, 0x98, 0xeb, 0x34, 0x16, 0x4b, 0x9a, 0x95, 0x3c, 0x7b, 0x54, 0x50, 0xf7, 0x22, 0xf2, 0x1c, 0x82, 0xb5, 0x58, 0x13, 0xdb, 0x12, 0xcf, 0x0, 0x1b, 0x7a, 0x52, 0xf0, 0xa2, 0x73, 0xbf, 0xc7, 0xfe, 0x8d, 0x7f, 0x7a, 0xef, 0xd3, 0x8b, 0x46, 0x48, 0x18, 0xae, 0x56, 0xbe, 0x3a, 0x7c, 0xa8, 0xe4, 0x60, 0x4a, 0xf4, 0x81, 0x23, 0xd1, 0xc5, 0x41, 0x9d, 0xd3, 0x7, 0x3, 0xd7, 0x68, 0x56, 0x22, 0xd3, 0x4c, 0x3f, 0x1f, 0x9f, 0xec, 0xee, 0x18, 0x25, 0x95, 0xe9, 0xa5, 0x1a, 0x9c, 0x66, 0x6f, 0x8, 0x5e, 0xb3, 0x9f, 0x84, 0xba, 0x2d, 0xee, 0xf6, 0x39, 0x81, 0x2d, 0x77, 0x51, 0x4e, 0xb4, 0xbf, 0x90, 0xbc, 0xf3, 0xb4, 0x8c, 0x23, 0x6c, 0xe4, 0xb9, 0xf2, 0x1d, 0x44, 0x18, 0x8e, 0x7b, 0x96, 0xd5, 0xfb, 0x2d, 0xb8, 0x89, 0x78, 0x59, 0x64, 0xa0, 0xd8, 0x5e, 0x82, 0xbe, 0xd9, 0x5d, 0xdc, 0xfb, 0x57, 0x9a, 0xcf, 0x70, 0x47, 0x8, 0xa3, 0xd6, 0x6d, 0x2f, 0xa6, 0x39, 0x57, 0x5a, 0x62, 0x9c, 0xae, 0x54, 0x3b, 0x45, 0x4c, 0x3a, 0x6d, 0x51, 0x3a, 0x0, 0x13, 0xf9, 0xf, 0xf1, 0x7e, 0xd5, 0x30, 0xaf, 0x7b, 0x7f, 0x60, 0x91, 0x19, 0x8b, 0x2e, 0x16, 0xaa, 0xd8, 0x58, 0x77, 0xb2, 0x71, 0x9e, 0x1b, 0xde, 0x6c, 0xbe, 0xf1, 0xc2, 0x92, 0x8a, 0xd0, 0xf7, 0x5a, 0xad, 0xa3, 0x60, 0x8, 0xa6, 0x8d, 0x55, 0x43, 0xcb, 0x25, 0x71, 0xbc, 0xaa, 0x30, 0x53, 0xe, 0x3c, 0x45, 0x3e, 0x3f, 0xa2, 0xea, 0x44, 0x9b, 0x7a, 0x6f, 0xb8, 0x2f, 0xf7, 0x8f, 0x8d, 0x79, 0x2c, 0x12, 0x56, 0x2e, 0x2b, 0x1c, 0x8d, 0x52, 0xdd, 0x9e, 0xbc, 0x65, 0x83, 0xcb, 0x11, 0x9a, 0x39, 0x8b, 0xec, 0xc1, 0xb4, 0xf0, 0x57, 0x78, 0xba, 0x5c, 0x9e, 0x84, 0x84, 0xf3, 0x27, 0x8f, 0xf, 0x7f, 0xdb, 0x72, 0x48, 0xcf, 0x88, 0x10, 0x63, 0x4f, 0x24, 0x83, 0x9a, 0xb6, 0x68, 0x69, 0x36, 0x6a, 0x9e, 0x6, 0x9b, 0x2e, 0x1e, 0x7b, 0xba, 0x32, 0x90, 0xf3, 0xe8, 0x67, 0x30, 0x9a, 0x42, 0xa0, 0x70, 0x22, 0x9e, 0x52, 0x30, 0x33, 0x52, 0xa3, 0xf9, 0xe1, 0xc3, 0x4, 0x75, 0xa3, 0x1a, 0x28, 0x1e, 0x33, 0xdd, 0xa, 0x2d, 0x98, 0x67, 0xd9, 0x21, 0xc4, 0xde, 0xa6, 0xc9, 0x38, 0xdd, 0xc, 0x78, 0x6a, 0x7a, 0xd0, 0xa0, 0x5e, 0xc3, 0x40, 0x5b, 0x7f, 0xad, 0xcd, 0x22, 0x16, 0x3b, 0xe8, 0x77, 0x91, 0x7a, 0xd3, 0x67, 0x83, 0x6a, 0x6e, 0xa7, 0xf9, 0xe, 0x8a, 0xf7, 0xca, 0xac, 0xc8, 0x42, 0xb3, 0xec, 0x51, 0x55, 0x3f, 0xd0, 0x8f, 0xd4, 0xdb, 0x4a, 0x3, 0x44, 0x25, 0xab, 0x31, 0x25, 0xba, 0xd2, 0x86, 0xf9, 0xab, 0x83, 0x62, 0xaa, 0x76, 0x93, 0x63, 0xf3, 0xb5, 0x37, 0x9c, 0xd1, 0xe8, 0x6b, 0x1f, 0xac, 0x93, 0x13, 0x6, 0x41, 0x7c, 0x36, 0x60, 0xa6, 0x8b, 0x4, 0x3c, 0x6a, 0x41, 0x5e, 0x30, 0x14, 0x17, 0x60, 0x8b, 0xba, 0xc7, 0xa0, 0x16, 0xcb, 0x7a, 0x51, 0x35, 0xbb, 0x11, 0xd8, 0x7e, 0xa4, 0x86, 0xf4, 0xa7, 0x77, 0x91, 0x62, 0x6c, 0x12, 0xb, 0xc5, 0x73, 0x99, 0xb1, 0x37, 0xef, 0x3c, 0x52, 0xf1, 0x97, 0x37, 0xd6, 0x5e, 0x8c, 0xef, 0x64, 0x1a, 0xf0, 0x20, 0x7d, 0x79, 0x8b, 0xe1, 0xc2, 0x2f, 0x6f, 0xdb, 0x1e, 0xf8, 0x3, 0xd0, 0x84, 0x32, 0x76, 0xc2, 0xd6, 0x97, 0x26, 0x9b, 0x93, 0xd, 0x95, 0x8b, 0xa, 0x51, 0x97, 0x66, 0x5f, 0xde, 0xf4, 0x2b, 0x9d, 0x79, 0xbb, 0x63, 0x67, 0xd6, 0x26, 0xe9, 0x40, 0xfd, 0xf8, 0x43, 0xb5, 0x1f, 0xeb, 0x9f, 0x79, 0xbb, 0xf9, 0x33, 0x5f, 0xde, 0x60, 0xab, 0xae, 0xd2, 0x6b, 0xfd, 0x89, 0xb7, 0xf0, 0xc4, 0xdb, 0xea, 0x77, 0xff, 0x63, 0xc7, 0xf1, 0x5b, 0xd7, 0x8d, 0x48, 0x7a, 0xc8, 0xa9, 0x23, 0xd5, 0x2d, 0xfb, 0xf2, 0x87, 0x43, 0x4c, 0xc1, 0xff, 0x59, 0xed, 0x4a, 0xf3, 0x97, 0xe, 0x37, 0xd, 0x2d, 0x7a, 0x1, 0xc4, 0x58, 0x44, 0xb2, 0x25, 0x7e, 0xb4, 0x35, 0x81, 0xc5, 0x23, 0x1, 0xd9, 0x16, 0x9, 0xf1, 0x6c, 0x74, 0x46, 0xe1, 0xf2, 0xd0, 0x59, 0xd6, 0x67, 0x97, 0x50, 0x92, 0x12, 0xb, 0x17, 0x26, 0xc4, 0x7c, 0x3c, 0x24, 0xc0, 0x5d, 0x2b, 0xa, 0xb4, 0x35, 0x80, 0x91, 0x6a, 0x6a, 0x6b, 0xb0, 0xf6, 0x45, 0x8, 0x61, 0xa5, 0x48, 0x5e, 0x89, 0x95, 0xab, 0x99, 0xb2, 0xb5, 0x27, 0x41, 0x6d, 0xc2, 0xc0, 0xc7, 0xa3, 0xc6, 0x65, 0x2a, 0x74, 0xa4, 0x5c, 0xa0, 0xb8, 0x29, 0xec, 0x9f, 0x35, 0xf8, 0xf5, 0x28, 0x5b, 0x80, 0x2, 0xd4, 0xad, 0x9, 0x3, 0x5c, 0xa6, 0xda, 0x91, 0x57, 0xd8, 0x57, 0x22, 0x45, 0x54, 0xc1, 0x3e, 0x36, 0x16, 0xe, 0x22, 0xf4, 0xea, 0xc7, 0x71, 0x96, 0x27, 0x54, 0x8c, 0x10, 0xf8, 0x9, 0x83, 0x19, 0x82, 0x80, 0x1a, 0x90, 0xa7, 0xd6, 0xdb, 0x89, 0xb9, 0x42, 0x40, 0x2b, 0x6a, 0x8c, 0x9c, 0x4f, 0xb, 0x99, 0x24, 0x29, 0xd5, 0xc5, 0x5, 0x43, 0x9a, 0xb3, 0x53, 0x5f, 0xda, 0x30, 0x16, 0xe8, 0x14, 0xc3, 0xe9, 0x41, 0xa8, 0x11, 0x0, 0x28, 0xc1, 0x22, 0x9a, 0xda, 0x42, 0x7c, 0x63, 0x1d, 0x82, 0x22, 0x53, 0xfb, 0xed, 0x65, 0x17, 0x6a, 0x74, 0xad, 0xa1, 0x27, 0x91, 0xbb, 0x90, 0xd6, 0x8f, 0x74, 0xb3, 0x4, 0x1b, 0x70, 0x34, 0xb7, 0xbc, 0xdc, 0x3d, 0xb7, 0x8e, 0x33, 0x5b, 0xa3, 0xe4, 0x82, 0x9c, 0x4, 0x3f, 0x61, 0x26, 0xad, 0x67, 0x23, 0x6a, 0x10, 0x30, 0xf3, 0xd5, 0x75, 0xf5, 0x0, 0xe9, 0xb7, 0x9e, 0x52, 0xd8, 0xcb, 0xfb, 0x65, 0xb6, 0xe1, 0x71, 0xa0, 0xfc, 0x36, 0x97, 0x53, 0x6f, 0xb7, 0x5b, 0x7c, 0xc7, 0xa5, 0xd9, 0x38, 0x1e, 0xc1, 0xdf, 0x31, 0x97, 0x3d, 0x48, 0x5e, 0xab, 0xa5, 0x74, 0x1e, 0x46, 0x2a, 0xf3, 0xf2, 0x41, 0x5e, 0xac, 0x9d, 0xa3, 0xd6, 0x11, 0x9e, 0xd1, 0x34, 0x1c, 0xa9, 0x13, 0x56, 0x9, 0xca, 0x42, 0x3d, 0xa4, 0x3d, 0x99, 0xe0, 0xca, 0xaa, 0xfd, 0x45, 0x8b, 0x2, 0x5e, 0xca, 0x33, 0xc5, 0x26, 0x74, 0x4e, 0x9b, 0xa7, 0xc6, 0x4f, 0xf3, 0x5e, 0xae, 0xd8, 0x5f, 0xab, 0xcd, 0x6c, 0x52, 0xe5, 0x6, 0x37, 0x0, 0x42, 0x10, 0xa, 0xca, 0x16, 0x87, 0x2c, 0xf9, 0x45, 0x5d, 0x7d, 0x5b, 0x9f, 0x1, 0xf6, 0x9d, 0xdb, 0xa3, 0xd5, 0x35, 0x0, 0xbe, 0xbe, 0x48, 0xdd, 0x84, 0x5, 0x9f, 0x59, 0x1e, 0x96, 0x42, 0xf6, 0x58, 0x12, 0xd6, 0x54, 0x5d, 0xfb, 0xb1, 0xcf, 0x8c, 0x5a, 0xd9, 0xb7, 0xd1, 0x68, 0xaa, 0x7c, 0xae, 0xff, 0x1c, 0xfc, 0xdb, 0x72, 0x89, 0x5f, 0xc3, 0x9a, 0x87, 0x21, 0xef, 0x40, 0x2c, 0x5b, 0x7a, 0xf4, 0x70, 0x8f, 0x42, 0xcb, 0xc8, 0x2c, 0x58, 0x15, 0x63, 0xf3, 0x12, 0x60, 0x8, 0x36, 0x21, 0x86, 0xfa, 0x7a, 0xb9, 0x3d, 0xc1, 0x20, 0xa6, 0x4, 0x87, 0x6c, 0xc9, 0x27, 0xaa, 0x95, 0x8c, 0xa0, 0xae, 0xfa, 0x1c, 0x98, 0x26, 0xb, 0x6d, 0x5b, 0xee, 0x1e, 0x54, 0x91, 0x35, 0xd4, 0x66, 0xb4, 0xa6, 0xed, 0xd8, 0xe7, 0x9b, 0xcf, 0x9f, 0xfd, 0xd9, 0x25, 0xd6, 0x6e, 0xae, 0x3c, 0xa1, 0x24, 0xa0, 0x83, 0x58, 0xca, 0x1b, 0xa7, 0x11, 0xe0, 0x8b, 0xb4, 0xfc, 0x7, 0x2c, 0xe2, 0x8d, 0xf9, 0x94, 0x55, 0x9b, 0x6c, 0x57, 0xd8, 0x92, 0x12, 0x92, 0x58, 0x2e, 0xc8, 0x44, 0x3, 0x3, 0xb6, 0x5e, 0x83, 0xb3, 0xa5, 0x96, 0x86, 0x46, 0xb4, 0xb7, 0x63, 0x61, 0xb3, 0x85, 0x55, 0xaa, 0x2, 0xa9, 0x48, 0x9f, 0xde, 0xf7, 0x2e, 0x71, 0x12, 0xa3, 0xc9, 0xc8, 0xb8, 0xc1, 0x90, 0x6b, 0xaa, 0x7f, 0xb3, 0xa6, 0xaa, 0x2e, 0xf2, 0x32, 0x36, 0x27, 0x4, 0x21, 0x92, 0x6c, 0xa8, 0xe4, 0xc1, 0x85, 0x4a, 0x7a, 0xa4, 0x3a, 0x96, 0xce, 0xe5, 0xcc, 0x38, 0x4b, 0x9, 0x65, 0xd3, 0x73, 0xb7, 0x6e, 0xc3, 0x38, 0x6f, 0x62, 0xdb, 0xdd, 0xc7, 0xe7, 0xec, 0x65, 0x86, 0xe5, 0x5, 0xee, 0x7a, 0x26, 0x7e, 0x5d, 0x7f, 0x73, 0x8b, 0x63, 0x1e, 0x1d, 0x2a, 0xfc, 0x5e, 0x68, 0x23, 0x22, 0x63, 0x91, 0xa0, 0x62, 0xa, 0xd5, 0xb9, 0x77, 0xa2, 0xa9, 0x98, 0x15, 0xe1, 0x60, 0xa8, 0x98, 0x7a, 0x72, 0xf6, 0xd1, 0xaa, 0x97, 0x9e, 0x83, 0xc7, 0x7b, 0x56, 0x9e, 0xf5, 0xa8, 0xb7, 0xc, 0xc6, 0x8a, 0xd9, 0xea, 0xd, 0xf1, 0x5a, 0x33, 0xfb, 0xd5, 0xfa, 0x0, 0xda, 0x10, 0xcd, 0xe4, 0x42, 0x4c, 0xee, 0xe5, 0x72, 0x29, 0xd5, 0xed, 0x5a, 0xc1, 0xc5, 0xc6, 0xee, 0x4e, 0xd7, 0xdf, 0xdc, 0x96, 0xec, 0x7c, 0xa2, 0xe9, 0x79, 0x66, 0xab, 0xa5, 0x71, 0x93, 0x3b, 0x95, 0xbf, 0x71, 0x97, 0x8f, 0xe6, 0xc4, 0x50, 0x4a, 0xf7, 0x5a, 0xb1, 0xa1, 0x25, 0xcb, 0x61, 0xb, 0x1c, 0xd1, 0x3e, 0xa3, 0x9e, 0xe2, 0xad, 0x7f, 0xc4, 0x24, 0x35, 0xc7, 0x28, 0xbc, 0xf6, 0x2e, 0xdc, 0x9f, 0xf9, 0x43, 0x33, 0x61, 0x42, 0xc7, 0x33, 0x81, 0xfc, 0xd4, 0x87, 0xc, 0x3c, 0xbe, 0xd8, 0x49, 0x9, 0xce, 0x81, 0xdd, 0x5f, 0xac, 0x5c, 0x6a, 0x91, 0x17, 0x41, 0x41, 0x37, 0xc4, 0xdc, 0xcc, 0xb2, 0xdc, 0xaa, 0x2c, 0x47, 0x97, 0x98, 0x92, 0x29, 0x20, 0x12, 0xcd, 0x59, 0xa9, 0xb4, 0x28, 0x66, 0xd, 0xea, 0x0, 0xd4, 0xa9, 0xe7, 0xad, 0x8c, 0x0, 0xf0, 0x5e, 0x43, 0x6f, 0xf7, 0x48, 0x76, 0x6c, 0x1a, 0xc, 0x69, 0xc9, 0xb5, 0xb1, 0xb4, 0xd8, 0xcd, 0x45, 0x1, 0xb4, 0x5a, 0x2e, 0x2f, 0x62, 0xaf, 0x84, 0x13, 0x97, 0x21, 0x60, 0x9b, 0xb5, 0x76, 0x5e, 0x5e, 0x2a, 0xe8, 0x63, 0x83, 0x92, 0xa7, 0x33, 0xca, 0x1f, 0x37, 0x32, 0xfa, 0xef, 0x25, 0xd8, 0xc, 0xe, 0xf2, 0x47, 0x16, 0x77, 0xa0, 0x7, 0x47, 0x2a, 0x48, 0x3f, 0xb0, 0x86, 0x48, 0x22, 0x92, 0x72, 0xd9, 0xea, 0x94, 0xb4, 0x5d, 0xf0, 0xe9, 0xb6, 0xa7, 0x3c, 0x4d, 0x6f, 0x78, 0xdc, 0xe, 0x5b, 0xf7, 0xdc, 0xe0, 0xd3, 0xb6, 0x3, 0x9d, 0xf3, 0x4e, 0x7c, 0xdf, 0x1, 0xc, 0x2, 0x3a, 0xbf, 0xc3, 0xdc, 0xb6, 0x25, 0x88, 0xee, 0x4f, 0x49, 0x61, 0x13, 0x3b, 0x31, 0x19, 0xda, 0x36, 0xe8, 0x52, 0x68, 0x7d, 0x25, 0xad, 0xb4, 0x5, 0xd3, 0x95, 0x1c, 0x12, 0x54, 0x31, 0xc9, 0x40, 0xda, 0xba, 0x47, 0x9f, 0xe5, 0x8a, 0x71, 0x3a, 0xe5, 0x36, 0x19, 0xc0, 0xc6, 0x16, 0x77, 0x24, 0xc0, 0xc9, 0xb6, 0x5d, 0xfa, 0x23, 0x8, 0xe2, 0xff, 0x2e, 0x35, 0x66, 0x6f, 0x48, 0x9e, 0x12, 0x24, 0xf7, 0x9a, 0xe8, 0xf8, 0xd6, 0x37, 0x53, 0x18, 0x70, 0xd9, 0x74, 0xb7, 0x3c, 0x72, 0x4d, 0x96, 0x49, 0xd2, 0x67, 0xa7, 0x61, 0xf0, 0x1e, 0x6, 0x6e, 0xef, 0x9c, 0xca, 0x4b, 0x4f, 0xb9, 0x47, 0x2e, 0x1b, 0xb2, 0x7f, 0x76, 0xbe, 0x33, 0xe, 0xb0, 0x93, 0xb7, 0xec, 0x5f, 0xc8, 0x9, 0x4a, 0x5a, 0xc, 0xd4, 0x4d, 0x89, 0x4d, 0xc9, 0xb3, 0x33, 0xda, 0xd2, 0x42, 0xfa, 0xa2, 0x90, 0x6, 0xe1, 0x6a, 0x56, 0x13, 0xbb, 0xd3, 0x9a, 0x87, 0xc7, 0xf5, 0x5e, 0x51, 0x2a, 0x2c, 0xa6, 0x70, 0xa8, 0xa, 0xe6, 0x63, 0x21, 0xc6, 0x52, 0xfb, 0x84, 0x6d, 0x33, 0x15, 0xda, 0x77, 0x4c, 0x35, 0xa7, 0xa4, 0x9b, 0x1d, 0x81, 0xb3, 0xb0, 0x5d, 0xe5, 0x87, 0x8f, 0x1c, 0x52, 0xad, 0xf9, 0x3e, 0xb7, 0xe8, 0xb7, 0x5b, 0xf6, 0xa6, 0x1c, 0xd0, 0xbd, 0xfb, 0xe1, 0x54, 0x3, 0x9a, 0x9d, 0xca, 0x3d, 0xd3, 0x79, 0x7e, 0xb6, 0xed, 0x48, 0xbf, 0x21, 0x60, 0xcc, 0x5c, 0x51, 0x66, 0xd6, 0x82, 0xe7, 0xf7, 0x38, 0x78, 0xde, 0xb2, 0xf9, 0xd6, 0x8e, 0xe1, 0x86, 0x1d, 0x88, 0x89, 0x9a, 0x7, 0xdd, 0x83, 0x1a, 0x9a, 0xdc, 0xd5, 0x69, 0x54, 0x71, 0x7f, 0x2a, 0xbe, 0x10, 0x3f, 0x2, 0xa2, 0x91, 0x5, 0x8a, 0x83, 0x36, 0x8d, 0xe, 0x32, 0x97, 0xf9, 0x41, 0xeb, 0x62, 0x9b, 0x3b, 0xf1, 0xc5, 0x29, 0x7d, 0xda, 0x27, 0x15, 0x1a, 0x93, 0xdf, 0xd5, 0x58, 0x73, 0xcd, 0x78, 0x7e, 0x5b, 0x2e, 0x84, 0x2a, 0x8e, 0xf4, 0xb1, 0xd5, 0x8e, 0xa8, 0x9f, 0x77, 0x5c, 0x25, 0x69, 0x5b, 0x7d, 0xd4, 0x41, 0xa1, 0x44, 0x7e, 0xc, 0x8e, 0xa6, 0x46, 0x7f, 0x9a, 0xd4, 0xd4, 0x8d, 0x3, 0x16, 0x7a, 0x6d, 0x3a, 0x14, 0xf8, 0x8, 0xd5, 0x65, 0x3e, 0xa, 0x40, 0x2e, 0xb, 0x91, 0xb4, 0xb5, 0x50, 0x89, 0xc8, 0x6b, 0x2b, 0xc9, 0x81, 0x23, 0x60, 0x29, 0xe9, 0x31, 0x82, 0xf7, 0x8a, 0x14, 0xd5, 0x75, 0x3a, 0x28, 0xd5, 0x2e, 0xfe, 0x3f, 0xa3, 0x5b, 0xfc, 0x2c, 0x94, 0xc8, 0x79, 0x21, 0xc2, 0xaa, 0xfd, 0x7d, 0x2c, 0x9d, 0x96, 0x0, 0x82, 0xc, 0xf2, 0xfd, 0x97, 0x18, 0x29, 0xb, 0xd8, 0x1d, 0x78, 0xfa, 0xc8, 0x57, 0x3a, 0x88, 0x5a, 0xcc, 0x79, 0xda, 0x5a, 0x55, 0xfa, 0xc, 0xc8, 0x35, 0x1b, 0xf3, 0x3b, 0xa0, 0xe8, 0x12, 0x27, 0x1f, 0xb, 0x12, 0xd0, 0xb7, 0xb5, 0x2e, 0x3f, 0x2a, 0x65, 0x9d, 0x58, 0xd6, 0xf6, 0xe2, 0x22, 0x15, 0xc5, 0x92, 0xfd, 0xa1, 0x57, 0xe1, 0x1c, 0xd0, 0xe, 0x2, 0xe, 0x6d, 0x13, 0x5b, 0x10, 0x89, 0x8e, 0x88, 0x38, 0xcb, 0x21, 0xf6, 0x6, 0x2, 0xd, 0xec, 0x37, 0x33, 0xf0, 0x5b, 0xdc, 0x1e, 0x46, 0x6e, 0xa6, 0x52, 0xdd, 0x3f, 0x45, 0x85, 0x9c, 0x60, 0xe6, 0xe9, 0x73, 0x80, 0xeb, 0x1c, 0x34, 0xa3, 0x13, 0x3, 0x6d, 0xf6, 0x39, 0x97, 0x64, 0xb8, 0x5f, 0x16, 0x6e, 0xd5, 0x93, 0x84, 0xb8, 0xf1, 0x77, 0x32, 0x4d, 0xa8, 0xde, 0xd1, 0x7e, 0x84, 0x65, 0x65, 0x6e, 0x73, 0x48, 0x52, 0xf9, 0x20, 0x34, 0x83, 0x38, 0xd5, 0xe4, 0xec, 0x23, 0xc6, 0x71, 0xaf, 0x46, 0xac, 0xc8, 0xb2, 0x54, 0x7, 0xd5, 0x75, 0xec, 0x1a, 0x9f, 0x9f, 0xd9, 0xd6, 0x67, 0xae, 0x35, 0x8b, 0xda, 0x7b, 0x53, 0xfa, 0x7a, 0x6f, 0x63, 0xfb, 0x6c, 0x7e, 0xb, 0xea, 0x7d, 0x33, 0x95, 0xb6, 0x79, 0xb9, 0x5b, 0xe6, 0x67, 0x9f, 0x24, 0xcc, 0x17, 0x3a, 0xc2, 0x1b, 0xb2, 0x92, 0xea, 0x99, 0x3e, 0xf5, 0x94, 0xff, 0x8a, 0x5d, 0x5c, 0xcb, 0xdb, 0x28, 0xee, 0x84, 0x16, 0x1e, 0xe3, 0x17, 0x53, 0x73, 0x20, 0x68, 0x8e, 0x8e, 0xc2, 0xaa, 0x18, 0x6e, 0x7d, 0xd8, 0xfa, 0x9, 0x79, 0xbd, 0xfd, 0x6c, 0x1e, 0xd0, 0x49, 0x34, 0x4b, 0x19, 0xf0, 0xb1, 0x10, 0xa1, 0xa4, 0x4b, 0xc, 0xdb, 0xb8, 0x7e, 0xcf, 0x6, 0x8d, 0xe6, 0x6e, 0x5a, 0x6c, 0xd8, 0x17, 0xea, 0xc2, 0xa0, 0xc2, 0xaa, 0x5e, 0x3b, 0xa5, 0xe, 0xf8, 0xac, 0xb6, 0x8, 0xdf, 0x33, 0x1a, 0x48, 0x4b, 0x1, 0xc5, 0xd9, 0x47, 0x5c, 0x8a, 0x40, 0xed, 0xc1, 0x65, 0xa, 0x54, 0x1f, 0x26, 0x8b, 0x50, 0xf9, 0x71, 0x45, 0x58, 0x6b, 0x68, 0x50, 0x7, 0xc5, 0xfb, 0xd9, 0x1e, 0x19, 0x6b, 0xda, 0xfb, 0x4, 0x6, 0xe2, 0xeb, 0x95, 0x72, 0x51, 0x0, 0xde, 0x3c, 0xaa, 0x1f, 0x18, 0xe3, 0xa6, 0xe4, 0xa9, 0x2d, 0xc0, 0x20, 0xbf, 0x43, 0xa4, 0xb8, 0x6c, 0xb3, 0x83, 0x95, 0x77, 0x8c, 0x11, 0x26, 0xb2, 0x5e, 0xfd, 0xec, 0x73, 0x21, 0xa1, 0x8, 0xc5, 0x7d, 0xd7, 0xd6, 0x55, 0x53, 0xcd, 0x87, 0xc4, 0x88, 0x3b, 0x94, 0x81, 0xe0, 0x9a, 0x83, 0x37, 0x8d, 0x92, 0x45, 0x3c, 0xf2, 0xe0, 0xb7, 0x40, 0xf5, 0x70, 0x7d, 0xfe, 0xf0, 0xb4, 0x2, 0xa7, 0xc6, 0x46, 0xf, 0x2, 0x55, 0xd1, 0xd8, 0xb2, 0xad, 0x50, 0x3d, 0xd8, 0xca, 0x5a, 0x7a, 0x19, 0xf2, 0x18, 0x9b, 0x55, 0x76, 0x8e, 0xa3, 0x36, 0xcd, 0xca, 0x56, 0x1e, 0x71, 0xcd, 0x88, 0xc, 0xb8, 0x1f, 0xa9, 0x41, 0xbd, 0x18, 0x17, 0xbd, 0x85, 0xba, 0x96, 0x8d, 0x81, 0x38, 0x1f, 0x48, 0x2a, 0x6c, 0x3, 0x4e, 0x3a, 0xb8, 0x61, 0xe, 0xe8, 0x9b, 0xf6, 0x49, 0xe5, 0xed, 0x4e, 0x92, 0x1a, 0xa2, 0xa3, 0xd8, 0x5c, 0x6b, 0x1, 0xc9, 0x3e, 0xcf, 0x32, 0xf5, 0xf, 0x22, 0x5f, 0xf9, 0x5c, 0xa2, 0x91, 0xc5, 0xc8, 0xc6, 0xfb, 0x8c, 0x4b, 0x80, 0x1b, 0xa9, 0x6c, 0xeb, 0x1e, 0xe6, 0xf7, 0xf4, 0x30, 0x97, 0xc7, 0x48, 0x49, 0xc8, 0xee, 0xb1, 0x58, 0x3d, 0x21, 0x6b, 0x39, 0xa7, 0x34, 0xa4, 0xd, 0x35, 0x72, 0x97, 0x0, 0x33, 0xb3, 0x53, 0x91, 0x1c, 0xbd, 0xd2, 0xd8, 0x26, 0x2f, 0x8c, 0x9d, 0xd8, 0x2a, 0xfa, 0x76, 0xa7, 0x1, 0xf2, 0x17, 0x9f, 0xd9, 0x81, 0x0, 0x61, 0x5b, 0xb0, 0x37, 0xa4, 0xd3, 0x7a, 0xa2, 0x25, 0xb9, 0x10, 0x9a, 0x3d, 0xa, 0xcc, 0x67, 0x46, 0xb9, 0x53, 0x64, 0x56, 0xe4, 0x54, 0x55, 0xe3, 0x8e, 0x77, 0xde, 0xcb, 0x21, 0x8, 0x18, 0xf3, 0x8a, 0xdf, 0xe8, 0x2c, 0x85, 0xae, 0x42, 0x82, 0x7e, 0x11, 0xd0, 0x13, 0x6, 0x69, 0xe7, 0xe8, 0xf0, 0x30, 0x8f, 0x24, 0xc, 0x41, 0x13, 0xec, 0x4e, 0x22, 0x73, 0xde, 0x66, 0xa6, 0x53, 0x26, 0x91, 0x2b, 0xee, 0xfe, 0xa, 0x9b, 0xeb, 0x47, 0x44, 0x16, 0xca, 0x42, 0xbc, 0xa1, 0xb6, 0x8b, 0x24, 0xcf, 0x94, 0x4b, 0x13, 0x7b, 0xd2, 0xc9, 0xab, 0x1b, 0x24, 0x0, 0xed, 0x64, 0x36, 0x2c, 0xde, 0x6, 0x36, 0x57, 0x14, 0x4a, 0xc5, 0x61, 0x64, 0x58, 0xce, 0x1, 0xcc, 0xa5, 0x1b, 0xce, 0x60, 0xe8, 0x3c, 0x78, 0x8f, 0x20, 0x5a, 0x7b, 0x1c, 0xc4, 0xf, 0x40, 0xc3, 0x8, 0x1d, 0xa, 0xb, 0x9c, 0xeb, 0x55, 0x8a, 0x7c, 0x61, 0x53, 0x61, 0x60, 0x79, 0x6c, 0x49, 0x85, 0x2f, 0x96, 0x97, 0x5, 0x25, 0xf0, 0xb1, 0x6c, 0x4e, 0x36, 0x6e, 0xd8, 0x26, 0x8, 0x4c, 0x97, 0x1d, 0xcb, 0x88, 0xad, 0x46, 0x99, 0xa1, 0x93, 0x95, 0x65, 0x4, 0x30, 0x2c, 0x13, 0x30, 0x35, 0x14, 0x1a, 0xde, 0x9f, 0xd9, 0x57, 0x5a, 0x16, 0xe9, 0xb7, 0x50, 0x9e, 0x65, 0x34, 0x86, 0xc1, 0x33, 0x95, 0x68, 0x1d, 0xe, 0xf, 0xa9, 0xc9, 0x60, 0xe9, 0xc6, 0xcc, 0xfe, 0x4, 0xab, 0xc5, 0x42, 0xdf, 0x3f, 0xd9, 0x6a, 0x1, 0xf2, 0x73, 0x9f, 0x27, 0x4b, 0x18, 0x43, 0xb7, 0xc8, 0x86, 0x81, 0xa0, 0xed, 0x68, 0x79, 0xbb, 0xa6, 0x66, 0xd0, 0xd4, 0x4c, 0x56, 0xae, 0x87, 0x48, 0x59, 0x3b, 0xb0, 0xfe, 0xc9, 0x79, 0x96, 0x13, 0xc6, 0xb8, 0xf7, 0x1b, 0x6c, 0x16, 0x9b, 0xfb, 0x5f, 0x87, 0x81, 0xf3, 0xee, 0xd1, 0x8c, 0xf9, 0x4d, 0xff, 0xed, 0x9b, 0x36, 0x67, 0x22, 0x70, 0x3d, 0x3e, 0x77, 0x35, 0x5a, 0xcd, 0x9f, 0xa2, 0xa, 0xa1, 0x3c, 0x59, 0x6, 0x57, 0xab, 0x2, 0x30, 0xf4, 0xd1, 0x64, 0x2e, 0xee, 0x78, 0xd, 0x86, 0xed, 0x41, 0xe4, 0x1c, 0xac, 0x34, 0x0, 0x2a, 0x75, 0xe5, 0x6b, 0xf3, 0x2c, 0x47, 0xf9, 0x0, 0x8c, 0xe8, 0x4, 0xa6, 0xf0, 0x28, 0x2c, 0xbf, 0x91, 0x91, 0x8, 0x46, 0x0, 0xd6, 0xd2, 0xa3, 0x77, 0x4c, 0x6e, 0x8e, 0xff, 0x69, 0x13, 0x1c, 0xbc, 0xc4, 0xad, 0x8a, 0x56, 0xe2, 0xb6, 0x6c, 0x2f, 0x46, 0xfb, 0xf6, 0xee, 0x9f, 0xc3, 0x17, 0xa5, 0x31, 0xb6, 0x77, 0x59, 0x1a, 0x63, 0xcf, 0x5a, 0x98, 0xf6, 0x65, 0x2d, 0x10, 0xdd, 0xd6, 0x17, 0x3a, 0x9, 0xe6, 0x6f, 0xde, 0x5f, 0x58, 0xcd, 0xfb, 0x96, 0xe9, 0xbf, 0x78, 0xa9, 0x9b, 0x79, 0xed, 0xcb, 0x1b, 0x58, 0x88, 0xb6, 0x79, 0xa2, 0x98, 0x6, 0xce, 0x15, 0xbd, 0xf1, 0x16, 0xfb, 0xf4, 0x7, 0x9c, 0x80, 0x2d, 0x6f, 0x7e, 0x67, 0x55, 0x75, 0xdf, 0x62, 0xc8, 0x2f, 0x5c, 0xc0, 0x47, 0x43, 0xa4, 0xf9, 0xeb, 0xd2, 0x61, 0x3b, 0xd4, 0xef, 0xa8, 0xf4, 0xef, 0x5b, 0xac, 0xd3, 0xb, 0x57, 0x19, 0x3e, 0x7d, 0xad, 0x9e, 0xb1, 0xa8, 0xab, 0x5e, 0xfd, 0x52, 0xc7, 0xed, 0x72, 0xb5, 0x77, 0x21, 0xeb, 0x25, 0xc5, 0xf0, 0x2, 0x91, 0x9d, 0xe5, 0xde, 0xb3, 0xf7, 0xdd, 0x54, 0xbd, 0x7d, 0xd3, 0xf4, 0x5f, 0x5f, 0xc, 0x58, 0x57, 0x37, 0xc8, 0x6e, 0xb, 0xd5, 0x8e, 0x48, 0x9d, 0x9a, 0xb3, 0x96, 0xb, 0xd5, 0x3, 0xbb, 0x4d, 0xf7, 0xac, 0x13, 0xbb, 0x57, 0xf1, 0x62, 0x5b, 0xe7, 0x28, 0x98, 0xbb, 0xb4, 0xfe, 0xc, 0x95, 0x59, 0x63, 0x0, 0xbe, 0xd6, 0xfe, 0xfb, 0x72, 0x4e, 0x0, 0x94, 0x8, 0xb8, 0x2b, 0xd7, 0xe1, 0xd3, 0x5f, 0x6b, 0xcc, 0xc7, 0x87, 0xb8, 0x3, 0x85, 0x78, 0x9c, 0xa3, 0xdf, 0xb5, 0x63, 0xc9, 0xec, 0x36, 0x99, 0x3d, 0x48, 0x3c, 0x55, 0x67, 0xe0, 0x7a, 0x82, 0xf9, 0xd3, 0x14, 0xce, 0x76, 0x9b, 0x53, 0x16, 0xae, 0xb4, 0xcb, 0xd1, 0x5a, 0xaf, 0x7, 0xa1, 0xec, 0x8e, 0xb4, 0x28, 0x58, 0x44, 0x8a, 0x65, 0x97, 0x1, 0x3b, 0x9, 0x1b, 0xb3, 0xc6, 0x66, 0xd6, 0x67, 0x23, 0x65, 0xb9, 0x59, 0x34, 0x20, 0x80, 0x56, 0xda, 0x86, 0x29, 0x47, 0x94, 0x3d, 0xbe, 0xd6, 0xaa, 0x23, 0x44, 0xb, 0x4a, 0x17, 0xb5, 0x75, 0x37, 0x11, 0xd5, 0xd6, 0x29, 0x29, 0xf6, 0x81, 0xf1, 0x66, 0xe, 0x90, 0x5f, 0x82, 0xc0, 0x19, 0x3, 0x95, 0x25, 0x2a, 0x5d, 0xd9, 0x65, 0xab, 0xf5, 0xc5, 0x42, 0x24, 0x51, 0xeb, 0x7c, 0x7d, 0x1d, 0x83, 0x7a, 0x58, 0xcc, 0x75, 0x6e, 0x65, 0x97, 0x6b, 0xe0, 0x94, 0xb5, 0x61, 0xd7, 0x5a, 0xb1, 0x5a, 0x1b, 0xa8, 0xf0, 0xb7, 0xa9, 0xcc, 0x72, 0xd2, 0xf, 0x97, 0xa2, 0x65, 0xb3, 0x6d, 0x36, 0xe3, 0xd6, 0xf7, 0xea, 0x96, 0x8, 0x79, 0xa5, 0x4c, 0xb0, 0x4a, 0x45, 0x80, 0x12, 0xd, 0x37, 0x48, 0x46, 0x1b, 0xc9, 0xda, 0x6c, 0x68, 0x51, 0xe3, 0x96, 0xb9, 0xe1, 0xda, 0x53, 0xb2, 0xd9, 0x83, 0x6f, 0x36, 0x3, 0xfd, 0x6e, 0x75, 0xe0, 0xf0, 0x84, 0x43, 0xe0, 0x4, 0xfe, 0x1e, 0x70, 0x5d, 0xd2, 0xd6, 0x80, 0xf7, 0x37, 0x1c, 0x65, 0x5e, 0x54, 0xf8, 0x28, 0x7, 0x1e, 0x30, 0xcb, 0x99, 0xec, 0x37, 0x2b, 0x3f, 0x8e, 0x8a, 0xa3, 0x38, 0xe8, 0x56, 0x5e, 0xaa, 0x5e, 0x43, 0xa7, 0x2, 0x2c, 0xdb, 0xb5, 0xae, 0x39, 0xdc, 0xea, 0x3, 0xf6, 0xe, 0x7c, 0x62, 0x10, 0x47, 0x16, 0x98, 0x41, 0x4, 0x7d, 0xe9, 0xf4, 0x2e, 0x78, 0x9e, 0xf1, 0x65, 0x3c, 0x5a, 0x34, 0xe, 0x69, 0xf3, 0xfb, 0xd0, 0xe9, 0x4b, 0x10, 0x64, 0x62, 0x3e, 0x17, 0x71, 0x21, 0x1f, 0x44, 0xba, 0xb2, 0x53, 0x40, 0x68, 0xc2, 0x85, 0x34, 0xe7, 0x29, 0x9b, 0x87, 0x48, 0xf6, 0x6b, 0xd, 0xb8, 0xa, 0x69, 0x5e, 0x83, 0x1, 0xf6, 0x6e, 0x3b, 0x8a, 0x87, 0x1c, 0x49, 0xd1, 0x27, 0x1a, 0x7e, 0x2b, 0xcf, 0x50, 0x8c, 0x91, 0xf0, 0xc6, 0x75, 0x7, 0xdc, 0x3a, 0xce, 0x4e, 0xf9, 0x79, 0xf8, 0x2b, 0xae, 0xa, 0xd5, 0xce, 0xdb, 0x9c, 0xfd, 0xba, 0x40, 0xa0, 0x62, 0x50, 0xdf, 0x25, 0xea, 0xc9, 0x31, 0xcc, 0x1a, 0x9, 0xb2, 0xb0, 0xda, 0xc4, 0x3f, 0x29, 0xe7, 0x61, 0x43, 0xd9, 0xdc, 0xcf, 0xf0, 0x3a, 0xcb, 0x76, 0xe3, 0xa5, 0x11, 0xa9, 0x8b, 0xc6, 0x86, 0xb5, 0x58, 0xf2, 0x9c, 0x17, 0x66, 0x72, 0x61, 0xfa, 0x1a, 0xb, 0xcc, 0xfc, 0xe3, 0x70, 0x66, 0xc2, 0x7d, 0x82, 0x46, 0x5c, 0xd5, 0xeb, 0xb3, 0x28, 0x8b, 0x12, 0x60, 0xa1, 0xc5, 0xd7, 0x38, 0x2d, 0x35, 0x30, 0x67, 0x9b, 0x8e, 0xb9, 0x66, 0x66, 0xbc, 0x2c, 0xb2, 0x19, 0x91, 0x32, 0x62, 0xf9, 0x6d, 0xa4, 0x6, 0xe, 0xfa, 0x73, 0xd5, 0x63, 0xd, 0xe5, 0x37, 0x3d, 0xb8, 0x48, 0xed, 0xb1, 0xf, 0x8b, 0xc7, 0xdc, 0xb7, 0x93, 0x12, 0x98, 0x42, 0x2d, 0xbd, 0x65, 0x22, 0x62, 0x89, 0x4c, 0x87, 0x5b, 0x4, 0x57, 0x0, 0x2c, 0xbd, 0x4b, 0x9d, 0xf4, 0xa8, 0xed, 0xfd, 0x27, 0xcb, 0xae, 0x1b, 0x71, 0x2b, 0x15, 0x55, 0xc6, 0x34, 0x11, 0x47, 0xf6, 0xd9, 0x7b, 0xe4, 0x7f, 0x8, 0xe8, 0x74, 0xf1, 0x80, 0x37, 0x0, 0x3a, 0x34, 0x24, 0x96, 0xd9, 0x9b, 0x28, 0x20, 0x68, 0xb5, 0xa7, 0xc1, 0xb1, 0x9b, 0x7a, 0x11, 0xf7, 0x63, 0xa4, 0x42, 0xb1, 0x2, 0x7a, 0x12, 0x95, 0xb7, 0xab, 0x5b, 0xcb, 0xa9, 0x8e, 0x73, 0xc0, 0x61, 0xaf, 0x98, 0xc3, 0x7c, 0xc7, 0x97, 0x4b, 0x61, 0xc6, 0x60, 0xfd, 0x5, 0x80, 0x2d, 0x1, 0x2e, 0xb2, 0x20, 0x7b, 0x5, 0x1d, 0x67, 0xe0, 0x7f, 0x58, 0xef, 0xb, 0xd6, 0x9d, 0x34, 0x41, 0x54, 0x80, 0xcc, 0x0, 0xef, 0xc2, 0x8d, 0x9f, 0x3, 0x8a, 0xf, 0xc9, 0xe2, 0x4e, 0xe4, 0x4, 0xf7, 0xe0, 0x37, 0xec, 0x7a, 0xeb, 0x70, 0x80, 0x43, 0xff, 0x5e, 0xd3, 0x64, 0xcc, 0x6b, 0x5d, 0x7f, 0xad, 0x43, 0x45, 0xa5, 0xcf, 0x6, 0x80, 0x60, 0xdd, 0x82, 0xa4, 0x41, 0xb5, 0xeb, 0x56, 0x6e, 0x79, 0x1c, 0x74, 0x2c, 0x50, 0x87, 0xd0, 0x9, 0xa6, 0x93, 0x9e, 0x98, 0x7d, 0x10, 0x29, 0xa8, 0x96, 0x37, 0xbd, 0xe, 0xeb, 0xa4, 0x2a, 0x4d, 0x6a, 0x38, 0x6c, 0xa3, 0x60, 0xb2, 0x1, 0x7a, 0x1, 0x1c, 0x1b, 0x35, 0xf8, 0x0, 0x54, 0x53, 0x2b, 0x6a, 0x8a, 0x7e, 0xe7, 0x64, 0x6c, 0xd3, 0xae, 0x82, 0x37, 0xd6, 0x67, 0x81, 0xda, 0xce, 0x33, 0xf5, 0xae, 0x2a, 0xe4, 0x35, 0xfe, 0x2, 0x62, 0xfc, 0x9d, 0xc7, 0xdb, 0xf, 0xd5, 0xa4, 0xd, 0x32, 0x3c, 0xec, 0x41, 0x20, 0xc8, 0x21, 0xda, 0x62, 0xe, 0x4c, 0x20, 0xcc, 0xfd, 0x32, 0x36, 0x76, 0x7b, 0x5d, 0x80, 0xf7, 0x1b, 0x25, 0xb8, 0xc2, 0x86, 0xc3, 0x36, 0xbc, 0xb1, 0xb4, 0x76, 0xcd, 0x72, 0x55, 0x79, 0x12, 0x4, 0x7b, 0x20, 0xd1, 0xbd, 0x22, 0x67, 0xda, 0xc, 0x66, 0x8d, 0x7c, 0x6a, 0x74, 0x74, 0xc2, 0x83, 0x73, 0xc, 0x97, 0xa2, 0x13, 0x6f, 0x4c, 0x65, 0x85, 0x40, 0x92, 0xed, 0x6e, 0x72, 0xf3, 0xda, 0xb, 0x4e, 0xbc, 0x6d, 0xac, 0x3e, 0x78, 0xd, 0xdc, 0xd9, 0xd7, 0x4d, 0xd0, 0x5, 0xfb, 0x48, 0x4b, 0xd3, 0xe8, 0xe4, 0xec, 0x23, 0x93, 0x8b, 0x65, 0x2a, 0xc0, 0xb4, 0x3, 0x89, 0xc7, 0x92, 0xc, 0x9c, 0x6f, 0x52, 0x15, 0x22, 0xe7, 0x71, 0x11, 0x90, 0x28, 0x63, 0x83, 0x74, 0xfd, 0xc1, 0x3e, 0x20, 0x4, 0x61, 0xcc, 0xb9, 0x4d, 0x57, 0xec, 0x66, 0x5, 0xb4, 0xdf, 0x95, 0x7c, 0x52, 0xa1, 0x74, 0x99, 0x8b, 0x2a, 0x25, 0x31, 0xe5, 0x93, 0x2a, 0xa1, 0xdb, 0xa4, 0xb6, 0xe0, 0xb7, 0x22, 0x77, 0x2e, 0xdc, 0x41, 0x1c, 0x8b, 0xe5, 0xae, 0x80, 0xe9, 0xf5, 0xd4, 0x7f, 0x46, 0x4f, 0x31, 0x2, 0x50, 0x87, 0x82, 0x3b, 0x62, 0x24, 0xb7, 0xc5, 0xd3, 0xe0, 0x49, 0xd5, 0xf7, 0x24, 0x6c, 0x4c, 0x1f, 0x60, 0xa1, 0x6c, 0x50, 0x7a, 0x13, 0x7, 0x4f, 0x68, 0x73, 0x2, 0x93, 0x31, 0xbc, 0x5e, 0xab, 0x20, 0xe0, 0x34, 0x90, 0x6a, 0xda, 0xad, 0xb9, 0xb7, 0xab, 0xf0, 0x6d, 0x8e, 0xbe, 0x5, 0xa7, 0xdf, 0x4a, 0xac, 0xff, 0xfa, 0x4f, 0xf6, 0xa6, 0xff, 0xf6, 0xff, 0xee, 0xff, 0xd4, 0x32, 0x6b, 0x89, 0x88, 0x53, 0xa9, 0x44, 0x32, 0x5, 0x3a, 0x58, 0x52, 0xb2, 0x69, 0x8f, 0x77, 0xbd, 0xef, 0xce, 0x36, 0xb5, 0xb1, 0x31, 0xbb, 0x1b, 0x77, 0x1a, 0xaf, 0x68, 0xa9, 0x6b, 0xdc, 0x2b, 0xbd, 0x70, 0x7b, 0x2c, 0xf8, 0xa, 0x9d, 0x32, 0x2a, 0x23, 0x9e, 0x6d, 0x5a, 0x8, 0x23, 0xe1, 0x49, 0x6c, 0x60, 0x3f, 0x36, 0xd0, 0x75, 0x53, 0xa9, 0x1b, 0xe6, 0xa9, 0xd8, 0x85, 0xb4, 0x33, 0x1, 0xb7, 0x10, 0xe9, 0x20, 0xec, 0x48, 0xf4, 0x6f, 0xfb, 0x3d, 0x80, 0xb9, 0x45, 0x79, 0x20, 0xd5, 0xad, 0x37, 0xf1, 0x8b, 0x3b, 0x76, 0x39, 0x3a, 0x3f, 0x1f, 0x9e, 0x39, 0xd9, 0x73, 0x5c, 0x71, 0xa2, 0xe4, 0x22, 0xce, 0xf2, 0x44, 0xe3, 0xa5, 0x46, 0x84, 0xbb, 0x76, 0x61, 0x30, 0x4d, 0x9f, 0x6b, 0xf7, 0x5d, 0x90, 0xe4, 0x53, 0x67, 0x38, 0x3f, 0xe6, 0xe6, 0xc2, 0xcc, 0xd9, 0x42, 0x68, 0xcd, 0x31, 0xce, 0x1f, 0x30, 0x79, 0xb3, 0xe8, 0x15, 0x8a, 0x5e, 0xfb, 0x76, 0xf4, 0x8a, 0x1d, 0x29, 0x99, 0xda, 0xd7, 0x8e, 0x1, 0xf8, 0x27, 0x52, 0x91, 0x5b, 0x60, 0x23, 0xbf, 0x42, 0x82, 0x78, 0xec, 0xe, 0xbc, 0x96, 0xa9, 0x93, 0xe0, 0x55, 0x1c, 0x97, 0xf9, 0x43, 0x40, 0x5d, 0x5e, 0xd1, 0x48, 0xaf, 0xd6, 0xce, 0x70, 0xb8, 0x42, 0x24, 0x3e, 0xea, 0xe, 0x11, 0x23, 0x4, 0x40, 0x84, 0xf7, 0x23, 0x35, 0x41, 0x53, 0x8c, 0x32, 0x4d, 0x73, 0x20, 0xe7, 0xc8, 0xb1, 0xc5, 0x65, 0x2e, 0x68, 0x37, 0x4f, 0xce, 0x3e, 0xb6, 0x1d, 0xf5, 0x97, 0xab, 0x9f, 0x44, 0x56, 0x95, 0x8d, 0xb5, 0x93, 0x1b, 0x2a, 0xfc, 0x7b, 0xb4, 0x3, 0xd0, 0x34, 0x9, 0x8, 0x0, 0x2c, 0x93, 0xbe, 0xdd, 0xcc, 0x37, 0x42, 0xa0, 0x3b, 0x51, 0x7c, 0x5d, 0xa6, 0x32, 0x96, 0x45, 0xba, 0x72, 0x10, 0x42, 0x55, 0xa, 0x41, 0x9f, 0x8b, 0xf, 0xe, 0xbd, 0x6c, 0xc9, 0x6f, 0xb9, 0xc7, 0x79, 0xb2, 0xc6, 0xc8, 0x8f, 0x8d, 0xae, 0x3e, 0xc, 0x41, 0x55, 0x7b, 0xbf, 0x0, 0x76, 0x2e, 0x57, 0xe1, 0x89, 0xc, 0x1c, 0xf8, 0x49, 0xd3, 0x1, 0xac, 0xf8, 0x6f, 0xc3, 0x3, 0xe8, 0xa1, 0x6a, 0x18, 0x29, 0x9b, 0xb6, 0x92, 0x8b, 0x39, 0x1, 0x97, 0xc9, 0x96, 0x24, 0xb3, 0x6, 0x24, 0x81, 0xcd, 0x8c, 0x36, 0xb0, 0x5a, 0x22, 0x39, 0x0, 0xb4, 0xa6, 0xab, 0x9d, 0xd4, 0xd8, 0xa4, 0xdd, 0xb7, 0xeb, 0x73, 0x45, 0xb5, 0xe9, 0xa4, 0x3e, 0x54, 0x89, 0xa0, 0x20, 0x30, 0x1f, 0x73, 0x45, 0xa, 0xad, 0x19, 0x28, 0xf2, 0xa1, 0x65, 0xf3, 0xba, 0x76, 0xd5, 0xec, 0x18, 0xb4, 0xbf, 0x6e, 0x2c, 0x42, 0x73, 0xbe, 0x96, 0x1, 0xd6, 0xb2, 0xf8, 0x8b, 0xc4, 0x25, 0xc, 0xd4, 0x11, 0x59, 0xb6, 0xd7, 0x98, 0xd5, 0x71, 0x9a, 0xdb, 0x26, 0xef, 0x95, 0x50, 0xe5, 0xe2, 0xd5, 0x3b, 0xf6, 0x57, 0xbf, 0x18, 0xd, 0x7c, 0x5f, 0x93, 0xe9, 0x60, 0x7a, 0x35, 0x99, 0x5d, 0x9d, 0x4f, 0x2e, 0x87, 0xa7, 0xa3, 0xf, 0xa3, 0xe1, 0x59, 0x30, 0xfb, 0x1b, 0x5e, 0x18, 0x5f, 0x9d, 0x9f, 0x8f, 0xce, 0x7f, 0xee, 0xf6, 0xb0, 0x3, 0x44, 0xef, 0xf6, 0x38, 0x72, 0x90, 0x75, 0x6c, 0x1a, 0x68, 0xb5, 0xbb, 0x3e, 0x3d, 0x1d, 0x8e, 0x3f, 0x8f, 0xce, 0x7, 0x9d, 0x7b, 0x72, 0x7a, 0x71, 0x3e, 0x1d, 0x9d, 0x5f, 0xd, 0xcf, 0x66, 0x83, 0xc9, 0xec, 0x7c, 0xf8, 0xa5, 0xe3, 0x57, 0x46, 0x9f, 0x87, 0x67, 0xb3, 0x8b, 0xab, 0x69, 0xb7, 0xc7, 0x2f, 0x7, 0x57, 0x93, 0xe1, 0x99, 0xdd, 0x47, 0x7f, 0xb, 0x4a, 0x18, 0x21, 0x23, 0x1, 0x1c, 0xb4, 0x3b, 0x2d, 0x5c, 0xfd, 0xc8, 0xb0, 0x13, 0xb6, 0x75, 0x21, 0xdf, 0xb1, 0x5f, 0x1, 0xd4, 0xb, 0xc2, 0x2c, 0x77, 0x3c, 0x4f, 0xe2, 0x2c, 0x41, 0x1, 0x30, 0xf9, 0xd3, 0x27, 0xb6, 0x34, 0x17, 0x87, 0x2e, 0x84, 0x8a, 0x3b, 0xd4, 0xe1, 0x4e, 0x45, 0xbe, 0x90, 0xea, 0xc0, 0x10, 0x23, 0xbb, 0x57, 0xbd, 0x56, 0x68, 0xe4, 0x6d, 0x65, 0x5f, 0x13, 0x9b, 0x7c, 0x41, 0xfd, 0x6d, 0x4d, 0x29, 0xdd, 0x9f, 0xeb, 0xfa, 0xf0, 0x5, 0x8b, 0xcd, 0xf9, 0xb1, 0x8d, 0x23, 0xf9, 0xb7, 0xf0, 0x7f, 0x37, 0xad, 0x5b, 0x70, 0xab, 0x7a, 0x44, 0xec, 0x83, 0xae, 0x22, 0xaa, 0x2b, 0x2f, 0x91, 0xa6, 0xf9, 0x20, 0x73, 0x63, 0x6e, 0x51, 0x96, 0x26, 0xda, 0xf3, 0xee, 0xd6, 0x0, 0xb, 0xc0, 0x68, 0xe5, 0x18, 0x3b, 0x6a, 0x53, 0xaa, 0xa5, 0xe6, 0x37, 0xa9, 0x48, 0xc0, 0x1b, 0xf0, 0x3e, 0x2b, 0xd5, 0x5e, 0x66, 0x8, 0x7a, 0x4c, 0x72, 0x48, 0x25, 0x5a, 0xeb, 0x88, 0xfd, 0x14, 0xe3, 0x65, 0x91, 0x2d, 0x78, 0x21, 0x63, 0x24, 0x5e, 0x2b, 0x41, 0x63, 0xe4, 0xec, 0xc6, 0x7c, 0x9d, 0xdd, 0x8, 0xac, 0xba, 0x80, 0xc, 0x9b, 0xb6, 0xea, 0x6, 0x9e, 0xa6, 0xa7, 0x69, 0x16, 0xdf, 0xbf, 0xc4, 0x24, 0x9b, 0x8f, 0x9d, 0xc4, 0xe6, 0x6b, 0x35, 0x38, 0x83, 0xaa, 0xa6, 0x5, 0x18, 0xeb, 0x56, 0x5d, 0xf, 0x12, 0xd3, 0xa9, 0x8e, 0xb0, 0x19, 0xcc, 0x68, 0xd7, 0x4a, 0xee, 0xc0, 0xb8, 0x43, 0x13, 0xa2, 0x32, 0xc9, 0xd5, 0x2e, 0xc0, 0x8b, 0x4d, 0x9a, 0x5e, 0xa4, 0xd0, 0xd1, 0x44, 0xc3, 0x31, 0x5b, 0x24, 0x79, 0xe0, 0x80, 0x9e, 0x96, 0x35, 0x6d, 0xa0, 0xa7, 0xac, 0x1b, 0xea, 0x6f, 0xe8, 0x21, 0x9a, 0x2d, 0xf8, 0x6a, 0x26, 0x1, 0x6c, 0xc4, 0x3a, 0xa, 0x14, 0xfb, 0x5, 0x35, 0x1, 0xac, 0xb9, 0x6c, 0x2e, 0x86, 0xcd, 0x4b, 0x11, 0x40, 0xda, 0x6, 0xea, 0xd7, 0x96, 0xe3, 0x9d, 0x5c, 0x94, 0xc5, 0x41, 0x85, 0xf2, 0xa1, 0xb9, 0x5b, 0xfe, 0x59, 0xf8, 0x4e, 0xae, 0xd4, 0xf2, 0xb7, 0x87, 0x46, 0x51, 0xaa, 0xef, 0x1, 0x8f, 0x2, 0x7b, 0xf1, 0xbd, 0x22, 0x52, 0xec, 0x30, 0x47, 0x4f, 0x95, 0x64, 0xdd, 0x30, 0x29, 0x6c, 0x47, 0xb6, 0x1f, 0x7c, 0xb4, 0xd2, 0xac, 0x2b, 0xed, 0x80, 0x3b, 0x72, 0x99, 0x67, 0x45, 0x16, 0x67, 0xe9, 0x48, 0x69, 0xf0, 0x5a, 0xef, 0x3d, 0xf7, 0x92, 0x1a, 0xa, 0x26, 0x1f, 0x4d, 0x5a, 0x66, 0x3f, 0x85, 0x93, 0xe2, 0x2e, 0x8e, 0xe, 0x20, 0x69, 0x34, 0x6c, 0x2, 0x38, 0xfb, 0x8c, 0x7e, 0x98, 0xbd, 0x7b, 0x6a, 0xfd, 0x39, 0xbe, 0xa3, 0xb6, 0xea, 0xcb, 0x6d, 0x17, 0xe7, 0xf2, 0xa9, 0xd7, 0xc, 0x3, 0x5, 0x1b, 0xc, 0xab, 0xcf, 0xce, 0x85, 0x30, 0xda, 0xa8, 0x5, 0x52, 0xf3, 0x50, 0x14, 0x60, 0x9c, 0xe6, 0x2, 0x81, 0xb6, 0xc8, 0x85, 0x9f, 0x4a, 0xc4, 0x83, 0x34, 0x56, 0x2d, 0xf8, 0xa8, 0xed, 0x27, 0x0, 0xa2, 0x4, 0x51, 0x35, 0x73, 0xb1, 0x4c, 0x79, 0x5b, 0xb5, 0x76, 0x6d, 0x32, 0x26, 0x10, 0x8b, 0x88, 0xa5, 0xba, 0x3d, 0x74, 0xdd, 0x6f, 0xc3, 0x8c, 0x9, 0xb, 0x21, 0x60, 0x89, 0x76, 0x31, 0x12, 0x12, 0x8b, 0x8d, 0xb3, 0xd7, 0x6d, 0x20, 0xdd, 0x6f, 0x1f, 0x7c, 0xbc, 0xeb, 0xea, 0x12, 0x8a, 0xea, 0x5e, 0x4b, 0xfc, 0x94, 0xcb, 0x3, 0xf, 0x6c, 0xb2, 0x90, 0xc5, 0xa1, 0x8d, 0xa8, 0x67, 0x99, 0x2e, 0x3a, 0xa3, 0x76, 0x56, 0xd6, 0xb9, 0x13, 0xb7, 0x9c, 0x51, 0x9c, 0xd7, 0xae, 0xbd, 0x6a, 0x98, 0x1d, 0xa4, 0xe9, 0xdc, 0x1c, 0x5, 0x0, 0xca, 0xd7, 0x94, 0x2b, 0x5b, 0xfc, 0xc3, 0x1e, 0xef, 0x56, 0x41, 0xd7, 0xc2, 0x4a, 0x49, 0xb3, 0x3b, 0x37, 0x0, 0xe4, 0x76, 0x5b, 0xbe, 0x2a, 0xf3, 0xdc, 0x61, 0xd6, 0x6f, 0x21, 0xa, 0xde, 0xbd, 0x8c, 0xa8, 0xe0, 0x1d, 0x36, 0x3a, 0xa6, 0xfe, 0xb8, 0xcc, 0x77, 0xa9, 0xd9, 0xfa, 0xbe, 0x6d, 0x38, 0x78, 0x2f, 0x29, 0x30, 0x2a, 0x9a, 0xbd, 0xa0, 0x50, 0xa, 0xf, 0x89, 0x1b, 0x36, 0x76, 0x39, 0x2b, 0x8b, 0x38, 0x5b, 0xb7, 0x85, 0xda, 0xe6, 0xed, 0x82, 0x1e, 0xdf, 0xd6, 0x3d, 0x6a, 0x16, 0x51, 0x97, 0x61, 0xe5, 0xeb, 0x1a, 0xb, 0x1d, 0xb, 0x5b, 0xc1, 0xff, 0xf4, 0xad, 0x34, 0x16, 0xff, 0xd, 0xee, 0xd8, 0x7f, 0xb1, 0xab, 0x3b, 0xa7, 0x61, 0xff, 0x7e, 0x75, 0xaf, 0x4f, 0xc6, 0x6f, 0xf7, 0xea, 0xae, 0xd, 0xe4, 0x37, 0x72, 0x75, 0x87, 0xc5, 0xad, 0x7, 0x60, 0x59, 0x6d, 0xe8, 0x78, 0x8c, 0xc, 0xb6, 0x66, 0x1b, 0x98, 0x9, 0x7a, 0xa2, 0xc0, 0xf8, 0xb5, 0x8d, 0x12, 0x62, 0x67, 0x9, 0x61, 0x63, 0xa1, 0xbb, 0xa7, 0x72, 0x5b, 0x84, 0xf2, 0xae, 0xa9, 0xdc, 0x41, 0x2, 0xd, 0x3a, 0x30, 0x85, 0x66, 0x77, 0x88, 0x8e, 0x63, 0xa3, 0x91, 0xe4, 0x5, 0x29, 0xcc, 0x91, 0xaa, 0x27, 0xcf, 0x83, 0xd3, 0x9, 0x4f, 0x1e, 0x90, 0x72, 0xb8, 0xb0, 0x6f, 0x8d, 0x73, 0xa2, 0x96, 0xd7, 0xdc, 0x5c, 0xbe, 0xe5, 0x22, 0xab, 0x7f, 0x64, 0x81, 0x67, 0x1d, 0xdf, 0x8b, 0x54, 0x10, 0x79, 0xed, 0xb3, 0x89, 0xc0, 0xfd, 0x1f, 0x67, 0xb, 0x84, 0x6e, 0x91, 0x8a, 0x5d, 0xaf, 0xcf, 0xc2, 0x35, 0x13, 0xaa, 0x5c, 0x80, 0x85, 0xb7, 0xc8, 0x72, 0xc4, 0xbc, 0xa4, 0xeb, 0xd6, 0x72, 0xbf, 0x1, 0xf3, 0x5, 0x3e, 0x8d, 0x99, 0x40, 0xa7, 0xb5, 0x8, 0x54, 0x96, 0x43, 0x46, 0xa2, 0xf0, 0xc, 0x25, 0x3f, 0xfc, 0x40, 0x59, 0x23, 0x3f, 0xfc, 0x60, 0x3a, 0x21, 0xf3, 0xa6, 0xcc, 0x94, 0xd7, 0x41, 0x6a, 0x4e, 0x8, 0x21, 0x1f, 0xa9, 0xf7, 0x61, 0x6e, 0x90, 0x8d, 0xa7, 0x1f, 0x21, 0x89, 0xaf, 0xf7, 0xe2, 0x29, 0xf1, 0x58, 0x45, 0x85, 0xa0, 0xb2, 0x70, 0x9f, 0x38, 0x45, 0xc1, 0xdf, 0x5a, 0x26, 0x74, 0xa4, 0x5a, 0x52, 0xbf, 0x36, 0x64, 0xd1, 0xbc, 0xd6, 0x41, 0xb3, 0xc7, 0x9b, 0x73, 0xc4, 0x80, 0x28, 0x24, 0xc8, 0xf, 0x5b, 0xa3, 0x26, 0xa, 0x32, 0x1a, 0xed, 0x40, 0x8f, 0xb2, 0xdc, 0xfe, 0x6a, 0x33, 0xc3, 0x1a, 0xd2, 0xc1, 0x4e, 0x28, 0x1d, 0x8c, 0x45, 0x2a, 0xe8, 0x3d, 0x45, 0x41, 0x63, 0x8e, 0x7, 0x34, 0xc8, 0x1f, 0xea, 0x1f, 0x53, 0xae, 0x98, 0x2f, 0xe4, 0xa4, 0xe6, 0x64, 0xde, 0xd8, 0x7d, 0x9c, 0x9e, 0x86, 0x64, 0x6, 0xb3, 0x10, 0x6e, 0x55, 0xd6, 0x58, 0x9e, 0x20, 0x32, 0x4b, 0xf7, 0x69, 0x65, 0xb4, 0xd5, 0x30, 0x70, 0xa6, 0x82, 0x6b, 0xc8, 0x25, 0x70, 0xa2, 0x8c, 0xbb, 0xf6, 0xc, 0x29, 0xd2, 0x95, 0x2f, 0x24, 0x42, 0xb1, 0x9b, 0x55, 0x73, 0x8e, 0x91, 0x4d, 0xf6, 0x4a, 0x79, 0x61, 0x46, 0x68, 0xc1, 0xe7, 0x5b, 0xaf, 0x6b, 0x3f, 0x61, 0xdd, 0x33, 0x4e, 0xdc, 0x1b, 0x5b, 0x3d, 0xcd, 0x78, 0xb3, 0x26, 0x1b, 0xa9, 0x4e, 0x52, 0xde, 0xcc, 0x97, 0xd5, 0x8c, 0xdb, 0xcf, 0x3e, 0x97, 0x1a, 0x39, 0x67, 0x9c, 0x80, 0x98, 0xd7, 0x66, 0x9, 0xa8, 0xf4, 0x1b, 0x38, 0x6f, 0x54, 0x56, 0xfb, 0xc, 0xe5, 0xe9, 0xa6, 0x58, 0xd4, 0x84, 0x19, 0x88, 0x91, 0x6a, 0xe8, 0xf, 0x40, 0x34, 0xbb, 0x4e, 0xdf, 0xac, 0xea, 0xf9, 0x1c, 0xb4, 0x74, 0xec, 0x6a, 0xed, 0x6f, 0x98, 0x67, 0xa0, 0xb, 0x28, 0x8f, 0x10, 0x2a, 0x89, 0x14, 0xaf, 0x9c, 0x30, 0xe8, 0x1e, 0xe6, 0x78, 0x3a, 0xb6, 0xa7, 0x2, 0x40, 0xac, 0xef, 0x44, 0x2e, 0x7a, 0xa8, 0xa7, 0x8, 0x96, 0x3, 0x7f, 0xcd, 0x23, 0x5f, 0xc1, 0xee, 0x81, 0xd2, 0x4a, 0x9, 0x59, 0x71, 0xa1, 0x18, 0x8c, 0x82, 0xaf, 0xaf, 0xff, 0x5a, 0xe5, 0xe8, 0x81, 0x9c, 0x31, 0xed, 0xf2, 0x1c, 0x82, 0x9, 0x44, 0xac, 0x98, 0xca, 0x1e, 0xf4, 0x1d, 0xde, 0x7f, 0x17, 0x36, 0xd4, 0x53, 0xac, 0xa7, 0xba, 0xb4, 0xd5, 0x52, 0x3c, 0xec, 0x5d, 0x33, 0xb3, 0xc7, 0xc7, 0x93, 0x6d, 0xa5, 0x3b, 0x87, 0xac, 0xa6, 0x98, 0x52, 0xfe, 0x46, 0x73, 0xe, 0xd5, 0xde, 0xa7, 0x28, 0x52, 0x3, 0xc5, 0xf8, 0x13, 0x8f, 0x48, 0xa5, 0xd2, 0x26, 0xbc, 0x5c, 0x1, 0x2a, 0xcf, 0xf3, 0x99, 0xa9, 0xa4, 0x76, 0x30, 0x83, 0xbb, 0xb9, 0xe7, 0x3b, 0xbd, 0xa5, 0xaf, 0xd5, 0xc3, 0x17, 0x29, 0x73, 0xfa, 0xac, 0x60, 0x9, 0xb9, 0xfc, 0xd1, 0xf9, 0x1c, 0xf0, 0xda, 0xdd, 0x94, 0x5, 0x9b, 0x49, 0x3d, 0x3, 0xec, 0x16, 0xf3, 0x87, 0x60, 0x22, 0xcf, 0x39, 0xd1, 0xb4, 0x5a, 0xd6, 0xb6, 0xdf, 0x2f, 0xf0, 0xdf, 0x2f, 0xf0, 0x67, 0xb9, 0xc0, 0xcd, 0xed, 0xd4, 0x20, 0x21, 0xfb, 0x95, 0x83, 0x41, 0x89, 0x8c, 0x90, 0x44, 0xdf, 0xf8, 0x74, 0x2d, 0xc5, 0x98, 0x92, 0xbe, 0x5c, 0x41, 0x89, 0xe7, 0xc1, 0xdc, 0x2c, 0x38, 0x9f, 0xbf, 0xd6, 0xf3, 0xd2, 0x5f, 0xca, 0xa5, 0x16, 0x39, 0x64, 0xe8, 0x6a, 0x51, 0x54, 0x2e, 0xa3, 0x13, 0xbd, 0x14, 0xb1, 0x9c, 0xcb, 0x38, 0x3c, 0xad, 0x6e, 0xa8, 0x98, 0xc3, 0xe9, 0x87, 0xc6, 0xef, 0x85, 0x86, 0x9a, 0x87, 0x4a, 0xf5, 0xcb, 0xe4, 0xec, 0x23, 0xe4, 0xe9, 0x87, 0x12, 0xe6, 0x28, 0xe4, 0x90, 0xbb, 0xc6, 0xf3, 0x14, 0x56, 0xee, 0xe0, 0x2c, 0x1f, 0xf7, 0xd9, 0x40, 0x45, 0xca, 0xfd, 0x60, 0xcc, 0x7e, 0xa, 0xd0, 0xc2, 0x1b, 0xae, 0x74, 0x90, 0x57, 0xf, 0x62, 0xcf, 0x9c, 0xa2, 0x47, 0x91, 0xa6, 0x80, 0xfc, 0x68, 0x76, 0xdf, 0x23, 0xcf, 0x13, 0xd, 0x51, 0x49, 0x9e, 0xa6, 0xae, 0xe8, 0xe3, 0x7a, 0x73, 0xda, 0xde, 0x35, 0x1b, 0x5c, 0x8e, 0xfa, 0x6b, 0x95, 0x45, 0x44, 0x91, 0x59, 0x89, 0x47, 0x7, 0xc7, 0x69, 0x55, 0x4f, 0x6f, 0xeb, 0xb5, 0xe7, 0xb6, 0xf5, 0x3c, 0xec, 0x5f, 0xad, 0x4c, 0x36, 0x84, 0x4c, 0x6a, 0x4b, 0xef, 0xf4, 0xe7, 0xcf, 0x27, 0x93, 0xec, 0xae, 0x19, 0x6, 0xef, 0xee, 0x50, 0xc1, 0x8a, 0x1e, 0xc3, 0x1a, 0xf7, 0x14, 0x32, 0xfc, 0xd8, 0xe6, 0xe8, 0xfc, 0x71, 0x6f, 0x85, 0x5, 0xf2, 0xae, 0xcf, 0x4e, 0xb9, 0x8a, 0x94, 0x6d, 0x87, 0x65, 0xca, 0x81, 0xa7, 0x7b, 0x2e, 0x48, 0xdf, 0x96, 0x7e, 0x57, 0x51, 0xe2, 0x4e, 0xfe, 0x8b, 0x5, 0xbc, 0x85, 0xcd, 0x7f, 0x8f, 0x14, 0x48, 0xe2, 0xa6, 0x8f, 0xc3, 0xed, 0x58, 0x79, 0xab, 0x7a, 0x35, 0x9e, 0x67, 0x5, 0x66, 0xae, 0xc4, 0xfc, 0x26, 0x85, 0x44, 0x3, 0x7f, 0xd1, 0x34, 0x65, 0x33, 0x5b, 0x78, 0xf, 0x5e, 0x5, 0x20, 0x61, 0x83, 0xab, 0xe9, 0xc5, 0xec, 0xea, 0xf2, 0xe7, 0xf1, 0xe0, 0x6c, 0xe8, 0xe5, 0x2c, 0xba, 0xad, 0x34, 0x6d, 0xda, 0x5a, 0xe5, 0x8b, 0x43, 0x0, 0xb, 0xb7, 0x57, 0xa4, 0xa8, 0x5c, 0x37, 0x98, 0x11, 0x2b, 0xaa, 0xc3, 0x1a, 0x9b, 0xa6, 0x92, 0x1c, 0xb9, 0x5e, 0x8a, 0x63, 0x1f, 0xab, 0x4a, 0x70, 0x1d, 0x4c, 0x15, 0x64, 0xc9, 0x16, 0x55, 0x56, 0xb1, 0x60, 0xed, 0x1c, 0xce, 0x6e, 0x65, 0x80, 0xd5, 0xa2, 0xde, 0x32, 0xbe, 0xb7, 0x59, 0x1a, 0x37, 0x3c, 0xbe, 0x4f, 0xb3, 0xdb, 0x5b, 0xb8, 0x87, 0xa, 0xf9, 0x0, 0xb1, 0xf1, 0xbc, 0x56, 0xa0, 0x63, 0xb4, 0x8c, 0x4c, 0x8b, 0x48, 0xc1, 0xbf, 0x98, 0xcf, 0x94, 0x45, 0x72, 0x5a, 0x5f, 0xb7, 0xbf, 0x65, 0xc0, 0x7d, 0x36, 0xd0, 0x4c, 0x67, 0x78, 0x93, 0x72, 0xb6, 0xcc, 0xd2, 0x54, 0xe4, 0x94, 0xe5, 0xd, 0x52, 0xbe, 0x3a, 0x66, 0xfe, 0xc0, 0x65, 0x6a, 0x57, 0xd9, 0x8, 0x2e, 0xa3, 0x8, 0xd8, 0xcf, 0xf4, 0x1a, 0x40, 0xe7, 0xaa, 0xe7, 0x9e, 0xd6, 0x25, 0x52, 0xf5, 0x85, 0xa9, 0x7e, 0xa8, 0x82, 0xdf, 0x1a, 0xa6, 0xcf, 0x22, 0xbe, 0xd1, 0xa0, 0x62, 0x76, 0xf9, 0x96, 0x8c, 0xbc, 0x83, 0x6a, 0x10, 0xa0, 0x2b, 0x33, 0xb6, 0x47, 0x2a, 0xf0, 0x25, 0x22, 0xfa, 0xb3, 0x74, 0x9d, 0xb9, 0x4b, 0xbc, 0xa8, 0x22, 0xa3, 0x46, 0xea, 0xc2, 0x3a, 0x11, 0xed, 0xb3, 0xd5, 0xcb, 0xd6, 0x2a, 0x6b, 0xda, 0x5e, 0x8c, 0xfe, 0xeb, 0xa0, 0x6e, 0x40, 0x2a, 0x7e, 0x78, 0x70, 0x40, 0x6e, 0x86, 0x5d, 0x74, 0xd, 0xd8, 0xea, 0xd1, 0x60, 0xcb, 0x54, 0xac, 0x91, 0x9a, 0x8e, 0x89, 0x4c, 0x40, 0x20, 0x4a, 0x6d, 0x52, 0xf5, 0x52, 0x10, 0x20, 0x14, 0xde, 0xce, 0x56, 0xdf, 0x9, 0x14, 0x87, 0x5c, 0xe8, 0x65, 0xa6, 0xb4, 0x99, 0xb3, 0x4b, 0x1a, 0xf, 0xed, 0x28, 0x29, 0xb4, 0x87, 0x65, 0xc6, 0x55, 0x81, 0x6c, 0x7a, 0xc4, 0x60, 0xd4, 0x36, 0xdb, 0x3e, 0x3c, 0x41, 0x7d, 0xe6, 0x26, 0x27, 0x18, 0x90, 0xb1, 0xcd, 0x2, 0x35, 0x7a, 0xd9, 0xf2, 0x19, 0x4a, 0x52, 0x7, 0x2d, 0x6, 0xc0, 0xea, 0xe8, 0x4b, 0x76, 0x1e, 0xcd, 0xc7, 0x2b, 0x27, 0xa6, 0x6e, 0xcd, 0x90, 0xbc, 0x99, 0x5, 0xfd, 0xd9, 0xa8, 0xf, 0xec, 0x23, 0xe2, 0x7f, 0x5d, 0x6b, 0xe2, 0x5, 0x25, 0xbd, 0x2f, 0x87, 0x3b, 0x42, 0xe3, 0x19, 0x53, 0xe9, 0x2d, 0xc, 0x77, 0x53, 0x1d, 0x23, 0xd2, 0xaf, 0xe6, 0x36, 0xb9, 0xe8, 0x18, 0x2e, 0xb, 0xb6, 0xf1, 0xae, 0x8, 0x37, 0xe5, 0x61, 0x2f, 0x8b, 0x4a, 0xdd, 0xe3, 0x3f, 0xf3, 0xa5, 0x51, 0x2b, 0xc7, 0xdf, 0xfc, 0x8c, 0x8e, 0xd4, 0xe6, 0xeb, 0xa2, 0xbd, 0x3a, 0xf4, 0x3b, 0xbc, 0x3e, 0x5c, 0xe1, 0x6c, 0xf7, 0xbb, 0xc3, 0xcf, 0xc4, 0x9e, 0x77, 0x48, 0xfb, 0x3a, 0xf1, 0xc0, 0x2a, 0xdc, 0x76, 0x81, 0xb8, 0x72, 0xa9, 0xef, 0xee, 0xf6, 0x70, 0xc7, 0x67, 0xb7, 0xab, 0xc3, 0xdd, 0x14, 0xe4, 0x9d, 0x68, 0x70, 0xfe, 0xb4, 0xdc, 0x21, 0xf8, 0xa1, 0x7f, 0x92, 0x3b, 0x64, 0x33, 0x68, 0x4d, 0x2e, 0x1e, 0xa0, 0xe6, 0xf4, 0x1c, 0xd0, 0x7f, 0x9f, 0x2b, 0x42, 0xf9, 0x39, 0x53, 0x59, 0x91, 0x29, 0x19, 0xb3, 0x38, 0x2b, 0x55, 0x1, 0x74, 0x32, 0x50, 0xbf, 0x64, 0x3, 0xf2, 0xa9, 0x11, 0x4d, 0xc5, 0x5a, 0x25, 0xec, 0x16, 0x52, 0x57, 0x28, 0x8f, 0x9b, 0xe3, 0xee, 0x4b, 0x85, 0x12, 0x5a, 0x43, 0x7c, 0xa, 0x22, 0x73, 0xe, 0x57, 0x96, 0xb2, 0x44, 0x90, 0x19, 0xdc, 0x56, 0xec, 0x83, 0xf1, 0x57, 0x29, 0xe1, 0x87, 0x43, 0x4f, 0x22, 0x57, 0x40, 0x8c, 0x67, 0xa4, 0xe2, 0x1c, 0x8a, 0x6f, 0x2d, 0x54, 0x62, 0x63, 0x9e, 0x9f, 0xe9, 0xb2, 0xd0, 0x78, 0x79, 0x55, 0xaf, 0x6c, 0xbf, 0x6f, 0xf1, 0xd6, 0xa2, 0xba, 0xfc, 0x48, 0x5, 0x8d, 0x79, 0x9a, 0xa0, 0xe6, 0x77, 0xc3, 0x2d, 0xbe, 0x76, 0xb6, 0x10, 0xf9, 0xc1, 0xc2, 0xef, 0xc0, 0x0, 0x80, 0x9b, 0xa7, 0x90, 0xf1, 0xfd, 0x8a, 0xfe, 0xa0, 0x85, 0x4a, 0x18, 0x27, 0xb7, 0x5f, 0x36, 0x67, 0x3f, 0xf9, 0x29, 0x25, 0xf8, 0x29, 0x49, 0xdb, 0x4f, 0xb, 0x7a, 0x5, 0x8b, 0x8c, 0x23, 0x35, 0xe7, 0xf6, 0xe8, 0xe6, 0xd9, 0x4d, 0x2a, 0x16, 0xc8, 0xef, 0xc, 0x74, 0xfa, 0xba, 0x0, 0xc1, 0x5c, 0x81, 0x40, 0xe0, 0x5, 0xe3, 0xb9, 0xd4, 0x42, 0xa3, 0x30, 0x87, 0x80, 0x74, 0xc9, 0x53, 0xe6, 0x5e, 0x88, 0x57, 0x76, 0x4d, 0x50, 0xc6, 0x5a, 0x48, 0x2, 0x3a, 0xbb, 0xe8, 0x5e, 0x2b, 0xf0, 0xfe, 0xdd, 0x82, 0xc8, 0x1f, 0x20, 0xd2, 0xa7, 0xd, 0x41, 0xcd, 0xa7, 0xe0, 0xdb, 0xef, 0x18, 0x1b, 0xad, 0xb0, 0xd2, 0xd3, 0x75, 0x54, 0x63, 0x8c, 0xc1, 0xbc, 0x54, 0x5d, 0xa6, 0xc4, 0x3c, 0x50, 0xb3, 0xe1, 0x37, 0x80, 0x43, 0x50, 0x41, 0x5e, 0x8, 0x3a, 0x64, 0x85, 0x59, 0xa4, 0xc8, 0x9f, 0x62, 0x2b, 0xff, 0xd0, 0x37, 0xbc, 0xe0, 0x2a, 0xb1, 0x95, 0xca, 0xa5, 0x3d, 0x15, 0x41, 0x53, 0x55, 0xbf, 0x6b, 0x5e, 0x2a, 0x27, 0x31, 0xeb, 0xf, 0x70, 0xb5, 0x72, 0xa4, 0x11, 0xc1, 0xf3, 0xa4, 0x9e, 0x10, 0x32, 0x36, 0xc4, 0x25, 0x10, 0xa4, 0x8b, 0xa1, 0xcf, 0xf, 0xf9, 0xf5, 0xeb, 0x63, 0xc, 0x0, 0x4a, 0x46, 0x2a, 0x28, 0xad, 0xcb, 0x45, 0x2a, 0xc8, 0xd1, 0x47, 0x4e, 0xbe, 0x93, 0x4c, 0x9d, 0x9c, 0xf2, 0xf3, 0x9e, 0x77, 0x8c, 0xc2, 0xc5, 0xb3, 0x65, 0x89, 0xc0, 0x5d, 0x1c, 0xb8, 0xa, 0x7b, 0x91, 0xe2, 0x4c, 0x65, 0xea, 0xc4, 0x8, 0xc1, 0x15, 0x6b, 0x83, 0x7, 0x1, 0xff, 0x77, 0x51, 0xcd, 0x9, 0x59, 0x47, 0x2e, 0xaa, 0x36, 0xdd, 0x67, 0x93, 0xc, 0x66, 0xd5, 0x82, 0xbd, 0x0, 0x2d, 0x7a, 0xa4, 0x40, 0xe3, 0xaa, 0x42, 0x18, 0x58, 0x89, 0x43, 0xeb, 0x12, 0x14, 0x51, 0xd8, 0xb, 0xc0, 0x55, 0x3f, 0xf4, 0xd8, 0xbd, 0xb2, 0x48, 0xa1, 0x5c, 0x55, 0xe2, 0xd9, 0x78, 0x64, 0xed, 0x65, 0x2b, 0xfe, 0x5e, 0xca, 0x7, 0x23, 0xe4, 0x8a, 0x48, 0x15, 0xd9, 0xb6, 0x79, 0x9, 0xe1, 0x13, 0x48, 0x19, 0xbb, 0xa9, 0xf9, 0x3d, 0xc3, 0x9d, 0x1a, 0xe, 0x73, 0x47, 0xb6, 0x79, 0x4d, 0x58, 0x86, 0x4d, 0x44, 0x91, 0x24, 0xe0, 0x2, 0xbf, 0x1f, 0x16, 0x75, 0xc0, 0x31, 0x8f, 0xcb, 0x94, 0xe7, 0xcd, 0x62, 0xbd, 0x72, 0xb6, 0x42, 0x9f, 0x3a, 0xc4, 0xe5, 0x21, 0xb1, 0xc0, 0x3f, 0x80, 0x72, 0x1d, 0x22, 0x66, 0x84, 0xd3, 0x4e, 0x9e, 0x64, 0xdc, 0x91, 0xad, 0xa9, 0xd7, 0xa3, 0xe4, 0x34, 0x53, 0xf3, 0x54, 0xc6, 0xc5, 0x1a, 0x68, 0xff, 0x53, 0xaa, 0x35, 0x47, 0x67, 0xb3, 0xd3, 0x8b, 0xf3, 0xf, 0x9f, 0x46, 0xa7, 0xd3, 0xd9, 0xe5, 0xc5, 0xa7, 0xd1, 0xe9, 0x5f, 0xb6, 0xd6, 0x6b, 0x36, 0xbc, 0xf2, 0x61, 0x30, 0xfa, 0xd4, 0xf5, 0xd9, 0xab, 0xc9, 0x70, 0x36, 0xfc, 0xf3, 0x68, 0x32, 0x6d, 0x2b, 0xf1, 0x6c, 0x78, 0xc7, 0xd5, 0x56, 0xfa, 0x37, 0xe9, 0xc5, 0xcd, 0x25, 0x8d, 0x1d, 0x47, 0xb7, 0x1e, 0x7f, 0x9b, 0x43, 0xa6, 0xc8, 0x23, 0x6c, 0xf7, 0xcc, 0xdc, 0x2c, 0x54, 0x62, 0xb5, 0x22, 0x83, 0xcf, 0x2a, 0xae, 0x55, 0x3, 0xc6, 0x59, 0x74, 0x7e, 0x93, 0x22, 0xff, 0x20, 0xfb, 0x81, 0x70, 0x40, 0x7e, 0x8, 0xcb, 0x84, 0x3, 0xff, 0x3b, 0x78, 0x64, 0x7e, 0x80, 0x82, 0xfd, 0x1f, 0xcc, 0x9, 0x42, 0x8c, 0x6e, 0xe4, 0x31, 0x78, 0xcc, 0x50, 0x7f, 0x12, 0xe9, 0xca, 0xc1, 0x89, 0xd8, 0x94, 0x38, 0xed, 0xd8, 0xfa, 0x6a, 0x9f, 0x5, 0x9, 0x36, 0x11, 0x82, 0x5d, 0xfb, 0x8d, 0x33, 0x16, 0xa5, 0x16, 0xb8, 0x6b, 0xae, 0x61, 0x4b, 0x3, 0xfb, 0x61, 0x45, 0xb9, 0x95, 0xe6, 0xa8, 0x83, 0x25, 0x57, 0x38, 0xd0, 0x33, 0xce, 0x7e, 0x88, 0xd3, 0x4c, 0x8b, 0xa4, 0xd2, 0xf9, 0x48, 0x85, 0xa5, 0x9f, 0x2d, 0x7b, 0xe2, 0x1d, 0x3b, 0xcb, 0xd4, 0xeb, 0xc2, 0x4d, 0x57, 0x68, 0xc1, 0xfd, 0xd1, 0x22, 0xed, 0x19, 0xb1, 0x5d, 0xe6, 0xca, 0xf7, 0xd4, 0x43, 0x74, 0xa4, 0xb9, 0xe0, 0xc9, 0x8a, 0x68, 0x47, 0x28, 0xdb, 0xe9, 0xba, 0xbf, 0xf5, 0xd3, 0xe1, 0x16, 0xdb, 0xa9, 0xb, 0x3c, 0x44, 0x3a, 0x56, 0x49, 0x2a, 0xdc, 0x7d, 0x54, 0x67, 0xd3, 0xde, 0xde, 0x89, 0xf5, 0x3d, 0xfb, 0x8e, 0xb9, 0xf2, 0xd5, 0xc6, 0x36, 0xd9, 0xd, 0x42, 0x34, 0xd5, 0x9c, 0xfb, 0x99, 0xda, 0x24, 0xd, 0x82, 0x45, 0xdd, 0x5f, 0x14, 0x8c, 0x87, 0x66, 0xea, 0xba, 0xcb, 0x81, 0xca, 0xf3, 0x83, 0x4f, 0xe6, 0xaf, 0x67, 0x57, 0x97, 0x9f, 0x46, 0xa7, 0x83, 0xe9, 0xf0, 0x29, 0xef, 0x50, 0x79, 0xf6, 0xec, 0xe2, 0xfc, 0xd3, 0x5f, 0x3a, 0xbd, 0x3f, 0x1e, 0xfe, 0x3f, 0xc3, 0xd3, 0xe9, 0x8e, 0x1f, 0xf5, 0x2b, 0x33, 0xfa, 0xe0, 0x8a, 0xcd, 0xbb, 0xca, 0x93, 0xad, 0x53, 0xd4, 0x2e, 0x4c, 0x8, 0x16, 0x26, 0x33, 0x57, 0xf, 0x84, 0x3d, 0x4e, 0x30, 0x1c, 0xcc, 0x2b, 0xe7, 0xf, 0x71, 0x1a, 0x1c, 0xe6, 0x40, 0xba, 0x6a, 0x3c, 0x7e, 0xa3, 0x6a, 0xfd, 0x10, 0xa0, 0x83, 0x2b, 0x29, 0x92, 0xa, 0x14, 0xa, 0xee, 0x6a, 0x23, 0x7f, 0xba, 0x9e, 0x2d, 0x26, 0xf2, 0x3c, 0xcb, 0x9b, 0x84, 0x47, 0xf5, 0xd6, 0xd9, 0x51, 0x7e, 0x34, 0x49, 0xbf, 0xb5, 0x3, 0xb4, 0x69, 0x63, 0xbc, 0x63, 0x3, 0x98, 0xb3, 0xe0, 0x68, 0x34, 0xd8, 0x34, 0xbe, 0xb4, 0xab, 0x41, 0x1c, 0xee, 0xf0, 0xb5, 0x70, 0x1b, 0xee, 0xfb, 0xe5, 0x1e, 0x2a, 0x84, 0x4e, 0x3d, 0x4c, 0xb9, 0x2e, 0x22, 0xe5, 0xde, 0x7c, 0x6d, 0x34, 0x69, 0xc5, 0x53, 0xaa, 0x22, 0x5, 0x10, 0x24, 0xd0, 0x2f, 0xff, 0x5a, 0xb8, 0x52, 0xf7, 0x1e, 0x8b, 0x8d, 0xac, 0x4f, 0x53, 0x58, 0x5e, 0xcb, 0xfb, 0xd2, 0x63, 0x73, 0x2e, 0x53, 0x91, 0xfc, 0x6d, 0xcb, 0xd8, 0xea, 0x47, 0xc4, 0x8, 0x44, 0xb0, 0xf3, 0x97, 0xe6, 0x3, 0x5, 0x6e, 0x43, 0xb1, 0xae, 0x5e, 0x25, 0xeb, 0x46, 0x6c, 0x9f, 0x7d, 0x40, 0x75, 0xb9, 0x19, 0x71, 0x4, 0x6c, 0x7f, 0xa3, 0x87, 0x2e, 0x33, 0x63, 0x67, 0x49, 0x88, 0x13, 0x58, 0x12, 0x1a, 0x63, 0x8f, 0xc1, 0xd6, 0xe9, 0xe1, 0xf6, 0xc7, 0xb2, 0xd5, 0x96, 0x4f, 0x6f, 0x19, 0x52, 0xd3, 0x1, 0xae, 0xb, 0x57, 0xeb, 0xe0, 0x72, 0xe8, 0xd0, 0x72, 0xe, 0x53, 0x2b, 0x8d, 0xe6, 0x7, 0x5b, 0xdf, 0xca, 0xdf, 0x3f, 0x22, 0x7d, 0xc3, 0xa3, 0xd4, 0xc2, 0x9d, 0x4c, 0xb7, 0x9e, 0x88, 0xba, 0xa, 0xd, 0x8c, 0xce, 0x28, 0xe9, 0xd3, 0xfe, 0x68, 0x16, 0x6b, 0x89, 0x51, 0xd7, 0xd, 0x7, 0x5, 0x98, 0x30, 0x6f, 0x4, 0x4b, 0xc5, 0xbc, 0x60, 0xa5, 0x37, 0x83, 0xe0, 0x8, 0x84, 0xbe, 0xf1, 0x11, 0xde, 0x45, 0x3d, 0xb0, 0xa8, 0xda, 0xae, 0xed, 0x22, 0x63, 0xd7, 0xb5, 0xdd, 0x7a, 0x8d, 0xd0, 0x50, 0x1b, 0xba, 0x60, 0x5e, 0x5a, 0xbf, 0x8e, 0xae, 0xfb, 0x2c, 0x48, 0x9f, 0x6a, 0x7d, 0x3b, 0x52, 0x66, 0x79, 0x65, 0x2e, 0x34, 0x9b, 0x12, 0xfb, 0x2f, 0x9b, 0xa0, 0x7c, 0x79, 0x78, 0xd3, 0x7f, 0xfb, 0x1f, 0xfd, 0x9f, 0x8c, 0x29, 0x95, 0xf2, 0x42, 0xe4, 0xad, 0xd7, 0xd4, 0xa5, 0x4b, 0x4, 0xfe, 0x9c, 0x25, 0x30, 0xfa, 0xe7, 0x60, 0x67, 0xe5, 0xfa, 0xbe, 0x5a, 0x19, 0xf3, 0x1c, 0x6c, 0x93, 0xd3, 0x3b, 0x23, 0x16, 0xed, 0xce, 0x9c, 0xe, 0x26, 0x1f, 0x3d, 0x4, 0xc9, 0xb5, 0xad, 0xf7, 0x21, 0x38, 0x44, 0xcc, 0x4b, 0x5a, 0x0, 0xd3, 0xf, 0xd7, 0x2c, 0x17, 0xcb, 0x2c, 0xb7, 0xa5, 0x4b, 0xcd, 0x8e, 0x82, 0x72, 0xa9, 0x85, 0x79, 0xe4, 0xf3, 0xae, 0xa4, 0x3e, 0x5b, 0x8a, 0x95, 0xb5, 0x28, 0x7a, 0x36, 0x47, 0xa4, 0x72, 0xd6, 0x16, 0x62, 0x91, 0x79, 0xe5, 0xd5, 0x41, 0x58, 0x20, 0xae, 0x20, 0x66, 0xda, 0x10, 0xc6, 0xa0, 0x75, 0x2c, 0x2f, 0x44, 0x7e, 0x4b, 0x63, 0xc0, 0x98, 0x15, 0x38, 0x59, 0xcd, 0x89, 0x30, 0x6d, 0xf5, 0x19, 0xdd, 0x4c, 0x90, 0x58, 0xf1, 0xc8, 0x89, 0x77, 0x32, 0x11, 0x66, 0x55, 0xa8, 0xa9, 0x1e, 0xe3, 0x96, 0x12, 0xe5, 0x47, 0x34, 0x78, 0x9, 0xd6, 0xc2, 0x63, 0x8a, 0x47, 0xa, 0xbc, 0x1, 0x94, 0x12, 0x84, 0x26, 0xa5, 0x55, 0xc5, 0xee, 0xc5, 0x8a, 0xca, 0xde, 0xb1, 0xd5, 0x5d, 0x8a, 0xa8, 0x1b, 0x36, 0xe2, 0x57, 0x8b, 0x52, 0x75, 0xc0, 0x2d, 0xa9, 0xc4, 0xe3, 0xb4, 0x8d, 0x3e, 0x74, 0x87, 0x3c, 0xc0, 0x73, 0xc8, 0x18, 0x6b, 0xc5, 0x63, 0x50, 0xe2, 0x31, 0x24, 0xc2, 0xda, 0x9f, 0x70, 0xb2, 0xfb, 0xf7, 0xe, 0x42, 0xb2, 0xd9, 0xfd, 0x73, 0x7, 0xe4, 0x20, 0xdd, 0xf2, 0xd1, 0x67, 0x39, 0x80, 0x4d, 0xdf, 0x5c, 0x73, 0x52, 0x38, 0x9, 0x63, 0x9f, 0x66, 0x5c, 0xad, 0x1e, 0x21, 0xcc, 0x1, 0x61, 0x53, 0xc8, 0x30, 0x3, 0x24, 0xfd, 0x65, 0xca, 0x63, 0xcc, 0xb7, 0xe9, 0x2, 0x9e, 0x55, 0xe7, 0xe6, 0x5a, 0x3f, 0x14, 0x7f, 0x2a, 0x45, 0xde, 0x68, 0x3c, 0x74, 0xdd, 0xee, 0x7f, 0x37, 0xd, 0x34, 0x91, 0x63, 0xef, 0x58, 0x3e, 0x65, 0xa5, 0xd2, 0x9, 0x2f, 0x8b, 0xbb, 0x2c, 0x3f, 0xb1, 0x84, 0x37, 0xc4, 0x55, 0x25, 0xbd, 0xd7, 0x19, 0xbe, 0xd8, 0x67, 0xd3, 0xd5, 0x92, 0xd2, 0x11, 0xb8, 0xab, 0x85, 0x83, 0x18, 0x6a, 0xcb, 0xea, 0xc2, 0x6b, 0x83, 0xfc, 0x76, 0x77, 0xbc, 0x9d, 0x4d, 0x5d, 0x9f, 0x58, 0xa, 0xde, 0x24, 0x24, 0xdb, 0x5, 0xf4, 0x3e, 0x92, 0x99, 0x4e, 0xae, 0x92, 0xa3, 0x14, 0xfa, 0x41, 0x26, 0x66, 0xde, 0xd2, 0xd7, 0x17, 0xa7, 0xff, 0x37, 0x13, 0x59, 0x9b, 0xe1, 0xfd, 0xd9, 0xff, 0xdb, 0xb7, 0xb9, 0xb1, 0x2f, 0xee, 0x8a, 0x62, 0xa9, 0xdf, 0xfd, 0xf8, 0x63, 0x92, 0xc5, 0xba, 0x6f, 0x5b, 0xef, 0xcb, 0xc, 0xfe, 0xf0, 0x63, 0x9c, 0xa9, 0x58, 0x2c, 0xb, 0xfd, 0xa3, 0xe9, 0x8b, 0x14, 0xfa, 0xc7, 0xb6, 0xd, 0x3c, 0xae, 0xf2, 0x13, 0xee, 0xbc, 0x7f, 0x31, 0xc4, 0xfc, 0xdc, 0xa8, 0x36, 0xa6, 0x97, 0x44, 0x4a, 0x42, 0x94, 0xc7, 0x6d, 0xcc, 0x66, 0x4b, 0x11, 0xef, 0xca, 0x4c, 0x65, 0x1a, 0x9f, 0x98, 0xf7, 0x9a, 0xb5, 0x16, 0xf8, 0xb6, 0xcd, 0x68, 0xdc, 0x0, 0x47, 0x85, 0x33, 0x91, 0xbc, 0x5f, 0x8d, 0xe, 0x49, 0xb8, 0xca, 0xe3, 0x22, 0xa3, 0x3c, 0x68, 0xfa, 0x0, 0xf9, 0x3f, 0xd2, 0x16, 0xa8, 0x96, 0xea, 0xcc, 0x3d, 0x9d, 0xb5, 0x38, 0x15, 0x2c, 0xf8, 0xdb, 0x2e, 0x3e, 0xe2, 0x70, 0x5e, 0xa9, 0x8d, 0x1b, 0x8, 0x66, 0x99, 0x4e, 0xd3, 0x50, 0x30, 0x27, 0x33, 0x20, 0x9, 0xe1, 0x2a, 0xc0, 0xaa, 0x97, 0x44, 0x20, 0xe0, 0xb8, 0xf3, 0x5a, 0xb5, 0x63, 0xf3, 0x8d, 0x41, 0x5c, 0x1b, 0xec, 0xce, 0x9b, 0xd8, 0x66, 0x8, 0x5c, 0xf2, 0x52, 0x77, 0x4c, 0x9c, 0x5d, 0xef, 0x80, 0xff, 0xff, 0xbe, 0xa9, 0xce, 0xca, 0x95, 0xdb, 0x83, 0x7b, 0x21, 0xd1, 0xec, 0x8d, 0x41, 0x13, 0x46, 0x26, 0xbd, 0x89, 0x5a, 0xa6, 0x2, 0xcb, 0x72, 0x0, 0xcc, 0x52, 0xc9, 0xbf, 0x97, 0x88, 0x91, 0x4c, 0x5e, 0x77, 0xbf, 0x4a, 0x91, 0x3a, 0xf5, 0xc9, 0xb6, 0x24, 0x1a, 0x8d, 0x32, 0x4b, 0xe9, 0xa9, 0x80, 0xeb, 0xf8, 0x20, 0xd8, 0x8d, 0xb1, 0x2, 0x85, 0xd6, 0x10, 0x93, 0x91, 0xea, 0xb6, 0xb5, 0xa8, 0x1d, 0xa7, 0x12, 0xfc, 0x2c, 0xbb, 0xaf, 0x8a, 0x99, 0xce, 0x41, 0xd8, 0x4, 0xe0, 0xa7, 0xc9, 0xdb, 0xdb, 0x36, 0xe, 0xcb, 0x7, 0xa9, 0x29, 0xc4, 0x53, 0xbf, 0xd5, 0xb7, 0x4e, 0xa6, 0x17, 0x16, 0xc2, 0xfc, 0xc, 0xa9, 0x23, 0xbf, 0xba, 0xe6, 0xe8, 0xca, 0x25, 0x5c, 0x52, 0xbc, 0x1d, 0xa4, 0x76, 0x65, 0xbb, 0x73, 0x99, 0x16, 0x22, 0xf, 0x69, 0xa1, 0xea, 0xdb, 0x1f, 0x82, 0xd4, 0xde, 0x30, 0x82, 0x73, 0x64, 0x11, 0xa8, 0x96, 0xcb, 0x74, 0x85, 0xb8, 0x99, 0x52, 0xd7, 0xf, 0xd4, 0x9a, 0x97, 0x54, 0x70, 0xd3, 0x6, 0x60, 0xaf, 0xb1, 0x2, 0xe7, 0xc2, 0xfc, 0x8e, 0xa6, 0x57, 0x16, 0xc7, 0x65, 0xae, 0x7b, 0xd6, 0x95, 0x8a, 0xe9, 0x9, 0xf0, 0xc, 0x5b, 0xe6, 0x82, 0xd2, 0xa8, 0xa0, 0x38, 0x9c, 0xa7, 0x25, 0x2f, 0x1c, 0x66, 0x96, 0x4f, 0xbd, 0xf5, 0x80, 0xcb, 0x1e, 0x43, 0x87, 0xe7, 0x82, 0xe9, 0x72, 0x89, 0xe6, 0x1b, 0xe0, 0x6f, 0x3b, 0xc5, 0x7b, 0xb5, 0x14, 0xe1, 0xbf, 0x47, 0x9, 0x60, 0x60, 0x9b, 0xa5, 0x9a, 0x2, 0xc9, 0xc4, 0x9, 0xab, 0xc3, 0x6b, 0xb6, 0xee, 0x93, 0x4c, 0x7d, 0x33, 0x86, 0xc6, 0x6, 0x51, 0x14, 0xbc, 0xb8, 0x91, 0xab, 0x71, 0xfd, 0x55, 0x48, 0x5d, 0xc2, 0xa4, 0x78, 0xe5, 0x1d, 0x5f, 0xb0, 0xe0, 0x90, 0x3c, 0x7, 0xcb, 0x41, 0xc, 0xb8, 0x95, 0x45, 0x59, 0x60, 0xcd, 0x46, 0x1b, 0x7c, 0xf7, 0x8b, 0x71, 0x31, 0x7b, 0xd6, 0x67, 0xb, 0x30, 0xef, 0x46, 0xe0, 0x1, 0xfc, 0xcd, 0x50, 0x20, 0x12, 0xea, 0x6, 0x67, 0xb5, 0x3d, 0x6b, 0x96, 0x3a, 0x49, 0x82, 0x46, 0xae, 0xf4, 0xad, 0xd8, 0x8d, 0x8f, 0x8, 0xcd, 0x30, 0xb0, 0x5d, 0xd0, 0x5c, 0xd6, 0x3d, 0x1d, 0x87, 0x31, 0x5b, 0x1d, 0x39, 0xf1, 0xb3, 0x7a, 0x4f, 0xbc, 0x84, 0xae, 0xf9, 0x51, 0x26, 0xa7, 0xbf, 0xc, 0xcf, 0xae, 0x3e, 0x79, 0x3f, 0xa, 0x4e, 0x32, 0x66, 0x31, 0xe5, 0x98, 0xbd, 0x4, 0xe4, 0xab, 0x2d, 0x6a, 0x13, 0xba, 0xb2, 0xbf, 0x51, 0xdf, 0xa7, 0x83, 0xf1, 0xf4, 0xa9, 0x3d, 0x3f, 0x28, 0xbb, 0x3d, 0x45, 0xaf, 0x1f, 0xef, 0xb2, 0x4a, 0xf1, 0x1d, 0xf5, 0xa7, 0xb9, 0x3, 0x37, 0x52, 0xf1, 0x7c, 0x75, 0x7a, 0x27, 0xe2, 0x7b, 0xd, 0xf1, 0xa1, 0xa7, 0xde, 0xc0, 0xef, 0xa1, 0xa1, 0x0, 0xff, 0x62, 0x73, 0x6f, 0xaa, 0xe, 0xd0, 0xb1, 0xb5, 0x6c, 0x91, 0xbb, 0xa0, 0x7b, 0xd1, 0xe3, 0x63, 0x48, 0xe8, 0x7b, 0x28, 0x16, 0xe0, 0x66, 0x50, 0x1, 0x8c, 0xe5, 0xaf, 0xf, 0x6e, 0x99, 0x67, 0xb1, 0xc0, 0x1c, 0x93, 0x4a, 0x3e, 0xd, 0xd8, 0x43, 0xac, 0x4e, 0xdd, 0x72, 0xd, 0x14, 0x7c, 0x33, 0x99, 0x50, 0x26, 0x1f, 0xa6, 0x63, 0x48, 0xcc, 0xa9, 0x4c, 0x75, 0xc6, 0xac, 0xf7, 0xeb, 0x1a, 0x57, 0x66, 0x16, 0xd3, 0xd2, 0x5c, 0xdb, 0xa4, 0x2c, 0x42, 0xe5, 0xce, 0x10, 0xa9, 0xc8, 0xa7, 0xd4, 0x70, 0x2d, 0xd8, 0x91, 0x2c, 0xe0, 0x77, 0x68, 0xe9, 0x46, 0x44, 0xca, 0x73, 0x0, 0x14, 0x19, 0x76, 0x24, 0x7f, 0x10, 0xd5, 0x84, 0x90, 0xe3, 0x8e, 0x35, 0xaf, 0x2c, 0x2c, 0x5f, 0xa, 0x13, 0x7c, 0xae, 0x6d, 0x2c, 0xb5, 0xcd, 0xa8, 0x49, 0xee, 0x3f, 0x5b, 0x32, 0xb0, 0x1d, 0x6d, 0x9b, 0x8a, 0xb8, 0x73, 0x8d, 0x6c, 0x2c, 0xa0, 0xe5, 0x5, 0x96, 0xc, 0x4f, 0xce, 0x3e, 0xb2, 0x47, 0xa9, 0xef, 0x30, 0xd3, 0xd, 0xb1, 0xd6, 0xc1, 0x91, 0x28, 0xb, 0x2d, 0xd2, 0x39, 0xe2, 0xfb, 0x93, 0x31, 0xab, 0x84, 0x48, 0x3c, 0x4d, 0xc5, 0x32, 0x17, 0x54, 0x1e, 0x9a, 0x64, 0x42, 0x63, 0x66, 0x19, 0x66, 0xd4, 0xa6, 0x2b, 0x26, 0x17, 0x4b, 0xa0, 0xb1, 0x70, 0xf9, 0x37, 0x45, 0x3b, 0xa6, 0xc7, 0x42, 0x14, 0xa0, 0xa0, 0xec, 0x3a, 0xfa, 0xcf, 0xf5, 0xf7, 0x9a, 0x8f, 0xff, 0xa7, 0x2c, 0xe6, 0x29, 0x2b, 0x1, 0x70, 0x4, 0xe0, 0x96, 0xa0, 0xe0, 0x8c, 0xf2, 0x75, 0x1a, 0x93, 0x56, 0x6d, 0x56, 0xad, 0x43, 0x9e, 0x87, 0x5c, 0x1d, 0x33, 0x29, 0xcb, 0x4c, 0x9b, 0x6f, 0x16, 0xab, 0x6f, 0x50, 0x85, 0xbf, 0xa9, 0xfc, 0x9e, 0xa4, 0x45, 0x9f, 0x7d, 0xae, 0x92, 0xf9, 0x92, 0x92, 0x8e, 0xc8, 0x8e, 0x6b, 0x45, 0xed, 0x3d, 0xa8, 0xf2, 0xb1, 0xa9, 0xbe, 0xca, 0x5, 0x60, 0x6d, 0x56, 0x21, 0xe4, 0xae, 0x29, 0xa7, 0xe3, 0x4f, 0xce, 0x3e, 0x52, 0x59, 0x1f, 0xfe, 0x8c, 0xde, 0xf2, 0xa6, 0xc, 0xce, 0xd7, 0x3a, 0x52, 0xd7, 0x35, 0x62, 0xbd, 0x7e, 0x50, 0xf0, 0xd1, 0x3f, 0x90, 0x58, 0x7b, 0x78, 0x72, 0x86, 0xe0, 0x1, 0x0, 0x53, 0xc2, 0xa9, 0x9, 0xb, 0x99, 0x1b, 0xd6, 0xc5, 0x7, 0xa, 0x1b, 0x32, 0xa4, 0x82, 0x58, 0x67, 0x7f, 0x1d, 0xf7, 0xc4, 0x27, 0xa6, 0x77, 0x45, 0x2f, 0xf0, 0x2b, 0x64, 0xb1, 0x74, 0x9a, 0x97, 0x88, 0xad, 0xad, 0x90, 0x93, 0x54, 0x1b, 0x6f, 0x91, 0x43, 0x72, 0x5f, 0xee, 0x58, 0x1f, 0xef, 0xb7, 0x39, 0x99, 0xa9, 0x66, 0x73, 0xd7, 0x4a, 0x73, 0xdd, 0x20, 0x22, 0x65, 0x41, 0x24, 0x3a, 0xee, 0xd9, 0xf5, 0x9, 0x9, 0xb8, 0x80, 0xe, 0x78, 0xd, 0xfb, 0x91, 0x9e, 0xf3, 0xdd, 0xd4, 0xf4, 0x86, 0xd9, 0xc3, 0x7a, 0x98, 0x79, 0xc3, 0x2c, 0xbe, 0xf8, 0xec, 0x11, 0xaa, 0x72, 0x30, 0x1d, 0xa6, 0x73, 0xbf, 0x45, 0x1c, 0x86, 0x97, 0xde, 0x67, 0x5b, 0x76, 0xd0, 0x2e, 0xc6, 0x4e, 0xc3, 0x25, 0xba, 0xbb, 0xb7, 0x37, 0xcb, 0xc5, 0x95, 0x16, 0xc9, 0x87, 0x94, 0xaf, 0x7, 0x2, 0x9e, 0x6e, 0x70, 0x1b, 0xad, 0xe1, 0xb6, 0xe6, 0x82, 0x6f, 0xb0, 0x2d, 0xba, 0x9a, 0xd5, 0xc4, 0x7c, 0x84, 0xc0, 0x6d, 0xef, 0x22, 0xf5, 0x83, 0x51, 0x22, 0x39, 0x9b, 0xa7, 0xfc, 0xd6, 0x82, 0x49, 0x98, 0xb, 0xfc, 0x56, 0x41, 0xdc, 0xe1, 0xc8, 0x5d, 0x69, 0x45, 0x96, 0xb1, 0x3b, 0x79, 0x7b, 0x67, 0xf1, 0x53, 0x28, 0x86, 0x72, 0x8c, 0xdc, 0xbb, 0x66, 0xc1, 0xe7, 0x5c, 0xa6, 0x15, 0xa7, 0x3d, 0xf0, 0x6b, 0x61, 0x6a, 0x7e, 0xed, 0x2b, 0xfe, 0xb, 0x3d, 0xca, 0x51, 0x24, 0xdc, 0x17, 0xa9, 0x18, 0x47, 0x86, 0xdb, 0x39, 0xe5, 0x6d, 0x9b, 0xc9, 0xc, 0xb3, 0xe5, 0xfa, 0xec, 0x34, 0x4b, 0x4, 0xc2, 0xc0, 0xc0, 0xf, 0xc8, 0xe2, 0xc5, 0xb, 0x6c, 0xdc, 0x56, 0x94, 0x28, 0xcb, 0x28, 0x83, 0xcc, 0xbe, 0x1f, 0xa6, 0x58, 0x62, 0x9e, 0xa6, 0xd9, 0x23, 0xb9, 0x80, 0xb4, 0x2e, 0x17, 0xc2, 0xe7, 0x3c, 0xdb, 0xae, 0x79, 0xa8, 0x16, 0xea, 0x73, 0xec, 0x3e, 0x47, 0xe9, 0xba, 0xf8, 0x1d, 0x52, 0xde, 0xd8, 0x5c, 0x52, 0xe2, 0x38, 0x36, 0x40, 0x74, 0x6c, 0xf5, 0x11, 0xf8, 0x59, 0x2a, 0xf8, 0xbd, 0xb0, 0xc4, 0x63, 0x37, 0x39, 0x57, 0xf1, 0x5d, 0x60, 0xca, 0x5, 0x70, 0x12, 0x80, 0x4f, 0x62, 0xf1, 0x22, 0x69, 0x74, 0x98, 0xda, 0x81, 0x23, 0x54, 0x99, 0x3a, 0xc1, 0x45, 0xc, 0xd2, 0x85, 0x88, 0x86, 0xf3, 0xcb, 0x87, 0xa9, 0x86, 0xa5, 0x9d, 0x92, 0xaa, 0x2a, 0x35, 0x9b, 0xe7, 0x2, 0x5c, 0x65, 0x25, 0x66, 0xa3, 0xd0, 0xc4, 0xca, 0x2, 0x12, 0xae, 0x35, 0x66, 0x28, 0xf7, 0xd9, 0x88, 0x7a, 0x49, 0x1a, 0x2d, 0x57, 0x2b, 0xd3, 0x60, 0xba, 0x3a, 0x81, 0xa1, 0x1c, 0x8d, 0x86, 0xef, 0x50, 0x63, 0x65, 0x61, 0x1e, 0x99, 0x55, 0xf8, 0x8e, 0xa9, 0x51, 0x70, 0xcd, 0x58, 0xa5, 0x90, 0xd2, 0x97, 0xbe, 0x7c, 0x98, 0x62, 0xf6, 0xd7, 0xd9, 0x47, 0x4d, 0xa6, 0x86, 0x59, 0x10, 0xb3, 0xab, 0xb2, 0x14, 0x19, 0xcc, 0x1e, 0x84, 0xc2, 0xec, 0xef, 0x0, 0xd8, 0x93, 0x68, 0xdc, 0xa, 0xe8, 0x32, 0xc7, 0x84, 0x7a, 0x2d, 0x13, 0x70, 0xf3, 0x80, 0xcd, 0x91, 0x25, 0x65, 0x6c, 0x6e, 0x6c, 0x65, 0x63, 0x7a, 0x4e, 0xd1, 0x40, 0xb7, 0xc8, 0x8a, 0x76, 0x7a, 0x58, 0x3a, 0x8, 0x5f, 0x2f, 0x9d, 0x4d, 0xb5, 0x10, 0xf1, 0x1d, 0x57, 0x52, 0x2f, 0xfa, 0x6d, 0x96, 0x30, 0x11, 0x4e, 0xd1, 0xf0, 0xca, 0x30, 0xb6, 0x95, 0xe5, 0xa4, 0xe1, 0xc1, 0xc0, 0x30, 0x83, 0x7, 0x1f, 0x83, 0x79, 0x84, 0x59, 0x58, 0xf9, 0x44, 0x8, 0xef, 0xe, 0xb4, 0xfd, 0x7c, 0xd7, 0x2c, 0xe7, 0x53, 0xae, 0x6e, 0xbf, 0x7f, 0x61, 0xf2, 0x61, 0x6d, 0x42, 0xcc, 0x6e, 0x33, 0x7d, 0xef, 0xb3, 0xf3, 0xcc, 0x55, 0x5f, 0x81, 0xb, 0x2e, 0x59, 0x63, 0x12, 0xb3, 0x15, 0x49, 0xbe, 0xec, 0xd1, 0xbe, 0x5d, 0xf2, 0x5b, 0xa1, 0x23, 0x5, 0x6, 0x4, 0xd7, 0xd6, 0x8, 0xae, 0x65, 0xc9, 0x51, 0x12, 0xa0, 0x7f, 0xdb, 0xbe, 0x69, 0xe, 0x8c, 0xad, 0x99, 0xb0, 0xf8, 0x52, 0x18, 0xf9, 0x35, 0x12, 0xa6, 0x80, 0x62, 0x32, 0x9b, 0xab, 0xb5, 0xbe, 0x71, 0x10, 0x25, 0xef, 0xda, 0xac, 0xec, 0xcc, 0x8c, 0x6c, 0x86, 0x88, 0x2f, 0xfa, 0xda, 0xe1, 0xe1, 0xf5, 0xa3, 0x96, 0x28, 0x97, 0x4e, 0xee, 0xf7, 0xd4, 0x4d, 0xce, 0xb9, 0x77, 0xb, 0x9a, 0xc9, 0x80, 0xa3, 0x1f, 0xfa, 0x0, 0x4, 0x5d, 0xb1, 0x96, 0xae, 0xad, 0xd4, 0x48, 0xd0, 0xa8, 0xb3, 0x85, 0x28, 0xa0, 0xf2, 0x28, 0x95, 0xf7, 0x82, 0x45, 0xaf, 0x6c, 0xd4, 0xf3, 0xe4, 0x36, 0x8b, 0x5e, 0x11, 0x11, 0x62, 0xa4, 0xec, 0xe3, 0x2e, 0xa3, 0xd0, 0x68, 0xc7, 0x80, 0xa6, 0x7f, 0x2, 0x2a, 0xd1, 0xed, 0xf8, 0xf2, 0x94, 0x61, 0x84, 0x98, 0xbe, 0x41, 0x1e, 0x45, 0x48, 0x36, 0xf4, 0x57, 0xba, 0x2c, 0xec, 0x95, 0x4d, 0xfc, 0x14, 0x91, 0x72, 0x85, 0x53, 0x4, 0x6c, 0x24, 0x17, 0xc2, 0x9b, 0x82, 0x1, 0x48, 0xc, 0xac, 0xdd, 0x51, 0x96, 0xdb, 0xd6, 0xb2, 0xb0, 0x10, 0xc6, 0xc, 0xee, 0x78, 0xd3, 0xfc, 0xee, 0xaf, 0x3c, 0xff, 0x5a, 0x45, 0xe0, 0xd9, 0x6f, 0x96, 0xdf, 0xf4, 0xdf, 0xfe, 0xd4, 0xff, 0xa9, 0xdb, 0x4, 0xdb, 0x12, 0xb6, 0xef, 0x63, 0x8e, 0x77, 0x53, 0x94, 0x3e, 0x40, 0x4a, 0xe8, 0x69, 0x2d, 0x4, 0xf8, 0x94, 0x6c, 0x70, 0xf0, 0x6a, 0x52, 0x1e, 0xec, 0xe9, 0xe0, 0x6a, 0x32, 0xdc, 0x9a, 0xf, 0xde, 0xf4, 0xc6, 0x2f, 0x83, 0xf3, 0x33, 0xf8, 0xf7, 0xc5, 0xe7, 0xcf, 0x83, 0xf3, 0xae, 0xef, 0xbd, 0x1f, 0x9c, 0x39, 0x67, 0xf0, 0x6c, 0x70, 0x3a, 0x1d, 0xfd, 0x3a, 0x9a, 0xfe, 0x65, 0x36, 0x98, 0x4e, 0xc7, 0xa3, 0xf7, 0x57, 0xd3, 0xe1, 0x64, 0x87, 0x66, 0xc6, 0xc3, 0x3f, 0x5d, 0xd, 0x27, 0x53, 0xe2, 0xf2, 0xda, 0xb3, 0x31, 0x70, 0xf2, 0x2, 0x5, 0xd7, 0xf8, 0x69, 0xd, 0x50, 0x2f, 0xf6, 0x68, 0x61, 0x3c, 0x3c, 0xbd, 0x18, 0x9f, 0xcd, 0x3e, 0xf, 0xc6, 0x1f, 0x9f, 0xdc, 0x9, 0x4a, 0x57, 0x9c, 0x35, 0x10, 0x77, 0x3d, 0xa9, 0x41, 0xf3, 0x87, 0x83, 0x35, 0x46, 0x53, 0x74, 0xa8, 0xe6, 0x6a, 0xeb, 0x3f, 0xfc, 0xf3, 0x74, 0x38, 0x3e, 0x1f, 0x1c, 0xb0, 0xbb, 0xc4, 0xe2, 0x46, 0x24, 0x6e, 0xbb, 0x37, 0x12, 0xee, 0x29, 0x9f, 0x80, 0x3e, 0xea, 0x7a, 0x54, 0xc6, 0xc3, 0xc9, 0x70, 0x3a, 0x9b, 0x4c, 0x47, 0xa7, 0x1f, 0xff, 0x82, 0x3f, 0xff, 0xe9, 0x6a, 0x78, 0xd5, 0x5c, 0x7, 0xb1, 0xfe, 0xb6, 0xfb, 0xc9, 0xfc, 0xc7, 0x70, 0x1c, 0x1c, 0x58, 0xf3, 0xd8, 0xd5, 0xb8, 0x6b, 0x3b, 0x70, 0x38, 0x46, 0x3f, 0x1f, 0x72, 0x62, 0x71, 0x5e, 0x4e, 0x7f, 0x19, 0x7d, 0x3a, 0xdb, 0xa7, 0xa9, 0xf, 0x17, 0xe3, 0xd3, 0xe1, 0xec, 0xf4, 0xd3, 0xc5, 0x64, 0xb8, 0xa3, 0x10, 0x32, 0xff, 0xb8, 0xf8, 0x75, 0x38, 0x7e, 0xd2, 0xcb, 0xc1, 0x84, 0x8c, 0xce, 0x2f, 0xaf, 0xa6, 0xb3, 0xc9, 0xe8, 0xff, 0xed, 0x3a, 0x99, 0xb8, 0xa4, 0xf6, 0x81, 0x1d, 0x3e, 0xf8, 0x7e, 0x74, 0x3e, 0x18, 0x37, 0xd7, 0xcd, 0x34, 0xec, 0xbb, 0x35, 0xf9, 0xfa, 0x84, 0xdd, 0x7, 0xc3, 0x1c, 0xe, 0xc6, 0xa7, 0xbf, 0xec, 0xbe, 0x32, 0xe7, 0x17, 0xe7, 0xb3, 0xb3, 0x21, 0xa6, 0xa5, 0x8f, 0xcc, 0x6, 0x9e, 0xd, 0xc7, 0xe3, 0x8b, 0xf1, 0xe, 0x5f, 0xfe, 0x7c, 0x71, 0x36, 0xfa, 0xf0, 0x17, 0xbf, 0xe3, 0x2e, 0xc7, 0x17, 0x97, 0xc3, 0xf1, 0x74, 0x34, 0x9c, 0xec, 0xde, 0x9b, 0xcb, 0xe1, 0xf9, 0xd9, 0xe8, 0xfc, 0x67, 0xda, 0x70, 0xf6, 0xc1, 0xc9, 0xec, 0xd3, 0xe8, 0xf3, 0x68, 0x3a, 0x1b, 0xfe, 0xf9, 0x74, 0x38, 0x3c, 0xeb, 0x7c, 0xef, 0xd9, 0xc6, 0x68, 0x6a, 0x4d, 0x87, 0xf6, 0x6a, 0x7, 0x77, 0xd2, 0x9e, 0x8d, 0xd4, 0x24, 0xe1, 0x93, 0xda, 0x32, 0xb3, 0x7e, 0x75, 0x79, 0x36, 0x68, 0xbe, 0x3c, 0x3e, 0xf, 0x27, 0x93, 0xc1, 0xcf, 0x5d, 0xb7, 0xb9, 0x97, 0x35, 0xd8, 0xe2, 0x53, 0x74, 0x83, 0xf3, 0xe1, 0x9f, 0xaf, 0x26, 0x33, 0xb3, 0xea, 0x83, 0xa7, 0x89, 0x7, 0x3b, 0x39, 0xb5, 0x86, 0x9e, 0x38, 0xd5, 0xd, 0x17, 0xce, 0xde, 0x3d, 0xfc, 0x30, 0x1c, 0x4c, 0xaf, 0xc6, 0xc3, 0xd9, 0xd9, 0x68, 0x32, 0x78, 0xdf, 0x46, 0x46, 0xba, 0xfe, 0xda, 0xcf, 0xe3, 0xcb, 0x53, 0xbb, 0x20, 0xb3, 0xe9, 0xc5, 0xc5, 0xec, 0xd3, 0x60, 0xdc, 0x79, 0x69, 0x2e, 0x7, 0x7f, 0xf9, 0x74, 0x31, 0x38, 0x9b, 0x4, 0x2f, 0xd2, 0x7b, 0x9b, 0xcb, 0xe3, 0xba, 0xe9, 0x8c, 0x6d, 0x9, 0x24, 0x4, 0xe3, 0x10, 0x73, 0x85, 0x2e, 0x2a, 0x63, 0xc6, 0x3d, 0xf0, 0x1c, 0x41, 0x40, 0x81, 0xc3, 0x4b, 0x87, 0x15, 0x2b, 0x3a, 0x73, 0x26, 0x98, 0xb6, 0x24, 0x5f, 0xda, 0x43, 0xbf, 0x10, 0x2a, 0x7f, 0x21, 0x22, 0xe5, 0x40, 0x7a, 0x30, 0xd0, 0x87, 0x51, 0xbd, 0xe0, 0xf5, 0x45, 0xc3, 0x5b, 0x1e, 0xd9, 0x67, 0x72, 0xf6, 0xf1, 0xc7, 0x0, 0x34, 0x33, 0xac, 0x4b, 0xea, 0xa0, 0xf1, 0xbe, 0x63, 0xef, 0xc9, 0x7a, 0xf6, 0x5, 0x64, 0x90, 0x53, 0x5b, 0xf1, 0xba, 0x54, 0xe3, 0x74, 0x47, 0x64, 0x31, 0xbb, 0xbf, 0x6, 0x81, 0x3b, 0xaa, 0x27, 0x39, 0xee, 0xc1, 0x0, 0x22, 0xa5, 0xc4, 0xa3, 0xab, 0x31, 0x39, 0x2, 0x63, 0x87, 0x33, 0x2d, 0x6f, 0x15, 0x4f, 0x8f, 0x21, 0xa4, 0xe2, 0xad, 0x25, 0xc8, 0xd5, 0xf5, 0xe5, 0xad, 0xc4, 0x41, 0xc3, 0x88, 0x6f, 0x44, 0x17, 0x9c, 0xdc, 0x5a, 0x16, 0x48, 0x15, 0x22, 0xc7, 0x58, 0x62, 0x16, 0x70, 0xed, 0xe0, 0x3c, 0xe3, 0x14, 0x3a, 0x28, 0x10, 0x70, 0xa1, 0x2c, 0x65, 0x7c, 0xcf, 0xca, 0x25, 0x15, 0xad, 0x92, 0x3f, 0x71, 0xf3, 0x6c, 0xb5, 0x28, 0x2f, 0xef, 0x58, 0x0, 0xcb, 0xed, 0xa3, 0xb7, 0xce, 0x6f, 0x9, 0x5d, 0x34, 0x1d, 0xc0, 0xfa, 0x68, 0x48, 0xf5, 0xfb, 0x5a, 0x80, 0x13, 0xe1, 0x46, 0x4, 0xa0, 0x5, 0x0, 0x6c, 0xa5, 0xb2, 0x7c, 0xc1, 0xd3, 0x1e, 0x21, 0xdb, 0xc8, 0xf8, 0x7e, 0x15, 0x29, 0x0, 0xf0, 0xe8, 0xb3, 0x9f, 0xe1, 0x49, 0x63, 0x5, 0x5a, 0x18, 0x6c, 0x32, 0xf0, 0x96, 0xb9, 0x98, 0x63, 0xa5, 0x66, 0xa9, 0xf1, 0x3, 0x96, 0x75, 0x9b, 0x5d, 0x8f, 0x85, 0x16, 0xc5, 0x4, 0x1a, 0x72, 0x25, 0x1e, 0xd7, 0xcc, 0x98, 0x8a, 0x31, 0x4f, 0xd3, 0xad, 0x43, 0x6e, 0xb9, 0xf5, 0x2a, 0x43, 0x16, 0x8a, 0xd0, 0x66, 0x84, 0x99, 0xe3, 0x85, 0xd4, 0x90, 0x17, 0x45, 0x30, 0x46, 0xe8, 0x26, 0x33, 0x2b, 0x65, 0xe1, 0x1a, 0xac, 0x7b, 0xe6, 0xd1, 0xf2, 0xc5, 0x8b, 0xaf, 0x4b, 0x0, 0x7e, 0xea, 0x61, 0x61, 0xd8, 0xe3, 0x1a, 0x5c, 0x4, 0xb8, 0x4a, 0x79, 0x5c, 0xa0, 0x9, 0x9c, 0xac, 0xd5, 0xdb, 0x3d, 0xf5, 0x7a, 0x7c, 0xc7, 0xbe, 0x8, 0x44, 0x6e, 0x41, 0xe4, 0x6, 0x88, 0xc, 0xe4, 0x39, 0x80, 0x4f, 0x24, 0xb8, 0x88, 0xa5, 0x36, 0xf3, 0x6c, 0x93, 0xc2, 0x64, 0xee, 0x6a, 0x7, 0xd9, 0x23, 0x4c, 0xfd, 0x83, 0xcc, 0x52, 0x0, 0xb2, 0x65, 0x5a, 0xfe, 0x3, 0xdd, 0x88, 0x45, 0xce, 0xa5, 0x2a, 0x22, 0xe5, 0xb0, 0x73, 0x7d, 0x39, 0xe2, 0x17, 0xc1, 0x92, 0x8c, 0x22, 0x1a, 0x19, 0x13, 0x4a, 0x97, 0x79, 0xe0, 0x2a, 0xc6, 0x92, 0xca, 0xb5, 0xd7, 0xbc, 0x4f, 0xf8, 0x46, 0x0, 0xcd, 0x4e, 0x91, 0x65, 0x91, 0x4a, 0x79, 0x7e, 0x6b, 0xfa, 0x8c, 0x5c, 0x19, 0x2e, 0xc1, 0x17, 0xff, 0xa9, 0xc5, 0x3, 0xe4, 0xcb, 0x8b, 0x1c, 0x3c, 0x70, 0xc6, 0xb8, 0x4f, 0xc4, 0x6d, 0xce, 0x13, 0x8e, 0x71, 0xcd, 0xbf, 0x64, 0x25, 0x3c, 0xbd, 0xc8, 0x12, 0x39, 0x47, 0xa7, 0x42, 0x71, 0x97, 0xb, 0x7d, 0x7, 0x48, 0x13, 0xe0, 0xfc, 0x86, 0xac, 0x45, 0x27, 0xae, 0x60, 0x56, 0xb4, 0x4d, 0x40, 0x5d, 0x65, 0x65, 0xce, 0x92, 0x95, 0xe2, 0xb, 0x40, 0x1a, 0x52, 0x73, 0x89, 0x2e, 0xe4, 0xc9, 0x92, 0x3f, 0x2a, 0x5f, 0x8, 0x5e, 0x45, 0x57, 0xa5, 0x9, 0xb3, 0xfd, 0xad, 0x24, 0x9d, 0x64, 0x4c, 0x7c, 0x8d, 0x5, 0x78, 0xd1, 0x34, 0x4b, 0xe5, 0x42, 0x82, 0x9b, 0xdb, 0xc6, 0xc2, 0xa1, 0x1d, 0x8f, 0xbf, 0xaa, 0x3b, 0xaf, 0x7e, 0xab, 0x3e, 0xf3, 0x8e, 0x4d, 0xaa, 0x35, 0xeb, 0xe, 0xae, 0xec, 0xc9, 0x9d, 0xf4, 0x90, 0x51, 0x84, 0x40, 0xf6, 0x8, 0x40, 0x53, 0xf1, 0x76, 0xa9, 0xb2, 0x59, 0x6b, 0x7a, 0xc7, 0x6, 0x61, 0x91, 0xbf, 0x66, 0x9c, 0xdd, 0x94, 0xf3, 0x39, 0x16, 0x3e, 0xa0, 0xe4, 0xa4, 0x12, 0x9, 0x90, 0x2e, 0x66, 0x9b, 0xac, 0x44, 0x61, 0x19, 0x56, 0x69, 0x2b, 0x25, 0x42, 0x17, 0x44, 0x86, 0xc, 0x9b, 0x90, 0xe0, 0x3, 0x90, 0xe1, 0x5, 0x77, 0x3c, 0xc2, 0xf4, 0xda, 0xc1, 0xc0, 0xa4, 0x60, 0xeb, 0x34, 0x25, 0x34, 0x76, 0x2c, 0xbc, 0x58, 0xf2, 0xd8, 0x65, 0x70, 0x49, 0x4d, 0x1d, 0xea, 0x3c, 0xd0, 0x8d, 0x9a, 0xdd, 0x3b, 0x36, 0x91, 0xb, 0x99, 0xf2, 0x3c, 0x5d, 0xf5, 0xcc, 0x1c, 0xc2, 0xa8, 0xc2, 0x31, 0xdb, 0x9, 0x77, 0x7, 0xb1, 0xc8, 0xa8, 0xde, 0x18, 0xeb, 0x62, 0x3, 0x30, 0xde, 0xda, 0x50, 0x71, 0x17, 0x13, 0x2e, 0x94, 0xd9, 0xc2, 0x6e, 0x20, 0x90, 0x4c, 0x62, 0x77, 0x1b, 0xb6, 0xe5, 0x9a, 0xf, 0xb, 0x70, 0x1d, 0x6d, 0xed, 0xe6, 0x81, 0x76, 0x52, 0x3b, 0xdf, 0xf9, 0x52, 0xdf, 0xa0, 0x2e, 0x1b, 0x4b, 0x1e, 0x2d, 0x23, 0xcf, 0x11, 0xb1, 0xef, 0xc, 0x1c, 0xcf, 0x97, 0xad, 0x8a, 0xec, 0x8f, 0x2d, 0x35, 0xe, 0xa0, 0x1d, 0xba, 0x3f, 0x22, 0x62, 0xda, 0x71, 0xa4, 0xee, 0x80, 0xc3, 0x2d, 0x43, 0x30, 0x98, 0x5, 0x47, 0x24, 0xdd, 0x85, 0x44, 0x6f, 0x37, 0x55, 0xc8, 0x26, 0x84, 0xcb, 0xb6, 0x75, 0x40, 0x75, 0xdd, 0xd7, 0x2d, 0x92, 0x99, 0xfc, 0x5d, 0xd4, 0xb, 0x4c, 0x60, 0x9a, 0xbb, 0x1e, 0x6f, 0xff, 0x74, 0x47, 0xfd, 0xb9, 0x72, 0x4c, 0x2a, 0x90, 0x77, 0xa4, 0xd, 0x0, 0x2c, 0x25, 0x22, 0x95, 0x4c, 0x28, 0x6d, 0xf4, 0x5c, 0x7c, 0x2d, 0xf5, 0xc5, 0x52, 0x50, 0xea, 0xac, 0x87, 0x77, 0xea, 0xb6, 0x8d, 0xb7, 0xe8, 0xe0, 0x9b, 0x7a, 0x44, 0x9b, 0xcb, 0x82, 0xb3, 0x50, 0x7f, 0x18, 0x67, 0xd0, 0x25, 0xe6, 0xfb, 0x84, 0xa7, 0xce, 0xd5, 0xea, 0x63, 0xe2, 0x97, 0xc5, 0x49, 0x17, 0x9, 0x8a, 0xa1, 0x4e, 0x73, 0xd8, 0x59, 0xcf, 0xdf, 0x65, 0x26, 0x89, 0x89, 0xea, 0x14, 0x8e, 0xcc, 0x13, 0xa7, 0xb3, 0x6e, 0x30, 0x74, 0x9c, 0x37, 0xce, 0xe6, 0x82, 0x17, 0xf6, 0xfe, 0x7c, 0x1d, 0xf0, 0x4f, 0x67, 0x2a, 0x9c, 0xac, 0x23, 0x62, 0xb1, 0xd6, 0x2b, 0x5d, 0x88, 0x5, 0x7b, 0x94, 0x9, 0x0, 0x96, 0x9e, 0xb0, 0xc2, 0xd5, 0xe2, 0x9d, 0x44, 0x6a, 0x5e, 0x23, 0x61, 0x78, 0x1d, 0x14, 0x2, 0x1c, 0xf7, 0x23, 0x5, 0xa9, 0xa6, 0xd, 0xaa, 0x2f, 0x11, 0x60, 0xb9, 0x3, 0x5b, 0xa1, 0x36, 0x22, 0x94, 0xa6, 0xad, 0x33, 0xd0, 0x6c, 0xfb, 0xac, 0xcf, 0x3, 0x29, 0xb7, 0xf6, 0xce, 0xe7, 0xec, 0x36, 0x5f, 0xc6, 0xee, 0xd3, 0x46, 0x93, 0x2a, 0xb2, 0x8c, 0x81, 0x62, 0xb0, 0x7d, 0x13, 0xaf, 0x99, 0x4c, 0x5b, 0xbf, 0x47, 0x34, 0x62, 0x1a, 0x6b, 0xf1, 0xfc, 0xa7, 0xda, 0xca, 0x84, 0xbc, 0x7f, 0xff, 0xf7, 0x94, 0x6f, 0xdb, 0xfb, 0xdf, 0x6c, 0xca, 0x77, 0xdc, 0xbd, 0x4a, 0xab, 0x3d, 0xc2, 0xd3, 0xd8, 0xf2, 0x21, 0x38, 0xe4, 0x2a, 0x13, 0x60, 0xcf, 0x64, 0x22, 0xa, 0x2e, 0xd3, 0x96, 0xfa, 0x95, 0x3, 0x30, 0x88, 0x43, 0x16, 0x87, 0x35, 0x81, 0xc8, 0xde, 0x4a, 0x57, 0xf6, 0xd4, 0xb8, 0xe9, 0xad, 0xe0, 0xf, 0x56, 0x68, 0xd5, 0x1d, 0xf0, 0xa9, 0xed, 0x8c, 0x5, 0x1a, 0xe, 0xc4, 0x97, 0xb5, 0xe, 0xf1, 0xd, 0x3b, 0x34, 0xa9, 0x2c, 0x8, 0x40, 0x3, 0xb8, 0x21, 0xd7, 0xec, 0x35, 0xd9, 0x5a, 0x27, 0xa6, 0x15, 0x19, 0x8b, 0xd7, 0x2d, 0x59, 0x5f, 0x37, 0x5c, 0x8b, 0x7d, 0xa9, 0xe5, 0xa7, 0x15, 0x4a, 0x41, 0x60, 0x89, 0xaf, 0x23, 0xa4, 0xf4, 0xd9, 0x7, 0xa0, 0x97, 0x7, 0x3a, 0x8, 0xfb, 0xb7, 0xd6, 0x22, 0xfa, 0x3, 0x70, 0xdd, 0xd7, 0x81, 0xf7, 0x10, 0x7e, 0x1, 0x3a, 0xd0, 0x73, 0xb5, 0x76, 0xeb, 0x8c, 0xf6, 0xe1, 0xae, 0xcc, 0xf2, 0x7b, 0x38, 0xa6, 0x4f, 0x8, 0xc, 0xef, 0x82, 0xd8, 0x5a, 0x8b, 0x1a, 0x5b, 0x3c, 0xe, 0x41, 0xb5, 0x60, 0xce, 0x66, 0xc6, 0x8c, 0x1e, 0x23, 0xe3, 0x4d, 0xcf, 0x28, 0xe3, 0x1d, 0xb2, 0x23, 0x16, 0x65, 0x5a, 0xc8, 0x93, 0x38, 0x2d, 0x35, 0xe2, 0xbd, 0x3a, 0x34, 0xa3, 0x48, 0x25, 0x36, 0x27, 0x4b, 0xb, 0xd4, 0x93, 0xa9, 0x30, 0xdd, 0xe5, 0x98, 0xe4, 0x22, 0x2e, 0x6a, 0xdf, 0x68, 0xdb, 0x29, 0x4f, 0xae, 0xb8, 0x70, 0x67, 0x33, 0xcc, 0xd9, 0x9c, 0x6, 0xc0, 0xa8, 0x16, 0x43, 0x83, 0xc5, 0xa9, 0xe0, 0x4a, 0x24, 0xac, 0x5c, 0xa2, 0x35, 0xe2, 0xf3, 0xf2, 0x4e, 0xde, 0xb2, 0xc1, 0xe5, 0x8, 0x33, 0xbc, 0x16, 0xd9, 0x83, 0x69, 0xe1, 0xaf, 0xf0, 0x74, 0xb9, 0x3c, 0x9, 0x41, 0xa, 0x4f, 0x1e, 0x1f, 0xfe, 0x6, 0x58, 0x53, 0xdd, 0xe, 0xa6, 0x31, 0xe4, 0x70, 0x60, 0x4c, 0x26, 0x2f, 0x58, 0xaa, 0xe1, 0xa6, 0xe4, 0x5f, 0xac, 0x48, 0xe3, 0x19, 0x57, 0x7d, 0xb7, 0xb4, 0x83, 0x49, 0x45, 0x8b, 0x38, 0x8c, 0x66, 0x52, 0xb4, 0x1, 0xa8, 0xb4, 0xed, 0x12, 0x8f, 0xb8, 0xd2, 0x7e, 0x97, 0x5, 0xec, 0x54, 0xeb, 0x5b, 0x0, 0x9d, 0x67, 0xe8, 0x1d, 0x34, 0xab, 0x65, 0x97, 0x31, 0xb6, 0x53, 0x6b, 0xbd, 0x89, 0x8, 0x1c, 0xe, 0x68, 0xc5, 0xf0, 0xf0, 0x6, 0xe5, 0x64, 0x9a, 0x9d, 0xa6, 0x99, 0x16, 0x4f, 0xc0, 0x2d, 0x71, 0xfd, 0xfe, 0x25, 0x7b, 0x64, 0xc8, 0x19, 0xe0, 0x77, 0xf3, 0x1d, 0x28, 0xa7, 0x76, 0x43, 0x7, 0xba, 0x47, 0xa6, 0x62, 0x41, 0x48, 0xec, 0x80, 0x13, 0x59, 0xd8, 0x4a, 0x58, 0x89, 0x69, 0x28, 0x9a, 0x99, 0x6e, 0x34, 0xf6, 0x97, 0xb2, 0xc0, 0xda, 0xfa, 0xd8, 0x94, 0x92, 0x56, 0x15, 0xcd, 0x7f, 0x78, 0xdb, 0x32, 0x2, 0xef, 0x1c, 0x2a, 0xd8, 0x9b, 0x1e, 0x10, 0xb0, 0x2e, 0xb8, 0x5a, 0x79, 0x7c, 0x71, 0xc4, 0x66, 0xc7, 0xba, 0x6a, 0x81, 0x24, 0xe9, 0xd6, 0x48, 0x69, 0x2c, 0x5d, 0xeb, 0xb2, 0x25, 0x3, 0xd5, 0xf0, 0x77, 0x55, 0xf9, 0xf9, 0x6a, 0xc, 0x97, 0x32, 0xbe, 0x47, 0x69, 0xb3, 0xa5, 0xc6, 0x90, 0x6c, 0xcd, 0x3d, 0x75, 0xa3, 0x50, 0x39, 0xf3, 0x12, 0xd3, 0x5, 0x6b, 0xc6, 0x90, 0x64, 0xd5, 0xb0, 0xf, 0xc8, 0xb2, 0xee, 0xb3, 0xcf, 0x16, 0xf9, 0x9b, 0x54, 0x39, 0x74, 0xc7, 0x45, 0xa, 0x60, 0xac, 0x3d, 0xa2, 0xe2, 0x4c, 0x3a, 0xc3, 0x77, 0x5b, 0x9b, 0x1e, 0x43, 0xfd, 0xea, 0x6a, 0x74, 0x16, 0x26, 0xa3, 0x89, 0x79, 0x99, 0x46, 0x4a, 0x2a, 0x94, 0xf8, 0xbc, 0xbd, 0x25, 0x88, 0x1d, 0x30, 0x5d, 0xc6, 0xe0, 0x13, 0xbc, 0x29, 0xb, 0x8f, 0xf8, 0x9e, 0x64, 0x42, 0xab, 0xd7, 0x5, 0xbb, 0x15, 0x54, 0xf3, 0x60, 0x51, 0xfc, 0x7b, 0x91, 0xd2, 0x99, 0x7f, 0xe, 0x85, 0x54, 0x2e, 0xa, 0x42, 0x6d, 0xb1, 0x5a, 0x48, 0x65, 0x98, 0xd6, 0x7b, 0x7, 0x5f, 0xd2, 0xda, 0x95, 0x24, 0xfb, 0x31, 0x63, 0x9, 0x36, 0xc2, 0xc8, 0xfb, 0xdb, 0xaa, 0x17, 0x20, 0xd0, 0xcb, 0x34, 0xf5, 0x84, 0xc, 0x8, 0xed, 0x45, 0x4, 0xe4, 0x24, 0x5e, 0x1d, 0x18, 0x7d, 0x9f, 0x7d, 0x91, 0xc5, 0x5d, 0x35, 0x47, 0xb8, 0x67, 0x3b, 0x86, 0x18, 0x32, 0x6b, 0x3d, 0xab, 0xc2, 0x52, 0xa2, 0x87, 0xb1, 0x57, 0xc3, 0xc0, 0x87, 0xe7, 0x93, 0x3c, 0x5b, 0xfa, 0xc, 0xc0, 0x16, 0x9, 0x5c, 0xde, 0xde, 0xa, 0x5d, 0x54, 0x40, 0xa7, 0xdb, 0x76, 0xdf, 0x4d, 0x96, 0x99, 0xab, 0x70, 0xf3, 0xf6, 0xcb, 0x4b, 0xc2, 0xa5, 0xe, 0xaf, 0xe, 0xba, 0x7a, 0xeb, 0x54, 0x67, 0x3a, 0xcb, 0x14, 0xe5, 0xa8, 0x52, 0x3f, 0x66, 0xf6, 0x91, 0x19, 0xd7, 0x33, 0x25, 0x1e, 0x67, 0x14, 0xb4, 0xc4, 0x8c, 0xd5, 0xc7, 0xbb, 0x36, 0x7e, 0xf6, 0xa6, 0x61, 0x8c, 0xf1, 0xd5, 0xfd, 0x33, 0x8e, 0xdb, 0x6e, 0xd3, 0x49, 0xeb, 0x47, 0x3b, 0x67, 0x1d, 0x4f, 0xef, 0x6c, 0x5c, 0xf6, 0x48, 0x1f, 0x53, 0xd0, 0xb6, 0x79, 0x26, 0x10, 0x17, 0xa0, 0x14, 0x3d, 0xcc, 0xa7, 0x64, 0xd2, 0x6c, 0xc0, 0x2b, 0x45, 0x9, 0x96, 0x1b, 0x5e, 0x9a, 0xf3, 0x54, 0xb7, 0x15, 0x5e, 0x22, 0xb, 0x47, 0x4b, 0x3d, 0xcd, 0x29, 0xa6, 0x6a, 0x1e, 0x62, 0x37, 0x7c, 0xf1, 0x3e, 0xae, 0x29, 0x12, 0x7f, 0xb4, 0xd7, 0xe2, 0xac, 0x73, 0x8d, 0x19, 0x9d, 0x99, 0xa8, 0x10, 0x2, 0xba, 0x47, 0xcf, 0x6, 0x65, 0x4d, 0x2e, 0x7c, 0xa6, 0x8e, 0x32, 0xde, 0x2, 0x1d, 0x85, 0x47, 0x6c, 0x22, 0xff, 0x21, 0xde, 0xaf, 0xa, 0xd1, 0xba, 0x4b, 0xf6, 0x26, 0xf0, 0xcf, 0xa, 0x9e, 0x7a, 0x49, 0x23, 0xff, 0x1, 0x20, 0xe6, 0x37, 0xe6, 0x93, 0x3d, 0x87, 0xf5, 0x11, 0x82, 0xd, 0x2, 0xdc, 0x39, 0x84, 0x82, 0x32, 0xe0, 0xca, 0x48, 0x4, 0x85, 0x2, 0xb3, 0x48, 0xd5, 0xcf, 0x4f, 0x2e, 0x6e, 0x79, 0x9e, 0xa4, 0x46, 0x4c, 0x59, 0x8c, 0x6b, 0xdc, 0x7, 0x10, 0x74, 0xf1, 0x79, 0x0, 0xf6, 0xf3, 0x78, 0x29, 0x42, 0xe4, 0x14, 0x32, 0x7c, 0xff, 0x1b, 0xaa, 0x38, 0x9c, 0xd, 0x68, 0xef, 0x55, 0xc0, 0xfe, 0x0, 0x1d, 0x5f, 0x67, 0xec, 0x51, 0xb0, 0x4, 0xd0, 0xa1, 0xa5, 0x8a, 0xd3, 0x32, 0x1, 0x2d, 0x29, 0xb0, 0x70, 0x0, 0x7c, 0xed, 0x3b, 0xb3, 0x63, 0x0, 0x45, 0x5, 0x6e, 0x3b, 0x7b, 0xfb, 0x1b, 0xad, 0xd5, 0x13, 0x9e, 0x7e, 0x13, 0x13, 0x21, 0x34, 0x6c, 0x8d, 0xd1, 0x34, 0x4a, 0xc6, 0x44, 0x3f, 0x74, 0x8a, 0x91, 0xec, 0xc3, 0xeb, 0x4a, 0xd6, 0x5c, 0xf7, 0x48, 0x64, 0xce, 0x83, 0x3, 0x7a, 0xf1, 0x52, 0xe4, 0x50, 0xf2, 0x2, 0xd8, 0x32, 0xec, 0x86, 0x18, 0x74, 0x1d, 0x2d, 0x12, 0x32, 0x9f, 0x4, 0x7c, 0x9f, 0x14, 0xc6, 0xca, 0x5, 0x3c, 0x4a, 0xba, 0xb3, 0x67, 0x4, 0xd1, 0xdf, 0xab, 0xe9, 0x65, 0x2c, 0x8b, 0xe4, 0xa2, 0x2c, 0x7e, 0x57, 0x74, 0x6d, 0xef, 0x7f, 0xb3, 0x3e, 0xe1, 0x2, 0x8d, 0xc4, 0x26, 0x20, 0xc5, 0x56, 0x9b, 0x37, 0x78, 0xa5, 0xfb, 0xb6, 0xa9, 0x7e, 0x60, 0x77, 0x74, 0xd3, 0xed, 0xb5, 0x33, 0xeb, 0x7d, 0x71, 0xad, 0x6, 0x30, 0x53, 0xe4, 0x6e, 0x41, 0x5f, 0x6c, 0x0, 0xf2, 0x68, 0xb, 0x95, 0x82, 0x14, 0x28, 0xac, 0xb, 0xc2, 0x7b, 0x63, 0x2e, 0x95, 0xa8, 0xf9, 0x43, 0x1d, 0x10, 0x24, 0x91, 0x6d, 0xd9, 0xba, 0x61, 0xf, 0xb, 0xe9, 0xf5, 0x72, 0x28, 0xe, 0x1, 0x53, 0x18, 0xd2, 0x7c, 0x72, 0x5b, 0x67, 0x58, 0xf, 0x58, 0x45, 0x30, 0xd0, 0xe8, 0x15, 0xc5, 0x63, 0xfe, 0xcd, 0xfc, 0xdf, 0xff, 0xfc, 0xdb, 0xff, 0x1f, 0x0, 0x0, 0xff, 0xff, 0xb0, 0x93, 0xd2, 0x14, 0x93, 0xa3, 0xd, 0x0} diff --git a/api_next/temporalproto/openapi/openapiv3.go b/api_next/temporalproto/openapi/openapiv3.go new file mode 100644 index 00000000..82b24e40 --- /dev/null +++ b/api_next/temporalproto/openapi/openapiv3.go @@ -0,0 +1,4 @@ +package openapi + +// OpenAPIV3YAMLSpec contains a gzip-compressed YAML file specifying the Temporal HTTP API +var OpenAPIV3YAMLSpec = []byte{0x1f, 0x8b, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xff, 0xec, 0xbd, 0xdb, 0x73, 0xdb, 0x38, 0xb6, 0x37, 0xfa, 0x3e, 0x7f, 0x5, 0xaa, 0xbf, 0x53, 0x27, 0xc9, 0x94, 0x25, 0xf7, 0xec, 0xa9, 0xfa, 0x1e, 0xb2, 0x6b, 0xea, 0x2b, 0xc7, 0x76, 0xd2, 0xfa, 0x3a, 0xb1, 0x3d, 0xb6, 0xd3, 0xbd, 0xe7, 0x49, 0x86, 0xc8, 0x25, 0x9, 0x6d, 0xa, 0xd0, 0x0, 0xa0, 0x1d, 0xed, 0x3e, 0xfb, 0x7f, 0x3f, 0x85, 0x5, 0x80, 0x4, 0x28, 0x52, 0x17, 0x5b, 0xb2, 0x65, 0x4a, 0x79, 0x98, 0x71, 0x8b, 0x24, 0xae, 0xb, 0xbf, 0x75, 0xc1, 0xba, 0xfc, 0x2f, 0xf2, 0x5, 0x38, 0x48, 0xaa, 0x21, 0x25, 0x8f, 0x4c, 0x8f, 0xc9, 0x54, 0xa, 0x2d, 0x92, 0xce, 0x8, 0x78, 0x47, 0x4c, 0x81, 0xd3, 0x29, 0xfb, 0xcb, 0xff, 0x22, 0x63, 0xad, 0xa7, 0xea, 0xe3, 0xf1, 0xf1, 0x88, 0xe9, 0x71, 0x3e, 0xe8, 0x26, 0x62, 0x72, 0x3c, 0x12, 0x62, 0x94, 0xc1, 0xf1, 0x88, 0xb, 0xa5, 0x59, 0x72, 0xac, 0x25, 0xc0, 0xf1, 0x84, 0x2a, 0xd, 0xf2, 0x38, 0x99, 0xa4, 0xc7, 0x35, 0xcd, 0xfc, 0xc5, 0xfd, 0xf1, 0x91, 0xfc, 0xbd, 0xfb, 0x73, 0xf7, 0xef, 0x7f, 0x61, 0x7c, 0x28, 0x3e, 0xfe, 0x85, 0x10, 0xcd, 0x74, 0x6, 0x1f, 0xc9, 0x4f, 0x3f, 0xfd, 0x85, 0x90, 0x7, 0x90, 0x8a, 0x9, 0xfe, 0x91, 0xfc, 0xdc, 0xfd, 0xb9, 0xfb, 0xb7, 0xbf, 0x4c, 0xa9, 0x1e, 0x2b, 0xf3, 0xce, 0x31, 0x9d, 0xb2, 0xe3, 0x87, 0xbf, 0x1d, 0x27, 0x59, 0x6e, 0xba, 0xe8, 0xf8, 0x6f, 0x9, 0x19, 0x81, 0xb6, 0x7f, 0x10, 0xa2, 0xe9, 0x48, 0xf9, 0xbf, 0x9, 0xe9, 0x90, 0xdf, 0x85, 0xbc, 0x1f, 0x66, 0xe2, 0xf1, 0x6, 0xe4, 0x3, 0x4b, 0xc0, 0x3d, 0x49, 0x41, 0x25, 0x92, 0x4d, 0x35, 0x76, 0xf3, 0x5, 0xf4, 0xa9, 0x6d, 0xb2, 0xc7, 0x87, 0x82, 0x48, 0xd0, 0xb9, 0xe4, 0x8a, 0x98, 0xe6, 0xe5, 0x84, 0x9a, 0x77, 0x8, 0x1d, 0x88, 0x5c, 0x13, 0xd, 0x93, 0xa9, 0x90, 0x34, 0x23, 0x6e, 0x4, 0xae, 0x31, 0x31, 0x35, 0x6b, 0xc7, 0x4, 0xef, 0xa5, 0xd5, 0xc6, 0xdc, 0x1b, 0x12, 0xd4, 0x54, 0x70, 0x5, 0xc1, 0xc8, 0x7e, 0xfa, 0x8f, 0x9f, 0x7f, 0xfe, 0xa9, 0xfc, 0xcf, 0xca, 0x90, 0x2e, 0x7f, 0xd, 0x9e, 0x24, 0x82, 0x6b, 0xe0, 0x3a, 0x7c, 0x99, 0x10, 0x3a, 0x9d, 0x66, 0x2c, 0xc1, 0x6e, 0x8f, 0xff, 0x50, 0x82, 0xc7, 0x4f, 0x9, 0x51, 0xc9, 0x18, 0x26, 0xb4, 0xfa, 0x2b, 0x21, 0xff, 0x8f, 0x84, 0xe1, 0x47, 0xf2, 0xee, 0x7f, 0x1d, 0x27, 0x62, 0x32, 0x15, 0x1c, 0xb8, 0x56, 0xc7, 0xf6, 0x5d, 0x75, 0x1c, 0x8f, 0xfd, 0xda, 0xd, 0xfa, 0xdd, 0x5f, 0xca, 0x21, 0xe, 0x69, 0x9e, 0xe9, 0xc6, 0x51, 0x9f, 0xd9, 0xe7, 0x4, 0xa4, 0x14, 0xb2, 0x98, 0xf4, 0x6b, 0xcc, 0xe4, 0x46, 0x53, 0x9d, 0xab, 0x77, 0x1, 0xd1, 0x70, 0x3a, 0x1, 0x35, 0xa5, 0x89, 0xdf, 0x83, 0xe7, 0x91, 0xcc, 0x57, 0xa6, 0xf4, 0x45, 0xd1, 0x62, 0x41, 0x32, 0x7a, 0xc, 0x31, 0xd9, 0xf0, 0xd4, 0xcc, 0x79, 0xc8, 0x46, 0xb9, 0xa5, 0x10, 0x32, 0x14, 0x92, 0xd0, 0x2c, 0x23, 0xe5, 0x70, 0xba, 0x75, 0x54, 0x14, 0xb7, 0xef, 0xde, 0x98, 0x52, 0x49, 0x27, 0xa0, 0x41, 0x46, 0xa3, 0x35, 0x2d, 0x7d, 0x24, 0x53, 0x3a, 0x82, 0x1b, 0xf6, 0xdf, 0xe1, 0x62, 0x33, 0xfe, 0x91, 0xfc, 0x3b, 0x7, 0x39, 0xfb, 0xcb, 0xe2, 0xb5, 0xd4, 0xb3, 0x29, 0x7c, 0x24, 0x8c, 0x6b, 0x18, 0x15, 0x24, 0x6d, 0xff, 0xd9, 0x89, 0xe0, 0xb3, 0xbf, 0xff, 0xc7, 0x5c, 0x97, 0x1c, 0x7e, 0xe8, 0x2b, 0x3a, 0x82, 0x5b, 0x71, 0xf, 0xfc, 0xc9, 0xfd, 0x2a, 0x2d, 0x19, 0x1f, 0xd5, 0x76, 0x3b, 0x98, 0xe9, 0x62, 0xee, 0x41, 0xb7, 0x7e, 0x59, 0x3e, 0xb3, 0x4c, 0x83, 0xec, 0x32, 0x9e, 0x64, 0x79, 0xa, 0x67, 0x90, 0x81, 0x86, 0x74, 0xc9, 0x38, 0xa2, 0x4d, 0xfc, 0xff, 0x3a, 0x51, 0xb7, 0x9f, 0x66, 0x9e, 0xc0, 0x83, 0xdd, 0x21, 0x8c, 0x93, 0x8b, 0x93, 0x6f, 0xe7, 0x37, 0x57, 0x27, 0xa7, 0xe7, 0xfd, 0x9b, 0xdb, 0x93, 0xdb, 0xf3, 0xfe, 0xd9, 0xf9, 0xd7, 0xf3, 0xdb, 0xf3, 0x33, 0xa2, 0x34, 0xd5, 0x40, 0xa8, 0x4, 0xc2, 0x85, 0x26, 0x6e, 0x1c, 0x69, 0x37, 0x26, 0xd4, 0x1b, 0xd0, 0x9a, 0xf1, 0x91, 0x7f, 0xdc, 0x4f, 0xed, 0x38, 0x89, 0x16, 0x44, 0xcb, 0x1c, 0xc8, 0x23, 0xcb, 0x32, 0xff, 0x90, 0xf8, 0x87, 0xf3, 0xd4, 0xe1, 0xfe, 0x5d, 0x8, 0xd, 0x1f, 0x49, 0x41, 0x19, 0x84, 0xad, 0x30, 0xc0, 0xc7, 0x31, 0x70, 0xc2, 0x34, 0x79, 0xa4, 0xaa, 0xe8, 0x60, 0x28, 0xc5, 0x4, 0xa9, 0x55, 0xcd, 0x94, 0x86, 0x9, 0x19, 0xe4, 0x9a, 0x50, 0xa5, 0x44, 0xc2, 0x90, 0x9, 0xa4, 0x54, 0x53, 0xd3, 0xb6, 0x99, 0x97, 0xff, 0x64, 0x6, 0xba, 0xbb, 0xd2, 0x8e, 0xe, 0x84, 0xc8, 0x80, 0xf2, 0xb7, 0x5, 0x7d, 0xf1, 0x81, 0x6b, 0x7, 0xf4, 0x11, 0x32, 0x15, 0xea, 0x39, 0x28, 0x17, 0x1c, 0x90, 0x6b, 0x18, 0x31, 0xc3, 0x18, 0x4a, 0xd2, 0x4b, 0x24, 0x50, 0xd, 0x8a, 0x50, 0xc2, 0xe1, 0xb1, 0xa4, 0x58, 0xf2, 0x38, 0x66, 0xc9, 0x98, 0x24, 0x94, 0x93, 0x1, 0x90, 0x5c, 0x41, 0x4a, 0xa8, 0x79, 0xc9, 0xcc, 0x9f, 0x32, 0xe, 0xb2, 0x80, 0x40, 0x9, 0x4a, 0xe4, 0x12, 0x69, 0xbc, 0x9c, 0xe0, 0x49, 0x4c, 0xdc, 0x94, 0x68, 0x31, 0x25, 0x19, 0x3c, 0x40, 0x46, 0x80, 0x6b, 0xa6, 0x67, 0x28, 0xa0, 0x30, 0x4e, 0x6e, 0x1d, 0x2f, 0x3e, 0x42, 0x90, 0x65, 0xaa, 0xb1, 0xab, 0xa2, 0x9b, 0xb2, 0x93, 0x8c, 0xdd, 0x3, 0x79, 0x74, 0xf3, 0x27, 0xf0, 0x3, 0x92, 0xdc, 0x4c, 0x58, 0x1d, 0x11, 0x4d, 0xd5, 0xbd, 0x1, 0x8d, 0x1c, 0xd4, 0x11, 0x1, 0x9d, 0x74, 0xa3, 0x1, 0xd1, 0x44, 0x2b, 0xdb, 0x85, 0xa2, 0x3c, 0x1d, 0x88, 0x1f, 0xd8, 0xf7, 0x54, 0x8a, 0x7, 0x96, 0x86, 0xed, 0x33, 0x25, 0xb2, 0x18, 0xee, 0x8b, 0x41, 0xf8, 0xe1, 0x9b, 0xb3, 0x57, 0xac, 0x59, 0x97, 0x9c, 0x44, 0xef, 0xc, 0x20, 0x13, 0x7c, 0xa4, 0xc, 0x46, 0xc0, 0xf, 0x9a, 0xe8, 0x6c, 0x46, 0x4, 0xf, 0x88, 0xa9, 0xfc, 0xb0, 0x8e, 0x77, 0xcc, 0x6d, 0x55, 0x71, 0x12, 0xff, 0x9d, 0x83, 0xd2, 0x9f, 0x44, 0x3a, 0x2b, 0xe9, 0xa0, 0x86, 0x2c, 0x17, 0x13, 0x65, 0x3d, 0x49, 0x2e, 0x22, 0xc8, 0xb9, 0xf1, 0x5c, 0xdb, 0x81, 0x94, 0x87, 0xcb, 0x8c, 0x8c, 0x49, 0x48, 0x3f, 0x22, 0x24, 0xbe, 0x2d, 0xe0, 0xa8, 0x99, 0x5d, 0x1b, 0xb0, 0x63, 0x5e, 0x6c, 0x3a, 0xfe, 0xb3, 0xf8, 0xfb, 0x7f, 0x36, 0x21, 0x42, 0x9d, 0xe1, 0x7f, 0xc, 0xa0, 0x3c, 0x5e, 0x6b, 0x4a, 0x51, 0x44, 0xba, 0xa5, 0xf, 0x19, 0x66, 0xed, 0x89, 0x98, 0xeb, 0x6a, 0x5, 0x81, 0x8a, 0x57, 0xde, 0x25, 0x4e, 0xa2, 0x30, 0xda, 0x48, 0xf0, 0x53, 0x2d, 0xe9, 0x36, 0x2d, 0x7f, 0xad, 0xc4, 0xe3, 0x3b, 0x64, 0xcb, 0x64, 0x97, 0xb5, 0x5b, 0x7c, 0x4, 0x7a, 0x7f, 0x2a, 0xb8, 0x32, 0x8b, 0xc4, 0x93, 0xd9, 0x33, 0x44, 0xa3, 0xde, 0x10, 0xa7, 0x77, 0x64, 0x45, 0x6, 0x90, 0xf, 0x20, 0xc9, 0x84, 0xce, 0xec, 0x9f, 0xf8, 0xa3, 0xa7, 0x5a, 0x2b, 0x59, 0x50, 0x4e, 0xe0, 0x1, 0xb8, 0xce, 0x69, 0x96, 0xcd, 0x3a, 0x89, 0x1f, 0x83, 0x8e, 0x89, 0xd1, 0xc2, 0x1d, 0x61, 0x5c, 0x69, 0xa0, 0x29, 0x11, 0x43, 0x22, 0x81, 0xa6, 0x46, 0x58, 0xd2, 0x63, 0x29, 0xf2, 0xd1, 0xd8, 0x0, 0xe0, 0xd4, 0x28, 0x83, 0x38, 0x1, 0xe8, 0xfa, 0x93, 0x82, 0xc8, 0x38, 0xa4, 0x99, 0x82, 0xa3, 0xb8, 0x45, 0xcb, 0x7b, 0xa6, 0x12, 0x70, 0x60, 0xa, 0xdb, 0xeb, 0xd0, 0xa1, 0x51, 0x16, 0x1f, 0x25, 0xd3, 0x40, 0x92, 0x72, 0x39, 0xba, 0xe4, 0xe6, 0xec, 0x57, 0x45, 0xd4, 0x58, 0xe4, 0x59, 0x4a, 0x14, 0x68, 0xa2, 0xc7, 0x4c, 0xa1, 0xb4, 0x14, 0x37, 0x3a, 0x4, 0x9d, 0x8c, 0xcd, 0xa8, 0x4a, 0x1e, 0x97, 0xd0, 0x29, 0x1d, 0xb0, 0x8c, 0x69, 0x6, 0x8a, 0x8, 0x8e, 0xbc, 0xc4, 0xe8, 0xbc, 0x19, 0x3, 0xae, 0x8d, 0xd8, 0x25, 0x75, 0x3e, 0x6d, 0xb1, 0xb4, 0x34, 0x77, 0xa0, 0xf6, 0x1, 0xf4, 0x8e, 0x69, 0xa2, 0xd9, 0x3, 0xee, 0xf9, 0xa6, 0x54, 0xc8, 0x13, 0xdb, 0xe2, 0xec, 0xbc, 0x10, 0x41, 0xac, 0xd0, 0xf3, 0xc0, 0x14, 0x43, 0xfa, 0x9a, 0x91, 0x93, 0xab, 0x9e, 0xa1, 0xf6, 0x8c, 0x29, 0x4d, 0xdc, 0x0, 0x66, 0x81, 0xc8, 0x62, 0xc4, 0x7f, 0x4a, 0xd4, 0x14, 0x12, 0x36, 0x64, 0xc9, 0x12, 0x1c, 0xac, 0xef, 0x72, 0x17, 0xc1, 0x70, 0x45, 0x75, 0x36, 0x5a, 0xd0, 0x6f, 0xf4, 0x7, 0xe1, 0xf9, 0x64, 0x0, 0xd2, 0x40, 0x49, 0xb0, 0x44, 0xda, 0xdb, 0x74, 0xc, 0x98, 0x60, 0xd3, 0xab, 0x1d, 0xcd, 0xed, 0xaa, 0xc4, 0xd1, 0xd8, 0xf1, 0x3, 0x37, 0x4a, 0x48, 0xcd, 0xa6, 0xd6, 0xef, 0x95, 0x3f, 0x67, 0xab, 0x4d, 0x60, 0x6d, 0xdd, 0xba, 0x3a, 0xc6, 0xa5, 0xe3, 0xfe, 0xad, 0x24, 0x54, 0x7c, 0xef, 0x88, 0x28, 0x80, 0xc2, 0x52, 0x98, 0x8a, 0x44, 0x75, 0xbd, 0xd1, 0xac, 0xcb, 0xc4, 0xb1, 0xa1, 0xe2, 0xce, 0x10, 0xf5, 0x76, 0xe4, 0xe1, 0x56, 0x3, 0xe5, 0x9a, 0xfe, 0x78, 0xc2, 0x84, 0xde, 0x8, 0x56, 0x2e, 0xde, 0xc8, 0x3d, 0x1, 0xcc, 0x4e, 0xa, 0x53, 0x9, 0x9, 0xd5, 0x90, 0x1e, 0x4f, 0x69, 0xae, 0xe0, 0xe3, 0x86, 0xf5, 0xd3, 0x2b, 0xd3, 0xa8, 0x5f, 0x66, 0x82, 0x5d, 0x58, 0x41, 0xb2, 0xc0, 0x1, 0x3, 0xa, 0x94, 0x97, 0x18, 0xea, 0x30, 0x13, 0x52, 0x32, 0x98, 0x11, 0xa6, 0x15, 0xe9, 0x9d, 0x11, 0x43, 0x92, 0xb3, 0x69, 0x78, 0xba, 0x8c, 0xe4, 0x33, 0x6, 0x69, 0xcd, 0x3c, 0x93, 0x3c, 0xd3, 0x6c, 0x9a, 0x1, 0x99, 0x2, 0x47, 0x39, 0xa5, 0x9c, 0xa0, 0x69, 0xdd, 0x74, 0xe7, 0x94, 0xc1, 0x14, 0xdb, 0x21, 0x1d, 0x54, 0xfe, 0xec, 0xa3, 0x89, 0x35, 0xf5, 0xc, 0xc0, 0x8e, 0x2e, 0xd, 0x94, 0x5e, 0x33, 0x78, 0x6c, 0x2e, 0x18, 0xde, 0x4, 0x28, 0xf, 0xd6, 0x83, 0x74, 0xdc, 0x50, 0xca, 0x37, 0x98, 0x22, 0x49, 0x2e, 0x25, 0x70, 0xa3, 0x1f, 0x3e, 0x52, 0x86, 0x66, 0x26, 0x2f, 0x19, 0x6b, 0x39, 0x33, 0xb3, 0x61, 0x8a, 0xc8, 0x9c, 0x73, 0xdb, 0x78, 0x4a, 0x54, 0x3e, 0x50, 0x46, 0xf9, 0xc2, 0x4f, 0x86, 0x94, 0x65, 0x2a, 0x12, 0xa0, 0x98, 0xb6, 0x63, 0xe4, 0x42, 0x9b, 0x71, 0x4a, 0x30, 0x3b, 0x9e, 0xe6, 0x19, 0xa4, 0x24, 0xe7, 0x9a, 0x65, 0xe6, 0x5, 0xa3, 0x69, 0x73, 0x3b, 0x83, 0xee, 0x92, 0xd1, 0xd1, 0xcc, 0xc8, 0x5f, 0x6e, 0x37, 0xd2, 0x23, 0x92, 0xd0, 0x2c, 0xb3, 0xd2, 0x1d, 0x53, 0x64, 0x2, 0x7a, 0x2c, 0x52, 0xdb, 0xdf, 0x98, 0x3e, 0x0, 0xe1, 0x82, 0xc0, 0x70, 0x8, 0x89, 0x5e, 0xd6, 0x6c, 0x38, 0xa1, 0x21, 0xe3, 0x4c, 0x8d, 0x41, 0x11, 0x95, 0x27, 0x9, 0x28, 0x35, 0xcc, 0xb3, 0x6c, 0x76, 0x14, 0x7f, 0xe2, 0x97, 0xdd, 0x50, 0x32, 0x9a, 0xb2, 0x9e, 0xd4, 0x1, 0xde, 0x8b, 0x98, 0x25, 0xcb, 0x25, 0x44, 0xc7, 0xe5, 0xaf, 0x84, 0x79, 0x1a, 0x41, 0x8b, 0x99, 0x5b, 0xfc, 0xc, 0x86, 0x9a, 0x74, 0x56, 0x1f, 0x49, 0xd4, 0x10, 0x12, 0x9b, 0x90, 0xa8, 0x12, 0x49, 0x43, 0x5d, 0x8b, 0x5a, 0x9b, 0xdb, 0x8c, 0xcf, 0x42, 0x92, 0x4c, 0xf0, 0x51, 0xa7, 0x98, 0x48, 0x45, 0x70, 0x71, 0x53, 0xf, 0xa8, 0x97, 0x71, 0xd7, 0x8c, 0xb7, 0x19, 0x9a, 0xb6, 0x15, 0xf0, 0x94, 0x50, 0x92, 0x50, 0x9e, 0x40, 0xe6, 0xc, 0x1a, 0xb8, 0xc, 0x3f, 0xf9, 0x31, 0xf4, 0xed, 0x47, 0x3f, 0x59, 0xf1, 0x59, 0x90, 0x77, 0x86, 0xef, 0xbf, 0x33, 0xad, 0x15, 0xfa, 0x80, 0xf9, 0xf5, 0x1a, 0x12, 0x21, 0x53, 0x7f, 0x3a, 0x6f, 0xa9, 0xba, 0xff, 0x5, 0xa8, 0xd4, 0x3, 0xa0, 0xfa, 0x5d, 0xb4, 0x19, 0xb7, 0xe1, 0xfc, 0x9c, 0x64, 0x6e, 0x5b, 0xb2, 0x6, 0xd3, 0x31, 0xc4, 0xa3, 0xa1, 0x89, 0x69, 0x98, 0xf1, 0x51, 0x36, 0xb, 0x8d, 0x48, 0xd7, 0x4e, 0x91, 0xa4, 0xe4, 0xee, 0x42, 0xe8, 0xcf, 0x22, 0xe7, 0xe9, 0x9d, 0xc3, 0xcd, 0xca, 0x5e, 0x55, 0xe, 0xb2, 0xb5, 0x2e, 0xc5, 0x7, 0xb9, 0x84, 0x85, 0xb2, 0x83, 0x5b, 0x43, 0xc1, 0x46, 0x32, 0xf3, 0x7b, 0x50, 0xc2, 0x1b, 0x51, 0xc2, 0xa9, 0xac, 0x12, 0xa6, 0x19, 0x4d, 0xfc, 0x95, 0x1a, 0x9a, 0xc9, 0x40, 0xc6, 0x40, 0x55, 0xf0, 0x3, 0xa2, 0xc7, 0x14, 0xcf, 0xd6, 0x0, 0xb4, 0x61, 0x8e, 0x6, 0x44, 0x53, 0xd3, 0x4a, 0xd9, 0xa7, 0xd2, 0x32, 0x4f, 0x74, 0x2e, 0xad, 0xed, 0xd8, 0x68, 0x1c, 0xe4, 0x11, 0xb2, 0xc, 0x4f, 0xbc, 0xd2, 0x94, 0xa7, 0x34, 0x13, 0x1c, 0x82, 0x4d, 0xad, 0x15, 0x1, 0xa3, 0xee, 0x37, 0x27, 0xf9, 0x45, 0xb0, 0x5c, 0x6a, 0xf4, 0xe, 0x14, 0xb, 0x53, 0x9b, 0xd5, 0xcf, 0x4a, 0x54, 0x41, 0x24, 0xf0, 0x6b, 0xdf, 0xdd, 0xa0, 0x24, 0xf9, 0x5a, 0xb6, 0xae, 0x68, 0x79, 0x5b, 0x65, 0xe7, 0xaa, 0xcc, 0x6c, 0x6f, 0xa5, 0x17, 0x9, 0xca, 0xab, 0x7d, 0x9b, 0xb4, 0xae, 0x2b, 0x28, 0x84, 0x44, 0x82, 0x5d, 0xec, 0xac, 0xf4, 0x82, 0xa3, 0x8b, 0xd1, 0x56, 0xb9, 0x3b, 0xae, 0x45, 0xf2, 0xcb, 0x5f, 0x3, 0xdd, 0x8c, 0x6a, 0xa3, 0x14, 0x68, 0x15, 0xb7, 0x69, 0x60, 0xed, 0xe7, 0x6e, 0xf8, 0x45, 0xd1, 0x98, 0x66, 0x13, 0x10, 0x79, 0xf5, 0x83, 0xe8, 0x5d, 0x36, 0xcf, 0xc7, 0x43, 0x99, 0x8, 0x99, 0xb2, 0xbb, 0x2b, 0xd0, 0xfe, 0x6a, 0xcb, 0xb1, 0x3c, 0x21, 0xc9, 0xbb, 0x7b, 0x80, 0xa9, 0xe3, 0x66, 0xef, 0x8a, 0xc7, 0x6e, 0x35, 0x62, 0xfa, 0xf2, 0x42, 0xd2, 0x0, 0x2, 0x20, 0x63, 0x93, 0x9, 0xa4, 0x8c, 0x6a, 0xc8, 0x66, 0xe4, 0xfd, 0x5f, 0x51, 0x9, 0x7a, 0xf7, 0x7, 0x33, 0x50, 0xfe, 0x8e, 0xc, 0x33, 0x3a, 0xfa, 0x70, 0x14, 0x2c, 0xd8, 0xe7, 0xc, 0x89, 0xa5, 0xfc, 0xc1, 0xbf, 0xfa, 0xb1, 0x9e, 0xc1, 0x97, 0xdd, 0x50, 0x6d, 0x84, 0x3b, 0xca, 0x53, 0x31, 0xc1, 0x35, 0x9, 0x6f, 0x13, 0x6c, 0x1b, 0x24, 0x75, 0x36, 0xd2, 0x39, 0x2a, 0x28, 0xdb, 0x2d, 0xa5, 0x46, 0xb7, 0x0, 0xc1, 0x94, 0xbc, 0x6c, 0x77, 0x44, 0x72, 0x9e, 0x81, 0x52, 0x95, 0x95, 0x31, 0x73, 0x31, 0xcb, 0xe3, 0x97, 0x26, 0xe8, 0xe5, 0x1d, 0xee, 0x49, 0x7f, 0xec, 0x39, 0xbb, 0xaa, 0x4e, 0xa7, 0x78, 0x82, 0x43, 0x97, 0xb8, 0x17, 0xe5, 0xdb, 0x8d, 0x5b, 0x1b, 0xd, 0xe0, 0x63, 0xdd, 0x3e, 0xfb, 0x11, 0xfb, 0x69, 0x48, 0x98, 0xd0, 0x42, 0xa0, 0x79, 0x1, 0xb9, 0xa0, 0xbb, 0x11, 0xc1, 0x20, 0xc2, 0x80, 0x97, 0x17, 0xc, 0xa2, 0xee, 0xf, 0x82, 0xc1, 0xe6, 0x2f, 0xc1, 0x82, 0xe5, 0x6d, 0x95, 0x60, 0x50, 0x99, 0xd9, 0xde, 0xa, 0x6, 0xe, 0x39, 0x37, 0x2d, 0x1a, 0x7c, 0xb7, 0xcd, 0x16, 0xc2, 0x81, 0xeb, 0x66, 0x67, 0xc5, 0x83, 0xd2, 0x38, 0x10, 0xf5, 0x13, 0xe2, 0x75, 0xc9, 0x7a, 0x8f, 0xec, 0x41, 0x4f, 0x4c, 0x43, 0x8b, 0x2d, 0x1, 0x55, 0x1e, 0xf6, 0x48, 0x3d, 0xee, 0x1b, 0xec, 0xc8, 0xa0, 0x8e, 0xd9, 0x3f, 0x8d, 0x53, 0x7, 0x9d, 0x5e, 0xf2, 0x4, 0xe6, 0xb8, 0x4d, 0xc9, 0x21, 0xcd, 0xa8, 0x9d, 0x64, 0x62, 0x59, 0x5a, 0xc8, 0xc4, 0x46, 0xde, 0xa3, 0xb2, 0x3b, 0xcf, 0xf9, 0x8b, 0xff, 0xde, 0x32, 0xe3, 0x77, 0x2c, 0xd9, 0x8b, 0x5b, 0xae, 0x9b, 0x65, 0x72, 0xd8, 0x2, 0x9e, 0xfe, 0x3c, 0x96, 0xfe, 0x36, 0x14, 0xf4, 0xca, 0x81, 0x7b, 0x79, 0x4e, 0x5c, 0x19, 0xc0, 0x81, 0x17, 0x6f, 0x9a, 0x17, 0x57, 0x16, 0xb8, 0x55, 0xdc, 0x78, 0x6e, 0x6e, 0xfb, 0xcb, 0x8f, 0xa7, 0x29, 0xd5, 0xd0, 0x11, 0x38, 0x2f, 0xb5, 0x71, 0xb6, 0x8c, 0xad, 0xfb, 0x65, 0xbe, 0x9c, 0x16, 0x97, 0xb7, 0x86, 0x97, 0x59, 0xb6, 0x8b, 0xd6, 0x4a, 0xeb, 0x11, 0xa0, 0x5, 0xb1, 0xc3, 0xc1, 0x1f, 0xdd, 0x90, 0xaa, 0x3c, 0xfb, 0xc5, 0x39, 0x35, 0x8e, 0x28, 0xdd, 0x8c, 0xf6, 0x12, 0xaf, 0x47, 0x1, 0x9a, 0x7e, 0x61, 0x5e, 0xc, 0x3b, 0xeb, 0xb6, 0x65, 0xb7, 0x10, 0xb4, 0xd, 0x0, 0x5a, 0xb7, 0xca, 0xed, 0x82, 0xd1, 0xfa, 0x19, 0xee, 0x15, 0x98, 0x1e, 0xff, 0xe9, 0x49, 0xb6, 0x97, 0x6e, 0xc4, 0xe3, 0x2f, 0x80, 0x4f, 0xef, 0x40, 0x34, 0x2f, 0x65, 0x35, 0x47, 0xdf, 0x84, 0x58, 0x59, 0x28, 0x3e, 0x21, 0x46, 0xea, 0xc8, 0xeb, 0x58, 0x8b, 0xe8, 0xb2, 0xeb, 0xb, 0x68, 0x6f, 0xf8, 0xa, 0xc4, 0x79, 0x3e, 0x14, 0x88, 0x63, 0xa6, 0x7d, 0xa7, 0x41, 0x84, 0x1f, 0x7d, 0x15, 0x7c, 0xd4, 0x99, 0xa, 0x7, 0x43, 0x1c, 0x7e, 0x68, 0x77, 0x3f, 0x96, 0x8c, 0x29, 0x1f, 0x81, 0xc3, 0x43, 0x74, 0x2d, 0xe1, 0xf0, 0x18, 0xb7, 0x1b, 0x19, 0x48, 0xed, 0x5d, 0x98, 0x19, 0x9e, 0x5, 0x7f, 0x9a, 0x65, 0xb3, 0xc2, 0xeb, 0x3f, 0xf8, 0x6c, 0x9a, 0x6b, 0x83, 0xfe, 0x22, 0xd7, 0x89, 0x98, 0x0, 0x79, 0x5f, 0xb5, 0x76, 0x8d, 0xa9, 0x2a, 0x6f, 0xf, 0x3f, 0x2c, 0x74, 0x76, 0x9c, 0x5b, 0xda, 0xcd, 0xc1, 0xe0, 0xe6, 0xfc, 0x7c, 0x4a, 0xa, 0x7b, 0xa9, 0x1e, 0x65, 0xce, 0xe7, 0x3a, 0x5b, 0xe8, 0xe2, 0x52, 0x9a, 0xe5, 0x73, 0x4e, 0x7a, 0x67, 0x5d, 0xc3, 0x8b, 0x8d, 0xd6, 0x34, 0x73, 0x7e, 0x8f, 0x88, 0x7a, 0x44, 0x53, 0x39, 0xf2, 0x46, 0xfb, 0x8c, 0x6a, 0xf3, 0x93, 0xcc, 0xf9, 0x93, 0xdc, 0x74, 0xa, 0x87, 0x50, 0x4b, 0x1e, 0x3d, 0x43, 0x14, 0xeb, 0xc, 0xb8, 0xe7, 0xc8, 0xca, 0xba, 0xd1, 0x1a, 0x8a, 0x1a, 0x32, 0xc8, 0xd0, 0xa9, 0x28, 0xf4, 0xd4, 0x7c, 0x8a, 0x7b, 0xe2, 0xdc, 0xe0, 0x2e, 0x2d, 0xa1, 0x3e, 0x75, 0x78, 0x5, 0x9d, 0x4b, 0x50, 0x79, 0xa6, 0x8f, 0xdd, 0xfd, 0xfa, 0x87, 0xea, 0x58, 0xe7, 0xac, 0xbe, 0xd1, 0x39, 0x78, 0xde, 0x4c, 0x32, 0xc1, 0x47, 0x57, 0x22, 0xcb, 0xd6, 0xf6, 0xd9, 0xaa, 0xf8, 0xc8, 0x5a, 0x17, 0x2e, 0xeb, 0xfe, 0x4a, 0xa6, 0x12, 0x1e, 0x98, 0xc8, 0x55, 0xf3, 0x69, 0x2c, 0x3c, 0xb9, 0xc, 0x3d, 0xa1, 0xc7, 0x2a, 0xd7, 0x47, 0xf6, 0xda, 0x1e, 0x1, 0xc7, 0x3a, 0x5c, 0xd4, 0x8, 0xd, 0x28, 0x2b, 0x95, 0x18, 0xa4, 0x82, 0x58, 0x1e, 0xfc, 0x19, 0x78, 0x22, 0x52, 0x70, 0xdb, 0xcd, 0x14, 0xd1, 0x66, 0x5c, 0xd8, 0xb, 0x1d, 0xd8, 0x4e, 0x1c, 0x62, 0x79, 0x34, 0xb4, 0x9f, 0x5, 0x76, 0x91, 0x4a, 0xcc, 0x51, 0x38, 0x3e, 0x99, 0xf3, 0x3e, 0x4b, 0xc9, 0x24, 0x57, 0x9a, 0xd0, 0x4c, 0x9, 0xf4, 0x3f, 0xb0, 0xf, 0x6b, 0x22, 0x95, 0xac, 0xd8, 0x57, 0x1a, 0xa5, 0xb0, 0xa3, 0x9, 0x9d, 0x79, 0xf8, 0x2c, 0x4, 0x59, 0xcd, 0x26, 0x18, 0xf6, 0xa0, 0x1f, 0x1, 0xdd, 0xe0, 0xf0, 0x4c, 0xa9, 0x23, 0x2b, 0xf3, 0xe, 0x85, 0x84, 0xf2, 0xd2, 0x26, 0xee, 0x65, 0x94, 0x53, 0x49, 0xb9, 0x6, 0x14, 0xb2, 0xd0, 0x48, 0xe2, 0x24, 0xee, 0x9, 0xbd, 0x47, 0xc9, 0x98, 0x58, 0x7f, 0x17, 0x2b, 0xa4, 0x95, 0xab, 0xeb, 0xbb, 0xf0, 0x8e, 0xe, 0x80, 0x61, 0x23, 0x96, 0x9e, 0x2a, 0x6b, 0x1d, 0x7c, 0x1f, 0xad, 0xfb, 0x46, 0x5d, 0xf0, 0xde, 0x88, 0x58, 0xb4, 0x94, 0x9a, 0xdf, 0xb6, 0x68, 0xb4, 0x49, 0x5, 0xf1, 0x46, 0x53, 0x59, 0x73, 0x9d, 0x83, 0xbe, 0xe1, 0x3e, 0x68, 0xaa, 0x4e, 0x9c, 0x9, 0xc5, 0x6, 0x67, 0x24, 0xe3, 0xe4, 0x6e, 0xae, 0xa1, 0x13, 0xeb, 0x5b, 0x85, 0xbd, 0x40, 0x68, 0x3c, 0xa3, 0x1c, 0x1d, 0xea, 0xa9, 0x21, 0x59, 0xef, 0x80, 0x5, 0x3f, 0x98, 0xa5, 0x75, 0x3d, 0x26, 0x8a, 0x4e, 0x2, 0x1c, 0xed, 0x9d, 0x15, 0x38, 0x51, 0xc3, 0xfb, 0xdd, 0x15, 0xe0, 0x14, 0xe4, 0x84, 0x69, 0x5d, 0x6a, 0xb5, 0xa5, 0x75, 0xb9, 0x77, 0x86, 0x91, 0x19, 0x19, 0x4b, 0x34, 0x99, 0x8a, 0x8c, 0x25, 0xb3, 0x5a, 0x99, 0xa4, 0x7e, 0x31, 0xde, 0xb2, 0x40, 0xb2, 0x30, 0x5a, 0x22, 0x5, 0xae, 0xcd, 0xfa, 0x78, 0x27, 0xd7, 0xd0, 0x7e, 0x46, 0xae, 0xdd, 0x58, 0xbb, 0x56, 0xdd, 0x66, 0xe5, 0xcb, 0xce, 0xe1, 0x69, 0x0, 0x78, 0x79, 0xce, 0xf8, 0x68, 0x98, 0x67, 0x9e, 0x13, 0xe6, 0xa, 0xe4, 0x3b, 0x15, 0xd3, 0xb5, 0x78, 0xe4, 0x2e, 0x7e, 0xb3, 0x6b, 0x84, 0x5f, 0x4, 0x65, 0xb4, 0xc0, 0xb3, 0x7f, 0xe7, 0x40, 0xe8, 0x44, 0xc4, 0xa6, 0x1, 0xd7, 0x12, 0x12, 0x40, 0xb1, 0xae, 0x47, 0x44, 0xe5, 0x83, 0x3f, 0x20, 0xd1, 0xde, 0xbf, 0x4a, 0xe6, 0x19, 0x54, 0xfa, 0x61, 0x93, 0xa9, 0x50, 0xee, 0x2a, 0x21, 0xed, 0x4b, 0xc8, 0x15, 0xf4, 0xed, 0x66, 0xdb, 0xfb, 0xf4, 0xb4, 0xef, 0x69, 0xa0, 0x1f, 0xd3, 0xc0, 0x26, 0xb6, 0xe6, 0xb5, 0x74, 0xdc, 0x7a, 0x92, 0x6d, 0x95, 0x92, 0xdb, 0x34, 0xc5, 0x36, 0x40, 0xf9, 0xd3, 0xb4, 0xdc, 0x63, 0xeb, 0x5d, 0xb8, 0x79, 0xf7, 0x1e, 0xa4, 0x9a, 0x53, 0x6c, 0xbc, 0x4e, 0xe5, 0x75, 0xc2, 0x48, 0xe4, 0xdb, 0x58, 0xb1, 0xe, 0xd6, 0xb2, 0x88, 0xd3, 0xf0, 0x3, 0x66, 0x44, 0x62, 0x7, 0xbb, 0xf, 0xf0, 0x31, 0xb8, 0x5a, 0x93, 0xe8, 0x7f, 0xa9, 0x42, 0x85, 0xe5, 0x8, 0x43, 0xbe, 0x23, 0x99, 0x1a, 0xf1, 0x23, 0x5, 0x6d, 0xc0, 0x20, 0x32, 0xcd, 0xd1, 0xe4, 0x9e, 0x8b, 0xc7, 0xc, 0xd2, 0x11, 0xca, 0x61, 0xde, 0x71, 0xbf, 0xf4, 0xce, 0x11, 0x44, 0x2, 0x4d, 0xc6, 0xe4, 0xf4, 0xe4, 0xe2, 0xf4, 0xfc, 0xab, 0xb, 0x3c, 0xcf, 0x55, 0x17, 0xfd, 0x39, 0xa3, 0x49, 0x29, 0x36, 0xe2, 0x34, 0x23, 0x2c, 0x40, 0x98, 0x14, 0x32, 0xf6, 0x80, 0x41, 0x7c, 0xf, 0x8c, 0x92, 0x3b, 0xfb, 0x7a, 0xdf, 0xd, 0xd3, 0xb0, 0x36, 0x87, 0x5b, 0xe5, 0x5d, 0x93, 0xa7, 0xb0, 0xff, 0x74, 0x11, 0x5c, 0xb9, 0x1c, 0x52, 0xbc, 0xa8, 0x63, 0xca, 0xb4, 0x51, 0x36, 0x9d, 0x51, 0x3e, 0xca, 0xe9, 0x8, 0x3a, 0x2c, 0x65, 0x62, 0x42, 0x35, 0x4b, 0xc8, 0x4, 0x8c, 0xf8, 0xc6, 0xd4, 0x44, 0x91, 0xf7, 0x48, 0x96, 0x3f, 0x74, 0x34, 0xc2, 0x23, 0x2, 0x3f, 0x12, 0x98, 0xba, 0x70, 0x60, 0x3a, 0x10, 0x52, 0xbb, 0x41, 0xab, 0x7a, 0x75, 0x7b, 0xf1, 0xde, 0xbe, 0x65, 0x16, 0xf7, 0x56, 0x91, 0x7b, 0xf1, 0x8e, 0xb4, 0xa, 0xc1, 0x97, 0x4d, 0x75, 0x9f, 0x91, 0xdc, 0x69, 0x73, 0x9b, 0xc6, 0xf2, 0x1b, 0x0, 0x72, 0x67, 0x57, 0x36, 0xf2, 0x68, 0x3f, 0xf5, 0xd6, 0x88, 0x3b, 0x27, 0xd8, 0xb9, 0x2c, 0x46, 0x84, 0x66, 0x99, 0x78, 0x54, 0x4e, 0x2f, 0x75, 0xc1, 0x68, 0x6, 0x8e, 0xbd, 0xbe, 0x89, 0xf7, 0x23, 0x83, 0x40, 0xc3, 0x2f, 0x26, 0x77, 0x5c, 0x5c, 0x28, 0xb0, 0xf4, 0xb8, 0x34, 0x12, 0xa6, 0x61, 0xc4, 0x2c, 0x26, 0x2c, 0xb0, 0x2a, 0x7e, 0xc0, 0x17, 0xde, 0x77, 0x3a, 0x84, 0x4e, 0x59, 0x27, 0x63, 0x5c, 0x83, 0xfc, 0x48, 0x12, 0x21, 0xe1, 0xe3, 0xc7, 0x9f, 0xff, 0xf6, 0xf7, 0xff, 0xfd, 0xf1, 0xe3, 0x54, 0xc2, 0x54, 0x28, 0x86, 0xfd, 0xfe, 0x23, 0x65, 0x8a, 0xe, 0xb2, 0x28, 0x6d, 0x8a, 0xd9, 0x50, 0x36, 0xed, 0xa6, 0xf0, 0x70, 0xcc, 0x85, 0xee, 0x4c, 0x25, 0x24, 0x60, 0x64, 0xd4, 0x8f, 0xe4, 0xa7, 0x4f, 0xb3, 0x9f, 0x8a, 0x4c, 0xb, 0x5a, 0x10, 0xc6, 0x53, 0xb3, 0xed, 0x81, 0x11, 0x6c, 0x36, 0x85, 0x2e, 0xe9, 0x74, 0x3e, 0xd4, 0x3, 0x65, 0xf3, 0x9a, 0x7d, 0x2a, 0xc1, 0xa8, 0x7d, 0xb7, 0x34, 0xcf, 0x54, 0x2e, 0x7a, 0xa9, 0x1f, 0x79, 0xc8, 0x70, 0x6b, 0x8c, 0x15, 0x6f, 0x17, 0xaf, 0x17, 0x13, 0x46, 0xcb, 0x10, 0x7b, 0xd9, 0x64, 0xf7, 0x18, 0xb3, 0x87, 0x94, 0x6d, 0x5c, 0xf6, 0x76, 0x78, 0x5d, 0xd, 0x40, 0xfa, 0x4c, 0x59, 0xb6, 0x6, 0x56, 0x3b, 0xc3, 0xf4, 0xbe, 0x2, 0xb5, 0x5d, 0xad, 0x3, 0x4a, 0xaf, 0x8b, 0xd2, 0x86, 0x6c, 0xda, 0x89, 0xd0, 0x25, 0x45, 0xb4, 0x1d, 0x9e, 0xc3, 0x99, 0xee, 0x31, 0x36, 0x17, 0xea, 0xf7, 0xb, 0x1, 0x74, 0x11, 0x21, 0xba, 0x32, 0x46, 0x7, 0x8e, 0xa7, 0x7b, 0x81, 0xd2, 0x8d, 0x2b, 0x76, 0xc0, 0xe9, 0xb5, 0x70, 0xfa, 0x11, 0xde, 0xc9, 0xc0, 0xbc, 0x14, 0x5f, 0xd7, 0xbd, 0x5d, 0xc8, 0x5e, 0x48, 0x1e, 0x2d, 0x3, 0xed, 0x25, 0x73, 0xdd, 0x63, 0xd8, 0x76, 0x1e, 0x16, 0x1b, 0x76, 0xdf, 0xba, 0x12, 0x59, 0x8d, 0x1d, 0xbb, 0xb8, 0x5e, 0x57, 0x36, 0xd, 0x45, 0x9d, 0xf5, 0x3a, 0xd4, 0x5d, 0x3, 0xf7, 0x29, 0xb4, 0x4d, 0x97, 0x2b, 0x53, 0xf1, 0xb, 0x21, 0x42, 0x7a, 0x9, 0xbc, 0xde, 0x8, 0x5b, 0x3b, 0x9e, 0xcd, 0x41, 0xe0, 0xdb, 0xb3, 0xbd, 0xbe, 0x1d, 0x7f, 0xa7, 0x37, 0x82, 0x31, 0xb5, 0x14, 0xb6, 0xd7, 0xc8, 0xb2, 0xfd, 0x34, 0x3e, 0x25, 0xb2, 0x3c, 0x31, 0xe4, 0xad, 0xce, 0xb5, 0x3d, 0x76, 0x11, 0x75, 0x74, 0x4c, 0x68, 0x29, 0xc8, 0x14, 0xd, 0x62, 0x26, 0x9d, 0x79, 0xd7, 0xf3, 0xd9, 0x21, 0x71, 0xcf, 0x21, 0x71, 0xcf, 0x21, 0x71, 0xcf, 0xbb, 0x2d, 0xc6, 0xf3, 0xd5, 0xb2, 0xf8, 0x5a, 0x64, 0xd8, 0x2d, 0x35, 0x67, 0x93, 0x7e, 0x2f, 0xcf, 0xd4, 0x73, 0x6e, 0xc7, 0x80, 0x91, 0x44, 0xf3, 0x36, 0x29, 0x8b, 0x78, 0x6d, 0x70, 0xd1, 0xa9, 0x27, 0x89, 0x56, 0xa9, 0x36, 0x4d, 0x53, 0xdc, 0x63, 0xb9, 0x63, 0xfb, 0x9, 0x78, 0x42, 0xcf, 0x9c, 0x27, 0x65, 0xe2, 0xd9, 0x8e, 0xdc, 0x71, 0xc8, 0xb9, 0xb3, 0x66, 0x24, 0xff, 0xcb, 0x65, 0x7e, 0x69, 0xce, 0xa4, 0x72, 0xe0, 0x54, 0x7, 0x4e, 0x55, 0xc9, 0x91, 0xd2, 0x4e, 0x4e, 0xd5, 0x34, 0xc5, 0xfd, 0xe6, 0x54, 0x22, 0x7b, 0x80, 0xe, 0x55, 0x1d, 0x2b, 0x8a, 0x7b, 0x58, 0x7b, 0x1, 0x6f, 0x24, 0xd7, 0xdf, 0xe1, 0x82, 0xdb, 0xb6, 0xb3, 0xd4, 0x13, 0xc9, 0xad, 0xd7, 0xe1, 0xea, 0x64, 0x7d, 0x47, 0x24, 0x3e, 0x64, 0x72, 0x62, 0x53, 0x1f, 0xa0, 0xbe, 0x19, 0xed, 0xe1, 0x1b, 0x46, 0xec, 0x45, 0x34, 0xd2, 0x36, 0xe8, 0x5e, 0x3c, 0xd7, 0x3d, 0xc6, 0x70, 0xd, 0x72, 0xc2, 0x38, 0xdd, 0xbc, 0x1f, 0xe9, 0xad, 0x6f, 0xb8, 0x26, 0xd1, 0x90, 0x7f, 0x84, 0xb1, 0x5f, 0x18, 0xbc, 0x15, 0x49, 0xa4, 0xa5, 0x2a, 0x12, 0x5, 0x6d, 0x6, 0x4a, 0x87, 0x6b, 0xc0, 0xbc, 0x92, 0xa, 0xb0, 0x92, 0xb5, 0x75, 0xd1, 0xf7, 0xc0, 0xe3, 0x92, 0x35, 0xc5, 0x79, 0x21, 0x45, 0x8a, 0xee, 0xfa, 0xfe, 0x6d, 0xd4, 0xe, 0x98, 0xee, 0x92, 0x93, 0x72, 0x48, 0x69, 0xa0, 0x6d, 0xd0, 0x99, 0x35, 0x0, 0x6, 0x1e, 0xf7, 0x85, 0xe1, 0xca, 0x6a, 0x1b, 0xb5, 0xf2, 0x71, 0xf3, 0xcc, 0x37, 0x87, 0xbc, 0x6f, 0xef, 0xc6, 0xe6, 0xb5, 0x80, 0xae, 0x79, 0x37, 0x5a, 0x85, 0x71, 0x8b, 0xa6, 0xb9, 0xc7, 0xf0, 0xf6, 0x32, 0x49, 0xb, 0x4b, 0x68, 0x7b, 0x72, 0xf6, 0xc2, 0xed, 0x9b, 0x54, 0xe, 0x49, 0xa, 0xdd, 0xbf, 0x17, 0x30, 0xe6, 0x37, 0xd1, 0xc7, 0x6e, 0x89, 0xde, 0x7, 0x23, 0xc9, 0x8b, 0x72, 0xa2, 0x26, 0xa2, 0x68, 0x15, 0x1f, 0x6a, 0x9e, 0xe4, 0x3e, 0x73, 0xa1, 0x17, 0x4c, 0xd5, 0x37, 0x97, 0x9a, 0x6e, 0x33, 0x39, 0xfb, 0xb6, 0xc5, 0x9f, 0x6c, 0x93, 0xb, 0x72, 0xdc, 0x55, 0xe7, 0xb3, 0x5b, 0x10, 0x7a, 0x40, 0xd0, 0x17, 0x45, 0xd0, 0x85, 0x94, 0xd1, 0x2e, 0x1c, 0x5d, 0x32, 0xd5, 0xfd, 0x41, 0xd3, 0x59, 0x67, 0x5b, 0xa1, 0xae, 0x8b, 0x62, 0xd5, 0x62, 0xd8, 0xb4, 0x16, 0x5, 0x5b, 0x3c, 0xd5, 0x9c, 0xaf, 0x59, 0xe4, 0xd6, 0x13, 0x3a, 0x7c, 0xd6, 0x20, 0x83, 0xa6, 0xea, 0x3e, 0x4a, 0x92, 0x2d, 0xe4, 0x1c, 0x44, 0x32, 0x50, 0x4e, 0xc, 0xb7, 0x1e, 0xa1, 0xae, 0xee, 0x25, 0x87, 0x47, 0x72, 0x77, 0x72, 0x7a, 0xdb, 0xfb, 0xad, 0x77, 0xfb, 0xaf, 0xfe, 0xed, 0xc9, 0xcd, 0xaf, 0xfd, 0xd3, 0xcb, 0x6f, 0x57, 0x58, 0xfd, 0xfe, 0xce, 0x96, 0xa0, 0x25, 0x3, 0x30, 0x22, 0xea, 0xa3, 0x34, 0xe2, 0x33, 0xf7, 0x59, 0x4e, 0x8a, 0xf6, 0xc7, 0x4c, 0x69, 0x11, 0x3a, 0x43, 0x52, 0x74, 0x9d, 0x31, 0xd, 0x17, 0xef, 0xa0, 0x65, 0xdb, 0x96, 0x3b, 0x4f, 0x8b, 0xec, 0x7, 0xfe, 0x69, 0x97, 0x7c, 0xa6, 0x2c, 0x73, 0x6e, 0x46, 0x81, 0xc0, 0xec, 0xee, 0x46, 0x4b, 0xab, 0x78, 0x94, 0xf4, 0x80, 0xb, 0x74, 0xf4, 0x1, 0x49, 0x1e, 0x68, 0xc6, 0x52, 0x92, 0xe6, 0xe8, 0x70, 0x53, 0xbd, 0x7c, 0x3d, 0x2a, 0x5c, 0xb1, 0xec, 0x2c, 0xa, 0xff, 0xa3, 0x23, 0x82, 0xf9, 0x8, 0x1f, 0x40, 0x1a, 0x6d, 0xc4, 0x3c, 0x42, 0x33, 0x51, 0xe9, 0x4d, 0xb4, 0x72, 0xe8, 0xed, 0xee, 0xd8, 0x5c, 0x76, 0xc9, 0xd4, 0xeb, 0x57, 0xa7, 0x55, 0x98, 0xb9, 0x78, 0xa2, 0xfb, 0x85, 0x98, 0xb9, 0x1f, 0xd8, 0xf3, 0x7c, 0xe2, 0x4f, 0x4d, 0x43, 0xab, 0x57, 0xf1, 0xc5, 0x7e, 0x9f, 0x5d, 0xc6, 0xb7, 0xa1, 0xd3, 0xdd, 0x39, 0xc9, 0x87, 0x82, 0xb2, 0xfe, 0xdf, 0x36, 0xc8, 0xbd, 0x61, 0xfb, 0xf7, 0xeb, 0x4, 0x6f, 0x23, 0x54, 0xbc, 0x31, 0xf8, 0x73, 0x81, 0xb0, 0x33, 0x95, 0xc2, 0xc8, 0x39, 0x55, 0x4f, 0x2c, 0x64, 0xfb, 0xe8, 0xa7, 0x1d, 0xdd, 0xcb, 0xac, 0x22, 0xc0, 0x7c, 0x3e, 0xe9, 0x7d, 0x5d, 0x53, 0x7a, 0xa9, 0xa4, 0x6b, 0xda, 0x92, 0xf4, 0x42, 0x78, 0x90, 0xd3, 0xf8, 0x75, 0xa5, 0x17, 0xbb, 0x2d, 0xbb, 0x3, 0x78, 0x3b, 0x24, 0xba, 0xd8, 0xa5, 0x69, 0xbb, 0xdc, 0xe2, 0x67, 0xb9, 0x4f, 0x90, 0xb7, 0xb5, 0x8, 0xec, 0x5, 0x5e, 0xfe, 0xe6, 0xd8, 0x7, 0x19, 0xcb, 0xeb, 0x40, 0x90, 0x65, 0x60, 0x55, 0x3e, 0x2b, 0xcd, 0xc4, 0x25, 0x1a, 0xca, 0x25, 0xe9, 0xd, 0x9d, 0xe5, 0xb, 0x6c, 0x2c, 0x1f, 0x3a, 0x1f, 0x95, 0x39, 0xdd, 0x82, 0x7a, 0x46, 0x77, 0xc5, 0xaf, 0x7d, 0x7, 0x24, 0x77, 0x58, 0x8a, 0x5f, 0x3e, 0xd0, 0xac, 0x26, 0xf9, 0x1c, 0x55, 0xf7, 0x41, 0x2c, 0x8c, 0x76, 0x1a, 0x68, 0x99, 0xeb, 0xdd, 0xde, 0x44, 0xbb, 0x14, 0xc3, 0x22, 0xd7, 0x5d, 0x72, 0x6, 0xfe, 0xe2, 0x42, 0x70, 0x72, 0xd, 0x5a, 0xce, 0xae, 0x30, 0x6d, 0xa5, 0xd3, 0x30, 0x27, 0x74, 0x46, 0xb4, 0x64, 0x23, 0x83, 0x6f, 0x65, 0x44, 0x4e, 0xd0, 0x5, 0x9b, 0x60, 0xe6, 0xea, 0x68, 0x1c, 0x2b, 0x29, 0xb0, 0x98, 0xc9, 0x35, 0x2, 0xfb, 0xdb, 0xde, 0xb7, 0xf3, 0xb3, 0xfe, 0xe5, 0xf7, 0x5b, 0x8f, 0xf7, 0xfe, 0x6e, 0xa6, 0x1, 0xf1, 0xcb, 0x4e, 0x1c, 0xf4, 0x77, 0xc9, 0xa9, 0xb, 0xce, 0x59, 0x18, 0x43, 0x6f, 0xdb, 0x35, 0xeb, 0x3e, 0xf, 0xf5, 0xdc, 0x28, 0xeb, 0x63, 0xa2, 0x98, 0xce, 0x91, 0xc4, 0xc3, 0xd0, 0x22, 0xe6, 0xca, 0x1e, 0xe1, 0xe0, 0x6c, 0x78, 0xce, 0xcd, 0xd9, 0xaf, 0x65, 0x69, 0x66, 0xeb, 0x6d, 0x55, 0xcd, 0x5b, 0xd8, 0xb4, 0x30, 0xb7, 0x41, 0x0, 0x21, 0xa6, 0x81, 0x16, 0x5c, 0xd3, 0x30, 0xe6, 0xe4, 0x2e, 0x5, 0x6d, 0x68, 0xe3, 0xce, 0x59, 0x15, 0x8b, 0x48, 0x19, 0x90, 0xa, 0x19, 0x44, 0x91, 0x81, 0x16, 0xe4, 0x83, 0x73, 0x61, 0x30, 0xd, 0xd, 0xc2, 0xa4, 0xb5, 0xaa, 0x7c, 0x2d, 0x72, 0x54, 0x1a, 0x43, 0x72, 0x3f, 0x15, 0x8c, 0xa3, 0x93, 0xf1, 0x48, 0x82, 0x72, 0x9, 0xa, 0x6b, 0x52, 0xe, 0xd6, 0x26, 0x4c, 0xf, 0x57, 0xc5, 0xba, 0x9b, 0xa1, 0xc, 0xa0, 0xc7, 0x20, 0xe3, 0x15, 0x18, 0x53, 0x45, 0x6, 0x41, 0x22, 0xeb, 0x80, 0xef, 0x2e, 0x34, 0xec, 0x2e, 0xd8, 0xc0, 0x3, 0xab, 0x5b, 0xb0, 0x38, 0x2d, 0x63, 0x76, 0xb, 0xe6, 0xb9, 0x4f, 0xec, 0xee, 0x5, 0xbc, 0x67, 0xb7, 0x2e, 0xf0, 0x3f, 0xd3, 0x94, 0xe9, 0xd2, 0xa9, 0x1e, 0x2c, 0x99, 0xab, 0xb8, 0xee, 0x1e, 0x20, 0x72, 0xc1, 0xe2, 0xb4, 0xc, 0x22, 0x17, 0xcc, 0x73, 0x1f, 0x20, 0x52, 0x26, 0x63, 0xf6, 0x0, 0x69, 0xc7, 0x9f, 0x5c, 0xb5, 0x9, 0x53, 0xe6, 0x57, 0xa6, 0xf4, 0x89, 0x6b, 0xd9, 0xbf, 0xbe, 0xdc, 0xa2, 0x99, 0x31, 0xa5, 0x89, 0x1f, 0x50, 0x9, 0x34, 0x4f, 0xb4, 0x6c, 0x2e, 0x1e, 0xc3, 0xee, 0x9c, 0xf0, 0xb2, 0xc3, 0x29, 0x1d, 0xc1, 0xd, 0xfb, 0xef, 0x65, 0x15, 0x70, 0x9a, 0xdb, 0x35, 0x9a, 0xcd, 0x8, 0x64, 0xf4, 0xc4, 0x57, 0x8, 0x61, 0x5c, 0xff, 0xfd, 0x3f, 0xe6, 0xe7, 0x8, 0x3f, 0xf4, 0x15, 0x1d, 0xc1, 0x2a, 0x5, 0x6b, 0x56, 0x9e, 0xf, 0x69, 0x28, 0x4c, 0xb2, 0x9e, 0x29, 0xb7, 0x5d, 0x86, 0xd6, 0xc5, 0xd4, 0xb8, 0x17, 0x50, 0x33, 0xa0, 0x3a, 0x19, 0x77, 0x8a, 0x33, 0xba, 0x31, 0xa0, 0xf9, 0x64, 0xda, 0xbd, 0x2c, 0x9a, 0x2d, 0xb2, 0x0, 0x51, 0xb, 0x28, 0x62, 0x48, 0xb0, 0xe7, 0x12, 0x1d, 0x54, 0x13, 0x5c, 0x54, 0x5a, 0xda, 0x1c, 0x46, 0x34, 0xb8, 0xbf, 0xa0, 0x3a, 0xec, 0x14, 0x57, 0xeb, 0xc6, 0x5a, 0x19, 0xe9, 0x6b, 0xc2, 0xcc, 0xdc, 0x3a, 0xe3, 0x87, 0x44, 0xc5, 0x5f, 0xbe, 0x16, 0x18, 0xc5, 0x2b, 0xa, 0x3f, 0xdc, 0xe8, 0x74, 0xe5, 0xd3, 0x67, 0x63, 0xd6, 0x1b, 0x82, 0x97, 0xa, 0xf5, 0xee, 0x25, 0xa6, 0x1c, 0xff, 0xf9, 0x87, 0x18, 0x6c, 0xa8, 0xc4, 0xa4, 0x2f, 0x50, 0x15, 0xaf, 0x6b, 0x98, 0x64, 0xac, 0xae, 0xb0, 0x64, 0xc3, 0x11, 0xae, 0x2d, 0xab, 0x18, 0xb7, 0xdc, 0x52, 0xb8, 0xc1, 0xd, 0x59, 0x63, 0xbc, 0xb8, 0x28, 0xe6, 0x2b, 0xc2, 0x36, 0x1b, 0xfc, 0xf7, 0x26, 0xe, 0x72, 0x3d, 0x69, 0xb4, 0xe3, 0x2c, 0x3f, 0xdb, 0xdc, 0x82, 0x45, 0x86, 0x2a, 0xc7, 0x31, 0x2a, 0x82, 0xb6, 0xc2, 0xd9, 0xab, 0x69, 0xe3, 0x70, 0xf0, 0x70, 0xbc, 0xff, 0x57, 0xc, 0x48, 0xef, 0xcc, 0x50, 0x16, 0xe3, 0x2e, 0xaa, 0xc6, 0x95, 0xff, 0xea, 0x9d, 0x15, 0x6, 0x9e, 0x81, 0x3f, 0x9d, 0x1b, 0x3d, 0x9a, 0xaf, 0x58, 0x96, 0xab, 0x7a, 0xd0, 0x5a, 0x64, 0xdb, 0xa8, 0x9d, 0x5f, 0x1b, 0x80, 0xe4, 0x89, 0x42, 0xc1, 0xb1, 0xd2, 0x62, 0xba, 0x11, 0xbb, 0xef, 0x8d, 0x16, 0xd3, 0x39, 0x1c, 0x12, 0x53, 0xb5, 0x1a, 0xfb, 0x9f, 0xff, 0xfa, 0x80, 0x40, 0xdb, 0x65, 0xfd, 0xaf, 0x85, 0x2f, 0xd5, 0x7d, 0x6e, 0x19, 0xbc, 0xcc, 0x4f, 0x6f, 0xf, 0xd0, 0xc5, 0x39, 0x3, 0x74, 0x52, 0x98, 0x66, 0x62, 0x36, 0x1, 0xae, 0x8f, 0xff, 0x2c, 0xff, 0xee, 0x2a, 0x90, 0xc, 0x54, 0xdf, 0x7c, 0xf0, 0x3f, 0x9b, 0xbe, 0x63, 0xba, 0x1, 0x94, 0x74, 0xca, 0xde, 0x8, 0x55, 0x91, 0x83, 0x42, 0xf0, 0xc4, 0x30, 0x6c, 0xa6, 0x55, 0xf8, 0x93, 0x1d, 0x5a, 0x97, 0x9c, 0xc6, 0xa5, 0xe3, 0x6d, 0x64, 0x52, 0xb9, 0x58, 0xa6, 0xc1, 0x9, 0x68, 0x9a, 0x52, 0x4d, 0xfd, 0xd, 0x7c, 0xdc, 0xe5, 0x23, 0x64, 0x59, 0xe0, 0x13, 0x79, 0xfe, 0x63, 0xa, 0x92, 0x99, 0x87, 0x34, 0xeb, 0x96, 0x21, 0x4b, 0x13, 0x36, 0x1a, 0xdb, 0x82, 0x77, 0x6c, 0xc8, 0x12, 0x8a, 0xe9, 0x46, 0x5d, 0xb1, 0x66, 0x21, 0x6d, 0xcc, 0xe8, 0x44, 0x3c, 0xd8, 0xea, 0xd2, 0x94, 0xc, 0x73, 0x9d, 0x63, 0xae, 0xcb, 0xc, 0x68, 0x54, 0x50, 0xfc, 0xc, 0xa6, 0x12, 0x12, 0xc, 0x2c, 0x25, 0xd7, 0x30, 0xcd, 0x68, 0x62, 0x6f, 0xd2, 0xee, 0x6e, 0x40, 0xff, 0x8e, 0xb7, 0x69, 0x67, 0xc5, 0xe0, 0x4e, 0xed, 0x3a, 0xfc, 0x66, 0x33, 0xd4, 0xdc, 0xd5, 0xd7, 0x8f, 0x5, 0xff, 0x5a, 0xf9, 0xdd, 0xe6, 0xf0, 0x77, 0x73, 0xe0, 0x59, 0x4f, 0x53, 0xdb, 0xed, 0xfd, 0xd5, 0x90, 0xb2, 0x66, 0x4f, 0xda, 0x85, 0x95, 0xb5, 0x13, 0xdc, 0x53, 0xb4, 0xb4, 0xe4, 0x7c, 0x51, 0x22, 0xe4, 0xc6, 0x72, 0xc9, 0x5f, 0x7, 0xb6, 0x99, 0x1a, 0x4c, 0x7c, 0x6f, 0xd3, 0x7, 0x2a, 0xb4, 0xdb, 0x7c, 0x70, 0x69, 0x92, 0x47, 0xec, 0x1, 0x78, 0xd, 0x4c, 0xbe, 0x3a, 0xbe, 0xb9, 0x9, 0xf4, 0x5d, 0xbe, 0xad, 0x3b, 0x67, 0x79, 0x72, 0x4f, 0xbd, 0xa1, 0xa0, 0xa, 0x81, 0xf5, 0xa0, 0xf7, 0xe5, 0x8d, 0x80, 0x5e, 0x49, 0x1a, 0xdb, 0x6, 0xba, 0x37, 0x1, 0x1b, 0x75, 0xdb, 0xb6, 0x17, 0xb0, 0x51, 0x1e, 0xc7, 0x8d, 0x5c, 0x13, 0x5, 0x10, 0xf1, 0xd5, 0x96, 0xaf, 0xb7, 0xce, 0xa3, 0x41, 0x37, 0xde, 0x43, 0xaf, 0xbc, 0x54, 0x26, 0x97, 0xa1, 0xb3, 0x2a, 0x27, 0x2e, 0x34, 0x64, 0x40, 0x31, 0xe7, 0x68, 0xd, 0x64, 0x94, 0x4b, 0x61, 0x1a, 0x79, 0x5d, 0x0, 0xb1, 0x8e, 0x37, 0x66, 0xb2, 0x55, 0x80, 0x50, 0xf5, 0x8, 0x61, 0x5e, 0xd, 0x5e, 0xda, 0x45, 0x70, 0xd8, 0x9f, 0xfb, 0xf1, 0x46, 0x18, 0x5c, 0x78, 0xd, 0xe6, 0xe9, 0xb5, 0x4b, 0xbe, 0xdb, 0x9c, 0xeb, 0x55, 0x8a, 0x85, 0x1f, 0x34, 0xf1, 0xc4, 0x8a, 0x3d, 0x91, 0x89, 0xd1, 0xdf, 0xda, 0x1b, 0xde, 0x54, 0x21, 0xea, 0x7d, 0x83, 0xce, 0x46, 0xc5, 0x34, 0x7a, 0x30, 0xc8, 0x59, 0x96, 0xf6, 0xd9, 0x66, 0x2e, 0xcd, 0x2, 0xa4, 0xf5, 0x12, 0x8a, 0x2a, 0x9d, 0xf5, 0x83, 0x5e, 0x77, 0x0, 0x1d, 0x9b, 0x44, 0xa8, 0x85, 0xea, 0xa3, 0xff, 0x68, 0xb7, 0xe5, 0xa8, 0xd7, 0x50, 0x1e, 0x6b, 0x7b, 0xf7, 0xc4, 0xf5, 0x6a, 0x13, 0x5f, 0x17, 0x44, 0x3, 0x2, 0x36, 0xff, 0xce, 0xd8, 0x70, 0x8, 0xa8, 0x47, 0x38, 0x31, 0x5c, 0x79, 0x93, 0x88, 0x32, 0xf8, 0xe9, 0xe8, 0x5a, 0xd9, 0x3, 0x71, 0x1c, 0x1c, 0x7c, 0x2c, 0xdf, 0x21, 0x21, 0x43, 0xf7, 0x58, 0x2d, 0x46, 0xd6, 0xb7, 0x7f, 0x30, 0xf3, 0x9e, 0xa9, 0x34, 0x3e, 0xfd, 0x6a, 0x4c, 0x25, 0xa4, 0x21, 0x36, 0x77, 0xe3, 0x17, 0x2e, 0x73, 0x74, 0x65, 0xa1, 0x59, 0x16, 0x49, 0x2d, 0xe6, 0x27, 0xf7, 0xd5, 0x11, 0x11, 0x1c, 0x7c, 0xa2, 0x98, 0x14, 0xcc, 0xc9, 0xb1, 0x49, 0x16, 0x9b, 0xf4, 0xa1, 0x23, 0x1b, 0x19, 0x11, 0xf7, 0x23, 0x21, 0x1, 0xf6, 0x60, 0xc6, 0x10, 0x3a, 0xfb, 0x6, 0x3e, 0x78, 0x46, 0x87, 0x32, 0xcf, 0x34, 0x55, 0xf7, 0xd8, 0x7f, 0xe1, 0x39, 0x88, 0xc7, 0x2a, 0x6e, 0xed, 0xee, 0xb7, 0xf3, 0xeb, 0x9b, 0xde, 0xe5, 0x45, 0xef, 0xe2, 0x4b, 0xff, 0xd3, 0xf9, 0x2f, 0x27, 0xbf, 0xf5, 0x2e, 0xaf, 0xfb, 0x27, 0xdf, 0x6f, 0x2f, 0xfb, 0xdf, 0xaf, 0xbe, 0x5c, 0x9f, 0x9c, 0x9d, 0xdf, 0xf9, 0x75, 0x35, 0x6b, 0x32, 0x0, 0xb3, 0x38, 0x42, 0x3e, 0x81, 0x21, 0x35, 0x13, 0xdf, 0x7a, 0x15, 0xab, 0x2a, 0xdb, 0xff, 0xc9, 0xb4, 0x40, 0x7a, 0x67, 0xe, 0x79, 0x9c, 0x43, 0x33, 0x66, 0xbf, 0xf4, 0x69, 0x90, 0x83, 0x1c, 0x36, 0x20, 0x8b, 0xac, 0x15, 0xfe, 0xbf, 0x31, 0x3c, 0x84, 0x4e, 0x6c, 0x3e, 0x4c, 0xca, 0xd3, 0x63, 0x21, 0x6d, 0x9a, 0xdb, 0x58, 0x1c, 0xf0, 0xed, 0xb7, 0x97, 0x15, 0xcf, 0xe3, 0xe6, 0x81, 0x1b, 0x2f, 0xe4, 0xc6, 0xc7, 0x98, 0x64, 0x95, 0x5a, 0x17, 0xd9, 0x2d, 0xda, 0x49, 0xc2, 0x6e, 0x48, 0x6, 0xf, 0x90, 0x59, 0x50, 0x99, 0x63, 0xd9, 0x36, 0xc8, 0x2e, 0x9b, 0x92, 0x5c, 0x81, 0x54, 0x24, 0x85, 0x84, 0xa5, 0x60, 0x9, 0xde, 0x96, 0x64, 0xd0, 0x2c, 0x84, 0x5a, 0x2d, 0xcc, 0x2b, 0x62, 0x32, 0x61, 0xca, 0xa6, 0xb, 0xf, 0x4f, 0x26, 0xb9, 0x9e, 0xef, 0xd5, 0xc6, 0x49, 0x24, 0xb9, 0x85, 0xcc, 0x42, 0x68, 0x8d, 0xcd, 0xcf, 0xef, 0x2, 0x2d, 0xeb, 0x4e, 0xe1, 0x2e, 0xdc, 0x21, 0x24, 0x15, 0xa9, 0x6d, 0x4b, 0x38, 0xc2, 0x4b, 0xaf, 0x14, 0x3, 0xf4, 0x7c, 0x43, 0x73, 0xc6, 0x1e, 0x77, 0xaf, 0xcd, 0x64, 0x9, 0x71, 0xc1, 0x19, 0x3c, 0x75, 0xe3, 0x31, 0xed, 0x46, 0xeb, 0x84, 0x11, 0x17, 0xe6, 0xc1, 0x3, 0x64, 0x33, 0x2, 0x3f, 0xa6, 0xc0, 0x15, 0x7b, 0x0, 0xc, 0x2, 0x93, 0x30, 0x14, 0x12, 0x8e, 0x7c, 0x5c, 0x99, 0x95, 0x63, 0xac, 0xed, 0x6, 0x63, 0x0, 0x13, 0xac, 0xbc, 0x55, 0x76, 0x92, 0xd0, 0x64, 0xc, 0x29, 0x79, 0xa0, 0x59, 0xe, 0x5d, 0xd2, 0x73, 0x21, 0x74, 0x94, 0x24, 0x54, 0x81, 0xd, 0x93, 0xbb, 0xcb, 0xa8, 0xd2, 0x7d, 0x6b, 0xa7, 0xc7, 0x38, 0x46, 0x17, 0x83, 0x67, 0xdd, 0x8f, 0xc8, 0x4c, 0xe4, 0xce, 0xfb, 0xc8, 0x85, 0x85, 0xe5, 0x34, 0xa8, 0x14, 0x1d, 0x8d, 0xdb, 0x2f, 0x30, 0xa6, 0x6, 0x66, 0xbb, 0xa1, 0xa4, 0x9e, 0x49, 0xca, 0x38, 0x1d, 0x41, 0x8f, 0xf, 0xc5, 0x8a, 0x46, 0xae, 0x85, 0x12, 0xda, 0x17, 0x88, 0xac, 0x25, 0xe5, 0xec, 0xf, 0x82, 0xda, 0x82, 0xde, 0xf, 0x82, 0xda, 0x41, 0x50, 0x3b, 0x8, 0x6a, 0x7, 0x41, 0xed, 0xb8, 0x11, 0x3e, 0xf7, 0x42, 0x5e, 0xe3, 0xf0, 0x23, 0x57, 0xa5, 0xef, 0xd0, 0x86, 0xb3, 0x3b, 0x5d, 0x98, 0xd6, 0xb, 0x77, 0x89, 0x55, 0x73, 0x3c, 0xe1, 0x57, 0x41, 0xf8, 0xc2, 0xfa, 0x9, 0x9e, 0x9a, 0xfa, 0xdd, 0x45, 0x8e, 0xb8, 0x76, 0x9a, 0xa7, 0xa, 0x12, 0x6c, 0x25, 0xeb, 0x93, 0x2b, 0x8f, 0x43, 0x33, 0x25, 0xd0, 0x52, 0xde, 0xb4, 0xa0, 0xee, 0xd2, 0x1a, 0x5b, 0x52, 0x40, 0xa5, 0x11, 0xe4, 0xb4, 0x96, 0x6c, 0x90, 0x63, 0x5, 0x86, 0x7, 0xca, 0x32, 0x3a, 0xc8, 0x0, 0x9f, 0x57, 0xb7, 0xb5, 0xbd, 0x90, 0xb2, 0x90, 0x6, 0xf7, 0x11, 0x56, 0x36, 0x16, 0xfb, 0xb4, 0x2e, 0xa0, 0x60, 0x44, 0xd4, 0xb3, 0xf0, 0x64, 0x51, 0xaf, 0xbb, 0x8, 0x27, 0x4f, 0x89, 0x76, 0xfa, 0x46, 0x7f, 0x4, 0xd5, 0xe, 0x83, 0x85, 0xc2, 0x1a, 0x57, 0xa8, 0xc8, 0x4d, 0x8d, 0xc8, 0x40, 0x47, 0xb0, 0xda, 0xa1, 0x7d, 0xc1, 0x58, 0x28, 0xfc, 0xa0, 0xd4, 0xa2, 0x18, 0x5f, 0x82, 0x57, 0xf6, 0xf0, 0x3c, 0x49, 0x90, 0x23, 0x1b, 0x89, 0xf3, 0x7c, 0x1d, 0x2c, 0xaf, 0x42, 0x33, 0xda, 0xa, 0x8c, 0x26, 0x60, 0x30, 0x9a, 0x66, 0x4d, 0x18, 0x4d, 0x18, 0x4f, 0xb2, 0x3c, 0x85, 0xa, 0x4c, 0x74, 0xc8, 0x65, 0x79, 0x46, 0xaa, 0x8f, 0xae, 0xf3, 0x9a, 0x1f, 0xcf, 0x79, 0x8a, 0xf9, 0x63, 0xaa, 0xbf, 0xc7, 0xe7, 0x7d, 0xbe, 0xf9, 0xb9, 0xc6, 0x2d, 0xc3, 0x99, 0xef, 0x0, 0x9d, 0xbf, 0x6f, 0x23, 0x8b, 0x8c, 0xeb, 0xd9, 0x6f, 0x7e, 0xdd, 0xc3, 0xd3, 0x4c, 0x28, 0x58, 0xf8, 0x95, 0x85, 0xbc, 0xc6, 0xc7, 0x67, 0x79, 0xfd, 0x38, 0xcd, 0x67, 0x70, 0x2b, 0x29, 0xb7, 0x35, 0xda, 0x90, 0x23, 0xb4, 0x96, 0xdf, 0xad, 0x72, 0xe2, 0xf6, 0x8a, 0xdd, 0x1d, 0xff, 0x19, 0xf0, 0x90, 0x6d, 0xdd, 0x33, 0x36, 0xac, 0x78, 0x11, 0xb0, 0x57, 0x17, 0xac, 0x57, 0x39, 0xdf, 0x1, 0x4c, 0xdc, 0xe4, 0xd3, 0xa9, 0x90, 0x46, 0x2d, 0xcf, 0x15, 0xa0, 0x2d, 0xae, 0xee, 0xf0, 0x77, 0xc8, 0x17, 0xd0, 0x85, 0xc6, 0x5e, 0xb4, 0x83, 0x7d, 0xa1, 0xa, 0x6a, 0xba, 0x71, 0x95, 0x5a, 0xc2, 0xaf, 0xbe, 0xa, 0x3e, 0xea, 0x4c, 0x45, 0x66, 0x93, 0x90, 0x19, 0xb0, 0x77, 0x35, 0xd7, 0x9d, 0x69, 0xcd, 0xe8, 0xee, 0x8e, 0xd3, 0x18, 0x15, 0x3e, 0x6e, 0xb8, 0x6c, 0xc8, 0x13, 0x13, 0x1a, 0x13, 0x2, 0x97, 0x5e, 0x37, 0xd0, 0xe8, 0xbb, 0x69, 0xae, 0x89, 0x90, 0x44, 0xe4, 0x3a, 0x11, 0x13, 0x20, 0xef, 0x5d, 0x2a, 0x96, 0xf2, 0x95, 0x31, 0x55, 0x65, 0x2a, 0x95, 0xf, 0xb, 0x2f, 0x3f, 0x1b, 0x96, 0x7a, 0x17, 0xf9, 0xbf, 0xa8, 0x5, 0xe6, 0xad, 0x76, 0x29, 0xf3, 0xf9, 0xce, 0x96, 0x38, 0x6e, 0x14, 0xc1, 0xa5, 0x39, 0x27, 0xbd, 0xb3, 0x2e, 0xe9, 0xd, 0x9, 0x4c, 0xa6, 0x7a, 0xe6, 0x2c, 0xf4, 0xae, 0x10, 0x25, 0x16, 0x17, 0xb0, 0x46, 0xa2, 0x8c, 0x6a, 0xf3, 0x93, 0xcc, 0xf9, 0xb3, 0x6c, 0x30, 0x8e, 0x50, 0x7a, 0x86, 0x3a, 0xd6, 0x19, 0x71, 0xcf, 0x11, 0x98, 0xd, 0x82, 0x35, 0xa4, 0x55, 0x9b, 0xe6, 0x6c, 0xb5, 0xb1, 0xd, 0x84, 0xc8, 0x80, 0xf2, 0xa6, 0xc1, 0x5d, 0x5a, 0x8a, 0x7d, 0xea, 0xf0, 0xa, 0x82, 0xb7, 0x29, 0x92, 0x8e, 0x5d, 0x75, 0xd2, 0xf, 0xd5, 0xb1, 0x92, 0xc5, 0x7, 0xe2, 0x79, 0x53, 0xc9, 0x4, 0x1f, 0x5d, 0x89, 0x2c, 0x5b, 0x5b, 0x9c, 0xab, 0x8, 0x44, 0x56, 0xba, 0x1b, 0x4a, 0x31, 0x21, 0x94, 0x4c, 0x25, 0x3c, 0x30, 0x91, 0xab, 0x65, 0xc7, 0xb2, 0x10, 0xf2, 0xc, 0x59, 0x4d, 0x25, 0x28, 0x97, 0x7f, 0x8f, 0x29, 0x72, 0x7d, 0x75, 0x6a, 0xaf, 0x12, 0xb2, 0x2, 0x90, 0x72, 0xae, 0x59, 0x56, 0x1b, 0x18, 0x64, 0x66, 0x1e, 0x80, 0x94, 0xb2, 0xe3, 0x40, 0x21, 0xb, 0x7f, 0x6, 0x9e, 0x88, 0x14, 0x1c, 0x11, 0x30, 0xe5, 0xa, 0xb8, 0x62, 0xb6, 0xc6, 0x81, 0xed, 0xd3, 0x41, 0x9a, 0xc7, 0x4b, 0xfb, 0x59, 0x54, 0x78, 0x30, 0xea, 0x2d, 0x1c, 0xae, 0xcc, 0x79, 0x9f, 0xa5, 0x64, 0x92, 0x2b, 0x6d, 0xd5, 0xf0, 0x1, 0xf8, 0x87, 0x95, 0xaf, 0x2e, 0x84, 0x76, 0x1, 0x4f, 0x22, 0x8c, 0x12, 0xd5, 0x60, 0xf3, 0x4, 0x5a, 0x80, 0x9d, 0xe4, 0x99, 0x66, 0xd3, 0xc, 0x5c, 0x2e, 0xc7, 0x1, 0xe8, 0xc7, 0x20, 0xcb, 0x1e, 0x66, 0xd5, 0x72, 0x17, 0x39, 0x65, 0xbd, 0xf1, 0xb8, 0x9b, 0x51, 0x4e, 0x25, 0xe5, 0x1a, 0xb0, 0x4c, 0x89, 0x11, 0x1e, 0x7d, 0xb1, 0x97, 0x9, 0xbd, 0x47, 0xbb, 0x31, 0x51, 0xa6, 0x31, 0x6e, 0xcb, 0x9c, 0x94, 0xeb, 0xeb, 0xbb, 0xb0, 0xeb, 0x6e, 0xe4, 0x59, 0x5a, 0x50, 0x59, 0x65, 0xb1, 0x83, 0xef, 0xa3, 0x85, 0xdf, 0xa8, 0xb4, 0xfe, 0x46, 0x64, 0xaa, 0x15, 0x69, 0xfc, 0x6d, 0x8b, 0x55, 0x1b, 0xd, 0x16, 0x32, 0xa, 0x40, 0x93, 0x4c, 0x14, 0x45, 0x4d, 0xcf, 0x9, 0x41, 0xa1, 0x80, 0x51, 0xd6, 0x6f, 0xab, 0x6f, 0xea, 0xc4, 0xa6, 0x62, 0xc3, 0xde, 0x20, 0x2c, 0xee, 0x46, 0x39, 0x56, 0x74, 0xa6, 0x86, 0x80, 0x7d, 0xbe, 0x36, 0xbc, 0xa4, 0x75, 0xb6, 0x79, 0xbc, 0x96, 0x29, 0x4f, 0x68, 0xef, 0xcc, 0xe3, 0x46, 0xd9, 0x7b, 0x21, 0x2c, 0x90, 0x9c, 0x67, 0xa0, 0x94, 0xd1, 0xba, 0x27, 0x4c, 0x87, 0xb9, 0x3b, 0x8b, 0xea, 0x7e, 0xbd, 0x33, 0x34, 0xd7, 0x67, 0x2c, 0xd1, 0x64, 0x8a, 0x29, 0x58, 0xeb, 0xa3, 0x7f, 0x16, 0xac, 0xca, 0x9b, 0x16, 0x5f, 0x16, 0x71, 0x8d, 0x5e, 0xa, 0x5c, 0x9b, 0x65, 0xf2, 0x6a, 0x31, 0xb, 0xb7, 0xdb, 0xde, 0xf5, 0xa2, 0xc1, 0x8, 0xf3, 0x14, 0xca, 0x8e, 0x62, 0x29, 0x90, 0xde, 0xd9, 0x11, 0x49, 0xf1, 0x4e, 0x3d, 0xd1, 0x8e, 0xe3, 0xf0, 0x99, 0x4d, 0x9e, 0xcb, 0xc3, 0xfb, 0xe5, 0x68, 0x89, 0x9, 0x2b, 0xba, 0x52, 0xa4, 0xa8, 0x8, 0xe8, 0x77, 0x6b, 0x4c, 0x79, 0x9a, 0x81, 0xec, 0x92, 0x6f, 0x6, 0xc5, 0x7, 0x45, 0x7c, 0x39, 0x9d, 0x8, 0x3e, 0xaa, 0x18, 0xa4, 0xf4, 0xb8, 0x8a, 0x86, 0x86, 0x5e, 0x8a, 0xf5, 0x3f, 0x22, 0x2a, 0x1f, 0xfc, 0x1, 0xb6, 0xae, 0x2c, 0xb2, 0xf1, 0x3c, 0x33, 0x12, 0xfa, 0x64, 0x2a, 0x5c, 0xce, 0x56, 0x96, 0xf6, 0x25, 0xe4, 0xa, 0xfa, 0x96, 0x1a, 0x50, 0xa4, 0x66, 0x69, 0xdf, 0x13, 0x49, 0x3f, 0x26, 0x92, 0x4d, 0xec, 0xda, 0xab, 0xc6, 0xb1, 0x37, 0xe2, 0x62, 0x9b, 0xa2, 0xa8, 0x16, 0x4e, 0xb4, 0xd, 0xc, 0xe0, 0x59, 0x7a, 0xf5, 0xb1, 0xcd, 0x6d, 0xfa, 0x71, 0xc3, 0x8c, 0xc4, 0x91, 0x90, 0x4d, 0x8b, 0xd8, 0xac, 0x64, 0x3b, 0xa9, 0xa6, 0x9a, 0xbf, 0xb9, 0x46, 0xc7, 0xe, 0xd9, 0xb, 0x7e, 0x65, 0xc4, 0x25, 0x2d, 0xdc, 0xa7, 0x4, 0x55, 0x59, 0x8f, 0x27, 0x45, 0xc9, 0x69, 0x9a, 0x6b, 0x61, 0x94, 0xf7, 0x4, 0x15, 0x5c, 0x5d, 0x58, 0x92, 0x2a, 0x32, 0x7b, 0xd1, 0xc, 0xa4, 0xc4, 0xba, 0x7, 0x45, 0xd5, 0xf4, 0xc2, 0x57, 0x51, 0xfe, 0x12, 0xbc, 0xd2, 0xda, 0xdc, 0xf7, 0x86, 0x97, 0x31, 0x4d, 0x94, 0xb5, 0x7, 0x54, 0x26, 0xe8, 0xeb, 0x5e, 0x3b, 0x64, 0x2b, 0xbb, 0x72, 0xa9, 0x5d, 0x5d, 0x1e, 0x8d, 0xe8, 0x1b, 0xb7, 0x54, 0xd, 0x39, 0x49, 0x97, 0xaf, 0xf5, 0x9b, 0x66, 0x53, 0x6f, 0x15, 0x63, 0x57, 0xd9, 0x98, 0x56, 0x61, 0xed, 0x6a, 0x13, 0x3e, 0x60, 0xae, 0xd1, 0xe9, 0x36, 0x6c, 0xd0, 0xbc, 0x12, 0x59, 0x23, 0xce, 0x16, 0x7a, 0xa4, 0x72, 0xe1, 0xab, 0x15, 0x74, 0x8d, 0x82, 0x5a, 0x1f, 0x29, 0x43, 0x25, 0x1b, 0x13, 0xe3, 0x85, 0x95, 0xf3, 0xbc, 0x71, 0x31, 0x90, 0xb5, 0x6b, 0x4c, 0x25, 0x44, 0xd8, 0xf2, 0xa, 0xb9, 0x84, 0x7a, 0x73, 0xe0, 0x82, 0x81, 0xee, 0x35, 0x48, 0xbd, 0x49, 0x53, 0xa0, 0x21, 0x96, 0x1b, 0x43, 0x2b, 0xeb, 0xc, 0xf7, 0xc6, 0x13, 0x17, 0x92, 0xda, 0x50, 0xc8, 0x6e, 0x85, 0xc9, 0xda, 0x8a, 0xa, 0xf6, 0x86, 0x79, 0x22, 0x24, 0x10, 0x9a, 0x3e, 0x18, 0x48, 0x49, 0x1d, 0x5d, 0x16, 0x6e, 0x58, 0x68, 0x1b, 0xc1, 0x6a, 0xe3, 0x83, 0x4c, 0x24, 0xf7, 0xcb, 0xd, 0x6e, 0xc0, 0xf3, 0x49, 0xf5, 0xc8, 0x77, 0xc8, 0xc5, 0xf9, 0x7f, 0x7d, 0xbf, 0xe9, 0x5f, 0x5e, 0x9d, 0x5f, 0x9f, 0xdc, 0xf6, 0x2e, 0x2f, 0xfa, 0xbf, 0x9f, 0xf4, 0x6e, 0xfb, 0x37, 0xb7, 0x27, 0x5f, 0xce, 0xfb, 0xdf, 0x2f, 0x6e, 0xae, 0xce, 0x4f, 0x7b, 0x9f, 0x7b, 0xe7, 0x67, 0xeb, 0x7c, 0x76, 0x73, 0x7b, 0x72, 0x7d, 0xbb, 0xde, 0x27, 0xa7, 0x5f, 0x2f, 0x6f, 0x2a, 0x5f, 0x2c, 0x35, 0xc9, 0x98, 0xe9, 0xbc, 0x2d, 0xe, 0xb1, 0xe0, 0xf4, 0x1f, 0x18, 0xc3, 0xff, 0x1c, 0x6b, 0x90, 0x13, 0xc6, 0xe9, 0xe6, 0x4b, 0xa9, 0xde, 0xfa, 0x86, 0x9b, 0x78, 0x44, 0xd1, 0xb3, 0x32, 0xb2, 0x74, 0xe1, 0x18, 0x5f, 0xe5, 0x14, 0x91, 0xdd, 0x35, 0x10, 0x92, 0xdd, 0xd7, 0xd6, 0x2, 0x3e, 0x9d, 0x82, 0xd1, 0xc7, 0xcb, 0x57, 0xb, 0x91, 0x37, 0xb4, 0x93, 0xa3, 0xf0, 0x6b, 0xa4, 0x5c, 0x23, 0xa9, 0x4b, 0xa0, 0x56, 0x2d, 0x67, 0xba, 0x4b, 0x4e, 0xca, 0xd1, 0xa4, 0x55, 0xd9, 0x7b, 0x4c, 0x1f, 0xc2, 0x42, 0x28, 0x5a, 0x15, 0xc, 0x48, 0x1, 0x36, 0x40, 0x3d, 0xfb, 0xb1, 0x16, 0x23, 0x5a, 0xb4, 0x65, 0xc5, 0x68, 0xaa, 0xca, 0x1b, 0xbb, 0x88, 0x2f, 0x2d, 0x5b, 0xa1, 0xbd, 0x66, 0x4e, 0xaf, 0x25, 0x41, 0x2f, 0xdb, 0x94, 0x56, 0x49, 0xcf, 0xcb, 0x27, 0xbb, 0x7, 0x0, 0xa9, 0x5c, 0x1d, 0xf7, 0xd, 0x3b, 0xd1, 0xde, 0xb8, 0x66, 0x97, 0x78, 0xcd, 0xaa, 0xf2, 0xb5, 0x75, 0xdd, 0x65, 0x8b, 0x1e, 0x76, 0x11, 0x28, 0xe, 0x65, 0x50, 0xb7, 0xe4, 0xa0, 0x5a, 0xec, 0xfa, 0x5e, 0x1d, 0xce, 0x8d, 0xb9, 0xa2, 0x62, 0xc4, 0x4b, 0xe5, 0xd0, 0x2d, 0x77, 0x25, 0xdd, 0xc2, 0x51, 0x8b, 0xdd, 0x21, 0xc3, 0x94, 0x2e, 0x85, 0x7, 0x6c, 0x38, 0xcc, 0x4d, 0xde, 0x0, 0x94, 0x63, 0x9d, 0xd0, 0x1f, 0x6c, 0x92, 0x4f, 0xae, 0x9e, 0xe0, 0x7d, 0xfa, 0x8b, 0x78, 0x24, 0x13, 0xca, 0x67, 0x81, 0xb7, 0x29, 0xd5, 0x44, 0xf0, 0x64, 0x57, 0x9d, 0x4d, 0xb5, 0x30, 0xe4, 0x63, 0xb3, 0xe7, 0x14, 0x99, 0xf8, 0xc5, 0xd0, 0xd7, 0xa4, 0xda, 0x15, 0xdf, 0xd2, 0x7f, 0x9a, 0x87, 0x41, 0x5a, 0x94, 0x82, 0x8, 0xda, 0x8b, 0x6b, 0xd1, 0x9, 0xdb, 0x2f, 0x58, 0x3b, 0xfe, 0xd3, 0xff, 0xb9, 0x21, 0x8f, 0xc3, 0x30, 0x66, 0xda, 0x37, 0x1d, 0xbe, 0x81, 0x8a, 0x51, 0xec, 0xd9, 0x22, 0x86, 0x91, 0x2, 0xe6, 0xbf, 0x5a, 0xe8, 0x5a, 0xe7, 0xb7, 0xeb, 0x45, 0xf0, 0xd0, 0x47, 0x48, 0xfa, 0xe9, 0x60, 0xcc, 0xb6, 0x1d, 0xc7, 0x76, 0x60, 0xb1, 0xdc, 0x93, 0x35, 0xc7, 0xcc, 0xd2, 0x97, 0x1a, 0xec, 0x1b, 0x39, 0xda, 0x55, 0x7a, 0x69, 0xc7, 0xe9, 0x7e, 0xb6, 0x9d, 0xe4, 0x14, 0xb, 0x12, 0x7a, 0xcf, 0x96, 0x85, 0x27, 0xce, 0xbe, 0xfa, 0xa2, 0xe7, 0x2d, 0xa2, 0x5f, 0x57, 0xf8, 0x76, 0x0, 0x45, 0x15, 0xc5, 0x6d, 0x9, 0x23, 0x1b, 0x38, 0x75, 0x75, 0xab, 0xb9, 0x89, 0x41, 0xbe, 0x96, 0x35, 0x22, 0xde, 0xfc, 0x56, 0xd9, 0x1e, 0xaa, 0x53, 0x6b, 0x7, 0x2e, 0xa4, 0x90, 0x81, 0x86, 0x67, 0x20, 0xc3, 0x19, 0x36, 0x60, 0x90, 0xc1, 0xd3, 0xf1, 0x91, 0xcd, 0x5d, 0x61, 0x58, 0x33, 0xd3, 0x81, 0x33, 0xeb, 0x4c, 0x69, 0x98, 0x34, 0x30, 0x69, 0xd3, 0xc6, 0xeb, 0xb3, 0x68, 0x33, 0x8a, 0x9d, 0x85, 0x8a, 0x97, 0x1a, 0xaa, 0x75, 0x35, 0xd3, 0x6b, 0xe9, 0x0, 0x76, 0xa4, 0xf6, 0x3b, 0x3f, 0x5e, 0xe7, 0xb6, 0xfb, 0x38, 0x16, 0x84, 0x71, 0xa6, 0x99, 0x4d, 0x4, 0x61, 0x8b, 0xea, 0x46, 0x9e, 0x1a, 0x6b, 0x8c, 0xf2, 0x8d, 0x40, 0x45, 0x4c, 0xcf, 0xed, 0x80, 0x8a, 0x27, 0x29, 0x8, 0xc7, 0x98, 0x8, 0x93, 0xf1, 0x51, 0x7, 0xfd, 0xc1, 0x37, 0x65, 0x13, 0x51, 0xc4, 0xb7, 0xeb, 0xfc, 0xcc, 0x1f, 0x99, 0x1e, 0xa3, 0x65, 0x44, 0x52, 0x3e, 0x5a, 0x6e, 0x15, 0xf9, 0xe6, 0xbe, 0xbe, 0x35, 0x1f, 0xbf, 0x16, 0xdc, 0xe0, 0x81, 0x7a, 0x13, 0x68, 0xb3, 0xcd, 0x91, 0xd6, 0x84, 0x53, 0x2e, 0x47, 0x1b, 0x36, 0x1, 0xbb, 0xd3, 0xb5, 0xa3, 0x7b, 0x92, 0x31, 0x24, 0xa5, 0x1a, 0x3a, 0x51, 0xa6, 0x2d, 0x3f, 0x44, 0xe0, 0xe9, 0xa, 0x3, 0xdc, 0x48, 0xa7, 0x6f, 0x4, 0xde, 0x1a, 0x8f, 0xd2, 0x3e, 0x23, 0xdd, 0xd4, 0x2c, 0xc4, 0x46, 0xee, 0xa4, 0xbf, 0xd1, 0x7b, 0x2b, 0x4f, 0xf9, 0xab, 0x15, 0x17, 0x5b, 0x83, 0x37, 0xb7, 0xc5, 0xb9, 0x14, 0x92, 0x68, 0xc9, 0x46, 0x23, 0x90, 0x78, 0x1d, 0x5d, 0x5c, 0x25, 0x63, 0x59, 0xf7, 0x86, 0xb, 0xdc, 0x2b, 0x33, 0xc6, 0xd7, 0x16, 0xb3, 0xa6, 0xd5, 0xdc, 0xc8, 0x3b, 0x8b, 0x7b, 0x1b, 0x1f, 0xe9, 0x6b, 0x69, 0x65, 0xd1, 0xbe, 0xb7, 0x4a, 0x29, 0xab, 0xcc, 0x6c, 0x7f, 0xe1, 0xc7, 0x66, 0x31, 0xdc, 0x8, 0xfe, 0x9c, 0xba, 0x30, 0x44, 0x14, 0xe2, 0x31, 0x55, 0x97, 0x4b, 0x3e, 0x60, 0x30, 0x67, 0x7d, 0xb, 0xec, 0x77, 0x1c, 0xd9, 0x6b, 0xa3, 0x8e, 0x5d, 0x9f, 0x37, 0x1, 0x3b, 0x9b, 0x1f, 0xea, 0x6b, 0xe1, 0x4e, 0xbc, 0xf5, 0xad, 0x2, 0x9e, 0xea, 0xd4, 0xf6, 0x1, 0x79, 0x30, 0xbb, 0x4b, 0xa7, 0xcc, 0xee, 0xb2, 0x54, 0x9d, 0xb3, 0xe, 0x3a, 0x42, 0x2e, 0x51, 0xe7, 0x6c, 0xda, 0x98, 0x93, 0x32, 0x6b, 0x8c, 0x4f, 0x2d, 0x61, 0x46, 0x2b, 0x61, 0x6c, 0x93, 0xc0, 0xd6, 0x24, 0x9a, 0x98, 0x4b, 0x5, 0xd6, 0xac, 0xf9, 0x55, 0xba, 0xd8, 0x1c, 0xc, 0xed, 0xc9, 0xbd, 0x48, 0xdd, 0x22, 0xee, 0x5, 0xd5, 0x6b, 0xaa, 0xee, 0x3b, 0xff, 0xce, 0x21, 0x37, 0xbf, 0x9b, 0xff, 0xf8, 0xa7, 0xf9, 0xdb, 0x33, 0xdc, 0x8e, 0x65, 0x90, 0x1b, 0xe1, 0xbb, 0x81, 0x2f, 0xaa, 0x45, 0x17, 0x85, 0x39, 0x46, 0x9, 0x76, 0x1e, 0x73, 0xe2, 0x80, 0x39, 0x7c, 0x76, 0xbe, 0x44, 0xe2, 0x1, 0x24, 0xcd, 0x32, 0xf7, 0xb6, 0x34, 0x5c, 0x3a, 0x63, 0x13, 0xa6, 0x3f, 0x5a, 0x7, 0xf7, 0xe2, 0xbf, 0xd1, 0x9, 0x14, 0x3, 0x47, 0x99, 0x22, 0x74, 0xca, 0xf0, 0x43, 0xc9, 0x52, 0xc7, 0xf0, 0x6d, 0xda, 0xce, 0x8e, 0x79, 0xa9, 0xfc, 0xe6, 0xa8, 0xec, 0xe, 0x33, 0xa6, 0x92, 0x9c, 0x27, 0x22, 0x9f, 0x66, 0xee, 0x9b, 0xa0, 0xf1, 0xc2, 0xda, 0xeb, 0xd2, 0x7f, 0x66, 0x6c, 0x8, 0xc9, 0x2c, 0x89, 0x2e, 0x37, 0x7a, 0xc3, 0x85, 0x3, 0xb6, 0xde, 0xea, 0xa, 0xf4, 0x51, 0xf3, 0x80, 0x88, 0x46, 0x1d, 0x9, 0x86, 0x43, 0x48, 0xea, 0x23, 0xbe, 0xec, 0xa, 0xde, 0xfa, 0xfd, 0x3a, 0xd, 0x53, 0x8e, 0xee, 0xc0, 0xa9, 0x2f, 0x3b, 0x2c, 0x48, 0x6a, 0xd, 0xd9, 0xe1, 0x6, 0x32, 0x48, 0x5c, 0x98, 0x42, 0x40, 0x22, 0x2d, 0x94, 0x1d, 0x2a, 0x1b, 0xd8, 0x42, 0x11, 0x62, 0x6e, 0x86, 0x7b, 0x8c, 0xa9, 0xee, 0xac, 0x63, 0xda, 0xe2, 0xe, 0x4b, 0x3b, 0xa6, 0xf, 0xaa, 0xd9, 0x56, 0x72, 0xf5, 0x87, 0x99, 0xd3, 0xbf, 0x2b, 0x20, 0x77, 0x5f, 0x7c, 0xdd, 0xd3, 0xdf, 0x8a, 0x84, 0xcc, 0xd7, 0x46, 0xcf, 0xba, 0xb, 0xc1, 0x16, 0x74, 0x32, 0x8e, 0x90, 0x92, 0xe0, 0x60, 0x8d, 0x24, 0x1f, 0xe4, 0x71, 0x56, 0xa0, 0x7d, 0x1c, 0x59, 0x79, 0x3c, 0x9b, 0x92, 0xaa, 0xdb, 0x4e, 0x3f, 0xd9, 0x54, 0xcd, 0xa7, 0xe1, 0x8c, 0xdb, 0x2, 0x57, 0x3e, 0x2d, 0x41, 0x81, 0xe9, 0x31, 0x66, 0x61, 0xee, 0x3, 0x29, 0x46, 0x68, 0xbc, 0x42, 0xb9, 0xce, 0x2d, 0x2d, 0x4b, 0x49, 0x44, 0x1, 0x5b, 0x73, 0x29, 0xbc, 0x1, 0xad, 0x2a, 0xf3, 0x59, 0x27, 0x7b, 0xd0, 0x57, 0xc3, 0x92, 0x14, 0x19, 0x7b, 0x7, 0x43, 0x3f, 0xe8, 0xc, 0x2c, 0x25, 0x60, 0x54, 0x6, 0xa6, 0xf4, 0xb7, 0xd9, 0x23, 0xbb, 0xe4, 0x6, 0x4d, 0x7b, 0x33, 0xf2, 0x37, 0x33, 0x7f, 0x8c, 0x95, 0x76, 0x1e, 0x89, 0x41, 0xa2, 0xf2, 0xf8, 0xe8, 0x39, 0x14, 0x20, 0x13, 0xfa, 0x87, 0x90, 0x45, 0xee, 0x6d, 0x5, 0xba, 0x4b, 0x7e, 0x2e, 0xe4, 0x65, 0x74, 0x15, 0x85, 0x55, 0x5d, 0x3, 0x57, 0x75, 0x68, 0x7c, 0x23, 0x70, 0xba, 0xf0, 0x28, 0x1d, 0x60, 0x55, 0x76, 0x4a, 0x80, 0xea, 0xc8, 0x4d, 0x79, 0x28, 0x7, 0x27, 0x21, 0xc4, 0xc6, 0x22, 0x6d, 0x3c, 0x55, 0x8a, 0x8d, 0xb8, 0x2d, 0x70, 0x8d, 0xe1, 0xb1, 0x29, 0x93, 0x90, 0x68, 0x97, 0x56, 0xc4, 0x42, 0xa4, 0xe1, 0x80, 0xe4, 0x9f, 0x21, 0x44, 0x12, 0x42, 0x7e, 0x3f, 0xb9, 0xbe, 0xe8, 0x5d, 0x7c, 0xf9, 0x48, 0xec, 0x9e, 0x92, 0x12, 0x94, 0x5d, 0xd6, 0x28, 0x32, 0x3, 0xf4, 0x7, 0x34, 0xa7, 0xcc, 0xc7, 0x4e, 0x9d, 0x5c, 0xf5, 0xf0, 0x6f, 0x9f, 0x47, 0x3f, 0xcc, 0x4c, 0xc5, 0x78, 0x71, 0x2c, 0xeb, 0x53, 0xd8, 0x34, 0xe1, 0xff, 0x1b, 0x46, 0xe1, 0x3d, 0xd1, 0x4d, 0x9b, 0x76, 0x6e, 0x3f, 0xf, 0x7d, 0xdf, 0x4a, 0x1b, 0x7c, 0xb, 0x75, 0xa0, 0xbd, 0x73, 0x64, 0x21, 0xb3, 0x16, 0x9c, 0xc7, 0x9c, 0xbe, 0xa1, 0xc8, 0x32, 0xf1, 0x88, 0x27, 0x74, 0xce, 0x52, 0x63, 0xb9, 0xbe, 0x44, 0x7f, 0xf6, 0x82, 0xf9, 0x1f, 0x91, 0x81, 0x44, 0x4f, 0xf7, 0x54, 0x3c, 0x72, 0xa3, 0x93, 0x7a, 0xd8, 0x88, 0x96, 0xaa, 0x63, 0xc3, 0x20, 0xc4, 0x10, 0x63, 0x99, 0x41, 0xaa, 0xf8, 0xa1, 0x9f, 0x41, 0x5c, 0xfa, 0x48, 0xcd, 0xa5, 0xd3, 0xed, 0x90, 0x4f, 0x34, 0xb9, 0xcf, 0x84, 0x1d, 0x1d, 0x42, 0x4f, 0xf1, 0xa9, 0xab, 0x4b, 0x71, 0x92, 0x68, 0xf6, 0x60, 0xbe, 0xc6, 0xd2, 0x1e, 0x75, 0x18, 0x31, 0xb7, 0x0, 0xbb, 0xa, 0xe, 0x1, 0x11, 0xbc, 0x38, 0x26, 0xd5, 0xf5, 0xfa, 0xe4, 0xeb, 0xf2, 0xf9, 0xd6, 0xef, 0x19, 0x5f, 0x2b, 0xf4, 0xff, 0x9d, 0x3b, 0xd4, 0x1f, 0xc9, 0xed, 0xc9, 0xcd, 0xaf, 0xfd, 0x7f, 0x7e, 0x3f, 0xff, 0x7e, 0xde, 0xff, 0xb5, 0x77, 0x71, 0xd6, 0xbf, 0xb8, 0xbc, 0xfe, 0x76, 0xf2, 0xb5, 0xfb, 0x6e, 0xc9, 0xb8, 0xea, 0x23, 0xe2, 0xab, 0x8d, 0x2d, 0xa, 0x83, 0xaf, 0xef, 0x78, 0xe9, 0x6b, 0x37, 0xb7, 0xbd, 0xd3, 0x5f, 0xff, 0xb5, 0xf4, 0xb5, 0xdf, 0x2f, 0xaf, 0x7f, 0x3d, 0xbf, 0xee, 0x9f, 0x5e, 0x7e, 0xfb, 0x76, 0x72, 0x71, 0x76, 0xb3, 0x7c, 0x4d, 0x49, 0x7d, 0x7c, 0x7c, 0xed, 0x56, 0x9a, 0xd7, 0xb2, 0x67, 0xd6, 0x10, 0xea, 0xd, 0x87, 0xc4, 0xec, 0x1a, 0xf9, 0xc7, 0x3f, 0x1a, 0xe6, 0x88, 0x6a, 0x81, 0x4b, 0x6f, 0x69, 0x33, 0x9e, 0x1a, 0xa0, 0xa5, 0xcc, 0x21, 0xb, 0xc7, 0x9c, 0x76, 0xc3, 0x78, 0x25, 0xf0, 0x1, 0xe, 0x2f, 0xd2, 0x27, 0xc6, 0x54, 0xbb, 0xdc, 0x99, 0x2c, 0xb9, 0x9f, 0x15, 0xaa, 0x84, 0x22, 0x32, 0xe7, 0x28, 0x3e, 0x88, 0xe7, 0xe5, 0x73, 0x28, 0xd6, 0xe6, 0x76, 0x36, 0x7d, 0xde, 0xa2, 0x90, 0x9c, 0x97, 0x79, 0xf6, 0xde, 0x7, 0xb, 0x73, 0xfb, 0xaf, 0xab, 0x28, 0xad, 0xc2, 0x7, 0xb7, 0x3c, 0x5e, 0x7, 0xc0, 0x92, 0x66, 0xf3, 0x5f, 0x18, 0x3a, 0xf8, 0xfc, 0xf5, 0xf2, 0xf7, 0xf, 0x85, 0xc2, 0x91, 0xab, 0x38, 0xdf, 0x3, 0x21, 0xe4, 0xd2, 0x28, 0x1b, 0xaa, 0x48, 0xc2, 0xcc, 0xca, 0x56, 0x27, 0x22, 0x5, 0xf2, 0x3e, 0x37, 0xaa, 0x70, 0x89, 0x20, 0x7d, 0xb3, 0x16, 0xea, 0xce, 0xbc, 0x77, 0x7e, 0xf1, 0xcb, 0xc9, 0xc5, 0xe9, 0xf9, 0x99, 0x7d, 0x91, 0x71, 0xa5, 0x81, 0x96, 0xf9, 0x8c, 0x9b, 0xd6, 0x72, 0xe9, 0xe1, 0xa9, 0x4e, 0x76, 0xe9, 0xbb, 0x7e, 0x9a, 0x4b, 0x5f, 0x3c, 0x39, 0xbd, 0xed, 0xfd, 0xd6, 0xbb, 0x5d, 0x78, 0x80, 0xf0, 0x45, 0x4c, 0x39, 0xb1, 0x81, 0x63, 0x23, 0xc1, 0xac, 0xaa, 0xe1, 0xdc, 0x6b, 0x69, 0x93, 0xd7, 0xf8, 0x19, 0xb2, 0x2c, 0x55, 0x84, 0x86, 0x3a, 0xb3, 0x1b, 0xa4, 0x11, 0x71, 0xcf, 0xa6, 0xf0, 0x5e, 0x2d, 0x5d, 0xf3, 0xc5, 0x39, 0x73, 0xed, 0x28, 0x4f, 0xab, 0x35, 0x98, 0x56, 0x1d, 0x66, 0x29, 0xad, 0x93, 0xb9, 0x36, 0xd6, 0x1f, 0x8c, 0xcb, 0x45, 0x5c, 0xf0, 0xd3, 0xb9, 0x34, 0xf8, 0x6b, 0xd7, 0x2b, 0x2b, 0xcc, 0x3a, 0x47, 0x98, 0x61, 0xfc, 0xce, 0x4e, 0xb7, 0x8f, 0xab, 0x7b, 0xe7, 0xc9, 0x76, 0x3e, 0x21, 0xae, 0xe1, 0x7e, 0x73, 0xc6, 0x9, 0x97, 0xa9, 0xcc, 0x1f, 0x27, 0x37, 0xd8, 0xd, 0xa7, 0x63, 0xa6, 0x53, 0xf6, 0x4d, 0xa4, 0xcf, 0x81, 0x92, 0xd0, 0x94, 0x55, 0x39, 0xa5, 0xca, 0x27, 0xf5, 0x35, 0xc8, 0x97, 0x96, 0xef, 0xc5, 0xf3, 0xb7, 0xf6, 0xe4, 0x42, 0x85, 0xc2, 0x4f, 0xb5, 0xc0, 0xf5, 0x2b, 0x12, 0x5b, 0x3a, 0x82, 0xfc, 0x48, 0xce, 0xce, 0x3f, 0x9f, 0x7c, 0xff, 0x7a, 0xeb, 0xf0, 0x82, 0xd, 0xad, 0xb1, 0xfe, 0x3, 0x11, 0x32, 0xee, 0xbc, 0xd2, 0xc7, 0xa9, 0xe0, 0x98, 0xfc, 0x8, 0xeb, 0x4e, 0x8a, 0x24, 0xc7, 0x8a, 0x88, 0xda, 0xa7, 0x56, 0xc2, 0x8a, 0x62, 0x16, 0xf9, 0x4d, 0xc7, 0x3c, 0x5, 0xa9, 0xb4, 0x51, 0xe5, 0xec, 0x7d, 0x83, 0x9d, 0xc, 0x5e, 0xd, 0x84, 0xd8, 0xf5, 0x34, 0xf0, 0x39, 0x3b, 0xbf, 0x39, 0xbd, 0xee, 0x7d, 0x3a, 0xef, 0x7, 0x38, 0xf0, 0xed, 0xf2, 0x6c, 0x31, 0xa, 0x35, 0x7e, 0xe4, 0xe7, 0xbc, 0x1, 0xfc, 0xf0, 0x15, 0xf6, 0x7c, 0xdd, 0xb6, 0xb5, 0xce, 0x81, 0xcf, 0xcd, 0x5d, 0x78, 0x8d, 0x79, 0x61, 0x7a, 0x45, 0x6b, 0x10, 0x95, 0x92, 0xce, 0xa2, 0xdf, 0x99, 0x86, 0x89, 0xaa, 0x2e, 0xdf, 0x42, 0xde, 0x58, 0x4c, 0x20, 0xe7, 0xee, 0x4f, 0x58, 0x4b, 0x54, 0xb, 0xf3, 0x8b, 0x7, 0x4d, 0xc4, 0xf6, 0xd3, 0xc5, 0xd3, 0x68, 0x3a, 0x65, 0xc5, 0xd0, 0x68, 0x96, 0xa1, 0x9c, 0xff, 0x2c, 0xde, 0xed, 0xc6, 0x49, 0xb3, 0xc, 0xdd, 0xed, 0x1e, 0xa0, 0x6c, 0x9f, 0x9c, 0x14, 0xd6, 0x39, 0xa6, 0x8c, 0x18, 0xa3, 0x58, 0xa, 0x12, 0x52, 0xff, 0x22, 0x1b, 0x1e, 0x79, 0xfc, 0xc8, 0xa8, 0xd2, 0x64, 0x8, 0x8f, 0x64, 0xc2, 0x78, 0xae, 0x41, 0x1d, 0xc5, 0x6b, 0xcd, 0x34, 0xa6, 0x4a, 0x1f, 0xd3, 0xa8, 0xde, 0xa0, 0x44, 0x35, 0x48, 0x1d, 0x99, 0xbf, 0xdc, 0x1b, 0x3, 0x70, 0xc9, 0x9e, 0x7c, 0xee, 0x56, 0x31, 0x24, 0x9, 0x48, 0x23, 0x3f, 0x85, 0x68, 0x66, 0x8e, 0x76, 0x42, 0xb3, 0x6c, 0x45, 0x82, 0x68, 0x5a, 0xc9, 0x48, 0x0, 0xda, 0xc, 0x54, 0x93, 0xf7, 0x54, 0x19, 0x1d, 0x4a, 0x7b, 0x77, 0x98, 0x18, 0xc5, 0x3c, 0x6e, 0x31, 0xc1, 0x3f, 0x54, 0x50, 0xe5, 0x36, 0x66, 0x8e, 0xae, 0x94, 0x10, 0x32, 0x2a, 0x54, 0xf3, 0x50, 0xfb, 0xc4, 0x64, 0x5f, 0x5c, 0xe8, 0x32, 0xad, 0xf1, 0x11, 0x6e, 0x9d, 0xfd, 0x82, 0x4a, 0x8, 0xb6, 0x69, 0xa3, 0x87, 0xa5, 0xe, 0x7f, 0xd6, 0x13, 0x7f, 0xd6, 0x10, 0x80, 0xd6, 0x10, 0x81, 0x56, 0x13, 0x82, 0x16, 0xc0, 0xd8, 0x4a, 0x82, 0xd0, 0xd5, 0x9c, 0xba, 0xfe, 0x1a, 0x14, 0xe2, 0xc4, 0x96, 0x2c, 0xb6, 0x21, 0x20, 0xd3, 0x69, 0x94, 0xb1, 0x6c, 0x91, 0xcf, 0xe2, 0x48, 0x6f, 0x40, 0xdc, 0x32, 0x74, 0x5a, 0x53, 0x33, 0xf7, 0x95, 0x17, 0x5, 0xa7, 0x1d, 0x15, 0x32, 0x9e, 0x17, 0x3f, 0x8b, 0xb2, 0xaf, 0x66, 0x49, 0xf0, 0xd4, 0x98, 0x8f, 0xec, 0x2a, 0xbd, 0x9f, 0x6f, 0xc0, 0x19, 0x67, 0xed, 0xac, 0xa1, 0x52, 0x3e, 0x69, 0xa, 0xb2, 0xfc, 0xfc, 0x49, 0x62, 0xec, 0x1b, 0xb1, 0x48, 0xce, 0xd9, 0x89, 0xf6, 0xc2, 0x14, 0xb9, 0x41, 0x1f, 0xd4, 0x39, 0x5f, 0x98, 0x8b, 0xc2, 0xb9, 0x93, 0x29, 0xd4, 0x6b, 0x4b, 0x6f, 0x7, 0x57, 0x2d, 0x25, 0x30, 0x39, 0xf2, 0xb4, 0xea, 0xb8, 0x3a, 0xc4, 0x12, 0xe1, 0x23, 0xa6, 0xb4, 0x1, 0xf9, 0x72, 0xfa, 0x8b, 0x33, 0xa9, 0x54, 0xba, 0x76, 0xaf, 0xec, 0x80, 0xb1, 0xef, 0x75, 0x9d, 0x32, 0x8a, 0x5, 0x69, 0xa1, 0x3b, 0x46, 0x30, 0xb7, 0x3d, 0x38, 0xb1, 0xee, 0x66, 0xb0, 0x2c, 0x19, 0xed, 0x2f, 0x9, 0xd5, 0xf1, 0x9f, 0xe5, 0x8f, 0x7d, 0xf7, 0x63, 0x37, 0xf8, 0x29, 0xb8, 0x5e, 0xd8, 0xdc, 0x51, 0x8f, 0xb3, 0xc, 0xb8, 0x9b, 0xbf, 0xb2, 0x6a, 0xb2, 0xbf, 0x4, 0xc, 0xd3, 0x2a, 0x6e, 0xa2, 0xbc, 0x7e, 0xd9, 0x5a, 0x7d, 0x9d, 0xfd, 0x9a, 0xf4, 0x6, 0xd, 0x95, 0xf3, 0x77, 0x7, 0x21, 0xea, 0xea, 0x81, 0x37, 0xed, 0x63, 0x3b, 0xb1, 0x6a, 0xe1, 0x46, 0xb5, 0xa, 0xb9, 0x96, 0xcc, 0xf4, 0x80, 0x63, 0xcb, 0x70, 0xac, 0xf6, 0x25, 0x34, 0xc2, 0xf4, 0xd9, 0xd6, 0xea, 0x2a, 0x1a, 0x98, 0x73, 0xb7, 0x13, 0x65, 0xef, 0x5e, 0xdc, 0xee, 0x6e, 0x16, 0xe1, 0x56, 0x1, 0x36, 0x3f, 0xae, 0x3, 0xb4, 0x6d, 0x66, 0x24, 0x9e, 0x7e, 0x5e, 0x6a, 0x8, 0xf, 0xd1, 0x3e, 0x91, 0x55, 0x34, 0xcb, 0x39, 0x1f, 0xc8, 0xf9, 0x69, 0xdc, 0x3d, 0xeb, 0xb2, 0x2c, 0xad, 0x52, 0x91, 0x37, 0x6d, 0x3e, 0x43, 0xff, 0x3d, 0xf1, 0xe5, 0x8d, 0x58, 0x4d, 0xf9, 0x25, 0xd7, 0x8d, 0x4f, 0x8, 0x60, 0x34, 0x83, 0x40, 0x7e, 0xb0, 0x16, 0x64, 0xea, 0x75, 0xe6, 0xf9, 0x2, 0x77, 0x84, 0x43, 0x2, 0x4a, 0x51, 0xc9, 0xb2, 0x99, 0xef, 0x26, 0x68, 0x6a, 0x4e, 0x5b, 0x70, 0xff, 0x6e, 0x31, 0x52, 0x6e, 0x32, 0xf0, 0x39, 0x94, 0xc5, 0x30, 0x5a, 0x4a, 0xf3, 0xd9, 0x1d, 0x6a, 0x25, 0x77, 0x9e, 0x28, 0xee, 0x5c, 0xeb, 0xd9, 0xac, 0x9c, 0x86, 0xaa, 0x94, 0xe9, 0x32, 0xff, 0x6a, 0xe6, 0xc3, 0xcb, 0x5a, 0x4d, 0x3, 0x48, 0x68, 0xae, 0xa2, 0x29, 0xe2, 0x53, 0xb4, 0x69, 0xc5, 0xc3, 0xaf, 0x49, 0x1a, 0xb9, 0xa1, 0x1d, 0x2d, 0x7f, 0x59, 0xf7, 0x9a, 0xb8, 0x17, 0xce, 0x1c, 0x6a, 0xe4, 0xbd, 0x68, 0x4b, 0x99, 0xaa, 0xdb, 0xb7, 0xb5, 0x27, 0x50, 0xda, 0x63, 0x8a, 0xb, 0xa7, 0x67, 0xde, 0xd6, 0x15, 0xb6, 0x23, 0xe5, 0x6e, 0x2b, 0xc6, 0xf4, 0x1, 0xac, 0x51, 0x16, 0xad, 0x4d, 0x69, 0x11, 0x6e, 0x31, 0xf, 0xee, 0x6d, 0x35, 0x7c, 0xb4, 0x5a, 0x18, 0xd9, 0x40, 0xd6, 0xa4, 0xd0, 0xbe, 0xa1, 0x20, 0x45, 0x42, 0x9a, 0x50, 0x9e, 0xd3, 0xcc, 0xb6, 0xed, 0x50, 0xe4, 0xb7, 0xe2, 0x56, 0xe1, 0xbb, 0xb2, 0x99, 0xe0, 0x5d, 0xd7, 0x84, 0x16, 0xe7, 0x2, 0xdd, 0x87, 0xb1, 0xde, 0x3, 0x5a, 0xe7, 0xc2, 0xfa, 0x6e, 0xa5, 0x47, 0x56, 0x22, 0x78, 0x8a, 0x95, 0x98, 0x2c, 0x36, 0x4c, 0x20, 0x5a, 0xb0, 0xe, 0xe9, 0xf9, 0x62, 0x9c, 0x78, 0x12, 0x4f, 0x7d, 0xe1, 0x65, 0x49, 0xae, 0xe9, 0x64, 0x6a, 0x1a, 0x28, 0x7a, 0x1b, 0x62, 0x46, 0xf9, 0x72, 0x67, 0xbb, 0xd5, 0x76, 0xc6, 0xd4, 0x34, 0xe4, 0xaf, 0x3b, 0xbc, 0xbd, 0xf5, 0x3d, 0x17, 0xbc, 0x8, 0xcc, 0xd, 0x8f, 0x8c, 0x43, 0x35, 0xdf, 0x3e, 0x9e, 0x1d, 0xf7, 0xd1, 0x87, 0x86, 0x21, 0xa6, 0x92, 0x32, 0x74, 0xe5, 0x78, 0xaf, 0xc0, 0xc3, 0xc6, 0x1c, 0xa9, 0xf5, 0xf8, 0x50, 0x74, 0xf1, 0x4d, 0x3a, 0x82, 0x3e, 0xe3, 0x43, 0xf1, 0xc1, 0x49, 0x4f, 0xc5, 0x5a, 0x44, 0xdb, 0x6f, 0xd6, 0x76, 0x0, 0x44, 0xdd, 0xb3, 0xe9, 0xd4, 0x1e, 0xd9, 0x29, 0x55, 0xca, 0xf4, 0x72, 0x67, 0x7e, 0xeb, 0xf8, 0xa6, 0xfe, 0x61, 0xf8, 0xf4, 0xdd, 0xab, 0xc8, 0x67, 0x66, 0xe3, 0xf, 0xd2, 0xd9, 0x41, 0x3a, 0x3b, 0x48, 0x67, 0x7, 0xe9, 0xac, 0xa5, 0xd2, 0x99, 0x81, 0xda, 0x33, 0x87, 0xb4, 0xcf, 0xa0, 0xc2, 0x2b, 0xaa, 0xf0, 0x2a, 0x78, 0x28, 0x64, 0x2, 0x25, 0x47, 0x85, 0x7, 0xe0, 0xbe, 0x1e, 0x79, 0x30, 0x70, 0xcf, 0x4f, 0xba, 0xa4, 0xe7, 0x7c, 0x10, 0x13, 0xaa, 0xc0, 0x57, 0x63, 0xe1, 0x64, 0xca, 0x38, 0xaf, 0x5e, 0x65, 0x3d, 0x3a, 0x1e, 0x5f, 0x7a, 0x7, 0x29, 0x9d, 0x27, 0xf7, 0xae, 0xcc, 0xb7, 0x65, 0xe5, 0xd9, 0x8c, 0x58, 0x88, 0xd7, 0x82, 0x50, 0x2e, 0xf4, 0x18, 0xca, 0xc8, 0x9d, 0xc1, 0xcc, 0xdd, 0x2e, 0x78, 0x61, 0xa1, 0xa8, 0x61, 0x71, 0x89, 0x53, 0x7a, 0xe6, 0xad, 0xe3, 0x53, 0x92, 0xf8, 0xd9, 0x8e, 0x2d, 0x13, 0x3b, 0xa4, 0xf3, 0x9b, 0x4b, 0xe7, 0xd7, 0x6a, 0x91, 0xf6, 0xff, 0xbc, 0xaa, 0x85, 0xad, 0xc, 0xa6, 0x9f, 0x4c, 0xf3, 0x22, 0xa8, 0xfe, 0x2f, 0x84, 0x7c, 0xdc, 0x46, 0x4c, 0xbd, 0x65, 0x7, 0xa6, 0x23, 0x77, 0x4b, 0x48, 0xa8, 0xd6, 0x34, 0x19, 0xbb, 0x83, 0xba, 0xe8, 0xde, 0xa1, 0x58, 0xd5, 0x97, 0x12, 0xfa, 0x4a, 0x8c, 0xa8, 0x21, 0xbd, 0x53, 0x3b, 0x8b, 0xdd, 0x8d, 0x6d, 0x3f, 0x48, 0x80, 0xaf, 0x7c, 0x53, 0xbb, 0xa, 0xe1, 0xb4, 0xea, 0x2a, 0x64, 0x9d, 0x69, 0x1f, 0x70, 0x7b, 0x53, 0xb8, 0x3d, 0x1, 0x4d, 0x53, 0xaa, 0xe9, 0x16, 0x11, 0x3b, 0x57, 0x20, 0x3b, 0xb6, 0xfc, 0xaa, 0xef, 0xed, 0xad, 0xc2, 0xf6, 0xb7, 0x72, 0xb5, 0xc8, 0x1, 0xb1, 0xf, 0x88, 0xbd, 0xa, 0x74, 0x79, 0x9a, 0xd9, 0x1f, 0xb0, 0x2e, 0x67, 0x7c, 0xc0, 0xe9, 0x67, 0xe3, 0xf4, 0x3, 0xcd, 0xd8, 0xf6, 0x25, 0xec, 0xdf, 0x5c, 0x2f, 0xb5, 0x32, 0xf6, 0x23, 0xd3, 0x63, 0x91, 0x6b, 0x7, 0xda, 0xae, 0x38, 0xc0, 0xce, 0x1, 0xb7, 0x9f, 0xc2, 0x41, 0xe2, 0x3e, 0xe0, 0xf7, 0x9a, 0xf8, 0xbd, 0xe, 0xe9, 0xb4, 0xa, 0xc6, 0xd7, 0x9b, 0x78, 0x1b, 0xd0, 0x7c, 0x5d, 0x2c, 0xdf, 0x74, 0xaa, 0x15, 0x5b, 0x3, 0x81, 0x66, 0xd9, 0x3c, 0x76, 0x2a, 0x1b, 0x1, 0x4d, 0x25, 0x10, 0x2d, 0x69, 0x72, 0x5f, 0x46, 0x2b, 0x5e, 0xd4, 0x58, 0x98, 0x5f, 0xa, 0x56, 0xcd, 0x80, 0xab, 0xe4, 0xb1, 0x93, 0x89, 0x55, 0xa6, 0xab, 0x15, 0x96, 0x7c, 0x7e, 0x52, 0xa5, 0xa7, 0x55, 0x89, 0x5c, 0x79, 0x3e, 0xa4, 0xa1, 0xce, 0xe3, 0x1b, 0x81, 0x94, 0x5a, 0x7a, 0xd9, 0x53, 0xec, 0x8, 0x45, 0xbb, 0x8b, 0x2d, 0x26, 0x75, 0x51, 0x75, 0xa2, 0xd8, 0xe, 0xf9, 0x21, 0xee, 0x22, 0x5c, 0x2c, 0xbc, 0x5d, 0xdb, 0xcf, 0x64, 0x4c, 0x4d, 0xdb, 0xd7, 0x8e, 0xd3, 0xfb, 0x82, 0xd1, 0xe, 0x3b, 0x18, 0xe5, 0xf0, 0xd6, 0x8f, 0xe0, 0xa2, 0x2b, 0xe3, 0xdb, 0x32, 0xcf, 0x4c, 0xd3, 0x7d, 0xb7, 0x70, 0x15, 0x25, 0x31, 0x9e, 0xb8, 0x4e, 0x6f, 0x35, 0x3a, 0x6e, 0x4c, 0x58, 0x78, 0x41, 0x8a, 0xcd, 0xd2, 0x4c, 0x2, 0x4d, 0x67, 0xb6, 0x68, 0x82, 0x3a, 0xc2, 0xfa, 0x9, 0x48, 0xd8, 0x73, 0xd9, 0x21, 0x5b, 0xa0, 0xb, 0xd5, 0x93, 0x4f, 0xab, 0xb4, 0x9e, 0xa6, 0x29, 0xb6, 0x3, 0xe5, 0x36, 0xe9, 0xe0, 0xe8, 0x2b, 0x44, 0x4a, 0x48, 0x84, 0x4c, 0x95, 0x39, 0x60, 0xef, 0x29, 0x27, 0x22, 0x4b, 0x3f, 0x84, 0x70, 0x47, 0x4e, 0xc2, 0x38, 0x88, 0x84, 0x3a, 0xcf, 0xc6, 0x81, 0xf3, 0xdf, 0x30, 0x28, 0x16, 0x64, 0x80, 0x62, 0x85, 0xa3, 0x61, 0xe1, 0xc8, 0xc1, 0x9, 0x7b, 0x1d, 0x79, 0xa5, 0xce, 0x3b, 0xe0, 0xad, 0x43, 0xe5, 0xeb, 0xd6, 0x93, 0x3c, 0xb8, 0xa2, 0xac, 0xe5, 0x8a, 0xd2, 0xe, 0xd4, 0x79, 0xbe, 0x66, 0x74, 0xac, 0x40, 0x77, 0x5c, 0xfa, 0x64, 0x6f, 0x3f, 0xff, 0xb8, 0x61, 0xa9, 0xed, 0x6, 0xf4, 0x31, 0x66, 0x3c, 0x8a, 0x3c, 0xa5, 0x3, 0xf7, 0xe8, 0x3a, 0x2d, 0x8a, 0x9c, 0xe4, 0x5a, 0x4c, 0xa8, 0x66, 0x9, 0x7a, 0x85, 0xe1, 0xf7, 0xd6, 0x4a, 0xee, 0xfc, 0xab, 0xcb, 0x25, 0x2b, 0xe0, 0x6c, 0xe8, 0x1c, 0x22, 0x43, 0x67, 0x35, 0x9b, 0xc7, 0xc9, 0x74, 0x4e, 0x95, 0xef, 0xfb, 0x15, 0x20, 0xef, 0x6, 0xe6, 0xb4, 0x73, 0x37, 0x98, 0x37, 0xe1, 0x8e, 0xfc, 0x12, 0xba, 0xda, 0xeb, 0xc8, 0x5d, 0x4b, 0x37, 0xa6, 0x55, 0x22, 0xd8, 0xa, 0xb3, 0x3d, 0xe0, 0x62, 0x81, 0x8b, 0x13, 0xca, 0xe9, 0x8, 0xe4, 0x76, 0xf1, 0xf0, 0x9b, 0xed, 0xa4, 0x17, 0x70, 0xec, 0xdd, 0xb0, 0x2a, 0xd5, 0xd0, 0x8a, 0x1b, 0xeb, 0x1, 0xab, 0x76, 0x6, 0xab, 0xdc, 0x8e, 0xb4, 0x1d, 0xa4, 0x8a, 0x69, 0x1e, 0xd0, 0xa9, 0x40, 0x27, 0x69, 0xe5, 0xa0, 0x97, 0x91, 0xda, 0x6a, 0x82, 0xda, 0xea, 0xcc, 0x39, 0x94, 0xa7, 0x18, 0xec, 0x66, 0xc6, 0x46, 0xa6, 0x20, 0x13, 0x83, 0x52, 0x23, 0xe8, 0x92, 0x53, 0x1b, 0x2b, 0x96, 0xbb, 0xc8, 0xbd, 0x72, 0xe5, 0x46, 0x92, 0xa6, 0x39, 0xcd, 0xec, 0x17, 0x98, 0xc8, 0xb2, 0x4c, 0x62, 0x68, 0x57, 0x42, 0x11, 0x2d, 0xc4, 0x6e, 0xe0, 0x9f, 0x5b, 0x85, 0x83, 0xc8, 0x56, 0x7c, 0xbf, 0x23, 0x30, 0x18, 0x6f, 0x4c, 0xdb, 0xd1, 0xb0, 0x3a, 0xdb, 0xfd, 0x1, 0x45, 0x2c, 0xdd, 0x10, 0x66, 0xcf, 0xdb, 0xf8, 0xcd, 0x5e, 0x25, 0x80, 0x70, 0x2e, 0x2d, 0xdd, 0x5d, 0x78, 0xc9, 0x50, 0x14, 0x70, 0x99, 0x4b, 0xea, 0xa7, 0x5, 0x49, 0xd, 0x26, 0x4c, 0x18, 0x7, 0xf2, 0x38, 0x6, 0x8c, 0x64, 0x2a, 0xb2, 0x97, 0x4c, 0xe8, 0xcc, 0xd9, 0xaf, 0x59, 0x9c, 0x40, 0xf3, 0xb6, 0x4c, 0x24, 0x88, 0x2f, 0x29, 0x57, 0xf5, 0x28, 0xc, 0xff, 0xf5, 0x5, 0xfc, 0x31, 0x48, 0x50, 0x48, 0x92, 0x39, 0x88, 0x56, 0x20, 0x1f, 0x40, 0x92, 0xa1, 0x19, 0x53, 0x99, 0x76, 0xd0, 0x7d, 0x34, 0xa1, 0x18, 0xa3, 0xab, 0x5, 0xbe, 0x8a, 0x5e, 0xc1, 0x65, 0xaf, 0x83, 0x32, 0xef, 0x6d, 0xf9, 0xe3, 0xef, 0x63, 0xe0, 0x7e, 0x2c, 0x6, 0xf9, 0x29, 0xc9, 0xa8, 0x1c, 0x1, 0xe1, 0xf9, 0x64, 0x0, 0x12, 0xd, 0x4b, 0x41, 0xfb, 0x42, 0xce, 0x75, 0x49, 0x95, 0x12, 0x89, 0xb5, 0x34, 0x3d, 0x32, 0x3d, 0x2e, 0x3b, 0x2e, 0xa, 0x80, 0xa9, 0xca, 0x2d, 0x4b, 0x10, 0x9, 0x58, 0x6d, 0xcc, 0x9b, 0xfc, 0x33, 0xa6, 0xf4, 0x7c, 0x3a, 0x69, 0x32, 0xc8, 0x35, 0x51, 0xa2, 0xb8, 0x8a, 0x98, 0xe0, 0xe2, 0x71, 0xa1, 0x7d, 0x52, 0xfc, 0x68, 0x73, 0xca, 0xe, 0xc3, 0x14, 0x78, 0x69, 0xee, 0xeb, 0xc5, 0xdb, 0x75, 0x4, 0x8e, 0xa1, 0x70, 0xa9, 0x2d, 0x9f, 0xd8, 0xf5, 0xeb, 0xe1, 0x3c, 0xf1, 0x30, 0x19, 0x2d, 0x16, 0x7a, 0x8c, 0xf7, 0x66, 0x4c, 0x75, 0x25, 0xbb, 0x63, 0xd9, 0xc5, 0x5f, 0x82, 0xf3, 0x95, 0x67, 0x29, 0x8e, 0xcf, 0x52, 0x81, 0x64, 0xf0, 0xe0, 0x42, 0xda, 0xfd, 0x44, 0x27, 0x54, 0xde, 0xfb, 0x95, 0xa3, 0x44, 0x31, 0x3e, 0xca, 0xc0, 0x66, 0x20, 0xbd, 0x3e, 0x3f, 0x39, 0xfd, 0xe5, 0xe4, 0x53, 0xef, 0x6b, 0xef, 0xf6, 0x5f, 0x61, 0x1e, 0x54, 0x2, 0x5c, 0xcb, 0x99, 0xb5, 0xff, 0x25, 0x34, 0xcb, 0x1c, 0x9d, 0x31, 0xa5, 0x42, 0x70, 0xf7, 0x51, 0x75, 0x9, 0xae, 0xb0, 0x20, 0x23, 0x47, 0x3d, 0x35, 0x39, 0x2d, 0x85, 0x8a, 0xe2, 0xce, 0x43, 0xe2, 0xb8, 0x9c, 0x2, 0x27, 0x4a, 0xe4, 0x32, 0xb1, 0x7e, 0xe6, 0xa, 0xad, 0xcf, 0x34, 0xfd, 0x23, 0x57, 0x2e, 0xca, 0xd1, 0x16, 0x9d, 0x1c, 0xcc, 0x88, 0x2, 0xad, 0xfd, 0x8a, 0xd9, 0xa5, 0x7d, 0xa7, 0x48, 0x3a, 0xe3, 0x74, 0xc2, 0x12, 0xef, 0xe9, 0x68, 0xd3, 0xf3, 0x47, 0x72, 0xc1, 0x9d, 0x5d, 0xf6, 0x70, 0x58, 0x65, 0x6, 0x8a, 0x84, 0xf2, 0xbb, 0x92, 0xa8, 0x12, 0xfa, 0x0, 0x58, 0xc2, 0x80, 0x6a, 0x1f, 0x8b, 0x98, 0x65, 0x38, 0x20, 0xa5, 0x25, 0x75, 0xa4, 0xf2, 0xc0, 0x14, 0x2b, 0x2a, 0x9d, 0x8, 0xb9, 0xa4, 0xb6, 0x5c, 0x43, 0xf2, 0xd1, 0x9d, 0x62, 0xf5, 0x4f, 0x49, 0x79, 0x5d, 0xb9, 0xc1, 0xfb, 0x54, 0x1c, 0x44, 0x4c, 0x2, 0x6c, 0xe9, 0x70, 0x8e, 0x14, 0xba, 0xe4, 0x84, 0x13, 0x98, 0x4c, 0x71, 0xe9, 0xcc, 0x50, 0x82, 0xf4, 0xee, 0x1a, 0xe4, 0x54, 0xe2, 0x55, 0x3, 0x55, 0x84, 0xf2, 0x1a, 0xf1, 0xad, 0x26, 0xb4, 0xb8, 0x84, 0x90, 0x12, 0x9, 0x70, 0xf7, 0x5c, 0x46, 0x1, 0x33, 0x5, 0xe6, 0x25, 0x35, 0x47, 0xfa, 0x3e, 0x15, 0x33, 0xf1, 0xb4, 0x35, 0x5f, 0xa7, 0x61, 0xeb, 0x34, 0xd9, 0x40, 0x97, 0xff, 0x34, 0x2b, 0xee, 0x4a, 0xa8, 0xa9, 0x4d, 0xd1, 0xe5, 0x62, 0x92, 0xd8, 0x44, 0xea, 0xf1, 0x22, 0x2b, 0xf5, 0x73, 0x28, 0xe8, 0x36, 0x66, 0x4c, 0xb, 0x68, 0xe8, 0x2b, 0xd0, 0x7, 0xb0, 0xeb, 0x60, 0x69, 0x29, 0xe2, 0x63, 0xcb, 0x98, 0x47, 0x85, 0x63, 0x91, 0x82, 0x6b, 0x39, 0x2e, 0xb2, 0x28, 0x9a, 0x1d, 0x8b, 0x29, 0x7a, 0x4e, 0x4a, 0x35, 0x31, 0x22, 0xbf, 0x26, 0x82, 0x47, 0x85, 0xb, 0xd8, 0xd0, 0x8e, 0xc6, 0x90, 0x5, 0xe, 0x68, 0x6d, 0x5a, 0x9e, 0xe3, 0x3, 0x1, 0x53, 0xc6, 0x3, 0x63, 0x39, 0x73, 0x13, 0x77, 0xc0, 0x5e, 0x1b, 0x89, 0xfb, 0x6, 0x6c, 0x74, 0xf5, 0x5d, 0x23, 0x44, 0x79, 0x31, 0xf0, 0xae, 0xa6, 0x56, 0xc0, 0x44, 0xc8, 0x28, 0xdf, 0xeb, 0xcb, 0x11, 0x59, 0x3d, 0xdf, 0x5d, 0x9f, 0xcc, 0x66, 0x53, 0xe4, 0xed, 0x55, 0x19, 0xab, 0x20, 0xa0, 0xca, 0x72, 0xdd, 0xcd, 0x73, 0xca, 0x8b, 0xf3, 0xdf, 0x8b, 0x3c, 0xe0, 0x37, 0x77, 0xb6, 0xce, 0xc3, 0x23, 0x9d, 0xa9, 0xc2, 0x8b, 0x60, 0x51, 0x8d, 0xa, 0x9b, 0x74, 0xa6, 0xae, 0xd9, 0xf3, 0xff, 0xea, 0xdd, 0xdc, 0xf6, 0x2e, 0xbe, 0x44, 0x6d, 0xf, 0xc9, 0x4c, 0xe4, 0x32, 0x94, 0x98, 0x9, 0x7, 0xf0, 0x30, 0x6b, 0x9a, 0x4f, 0xfd, 0xe8, 0x99, 0x11, 0x9e, 0x38, 0x49, 0x32, 0xa1, 0x1c, 0x99, 0x61, 0x8c, 0x7c, 0x15, 0xdb, 0xc, 0xcf, 0x7e, 0x64, 0xa, 0x5c, 0x89, 0x8e, 0xf9, 0x71, 0x5c, 0x5e, 0x9d, 0x5f, 0x4, 0x63, 0xe8, 0x16, 0x42, 0x3e, 0x53, 0x6b, 0xc, 0x3b, 0x83, 0x61, 0xa5, 0x8a, 0x66, 0x50, 0x71, 0xa7, 0x81, 0x24, 0xab, 0x84, 0x68, 0xe8, 0xcf, 0xf1, 0x9, 0x24, 0xe9, 0xb9, 0xca, 0x66, 0x58, 0xb9, 0x2, 0x78, 0x3e, 0x21, 0xf, 0x54, 0x32, 0xca, 0x97, 0x5e, 0x3e, 0x2e, 0xa8, 0x88, 0xd3, 0x24, 0xc, 0xad, 0xf0, 0x76, 0x44, 0x10, 0x2b, 0xbc, 0x3f, 0xbf, 0x64, 0x2b, 0x7c, 0x14, 0x6f, 0xcb, 0xa, 0x1f, 0x9c, 0x7e, 0xbd, 0xbc, 0x39, 0x3f, 0x6b, 0xf8, 0x64, 0x9d, 0x22, 0x19, 0x6f, 0x44, 0xbd, 0x5d, 0x8a, 0x67, 0x7b, 0xa0, 0xd6, 0x6e, 0xc4, 0xd9, 0xbd, 0x74, 0x0, 0x56, 0x36, 0x29, 0x4c, 0x20, 0x59, 0x18, 0xe1, 0x49, 0xb, 0x9b, 0xd1, 0xdf, 0xa9, 0xa0, 0xae, 0x50, 0x4f, 0x78, 0x3a, 0xad, 0xb8, 0xe5, 0x8b, 0xa1, 0x2c, 0xce, 0xf3, 0x1d, 0xf4, 0xb6, 0x8b, 0xb2, 0x71, 0xdb, 0x9d, 0xd2, 0xcb, 0x6e, 0xab, 0x4d, 0xaf, 0xcb, 0x59, 0xef, 0xf0, 0x65, 0x2c, 0x57, 0x56, 0xa1, 0x20, 0x9f, 0x32, 0x7e, 0xc8, 0x32, 0x6d, 0x44, 0x18, 0xf7, 0x64, 0x40, 0xcd, 0xef, 0x82, 0x7b, 0x42, 0xa2, 0x5a, 0x4b, 0x36, 0xc8, 0x35, 0x54, 0x79, 0xd6, 0x4d, 0x51, 0x76, 0xa8, 0x7c, 0x25, 0x9e, 0xf2, 0x5f, 0x9d, 0x5, 0xb9, 0xc7, 0x95, 0xa6, 0x3c, 0x81, 0x5f, 0x61, 0x56, 0xff, 0x7c, 0xde, 0x1f, 0xc6, 0x3c, 0xfc, 0x45, 0xa8, 0xaa, 0x95, 0xd3, 0xfc, 0x5c, 0xad, 0x34, 0xe9, 0x7f, 0x3f, 0x6b, 0x32, 0x8d, 0x9a, 0x87, 0x9f, 0xe6, 0xd2, 0x38, 0x99, 0x5f, 0x6f, 0xd2, 0xfb, 0x9a, 0x77, 0x6f, 0xd2, 0xfb, 0xdf, 0xe6, 0x72, 0x53, 0xe1, 0x3, 0x4d, 0xa5, 0xbe, 0x65, 0xf3, 0x1f, 0x54, 0x4b, 0x74, 0xad, 0xef, 0x11, 0x64, 0xcb, 0xe7, 0xdc, 0xcc, 0x94, 0x86, 0x49, 0x7c, 0xee, 0xc8, 0x13, 0x36, 0x1d, 0x6d, 0x19, 0x65, 0xfd, 0xae, 0xc2, 0x8c, 0x82, 0x62, 0x2a, 0xf3, 0x65, 0x91, 0xb0, 0xb3, 0xd2, 0x8, 0xef, 0x83, 0x64, 0xac, 0x47, 0x67, 0x4a, 0xd8, 0xc4, 0x0, 0x27, 0xd3, 0xd9, 0xac, 0x22, 0x97, 0xcf, 0x42, 0xc9, 0x97, 0x72, 0x67, 0xe8, 0x98, 0x15, 0x41, 0xe9, 0x5d, 0xf2, 0x69, 0xe6, 0xc1, 0xfc, 0xa8, 0xda, 0x8d, 0xe9, 0x1, 0x7e, 0xd8, 0xaa, 0x61, 0x2d, 0xce, 0xfa, 0x18, 0x9c, 0xb5, 0x7d, 0x62, 0x74, 0xc7, 0xa9, 0xb3, 0xa7, 0x1e, 0xff, 0xf9, 0x58, 0x3d, 0xfa, 0x1b, 0x89, 0xd2, 0x88, 0x7d, 0xe9, 0x8b, 0x62, 0xbb, 0xf5, 0xe5, 0x75, 0xcb, 0x5a, 0x92, 0xb1, 0x7a, 0xb7, 0x20, 0xb8, 0x62, 0x73, 0xcc, 0x2e, 0x1a, 0x76, 0x59, 0xab, 0x3, 0x15, 0x64, 0x7, 0xad, 0x3, 0xc8, 0x4, 0x1f, 0x19, 0xad, 0x61, 0x3b, 0x75, 0xfc, 0xe7, 0xb6, 0x60, 0x8d, 0x11, 0xbb, 0x5, 0x66, 0xee, 0x63, 0x72, 0xf, 0xce, 0xe8, 0x6d, 0x57, 0x6b, 0xb3, 0x2e, 0xd9, 0x6f, 0xe2, 0x48, 0xc7, 0x84, 0xb2, 0x57, 0xa7, 0x1a, 0x2d, 0x1b, 0x2e, 0x42, 0x7e, 0x23, 0xf7, 0xd0, 0x78, 0xb1, 0x62, 0x17, 0xd2, 0x46, 0xc1, 0x46, 0x65, 0xb3, 0xdd, 0xf1, 0x88, 0xb, 0xd6, 0xd8, 0xca, 0xf8, 0x85, 0xf8, 0xba, 0xe0, 0x44, 0xcf, 0x35, 0xde, 0x82, 0x43, 0xfd, 0x5a, 0x77, 0xb1, 0x73, 0x6b, 0xd9, 0xaa, 0xbb, 0xd7, 0x9a, 0xd9, 0xed, 0xd1, 0xa9, 0x1e, 0x3, 0x95, 0x7a, 0x0, 0x54, 0x6f, 0xe4, 0x48, 0xdb, 0x65, 0xfc, 0xc5, 0xb7, 0x49, 0x24, 0x24, 0xc0, 0x1e, 0x80, 0x8c, 0x83, 0x5f, 0xec, 0xc5, 0xe7, 0x50, 0x8a, 0x49, 0x70, 0xce, 0x6b, 0xcf, 0xf0, 0x35, 0x46, 0x46, 0x54, 0xda, 0x3c, 0x9c, 0xe3, 0x85, 0xe4, 0xb1, 0x88, 0x38, 0x6a, 0xd7, 0xb3, 0x55, 0x67, 0xb9, 0x61, 0x86, 0x7b, 0x74, 0x9e, 0x8b, 0x94, 0x91, 0x1b, 0x63, 0xd3, 0x73, 0x99, 0xc7, 0x22, 0x96, 0x9d, 0x7, 0xc9, 0xc8, 0x6a, 0x59, 0xb6, 0x18, 0xe2, 0x2d, 0x8c, 0xbf, 0xa0, 0x70, 0xe3, 0xc, 0x8e, 0x53, 0xe8, 0x35, 0xa6, 0x5, 0xa6, 0xcb, 0x65, 0x36, 0x1c, 0xa0, 0x2c, 0x63, 0x57, 0xd7, 0x72, 0x73, 0x13, 0xc1, 0x87, 0x73, 0x63, 0x99, 0xe4, 0x99, 0x66, 0xd3, 0x6c, 0x6e, 0x20, 0x8d, 0x79, 0xca, 0xe, 0xd2, 0xc3, 0x33, 0x51, 0x67, 0x7e, 0x31, 0x5b, 0x5, 0x39, 0x75, 0xd3, 0xdb, 0x13, 0xbc, 0x31, 0xc0, 0xd1, 0x49, 0x44, 0xee, 0x7, 0xf6, 0x3c, 0xad, 0xfe, 0xd4, 0x34, 0x34, 0x97, 0xf6, 0xb9, 0xd1, 0xce, 0x8d, 0xfd, 0x9a, 0x13, 0xed, 0x47, 0x42, 0x20, 0xf8, 0x66, 0xd, 0x2b, 0x77, 0x43, 0xbf, 0x9b, 0x3b, 0xf1, 0x9b, 0xd3, 0xe5, 0x57, 0xb1, 0x3, 0xb7, 0x4b, 0xdf, 0x6e, 0xd8, 0x9c, 0xfd, 0x3a, 0x62, 0x32, 0xcf, 0x60, 0x23, 0xd7, 0x47, 0xd7, 0xa8, 0x5f, 0xa3, 0x1f, 0x46, 0xd1, 0x4f, 0x79, 0x7e, 0xb0, 0x9b, 0xba, 0x13, 0xe2, 0xed, 0x98, 0xe6, 0xad, 0xeb, 0xe0, 0xa5, 0x9d, 0x3a, 0x1b, 0x87, 0x7c, 0x41, 0xcd, 0x6, 0xe8, 0x62, 0xe3, 0xda, 0x71, 0x6e, 0x36, 0x9f, 0x6d, 0xc4, 0x25, 0x1b, 0x89, 0x8e, 0x82, 0x75, 0xb2, 0xc4, 0x43, 0x61, 0x4b, 0x53, 0x38, 0xe9, 0xd2, 0x4c, 0x58, 0x8a, 0xac, 0x90, 0x4b, 0x63, 0xde, 0x53, 0xf5, 0xf3, 0xcd, 0x33, 0x28, 0x3c, 0xe9, 0x70, 0x55, 0x5c, 0x5e, 0xde, 0x2c, 0x23, 0x32, 0xe7, 0x58, 0xae, 0x7, 0x6f, 0x4f, 0x82, 0xde, 0x17, 0xfa, 0x3a, 0xf5, 0x6c, 0xac, 0xb7, 0x6b, 0x57, 0x8f, 0x89, 0xca, 0x93, 0x31, 0xe9, 0x9d, 0xc5, 0x89, 0x34, 0x2, 0x57, 0x34, 0xeb, 0x95, 0x44, 0x59, 0x56, 0xb6, 0x71, 0x21, 0x34, 0x7c, 0x2c, 0x9a, 0xb1, 0xb3, 0xf3, 0xf5, 0xd2, 0x4b, 0x5c, 0x88, 0x45, 0x67, 0x33, 0xc8, 0xb2, 0xa4, 0x83, 0x90, 0xa5, 0x2b, 0x4d, 0xf5, 0x8b, 0x60, 0xb0, 0x17, 0x95, 0x47, 0x86, 0x97, 0xc3, 0x3, 0x70, 0x6d, 0xab, 0x40, 0x24, 0x82, 0x2b, 0xa6, 0x74, 0x10, 0xf9, 0xd6, 0x90, 0x6c, 0xc5, 0xd3, 0xef, 0xee, 0xe0, 0xce, 0xeb, 0x67, 0x10, 0xf1, 0x6b, 0xd2, 0x2a, 0x61, 0xba, 0x6e, 0x7a, 0x6d, 0x40, 0xac, 0xb5, 0x38, 0xfd, 0xf1, 0x9f, 0xe6, 0xff, 0x7a, 0x5b, 0xab, 0xb0, 0x1a, 0x2e, 0xaf, 0x33, 0xb9, 0x97, 0x98, 0xe2, 0x85, 0xe6, 0xd2, 0xde, 0x8e, 0x80, 0x62, 0x70, 0xa, 0x9f, 0xb3, 0x74, 0xe, 0x8c, 0x24, 0xd8, 0xa, 0x64, 0x55, 0x50, 0x62, 0x29, 0xe9, 0x90, 0x8b, 0xcb, 0x5b, 0xf2, 0xf9, 0xf2, 0xfb, 0xc5, 0xd9, 0x92, 0xb4, 0x3e, 0x8d, 0xd7, 0x71, 0xbb, 0x77, 0xf6, 0x3, 0xc7, 0x47, 0xdc, 0xa7, 0xc5, 0xbd, 0x45, 0xbb, 0xf1, 0x5d, 0x81, 0xec, 0x94, 0x37, 0x92, 0xbd, 0x33, 0x9f, 0xbb, 0x3, 0x97, 0xe, 0x1d, 0x7, 0x69, 0xda, 0x25, 0xdf, 0x57, 0x2b, 0xe2, 0xb4, 0x87, 0x77, 0x6e, 0xed, 0x82, 0x85, 0xd, 0x24, 0x14, 0xb2, 0x99, 0x4f, 0x2c, 0xfd, 0xc, 0x66, 0xfe, 0x8c, 0xd6, 0x1f, 0x2a, 0x9f, 0x23, 0xa5, 0x55, 0x47, 0x6a, 0xfe, 0xc, 0xd9, 0x35, 0x3d, 0x9c, 0xa2, 0xa6, 0x14, 0x39, 0xed, 0x3a, 0x43, 0x2b, 0xb2, 0xd6, 0x8d, 0xba, 0x5f, 0xae, 0x66, 0xa1, 0x2a, 0x3c, 0x31, 0x9f, 0x63, 0x9d, 0xaa, 0xef, 0x72, 0x17, 0x4f, 0xee, 0xc1, 0x1d, 0xb3, 0xbd, 0x66, 0xb8, 0x7a, 0x2a, 0xdc, 0x2f, 0x0, 0x39, 0xfe, 0xb3, 0x54, 0xf2, 0xfd, 0x8f, 0x7d, 0xb6, 0x19, 0x29, 0xbd, 0x2a, 0xe2, 0x14, 0x6b, 0xbc, 0x96, 0x73, 0x5b, 0xbd, 0x25, 0x62, 0xa1, 0x64, 0x5d, 0x74, 0xb4, 0x8b, 0x88, 0x52, 0xbb, 0xde, 0xaf, 0xd7, 0xf9, 0xd2, 0x2, 0xb0, 0xcf, 0xe8, 0x43, 0xe6, 0x7c, 0x53, 0xcd, 0xbf, 0x11, 0x48, 0x69, 0xa4, 0xc4, 0x3, 0xaa, 0x60, 0x6d, 0x9a, 0x31, 0x53, 0x5a, 0xc8, 0x4d, 0xe7, 0x3e, 0x70, 0x91, 0x38, 0xd1, 0x82, 0xff, 0x62, 0x7b, 0x8a, 0xbc, 0xef, 0x5c, 0xef, 0x46, 0xb4, 0x5e, 0x88, 0x31, 0xe4, 0x33, 0x65, 0x99, 0xaa, 0x64, 0xf8, 0xbd, 0xbb, 0x10, 0xfa, 0xb3, 0xc8, 0x79, 0x7a, 0xe7, 0xab, 0xca, 0x2e, 0x6a, 0x3, 0xc3, 0x10, 0xf8, 0x3d, 0x17, 0x8f, 0xdc, 0xa7, 0x2e, 0x50, 0x76, 0x2e, 0x8b, 0xc2, 0xb7, 0xeb, 0x66, 0x70, 0xc0, 0xb0, 0xa5, 0x9d, 0xbf, 0x11, 0xc, 0x2b, 0x9b, 0x9f, 0xd0, 0x1f, 0x6c, 0x92, 0x4f, 0xae, 0x76, 0x5b, 0xb8, 0x5c, 0x14, 0x87, 0x81, 0x49, 0xb1, 0xef, 0x16, 0x90, 0x6d, 0x19, 0xd4, 0x8b, 0xde, 0xad, 0x77, 0x57, 0x22, 0xcb, 0xfc, 0xbb, 0x45, 0x9c, 0x4b, 0xf9, 0xd2, 0x98, 0xa6, 0xd6, 0xa3, 0x66, 0x18, 0x43, 0x93, 0x1e, 0x83, 0x82, 0x23, 0xc2, 0x34, 0x51, 0x63, 0x4c, 0x3d, 0x31, 0x0, 0xac, 0xd5, 0xf, 0x29, 0x41, 0x1b, 0x9d, 0x16, 0x2e, 0x38, 0x19, 0x35, 0x61, 0xf8, 0xa1, 0x51, 0x62, 0x7f, 0x52, 0x59, 0x6a, 0xb2, 0x54, 0x44, 0x7e, 0xa4, 0x4c, 0x5f, 0xc0, 0xe3, 0xf9, 0x43, 0x99, 0xf3, 0xf7, 0x89, 0x6b, 0x87, 0xc9, 0xa9, 0x44, 0x10, 0xc8, 0x72, 0x7d, 0x75, 0x1a, 0xdc, 0x6c, 0x70, 0xa1, 0xd, 0xe2, 0x8b, 0xec, 0x1, 0x5c, 0x91, 0xe9, 0xc2, 0x22, 0x69, 0xef, 0x74, 0xf0, 0xbe, 0x81, 0x3c, 0x8e, 0x59, 0x32, 0x26, 0x13, 0x8a, 0xa9, 0x5c, 0xe6, 0xd6, 0x8d, 0xdc, 0x39, 0xbc, 0xeb, 0xe3, 0xdb, 0x7d, 0x1b, 0xd, 0xd5, 0x37, 0x73, 0xbf, 0x3b, 0xb2, 0xbb, 0xa2, 0xd9, 0x4, 0x8c, 0xd4, 0xc5, 0x14, 0x19, 0xb3, 0x15, 0x33, 0xe9, 0x36, 0x55, 0xa1, 0x76, 0x9d, 0xe1, 0xe2, 0x7c, 0xc6, 0xae, 0x6e, 0x67, 0xd3, 0x65, 0xa4, 0xbd, 0x68, 0x99, 0x6c, 0x23, 0x65, 0x90, 0x33, 0xce, 0x42, 0x59, 0x2b, 0xac, 0x8f, 0x52, 0x9f, 0xd9, 0xd9, 0x57, 0xe0, 0xd8, 0xc5, 0x7d, 0x99, 0xf1, 0x56, 0x22, 0xbb, 0x1c, 0x53, 0xfd, 0x48, 0x7e, 0xe9, 0xdd, 0xdc, 0x5e, 0x5e, 0xff, 0xab, 0x7f, 0xfe, 0xdb, 0xf9, 0xc5, 0x6d, 0xff, 0x73, 0xef, 0xeb, 0xed, 0xf9, 0x75, 0xff, 0xf6, 0x5f, 0x57, 0xe7, 0xfd, 0x93, 0xaf, 0x5f, 0xed, 0xaf, 0x4f, 0x8b, 0xed, 0x6d, 0x6e, 0x78, 0x51, 0x8c, 0xef, 0xa, 0xc3, 0x59, 0xe3, 0x1b, 0x8c, 0xc4, 0xad, 0xf9, 0x6a, 0x9d, 0x20, 0xdc, 0xb8, 0x4c, 0xfb, 0x89, 0x4c, 0xc6, 0xec, 0x81, 0x66, 0x4f, 0x46, 0xaa, 0x37, 0x19, 0xea, 0xb4, 0x2, 0xbc, 0x1d, 0xe4, 0x39, 0xb3, 0x1a, 0x1d, 0x9, 0xf, 0x20, 0x15, 0xbc, 0x9c, 0x5c, 0x77, 0x6d, 0x3b, 0x7c, 0x8a, 0x78, 0x47, 0x30, 0xa9, 0x12, 0x7e, 0x5e, 0x2e, 0x9b, 0x90, 0x29, 0x48, 0xf2, 0x5e, 0x69, 0x2a, 0xf1, 0x5a, 0x8, 0x3d, 0xb9, 0x33, 0xaa, 0xb4, 0x85, 0x9d, 0xf, 0xa1, 0x4c, 0xb8, 0xb6, 0x24, 0x58, 0x76, 0xb3, 0x19, 0x91, 0xf0, 0x3a, 0x1a, 0xfd, 0x41, 0x32, 0x3c, 0x48, 0x86, 0x73, 0xcd, 0xef, 0xb8, 0xd9, 0xb1, 0xd, 0xc, 0x0, 0xcf, 0xe0, 0x81, 0xf, 0x20, 0x1f, 0x40, 0x2, 0x39, 0xfe, 0x13, 0xff, 0xaf, 0x8b, 0xff, 0x8b, 0x72, 0xa6, 0x33, 0x23, 0x3e, 0xd3, 0xb1, 0x9, 0xb3, 0x54, 0xfd, 0x5e, 0x78, 0x31, 0x59, 0xd7, 0x10, 0x23, 0x9, 0xdb, 0x1c, 0x3a, 0x3, 0x70, 0x87, 0xd2, 0xe5, 0xa1, 0xa3, 0xeb, 0x1b, 0x10, 0xa3, 0x1e, 0xe, 0xb0, 0x5a, 0xe9, 0xbc, 0xba, 0xab, 0xdb, 0xed, 0xf7, 0xb5, 0x9c, 0x90, 0x22, 0x1a, 0x68, 0x95, 0xff, 0x51, 0x65, 0x66, 0x7, 0xc0, 0x4a, 0xff, 0xe7, 0x58, 0x4b, 0x36, 0x1a, 0x81, 0x44, 0xdf, 0xa4, 0x8d, 0x80, 0x54, 0x20, 0xb6, 0xde, 0xda, 0xb6, 0x23, 0x8f, 0x24, 0x9a, 0xa1, 0xf, 0xa4, 0x16, 0xe1, 0x8c, 0xff, 0x4a, 0xdc, 0x30, 0x2a, 0xee, 0x48, 0x35, 0x1, 0xc1, 0x31, 0x88, 0xfd, 0x67, 0x6d, 0x23, 0xab, 0x7d, 0x5b, 0x14, 0xe7, 0xc6, 0x6c, 0x18, 0x36, 0x3f, 0xaa, 0xf9, 0x32, 0x68, 0x13, 0x33, 0x53, 0xdb, 0x3c, 0x2a, 0xc3, 0x3c, 0xb3, 0xd9, 0x5a, 0x39, 0x74, 0xc4, 0x70, 0x58, 0xc2, 0x66, 0x7d, 0x8c, 0x51, 0xcd, 0xd4, 0xf, 0x70, 0x5a, 0x7c, 0xff, 0x1a, 0xb0, 0x56, 0xb3, 0x23, 0xad, 0x2, 0xb7, 0xda, 0xf9, 0xed, 0x17, 0xc4, 0x95, 0xca, 0xce, 0x66, 0xe4, 0xad, 0x30, 0x95, 0xbe, 0xd1, 0x87, 0xe7, 0xef, 0x6f, 0x51, 0x4d, 0x56, 0x55, 0xff, 0xf2, 0x40, 0xc6, 0x2a, 0xe7, 0xdc, 0xd3, 0xd6, 0xa4, 0x69, 0x73, 0xef, 0xa0, 0xd6, 0x1b, 0x43, 0x11, 0xa1, 0xe4, 0xce, 0xe7, 0x8c, 0xeb, 0x9f, 0xff, 0xd7, 0xf9, 0xe9, 0xf7, 0xdb, 0xde, 0xe5, 0x45, 0xff, 0xe6, 0xf6, 0xe4, 0xfa, 0xf6, 0xfc, 0xec, 0xce, 0x99, 0x3a, 0xb1, 0xe0, 0x9b, 0x2a, 0x54, 0x7c, 0xca, 0x83, 0xe3, 0x4a, 0x33, 0x25, 0x70, 0xb1, 0x53, 0xf4, 0x95, 0x1a, 0x3, 0x19, 0x32, 0x19, 0x7a, 0xa9, 0x68, 0xaa, 0xee, 0xbb, 0x2e, 0x4e, 0x44, 0x91, 0xbb, 0xb9, 0xf9, 0x9c, 0x58, 0x2f, 0x73, 0x9c, 0x2c, 0xa4, 0x77, 0x47, 0x46, 0xad, 0xf, 0x2c, 0x9c, 0x65, 0xaa, 0x90, 0xb8, 0xae, 0xa3, 0xf3, 0xa, 0xa5, 0x93, 0xc0, 0x65, 0x9e, 0xd5, 0xfb, 0x7e, 0xd6, 0xaf, 0xe3, 0x2e, 0x42, 0x63, 0xa3, 0xe6, 0xdc, 0x12, 0x3c, 0xac, 0xdf, 0x89, 0x56, 0x41, 0x62, 0xd3, 0x14, 0xf7, 0x16, 0x15, 0x8f, 0x69, 0xa2, 0xd9, 0x3, 0xd3, 0xcc, 0xbc, 0xed, 0xfe, 0x9e, 0x99, 0xdf, 0x4d, 0x57, 0xa5, 0xab, 0xea, 0x26, 0x2b, 0x90, 0x0, 0xb9, 0xb3, 0xb, 0x9e, 0x9e, 0xb8, 0xfe, 0x6e, 0xa9, 0xba, 0x3f, 0x75, 0xfd, 0xa5, 0x77, 0xae, 0xfc, 0x87, 0x4b, 0xd3, 0xeb, 0xc5, 0x43, 0x5b, 0xec, 0xd0, 0x25, 0x5b, 0x4d, 0x84, 0x4c, 0x89, 0x1b, 0x21, 0x7a, 0xd8, 0xd, 0x2, 0x13, 0x4c, 0x31, 0xe7, 0xe3, 0x0, 0x7a, 0xfc, 0x3c, 0x67, 0x84, 0xa5, 0x8, 0x5a, 0x40, 0xd3, 0x22, 0xbf, 0xaf, 0x16, 0xf7, 0x10, 0x21, 0xf3, 0xfb, 0x4e, 0x87, 0xd0, 0x29, 0xeb, 0x64, 0x98, 0xb, 0xfb, 0x23, 0x49, 0x84, 0x84, 0x8f, 0x1f, 0x7f, 0xfe, 0xdb, 0xdf, 0xff, 0xf7, 0xc7, 0x8f, 0x53, 0x9, 0x53, 0xa1, 0x18, 0xf6, 0xfb, 0x8f, 0x94, 0x29, 0x3a, 0xc8, 0x20, 0x4e, 0x31, 0x47, 0x28, 0x9b, 0x76, 0x53, 0x78, 0x38, 0xe6, 0x42, 0x77, 0xa6, 0x12, 0x12, 0x48, 0xd, 0x29, 0x90, 0x9f, 0x3e, 0xcd, 0x7e, 0xa, 0x73, 0xf0, 0x31, 0x9e, 0x1a, 0x6a, 0x28, 0x8b, 0x3, 0xe0, 0xad, 0xc, 0xe9, 0x74, 0x3e, 0xd4, 0xe1, 0xe4, 0xa2, 0x35, 0xfb, 0x34, 0x2b, 0x30, 0x69, 0x7b, 0x11, 0xeb, 0xce, 0xeb, 0xb6, 0x58, 0x54, 0x7b, 0xc5, 0xe6, 0x99, 0x8b, 0xab, 0x3c, 0xe9, 0x97, 0xf9, 0x55, 0x1, 0x38, 0xf6, 0x17, 0x4e, 0xd7, 0x1b, 0xf9, 0x11, 0xc9, 0x30, 0xa9, 0x75, 0x91, 0xcf, 0x5a, 0x53, 0x39, 0x2, 0x6d, 0x34, 0x7, 0x4d, 0x79, 0x4a, 0x33, 0xc1, 0x61, 0xbb, 0xd3, 0x2c, 0x8f, 0xe1, 0x93, 0xa6, 0x59, 0x50, 0x3a, 0xc6, 0xae, 0x59, 0xa, 0x69, 0x1, 0x77, 0x5a, 0x46, 0xff, 0xad, 0xe2, 0x53, 0xcb, 0x27, 0x7b, 0xe0, 0x58, 0x55, 0x8e, 0x35, 0xa4, 0x2c, 0xdb, 0x12, 0xb7, 0x32, 0xfc, 0x26, 0xdc, 0x8b, 0xcf, 0x94, 0x65, 0x6b, 0x70, 0x2a, 0x33, 0xb2, 0x5c, 0xc2, 0xbe, 0xb2, 0x29, 0xbb, 0x5a, 0x7, 0x1e, 0x75, 0xe0, 0x51, 0xb5, 0x3c, 0x2a, 0x8e, 0x55, 0x6e, 0x13, 0x7f, 0x2a, 0x9, 0xbf, 0xed, 0xcc, 0x29, 0x9c, 0xe9, 0x81, 0x33, 0x55, 0x39, 0xd3, 0x66, 0x73, 0xee, 0x2d, 0x67, 0x4f, 0x45, 0x26, 0xb4, 0x95, 0x39, 0x54, 0x31, 0xc2, 0x3d, 0xe1, 0x51, 0x8d, 0x2b, 0x76, 0xe0, 0x52, 0x7, 0x2e, 0x35, 0xcf, 0xa5, 0x1e, 0xe1, 0x9d, 0xc, 0x92, 0x5a, 0xc6, 0x6e, 0x1c, 0x6f, 0x97, 0x61, 0x2d, 0x3c, 0x5, 0x2d, 0x63, 0x59, 0x4b, 0xe6, 0x7a, 0x60, 0x5a, 0x55, 0xa6, 0x35, 0xa5, 0xb9, 0xda, 0xb8, 0xf5, 0xef, 0xca, 0x34, 0xea, 0xb7, 0xa1, 0xbc, 0x34, 0xc1, 0xbe, 0x54, 0xe5, 0x6, 0x44, 0xc, 0x9, 0xe5, 0xe5, 0x19, 0x2c, 0x3d, 0x57, 0x6, 0x33, 0xbc, 0xf0, 0xe8, 0x9d, 0x45, 0xb9, 0x77, 0x5c, 0xc5, 0xe0, 0x24, 0x4e, 0xd, 0x59, 0x40, 0x4e, 0x1, 0x59, 0x45, 0x83, 0xf6, 0x36, 0xb8, 0x6, 0x89, 0xca, 0x56, 0xcd, 0x70, 0x6d, 0xc6, 0x9e, 0xf2, 0xb3, 0x9, 0x50, 0x1e, 0x96, 0xbc, 0xe8, 0xf8, 0x14, 0x3d, 0x25, 0x5b, 0x54, 0x24, 0xb1, 0xf5, 0xf7, 0xb3, 0x19, 0x3a, 0xc6, 0x17, 0xe5, 0xc7, 0xb0, 0x94, 0x1a, 0xf6, 0xcc, 0x54, 0x94, 0xe, 0x48, 0xe5, 0x3, 0x65, 0xce, 0x1b, 0x7e, 0x62, 0x4, 0x62, 0x75, 0x14, 0x12, 0x1, 0xd3, 0xa5, 0xf3, 0x3b, 0xe6, 0xd2, 0x28, 0x11, 0xd7, 0xfa, 0xc0, 0x33, 0x6d, 0xa3, 0x6a, 0x70, 0x21, 0xc3, 0x8c, 0x1d, 0xb5, 0xa3, 0xf3, 0x77, 0x35, 0xf6, 0xed, 0x23, 0xf4, 0xae, 0xb7, 0x95, 0xf3, 0x98, 0x22, 0x13, 0xd0, 0x63, 0xe1, 0x72, 0xff, 0x8c, 0xd, 0x7c, 0x73, 0x41, 0x60, 0x38, 0x84, 0x44, 0x2f, 0x6b, 0x36, 0x9c, 0xd0, 0x90, 0x71, 0xa6, 0xc6, 0x80, 0x3e, 0xe9, 0x9, 0x28, 0x35, 0xcc, 0xb3, 0x6c, 0x76, 0x54, 0x41, 0x55, 0x97, 0x1a, 0xc4, 0x1b, 0xa9, 0x96, 0x8e, 0xbb, 0xb6, 0x3, 0xbc, 0x69, 0x72, 0x1a, 0x76, 0x74, 0x72, 0xfe, 0xea, 0x5c, 0x50, 0xcb, 0x74, 0x25, 0xb8, 0xf8, 0x19, 0xc, 0x35, 0xe9, 0xac, 0x3e, 0x92, 0xa8, 0x21, 0x2a, 0xc1, 0xa6, 0x35, 0xb5, 0x35, 0xf1, 0xd4, 0xc2, 0xd6, 0xe6, 0x36, 0xe3, 0xb3, 0x90, 0x24, 0x13, 0x7c, 0xd4, 0x29, 0x26, 0x52, 0x9c, 0xbd, 0x88, 0xa0, 0xca, 0x9f, 0x9, 0x73, 0x87, 0x23, 0xc5, 0xda, 0x3e, 0x2e, 0xb5, 0x94, 0x2, 0x9e, 0x12, 0x6a, 0x48, 0x3d, 0x81, 0x2c, 0xa3, 0xe5, 0x7d, 0xe1, 0x4f, 0x7e, 0xc, 0x7d, 0xfb, 0xd1, 0x4f, 0x3e, 0x9a, 0xe2, 0x9d, 0x81, 0xec, 0x77, 0xd6, 0xbd, 0xd7, 0x95, 0x5, 0x31, 0xbf, 0x2e, 0x80, 0xc5, 0x77, 0xa1, 0x10, 0xe7, 0xef, 0x7, 0x69, 0x18, 0xea, 0x65, 0xa1, 0xaf, 0xb2, 0xc6, 0x53, 0xe0, 0x69, 0x30, 0xb3, 0x59, 0x59, 0x38, 0x71, 0x2a, 0xc5, 0x3, 0x4b, 0x31, 0x9, 0x4a, 0x9d, 0x4c, 0x56, 0x8f, 0xc, 0xbb, 0x25, 0x8a, 0x6d, 0xaf, 0x60, 0xc3, 0xda, 0xb2, 0xd8, 0x7c, 0xdc, 0x8c, 0x5f, 0xdf, 0x23, 0x4b, 0x30, 0xb5, 0x90, 0xf7, 0xde, 0x80, 0x50, 0x41, 0x5c, 0x1f, 0x5c, 0x49, 0x58, 0x5f, 0xc1, 0xb7, 0x78, 0x3f, 0x42, 0x56, 0xd7, 0x3c, 0xa, 0x71, 0x47, 0xe, 0x4f, 0x55, 0x3d, 0x72, 0x6e, 0x67, 0x7d, 0x9e, 0x24, 0xc4, 0xdd, 0x8e, 0x21, 0xc8, 0x14, 0x12, 0x9a, 0x1b, 0xec, 0xc, 0xda, 0x90, 0x68, 0xb7, 0xfe, 0xc8, 0xb4, 0x4a, 0x6e, 0x6b, 0x9a, 0xe2, 0x41, 0x5c, 0xab, 0x8a, 0x6b, 0x12, 0x14, 0x6c, 0xdc, 0xbe, 0x70, 0x6d, 0x1a, 0x9d, 0x17, 0xd7, 0xb0, 0xaf, 0x5d, 0x11, 0xd7, 0x62, 0x3e, 0xe5, 0x8b, 0x0, 0x2f, 0x92, 0xd8, 0xfe, 0x1a, 0xd4, 0x77, 0xa5, 0x5a, 0x1b, 0x64, 0x53, 0x41, 0x9e, 0x32, 0xc7, 0x32, 0x7f, 0xee, 0x86, 0x5f, 0x94, 0x8, 0x62, 0xe3, 0x2, 0x2b, 0x1f, 0x44, 0xef, 0xb2, 0x79, 0xc9, 0x25, 0x94, 0x2, 0x51, 0xc, 0x39, 0x42, 0x21, 0xc6, 0x8a, 0x6d, 0x46, 0xaa, 0x73, 0x4c, 0x5e, 0x48, 0xf2, 0xee, 0x1e, 0x60, 0xea, 0xf8, 0xf7, 0xbb, 0xe2, 0xb1, 0x3, 0xf7, 0x98, 0xd6, 0xbc, 0x58, 0x38, 0x80, 0x80, 0x63, 0xb1, 0xc9, 0x4, 0x52, 0x46, 0x35, 0x64, 0x33, 0xf2, 0xfe, 0xaf, 0x44, 0x1, 0x90, 0x77, 0x7f, 0x30, 0xad, 0x41, 0xbe, 0x23, 0xc3, 0x8c, 0x8e, 0x3e, 0x6c, 0x8f, 0xaf, 0x9b, 0xe1, 0x87, 0x91, 0x85, 0xd5, 0x8b, 0x81, 0x1a, 0x5a, 0x3a, 0x30, 0xf8, 0x86, 0x19, 0x2c, 0x62, 0xf0, 0x25, 0x13, 0x9e, 0x3f, 0x26, 0x7, 0x96, 0xbe, 0x89, 0xa1, 0xbe, 0xe2, 0x25, 0x42, 0xcd, 0x21, 0x69, 0x15, 0x4b, 0x6f, 0x9a, 0xe2, 0x81, 0xa5, 0xd7, 0xb0, 0x74, 0x91, 0x3d, 0x40, 0x87, 0xaa, 0x8e, 0x55, 0xf5, 0x3c, 0xfe, 0xbf, 0x80, 0x37, 0x96, 0xeb, 0xef, 0x70, 0xc5, 0x6d, 0xdb, 0x59, 0xea, 0x89, 0xe5, 0xd6, 0xeb, 0x70, 0x7d, 0x70, 0xb8, 0x3e, 0x68, 0x70, 0xc4, 0xe2, 0x43, 0x26, 0x27, 0x68, 0x1b, 0xb4, 0x66, 0x9b, 0x88, 0x54, 0xdf, 0x30, 0xbf, 0x5a, 0x74, 0x14, 0xda, 0xc6, 0xb8, 0x16, 0xcf, 0xf5, 0xc0, 0xc1, 0xaa, 0x1c, 0xcc, 0x19, 0xa4, 0x37, 0xcd, 0xb5, 0xbe, 0xdb, 0x66, 0xe7, 0x15, 0x53, 0xd7, 0xdf, 0x2e, 0xaa, 0xa6, 0xbd, 0x61, 0xa4, 0x10, 0x96, 0x3a, 0xdf, 0x51, 0x35, 0x77, 0x7f, 0xa3, 0xd1, 0xbd, 0x6a, 0x11, 0x7f, 0xa4, 0xca, 0xeb, 0x8d, 0x8f, 0x63, 0x96, 0x41, 0x9d, 0x96, 0xf9, 0x34, 0x15, 0x31, 0xe8, 0xf4, 0x92, 0x27, 0x30, 0xa7, 0xce, 0xfa, 0x8b, 0x86, 0x23, 0xac, 0x6b, 0xe0, 0x53, 0xe5, 0x98, 0xff, 0x97, 0xa1, 0x62, 0x3c, 0x2, 0x6e, 0xd8, 0x26, 0xa4, 0x2f, 0x6c, 0x4b, 0x6e, 0xa2, 0x8f, 0xdd, 0xe2, 0xcc, 0x7, 0x65, 0xf3, 0xa0, 0x6c, 0x16, 0xdf, 0xbf, 0x4a, 0xa1, 0xb6, 0x86, 0x63, 0xd2, 0x2a, 0xae, 0xdd, 0x3c, 0xc9, 0x3, 0xbb, 0x9e, 0x63, 0xd7, 0xb6, 0x96, 0xa4, 0xc0, 0x9, 0xab, 0x8d, 0x73, 0x6d, 0x6c, 0x7d, 0x6e, 0x23, 0x2e, 0x6d, 0x6f, 0xc4, 0xf1, 0x40, 0xcb, 0x95, 0xb1, 0x94, 0x23, 0x2a, 0x99, 0x95, 0xfa, 0x8e, 0x6e, 0x6c, 0x55, 0x96, 0xbe, 0x75, 0x46, 0x6e, 0x9b, 0xac, 0x29, 0x1a, 0xd9, 0x34, 0x9f, 0xdd, 0xe2, 0x35, 0x7, 0x56, 0x73, 0x60, 0x35, 0xe4, 0xd5, 0x6b, 0x82, 0x36, 0x9d, 0x95, 0x76, 0x31, 0x9c, 0x25, 0x53, 0xdd, 0x5f, 0xb6, 0xb3, 0x15, 0x5d, 0xd0, 0xd6, 0x36, 0xf3, 0x69, 0x39, 0x28, 0x27, 0xf0, 0x63, 0xa, 0x92, 0x4d, 0x80, 0x6b, 0x9a, 0x21, 0xfc, 0x53, 0x9e, 0xe2, 0xc9, 0x1a, 0xc0, 0x98, 0x3e, 0x30, 0x21, 0xc9, 0x84, 0xce, 0x48, 0x32, 0xa6, 0x7c, 0x4, 0xb6, 0x32, 0xc3, 0x30, 0xd7, 0x39, 0xba, 0xf4, 0x64, 0x40, 0x55, 0x98, 0x16, 0x13, 0x6f, 0x9f, 0xe7, 0x43, 0xfc, 0x3, 0x1d, 0xb3, 0x26, 0x87, 0x48, 0xa9, 0x5d, 0xba, 0x22, 0x24, 0xee, 0xcc, 0x75, 0x4b, 0x6f, 0xb2, 0xba, 0xcf, 0x24, 0xa8, 0x3c, 0xd3, 0x8a, 0xb0, 0x20, 0xb8, 0xbe, 0x83, 0xd8, 0x50, 0xd7, 0x7, 0xee, 0x84, 0x9b, 0x4, 0x9a, 0x61, 0xef, 0xae, 0x4e, 0xbe, 0xdf, 0x9c, 0x9f, 0xdd, 0xe1, 0x6c, 0x6d, 0xf2, 0x81, 0x9a, 0xcc, 0x1, 0xf6, 0x25, 0x9f, 0x37, 0x40, 0x11, 0x9a, 0xa6, 0x8e, 0x27, 0x96, 0x39, 0x2, 0xc3, 0xee, 0x2f, 0x44, 0x9c, 0xc6, 0x40, 0x53, 0x75, 0xaf, 0x48, 0xe9, 0x44, 0x32, 0x73, 0xbf, 0x50, 0x9, 0x24, 0x65, 0x6a, 0x8a, 0xe9, 0x56, 0x63, 0xe7, 0xa9, 0xe, 0x39, 0xe1, 0xb3, 0xb8, 0x85, 0xc0, 0x3b, 0xce, 0x4d, 0x89, 0x8f, 0x88, 0xe0, 0x61, 0xe1, 0xe7, 0xa2, 0x82, 0x5e, 0x96, 0x89, 0x47, 0x5f, 0x86, 0xcf, 0xfa, 0x66, 0xd5, 0xb4, 0x1e, 0x8d, 0xa6, 0xb6, 0xf5, 0x46, 0x97, 0xac, 0xe, 0x39, 0x41, 0x87, 0x2a, 0xf9, 0x0, 0xb2, 0xa3, 0x58, 0xa, 0x3e, 0x97, 0xaa, 0xcd, 0xcc, 0x20, 0xb8, 0x66, 0x3c, 0x47, 0x67, 0xa9, 0x1, 0xaa, 0x9d, 0x9, 0x60, 0x82, 0x5d, 0x27, 0xa2, 0xd8, 0xef, 0xa2, 0xe6, 0xfe, 0x99, 0x3, 0x3a, 0x86, 0xfd, 0xbf, 0x4e, 0x3e, 0x50, 0x66, 0x66, 0xb4, 0xd0, 0xd3, 0xb, 0x6e, 0x5d, 0x28, 0xc9, 0x7f, 0x40, 0xa2, 0x1b, 0xca, 0x62, 0xd5, 0xd3, 0xdf, 0x8b, 0x4b, 0x16, 0x58, 0xa4, 0x3b, 0x57, 0x1b, 0x2d, 0xa2, 0xf3, 0x5c, 0x5b, 0xf2, 0xd9, 0xdc, 0x28, 0xcb, 0xd3, 0xe1, 0x36, 0xcb, 0x6e, 0x35, 0xb9, 0x76, 0x23, 0x6d, 0x3, 0x1b, 0xad, 0x27, 0x88, 0x56, 0xb1, 0xcf, 0xa6, 0x29, 0xee, 0x2f, 0xdb, 0x54, 0x6c, 0xc4, 0x69, 0xd6, 0x79, 0x64, 0x7a, 0xdc, 0xc1, 0xec, 0x32, 0xc7, 0x7f, 0xda, 0x9f, 0xcc, 0x89, 0xdd, 0x7c, 0x5a, 0x1b, 0x6c, 0xfa, 0x77, 0xa6, 0xc7, 0xd, 0x9, 0x6e, 0x82, 0x6b, 0x33, 0xe0, 0xca, 0x30, 0x4e, 0x4a, 0xec, 0x78, 0xcc, 0x23, 0xe5, 0x54, 0xb6, 0x92, 0xc7, 0x1d, 0x21, 0xa2, 0x12, 0x16, 0x64, 0x2f, 0x47, 0xb7, 0x17, 0xfe, 0x4e, 0x93, 0x19, 0x68, 0x9b, 0x30, 0x27, 0x36, 0x11, 0xf6, 0x2a, 0x47, 0xbb, 0x74, 0xfd, 0x3d, 0x6a, 0x4a, 0x89, 0xd3, 0xfb, 0x72, 0x71, 0xf2, 0x35, 0xc8, 0x89, 0xa3, 0xdc, 0xc5, 0x64, 0xc9, 0x86, 0xe7, 0xd8, 0x9b, 0xe5, 0x94, 0x31, 0x67, 0x62, 0x8a, 0xd4, 0x1a, 0x2d, 0x6b, 0x46, 0x84, 0x89, 0xc8, 0x9d, 0x1f, 0xaf, 0x90, 0xf8, 0x9f, 0x43, 0x91, 0x73, 0xb4, 0xe7, 0x2, 0x9f, 0x7b, 0xdd, 0x26, 0xf9, 0x49, 0xab, 0x95, 0x13, 0x16, 0xa5, 0xf7, 0x31, 0x3, 0x5c, 0x61, 0xb2, 0xaa, 0x92, 0x1, 0xc8, 0xba, 0x16, 0xd1, 0xb2, 0x93, 0xd5, 0xa6, 0xb8, 0xa5, 0x9b, 0x56, 0x43, 0x49, 0xf5, 0x77, 0xad, 0x89, 0x98, 0xc, 0x18, 0x87, 0xb4, 0xe4, 0x79, 0x8d, 0x37, 0xae, 0xcb, 0x88, 0x72, 0x73, 0x2c, 0xf1, 0xed, 0x65, 0xb, 0xa, 0xb2, 0x91, 0x17, 0xa8, 0xb0, 0xa6, 0xf6, 0x59, 0x6a, 0xdb, 0xb9, 0x1e, 0xb, 0xd9, 0x49, 0x61, 0x88, 0x1b, 0x63, 0x9a, 0xf5, 0x7c, 0xd6, 0x1d, 0x71, 0x2d, 0xac, 0xf7, 0xb9, 0x93, 0x19, 0x1f, 0xe3, 0xc4, 0xa0, 0x9b, 0x98, 0xcf, 0xab, 0x65, 0x3f, 0x5a, 0x42, 0x63, 0xad, 0xe2, 0xb2, 0xcb, 0x27, 0xbb, 0xbf, 0xfc, 0x76, 0x4b, 0x97, 0x96, 0xdb, 0x54, 0x54, 0x9d, 0x91, 0x7b, 0x9e, 0x59, 0x17, 0x17, 0xa2, 0x94, 0x4c, 0x25, 0x3c, 0x30, 0x91, 0xab, 0x6c, 0x36, 0xa7, 0x8c, 0xac, 0xa0, 0xbc, 0x56, 0xfb, 0xda, 0x9a, 0x1e, 0x7b, 0xfd, 0xfd, 0xe2, 0xa2, 0x77, 0xf1, 0x65, 0x89, 0x22, 0xfb, 0xfd, 0x62, 0x5d, 0x55, 0xf6, 0xf7, 0x58, 0x87, 0xc5, 0xd6, 0xe7, 0x95, 0x58, 0x33, 0xfa, 0x49, 0x83, 0x36, 0xd6, 0xb4, 0xc8, 0xaf, 0xa1, 0x8f, 0xb9, 0x7d, 0x3d, 0x68, 0x64, 0xaf, 0xcd, 0x35, 0x9a, 0x88, 0xa2, 0x55, 0xdc, 0xa2, 0x79, 0x92, 0xfb, 0xc9, 0x25, 0xfa, 0xd, 0x99, 0x93, 0xad, 0x67, 0xd7, 0xa6, 0x19, 0x87, 0x23, 0x25, 0xeb, 0x6b, 0x54, 0xab, 0x8f, 0x95, 0xf7, 0x66, 0xd6, 0x7c, 0xa6, 0xc8, 0xa3, 0x53, 0x41, 0x66, 0xe4, 0x91, 0x5a, 0x85, 0xcc, 0x7b, 0x36, 0x46, 0x41, 0x83, 0x61, 0x49, 0xa9, 0x3a, 0x34, 0xf, 0xf5, 0x3, 0xe4, 0x5c, 0x25, 0xba, 0x3b, 0x6c, 0xae, 0xd3, 0x4f, 0x4e, 0x4f, 0x2e, 0x4e, 0xcf, 0xbf, 0xf6, 0xaf, 0xcf, 0xff, 0xf9, 0xfd, 0xfc, 0x26, 0x48, 0x54, 0x3a, 0x0, 0x34, 0xc5, 0x49, 0xa6, 0x35, 0xf8, 0x3a, 0x1f, 0x35, 0x5a, 0x4a, 0x90, 0xc8, 0xb4, 0x9a, 0x46, 0xd5, 0xda, 0xf7, 0x9c, 0x26, 0xe5, 0x6f, 0x84, 0xfc, 0xd3, 0x2e, 0xe9, 0xe9, 0xa2, 0xe8, 0x89, 0xb, 0x3b, 0xf5, 0xb1, 0x18, 0x6e, 0xf6, 0xa1, 0xd2, 0x12, 0x2a, 0x67, 0x3e, 0x20, 0x36, 0xc9, 0x4, 0x22, 0x54, 0x4f, 0xdb, 0x20, 0x5c, 0xeb, 0x71, 0xf2, 0xce, 0xfb, 0xa9, 0xbc, 0x9b, 0x6b, 0xae, 0x6c, 0x25, 0x15, 0x80, 0x2a, 0x2d, 0xe6, 0x3f, 0x6d, 0x8, 0x80, 0x58, 0xb4, 0x8f, 0xbb, 0xac, 0xc2, 0xd4, 0xd3, 0xfb, 0x76, 0x47, 0xf1, 0x7a, 0x1e, 0x8d, 0x8b, 0x76, 0xa9, 0x55, 0xb0, 0xbe, 0x6c, 0xaa, 0x7, 0x70, 0xf, 0xc1, 0x7d, 0x7b, 0x1, 0x76, 0xf3, 0x98, 0x8e, 0xb7, 0x3, 0x36, 0x12, 0xd, 0x15, 0x5, 0x97, 0x1, 0xbf, 0x5e, 0xb2, 0xa, 0x8a, 0x7a, 0xd4, 0x19, 0x96, 0x6e, 0x4f, 0x6e, 0x7e, 0xed, 0x9f, 0x5e, 0x7e, 0xbb, 0xfa, 0x7a, 0x1e, 0x60, 0xf1, 0x7b, 0xf8, 0x91, 0x64, 0xb9, 0x62, 0xf, 0xf0, 0xa1, 0x5b, 0x24, 0xa2, 0xe, 0xfd, 0x2, 0x35, 0xc8, 0x9, 0xe3, 0xde, 0xed, 0xc2, 0xdd, 0xa9, 0x94, 0xed, 0x87, 0x25, 0xa3, 0x6c, 0x6, 0xe8, 0x2e, 0xf9, 0xe9, 0xdc, 0xb7, 0xf9, 0x93, 0x8d, 0xb9, 0xc3, 0x4f, 0x59, 0xa, 0x5c, 0x5b, 0x9d, 0xa2, 0x8, 0xaf, 0xf7, 0x62, 0xbb, 0x56, 0x90, 0xd, 0xb, 0x63, 0x1a, 0x4c, 0x33, 0x3a, 0xb, 0x27, 0x51, 0xe8, 0x20, 0x66, 0x21, 0x1c, 0x5b, 0xf8, 0x4f, 0xe7, 0x0, 0x8, 0x9, 0xa0, 0x73, 0x60, 0x65, 0xa2, 0x95, 0xdc, 0xd8, 0x12, 0x26, 0x94, 0x71, 0x2b, 0xee, 0xfb, 0x2b, 0x97, 0x9, 0x95, 0xf7, 0x90, 0x12, 0xaa, 0x10, 0xe3, 0xa3, 0xfe, 0xca, 0xf9, 0x1f, 0x35, 0xb2, 0x9f, 0x79, 0x77, 0x4a, 0xed, 0x53, 0xb, 0xb0, 0x26, 0xe0, 0xaf, 0xdb, 0xe4, 0x3, 0xe0, 0xef, 0xa, 0xe0, 0xd7, 0xed, 0x4e, 0xcb, 0x80, 0xbe, 0x7e, 0x8a, 0x7, 0x80, 0xf, 0x1, 0xde, 0x5a, 0x38, 0x5f, 0xe2, 0x72, 0x65, 0xd1, 0x9d, 0x8a, 0xcb, 0xed, 0x51, 0x9a, 0x5b, 0x69, 0x71, 0xcb, 0xb0, 0xae, 0x7c, 0xbe, 0xca, 0x45, 0x49, 0xc3, 0x2d, 0x49, 0xe5, 0x72, 0xa4, 0xec, 0x5, 0x21, 0xd0, 0xa, 0xf2, 0x55, 0x39, 0x7c, 0x71, 0x1d, 0xa9, 0x86, 0xa9, 0x1f, 0x50, 0xf0, 0x60, 0xcd, 0x27, 0xdb, 0xb3, 0xe6, 0xb7, 0x1a, 0xd6, 0x1b, 0xe7, 0x78, 0xc0, 0xf5, 0x10, 0xd7, 0xb, 0x49, 0x76, 0xd3, 0x68, 0x7e, 0xeb, 0x1b, 0x9e, 0x7, 0xf4, 0xa2, 0x4f, 0xb5, 0x4c, 0x80, 0x1f, 0xcc, 0x1c, 0x6, 0xa3, 0x45, 0xbd, 0x4e, 0x80, 0x2f, 0xc1, 0xfb, 0xf6, 0xfc, 0xfa, 0x5b, 0xef, 0xe2, 0x24, 0xae, 0xfd, 0x52, 0x45, 0xed, 0x3a, 0x21, 0xde, 0x26, 0xf7, 0x82, 0x85, 0xe2, 0x7b, 0x1d, 0x68, 0x37, 0xcf, 0xf0, 0x80, 0xdb, 0xbb, 0x81, 0x73, 0xcd, 0x3b, 0xd4, 0x2a, 0xa8, 0x5b, 0x34, 0xcd, 0x3, 0xda, 0x85, 0x68, 0xb7, 0x85, 0x18, 0xe, 0xeb, 0xc8, 0x38, 0xb7, 0xf2, 0x3e, 0x70, 0x63, 0x4a, 0xa5, 0x66, 0x34, 0xcb, 0x66, 0x2e, 0x4e, 0xc3, 0xaa, 0xfd, 0x8d, 0xaf, 0xdb, 0xc8, 0x8d, 0x5, 0x90, 0xb8, 0x20, 0xd8, 0xa2, 0xa9, 0xd1, 0xcd, 0xa1, 0xd1, 0x9c, 0x34, 0x55, 0x7c, 0x17, 0xc9, 0x4f, 0x2e, 0x86, 0xc4, 0x8f, 0x67, 0xbb, 0xf7, 0x70, 0xfb, 0x84, 0x67, 0x8b, 0xf7, 0xb9, 0x55, 0x98, 0xb6, 0x6c, 0xaa, 0x7, 0x5c, 0x9b, 0xc7, 0xb5, 0xe3, 0x3f, 0xbd, 0x43, 0x2, 0xe3, 0xd3, 0x5c, 0x77, 0xf9, 0xc6, 0xb4, 0xf4, 0x1e, 0x7f, 0x10, 0xf7, 0xe, 0xbb, 0x4a, 0x2f, 0x8, 0xbb, 0x47, 0x64, 0x98, 0xf3, 0xc4, 0x5e, 0x98, 0x71, 0xa3, 0xa8, 0xcb, 0xd2, 0x9b, 0x20, 0x11, 0x69, 0xbd, 0xe8, 0xd4, 0xb0, 0xbb, 0x7, 0xa4, 0xda, 0x9e, 0xfc, 0x37, 0x4f, 0x1a, 0x7b, 0x85, 0x91, 0xfb, 0x0, 0x8e, 0x2d, 0x43, 0x45, 0xf8, 0x91, 0xab, 0x63, 0xe0, 0xe9, 0x54, 0x30, 0xae, 0xdd, 0x8e, 0x8c, 0xa0, 0x11, 0xc6, 0x2e, 0x11, 0x60, 0x84, 0x5c, 0x4d, 0x3d, 0xfd, 0xca, 0x94, 0xc6, 0xfc, 0xc, 0x17, 0xa6, 0x1b, 0x52, 0x74, 0x53, 0x18, 0xec, 0x92, 0x2c, 0x57, 0x1a, 0xe4, 0x11, 0x51, 0x42, 0x6a, 0xeb, 0x3f, 0xd0, 0x3b, 0x43, 0xd3, 0xa1, 0x4a, 0x5c, 0xea, 0x5, 0x21, 0x53, 0x90, 0x5d, 0x72, 0x3, 0x9a, 0x4c, 0xe9, 0x8, 0xfa, 0x98, 0x9f, 0xa9, 0xe2, 0x1b, 0x36, 0x77, 0x93, 0xcf, 0xe1, 0x87, 0xee, 0x7, 0xaf, 0xf, 0x19, 0x64, 0x45, 0x52, 0x1c, 0xef, 0x86, 0x16, 0x25, 0x22, 0x36, 0x8, 0x65, 0x1e, 0x9a, 0x2f, 0xb1, 0x23, 0xf3, 0xb6, 0xb3, 0x65, 0x76, 0xc9, 0x9, 0x77, 0x39, 0x80, 0x2a, 0xd, 0x97, 0x3d, 0x7a, 0x9f, 0x62, 0x3, 0xdf, 0x54, 0x7, 0xb9, 0x9a, 0xb9, 0xf0, 0xe9, 0x9a, 0x5d, 0x5b, 0x67, 0xb9, 0x39, 0xc0, 0xa6, 0xf, 0xd4, 0x8b, 0x5, 0x3f, 0xb2, 0x97, 0x3c, 0xd9, 0xcc, 0x79, 0x90, 0x29, 0xbb, 0xb6, 0xae, 0xfe, 0x2a, 0x37, 0x2b, 0x92, 0xc1, 0xf, 0x96, 0x88, 0x91, 0xa4, 0xd3, 0x31, 0x4b, 0x8c, 0xa0, 0x1b, 0xe8, 0xd1, 0x54, 0x66, 0xc, 0xcc, 0x72, 0x52, 0x1e, 0x4f, 0xcf, 0xc, 0xf3, 0x9d, 0x22, 0x19, 0x55, 0xba, 0x58, 0xfa, 0x77, 0xca, 0x34, 0x37, 0xa1, 0x58, 0x98, 0x7f, 0xc2, 0x94, 0x6a, 0xf0, 0x34, 0x33, 0x3b, 0x87, 0x9b, 0x76, 0xee, 0xf7, 0x6c, 0x5, 0xb6, 0x61, 0x3a, 0xbc, 0x61, 0xff, 0x5d, 0xc5, 0x3c, 0xac, 0x4d, 0xbf, 0x12, 0xb6, 0x31, 0xae, 0x61, 0x4, 0x32, 0x7a, 0x32, 0x14, 0x72, 0x42, 0x35, 0x3e, 0xfb, 0xfb, 0x7f, 0xcc, 0x73, 0x2a, 0xf8, 0xa1, 0xaf, 0xe8, 0x8, 0x6e, 0xe3, 0xdd, 0xa8, 0xed, 0x77, 0x51, 0x10, 0xf0, 0x6d, 0xd, 0x5, 0x1c, 0x91, 0x29, 0x55, 0x68, 0xc8, 0xbe, 0x9b, 0x5f, 0xe, 0xf, 0x3, 0xdd, 0xa, 0x45, 0xdc, 0x91, 0xa1, 0x14, 0x93, 0xba, 0x8d, 0x88, 0x4f, 0xaa, 0xa7, 0x3d, 0x9b, 0x90, 0xdc, 0x52, 0xa9, 0xbf, 0xd7, 0xb3, 0xa4, 0xe6, 0x53, 0x91, 0xbc, 0xc3, 0x4c, 0x24, 0xc2, 0xfc, 0x8d, 0x2d, 0x55, 0xa2, 0x8d, 0xad, 0x53, 0xa7, 0x69, 0x4, 0x37, 0x1a, 0x49, 0xd7, 0xed, 0x6f, 0xd8, 0xe, 0xd1, 0x42, 0xd3, 0x2c, 0x48, 0x3b, 0x5a, 0x1e, 0x46, 0x9, 0x23, 0x66, 0x4e, 0x21, 0xa4, 0xe8, 0x88, 0x42, 0x26, 0x79, 0xa6, 0xd9, 0x34, 0x2b, 0xf8, 0x37, 0x36, 0xa9, 0xd8, 0x7f, 0x47, 0x3d, 0xaf, 0xcc, 0x1a, 0xc3, 0x3d, 0x1c, 0xcc, 0x34, 0xa8, 0x5a, 0x69, 0xe3, 0x19, 0x5b, 0x77, 0x11, 0x88, 0x1a, 0x8c, 0x27, 0x62, 0x62, 0x4e, 0x97, 0x9f, 0x1d, 0x56, 0x77, 0x62, 0x99, 0x36, 0x73, 0xe6, 0xa4, 0xe3, 0x82, 0xf7, 0x69, 0xd6, 0x25, 0x37, 0x28, 0x61, 0xcd, 0x8a, 0xa4, 0xf3, 0xfe, 0xc2, 0xdb, 0x20, 0x35, 0xe3, 0xe4, 0xbf, 0x41, 0xa, 0x62, 0x4b, 0xab, 0x17, 0x47, 0x37, 0x5e, 0xf8, 0xfa, 0x68, 0x85, 0xff, 0xf8, 0xf9, 0xef, 0x1f, 0x3f, 0x22, 0xdc, 0x74, 0xbc, 0x13, 0x6d, 0xc7, 0x73, 0xc1, 0x86, 0xb8, 0x5, 0xd2, 0x1c, 0xbb, 0x70, 0x81, 0x21, 0x1d, 0x59, 0x26, 0x1e, 0xcd, 0x38, 0x6d, 0x4f, 0x58, 0xf, 0x5e, 0x85, 0x81, 0xa, 0x6b, 0xec, 0xc7, 0x1b, 0xe1, 0xbd, 0xcd, 0xe7, 0xed, 0x6d, 0xb3, 0xdd, 0xc5, 0x3a, 0xc2, 0x7a, 0xcc, 0xf5, 0xd4, 0xd6, 0xec, 0xa6, 0x15, 0xe6, 0xea, 0xd2, 0x25, 0x22, 0x39, 0xf, 0x29, 0xcb, 0x6c, 0xb9, 0xec, 0xf2, 0x40, 0x14, 0x19, 0x8c, 0xb0, 0x34, 0x36, 0xca, 0xe9, 0x81, 0xfb, 0x59, 0x80, 0x5, 0xae, 0xfc, 0xb7, 0x73, 0x90, 0xe, 0xfd, 0xf4, 0x4e, 0xbe, 0x5e, 0x9f, 0x9f, 0x9c, 0xfd, 0xab, 0x7f, 0xfe, 0x5f, 0xbd, 0x9b, 0xdb, 0x9b, 0xe0, 0x58, 0xf8, 0xc4, 0x4a, 0xc8, 0xda, 0xdd, 0xdd, 0x5c, 0xdc, 0x31, 0xc3, 0x9b, 0x41, 0xa6, 0x19, 0xcd, 0x7c, 0x46, 0xc7, 0x2e, 0xf9, 0x97, 0xc8, 0x11, 0xb2, 0x72, 0xc3, 0x8a, 0xc3, 0x5c, 0x8f, 0x46, 0x4c, 0x28, 0xeb, 0x52, 0x78, 0xe3, 0x4e, 0x2d, 0xc3, 0xb2, 0xab, 0x11, 0xd1, 0xcc, 0x2b, 0xcb, 0xc8, 0x35, 0x23, 0x6a, 0x95, 0x7c, 0x5c, 0x3b, 0xbf, 0x36, 0x1c, 0xd2, 0x6, 0xd9, 0xf8, 0xf8, 0x4f, 0xe6, 0x4b, 0xf8, 0x3f, 0x4f, 0x40, 0xfe, 0x82, 0xa9, 0x5f, 0x82, 0x93, 0x16, 0x1f, 0x60, 0x2b, 0x4, 0x77, 0x51, 0xa1, 0xb6, 0xbe, 0xa4, 0x90, 0x16, 0x27, 0x22, 0x4c, 0x24, 0x63, 0x4e, 0x87, 0xe1, 0x67, 0x13, 0xa6, 0x34, 0x4b, 0x16, 0x9e, 0x8e, 0x2f, 0xa0, 0xeb, 0x8e, 0xc6, 0x22, 0x61, 0x6e, 0x99, 0xd2, 0x1c, 0x4d, 0xe9, 0xc6, 0x46, 0xaf, 0x17, 0x51, 0x7d, 0x24, 0xe7, 0xec, 0xdf, 0x39, 0x94, 0x73, 0x8a, 0x93, 0xa4, 0x3c, 0x5f, 0xed, 0x7d, 0x13, 0x27, 0xa4, 0xba, 0xea, 0xed, 0x38, 0x1e, 0x66, 0x88, 0x65, 0x59, 0xf6, 0x27, 0x9d, 0x80, 0x33, 0x6c, 0xc0, 0xb0, 0xa5, 0x42, 0x60, 0xb3, 0x67, 0xc0, 0xab, 0x3e, 0xf6, 0x8, 0xd4, 0x51, 0xb2, 0xfd, 0xb4, 0x4d, 0xc4, 0x5c, 0x8e, 0xd2, 0x1d, 0xf2, 0x75, 0x64, 0xe1, 0x33, 0xaa, 0x69, 0xc4, 0x2e, 0x91, 0x7f, 0x96, 0xb2, 0xc0, 0xb7, 0x5c, 0x69, 0x32, 0xa1, 0x3a, 0x19, 0x7b, 0x7, 0xca, 0x82, 0xed, 0xb6, 0xf6, 0xd8, 0xd5, 0x90, 0x48, 0x3b, 0x4e, 0xde, 0x22, 0xc6, 0xe4, 0xac, 0xd3, 0xcb, 0xd, 0xd1, 0xeb, 0x9, 0x99, 0x97, 0x5, 0x7f, 0x9, 0xae, 0xd7, 0xe6, 0x64, 0x4e, 0x32, 0xa0, 0x58, 0x3a, 0x82, 0x97, 0x69, 0x31, 0x8b, 0x74, 0xdd, 0x8a, 0x88, 0x81, 0xa6, 0xe8, 0xfe, 0xf3, 0xc0, 0x28, 0x8a, 0x86, 0x77, 0x55, 0x60, 0xbc, 0x23, 0x22, 0x50, 0xfa, 0xe7, 0xb5, 0x6d, 0xbf, 0x7d, 0x77, 0xe4, 0xe4, 0xaa, 0xa7, 0xe6, 0x24, 0xdc, 0xaa, 0xa4, 0x4a, 0x3e, 0x9f, 0xf4, 0xbe, 0x9e, 0x9f, 0xf5, 0xaf, 0xae, 0xcf, 0x4f, 0x2f, 0x2f, 0xce, 0x7a, 0xb7, 0xbd, 0xcb, 0xb, 0xaf, 0x6, 0xfb, 0x71, 0xa5, 0x2, 0xd0, 0xe7, 0xb7, 0xec, 0x16, 0x4f, 0x49, 0x83, 0x30, 0x6b, 0xe7, 0x5d, 0x27, 0xcc, 0xfa, 0x27, 0x4f, 0x16, 0x66, 0xf1, 0x83, 0x54, 0xf0, 0x77, 0xc1, 0x50, 0x38, 0xf8, 0x40, 0xf5, 0x44, 0xc2, 0x4, 0xf3, 0x19, 0x4, 0x43, 0x9f, 0x89, 0x5c, 0x2a, 0xc8, 0x86, 0x56, 0x44, 0xb0, 0x9, 0x60, 0x9c, 0xf7, 0x74, 0xed, 0xfb, 0xa6, 0xe3, 0x99, 0xc8, 0x9, 0x1d, 0x1a, 0xed, 0x11, 0x68, 0x32, 0x76, 0x9d, 0x2f, 0xb8, 0x35, 0x68, 0x13, 0xc0, 0xbe, 0xae, 0x91, 0xbc, 0xbd, 0xa, 0x40, 0xed, 0xfc, 0xda, 0x84, 0xb3, 0x6a, 0xa6, 0x34, 0x4c, 0x3a, 0x8c, 0xf, 0xc5, 0x52, 0xb9, 0x7f, 0x85, 0xfb, 0xbd, 0x2f, 0xa0, 0x6f, 0xb0, 0xc5, 0x1e, 0x1f, 0x8a, 0x22, 0x4c, 0xcc, 0xb4, 0x2e, 0x27, 0x36, 0x18, 0x8e, 0xe, 0x30, 0x89, 0xb1, 0x39, 0xd5, 0xf8, 0x62, 0x93, 0x2c, 0x5f, 0x36, 0xf3, 0xb6, 0x28, 0x26, 0x1a, 0x7a, 0x4b, 0x68, 0xc5, 0x5d, 0x61, 0x6c, 0x88, 0x40, 0x4e, 0x6d, 0x6b, 0xcb, 0x28, 0x4, 0x26, 0x53, 0x21, 0x69, 0xe6, 0xef, 0x4f, 0x1a, 0xc8, 0x24, 0x68, 0xec, 0xcd, 0xd1, 0x49, 0x30, 0xf6, 0x76, 0x11, 0x4a, 0xe0, 0x88, 0xb0, 0x9, 0x9a, 0x41, 0x59, 0xa9, 0x68, 0xb1, 0xa0, 0x19, 0x6b, 0xc, 0xf, 0xe8, 0x86, 0xa7, 0xb6, 0x0, 0xc4, 0x28, 0xb7, 0x24, 0x62, 0xab, 0xc1, 0x66, 0x59, 0x79, 0x67, 0x5f, 0x6f, 0x39, 0x88, 0xdb, 0x5f, 0x41, 0x12, 0xd8, 0xf1, 0x4b, 0xa0, 0xd, 0xdf, 0x5b, 0xe0, 0xb2, 0x7c, 0xc6, 0xb, 0x86, 0x2e, 0xe3, 0x49, 0x96, 0xa7, 0x60, 0xd5, 0x8f, 0xaa, 0x3c, 0xb4, 0xce, 0x8d, 0xc6, 0xa7, 0x99, 0xa7, 0xf0, 0x60, 0x77, 0x8, 0xe3, 0xe4, 0xe2, 0xe4, 0xdb, 0xf9, 0xcd, 0xd5, 0xc9, 0xe9, 0x79, 0xff, 0xe6, 0xf6, 0xe4, 0xf6, 0xbc, 0x7f, 0x76, 0x8e, 0x11, 0x75, 0xae, 0x30, 0xab, 0xbd, 0x6d, 0xd4, 0xc4, 0x8d, 0x23, 0xad, 0xdc, 0x57, 0xdc, 0xb8, 0xba, 0x74, 0xee, 0x71, 0xdf, 0x6a, 0xf1, 0xd6, 0xf3, 0x5e, 0xe6, 0x50, 0x48, 0x90, 0xe6, 0x21, 0xf1, 0xf, 0xe7, 0xa9, 0xc3, 0xfd, 0xb3, 0xd7, 0x4e, 0x65, 0x86, 0x8, 0xb6, 0xc2, 0x0, 0x31, 0x24, 0x9c, 0x69, 0xac, 0x1a, 0xe0, 0x3b, 0x28, 0x6e, 0xcb, 0x2c, 0xc7, 0x23, 0x83, 0x5c, 0x13, 0xaa, 0x94, 0x48, 0x18, 0x4a, 0x86, 0xa9, 0xd1, 0x6f, 0x5d, 0x74, 0x9e, 0xff, 0x64, 0x16, 0x27, 0xa4, 0x6d, 0xde, 0xd1, 0x81, 0x10, 0x19, 0x50, 0xfe, 0xb6, 0xb0, 0x2f, 0x3e, 0x70, 0xed, 0xc0, 0xbe, 0xcd, 0xc6, 0xab, 0x5a, 0xbb, 0x69, 0x49, 0x7a, 0xf6, 0xa6, 0x41, 0xb9, 0x50, 0xc9, 0xd2, 0x7, 0xc9, 0xa6, 0xa3, 0xe, 0x2d, 0xa6, 0xd4, 0xbc, 0x64, 0xe6, 0x6f, 0xf4, 0x51, 0x59, 0x40, 0xa0, 0x4, 0x25, 0x72, 0x89, 0x34, 0x5e, 0x4e, 0xf0, 0x24, 0x26, 0x6e, 0x4a, 0xb4, 0x98, 0x92, 0xc, 0x1e, 0x20, 0x23, 0xc0, 0xb5, 0xaf, 0x5, 0xc1, 0x38, 0xb9, 0x75, 0xcc, 0xd8, 0xd5, 0x53, 0x54, 0x8d, 0x5d, 0x15, 0xdd, 0x94, 0x9d, 0x64, 0xec, 0xbe, 0x2e, 0x5b, 0x89, 0x3a, 0xb2, 0x51, 0x4e, 0xff, 0xce, 0x21, 0x7, 0x75, 0x44, 0x40, 0x27, 0xdd, 0x68, 0x40, 0x34, 0xd1, 0xca, 0x76, 0xa1, 0x28, 0x4f, 0x7, 0xe2, 0x7, 0xf6, 0xed, 0x94, 0xef, 0xa0, 0x7d, 0xa6, 0x44, 0x16, 0xc3, 0x7d, 0x31, 0x8, 0x3f, 0x7c, 0x1d, 0xfa, 0x6d, 0x75, 0x31, 0x17, 0x69, 0xf9, 0xce, 0x0, 0x32, 0xc1, 0x47, 0x98, 0x16, 0x7, 0x7e, 0xd0, 0x44, 0x67, 0x33, 0x22, 0x78, 0xe8, 0x67, 0x51, 0x7c, 0x58, 0xc7, 0x3b, 0xe6, 0xb6, 0xea, 0x95, 0x15, 0xb2, 0xb9, 0xf1, 0xb4, 0x4a, 0x1d, 0xab, 0x99, 0x5d, 0x1b, 0xb0, 0xa3, 0x46, 0x6e, 0xa, 0x1d, 0x38, 0x37, 0x21, 0x43, 0x9d, 0xe1, 0x7f, 0xc, 0xa0, 0x3c, 0x5f, 0x6b, 0x8a, 0x51, 0xe1, 0x65, 0xce, 0xe2, 0x23, 0x31, 0xd7, 0xd5, 0xa, 0x12, 0xd5, 0x8b, 0x47, 0xb1, 0xcc, 0x19, 0x73, 0x9e, 0x2c, 0x44, 0x15, 0xde, 0x99, 0x40, 0xef, 0x4f, 0x5, 0x57, 0x66, 0x91, 0x78, 0x32, 0x7b, 0x86, 0x6c, 0xd4, 0x1b, 0xe2, 0xf4, 0x8e, 0x82, 0xe4, 0xc7, 0x68, 0x6e, 0xc3, 0x3f, 0x7d, 0xac, 0xbe, 0xf5, 0xea, 0x42, 0xd1, 0x82, 0x72, 0x1b, 0xa7, 0x94, 0xd3, 0x2c, 0x9b, 0x75, 0x12, 0x3f, 0x6, 0x1d, 0x53, 0xa3, 0xc5, 0xbb, 0xb0, 0x16, 0xa0, 0x4, 0x9a, 0x5a, 0xdf, 0x10, 0x29, 0xf2, 0xd1, 0x18, 0x33, 0x10, 0x83, 0x74, 0x13, 0x80, 0xae, 0x3f, 0x2a, 0x8, 0x8d, 0x43, 0x9a, 0x29, 0x38, 0x8a, 0x5b, 0xb4, 0xcc, 0x67, 0x2a, 0x1, 0x7, 0xa6, 0xb0, 0xbd, 0xe, 0x5a, 0xe0, 0x3a, 0x8f, 0x92, 0x61, 0xee, 0xc9, 0x62, 0x39, 0xba, 0xe4, 0xe6, 0xec, 0x57, 0x45, 0xd4, 0x58, 0xe4, 0x59, 0x6a, 0xeb, 0xe5, 0xa3, 0x81, 0x73, 0x1c, 0x49, 0xb3, 0x46, 0x1e, 0x5, 0x9d, 0x8c, 0xcd, 0xa8, 0x4a, 0x26, 0x97, 0xd0, 0x29, 0x1d, 0xb0, 0xcc, 0x96, 0xea, 0x17, 0xdc, 0xa5, 0xdf, 0x39, 0x76, 0x95, 0x2b, 0x30, 0xb3, 0x69, 0x3e, 0x6d, 0xb1, 0xb8, 0x34, 0x77, 0xa0, 0xf6, 0x2, 0xf5, 0x8e, 0x15, 0x50, 0x99, 0x8c, 0x3b, 0x54, 0x6b, 0xc9, 0x6, 0xb9, 0x5e, 0x41, 0x97, 0x5c, 0xc1, 0xee, 0x6f, 0x44, 0xcf, 0x1b, 0x6c, 0xf8, 0xa4, 0x68, 0xb7, 0x80, 0x42, 0x33, 0x5c, 0x9, 0x63, 0xe0, 0x8a, 0x3d, 0x40, 0x8d, 0x4d, 0xc2, 0x8e, 0x88, 0x94, 0x23, 0x6a, 0x54, 0x27, 0xab, 0x5d, 0xec, 0xe, 0x4, 0xbe, 0x11, 0x9a, 0xaf, 0x5b, 0xc4, 0xfd, 0x20, 0xfb, 0x55, 0x2f, 0xb9, 0x9e, 0x52, 0x16, 0x28, 0x12, 0xf7, 0x7d, 0x2e, 0x84, 0xa0, 0xee, 0xcf, 0x62, 0x39, 0x40, 0xc, 0x23, 0x31, 0x60, 0x55, 0x11, 0xb9, 0xd2, 0xf5, 0x2e, 0x1d, 0x85, 0x57, 0xbd, 0x34, 0x69, 0xa5, 0x84, 0x3e, 0x37, 0xb7, 0x76, 0x1d, 0xd9, 0x43, 0x28, 0xc1, 0x21, 0x94, 0xc0, 0x36, 0x74, 0x8, 0x25, 0x38, 0x84, 0x12, 0x1c, 0x42, 0x9, 0xe, 0xa1, 0x4, 0xbb, 0xc0, 0x74, 0xf, 0xa1, 0x4, 0x87, 0x50, 0x82, 0x43, 0x28, 0xc1, 0x6e, 0x9f, 0xd1, 0xf6, 0x86, 0x12, 0x34, 0x8, 0xc7, 0x87, 0x58, 0x82, 0x1d, 0xf2, 0xe, 0x7c, 0x13, 0x47, 0xe4, 0x10, 0x4b, 0x70, 0x88, 0x25, 0x38, 0xc4, 0x12, 0xf8, 0x7f, 0x87, 0x58, 0x82, 0xad, 0x72, 0xa6, 0x43, 0x30, 0xc1, 0x21, 0x98, 0xe0, 0x10, 0x4c, 0xb0, 0x8b, 0x76, 0xf1, 0xd6, 0xaa, 0x0, 0xed, 0xd, 0x26, 0x68, 0xb8, 0xca, 0x72, 0xa5, 0xbf, 0xd8, 0xe6, 0xdc, 0x80, 0xe7, 0xa, 0xbe, 0xdb, 0x32, 0x6f, 0xe4, 0x81, 0x29, 0x86, 0x2e, 0x2, 0x33, 0xac, 0xf1, 0xa6, 0x5, 0xc9, 0xd0, 0x98, 0xee, 0x6b, 0x8f, 0x41, 0xf0, 0x3e, 0x2f, 0x6b, 0x39, 0x24, 0x4b, 0xae, 0xae, 0xea, 0xbb, 0x5c, 0xe1, 0x78, 0xbf, 0xb8, 0x3f, 0xcb, 0x8a, 0xc6, 0xe4, 0x68, 0x41, 0xbf, 0xd1, 0x1f, 0xa1, 0x85, 0xb3, 0x5c, 0x22, 0xed, 0x1d, 0xf3, 0xc9, 0xb4, 0xc6, 0x8a, 0xba, 0x13, 0x6, 0x69, 0xfc, 0xa0, 0xd4, 0xf7, 0x18, 0x6f, 0xd8, 0xab, 0xc2, 0xf0, 0xfc, 0x94, 0xc5, 0x25, 0x4b, 0x8d, 0xb1, 0xd5, 0x31, 0x2e, 0x1d, 0xf7, 0x6f, 0x25, 0xa1, 0xe2, 0x7b, 0x47, 0x44, 0x1, 0x90, 0xb1, 0xd6, 0x53, 0xf5, 0xf1, 0xf8, 0x38, 0x15, 0x89, 0xea, 0xfa, 0xc8, 0x87, 0x2e, 0x13, 0xc7, 0x86, 0x8a, 0x3b, 0xce, 0x22, 0xeb, 0x6f, 0x81, 0xd4, 0x8c, 0x6b, 0xfa, 0xa3, 0xbd, 0xf2, 0xe8, 0xe2, 0x8d, 0x6c, 0x3b, 0x52, 0x76, 0x52, 0x98, 0x4a, 0x48, 0xc, 0x9b, 0x3f, 0xde, 0x4a, 0x85, 0x4c, 0x2c, 0xfd, 0xed, 0xd7, 0x97, 0xb8, 0xc2, 0x95, 0x51, 0x65, 0x1, 0x97, 0x3c, 0xb6, 0x0, 0xcf, 0x32, 0x51, 0xe3, 0x60, 0x86, 0x32, 0x5c, 0xef, 0x8c, 0x18, 0x5a, 0x9c, 0x4d, 0xc3, 0x63, 0xd5, 0x1b, 0x6, 0xd7, 0x78, 0xc5, 0xa5, 0xc8, 0xd4, 0xdd, 0x4b, 0x96, 0x13, 0x2c, 0xef, 0x15, 0x9d, 0xe4, 0x6b, 0xda, 0x21, 0x1d, 0xbc, 0xf8, 0xb4, 0x8f, 0x26, 0xc5, 0xd5, 0x8e, 0xad, 0x65, 0x18, 0x78, 0x2c, 0x5f, 0xf9, 0xa2, 0x98, 0xc1, 0xf0, 0xb0, 0x8, 0x4e, 0xb0, 0x21, 0x1d, 0x5f, 0x47, 0xba, 0x78, 0x83, 0x29, 0xaf, 0xcd, 0x65, 0x33, 0xf2, 0x48, 0x19, 0xc6, 0x8, 0x78, 0xaf, 0x46, 0x2d, 0x67, 0x66, 0x36, 0x65, 0xf5, 0x6b, 0xf4, 0x7c, 0x28, 0x5, 0xcf, 0x6c, 0x66, 0xab, 0x94, 0x45, 0xce, 0x6f, 0xcc, 0xd5, 0xf2, 0xe1, 0x42, 0x9b, 0x71, 0x4a, 0x50, 0x45, 0x9d, 0x9a, 0x9c, 0x6b, 0x96, 0xd9, 0xe2, 0xdb, 0xbe, 0x80, 0x64, 0x18, 0xa6, 0x50, 0x3b, 0x3a, 0x6f, 0x4f, 0xb6, 0x6f, 0x1f, 0x61, 0xa9, 0xb9, 0xe2, 0xaa, 0x65, 0x2, 0x7a, 0x2c, 0x5c, 0x61, 0x9d, 0x31, 0x7d, 0xc0, 0x3b, 0x52, 0x18, 0xe, 0x21, 0xd1, 0xcb, 0x9a, 0xd, 0x27, 0x34, 0x64, 0x9c, 0xa9, 0x31, 0x14, 0x35, 0xdb, 0x86, 0x79, 0x96, 0xcd, 0x8e, 0xe2, 0x4f, 0xfc, 0xb2, 0x17, 0x15, 0x84, 0x9e, 0xd4, 0x1, 0x8a, 0xfa, 0x66, 0xc9, 0x72, 0x9, 0xd1, 0x39, 0xf9, 0x6b, 0x71, 0x49, 0x67, 0xc3, 0x1d, 0xdc, 0xe2, 0x67, 0x30, 0xd4, 0xa4, 0xb3, 0xfa, 0x48, 0xa2, 0x86, 0x90, 0xd8, 0xec, 0x85, 0xb1, 0x96, 0x86, 0xba, 0x16, 0xb5, 0x36, 0xb7, 0x19, 0x9f, 0x85, 0x24, 0x99, 0xe0, 0xa3, 0x4e, 0x31, 0x91, 0x8a, 0xc4, 0xe2, 0xa6, 0x1e, 0x50, 0x2f, 0xe3, 0xbe, 0xb0, 0xab, 0xb, 0xf8, 0x30, 0x6d, 0xbb, 0x72, 0x22, 0x51, 0xd5, 0x3f, 0x5c, 0x86, 0x9f, 0xfc, 0x18, 0xfa, 0xf6, 0xa3, 0x9f, 0xac, 0xeb, 0xa3, 0x20, 0xef, 0xc, 0xc3, 0x7f, 0x67, 0x5a, 0xb, 0xaf, 0xd5, 0xdf, 0x5d, 0x63, 0x92, 0x7a, 0x7f, 0x3a, 0x6f, 0xa9, 0xba, 0xff, 0x5, 0xa8, 0xd4, 0x3, 0xa0, 0xfa, 0x5d, 0xb4, 0x19, 0xb7, 0xe1, 0xfc, 0x9c, 0x57, 0xa5, 0x6d, 0xa9, 0xa8, 0x33, 0x11, 0x8d, 0x86, 0x26, 0x2e, 0xfb, 0x7d, 0x36, 0xb, 0x23, 0x0, 0xbc, 0xce, 0x46, 0xc9, 0x9d, 0x2f, 0xbf, 0x77, 0xe7, 0x0, 0xb3, 0xb2, 0x57, 0x95, 0x83, 0x3c, 0x2b, 0x6f, 0x46, 0x8a, 0x83, 0x5c, 0xc2, 0x42, 0xd9, 0x1, 0x6a, 0x9e, 0x46, 0x24, 0xf3, 0x7b, 0x50, 0xc2, 0x1b, 0x51, 0xc2, 0xb9, 0x19, 0x61, 0x4d, 0xaa, 0xa4, 0xbc, 0x44, 0xe1, 0xf0, 0x8, 0x32, 0x6, 0xaa, 0x20, 0xe9, 0xff, 0x98, 0xe2, 0xd9, 0x1a, 0x80, 0x36, 0x5c, 0xd1, 0x80, 0x68, 0x6a, 0x5a, 0x29, 0xfb, 0x54, 0x5a, 0xe6, 0x89, 0xce, 0xa5, 0xd5, 0x9, 0x1f, 0x85, 0xbc, 0x27, 0x8f, 0x60, 0x74, 0x5f, 0xa3, 0x50, 0x6a, 0xca, 0x53, 0x9a, 0x9, 0xe, 0xc1, 0xa6, 0xd6, 0xca, 0x7e, 0x51, 0xf7, 0x9b, 0x13, 0xf9, 0x56, 0xac, 0x3e, 0x6b, 0x7d, 0x6b, 0x4b, 0x54, 0x41, 0x24, 0xf0, 0x6b, 0xdf, 0x6, 0x65, 0x2f, 0x5a, 0xde, 0x56, 0xa9, 0x79, 0x95, 0x99, 0xed, 0x9f, 0xd8, 0xb2, 0xbd, 0x1a, 0x7e, 0x85, 0xd8, 0x82, 0x5d, 0xec, 0xac, 0xd8, 0x82, 0xa3, 0x8b, 0x61, 0x56, 0xb9, 0xc8, 0xc4, 0x45, 0x82, 0xcb, 0x5f, 0x3, 0x6d, 0x8c, 0x6a, 0xa3, 0x6, 0x68, 0x15, 0xb7, 0x69, 0xf0, 0xec, 0xe7, 0x6e, 0xf8, 0x45, 0x59, 0x5d, 0x9b, 0x4d, 0x40, 0xe4, 0xd5, 0xf, 0xa2, 0x77, 0xd9, 0x3c, 0x3, 0xf, 0x85, 0x21, 0xe4, 0xc6, 0x2e, 0xc2, 0x4b, 0xfb, 0x80, 0x44, 0xc7, 0xeb, 0x84, 0x24, 0xef, 0xee, 0x1, 0xa6, 0x8e, 0x8d, 0xbd, 0x2b, 0x1e, 0xbb, 0xd5, 0x88, 0x9, 0xcb, 0x4b, 0x47, 0x51, 0xfd, 0xbe, 0xb0, 0x62, 0xca, 0xfb, 0xbf, 0xa2, 0xda, 0xf3, 0xee, 0xf, 0x66, 0x30, 0xfc, 0x1d, 0x19, 0x66, 0x74, 0xf4, 0xe1, 0x28, 0x58, 0xb0, 0xcf, 0x19, 0x12, 0x4b, 0xf9, 0x83, 0x7f, 0xf5, 0x63, 0x3d, 0x67, 0x2f, 0xbb, 0xa1, 0x78, 0x59, 0x48, 0x79, 0x2a, 0x26, 0xb8, 0x26, 0x61, 0xc, 0x98, 0x6d, 0x83, 0xa4, 0xce, 0xa1, 0x75, 0x8e, 0xa, 0xca, 0x76, 0x4b, 0x71, 0xd1, 0x2d, 0x40, 0x30, 0x25, 0x2f, 0xd4, 0x1d, 0x91, 0x9c, 0x67, 0xa0, 0x54, 0x65, 0x65, 0xcc, 0x5c, 0xcc, 0xf2, 0xf8, 0xa5, 0x9, 0x7a, 0x79, 0x87, 0x7b, 0xd2, 0x1f, 0x7b, 0x96, 0xae, 0xaa, 0xd3, 0x29, 0x9e, 0xe0, 0xd0, 0x25, 0xee, 0x45, 0xf9, 0x76, 0xe3, 0xd6, 0x46, 0x3, 0xf8, 0x58, 0xb7, 0xcf, 0x7e, 0xc4, 0x7e, 0x1a, 0xb6, 0x62, 0x63, 0x21, 0x10, 0x6d, 0x5d, 0x20, 0xe8, 0x6e, 0x44, 0x22, 0x88, 0x30, 0xe0, 0xe5, 0x25, 0x82, 0xa8, 0xfb, 0x83, 0x44, 0xb0, 0x95, 0x12, 0x91, 0xad, 0x94, 0x8, 0x2a, 0x33, 0xdb, 0x3f, 0x89, 0xc0, 0x41, 0xe6, 0xa6, 0x65, 0x2, 0x57, 0x31, 0xbf, 0x90, 0xa, 0x5c, 0x37, 0x3b, 0x2b, 0x17, 0x94, 0xe6, 0x80, 0xa8, 0x9f, 0x10, 0xa8, 0x4b, 0x9e, 0x7b, 0x64, 0x4f, 0x78, 0x62, 0x1a, 0x5a, 0xac, 0xfb, 0x57, 0x99, 0xd7, 0x23, 0xf5, 0x80, 0x6f, 0x40, 0x23, 0x83, 0x3a, 0x2e, 0xff, 0x34, 0x16, 0x1d, 0x74, 0x7a, 0xc9, 0x13, 0x98, 0x63, 0x33, 0x25, 0x6b, 0x34, 0xa3, 0x76, 0x22, 0x89, 0xe5, 0x65, 0x21, 0xf7, 0x2a, 0x2e, 0xb2, 0xba, 0xf3, 0x2c, 0xbf, 0xf8, 0xef, 0x2d, 0x73, 0x7c, 0xc7, 0x8b, 0xbd, 0x9c, 0xe5, 0xba, 0x59, 0x26, 0x80, 0x2d, 0x60, 0xe6, 0xcf, 0xe3, 0xe5, 0x6f, 0x43, 0x25, 0xaf, 0x1c, 0xb8, 0x97, 0x67, 0xc1, 0x95, 0x1, 0x1c, 0x98, 0xf0, 0xc6, 0xef, 0x60, 0xe3, 0x5, 0x6e, 0x15, 0x1b, 0x9e, 0x9b, 0xdb, 0x1e, 0x32, 0xe2, 0xcd, 0xd7, 0xad, 0x9b, 0xb, 0x32, 0xf4, 0xeb, 0xeb, 0x4b, 0xd1, 0x39, 0x26, 0x66, 0xf9, 0xad, 0xd, 0x63, 0xc2, 0xc0, 0xed, 0x38, 0xf4, 0x50, 0x44, 0x85, 0xeb, 0xa, 0x48, 0x7b, 0x71, 0x16, 0x6d, 0xdd, 0x53, 0x36, 0xa3, 0xaf, 0xc4, 0xeb, 0x31, 0x57, 0xa3, 0xef, 0xc5, 0x40, 0xb3, 0x6e, 0x5b, 0x76, 0xb, 0x3a, 0xdb, 0x80, 0x9c, 0x75, 0xab, 0xdc, 0x2e, 0xfc, 0xac, 0x9f, 0xe1, 0x7e, 0xa0, 0xe8, 0xf1, 0x9f, 0x9e, 0x56, 0x7b, 0x2b, 0xb8, 0xb5, 0xaf, 0x87, 0x9b, 0x3e, 0xc1, 0xc3, 0xbc, 0x5c, 0xd5, 0x9c, 0x1f, 0x31, 0x4, 0xc9, 0xb9, 0xa2, 0x9e, 0x6, 0x1c, 0x75, 0xe4, 0xfc, 0xae, 0x45, 0x74, 0xa1, 0xf5, 0x5, 0x74, 0xe1, 0xe0, 0x5a, 0xa, 0xf0, 0x7c, 0x28, 0x10, 0xc0, 0x4c, 0xfb, 0x4e, 0x67, 0x8, 0x3f, 0xfa, 0x2a, 0xf8, 0xa8, 0x33, 0x15, 0xe, 0x7f, 0x30, 0xf0, 0xcf, 0xde, 0x81, 0x25, 0x63, 0xca, 0x47, 0xe0, 0x80, 0x10, 0xfd, 0x46, 0x38, 0x3c, 0xc6, 0xed, 0x46, 0xb6, 0x50, 0x7b, 0xdf, 0x65, 0x86, 0xe7, 0x3, 0xcc, 0xb2, 0x59, 0x91, 0x96, 0x2d, 0xf8, 0x6c, 0x9a, 0x6b, 0xc, 0x2a, 0xcb, 0x75, 0x22, 0x26, 0x40, 0xde, 0x57, 0xd, 0x5b, 0x63, 0xaa, 0xca, 0x1b, 0xc2, 0xf, 0xb, 0x93, 0xd1, 0xcc, 0x2d, 0xed, 0xe6, 0xf0, 0x6f, 0x73, 0x4e, 0x3c, 0x25, 0x85, 0xbd, 0x54, 0x8f, 0x32, 0xe7, 0x73, 0x9d, 0x2d, 0xf4, 0x5f, 0x29, 0x2d, 0xf0, 0x39, 0xc7, 0xb0, 0x8b, 0xde, 0xd0, 0x5, 0x4e, 0x46, 0x1, 0xc6, 0x58, 0xe, 0x51, 0xb9, 0x38, 0x4b, 0x6d, 0x7e, 0x92, 0xf9, 0x53, 0x5c, 0xa8, 0x3, 0x87, 0x49, 0x4b, 0x1e, 0x3d, 0x43, 0x14, 0xeb, 0xc, 0xb8, 0xe7, 0xc8, 0xca, 0xc6, 0x3b, 0x1a, 0x8a, 0xb2, 0xd1, 0xcd, 0x45, 0x48, 0xf4, 0x3a, 0xfe, 0x41, 0x71, 0xfa, 0x98, 0xb9, 0xc1, 0x5d, 0x5a, 0x42, 0x7d, 0xea, 0xf0, 0xa, 0x3a, 0xb7, 0x11, 0x94, 0xc7, 0xee, 0xe, 0xfd, 0x43, 0x75, 0xac, 0x73, 0x6, 0xde, 0xe8, 0x1c, 0x3c, 0x6f, 0x26, 0x99, 0xe0, 0xa3, 0x2b, 0x91, 0x65, 0xcf, 0x8f, 0x10, 0xc6, 0x40, 0x72, 0x4c, 0x4f, 0x54, 0x86, 0xf6, 0x36, 0x9e, 0xc6, 0xc2, 0x4d, 0xcb, 0xd0, 0x13, 0x66, 0x14, 0xe2, 0xfa, 0xc8, 0x5e, 0xcd, 0x23, 0xe0, 0x58, 0xa7, 0x8a, 0x1a, 0x69, 0x1, 0x85, 0xa4, 0x12, 0x83, 0x54, 0x90, 0x6c, 0x11, 0x7f, 0x6, 0x9e, 0x88, 0x14, 0xdc, 0x76, 0x33, 0x65, 0x43, 0x87, 0xb1, 0x17, 0x3a, 0xb0, 0x9d, 0x38, 0xc4, 0xf2, 0x68, 0x68, 0x3f, 0xb, 0x2c, 0x21, 0x95, 0x38, 0xd6, 0x70, 0x7c, 0x32, 0xe7, 0x7d, 0x96, 0x92, 0x49, 0x8e, 0x71, 0xfb, 0x4a, 0xa0, 0x8f, 0x81, 0x7d, 0x58, 0x13, 0x76, 0x6c, 0xe5, 0xbd, 0xd2, 0xc, 0x85, 0x1d, 0x4d, 0xe8, 0xcc, 0xc3, 0x67, 0x21, 0xc1, 0x6a, 0x36, 0xc1, 0xbc, 0x74, 0xfa, 0x11, 0xd0, 0xc7, 0xd, 0xcf, 0x94, 0x3a, 0xb2, 0xc2, 0xee, 0x50, 0x18, 0xfd, 0xdf, 0xdf, 0xcf, 0xc4, 0xbd, 0x8c, 0x72, 0x2a, 0x29, 0xd7, 0xe8, 0xc, 0x8d, 0x7d, 0x79, 0x51, 0x7b, 0x42, 0xef, 0x51, 0x24, 0x26, 0xd6, 0xa7, 0xc5, 0x4a, 0x67, 0xe5, 0xea, 0xfa, 0x2e, 0xbc, 0x33, 0x3, 0x60, 0x5e, 0x3f, 0x4b, 0x4f, 0x95, 0xb5, 0xe, 0xbe, 0x8f, 0xd6, 0x7d, 0xa3, 0xfe, 0x75, 0x6f, 0x44, 0x1e, 0x5a, 0x4a, 0xcd, 0x6f, 0x5b, 0x26, 0xda, 0xa4, 0x66, 0x78, 0xa3, 0xa9, 0xac, 0xb9, 0xb9, 0xc1, 0xdc, 0x5d, 0x3e, 0xab, 0x65, 0x9d, 0x38, 0x13, 0x8a, 0xd, 0xce, 0x2c, 0xc6, 0xc9, 0xdd, 0x5c, 0x43, 0x27, 0xd6, 0x7f, 0xa, 0x7b, 0x81, 0xd0, 0x5c, 0x86, 0x21, 0x53, 0x46, 0x53, 0x4a, 0xa0, 0x70, 0xb2, 0xc2, 0xa2, 0xe8, 0xce, 0x4d, 0x9, 0xa3, 0x7a, 0x8b, 0x8e, 0x6d, 0x32, 0xd, 0xc4, 0x89, 0x1a, 0xde, 0xef, 0x6e, 0xfb, 0xa6, 0x20, 0x27, 0x4c, 0xeb, 0x52, 0x9d, 0x2d, 0xed, 0xc9, 0xbd, 0x33, 0xcc, 0x98, 0x93, 0xb1, 0x44, 0x93, 0xa9, 0xc8, 0x58, 0x32, 0xab, 0x95, 0x49, 0xea, 0x17, 0xe3, 0x2d, 0xb, 0x24, 0xb, 0xb3, 0xd9, 0xa5, 0xc0, 0xb5, 0x59, 0x1f, 0x59, 0x6, 0x5c, 0x15, 0x16, 0x33, 0x72, 0xed, 0xc6, 0xea, 0x62, 0x54, 0x58, 0xf9, 0xb2, 0x73, 0x6a, 0x1a, 0x0, 0xde, 0x93, 0x33, 0x3e, 0x1a, 0xe6, 0x99, 0xe7, 0x84, 0xb9, 0x2, 0x59, 0x4d, 0x11, 0x21, 0x1e, 0xb9, 0x4f, 0x29, 0x6f, 0x84, 0x5f, 0x4, 0x65, 0xb4, 0xb9, 0x63, 0xa8, 0x4, 0x9d, 0x88, 0xd8, 0x26, 0xe0, 0x5a, 0x2a, 0xc2, 0xba, 0x71, 0x5d, 0x8f, 0x88, 0xca, 0x7, 0x7f, 0x40, 0xe2, 0x53, 0xa4, 0xd8, 0xe4, 0x1, 0x71, 0x3f, 0x6c, 0x32, 0x15, 0xca, 0x5d, 0x1e, 0xa4, 0x7d, 0x9, 0xb9, 0x82, 0xbe, 0xdd, 0x6c, 0x7b, 0x75, 0x9e, 0xf6, 0x3d, 0xd, 0xf4, 0x63, 0x1a, 0xd8, 0xc4, 0xd6, 0xbc, 0x96, 0x72, 0x5b, 0x4f, 0xb2, 0xad, 0xd2, 0x6e, 0x9b, 0xa6, 0xd8, 0x6, 0x28, 0x5f, 0x53, 0xbd, 0x3d, 0xb6, 0xae, 0x83, 0x9b, 0x77, 0xe1, 0x41, 0x72, 0x39, 0xc5, 0xc6, 0xeb, 0x74, 0x5d, 0x27, 0x85, 0x44, 0x8e, 0x8b, 0x15, 0x7b, 0x60, 0x2d, 0x6f, 0x38, 0xd, 0x3f, 0x60, 0x46, 0x16, 0x76, 0x78, 0xfb, 0x80, 0xb9, 0x5e, 0xfc, 0x2d, 0x9a, 0x44, 0xe7, 0x4a, 0x15, 0x6a, 0x2a, 0x47, 0x98, 0x8c, 0x3b, 0x12, 0xa6, 0x11, 0x38, 0x52, 0xd0, 0x6, 0x5, 0x22, 0x63, 0x1c, 0x4d, 0xee, 0xb9, 0x78, 0xcc, 0x20, 0x1d, 0xa1, 0x0, 0xe6, 0xdd, 0xf1, 0x4b, 0xf, 0x1c, 0x41, 0x24, 0x6, 0x8b, 0x9d, 0x9e, 0x5c, 0x9c, 0x9e, 0x7f, 0x75, 0x29, 0xc1, 0x73, 0x65, 0xc3, 0xce, 0xa2, 0x49, 0x29, 0x36, 0xe2, 0x34, 0x23, 0x2c, 0x80, 0x96, 0x14, 0x32, 0xf6, 0x80, 0xe1, 0xed, 0xf, 0x8c, 0x92, 0x3b, 0xfb, 0x7a, 0xdf, 0xd, 0xd3, 0xf0, 0x34, 0x7, 0x58, 0xe5, 0xb5, 0x92, 0x27, 0xad, 0xff, 0x74, 0xa9, 0x35, 0x73, 0x39, 0xa4, 0x89, 0x8f, 0xa1, 0x63, 0xb4, 0x6c, 0x3a, 0xa3, 0x7c, 0x94, 0xd3, 0x11, 0x74, 0x58, 0xca, 0xc4, 0x84, 0x6a, 0x96, 0x90, 0x9, 0x18, 0xb9, 0x8d, 0xa9, 0x89, 0x22, 0xef, 0x91, 0x1e, 0x7f, 0xe8, 0x68, 0x84, 0x47, 0x4, 0x7e, 0x24, 0x60, 0x2d, 0x3c, 0x47, 0x84, 0xe, 0x84, 0xd4, 0x6e, 0xd0, 0xaa, 0x5e, 0xcf, 0x5e, 0xbc, 0xb7, 0x6f, 0x99, 0xb7, 0xbd, 0x55, 0xc8, 0x5e, 0xbc, 0x23, 0xad, 0x82, 0xee, 0x65, 0x53, 0xdd, 0x4b, 0x8, 0x77, 0xfa, 0xdb, 0xa6, 0x41, 0xfc, 0x6, 0x80, 0xdc, 0xd9, 0x25, 0x8d, 0xfc, 0xd4, 0x4f, 0xbd, 0xfd, 0xe1, 0xce, 0x89, 0x72, 0x45, 0x40, 0x73, 0x96, 0x89, 0x47, 0xe5, 0x34, 0x51, 0x17, 0x5b, 0x66, 0x70, 0xd8, 0x6b, 0x98, 0x78, 0x15, 0x32, 0x8, 0x74, 0xfa, 0x62, 0x72, 0xc7, 0xc5, 0xdd, 0x1, 0x4b, 0x8f, 0x4b, 0xb3, 0x60, 0x1a, 0xe6, 0x30, 0xc6, 0x1c, 0xf2, 0x56, 0xa9, 0xf, 0x18, 0x42, 0x7d, 0xb2, 0xa9, 0x9f, 0xff, 0xf6, 0xf7, 0xff, 0xfd, 0xf1, 0xe3, 0x54, 0xc2, 0x54, 0x28, 0x86, 0xfd, 0x36, 0xa4, 0x98, 0x6a, 0x48, 0x2f, 0xf5, 0xd3, 0xa7, 0xd9, 0x4f, 0x61, 0xe2, 0x4c, 0x9f, 0xc4, 0xae, 0x34, 0x7b, 0xcd, 0xa6, 0x10, 0x66, 0x9a, 0xaa, 0x7a, 0x8f, 0x35, 0xae, 0xd9, 0xa7, 0x12, 0x85, 0xda, 0x77, 0x21, 0xf3, 0x4c, 0x75, 0xa2, 0x57, 0x64, 0x22, 0xc, 0x39, 0x6d, 0x8d, 0x79, 0xe2, 0xed, 0x2, 0xf5, 0x62, 0xc2, 0x68, 0x19, 0x54, 0x2f, 0x9b, 0xec, 0x3e, 0x82, 0xf5, 0x90, 0xb2, 0x8d, 0x4b, 0xdb, 0xe, 0xa8, 0xab, 0xf1, 0x44, 0x9f, 0x29, 0xcb, 0xd6, 0x0, 0x69, 0x67, 0x83, 0xde, 0x57, 0x84, 0xb6, 0xab, 0x75, 0x80, 0xe7, 0x75, 0xe1, 0xd9, 0x90, 0x4d, 0x3b, 0xa1, 0xb9, 0xa4, 0x88, 0xb6, 0xe3, 0x72, 0x38, 0xd3, 0x7d, 0x4, 0xe5, 0x42, 0xd3, 0x7e, 0x21, 0x64, 0x2e, 0x22, 0x3d, 0x57, 0x6, 0xe7, 0xc0, 0x9d, 0x74, 0x2f, 0xe0, 0xb9, 0x71, 0xc5, 0xe, 0x0, 0xbd, 0x16, 0x40, 0x3f, 0xc2, 0x3b, 0x19, 0x58, 0x92, 0xe2, 0x2b, 0xb9, 0xb7, 0x8b, 0xd5, 0xb, 0xc9, 0xa3, 0x65, 0x68, 0xbd, 0x64, 0xae, 0xfb, 0x88, 0xd7, 0xce, 0x7d, 0x62, 0xc3, 0xbe, 0x59, 0x57, 0x22, 0xab, 0xb1, 0x55, 0x17, 0x77, 0xe7, 0x36, 0x39, 0x7f, 0xad, 0x85, 0x3a, 0x54, 0x53, 0x3, 0xdf, 0x28, 0x15, 0xe7, 0xde, 0xaf, 0x38, 0x7d, 0x10, 0x21, 0xbd, 0xcc, 0x5d, 0x6f, 0x68, 0xad, 0x1d, 0xcf, 0xe6, 0xb0, 0xef, 0xed, 0xd9, 0x57, 0xdf, 0x8e, 0x33, 0xd3, 0x1b, 0x1, 0x97, 0x5a, 0xa, 0xdb, 0x4f, 0x48, 0xd9, 0x7e, 0x2, 0x9e, 0x12, 0x52, 0x9e, 0x18, 0xba, 0x56, 0xe7, 0xa9, 0x1e, 0x3b, 0x7e, 0x3a, 0x2, 0x26, 0xb4, 0x14, 0x5d, 0x8a, 0x6, 0x31, 0x7, 0xce, 0xbc, 0x27, 0xf9, 0xec, 0x90, 0x72, 0xe7, 0x90, 0x72, 0xe7, 0x90, 0x72, 0xe7, 0xdd, 0x16, 0xe3, 0xf2, 0x6a, 0x79, 0x7b, 0x2d, 0x32, 0xec, 0x96, 0x62, 0xb3, 0x9d, 0x54, 0xce, 0x4f, 0xd2, 0x6c, 0x6e, 0xc7, 0x80, 0x81, 0x41, 0xf3, 0xe6, 0x27, 0x8b, 0x78, 0x6d, 0x70, 0xbc, 0xa9, 0x27, 0x89, 0x56, 0x29, 0x33, 0x4d, 0x53, 0xdc, 0x47, 0x81, 0x63, 0xfb, 0xa9, 0x73, 0x42, 0x7f, 0x9b, 0x27, 0xe5, 0xd0, 0xd9, 0x8e, 0xc0, 0x71, 0xc8, 0x96, 0xb3, 0x66, 0x28, 0xfe, 0xcb, 0xe5, 0x6c, 0x69, 0xce, 0x81, 0x72, 0x60, 0x51, 0x7, 0x16, 0x55, 0xc9, 0x6e, 0xd2, 0x4e, 0x16, 0xd5, 0x34, 0xc5, 0x3d, 0x65, 0x51, 0x22, 0x7b, 0x80, 0xe, 0x55, 0x1d, 0x2b, 0x7c, 0x7b, 0x3c, 0x7b, 0x1, 0x1f, 0x23, 0xd7, 0xdf, 0xe1, 0xf6, 0xda, 0xb6, 0xb3, 0xd4, 0xbf, 0xc8, 0xad, 0xd7, 0xe1, 0x7a, 0x64, 0x7d, 0xf7, 0x22, 0x3e, 0x64, 0x72, 0x62, 0x73, 0x17, 0xa0, 0x86, 0x19, 0xed, 0xe1, 0x1b, 0x86, 0xea, 0x45, 0x34, 0xd2, 0x36, 0xcc, 0x5e, 0x3c, 0xd7, 0x7d, 0x4, 0x6f, 0xd, 0x72, 0xc2, 0xf8, 0x16, 0xea, 0x8b, 0xdf, 0xfa, 0x86, 0x6b, 0x72, 0x3, 0xf9, 0x47, 0x18, 0xbc, 0x85, 0xd1, 0x57, 0x91, 0xc, 0x5a, 0x2a, 0x1f, 0x51, 0xd4, 0x65, 0xa0, 0x66, 0xb8, 0x6, 0xc2, 0x32, 0x34, 0xce, 0xd5, 0xde, 0x23, 0x8e, 0xcb, 0xaf, 0x14, 0xe7, 0x70, 0x14, 0x29, 0xba, 0xdd, 0xfb, 0xb7, 0x51, 0x1f, 0x60, 0xba, 0x4b, 0x4e, 0xca, 0x21, 0xa5, 0x81, 0x7e, 0x41, 0x67, 0xd6, 0xd6, 0x17, 0x78, 0xce, 0x17, 0x36, 0x2a, 0xab, 0x5f, 0xd4, 0x4a, 0xc4, 0xcd, 0x33, 0xdf, 0x1c, 0xe4, 0xbe, 0xbd, 0x5b, 0x99, 0xd7, 0x42, 0xb8, 0xe6, 0xdd, 0x68, 0x15, 0xb8, 0x2d, 0x9a, 0xe6, 0x3e, 0xe2, 0xda, 0xcb, 0x24, 0x18, 0x2c, 0x31, 0xed, 0xc9, 0x99, 0x6, 0xb7, 0x6f, 0x3d, 0x39, 0x24, 0x14, 0x74, 0xff, 0x5e, 0xc0, 0x60, 0xdf, 0x44, 0x1f, 0xbb, 0x25, 0x6c, 0x1f, 0xec, 0x21, 0x2f, 0xca, 0x82, 0x9a, 0x88, 0xa2, 0x55, 0xc, 0xa8, 0x79, 0x92, 0x7b, 0xc9, 0x7e, 0x5e, 0x30, 0xad, 0xde, 0x5c, 0x1a, 0xb9, 0xcd, 0xe4, 0xd7, 0xdb, 0x16, 0x63, 0xb2, 0x4d, 0x2e, 0xc8, 0x47, 0x57, 0x9d, 0xcf, 0x6e, 0x61, 0xe7, 0x1, 0x3a, 0x5f, 0x14, 0x3a, 0x17, 0x52, 0x46, 0xbb, 0x0, 0x74, 0xc9, 0x54, 0xf7, 0x0, 0x46, 0x67, 0x9d, 0x6d, 0x5, 0xa9, 0x2e, 0x8a, 0x32, 0x8b, 0xf1, 0xd2, 0x1a, 0xf, 0x14, 0x79, 0x1c, 0x3, 0xc6, 0xd7, 0xcf, 0x22, 0x67, 0x9d, 0xd0, 0x7f, 0xb3, 0x6, 0x12, 0x34, 0x55, 0xf7, 0x51, 0xa, 0x6b, 0x21, 0xe7, 0xb0, 0x91, 0x81, 0x72, 0x82, 0xb7, 0x75, 0xf0, 0x74, 0x5, 0x28, 0x39, 0x3c, 0x92, 0xbb, 0x93, 0xd3, 0xdb, 0xde, 0x6f, 0xbd, 0xdb, 0x7f, 0xf5, 0x6f, 0x4f, 0x6e, 0x7e, 0xed, 0x9f, 0x5e, 0x7e, 0xbb, 0xfa, 0x7a, 0x7e, 0x7b, 0x7e, 0x76, 0x47, 0xe0, 0xc1, 0x0, 0xf8, 0x0, 0x8c, 0x50, 0xfa, 0x28, 0x8d, 0xc0, 0xcc, 0x7d, 0x46, 0x92, 0xa2, 0xfd, 0x31, 0x53, 0x5a, 0x84, 0xbe, 0x8d, 0x14, 0x1d, 0x62, 0x4c, 0xc3, 0xc5, 0x3b, 0x68, 0xbd, 0x4e, 0x24, 0xa0, 0xa5, 0xc3, 0x27, 0x2c, 0xf0, 0x4f, 0xbb, 0xe4, 0x33, 0x65, 0x99, 0x73, 0x1e, 0xa, 0x44, 0x64, 0x77, 0xf1, 0x59, 0x5a, 0xbe, 0xa3, 0x3c, 0x5, 0x5c, 0xa0, 0xfb, 0xe, 0x48, 0xf2, 0x40, 0x33, 0x96, 0x92, 0x34, 0x47, 0x37, 0x9a, 0xea, 0xcd, 0xea, 0x51, 0xe1, 0x60, 0x65, 0x67, 0x51, 0x78, 0x15, 0x1d, 0x11, 0xcc, 0x1d, 0xf8, 0x0, 0xd2, 0xe8, 0x1f, 0xe6, 0x11, 0x5a, 0x84, 0x4a, 0x1f, 0xa1, 0x95, 0x83, 0x66, 0x77, 0xc7, 0xbc, 0xb2, 0x4b, 0xe6, 0x5c, 0xbf, 0x3a, 0xad, 0x2, 0xcb, 0xc5, 0x13, 0xdd, 0x13, 0xa8, 0xcc, 0xfd, 0x88, 0x9e, 0xe7, 0xdb, 0x7e, 0x6a, 0x1a, 0x5a, 0xbd, 0x8e, 0x2e, 0xf6, 0xfb, 0xec, 0x42, 0xba, 0xd, 0x9d, 0xee, 0xce, 0x11, 0x3e, 0x94, 0x74, 0xf5, 0xff, 0xb6, 0x41, 0xe7, 0xd, 0xdb, 0xbf, 0x27, 0x47, 0x77, 0x1b, 0xd1, 0xdd, 0x8d, 0xf1, 0x9a, 0xb, 0xc4, 0x9b, 0xa9, 0x14, 0x46, 0xb2, 0xa9, 0x3a, 0x56, 0x21, 0xa3, 0x47, 0x7f, 0xeb, 0xe8, 0xd2, 0x65, 0x15, 0x91, 0xe5, 0xf3, 0x49, 0xef, 0xeb, 0x9a, 0xf2, 0x4a, 0x25, 0xa7, 0xd2, 0x96, 0xe4, 0x15, 0xc2, 0x83, 0x8c, 0xc3, 0xaf, 0x2b, 0xaf, 0xd8, 0x6d, 0xd9, 0x1d, 0xa4, 0xdb, 0x21, 0x61, 0xc5, 0x2e, 0x4d, 0xdb, 0x25, 0x15, 0x3f, 0xcb, 0xbd, 0xc0, 0xba, 0xad, 0x5, 0x4d, 0x2f, 0x70, 0xd3, 0x37, 0xe7, 0x3d, 0x48, 0x24, 0x5e, 0x87, 0x7e, 0x2c, 0x3, 0xab, 0xdd, 0x59, 0xf9, 0x25, 0x2e, 0x99, 0x50, 0xae, 0x45, 0x6f, 0xe8, 0xac, 0x5b, 0x60, 0xa3, 0xf0, 0xd0, 0x97, 0xa8, 0xcc, 0xb8, 0x16, 0x14, 0x16, 0xba, 0x2b, 0x7e, 0xed, 0x3b, 0x4, 0xb9, 0xc3, 0xf2, 0xf7, 0xf2, 0x81, 0x66, 0x35, 0xa9, 0xe1, 0xa8, 0xba, 0xf, 0x82, 0x59, 0xb4, 0x53, 0x36, 0xcb, 0x14, 0xec, 0xf6, 0x7e, 0xd9, 0x65, 0xfe, 0x15, 0xb9, 0xee, 0x92, 0x33, 0xf0, 0xb7, 0x12, 0x82, 0x93, 0x6b, 0xd0, 0x72, 0x76, 0x85, 0xd9, 0x24, 0x9d, 0x32, 0x39, 0xa1, 0x33, 0xa2, 0x25, 0x1b, 0x19, 0x60, 0x2b, 0x43, 0x6a, 0x82, 0x2e, 0xd8, 0x4, 0x13, 0x4a, 0x47, 0xe3, 0x58, 0x49, 0x57, 0xc5, 0x4, 0xab, 0x11, 0xca, 0xdf, 0xf6, 0xbe, 0x9d, 0x9f, 0xf5, 0x2f, 0xbf, 0xdf, 0x7a, 0xa0, 0xf7, 0x17, 0x2f, 0xd, 0x50, 0x5f, 0x76, 0xe2, 0x30, 0xbf, 0x4b, 0x4e, 0x5d, 0x74, 0xcd, 0xc2, 0xb0, 0x77, 0xdb, 0xae, 0x59, 0xf7, 0x79, 0x8c, 0xe7, 0x46, 0x2f, 0x1f, 0x13, 0xc5, 0x74, 0x8e, 0xb4, 0x1d, 0xc6, 0x6, 0x31, 0x57, 0x7f, 0x8, 0x7, 0x67, 0xe3, 0x6b, 0x6e, 0xce, 0x7e, 0x2d, 0xab, 0x22, 0x5b, 0xe7, 0xa9, 0x6a, 0x56, 0xc1, 0xa6, 0x85, 0xb9, 0xd, 0x42, 0xff, 0x30, 0x3b, 0xb3, 0xe0, 0x9a, 0x86, 0x41, 0x23, 0x77, 0x29, 0x68, 0x43, 0x1b, 0x77, 0xce, 0x72, 0x58, 0x84, 0xba, 0x80, 0x54, 0xc8, 0x19, 0x8a, 0xc4, 0xb0, 0x20, 0x1f, 0x9c, 0x63, 0x82, 0x69, 0x68, 0x10, 0xe6, 0x92, 0x55, 0xe5, 0x6b, 0x91, 0xdf, 0xd1, 0x18, 0x92, 0xfb, 0xa9, 0x60, 0x1c, 0x9d, 0x85, 0x47, 0x12, 0x94, 0x4b, 0x1f, 0x58, 0x93, 0x10, 0xb0, 0x36, 0x8f, 0x79, 0xb8, 0x2a, 0xd6, 0x7b, 0xc, 0x99, 0xbf, 0x1e, 0x83, 0x8c, 0x57, 0x60, 0x4c, 0x15, 0x19, 0x4, 0xf9, 0xa5, 0x3, 0x86, 0xbb, 0xd0, 0x78, 0xbb, 0x60, 0x3, 0xf, 0x3c, 0x6e, 0xc1, 0xe2, 0xb4, 0x8c, 0xcb, 0x2d, 0x98, 0xe7, 0x5e, 0xf0, 0xb9, 0x17, 0xf0, 0x82, 0xdd, 0xba, 0x88, 0xff, 0x4c, 0x73, 0xa5, 0xcb, 0x72, 0x7a, 0xb0, 0x56, 0xae, 0xe2, 0x82, 0x7b, 0xc0, 0xc6, 0x5, 0x8b, 0xd3, 0x32, 0x6c, 0x5c, 0x30, 0xcf, 0x56, 0x63, 0xa3, 0x4c, 0xc6, 0xec, 0x1, 0xd2, 0x8e, 0x3f, 0xb2, 0x6a, 0x13, 0xe6, 0xca, 0xaf, 0x4c, 0xe9, 0x13, 0xd7, 0xb2, 0x7f, 0x7d, 0xb9, 0xd5, 0x32, 0x63, 0x4a, 0x13, 0x3f, 0xa0, 0x12, 0x61, 0x9e, 0x68, 0xbd, 0x5c, 0x3c, 0x86, 0xdd, 0x39, 0xda, 0x65, 0x87, 0x53, 0x3a, 0x82, 0x1b, 0xf6, 0xdf, 0xcb, 0x4a, 0xd1, 0x34, 0xb7, 0x6b, 0x74, 0x99, 0x11, 0xc8, 0xe8, 0x89, 0x2f, 0xd5, 0xc1, 0xb8, 0xfe, 0xfb, 0x7f, 0xcc, 0xcf, 0x11, 0x7e, 0xe8, 0x2b, 0x3a, 0x82, 0x55, 0x2a, 0xc7, 0xac, 0x3c, 0x1f, 0xd2, 0x50, 0x21, 0x64, 0x3d, 0x73, 0x6d, 0xbb, 0x8c, 0xa9, 0x8b, 0xa9, 0xb1, 0xdd, 0x18, 0x33, 0xa0, 0x3a, 0x19, 0x77, 0x8a, 0xc3, 0xb9, 0x31, 0x84, 0xf9, 0x64, 0xda, 0xbd, 0x2c, 0x9a, 0x2d, 0x52, 0xf5, 0x50, 0x8b, 0x24, 0x62, 0x48, 0xb0, 0xe7, 0x12, 0x16, 0x54, 0x13, 0x4e, 0x54, 0x5a, 0xda, 0x1c, 0x38, 0x34, 0x78, 0xb3, 0xa0, 0xe6, 0xeb, 0x74, 0x54, 0xeb, 0x8e, 0x5a, 0x19, 0xe9, 0x6b, 0xe2, 0xcb, 0xdc, 0x3a, 0xe3, 0x87, 0x44, 0xc5, 0x5f, 0xbe, 0x16, 0xa, 0xc5, 0x2b, 0xa, 0x3f, 0xdc, 0xe8, 0x74, 0xe5, 0xd3, 0x67, 0x83, 0xd5, 0x1b, 0xc2, 0x95, 0xa, 0xf5, 0xee, 0x17, 0x98, 0x1c, 0xff, 0xf9, 0x87, 0x18, 0x6c, 0xa8, 0xba, 0xa3, 0xaf, 0xd, 0x15, 0x2f, 0x68, 0x98, 0x2, 0xac, 0xae, 0xa6, 0x63, 0xc3, 0xd9, 0xad, 0xad, 0x68, 0x18, 0xb7, 0xdc, 0x52, 0x9c, 0xc1, 0xd, 0x59, 0x63, 0xbc, 0xb8, 0x28, 0xe6, 0x2b, 0xc2, 0x36, 0x1b, 0xaf, 0xf7, 0x26, 0x4e, 0x70, 0x3d, 0x69, 0xb4, 0xe3, 0x10, 0x3f, 0xdb, 0xb2, 0x82, 0xf5, 0x7d, 0x2a, 0xc7, 0x31, 0xaa, 0x3f, 0xb6, 0xc2, 0xd9, 0xab, 0x69, 0xe3, 0x70, 0xf0, 0x70, 0xbc, 0xff, 0x57, 0xc, 0x48, 0xef, 0xcc, 0x50, 0x16, 0xe3, 0x2e, 0x2c, 0xc6, 0x55, 0xde, 0xea, 0x9d, 0x15, 0xb6, 0x9c, 0x81, 0x3f, 0x9d, 0x1b, 0x3d, 0x9a, 0xaf, 0x58, 0x11, 0xab, 0x7a, 0xd0, 0x5a, 0x64, 0xc6, 0xa8, 0x9d, 0x5f, 0x1b, 0x80, 0x64, 0x5d, 0x69, 0xe0, 0x58, 0x69, 0x31, 0xdd, 0x88, 0x6d, 0xf7, 0x46, 0x8b, 0xe9, 0x1c, 0x0, 0x89, 0xa9, 0x5a, 0x8d, 0xef, 0xcf, 0x7f, 0x7d, 0x80, 0x9e, 0xed, 0xf2, 0xfc, 0xd7, 0x2, 0x96, 0xea, 0x3e, 0xb7, 0xc, 0x57, 0xe6, 0xa7, 0xd7, 0x66, 0x58, 0x71, 0x57, 0xfc, 0x9d, 0x14, 0xa6, 0x99, 0x98, 0x4d, 0x80, 0xeb, 0xe3, 0x3f, 0xcb, 0xbf, 0xbb, 0xa, 0x24, 0x3, 0xd5, 0x37, 0x1f, 0xfc, 0xcf, 0xa6, 0x2f, 0x90, 0x6e, 0x0, 0x65, 0x9b, 0xb2, 0x37, 0x42, 0x55, 0xe4, 0x76, 0x10, 0x3c, 0x31, 0x2c, 0x9a, 0x69, 0x15, 0xfe, 0x64, 0x87, 0xd6, 0x25, 0xa7, 0x71, 0x9d, 0x76, 0x1b, 0x53, 0x54, 0xae, 0x92, 0x69, 0x70, 0x2, 0x9a, 0xa6, 0x54, 0x53, 0x7f, 0xaf, 0x1e, 0x77, 0xf9, 0x8, 0x59, 0x16, 0xf8, 0x36, 0x9e, 0xff, 0x98, 0x82, 0x64, 0xe6, 0x21, 0xcd, 0xba, 0x65, 0xb0, 0xd1, 0x84, 0x8d, 0xc6, 0xb6, 0xc8, 0x1c, 0x1b, 0xb2, 0x84, 0x62, 0x16, 0x50, 0x57, 0x19, 0x59, 0x48, 0x1b, 0xe6, 0x39, 0x11, 0xf, 0xb6, 0x94, 0x33, 0x25, 0xc3, 0x5c, 0xe7, 0x98, 0x82, 0x32, 0x3, 0x1a, 0x55, 0xef, 0x3e, 0x83, 0xa9, 0x84, 0x4, 0x63, 0x41, 0xc9, 0x35, 0x4c, 0x33, 0x9a, 0xd8, 0x6b, 0xb2, 0xbb, 0x1b, 0xd0, 0xbf, 0xe3, 0x55, 0xd9, 0x59, 0x31, 0xb8, 0x53, 0xbb, 0xe, 0xbf, 0xd9, 0x34, 0x32, 0x77, 0xf5, 0xc5, 0x5a, 0xc1, 0xbf, 0x56, 0x7e, 0xb7, 0x39, 0xe0, 0xdd, 0x1c, 0x6a, 0xd6, 0xd3, 0xd4, 0x76, 0x7b, 0x7f, 0x35, 0x88, 0xac, 0xd9, 0x93, 0x76, 0x81, 0x64, 0xed, 0x4, 0xf7, 0xd, 0x26, 0x2d, 0x1d, 0x5f, 0x94, 0xd0, 0xb8, 0xb1, 0xa4, 0xee, 0xd7, 0x81, 0x19, 0xa6, 0x6, 0xc, 0xdf, 0xdb, 0xac, 0x7e, 0xa, 0x4d, 0x34, 0x1f, 0x5c, 0xda, 0xe2, 0x11, 0x7b, 0x0, 0x5e, 0x83, 0x8f, 0xaf, 0xe, 0x6c, 0x6e, 0x2, 0x7d, 0x97, 0xd, 0xeb, 0xce, 0x19, 0x99, 0xdc, 0x53, 0x6f, 0x13, 0xa8, 0x62, 0x5f, 0x3d, 0xda, 0x7d, 0x79, 0x23, 0x68, 0x57, 0x92, 0xc6, 0xb6, 0x11, 0xee, 0x4d, 0xe0, 0x45, 0xdd, 0xb6, 0xb5, 0x1b, 0x2f, 0xca, 0x73, 0xb8, 0x91, 0x3b, 0xa0, 0x0, 0x1b, 0xbe, 0xda, 0xea, 0xf0, 0xd6, 0x9, 0x34, 0xe8, 0xc6, 0x7b, 0xda, 0x95, 0x57, 0xc5, 0xe4, 0x32, 0x74, 0x3a, 0xe5, 0xc4, 0x5, 0x75, 0xc, 0x28, 0xe6, 0x0, 0xad, 0xc1, 0x8a, 0x72, 0xd, 0x4c, 0x23, 0xaf, 0x8b, 0x1c, 0xd6, 0x8f, 0xc6, 0x4c, 0xb6, 0x8a, 0xc, 0xaa, 0x1e, 0x1a, 0xcc, 0xab, 0xc1, 0x4b, 0xbb, 0x88, 0xa, 0xfb, 0x73, 0xeb, 0xdd, 0x88, 0x7f, 0xb, 0xef, 0xb8, 0x3c, 0xbd, 0x76, 0xc9, 0x77, 0x9b, 0xfc, 0xbc, 0x4a, 0xb1, 0xf0, 0x83, 0x26, 0x9e, 0x58, 0xb1, 0x27, 0x32, 0x31, 0xaa, 0x5a, 0x7b, 0x3, 0x93, 0x2a, 0x44, 0xbd, 0x37, 0x98, 0xd9, 0xa8, 0x83, 0x46, 0xf, 0x6, 0x39, 0xcb, 0xd2, 0x3e, 0xdb, 0xcc, 0x8d, 0x58, 0x0, 0xb1, 0x5e, 0x26, 0x51, 0xa5, 0xb7, 0x7d, 0xd0, 0xeb, 0xe, 0xc0, 0x62, 0x93, 0xd0, 0xb4, 0x50, 0x53, 0xf4, 0x1f, 0xed, 0xb6, 0xe4, 0xf4, 0x1a, 0x7a, 0x62, 0x6d, 0xef, 0x9e, 0xb8, 0x5e, 0x6d, 0xe2, 0xeb, 0xa2, 0x67, 0x40, 0xc0, 0xe6, 0xdf, 0x19, 0x1b, 0xe, 0x1, 0x35, 0x7, 0x27, 0x78, 0x2b, 0x6f, 0xfd, 0x50, 0x6, 0x38, 0x1d, 0x5d, 0x2b, 0x7b, 0x20, 0x8e, 0x83, 0x13, 0x8f, 0x5, 0x34, 0x24, 0x64, 0xe8, 0xe6, 0xaa, 0xc5, 0xc8, 0x3a, 0xe7, 0xf, 0x66, 0xde, 0xc3, 0x94, 0xc6, 0xc7, 0x5e, 0x8d, 0xa9, 0x84, 0x34, 0x4, 0xe5, 0x6e, 0xfc, 0xc2, 0x65, 0x8e, 0xe, 0x2a, 0x34, 0xcb, 0x22, 0x71, 0xc5, 0xfc, 0xe4, 0xbe, 0x3a, 0x22, 0x82, 0x83, 0xcf, 0xe6, 0x92, 0x2, 0x16, 0xf2, 0xc7, 0xdc, 0x87, 0x4d, 0x1a, 0xd0, 0x91, 0xd, 0x6d, 0x88, 0xfb, 0x91, 0x90, 0x0, 0x7b, 0x30, 0x63, 0x8, 0x9d, 0x76, 0x3, 0x97, 0x3a, 0xa3, 0x35, 0x99, 0x67, 0x9a, 0xaa, 0x7b, 0xec, 0xbf, 0x70, 0x4, 0xc4, 0x63, 0x15, 0xb7, 0x76, 0xf7, 0xdb, 0xf9, 0xf5, 0x4d, 0xef, 0xf2, 0xa2, 0x77, 0xf1, 0xa5, 0xff, 0xe9, 0xfc, 0x97, 0x93, 0xdf, 0x7a, 0x97, 0xd7, 0xfd, 0x93, 0xef, 0xb7, 0x97, 0xfd, 0xef, 0x57, 0x5f, 0xae, 0x4f, 0xce, 0xce, 0xef, 0xfc, 0xba, 0x9a, 0x35, 0x19, 0x80, 0x59, 0x1c, 0x21, 0x9f, 0xc0, 0x89, 0x9a, 0x89, 0x6f, 0xbd, 0x62, 0x51, 0x95, 0xed, 0xff, 0x64, 0x5a, 0x20, 0xbd, 0x33, 0x87, 0x3c, 0xce, 0x31, 0x19, 0x93, 0x52, 0xfa, 0xb4, 0xc4, 0x41, 0xa2, 0x19, 0x90, 0x45, 0x86, 0x9, 0xff, 0xdf, 0x18, 0xdf, 0x41, 0x27, 0x36, 0x4d, 0x25, 0xe5, 0xe9, 0xb1, 0x90, 0x36, 0xed, 0x6c, 0x2c, 0x7, 0xf8, 0xf6, 0xdb, 0xcb, 0x83, 0xe7, 0x71, 0xf3, 0xc0, 0x86, 0xeb, 0xd9, 0xf0, 0x31, 0x26, 0x3d, 0xa5, 0xd6, 0xd5, 0x75, 0x8b, 0x26, 0x91, 0xb0, 0x1b, 0x92, 0xc1, 0x3, 0x64, 0x16, 0x4d, 0xe6, 0x78, 0xb5, 0xd, 0x8f, 0xcb, 0xa6, 0x24, 0x57, 0x20, 0x15, 0x49, 0x21, 0x61, 0x29, 0x58, 0x4a, 0xb7, 0x45, 0x11, 0x34, 0xb, 0x31, 0x56, 0xb, 0xf3, 0x8a, 0x98, 0x4c, 0x98, 0xb2, 0x79, 0xbb, 0xc3, 0x23, 0x49, 0xae, 0xe7, 0x7b, 0xb5, 0x81, 0xe, 0x49, 0x6e, 0xb1, 0xb2, 0x10, 0x53, 0x63, 0x13, 0xf3, 0xbb, 0x40, 0xaf, 0xba, 0x53, 0xb8, 0xfc, 0x77, 0x88, 0x45, 0x45, 0xaa, 0xd9, 0x12, 0x87, 0xf0, 0x46, 0x2b, 0xc5, 0xd0, 0x3a, 0xdf, 0xd0, 0x9c, 0x5d, 0xc7, 0xdd, 0x56, 0x33, 0x59, 0x62, 0x5b, 0x70, 0xf8, 0x4e, 0xdd, 0x78, 0x4c, 0xbb, 0xd1, 0x3a, 0x61, 0xc8, 0x84, 0x79, 0xf0, 0x0, 0xd9, 0x8c, 0xc0, 0x8f, 0x29, 0x70, 0xc5, 0x1e, 0x0, 0xc3, 0xb7, 0x24, 0xc, 0x85, 0x84, 0x23, 0x1f, 0x11, 0x66, 0x5, 0x18, 0x6b, 0xa6, 0xc1, 0xe8, 0xbd, 0x4, 0x8b, 0x5e, 0x95, 0x9d, 0x24, 0x34, 0x19, 0x43, 0x4a, 0x1e, 0x68, 0x96, 0x43, 0x97, 0xf4, 0x5c, 0xf0, 0x1b, 0x25, 0x9, 0x55, 0x60, 0x3, 0xdc, 0xee, 0x32, 0xaa, 0x74, 0xdf, 0xda, 0xe2, 0x31, 0x2, 0xd1, 0x45, 0xcf, 0x59, 0xa7, 0x22, 0x32, 0x13, 0xb9, 0xf3, 0x29, 0x72, 0x1, 0x5d, 0x39, 0xd, 0xea, 0x31, 0x47, 0xe3, 0xf6, 0xb, 0x8c, 0xa9, 0x7a, 0xd9, 0x6e, 0xa8, 0xa5, 0x67, 0x92, 0x32, 0x4e, 0x47, 0xd0, 0xe3, 0x43, 0xb1, 0xa2, 0x3d, 0x6b, 0xa1, 0x68, 0xf6, 0x5, 0x22, 0xc3, 0x48, 0x39, 0xfb, 0x83, 0x84, 0xb6, 0xa0, 0xf7, 0x83, 0x84, 0x76, 0x90, 0xd0, 0xe, 0x12, 0xda, 0x41, 0x42, 0x3b, 0x6e, 0x84, 0xcf, 0x76, 0xb, 0x6a, 0x1c, 0x7e, 0xe4, 0xaa, 0xf4, 0x8, 0xda, 0x70, 0xa, 0xa6, 0xb, 0xd3, 0x7a, 0xe1, 0x4, 0xb1, 0x6a, 0x22, 0x26, 0xfc, 0x2a, 0x8, 0x43, 0x58, 0x3f, 0xb, 0x53, 0x53, 0xbf, 0xbb, 0xc8, 0xa, 0xd7, 0xce, 0xc5, 0x54, 0x81, 0x80, 0xad, 0xa4, 0x66, 0x72, 0x5, 0x6a, 0x68, 0xa6, 0x4, 0x1a, 0xc5, 0x9b, 0x16, 0xd4, 0xdd, 0x48, 0x63, 0x4b, 0xa, 0xa8, 0x34, 0x12, 0x9c, 0xd6, 0x92, 0xd, 0x72, 0x2c, 0x85, 0xf0, 0x40, 0x59, 0x46, 0x7, 0x19, 0xe0, 0xf3, 0xea, 0xb6, 0xb6, 0x17, 0x4b, 0x16, 0xd2, 0xe0, 0x5e, 0xe1, 0xc9, 0xc6, 0x82, 0x97, 0xd6, 0x45, 0x12, 0xc, 0x69, 0x7a, 0x16, 0x90, 0x2c, 0xea, 0x75, 0x17, 0x71, 0xe4, 0x29, 0xe1, 0x4a, 0xdf, 0xe8, 0x8f, 0xa0, 0xc2, 0x60, 0xb0, 0x50, 0x58, 0x5e, 0xa, 0x55, 0xb7, 0xa9, 0x11, 0x12, 0xe8, 0x8, 0x56, 0x3b, 0xad, 0x2f, 0x18, 0xcc, 0x84, 0x1f, 0x94, 0x7a, 0x13, 0xe3, 0x4b, 0x80, 0xca, 0x9e, 0x9a, 0x27, 0x89, 0x6e, 0x64, 0x23, 0x11, 0x9a, 0xaf, 0x3, 0xe2, 0x55, 0x4c, 0x46, 0xeb, 0x80, 0x91, 0xfd, 0xd, 0x38, 0xd3, 0xac, 0x9, 0x9c, 0x9, 0xe3, 0x49, 0x96, 0xa7, 0x50, 0xc1, 0x87, 0xe, 0xb9, 0x2c, 0xcf, 0x48, 0xf5, 0xd1, 0x75, 0x5e, 0xf3, 0xe3, 0x39, 0x4f, 0x31, 0xd7, 0x4b, 0xf5, 0xf7, 0xf8, 0xbc, 0xcf, 0x37, 0x3f, 0xd7, 0xb8, 0xe5, 0x34, 0xf3, 0x1d, 0xa0, 0x13, 0xf7, 0x6d, 0x64, 0x83, 0x71, 0x3d, 0xfb, 0xcd, 0xaf, 0x7b, 0x78, 0x9a, 0x9, 0x5, 0xb, 0xbf, 0xb2, 0x58, 0xd7, 0xf8, 0xf8, 0x2c, 0xaf, 0x1f, 0xa7, 0xf9, 0xc, 0x6e, 0x25, 0xe5, 0xb6, 0x3c, 0x1a, 0xb2, 0x82, 0xd6, 0x32, 0xba, 0x55, 0x4e, 0xdc, 0x7e, 0xf0, 0xb9, 0xe3, 0x3f, 0x3, 0xe6, 0xb1, 0xad, 0xbb, 0xc4, 0x86, 0xa5, 0x2e, 0x22, 0xee, 0xea, 0xa2, 0xed, 0x2a, 0x7, 0x3b, 0xc0, 0x87, 0x9b, 0x7c, 0x3a, 0x15, 0xd2, 0x68, 0xe0, 0xb9, 0x2, 0x34, 0xbb, 0xd5, 0x9d, 0xfa, 0xe, 0xf9, 0x2, 0xba, 0x50, 0xce, 0x8b, 0x76, 0xb0, 0x2f, 0xd4, 0x36, 0x4d, 0x37, 0xae, 0x56, 0x4a, 0xf8, 0xd5, 0x57, 0xc1, 0x47, 0x9d, 0xa9, 0xc8, 0x6c, 0xa6, 0x30, 0x83, 0xf2, 0xae, 0xb2, 0xb9, 0xb3, 0xa2, 0x19, 0x35, 0xdd, 0xb1, 0x18, 0xa3, 0xad, 0xc7, 0xd, 0x97, 0xd, 0x79, 0x2a, 0x42, 0xbb, 0x41, 0xe0, 0xa1, 0xeb, 0x6, 0x1a, 0x7d, 0x37, 0xcd, 0x35, 0x11, 0x92, 0x88, 0x5c, 0x27, 0x62, 0x2, 0xe4, 0xbd, 0x4b, 0x9b, 0x52, 0xbe, 0x32, 0xa6, 0xaa, 0x4c, 0x7b, 0xf2, 0x61, 0xe1, 0x5, 0x67, 0xc3, 0x52, 0xef, 0x22, 0xe3, 0x17, 0xb5, 0x88, 0xbc, 0xd5, 0x2e, 0x65, 0x3e, 0xdf, 0xd9, 0x12, 0xaf, 0x8c, 0x22, 0x3a, 0x34, 0xe7, 0xa4, 0x77, 0xd6, 0x25, 0xbd, 0x21, 0x81, 0xc9, 0x54, 0xcf, 0x9c, 0x31, 0xde, 0x15, 0x7f, 0xc4, 0x2c, 0xff, 0xd6, 0x1e, 0x94, 0x51, 0x6d, 0x7e, 0x92, 0x39, 0x7f, 0x96, 0xb9, 0xc5, 0x11, 0x4a, 0xcf, 0x50, 0xc7, 0x3a, 0x23, 0xee, 0x39, 0x2, 0xb3, 0x51, 0xac, 0x86, 0xb4, 0x6a, 0x73, 0x91, 0xad, 0x36, 0xb6, 0x81, 0x10, 0x19, 0x50, 0xde, 0x34, 0xb8, 0x4b, 0x4b, 0xb1, 0x4f, 0x1d, 0x5e, 0x41, 0xf0, 0x36, 0x9d, 0xd1, 0xb1, 0xab, 0x8, 0xfa, 0xa1, 0x3a, 0x56, 0xb2, 0xf8, 0x40, 0x3c, 0x6f, 0x2a, 0x99, 0xe0, 0xa3, 0x2b, 0x91, 0x65, 0x6b, 0xcb, 0x71, 0x15, 0x49, 0xc8, 0x8a, 0x75, 0x43, 0x29, 0x26, 0x84, 0x92, 0xa9, 0x84, 0x7, 0x26, 0x72, 0xb5, 0xec, 0x58, 0x16, 0xd2, 0x9d, 0x21, 0xab, 0xa9, 0x4, 0xe5, 0x92, 0xe4, 0x31, 0x45, 0xae, 0xaf, 0x4e, 0xed, 0xad, 0x41, 0x56, 0x0, 0x52, 0xce, 0x35, 0xcb, 0x6a, 0x3, 0x7c, 0xcc, 0xcc, 0x3, 0x90, 0x52, 0x76, 0x1c, 0x28, 0x5d, 0xe1, 0xcf, 0xc0, 0x13, 0x91, 0x82, 0x23, 0x2, 0xa6, 0x5c, 0xd1, 0x54, 0x4c, 0xa9, 0x38, 0xb0, 0x7d, 0x3a, 0x48, 0xf3, 0x78, 0x69, 0x3f, 0x8b, 0x6a, 0xfe, 0x45, 0xbd, 0x85, 0xc3, 0x95, 0x39, 0xef, 0xb3, 0x94, 0x4c, 0x72, 0xa5, 0xad, 0xe2, 0x3d, 0x0, 0xff, 0xb0, 0xf2, 0xd5, 0x85, 0xd0, 0x2e, 0x70, 0x49, 0x84, 0x61, 0x9e, 0x1a, 0x6c, 0x32, 0x3f, 0xb, 0xb0, 0x93, 0x3c, 0xd3, 0x6c, 0x9a, 0x81, 0x4b, 0xb8, 0x38, 0x0, 0xfd, 0x18, 0xa4, 0xc2, 0xc3, 0xc, 0x58, 0xee, 0xce, 0xa6, 0x2c, 0xee, 0x1d, 0x77, 0x33, 0xca, 0xa9, 0xa4, 0x5c, 0x3, 0xd6, 0xb, 0x31, 0x52, 0xa3, 0xaf, 0xba, 0x32, 0xa1, 0xf7, 0x68, 0x22, 0x26, 0xca, 0x34, 0xc6, 0x6d, 0xbd, 0x91, 0x72, 0x7d, 0x7d, 0x17, 0x76, 0xdd, 0x8d, 0x20, 0x4b, 0xb, 0x2a, 0xab, 0x2c, 0x76, 0xf0, 0x7d, 0xb4, 0xf0, 0x1b, 0x15, 0xd3, 0xdf, 0x88, 0x30, 0xb5, 0x22, 0x8d, 0xbf, 0x6d, 0x79, 0x6a, 0xa3, 0xb1, 0x3f, 0x46, 0xf2, 0x6f, 0x92, 0x89, 0xa2, 0xb0, 0xe7, 0x39, 0x21, 0x28, 0x14, 0x30, 0xca, 0xa, 0x6a, 0xf5, 0x4d, 0x9d, 0xd8, 0xb4, 0x69, 0xd8, 0x1b, 0x84, 0xe5, 0xd5, 0x28, 0xc7, 0x2a, 0xca, 0xd4, 0x10, 0xb0, 0xcf, 0xad, 0x86, 0xf7, 0xb1, 0xce, 0xc, 0x8f, 0x37, 0x30, 0xe5, 0x9, 0xed, 0x9d, 0x79, 0xdc, 0x28, 0x7b, 0x2f, 0x84, 0x5, 0x92, 0xf3, 0xc, 0x94, 0x32, 0xea, 0xf6, 0x84, 0xe9, 0x30, 0xc1, 0x66, 0x51, 0x5f, 0xaf, 0x77, 0x86, 0x96, 0xf9, 0x8c, 0x25, 0x9a, 0x4c, 0x31, 0x4f, 0x6a, 0x7d, 0x30, 0xcf, 0x82, 0x55, 0x79, 0xd3, 0xe2, 0xcb, 0x22, 0xae, 0xd1, 0x4b, 0x81, 0x6b, 0xb3, 0x4c, 0x5e, 0x1f, 0x66, 0xe1, 0x76, 0xdb, 0x6b, 0x5d, 0xb4, 0x14, 0x61, 0x4e, 0x41, 0xd9, 0x51, 0x2c, 0x5, 0xd2, 0x3b, 0x3b, 0x22, 0x29, 0x5e, 0x9f, 0x27, 0xda, 0x71, 0x1c, 0x3e, 0xb3, 0x19, 0x6e, 0x79, 0x78, 0x95, 0x1c, 0x2d, 0x31, 0x61, 0x45, 0x57, 0x8a, 0x14, 0x35, 0xf9, 0xfc, 0x6e, 0x8d, 0x29, 0x4f, 0x33, 0x90, 0x5d, 0xf2, 0xcd, 0xa0, 0xf8, 0xa0, 0x8, 0x10, 0xa7, 0x13, 0xc1, 0x47, 0x15, 0x4b, 0x94, 0x1e, 0x57, 0xd1, 0xd0, 0xd0, 0x4b, 0xb1, 0xfe, 0x47, 0x44, 0xe5, 0x83, 0x3f, 0xc0, 0x96, 0x74, 0x45, 0x36, 0x9e, 0x67, 0x46, 0x42, 0x9f, 0x4c, 0x85, 0x4b, 0xac, 0xca, 0xd2, 0xbe, 0x84, 0x5c, 0x41, 0xdf, 0x52, 0x3, 0x8a, 0xd4, 0x2c, 0xed, 0x7b, 0x22, 0xe9, 0xc7, 0x44, 0xb2, 0x89, 0x5d, 0x7b, 0xd5, 0x40, 0xf4, 0x46, 0x5c, 0x6c, 0x53, 0x50, 0xd4, 0xc2, 0x89, 0xb6, 0x81, 0x1, 0x3c, 0x4d, 0xa1, 0x3e, 0xb6, 0x9, 0x48, 0x3f, 0x6e, 0x98, 0x83, 0x38, 0xda, 0xb1, 0xb9, 0xb, 0x9b, 0xb5, 0x6b, 0x27, 0xce, 0x54, 0xb3, 0x2b, 0xd7, 0x28, 0xd7, 0x21, 0x5f, 0xc1, 0xaf, 0x8c, 0x9c, 0xa4, 0x85, 0xfb, 0x94, 0xa0, 0xe, 0xeb, 0x81, 0xa4, 0x28, 0xf3, 0x4c, 0x73, 0x2d, 0x8c, 0xd6, 0x9e, 0xa0, 0x66, 0xab, 0xb, 0xdb, 0x51, 0x45, 0x58, 0x2f, 0x9a, 0x81, 0x94, 0x58, 0x17, 0xa0, 0xa8, 0x9e, 0x5d, 0xf8, 0x2a, 0xa, 0x5e, 0x82, 0x57, 0x5a, 0x9b, 0xfb, 0xde, 0x30, 0x31, 0xa6, 0x89, 0xb2, 0x86, 0x80, 0xca, 0x4, 0x7d, 0xad, 0x69, 0x7, 0x69, 0x65, 0x57, 0x2e, 0xff, 0xaa, 0xcb, 0x80, 0x11, 0x7d, 0xe3, 0x96, 0xaa, 0x21, 0x71, 0xe8, 0xf2, 0xb5, 0x7e, 0xd3, 0xfc, 0xe9, 0xad, 0x82, 0xeb, 0x2a, 0x1b, 0xd3, 0x2a, 0x90, 0x5d, 0x6d, 0xc2, 0x7b, 0xc, 0xb6, 0x46, 0x8b, 0xdb, 0xb0, 0x9, 0xf3, 0x4a, 0x64, 0x8d, 0x0, 0x5b, 0x68, 0x8e, 0xca, 0x85, 0xa1, 0x56, 0x60, 0x35, 0xa, 0x4e, 0x7d, 0xa4, 0xc, 0xd5, 0x6a, 0x4c, 0x62, 0x17, 0xd6, 0xae, 0xf3, 0xe6, 0xc4, 0x40, 0xba, 0xae, 0x31, 0x8e, 0x10, 0x61, 0xab, 0x1e, 0xe4, 0x12, 0xea, 0xd, 0x80, 0xb, 0x6, 0xba, 0xd7, 0xe8, 0xf4, 0x26, 0x8d, 0x7f, 0x86, 0x58, 0x6e, 0xc, 0xad, 0xac, 0x33, 0xdc, 0x1b, 0x4f, 0x5c, 0x48, 0x6a, 0x43, 0x21, 0xbb, 0x15, 0xee, 0x6a, 0xb, 0x1d, 0xd8, 0xcb, 0xe4, 0x89, 0x90, 0x40, 0x68, 0xfa, 0x60, 0xb0, 0x24, 0x75, 0x74, 0x59, 0xf8, 0x58, 0xa1, 0x35, 0x4, 0x2b, 0x7c, 0xf, 0x32, 0x91, 0xdc, 0x2f, 0x37, 0xb1, 0x1, 0xcf, 0x27, 0xd5, 0xb3, 0xde, 0x21, 0x17, 0xe7, 0xff, 0xf5, 0xfd, 0xa6, 0x7f, 0x79, 0x75, 0x7e, 0x7d, 0x72, 0xdb, 0xbb, 0xbc, 0xe8, 0xff, 0x7e, 0xd2, 0xbb, 0xed, 0xdf, 0xdc, 0x9e, 0x7c, 0x39, 0xef, 0x7f, 0xbf, 0xb8, 0xb9, 0x3a, 0x3f, 0xed, 0x7d, 0xee, 0x9d, 0x9f, 0xad, 0xf3, 0xd9, 0xcd, 0xed, 0xc9, 0xf5, 0xed, 0x7a, 0x9f, 0x9c, 0x7e, 0xbd, 0xbc, 0xa9, 0x7c, 0xb1, 0xd4, 0x8, 0x63, 0xa6, 0xf3, 0xb6, 0x58, 0xc3, 0x82, 0xd3, 0xbf, 0xd7, 0x1c, 0x41, 0x83, 0x9c, 0x30, 0x4e, 0x37, 0x5f, 0xc5, 0xf4, 0xd6, 0x37, 0xdc, 0xc4, 0x1c, 0x8a, 0x9e, 0x95, 0x91, 0x9e, 0xb, 0x77, 0xf7, 0x2a, 0x8b, 0x88, 0x4c, 0xac, 0x81, 0x58, 0xec, 0xbe, 0xb6, 0xc6, 0xee, 0xe9, 0x14, 0x8c, 0xea, 0x1d, 0x14, 0xec, 0xf7, 0x42, 0x6e, 0x68, 0x12, 0x47, 0x71, 0xd7, 0xc8, 0xb5, 0x46, 0x36, 0x97, 0x40, 0xad, 0x6, 0xce, 0x74, 0x97, 0x9c, 0x94, 0xa3, 0x49, 0xab, 0xd2, 0xf6, 0x98, 0x3e, 0x84, 0x85, 0x49, 0xb4, 0x2a, 0x38, 0x8f, 0x2, 0x6c, 0x80, 0x7a, 0xbe, 0x63, 0x8d, 0x43, 0xb4, 0x68, 0xcb, 0xa, 0xce, 0x54, 0x95, 0x97, 0x73, 0x11, 0x43, 0x5a, 0xb6, 0x42, 0x7b, 0xcd, 0x95, 0x5e, 0x4b, 0x66, 0x5e, 0xb6, 0x29, 0xad, 0x92, 0x97, 0x97, 0x4f, 0xb6, 0xcd, 0xc8, 0xa8, 0x5c, 0xd1, 0xf4, 0xd, 0xbb, 0xc6, 0xde, 0xb8, 0x66, 0x97, 0xf8, 0xc2, 0xaa, 0xf2, 0xb5, 0x75, 0x9d, 0x60, 0x8b, 0x1e, 0x76, 0x11, 0x21, 0xe, 0x15, 0x48, 0xb7, 0xe4, 0x76, 0x5a, 0xec, 0xfa, 0x7e, 0x9c, 0xca, 0x8d, 0x39, 0x98, 0x62, 0xe4, 0x4a, 0xe5, 0xb4, 0x2d, 0x77, 0x10, 0xdd, 0xc2, 0x19, 0x8b, 0x9d, 0x1c, 0xc3, 0x64, 0x2c, 0x85, 0x5f, 0x6b, 0x38, 0xcc, 0x4d, 0x9a, 0xf7, 0xcb, 0xb1, 0x4e, 0xe8, 0xf, 0x36, 0xc9, 0x27, 0x57, 0x4f, 0xf0, 0x29, 0xfd, 0x45, 0x3c, 0x92, 0x9, 0xe5, 0xb3, 0xc0, 0x87, 0x94, 0x6a, 0x22, 0x78, 0xb2, 0xab, 0x2e, 0xa4, 0x5a, 0x18, 0xf2, 0xb1, 0x79, 0x6f, 0x8a, 0x4, 0xf9, 0x62, 0xe8, 0x8b, 0x43, 0xed, 0x8a, 0xc7, 0xe8, 0x3f, 0xcd, 0xc3, 0x20, 0xa1, 0x49, 0x41, 0x4, 0xed, 0x5, 0xb4, 0xe8, 0x84, 0xed, 0x9, 0x9e, 0x1d, 0xff, 0xe9, 0xff, 0xdc, 0x90, 0x1f, 0x61, 0x18, 0xf4, 0xec, 0x9b, 0xe, 0xdf, 0x40, 0x1d, 0x28, 0xf6, 0x57, 0x11, 0xc3, 0x48, 0xd7, 0xf2, 0x5f, 0x2d, 0x74, 0x98, 0xf3, 0xfb, 0xf4, 0x22, 0x40, 0xe8, 0x43, 0x1c, 0xfd, 0x74, 0x30, 0xe8, 0xda, 0x8e, 0x63, 0x3b, 0x78, 0x58, 0xee, 0xc9, 0x9a, 0x63, 0x66, 0xe9, 0x4b, 0xd, 0xf6, 0x8d, 0x9c, 0xe9, 0x2a, 0xbd, 0xb4, 0xe3, 0x58, 0x3f, 0xdb, 0x24, 0x72, 0x8a, 0x25, 0x1, 0xbd, 0xbf, 0xca, 0xc2, 0x13, 0x67, 0x5f, 0x7d, 0xd1, 0xf3, 0x16, 0xd1, 0xaf, 0xab, 0x39, 0x3b, 0x80, 0xa2, 0x8e, 0xe1, 0xb6, 0xa4, 0x90, 0xd, 0x9c, 0xba, 0xba, 0xd5, 0xdc, 0xc4, 0x20, 0x5f, 0xcb, 0xf0, 0x10, 0x6f, 0x7e, 0xab, 0xcc, 0xc, 0xd5, 0xa9, 0xb5, 0x3, 0x17, 0x52, 0xc8, 0x40, 0xc3, 0x33, 0x90, 0xe1, 0xc, 0x1b, 0x30, 0xc8, 0xe0, 0xe9, 0xf8, 0xc8, 0x26, 0x9f, 0x30, 0xac, 0x99, 0xe9, 0xc0, 0x45, 0x75, 0xa6, 0x34, 0x4c, 0x1a, 0x98, 0xb4, 0x69, 0xe3, 0xf5, 0x59, 0xb4, 0x19, 0xc5, 0xce, 0x42, 0xc5, 0x4b, 0xd, 0xd5, 0x3a, 0x90, 0xe9, 0xb5, 0x84, 0x7f, 0x3b, 0x52, 0xfb, 0x9d, 0x1f, 0xaf, 0x73, 0xc6, 0x7d, 0x1c, 0xb, 0xc2, 0x38, 0xd3, 0xcc, 0x66, 0x72, 0xb0, 0x65, 0x6d, 0x23, 0x37, 0x8c, 0x35, 0x46, 0xf9, 0x46, 0xa0, 0x22, 0xa6, 0xe7, 0x76, 0x40, 0xc5, 0x7a, 0x9a, 0xc1, 0x31, 0x26, 0xad, 0x64, 0x7c, 0xd4, 0x41, 0xf7, 0xee, 0x4d, 0x59, 0x41, 0x14, 0xf1, 0xed, 0x3a, 0xb7, 0xf1, 0x47, 0xa6, 0xc7, 0x68, 0xb, 0x91, 0x94, 0x8f, 0x96, 0xdb, 0x41, 0xbe, 0xb9, 0xaf, 0x6f, 0xcd, 0xc7, 0xaf, 0x85, 0x33, 0x78, 0x92, 0xde, 0x4, 0xcc, 0x6c, 0x73, 0xa4, 0x35, 0x61, 0x91, 0xcb, 0x61, 0x86, 0x4d, 0xc0, 0xee, 0x74, 0xed, 0xe8, 0x9e, 0x64, 0xfe, 0x48, 0xa9, 0x86, 0x4e, 0x94, 0x23, 0xcb, 0xf, 0x11, 0x78, 0xba, 0xc2, 0x0, 0x37, 0xd2, 0xe9, 0x1b, 0xc1, 0xb5, 0xc6, 0xa3, 0xb4, 0x97, 0x10, 0x37, 0x35, 0x2b, 0xb0, 0x91, 0xb, 0xe7, 0x6f, 0xf4, 0xde, 0x4a, 0x50, 0xfe, 0xfa, 0xc4, 0xc5, 0xc8, 0xe0, 0xb5, 0x6c, 0x71, 0x20, 0x85, 0x24, 0x5a, 0xb2, 0xd1, 0x8, 0x24, 0xde, 0x35, 0x17, 0xf7, 0xc4, 0x58, 0x4a, 0xbd, 0xe1, 0x76, 0xf6, 0xca, 0x8c, 0xf1, 0xb5, 0x5, 0xab, 0x69, 0x35, 0x81, 0xf1, 0xce, 0x2, 0xde, 0xc6, 0x47, 0xfa, 0x5a, 0x7a, 0x58, 0xb4, 0xef, 0xad, 0x52, 0xc3, 0x2a, 0x33, 0xdb, 0x43, 0xdc, 0xb1, 0x19, 0x7, 0x37, 0x2, 0x3c, 0xa7, 0x2e, 0x8e, 0x10, 0xe5, 0x75, 0x4c, 0xab, 0xe5, 0xd2, 0x6, 0x18, 0xb0, 0x59, 0xdf, 0xd8, 0xfa, 0x1d, 0x47, 0xf6, 0xda, 0x70, 0x63, 0xd7, 0xe7, 0x4d, 0xe0, 0xcd, 0xe6, 0x87, 0xfa, 0x5a, 0x80, 0x13, 0x6f, 0x7d, 0xab, 0x10, 0xa7, 0x3a, 0xb5, 0x36, 0x43, 0x8e, 0xa6, 0xea, 0xbe, 0xf3, 0xef, 0x1c, 0x72, 0xf3, 0xbb, 0xf9, 0x8f, 0x7f, 0x9a, 0xbf, 0x3d, 0xe6, 0x74, 0x2c, 0x46, 0x6c, 0x4, 0x7a, 0x2, 0x27, 0x3b, 0xbb, 0xc0, 0xa, 0x53, 0x22, 0x12, 0xec, 0x3c, 0x6, 0xa3, 0xe0, 0x7c, 0x7c, 0x76, 0xbe, 0x12, 0xe2, 0x1, 0x24, 0xcd, 0x32, 0xf7, 0xb6, 0x34, 0x40, 0x95, 0xb1, 0x9, 0xd3, 0x1f, 0xad, 0xcb, 0x6e, 0xf1, 0xdf, 0xe8, 0xdd, 0x86, 0xc1, 0x6f, 0x4c, 0x11, 0x3a, 0x65, 0xf8, 0xa1, 0x64, 0xa9, 0xc3, 0x3c, 0x9b, 0x65, 0xb0, 0x63, 0x5e, 0x2a, 0xbf, 0x39, 0x2a, 0xbb, 0xc3, 0x4, 0x8f, 0x24, 0xe7, 0x89, 0xc8, 0xa7, 0x99, 0xfb, 0x26, 0x68, 0xbc, 0xb0, 0x6d, 0xb9, 0x6c, 0x85, 0x19, 0x1b, 0x42, 0x32, 0x4b, 0x22, 0x53, 0x6e, 0x6f, 0xb8, 0x70, 0xc0, 0xd6, 0xff, 0x56, 0x81, 0x3e, 0x6a, 0x1e, 0x10, 0xd1, 0x28, 0x1f, 0xc2, 0x70, 0x8, 0x49, 0x7d, 0xf0, 0x8a, 0x5d, 0xc1, 0x5b, 0xbf, 0x5f, 0xa7, 0x61, 0x86, 0xc4, 0x9d, 0xf2, 0xab, 0x29, 0x48, 0x6a, 0xd, 0xf8, 0xbc, 0x81, 0xc, 0x12, 0xe7, 0x78, 0x1d, 0x90, 0x48, 0xb, 0xe1, 0xb3, 0xb2, 0x81, 0x2d, 0x44, 0xd1, 0xb9, 0x19, 0xee, 0x23, 0x98, 0xba, 0x43, 0x8e, 0xe9, 0x55, 0x3b, 0x2c, 0xed, 0x98, 0xc6, 0xa9, 0x66, 0x5b, 0xc9, 0x29, 0x1e, 0x66, 0x78, 0xfe, 0xae, 0x80, 0xdc, 0x7d, 0xf1, 0x35, 0x18, 0x7f, 0x2b, 0x12, 0xc7, 0x5e, 0x1b, 0x19, 0xf3, 0x2e, 0x44, 0x59, 0xd0, 0xc9, 0x38, 0x82, 0x48, 0x82, 0x83, 0x35, 0x52, 0x4c, 0x90, 0x6f, 0x56, 0x81, 0xf6, 0x21, 0x31, 0xe5, 0xb9, 0x6c, 0x4a, 0xfe, 0x6c, 0x3b, 0xfd, 0x64, 0x53, 0xca, 0x9e, 0x86, 0x33, 0x6e, 0xb, 0x4e, 0xf9, 0x98, 0xea, 0x2, 0xcc, 0x63, 0xb0, 0xc2, 0xc0, 0x6d, 0x29, 0x46, 0xa8, 0xb1, 0x63, 0xf6, 0x23, 0xb7, 0xb4, 0x2c, 0x25, 0x11, 0x5, 0x6c, 0xcd, 0x65, 0xea, 0x6, 0xb4, 0xaa, 0xcc, 0x67, 0x9d, 0xd4, 0x27, 0x5f, 0xd, 0x2f, 0x52, 0x64, 0xec, 0x1d, 0xa8, 0xfc, 0xa0, 0x33, 0xb0, 0x94, 0x80, 0x7e, 0xe6, 0x98, 0x7a, 0xdc, 0xe6, 0xbc, 0xeb, 0x92, 0x1b, 0xb4, 0x67, 0xcc, 0xc8, 0xdf, 0xcc, 0xfc, 0x31, 0xde, 0xd3, 0x79, 0x5c, 0x5, 0x9, 0x95, 0xe3, 0x33, 0xe7, 0x8e, 0x3f, 0x99, 0xd0, 0x3f, 0x84, 0x2c, 0x72, 0x4, 0x2b, 0xd0, 0x5d, 0xf2, 0x73, 0x91, 0x47, 0xa, 0x5d, 0xe1, 0x60, 0x55, 0xd7, 0xa7, 0x55, 0x1d, 0xb6, 0xde, 0x8, 0x8e, 0x2e, 0x3c, 0x4a, 0x7b, 0x8d, 0xa7, 0x25, 0x32, 0x75, 0xe4, 0xa6, 0x5c, 0x2f, 0x83, 0x23, 0x10, 0x82, 0x62, 0x91, 0xd7, 0x9a, 0x2a, 0xc5, 0x46, 0xdc, 0x56, 0xd9, 0xc5, 0x10, 0xbf, 0x94, 0x49, 0x48, 0xb4, 0x4b, 0x86, 0x60, 0xb1, 0xd1, 0xf0, 0x3c, 0xf2, 0xcf, 0x10, 0x1b, 0x9, 0x21, 0xbf, 0x9f, 0x5c, 0x5f, 0xf4, 0x2e, 0xbe, 0x7c, 0x24, 0x76, 0x33, 0x49, 0x89, 0xc6, 0x2e, 0xd7, 0xd, 0x99, 0x1, 0xfa, 0x3b, 0x99, 0xe3, 0xe5, 0xc3, 0x40, 0x4e, 0xae, 0x7a, 0xf8, 0xb7, 0x4f, 0xf4, 0x1d, 0xe6, 0xd3, 0x61, 0xbc, 0x38, 0x8f, 0xf5, 0x89, 0x37, 0x9a, 0x80, 0xff, 0xd, 0xc3, 0xef, 0x9e, 0xf8, 0x24, 0x35, 0xed, 0xdc, 0x9e, 0x9d, 0xf6, 0xbe, 0x95, 0x2f, 0xf8, 0x16, 0x8a, 0xd1, 0x7a, 0xaf, 0xaf, 0x42, 0x3c, 0x2d, 0x78, 0x8d, 0x39, 0x76, 0x43, 0x91, 0x65, 0xe2, 0x11, 0x8f, 0xe6, 0x5c, 0x6, 0x43, 0xcb, 0xe7, 0x25, 0x7a, 0xe8, 0x16, 0xec, 0xfe, 0x88, 0xc, 0x24, 0xfa, 0xee, 0xa6, 0xe2, 0x91, 0x1b, 0xf5, 0xd3, 0xe3, 0x45, 0xb4, 0x46, 0x1d, 0xeb, 0xd8, 0x2d, 0x86, 0x18, 0x88, 0x9, 0x52, 0xc5, 0xf, 0xfd, 0xc, 0xe2, 0xa2, 0x2c, 0x6a, 0x2e, 0xed, 0x67, 0x87, 0x7c, 0xa2, 0xc9, 0x7d, 0x26, 0xec, 0xe8, 0x10, 0x73, 0x8a, 0x4f, 0x5d, 0xc6, 0xfc, 0x93, 0x44, 0xb3, 0x7, 0xf3, 0x35, 0x16, 0x1d, 0xa8, 0x3, 0x87, 0xb9, 0x5, 0xd8, 0x55, 0x54, 0x8, 0x88, 0xe0, 0xc5, 0xc1, 0xa8, 0xae, 0xd7, 0x27, 0x5f, 0x7, 0xce, 0xb7, 0x7e, 0xcf, 0xf8, 0x5a, 0x71, 0xcb, 0xef, 0xdc, 0x69, 0xfe, 0x48, 0x6e, 0x4f, 0x6e, 0x7e, 0xed, 0xff, 0xf3, 0xfb, 0xf9, 0xf7, 0xf3, 0xfe, 0xaf, 0xbd, 0x8b, 0xb3, 0xfe, 0xc5, 0xe5, 0xf5, 0xb7, 0x93, 0xaf, 0xdd, 0x77, 0x4b, 0xc6, 0x55, 0x1f, 0xce, 0x5b, 0x6d, 0x6c, 0x51, 0xc, 0x6f, 0x7d, 0xc7, 0x4b, 0x5f, 0xbb, 0xb9, 0xed, 0x9d, 0xfe, 0xfa, 0xaf, 0xa5, 0xaf, 0xfd, 0x7e, 0x79, 0xfd, 0xeb, 0xf9, 0x75, 0xff, 0xf4, 0xf2, 0xdb, 0xb7, 0x93, 0x8b, 0xb3, 0x9b, 0xe5, 0x6b, 0x4a, 0xea, 0x83, 0x7b, 0x6b, 0xb7, 0xd2, 0xbc, 0x96, 0x3d, 0xb3, 0xba, 0x49, 0x6f, 0x38, 0x24, 0x66, 0xd7, 0xc8, 0x3f, 0xfe, 0xd1, 0x30, 0x47, 0x54, 0x4, 0x5c, 0x36, 0x3e, 0x9b, 0xa0, 0xd1, 0x20, 0x2c, 0x65, 0xe, 0x59, 0x38, 0xa6, 0xe0, 0x1a, 0xc6, 0x2b, 0x81, 0xf, 0x70, 0x78, 0x91, 0x6, 0x31, 0xa6, 0xda, 0xa5, 0xfa, 0x63, 0xc9, 0xfd, 0xac, 0x50, 0x1e, 0x14, 0x91, 0x39, 0x47, 0xb9, 0x41, 0x3c, 0x2f, 0x18, 0xbd, 0x58, 0x9b, 0xdb, 0xd9, 0xf4, 0x79, 0x8b, 0x42, 0x72, 0x5e, 0xa6, 0x5, 0x7b, 0x1f, 0x2c, 0xcc, 0xed, 0xbf, 0xae, 0xa2, 0x98, 0xf0, 0xf, 0x6e, 0x79, 0xbc, 0xd4, 0x8f, 0xc5, 0x96, 0xe6, 0xbf, 0x30, 0x74, 0xf0, 0xf9, 0xeb, 0xe5, 0xef, 0x1f, 0xa, 0x15, 0x23, 0x57, 0x71, 0xb0, 0x3a, 0x21, 0xe4, 0xd2, 0xa8, 0x17, 0xaa, 0xc8, 0x19, 0xcb, 0xca, 0x56, 0x27, 0x22, 0x5, 0xf2, 0x3e, 0x37, 0xca, 0x6f, 0x89, 0x20, 0x7d, 0xb3, 0x16, 0xea, 0xce, 0xbc, 0x77, 0x7e, 0xf1, 0xcb, 0xc9, 0xc5, 0xe9, 0xf9, 0x99, 0x7d, 0x91, 0x71, 0xa5, 0x81, 0x96, 0xe9, 0x57, 0x9b, 0xd6, 0x72, 0xe9, 0xe1, 0xa9, 0x4e, 0x76, 0xe9, 0xbb, 0x7e, 0x9a, 0x4b, 0x5f, 0x3c, 0x39, 0xbd, 0xed, 0xfd, 0xd6, 0xbb, 0x5d, 0x78, 0x80, 0xf0, 0x45, 0x8c, 0x97, 0xdf, 0xc0, 0xb1, 0x91, 0x60, 0x56, 0xd5, 0xb0, 0xec, 0xb5, 0xf4, 0xc7, 0x6b, 0xfc, 0xc, 0x59, 0x96, 0x2a, 0xa2, 0xdc, 0x9c, 0x85, 0xd, 0xd2, 0x88, 0xb8, 0x67, 0x53, 0x78, 0xaf, 0x96, 0xae, 0xf9, 0xe2, 0x14, 0x9f, 0x76, 0x94, 0xa7, 0xd5, 0xea, 0x30, 0xab, 0xe, 0xb3, 0x14, 0xd3, 0xc9, 0x5c, 0x1b, 0xeb, 0xf, 0xc6, 0xa5, 0x4e, 0x2d, 0xf8, 0xe9, 0x5c, 0xba, 0xee, 0xb5, 0x2b, 0x29, 0x15, 0x86, 0x9c, 0x23, 0x4c, 0x88, 0x7c, 0x67, 0xa7, 0xdb, 0xc7, 0xd5, 0xbd, 0xf3, 0x64, 0x3b, 0x9f, 0xbf, 0xd3, 0x70, 0xbf, 0x39, 0x73, 0x84, 0xcb, 0xaf, 0xe4, 0x8f, 0x93, 0x1b, 0xec, 0x86, 0xb3, 0xc7, 0xd2, 0x29, 0xfb, 0x26, 0xd2, 0x67, 0x55, 0x8f, 0xa, 0x8c, 0x57, 0x95, 0x53, 0xaa, 0x7c, 0xe, 0x52, 0x83, 0x7c, 0x69, 0xf9, 0x5e, 0x3c, 0x7f, 0x6b, 0x3a, 0x2e, 0x74, 0x27, 0xfc, 0x54, 0xb, 0x5c, 0xbf, 0x22, 0xf, 0x9f, 0x23, 0xc8, 0x8f, 0xe4, 0xec, 0xfc, 0xf3, 0xc9, 0xf7, 0xaf, 0xb7, 0xe, 0x2f, 0xd8, 0xd0, 0xda, 0xe5, 0x3f, 0x10, 0x21, 0xe3, 0xce, 0x2b, 0x7d, 0x9c, 0xa, 0x8e, 0x99, 0x5b, 0xb0, 0x22, 0x9e, 0x48, 0x72, 0xac, 0xd5, 0xa6, 0x7d, 0x5e, 0x18, 0xac, 0x75, 0x64, 0x91, 0xdf, 0x74, 0xcc, 0x53, 0x90, 0x4a, 0x1b, 0x1d, 0xce, 0x5e, 0x2d, 0xd8, 0xc9, 0xe0, 0x2d, 0x40, 0x88, 0x5d, 0x4f, 0x3, 0x9f, 0xb3, 0xf3, 0x9b, 0xd3, 0xeb, 0xde, 0xa7, 0xf3, 0x7e, 0x80, 0x3, 0xdf, 0x2e, 0xcf, 0x16, 0xa3, 0x50, 0xe3, 0x47, 0x7e, 0xce, 0x1b, 0xc0, 0xf, 0x5f, 0xfb, 0xcb, 0x57, 0x94, 0x5a, 0xeb, 0x1c, 0xf8, 0x54, 0xc2, 0x85, 0x73, 0x8c, 0x17, 0xa6, 0x57, 0xb4, 0xff, 0x50, 0x29, 0xe9, 0x2c, 0xfa, 0x9d, 0x69, 0x98, 0xa8, 0xea, 0xf2, 0x2d, 0xe4, 0x8d, 0xc5, 0x4, 0x72, 0xee, 0xfe, 0x84, 0xb5, 0x44, 0xb5, 0x30, 0x1d, 0x72, 0xd0, 0x44, 0x6c, 0x31, 0x5d, 0x3c, 0x8d, 0xa6, 0x53, 0x56, 0xc, 0x8d, 0x66, 0x19, 0xca, 0xf9, 0xcf, 0xe2, 0xdd, 0x6e, 0x9c, 0x34, 0xcb, 0xd0, 0xab, 0xe8, 0x1, 0xca, 0xf6, 0xc9, 0x49, 0x61, 0x8f, 0x63, 0xca, 0x88, 0x31, 0x8a, 0xa5, 0x20, 0x21, 0xf5, 0x2f, 0xb2, 0xe1, 0x91, 0xc7, 0x8f, 0x8c, 0x2a, 0x4d, 0x86, 0xf0, 0x48, 0x26, 0x8c, 0xe7, 0x1a, 0xd4, 0x51, 0xbc, 0xd6, 0x4c, 0x63, 0x66, 0xe7, 0x31, 0x8d, 0x2a, 0xa1, 0x49, 0x54, 0x83, 0xd4, 0x91, 0xf9, 0xcb, 0xbd, 0x31, 0x0, 0x97, 0xa9, 0xc6, 0xa7, 0x9a, 0x14, 0x43, 0x92, 0x80, 0x34, 0xf2, 0x53, 0x88, 0x66, 0xe6, 0x68, 0x27, 0x34, 0xcb, 0x56, 0x24, 0x88, 0xa6, 0x95, 0x8c, 0x4, 0xa0, 0xcd, 0x40, 0x35, 0x79, 0x4f, 0x95, 0xd1, 0xa1, 0xb4, 0xbf, 0xfc, 0x8f, 0x51, 0xcc, 0xe3, 0x16, 0x13, 0xfc, 0x43, 0x5, 0x55, 0x6e, 0x63, 0xe6, 0xe8, 0x4a, 0x9e, 0x20, 0xa3, 0x42, 0x35, 0xf, 0xb5, 0x4f, 0xcc, 0x54, 0xc4, 0x85, 0x2e, 0xb3, 0xb0, 0x1e, 0xe1, 0xd6, 0xd9, 0x2f, 0xa8, 0x84, 0x60, 0x9b, 0x36, 0x7a, 0x58, 0xea, 0xf0, 0x67, 0x3d, 0xf1, 0x67, 0xd, 0x1, 0x68, 0xd, 0x11, 0x68, 0x35, 0x21, 0x68, 0x1, 0x8c, 0xad, 0x24, 0x8, 0x5d, 0xcd, 0xa9, 0xeb, 0xaf, 0x41, 0x21, 0x4e, 0x6c, 0xc9, 0x62, 0x1b, 0x2, 0x32, 0x9d, 0x46, 0x19, 0xcb, 0x96, 0x1f, 0x2c, 0x8e, 0xf4, 0x6, 0xc4, 0x2d, 0x43, 0xa7, 0x35, 0xd5, 0x3c, 0x5f, 0x79, 0x51, 0x70, 0xda, 0x51, 0x89, 0xd5, 0x79, 0xf1, 0xb3, 0x28, 0x48, 0x69, 0x96, 0x4, 0x4f, 0x8d, 0xf9, 0xc8, 0xae, 0xd2, 0xfb, 0xf9, 0x6, 0x9c, 0x55, 0xd6, 0xce, 0x1a, 0x2a, 0x65, 0x5e, 0xa6, 0x20, 0xcb, 0xcf, 0x9f, 0x24, 0xc6, 0xbe, 0x11, 0x53, 0xe4, 0x9c, 0x9d, 0xa8, 0xdd, 0x36, 0x48, 0x77, 0xb3, 0x50, 0xd6, 0xc4, 0xf4, 0x97, 0xc, 0x51, 0xd9, 0xe8, 0xbe, 0xfb, 0xb1, 0x1b, 0xfc, 0x14, 0x58, 0x29, 0x37, 0xe7, 0x28, 0x13, 0x47, 0x61, 0xba, 0x9b, 0x83, 0xb2, 0x2c, 0xa4, 0xbf, 0x44, 0x8, 0x33, 0x4c, 0x6d, 0xa2, 0x7e, 0x70, 0xd9, 0x5a, 0x7d, 0x21, 0xe1, 0x9a, 0xf0, 0xcf, 0x86, 0xd2, 0xc0, 0xee, 0x83, 0x9d, 0xb2, 0x2a, 0x2e, 0xdf, 0xc7, 0xed, 0x8e, 0xe4, 0x75, 0x43, 0x35, 0x1b, 0x36, 0xaa, 0x55, 0xae, 0x27, 0x4b, 0x66, 0x7a, 0x0, 0xb0, 0x46, 0x0, 0xab, 0x7d, 0xa9, 0xa8, 0x85, 0xbf, 0xa5, 0x4b, 0x18, 0x55, 0x5b, 0xe6, 0xde, 0xf7, 0xbe, 0x59, 0x68, 0x5b, 0x5, 0xd1, 0x96, 0x94, 0x3b, 0x3f, 0x60, 0xda, 0x9a, 0x23, 0x79, 0xe9, 0x9a, 0xe6, 0xf, 0xd1, 0x3e, 0x91, 0x55, 0x24, 0xd3, 0x39, 0xaf, 0xa9, 0xf9, 0x69, 0xdc, 0x6d, 0xa8, 0xca, 0xf6, 0x6f, 0xe1, 0xaa, 0x3c, 0xab, 0xd8, 0xf6, 0x89, 0xaf, 0xe6, 0xc0, 0x6a, 0xaa, 0x4d, 0xb8, 0x6e, 0x7c, 0xc0, 0xa4, 0x11, 0x85, 0x3, 0xc1, 0xc1, 0x5a, 0xa0, 0xa8, 0x97, 0xb9, 0xe7, 0xeb, 0xf9, 0x10, 0xe, 0x9, 0x28, 0x45, 0x25, 0xcb, 0x66, 0xbe, 0x9b, 0xa0, 0xa9, 0xb9, 0x4c, 0x54, 0xee, 0xdf, 0x2d, 0xc6, 0x15, 0x4c, 0x6, 0x3e, 0x8f, 0xa4, 0x18, 0x46, 0x4b, 0x69, 0x3e, 0xbb, 0x43, 0xf9, 0xfb, 0xce, 0x13, 0xc5, 0x9d, 0x6b, 0x3d, 0x9b, 0x95, 0xd3, 0x50, 0x95, 0xaa, 0x24, 0xe6, 0x5f, 0xcd, 0x7c, 0x82, 0xd2, 0x14, 0x3, 0x48, 0x68, 0xae, 0xa2, 0x29, 0xe2, 0x53, 0xd4, 0x89, 0xe3, 0xe1, 0xd7, 0xa4, 0xd1, 0xda, 0xd0, 0x8e, 0x96, 0xbf, 0xac, 0x7b, 0xcd, 0xd4, 0xb, 0x67, 0xe, 0x35, 0x82, 0x5e, 0xb4, 0xa5, 0x4c, 0xd5, 0xed, 0xdb, 0xda, 0x13, 0x28, 0xf5, 0xb9, 0xc2, 0x60, 0xfd, 0x4c, 0x6b, 0x7f, 0xa1, 0x7b, 0x2a, 0x67, 0xed, 0x1c, 0xd3, 0x7, 0xb0, 0x46, 0x1d, 0xd4, 0x56, 0xd3, 0xc2, 0x33, 0x7b, 0x1e, 0xdc, 0xdb, 0xaa, 0x38, 0xb5, 0x5a, 0xa, 0xd9, 0x40, 0x3a, 0x89, 0x30, 0x2c, 0x40, 0x41, 0x8a, 0x84, 0x34, 0xa1, 0x3c, 0xa7, 0x99, 0x6d, 0xdb, 0xa1, 0xc8, 0x6f, 0x85, 0x55, 0xf2, 0xbb, 0xb2, 0xd9, 0x70, 0x5d, 0xd7, 0x84, 0x16, 0xe7, 0x2, 0x1d, 0xe, 0x31, 0xd9, 0x35, 0x6a, 0xf7, 0x61, 0x39, 0x9b, 0xd2, 0xa3, 0x23, 0x11, 0x3c, 0xc5, 0xfa, 0x13, 0x16, 0x1b, 0x26, 0x10, 0x2d, 0x58, 0x87, 0xf4, 0x7c, 0xed, 0x31, 0x3c, 0x89, 0xa7, 0xbe, 0xce, 0xa4, 0x24, 0xd7, 0x74, 0x32, 0x35, 0xd, 0x14, 0xbd, 0xd, 0x31, 0xab, 0x6e, 0xb9, 0xb3, 0xdd, 0x6a, 0x3b, 0x63, 0x6a, 0x1a, 0xf2, 0xe6, 0x52, 0x6f, 0xaf, 0x79, 0xcf, 0x5, 0x2f, 0xc2, 0x98, 0xc2, 0x23, 0xe3, 0x50, 0xcd, 0xb7, 0x8f, 0x67, 0xc7, 0x7d, 0xf4, 0xa1, 0x61, 0x88, 0xa9, 0xa4, 0xc, 0xaf, 0x82, 0xdf, 0x2b, 0xf0, 0xb0, 0x31, 0x47, 0x6a, 0x3d, 0x3e, 0x14, 0x5d, 0x7c, 0x93, 0x8e, 0xa0, 0xcf, 0xf8, 0x50, 0x7c, 0x70, 0xd2, 0x53, 0xb1, 0x16, 0xd1, 0xf6, 0x9b, 0xb5, 0x1d, 0x0, 0x51, 0xf7, 0x6c, 0x3a, 0xb5, 0x47, 0x76, 0x4a, 0x95, 0x32, 0xbd, 0xdc, 0x99, 0xdf, 0x3a, 0xbe, 0xa9, 0x7f, 0x18, 0x3e, 0x7d, 0xf7, 0x2a, 0xf2, 0x99, 0xd9, 0xf8, 0x83, 0x74, 0x76, 0x90, 0xce, 0xe, 0xd2, 0xd9, 0x41, 0x3a, 0x6b, 0xa9, 0x74, 0x66, 0xa0, 0xf6, 0xcc, 0x21, 0xed, 0x33, 0xa8, 0xf0, 0x8a, 0x2a, 0xbc, 0x4a, 0x1a, 0xa, 0x99, 0x40, 0xc9, 0x51, 0xe1, 0x1, 0xb8, 0x2f, 0xbf, 0x1a, 0xc, 0xdc, 0xf3, 0x93, 0x2e, 0xe9, 0x39, 0x1f, 0xa6, 0x84, 0x2a, 0xf0, 0x19, 0xe9, 0x39, 0x99, 0x32, 0xce, 0xab, 0xa6, 0xf0, 0x47, 0xc7, 0xe3, 0x4b, 0xef, 0x2, 0xa5, 0xf3, 0xe4, 0xde, 0x55, 0x35, 0xb5, 0xac, 0x3c, 0x9b, 0x11, 0xb, 0xf1, 0x5a, 0x10, 0xca, 0x85, 0x1e, 0x43, 0xe9, 0xeb, 0x3f, 0x98, 0xb9, 0x68, 0x36, 0x2f, 0x2c, 0x14, 0x79, 0xbc, 0x2f, 0x71, 0x4a, 0xcf, 0xbc, 0xb5, 0x78, 0x4a, 0x76, 0xa3, 0x4b, 0x57, 0xd7, 0xb9, 0x7b, 0xc8, 0x73, 0x54, 0x97, 0xe7, 0xa8, 0xd5, 0x22, 0xed, 0xff, 0x79, 0x1d, 0xd3, 0x5a, 0x19, 0x70, 0x3b, 0x99, 0xe6, 0x45, 0xe0, 0xed, 0x5f, 0x8, 0xf9, 0xb8, 0x8d, 0xb8, 0x5b, 0xcb, 0x7, 0x4c, 0x47, 0x2e, 0xf0, 0x96, 0x50, 0xad, 0x69, 0x32, 0x76, 0x27, 0x74, 0xd1, 0x4d, 0x43, 0xb1, 0x9c, 0x2f, 0x25, 0xed, 0x95, 0xe0, 0x50, 0x43, 0x73, 0xa7, 0x76, 0x16, 0xbb, 0x1b, 0xff, 0x7a, 0x10, 0xfd, 0x5e, 0x39, 0xc4, 0x76, 0x15, 0xc2, 0x69, 0xd5, 0xe5, 0xc7, 0x3a, 0xd3, 0x3e, 0x0, 0xf6, 0xb3, 0x1, 0x7b, 0x2, 0x9a, 0xa6, 0x54, 0xd3, 0x2d, 0x42, 0x75, 0xae, 0x40, 0x76, 0x6c, 0xb5, 0x39, 0xdf, 0xdb, 0x5b, 0xc5, 0xeb, 0x6f, 0xe5, 0x6a, 0x91, 0x3, 0x54, 0x1f, 0xa0, 0x7a, 0x15, 0xcc, 0xf2, 0x34, 0xb3, 0x3f, 0x28, 0x5d, 0xce, 0xf8, 0x0, 0xd0, 0x4f, 0x7, 0xe8, 0x7, 0x9a, 0xb1, 0xed, 0xcb, 0xd4, 0xbf, 0xb9, 0x5e, 0x6a, 0xa5, 0xea, 0x47, 0xa6, 0xc7, 0x22, 0xd7, 0xe, 0xad, 0x5d, 0x82, 0xe4, 0x9d, 0x43, 0x6c, 0x3f, 0x85, 0x83, 0x8c, 0x7d, 0x0, 0xee, 0x35, 0x81, 0x7b, 0x1d, 0xd2, 0x69, 0x15, 0x7e, 0xaf, 0x37, 0xf1, 0x36, 0xc0, 0xf8, 0xca, 0x20, 0xbe, 0xe9, 0x3c, 0xc, 0x36, 0xf, 0x34, 0xcd, 0xb2, 0x79, 0xd0, 0x54, 0x36, 0x4a, 0x92, 0x4a, 0x20, 0x5a, 0xd2, 0xe4, 0xbe, 0x8c, 0x68, 0xba, 0xa8, 0xb1, 0x22, 0xbf, 0x14, 0x9e, 0x9a, 0x1, 0x57, 0xe9, 0x62, 0x27, 0xb3, 0x2e, 0x4c, 0x57, 0x2b, 0xa7, 0xf5, 0xfc, 0x54, 0x2b, 0x4f, 0xab, 0x8d, 0xb5, 0xf2, 0x7c, 0x48, 0x43, 0x75, 0xab, 0x37, 0x82, 0x25, 0xb5, 0xf4, 0xb2, 0x6f, 0xa0, 0x11, 0xa, 0x73, 0x17, 0x5b, 0xcc, 0xf8, 0xa0, 0xea, 0x84, 0xaf, 0x1d, 0x72, 0x32, 0xdc, 0x45, 0x9c, 0x58, 0x78, 0x75, 0xb6, 0x9f, 0x29, 0x5a, 0x9a, 0xb6, 0xaf, 0x1d, 0xc7, 0xf6, 0x5, 0x63, 0x18, 0x76, 0x30, 0x76, 0xe1, 0xad, 0x1f, 0xc1, 0x45, 0xf7, 0xc1, 0xb7, 0x65, 0x12, 0x8a, 0xa6, 0xcb, 0x6c, 0xe1, 0xea, 0x68, 0x61, 0xb0, 0x61, 0x9d, 0xa6, 0x6a, 0xb4, 0xda, 0x98, 0xb0, 0xf0, 0xf6, 0x13, 0x9b, 0xa5, 0x99, 0x4, 0x9a, 0xce, 0x6c, 0xfe, 0x68, 0x75, 0x84, 0xa9, 0xa4, 0x91, 0xb0, 0xe7, 0x92, 0xc5, 0xb5, 0x40, 0xfb, 0xa9, 0x27, 0x9f, 0x56, 0xe9, 0x39, 0x4d, 0x53, 0x6c, 0x7, 0xca, 0x6d, 0xd2, 0x7b, 0xd1, 0xd7, 0xc5, 0x92, 0x90, 0x8, 0x99, 0x2a, 0x73, 0xc0, 0xde, 0x53, 0x4e, 0x44, 0x96, 0x7e, 0x8, 0xe1, 0x8e, 0x9c, 0x84, 0x41, 0xe, 0x9, 0x75, 0x6e, 0x8b, 0x3, 0xe7, 0x9c, 0x61, 0x50, 0x2c, 0x48, 0xf, 0xc3, 0xa, 0x2f, 0xc2, 0xc2, 0x4b, 0x83, 0x13, 0xf6, 0x3a, 0xf2, 0x4a, 0xdd, 0xd5, 0xff, 0x5b, 0x87, 0xca, 0xd7, 0xad, 0xa2, 0x75, 0xf0, 0x33, 0x59, 0xcb, 0xcf, 0xa4, 0x1d, 0xa8, 0xf3, 0xc, 0x95, 0xe8, 0x58, 0x81, 0xee, 0xb8, 0x34, 0xaa, 0xde, 0x54, 0xfe, 0x71, 0xc3, 0xe2, 0xda, 0xd, 0xe8, 0x63, 0xcc, 0x83, 0x12, 0xf9, 0x3f, 0x7, 0x4e, 0xcf, 0x75, 0xea, 0x13, 0x39, 0xc9, 0xb5, 0x98, 0x50, 0xcd, 0x12, 0xf4, 0xf5, 0xc2, 0xef, 0xad, 0x41, 0xdc, 0x79, 0x4d, 0x97, 0x6b, 0x55, 0xe0, 0xd8, 0xd0, 0xb9, 0x39, 0x86, 0x2e, 0x68, 0x36, 0xbb, 0x8b, 0xe9, 0x9c, 0x2a, 0xdf, 0xf7, 0x2b, 0x60, 0xdd, 0xd, 0xcc, 0xe9, 0xe3, 0x6e, 0x30, 0x6f, 0xc2, 0xc9, 0xf8, 0x25, 0x94, 0xb4, 0xd7, 0x11, 0xb8, 0x96, 0x6e, 0x4c, 0xab, 0x64, 0xaf, 0x15, 0x66, 0x7b, 0x0, 0x44, 0xdd, 0x99, 0x50, 0x4e, 0x47, 0x20, 0xb7, 0xb, 0x84, 0xdf, 0x6c, 0x27, 0xbd, 0x80, 0x47, 0xef, 0x86, 0x1d, 0xa9, 0x86, 0x48, 0xdc, 0x58, 0xf, 0x20, 0xb5, 0x33, 0x20, 0xe5, 0x76, 0xa4, 0xed, 0xe8, 0x54, 0x4c, 0xf3, 0x0, 0x4b, 0xba, 0x23, 0xad, 0xe4, 0xf3, 0x32, 0x72, 0x5a, 0x4d, 0x70, 0x5a, 0x9d, 0xe5, 0x86, 0xf2, 0x14, 0x83, 0xd6, 0xcc, 0xd8, 0xc8, 0x14, 0x64, 0x62, 0xe0, 0x69, 0x4, 0x5d, 0x72, 0x6a, 0x63, 0xbe, 0x72, 0x17, 0x81, 0x57, 0x2e, 0xd9, 0x48, 0xd2, 0x34, 0xa7, 0x99, 0xfd, 0x2, 0x13, 0xda, 0x95, 0xc9, 0xcc, 0xec, 0x4a, 0x28, 0xa2, 0x85, 0xd8, 0xd, 0xe0, 0x73, 0xab, 0x70, 0x10, 0xd2, 0x8a, 0xef, 0x77, 0x4, 0xff, 0xe2, 0x8d, 0x69, 0x3b, 0xc, 0x56, 0x67, 0xbb, 0x7, 0x68, 0x88, 0xb9, 0xdb, 0xc3, 0xf4, 0x59, 0x1b, 0xbf, 0xbd, 0xab, 0x44, 0x0, 0xce, 0xe5, 0xa5, 0xba, 0xb, 0x2f, 0x12, 0x8a, 0xd2, 0xd, 0x73, 0x59, 0xbd, 0xb0, 0x96, 0xba, 0xfe, 0xff, 0xd9, 0xfb, 0xf7, 0xef, 0x36, 0x92, 0x23, 0x4f, 0x1c, 0xfd, 0xfd, 0xfb, 0x57, 0xe4, 0xd1, 0xdd, 0x73, 0x25, 0xf5, 0x80, 0x90, 0xd4, 0xb6, 0x77, 0xd6, 0x9a, 0xdd, 0xeb, 0xb, 0x91, 0x90, 0x84, 0x69, 0x8a, 0xa4, 0x1, 0xb0, 0x35, 0x5e, 0xaf, 0x17, 0x4c, 0x54, 0x25, 0x88, 0x6c, 0x16, 0x2a, 0xe1, 0xca, 0x2c, 0x52, 0xb0, 0x67, 0xfe, 0xf7, 0xef, 0xc9, 0x88, 0x7c, 0xd5, 0xb, 0x28, 0x3c, 0x28, 0x51, 0x14, 0xfb, 0xcc, 0x19, 0x77, 0x13, 0x95, 0xef, 0xc8, 0x78, 0x65, 0xc4, 0x27, 0x58, 0xb6, 0xe0, 0x29, 0x23, 0x77, 0x73, 0x6, 0xa9, 0x48, 0xe, 0x7e, 0x64, 0x41, 0x57, 0xc6, 0x47, 0xcd, 0x8b, 0x8, 0x7a, 0x63, 0x8f, 0x24, 0x6, 0x1f, 0x49, 0x53, 0xe8, 0x24, 0xcc, 0xdf, 0xb5, 0x15, 0x8a, 0x21, 0xcb, 0x4f, 0x64, 0x24, 0x31, 0xbc, 0x59, 0xb2, 0xec, 0x96, 0x65, 0x64, 0xa6, 0xe7, 0xe4, 0x71, 0xc7, 0x4c, 0xa3, 0x5, 0x85, 0x24, 0x5b, 0x25, 0xe0, 0x53, 0x8, 0xf2, 0xf5, 0xa3, 0x4e, 0x3d, 0xf0, 0xa5, 0xff, 0xe3, 0xe7, 0x39, 0x4b, 0xed, 0x5c, 0x34, 0xcb, 0xa7, 0x24, 0xa1, 0xd9, 0x35, 0x23, 0x69, 0xbe, 0x98, 0xb2, 0xc, 0x9c, 0x47, 0x41, 0xff, 0x22, 0xab, 0xc, 0x49, 0xa5, 0x14, 0x11, 0x7a, 0x93, 0xee, 0xb8, 0x9a, 0xfb, 0x81, 0x5d, 0xcd, 0x1f, 0x59, 0x7a, 0x49, 0x9, 0x52, 0xf9, 0xca, 0x9d, 0x59, 0xb7, 0x7e, 0xc2, 0xa5, 0xaa, 0xe2, 0xc9, 0x92, 0x69, 0xae, 0x88, 0x14, 0xee, 0xb9, 0x61, 0x1, 0x9b, 0x97, 0xa, 0x65, 0x51, 0xb1, 0xb, 0x87, 0xe3, 0x7, 0xc, 0x61, 0xf7, 0xe3, 0xdc, 0xd6, 0xc5, 0xc5, 0x7d, 0x64, 0x29, 0xe4, 0xb2, 0xc5, 0x58, 0x2a, 0xad, 0x6b, 0xf7, 0xc3, 0xc4, 0xd7, 0x1, 0x1a, 0x25, 0x14, 0x75, 0x2b, 0x9e, 0xcd, 0x9c, 0xaa, 0x12, 0xbc, 0x9b, 0x1f, 0xe2, 0xff, 0x9, 0x2e, 0x56, 0x9e, 0xc4, 0x30, 0x3f, 0xa4, 0x82, 0x8c, 0xb3, 0x5b, 0x93, 0x93, 0x6e, 0x17, 0xba, 0xa0, 0xd9, 0x8d, 0xdd, 0x39, 0x4a, 0x24, 0x4f, 0xaf, 0x13, 0x86, 0x10, 0x84, 0xc3, 0x7e, 0xef, 0xf8, 0x63, 0xef, 0xdd, 0xe0, 0x74, 0x30, 0xfe, 0x4b, 0x8, 0x84, 0x48, 0x58, 0xaa, 0xb2, 0x15, 0xfa, 0xf8, 0x22, 0x9a, 0x24, 0x86, 0xce, 0xb8, 0x94, 0x21, 0x57, 0xb7, 0x69, 0x71, 0x11, 0xec, 0xb0, 0x20, 0xd7, 0x86, 0x7a, 0x6a, 0x40, 0xed, 0x84, 0x2c, 0x24, 0x8e, 0x87, 0xc4, 0x71, 0xbe, 0x64, 0x29, 0x91, 0x22, 0xcf, 0x22, 0xc, 0x1b, 0x97, 0xe0, 0x61, 0xa6, 0xf1, 0x6f, 0xb9, 0x34, 0x69, 0x8a, 0x58, 0x60, 0x6e, 0xba, 0x22, 0x92, 0x29, 0x65, 0x77, 0xc, 0xb7, 0xf6, 0xb9, 0x24, 0xf1, 0x2a, 0xa5, 0xb, 0x1e, 0xd9, 0xf8, 0x45, 0xc4, 0xe7, 0x2e, 0x28, 0x4, 0x57, 0xb8, 0xed, 0xe1, 0xb4, 0x3c, 0x84, 0x44, 0x44, 0xd3, 0x2b, 0x4f, 0x54, 0x11, 0xbd, 0x65, 0x80, 0x61, 0x4e, 0x95, 0x4d, 0x26, 0x4c, 0x12, 0x98, 0x90, 0x54, 0x19, 0x35, 0xa4, 0x72, 0xcb, 0x25, 0x77, 0xa5, 0xe, 0x44, 0xb6, 0xa1, 0x9c, 0x54, 0x3, 0xfa, 0xe0, 0x83, 0x92, 0xf1, 0xbb, 0x60, 0xde, 0x96, 0x5e, 0xe9, 0xde, 0xb9, 0x8b, 0x8, 0x28, 0xa0, 0x48, 0x87, 0x15, 0x52, 0xe8, 0x92, 0x5e, 0x4a, 0xd8, 0x62, 0x9, 0x5b, 0xa7, 0xa7, 0x12, 0xe0, 0x3b, 0x2b, 0x96, 0x2d, 0x33, 0x78, 0x4e, 0xa0, 0x50, 0x3c, 0xba, 0xaa, 0xb7, 0xd5, 0xe4, 0x6, 0x7b, 0x16, 0xe2, 0x39, 0x1, 0x9c, 0x9e, 0x81, 0x4, 0xd0, 0x4b, 0xe0, 0x56, 0x45, 0x33, 0xa4, 0x6f, 0xb1, 0x58, 0x89, 0xa5, 0xad, 0x2a, 0x50, 0xfb, 0xbd, 0xd3, 0x64, 0x3, 0x5d, 0xfe, 0x59, 0xef, 0xb8, 0xa9, 0x9a, 0x24, 0xf, 0x45, 0x97, 0xeb, 0x49, 0xe2, 0x10, 0xd8, 0xc3, 0xe, 0x96, 0x76, 0x1f, 0xa, 0x1a, 0x17, 0x5, 0xd3, 0x1a, 0x1a, 0x3a, 0x65, 0xf4, 0x96, 0xe1, 0x3e, 0x20, 0x2d, 0x15, 0xe4, 0xd8, 0x26, 0xe1, 0x51, 0x92, 0x58, 0xc4, 0x49, 0x2d, 0x23, 0x45, 0xd6, 0xa5, 0xa3, 0x43, 0xfd, 0x34, 0x2b, 0x49, 0xa9, 0x22, 0x5a, 0xd7, 0x57, 0x44, 0xa4, 0x5, 0xe4, 0x72, 0x3e, 0xc3, 0xd9, 0x68, 0xb2, 0x80, 0x9, 0x6d, 0x4d, 0xcb, 0x15, 0x39, 0x10, 0x8, 0x65, 0xb8, 0x30, 0x28, 0x99, 0x9b, 0xa4, 0x3, 0x8c, 0xda, 0x48, 0xdc, 0x23, 0x86, 0xe9, 0xd1, 0x57, 0x8d, 0x2c, 0xca, 0xea, 0x7f, 0x57, 0x35, 0x60, 0xe1, 0xb, 0x91, 0xb1, 0x70, 0xac, 0xaf, 0x47, 0x64, 0xf5, 0x72, 0x77, 0x7b, 0x32, 0x5b, 0x2d, 0x41, 0xb6, 0x97, 0x75, 0x2c, 0x47, 0x40, 0xa5, 0xed, 0xba, 0xaa, 0x4a, 0xca, 0xb3, 0xfe, 0x67, 0x7, 0x4, 0x3c, 0xba, 0x42, 0xa0, 0xf7, 0x3b, 0xba, 0x92, 0x2e, 0x52, 0x60, 0x1d, 0x48, 0x3d, 0xa2, 0xc6, 0xd4, 0x75, 0xdb, 0xff, 0x8f, 0xc1, 0x68, 0x3c, 0x38, 0xfb, 0x50, 0xe8, 0x7b, 0x46, 0x56, 0x22, 0xcf, 0x42, 0x55, 0x99, 0xa4, 0x8c, 0x59, 0x36, 0xab, 0xbb, 0x8f, 0xed, 0xec, 0xb9, 0x56, 0x9e, 0x52, 0x12, 0x25, 0x42, 0x1a, 0x32, 0x83, 0x24, 0xf7, 0x32, 0x6f, 0xd3, 0x32, 0xfb, 0x8e, 0x4b, 0x66, 0x30, 0xfa, 0xab, 0xf3, 0x38, 0xbf, 0xe8, 0x9f, 0x5, 0x73, 0xe8, 0x3a, 0xed, 0x9e, 0xcb, 0x2d, 0xa6, 0x9d, 0xb0, 0x59, 0xa9, 0x70, 0x5e, 0x50, 0x72, 0xa3, 0x81, 0x24, 0xcb, 0x84, 0xa8, 0xe9, 0xcf, 0xc8, 0x9, 0x20, 0xe9, 0x4a, 0x69, 0x23, 0x80, 0xae, 0x67, 0x69, 0xbe, 0x20, 0xb7, 0x34, 0xe3, 0x34, 0xdd, 0xf8, 0xc0, 0xb8, 0xa6, 0x24, 0x46, 0x93, 0x32, 0xd4, 0xe2, 0xeb, 0x2, 0x41, 0xb4, 0xf8, 0xbe, 0xba, 0x65, 0x2d, 0x1a, 0x15, 0x8f, 0xa5, 0x45, 0x83, 0xe3, 0xd3, 0xf3, 0x51, 0xff, 0xa4, 0xa1, 0xc9, 0x36, 0x28, 0xf9, 0xdf, 0x89, 0x5d, 0xbb, 0x91, 0x9f, 0x3d, 0x66, 0x7b, 0xf6, 0x20, 0x21, 0xec, 0x3e, 0xac, 0x57, 0x22, 0x9c, 0x4b, 0xa0, 0x52, 0x68, 0xad, 0x49, 0x9, 0xc4, 0xf2, 0x36, 0xb6, 0xa7, 0x29, 0xd1, 0x11, 0x5e, 0x4b, 0xd4, 0xb3, 0x6c, 0x19, 0x84, 0x8a, 0x18, 0x6d, 0x8, 0x3a, 0x7f, 0xa, 0x35, 0xff, 0x6, 0xa1, 0xe6, 0x7e, 0xd8, 0x72, 0xd7, 0xdb, 0x8a, 0xd4, 0x2b, 0xf8, 0x18, 0xa, 0x15, 0x95, 0x28, 0x8, 0xbc, 0xb3, 0x4a, 0x90, 0x19, 0x4f, 0x94, 0xd6, 0x5d, 0xcc, 0x2f, 0x53, 0xaa, 0xff, 0x2e, 0x52, 0x4b, 0x48, 0x54, 0xa9, 0x8c, 0x4f, 0x73, 0xc5, 0xca, 0xc2, 0x6a, 0xe4, 0xa, 0x8e, 0xf8, 0x4f, 0x8a, 0x4b, 0xfe, 0xc9, 0xf8, 0x8c, 0x7, 0xa9, 0x54, 0x34, 0x8d, 0xd8, 0x2f, 0x6c, 0x55, 0xff, 0x7b, 0x35, 0xd8, 0x45, 0xff, 0xf8, 0x51, 0xc8, 0xb2, 0x5f, 0x53, 0xff, 0xb9, 0x5c, 0x63, 0xce, 0xfe, 0xfd, 0xa4, 0xc9, 0x19, 0xaa, 0x7f, 0x7c, 0x57, 0x1, 0x60, 0xd2, 0x7f, 0x1d, 0xc5, 0x37, 0x35, 0xdf, 0x8e, 0xe2, 0x9b, 0x5f, 0x2b, 0xa8, 0x52, 0xf0, 0x83, 0xa2, 0x99, 0x1a, 0xf3, 0x6a, 0x83, 0x72, 0x71, 0x9e, 0xed, 0xc3, 0x7d, 0xb0, 0x70, 0xc6, 0x68, 0x25, 0x15, 0x5b, 0x14, 0xef, 0x1d, 0xd9, 0xe1, 0xd0, 0xc1, 0x89, 0xe1, 0x2b, 0xf7, 0x38, 0xff, 0x9, 0xe8, 0xa7, 0xdc, 0x16, 0x44, 0x81, 0xc1, 0xbc, 0xdb, 0xdd, 0xa6, 0xbe, 0x60, 0xb8, 0x66, 0x4c, 0xf8, 0x42, 0x73, 0x4c, 0xae, 0x92, 0x55, 0x49, 0x21, 0x5f, 0x85, 0x2a, 0x2f, 0x4d, 0x8d, 0x87, 0x63, 0xe5, 0x92, 0xcb, 0xbb, 0xe4, 0xdd, 0xca, 0x72, 0xf1, 0x4e, 0x79, 0x18, 0x3d, 0x2, 0xfb, 0x82, 0xf5, 0x82, 0x1e, 0x31, 0x5e, 0x63, 0x70, 0xd7, 0x7e, 0x8, 0x9, 0xf7, 0x2a, 0x36, 0x1e, 0xd4, 0x57, 0xff, 0xbc, 0x2b, 0xdf, 0xf9, 0x83, 0xe4, 0x5e, 0x14, 0x23, 0xe4, 0x5d, 0x7d, 0xcd, 0xfa, 0x8a, 0x9a, 0xbe, 0x7c, 0x5c, 0xd1, 0xa0, 0x5b, 0x93, 0x32, 0x71, 0x38, 0x29, 0x57, 0x98, 0xb6, 0x4b, 0x1c, 0x43, 0x93, 0xd8, 0x56, 0x43, 0x67, 0x89, 0x48, 0xaf, 0xb5, 0x9d, 0x70, 0x3f, 0xc5, 0xba, 0x2b, 0x47, 0xb0, 0xc5, 0x8c, 0xcd, 0x6, 0x73, 0xd3, 0x98, 0xdc, 0x30, 0xe3, 0xe6, 0xc6, 0xdd, 0x3a, 0x6c, 0xa0, 0xf5, 0x77, 0x71, 0x97, 0x8b, 0x84, 0xf2, 0x63, 0x5c, 0x67, 0x70, 0x62, 0x98, 0x14, 0xf7, 0x83, 0xbc, 0x35, 0xc3, 0x1b, 0xa, 0xee, 0x20, 0xa6, 0xb1, 0x16, 0x4a, 0xe4, 0x9a, 0x7b, 0x81, 0xe3, 0xe5, 0x99, 0x77, 0x69, 0x4, 0xa, 0xeb, 0x9a, 0xab, 0x5c, 0xe9, 0xfc, 0x11, 0xdc, 0xe6, 0x6f, 0xf5, 0xde, 0x5a, 0xd9, 0xcb, 0x47, 0xf5, 0xbe, 0x5a, 0xb3, 0xba, 0x1f, 0xe1, 0x3a, 0xcf, 0x19, 0xcd, 0xd4, 0x94, 0x51, 0x75, 0x90, 0xbb, 0x8c, 0xfb, 0xf7, 0xd1, 0xf6, 0x49, 0x32, 0x16, 0x31, 0x7e, 0xcb, 0xc8, 0x3c, 0xf8, 0xb, 0x3e, 0x6e, 0xce, 0x32, 0xb1, 0x8, 0x2e, 0x78, 0xed, 0xe5, 0x1d, 0x42, 0x86, 0x43, 0xa9, 0xcf, 0xa7, 0xb, 0xbc, 0x96, 0x2e, 0xd6, 0x51, 0x45, 0xed, 0x7e, 0x3e, 0xaa, 0x4b, 0xdc, 0xb0, 0xc2, 0x1f, 0xe1, 0x22, 0x3b, 0x5c, 0xc7, 0x83, 0x9, 0xe6, 0xa, 0x4a, 0x58, 0x41, 0x48, 0xe7, 0x1, 0x70, 0x58, 0xad, 0x90, 0x16, 0x33, 0x78, 0x62, 0xb1, 0xaf, 0xf, 0x66, 0x9e, 0xc1, 0x3d, 0xa, 0x63, 0xc1, 0x94, 0x0, 0x30, 0x5b, 0x8e, 0x61, 0xfd, 0xd0, 0x75, 0x63, 0xcf, 0xcd, 0x5d, 0x4, 0xd, 0x2b, 0x73, 0x59, 0xe4, 0x89, 0xe2, 0xcb, 0xa4, 0x32, 0x91, 0x46, 0x4c, 0xb1, 0x27, 0x7d, 0x61, 0x4f, 0x76, 0x53, 0xdd, 0xcc, 0x47, 0xc5, 0x6b, 0xea, 0x96, 0xf7, 0xd8, 0x19, 0x8d, 0xe6, 0x18, 0x47, 0x91, 0xc8, 0xed, 0x8c, 0xf6, 0xb3, 0xdc, 0x8f, 0x75, 0x47, 0x15, 0x34, 0xe6, 0x46, 0x27, 0x36, 0x8c, 0xab, 0xaf, 0xb2, 0x9d, 0x9, 0x61, 0x41, 0x9b, 0x2d, 0x5c, 0xd8, 0xd, 0xe3, 0x1e, 0xee, 0xaa, 0x1f, 0xce, 0x5e, 0x6f, 0xe3, 0xe4, 0x7d, 0x5c, 0x36, 0x75, 0xc3, 0xe1, 0xfc, 0x20, 0x77, 0x2b, 0xcb, 0x13, 0x76, 0x90, 0x47, 0xa1, 0x21, 0xd8, 0xd0, 0x10, 0x56, 0xe1, 0xc6, 0xf1, 0x17, 0x7, 0x86, 0xa9, 0xbb, 0x1a, 0xd6, 0x3b, 0xa9, 0xbf, 0x1a, 0x6, 0x1f, 0x3d, 0xa8, 0x4b, 0xf1, 0x84, 0xed, 0xd3, 0xec, 0x56, 0x76, 0x7, 0xf7, 0x38, 0x2e, 0xcc, 0xe1, 0x1, 0x42, 0xc, 0x3e, 0x48, 0xe1, 0x2a, 0x60, 0xcc, 0x24, 0x5c, 0xa, 0x2c, 0x15, 0x61, 0xf4, 0x49, 0xbd, 0xe0, 0x4c, 0x24, 0x4e, 0x13, 0x2d, 0xa, 0x9d, 0x72, 0xd8, 0x6e, 0x9e, 0x30, 0x17, 0x18, 0x7, 0xbb, 0x62, 0x50, 0x73, 0x93, 0x84, 0x64, 0x79, 0xa, 0xe5, 0x73, 0xe0, 0x4d, 0x24, 0x18, 0x7d, 0x6d, 0xe8, 0xd2, 0x0, 0xd3, 0xb3, 0x4d, 0xbf, 0x6a, 0x4e, 0x64, 0x1e, 0xcd, 0xc9, 0xe0, 0xa4, 0x88, 0x7d, 0x11, 0x44, 0x96, 0x61, 0x90, 0x11, 0xe5, 0x89, 0xef, 0xe3, 0x4c, 0x28, 0xf6, 0xd6, 0x75, 0x83, 0xab, 0xb3, 0xf5, 0x8f, 0x3d, 0x5f, 0x28, 0x2a, 0xcb, 0x7a, 0x92, 0xbe, 0xc4, 0x82, 0xc8, 0x7c, 0x64, 0x4c, 0xb9, 0x45, 0x30, 0xd9, 0xb3, 0xd2, 0x4f, 0x5a, 0x88, 0xb3, 0x5b, 0x96, 0x2a, 0xac, 0xca, 0x0, 0xe5, 0xc2, 0xa5, 0xa, 0x52, 0xd7, 0x1a, 0xf0, 0x51, 0x2c, 0xfd, 0x3e, 0x1c, 0xbe, 0xf3, 0xed, 0x41, 0x3f, 0xec, 0x9e, 0x3c, 0x2a, 0xf5, 0xb9, 0x6e, 0x79, 0x8f, 0x81, 0x63, 0xb5, 0x13, 0xf1, 0xaf, 0xfe, 0xa9, 0xff, 0x67, 0x70, 0x6f, 0xa5, 0x4e, 0xc3, 0x7d, 0x35, 0xfe, 0x74, 0xcf, 0x4c, 0xac, 0x9a, 0xec, 0x9d, 0xe9, 0xc0, 0x49, 0x34, 0x83, 0x82, 0xdf, 0x79, 0x5c, 0xe1, 0x42, 0x19, 0xc3, 0x52, 0x60, 0x65, 0x6e, 0xc4, 0x63, 0x72, 0x44, 0xce, 0xce, 0xc7, 0xe4, 0xfd, 0xf9, 0xe5, 0xd9, 0xc9, 0x6, 0x8, 0x9e, 0xc6, 0x47, 0xb6, 0x87, 0x77, 0xe9, 0x83, 0x0, 0x46, 0x38, 0xa7, 0xf5, 0xa3, 0x15, 0x4e, 0xe3, 0x52, 0xb2, 0xec, 0xc8, 0xbf, 0x33, 0xe, 0x4e, 0x2c, 0xce, 0x6, 0x6c, 0x1d, 0x4, 0x0, 0xd2, 0xb8, 0x4b, 0x2e, 0xdb, 0x55, 0x53, 0xfa, 0x1, 0x5f, 0xd2, 0x1e, 0x17, 0x3f, 0x38, 0x0, 0xf8, 0xf, 0xa2, 0x94, 0x20, 0xfd, 0x4c, 0x57, 0xf6, 0x8e, 0xd6, 0x5f, 0x2a, 0x8b, 0x67, 0xf2, 0xa8, 0xae, 0x54, 0xf5, 0xe, 0xe1, 0x9e, 0x3e, 0xdd, 0xa2, 0x26, 0x38, 0x9b, 0xc7, 0x75, 0x87, 0x36, 0xc9, 0xd4, 0x83, 0x86, 0x51, 0xb6, 0x73, 0x46, 0xb9, 0x88, 0xca, 0x7d, 0x1c, 0x51, 0xf5, 0x43, 0x3e, 0xc4, 0x2b, 0xfb, 0x14, 0x56, 0xf9, 0x78, 0x3d, 0x6e, 0xf5, 0x54, 0xf8, 0x83, 0x70, 0x8e, 0x57, 0xff, 0xf4, 0xf6, 0xbc, 0xfd, 0xe3, 0x84, 0x1f, 0x46, 0x2f, 0x2f, 0x2b, 0x35, 0x6e, 0x73, 0xb7, 0xa, 0x52, 0xab, 0x77, 0x3a, 0xac, 0xd5, 0xa5, 0xdd, 0x40, 0xf, 0x91, 0x95, 0xd4, 0xee, 0xf7, 0xb7, 0x1b, 0x7c, 0x63, 0xed, 0xd5, 0x3d, 0xc6, 0xc8, 0xf2, 0xf4, 0x50, 0xdd, 0x7f, 0x27, 0xbc, 0xa4, 0x91, 0x12, 0x7f, 0x70, 0x76, 0xf2, 0x6a, 0xce, 0xa5, 0x12, 0xd9, 0xa1, 0xe1, 0xa, 0x4c, 0xf2, 0x4c, 0x61, 0xa7, 0x3f, 0xe2, 0x48, 0x85, 0x28, 0x3a, 0x33, 0xba, 0xd6, 0xa2, 0xd7, 0x32, 0x17, 0xf2, 0x9e, 0xf2, 0x44, 0x96, 0x80, 0x77, 0xaf, 0xce, 0x84, 0x7a, 0x2f, 0xf2, 0x34, 0xbe, 0xb2, 0x95, 0x5c, 0xd7, 0xf5, 0x1, 0x9, 0x4, 0xe9, 0x4d, 0x2a, 0xee, 0x52, 0x8b, 0x36, 0x20, 0x71, 0x2d, 0xeb, 0x32, 0xae, 0xeb, 0x56, 0xf0, 0xc4, 0xbc, 0x36, 0xe, 0xfe, 0x9d, 0x30, 0x2f, 0xdf, 0xfd, 0x82, 0x7e, 0xe1, 0x8b, 0x7c, 0x71, 0xf1, 0xb0, 0xd5, 0xc9, 0x75, 0x19, 0x14, 0x80, 0x55, 0x7d, 0xb5, 0x86, 0x6c, 0x7d, 0x1e, 0x2e, 0x44, 0xa9, 0x5e, 0x5d, 0x88, 0x24, 0xb1, 0xdf, 0xba, 0xc, 0x15, 0xff, 0xd1, 0x9c, 0xc6, 0x18, 0x27, 0x33, 0x2b, 0xf2, 0x24, 0x35, 0x67, 0x92, 0x75, 0x8, 0x57, 0x44, 0xce, 0x1, 0x2d, 0x62, 0xca, 0xa0, 0x3e, 0x3e, 0x8b, 0x9, 0xb8, 0xe3, 0x94, 0x30, 0xf9, 0xc4, 0x60, 0xf4, 0xb2, 0x2f, 0xa, 0x74, 0xf4, 0x9d, 0x4a, 0x41, 0x93, 0x8d, 0x4a, 0xf1, 0x1d, 0xe5, 0xea, 0x8c, 0xdd, 0xf5, 0x6f, 0x3d, 0x14, 0xef, 0x8e, 0x7b, 0x7, 0x40, 0x52, 0x22, 0x48, 0x41, 0x19, 0x5e, 0x1c, 0x7, 0xaf, 0x17, 0xa9, 0x50, 0x9a, 0xd5, 0x8b, 0xe4, 0x96, 0x99, 0xc2, 0xce, 0xce, 0xf9, 0x88, 0xef, 0x36, 0xf0, 0xa6, 0x40, 0xee, 0xe6, 0x3c, 0x9a, 0x93, 0x5, 0x5, 0xf4, 0x95, 0xca, 0xbe, 0x91, 0x2b, 0xc3, 0xef, 0x26, 0xf0, 0xf5, 0x4, 0xf3, 0x98, 0x26, 0x7a, 0xed, 0x57, 0x1d, 0x3c, 0x15, 0xc5, 0x17, 0x4c, 0xab, 0x5b, 0x5c, 0x92, 0x39, 0x6f, 0x9, 0x70, 0xdb, 0x54, 0xf9, 0xd9, 0xc, 0x6, 0x9b, 0xf3, 0x1e, 0x86, 0x1a, 0xaf, 0x96, 0x9b, 0x48, 0x7b, 0xdd, 0x36, 0x61, 0x27, 0x3e, 0x2f, 0x19, 0x56, 0x21, 0xd1, 0xe1, 0x6a, 0x13, 0xcb, 0x57, 0xb8, 0xfa, 0x12, 0x3b, 0x36, 0x19, 0x5b, 0x7a, 0xbe, 0xa5, 0x9c, 0x2c, 0x23, 0x4d, 0xdf, 0x92, 0x8f, 0x83, 0xd1, 0xf8, 0x7c, 0xf8, 0x97, 0x49, 0xff, 0xd7, 0xfe, 0xd9, 0x78, 0xf2, 0x7e, 0x70, 0x3a, 0xee, 0xf, 0x27, 0xe3, 0xbf, 0x5c, 0xf4, 0x27, 0xbd, 0xd3, 0x53, 0xfc, 0xeb, 0x6e, 0xe9, 0xb8, 0xcd, 0x1d, 0xaf, 0x4b, 0xcb, 0x6d, 0x31, 0x9d, 0x2d, 0xda, 0x40, 0xf2, 0x6c, 0x4d, 0xab, 0x6d, 0xf2, 0x66, 0x8b, 0xa5, 0xd1, 0x7b, 0x59, 0x34, 0xe7, 0xb7, 0x34, 0xd9, 0x99, 0x53, 0x7d, 0x97, 0x49, 0x4a, 0x2d, 0xd8, 0xdb, 0xf, 0xae, 0xc8, 0x1d, 0x65, 0xec, 0x96, 0x65, 0x92, 0x7d, 0x3d, 0x85, 0x6e, 0x88, 0x3, 0xee, 0xa2, 0xd7, 0x11, 0x0, 0x40, 0x82, 0xe6, 0x7e, 0xbf, 0x44, 0x16, 0xb3, 0x8c, 0xbc, 0x90, 0x8a, 0x66, 0xf0, 0xf4, 0x3, 0x11, 0xd9, 0x9, 0x95, 0xa, 0xf9, 0xcd, 0xcb, 0x50, 0x19, 0xdc, 0x5a, 0x5, 0xf4, 0xc3, 0x1c, 0x46, 0x17, 0x1c, 0x16, 0x66, 0xff, 0xa4, 0x12, 0x3e, 0xa9, 0x84, 0x95, 0xee, 0x1f, 0xb8, 0x87, 0xf1, 0x31, 0x70, 0x7e, 0xb8, 0x83, 0x3f, 0xba, 0x0, 0x0, 0xca, 0x78, 0xf5, 0x4f, 0xf8, 0x9f, 0x2e, 0xfc, 0x7f, 0xd0, 0x2c, 0x8d, 0xc7, 0x70, 0xcf, 0x70, 0x25, 0x80, 0x92, 0xfa, 0xec, 0x62, 0x93, 0x30, 0xe0, 0x43, 0xeb, 0xbe, 0x8, 0x74, 0x33, 0x65, 0xe6, 0x36, 0x1a, 0xb0, 0x38, 0xba, 0xbd, 0xaf, 0xb0, 0x30, 0xc2, 0x13, 0x3f, 0x2d, 0xd, 0x5e, 0x3e, 0xd5, 0xfb, 0x1d, 0xf7, 0x5b, 0x85, 0x16, 0x15, 0x68, 0xe0, 0x51, 0x45, 0x15, 0x95, 0x56, 0xf6, 0x63, 0x73, 0x2a, 0x95, 0xf1, 0xeb, 0x6b, 0x96, 0x41, 0xc4, 0xd1, 0x41, 0xb8, 0x53, 0xa0, 0xa8, 0x8e, 0xb1, 0xef, 0x42, 0x9c, 0x11, 0x4d, 0x20, 0xa4, 0x51, 0x89, 0x70, 0xa9, 0x3f, 0x11, 0x33, 0x8d, 0x52, 0x90, 0x51, 0x4d, 0xe, 0x6f, 0x91, 0x7b, 0xfd, 0x5b, 0x6d, 0x27, 0xed, 0xda, 0xba, 0x82, 0xd8, 0x0, 0x59, 0x81, 0xe8, 0xa5, 0xba, 0x65, 0xd0, 0x27, 0x0, 0x46, 0x23, 0xd8, 0xc9, 0x2c, 0x4f, 0x10, 0x4b, 0x35, 0x65, 0x47, 0x62, 0x36, 0xf3, 0xfc, 0xb2, 0x3e, 0x49, 0xa8, 0x66, 0xe9, 0x4f, 0x7c, 0xd4, 0xb5, 0xff, 0x16, 0xfc, 0xac, 0xe6, 0x44, 0x1e, 0x15, 0x57, 0xab, 0x5d, 0xdf, 0xf, 0xc2, 0xdb, 0xbc, 0x5d, 0x73, 0x18, 0xd, 0x2b, 0x84, 0xb6, 0xd7, 0xa6, 0x6f, 0xf5, 0x71, 0x16, 0x2c, 0x62, 0x59, 0x8e, 0x13, 0xf, 0xb4, 0x2a, 0xbf, 0xd8, 0x81, 0x42, 0xb7, 0x25, 0x22, 0xe3, 0x80, 0x81, 0x5b, 0xe4, 0x41, 0x84, 0x92, 0x2b, 0xb, 0xe5, 0x36, 0xe9, 0xff, 0x47, 0xff, 0xf8, 0x72, 0x3c, 0x38, 0x3f, 0x9b, 0x8c, 0xc6, 0xbd, 0xe1, 0xb8, 0x7f, 0x72, 0x65, 0xdc, 0x99, 0x50, 0x6b, 0x4d, 0x3a, 0x6b, 0x9e, 0xa6, 0xc1, 0x3d, 0xa5, 0x89, 0x14, 0xb0, 0xcb, 0x31, 0x84, 0x3e, 0xcd, 0x19, 0x99, 0xf1, 0x2c, 0x8c, 0x3d, 0x51, 0x54, 0xde, 0x74, 0x4d, 0xbe, 0x87, 0x24, 0x57, 0x95, 0xf5, 0xf4, 0x30, 0x5a, 0x1c, 0x16, 0xcb, 0xe2, 0xab, 0x8e, 0xb6, 0xe0, 0x3, 0x2f, 0xa6, 0xc7, 0xf3, 0x28, 0x96, 0x54, 0x34, 0x41, 0x9e, 0x74, 0x11, 0x84, 0xbe, 0xf3, 0xfa, 0x50, 0xce, 0xfa, 0x7d, 0x7c, 0x88, 0x3c, 0xb1, 0xd1, 0x48, 0x7e, 0x24, 0x8c, 0xb0, 0xfe, 0x24, 0x1e, 0x15, 0x2f, 0x6c, 0x5a, 0xe2, 0x8f, 0xc7, 0xe, 0x5f, 0xd1, 0x48, 0xf1, 0x5b, 0xae, 0xb8, 0xfe, 0xda, 0xfc, 0xfb, 0x4a, 0xff, 0x5d, 0x8f, 0xe1, 0x43, 0x4e, 0xf, 0x59, 0xa, 0x84, 0x91, 0x2b, 0xdc, 0xe9, 0xb8, 0x67, 0xc6, 0x1b, 0x53, 0x79, 0x73, 0x6c, 0xc6, 0x8b, 0xaf, 0x4c, 0x1d, 0xe, 0x3, 0x9b, 0x6b, 0x15, 0x42, 0x2c, 0x30, 0x68, 0xc0, 0x4f, 0x23, 0x91, 0xc5, 0xc4, 0xcc, 0x10, 0x2, 0xe6, 0xa6, 0x81, 0x9b, 0xc5, 0xad, 0xf9, 0x55, 0xc0, 0x73, 0xec, 0x3a, 0x57, 0x84, 0xc7, 0xc0, 0xad, 0x18, 0x8d, 0x1d, 0xde, 0xae, 0x12, 0x37, 0xac, 0xc0, 0x92, 0x5f, 0x1c, 0x1d, 0x11, 0xba, 0xe4, 0x47, 0x9, 0x60, 0x53, 0xbf, 0x25, 0x91, 0xc8, 0xd8, 0xdb, 0xb7, 0xaf, 0xdf, 0xfc, 0xee, 0xbf, 0xbf, 0x7d, 0xbb, 0xcc, 0xd8, 0x52, 0x48, 0xe, 0xe3, 0xfe, 0xaf, 0x98, 0x4b, 0x3a, 0x4d, 0x58, 0x11, 0xf9, 0x8d, 0x50, 0xbe, 0xec, 0xc6, 0xec, 0xf6, 0x55, 0x2a, 0xd4, 0xd1, 0x32, 0x63, 0x11, 0x8b, 0x35, 0xd, 0x90, 0x67, 0xef, 0x56, 0xcf, 0x42, 0x68, 0x3c, 0x9e, 0xc6, 0x9a, 0xc, 0x3c, 0x58, 0x3f, 0x3c, 0xb9, 0x90, 0xa3, 0xa3, 0x97, 0x75, 0xc, 0x72, 0xdd, 0x9e, 0xbd, 0x5b, 0x39, 0x66, 0x74, 0x7f, 0x49, 0xe6, 0x26, 0x7a, 0xd6, 0x6d, 0x2a, 0xbe, 0x9f, 0x59, 0xa9, 0x62, 0xaa, 0x3d, 0xda, 0x6d, 0xfe, 0xa6, 0x9c, 0xb7, 0x18, 0xf7, 0x1b, 0x6f, 0x37, 0xf3, 0xe, 0x49, 0x0, 0x64, 0xda, 0xe1, 0x4b, 0x2b, 0x9a, 0x5d, 0x33, 0xa5, 0x6d, 0x5, 0x45, 0xd3, 0x98, 0x26, 0x22, 0x65, 0xf7, 0xbb, 0x4c, 0x7f, 0xd, 0x77, 0x5a, 0xa6, 0xa3, 0x74, 0x48, 0x3e, 0x43, 0xa, 0x79, 0x4, 0x62, 0x69, 0x13, 0xfd, 0x3f, 0x2a, 0x1, 0xb5, 0x79, 0xb1, 0x4f, 0xa2, 0xca, 0x89, 0xaa, 0x19, 0xe5, 0xc9, 0x3d, 0x89, 0x29, 0x2d, 0x68, 0xc2, 0x43, 0x78, 0x4f, 0x79, 0xb2, 0x85, 0x88, 0xd2, 0x33, 0xcb, 0x33, 0xf6, 0xa3, 0xca, 0x27, 0xdc, 0xad, 0x27, 0xe1, 0xf4, 0x24, 0x9c, 0x6a, 0x85, 0x53, 0x31, 0xcb, 0xf8, 0x31, 0x9, 0x26, 0x4f, 0xf8, 0x8f, 0x5d, 0x2a, 0x85, 0x2b, 0x7d, 0x12, 0x49, 0x4e, 0x24, 0x1d, 0x16, 0x11, 0x6f, 0xb3, 0x5c, 0x72, 0x38, 0x65, 0xad, 0x45, 0x93, 0x9b, 0xe1, 0xf, 0x22, 0x9c, 0x1a, 0x77, 0xec, 0x49, 0x3c, 0x3d, 0x89, 0xa7, 0xaa, 0x78, 0xba, 0x63, 0xcf, 0xb3, 0x0, 0x72, 0xb2, 0x18, 0x9c, 0xf1, 0xfd, 0x4a, 0xaa, 0xb5, 0xb7, 0xe0, 0x91, 0xc9, 0xaa, 0xd, 0x6b, 0x7d, 0x92, 0x56, 0x4e, 0x5a, 0x2d, 0x69, 0x2e, 0xf, 0xee, 0xe8, 0xbb, 0xd0, 0x9d, 0xda, 0xfd, 0xf7, 0xf, 0x23, 0x30, 0x96, 0x2c, 0xbd, 0x72, 0x88, 0x19, 0xa1, 0xa9, 0xbf, 0x7c, 0x3e, 0x1e, 0x65, 0xba, 0x82, 0x47, 0x8d, 0xc1, 0x49, 0x1, 0x27, 0xc7, 0x54, 0xe9, 0x8d, 0x8a, 0xc0, 0x8d, 0x8e, 0xd7, 0x38, 0x5e, 0xe5, 0x3a, 0xc4, 0xa7, 0xde, 0x1a, 0x16, 0xe4, 0x7b, 0xd5, 0xd3, 0x45, 0x74, 0x1d, 0xdf, 0x6c, 0xc1, 0x68, 0x1a, 0x16, 0x9d, 0x38, 0xb2, 0x70, 0x3a, 0x5e, 0x1e, 0x4a, 0x12, 0x61, 0x95, 0xfb, 0x64, 0x5, 0x1, 0xee, 0xae, 0xf2, 0x17, 0x54, 0x31, 0x83, 0x91, 0xb9, 0x2c, 0x40, 0xf7, 0xc8, 0x7c, 0x2a, 0xf5, 0x45, 0x83, 0x26, 0x5a, 0x5, 0x96, 0x9d, 0xf0, 0xf4, 0xb9, 0xf2, 0x41, 0xec, 0x0, 0x7f, 0xe1, 0x59, 0x2d, 0xc6, 0xb2, 0x73, 0x85, 0xd9, 0x31, 0xb0, 0x91, 0x21, 0xc8, 0x46, 0xed, 0xec, 0xec, 0x7b, 0xc, 0x7e, 0xdd, 0x81, 0x28, 0x79, 0x2c, 0x5a, 0xc7, 0x25, 0x59, 0x30, 0x35, 0x17, 0x6, 0xa7, 0x67, 0xae, 0xf9, 0x76, 0x2a, 0x8, 0x9b, 0xcd, 0x58, 0xa4, 0x36, 0x75, 0x1b, 0x2e, 0x68, 0xc6, 0x53, 0x2e, 0xe7, 0xc, 0x62, 0xcb, 0x23, 0x26, 0xe5, 0x2c, 0x4f, 0x92, 0x55, 0xa7, 0xc4, 0x4e, 0xd, 0x9a, 0x87, 0xf5, 0x47, 0x6d, 0x9c, 0x77, 0xed, 0x0, 0xf0, 0x9a, 0x64, 0x6c, 0xea, 0xc2, 0x95, 0xf9, 0xc9, 0x44, 0x94, 0x7a, 0x84, 0x11, 0xd8, 0xfc, 0x84, 0xcd, 0x14, 0x39, 0x6a, 0x3f, 0x93, 0x42, 0x47, 0x34, 0x63, 0x8, 0x3a, 0x8a, 0xe5, 0xe8, 0xe4, 0xda, 0xde, 0x2a, 0x87, 0xf1, 0x5e, 0x64, 0x24, 0x11, 0xe9, 0xf5, 0x91, 0x5b, 0x88, 0xbb, 0x7b, 0x5, 0x82, 0xf2, 0x7f, 0x26, 0xdc, 0x5c, 0x8e, 0x18, 0xaa, 0xeb, 0x18, 0x18, 0x28, 0xc9, 0xd2, 0x98, 0x50, 0x4d, 0xea, 0x11, 0x4b, 0x12, 0xea, 0xdf, 0x4, 0x9f, 0xd9, 0x39, 0x4c, 0xb0, 0xd1, 0x33, 0x9b, 0x15, 0xf1, 0x5c, 0xf3, 0xea, 0xe7, 0x18, 0xad, 0x6b, 0xa, 0x73, 0xe8, 0xbf, 0xae, 0xe1, 0x87, 0xcf, 0x43, 0xed, 0xcd, 0xbe, 0x1, 0xd2, 0x30, 0x65, 0xb, 0x79, 0x5e, 0x69, 0x8f, 0x97, 0x2c, 0x8d, 0x83, 0x95, 0xad, 0x7c, 0xcd, 0xc2, 0x65, 0x26, 0x6e, 0x79, 0xc, 0xb8, 0x25, 0x75, 0xca, 0x58, 0x3d, 0x67, 0x78, 0x58, 0x3a, 0xd8, 0xfd, 0x55, 0x4e, 0xd8, 0x5a, 0x9, 0xab, 0xe6, 0xbf, 0xd8, 0xfd, 0xed, 0x20, 0xc1, 0xd4, 0xb2, 0xbc, 0x17, 0x9a, 0x9, 0x39, 0xe2, 0x7a, 0x69, 0xaa, 0xb1, 0xda, 0xe2, 0xb9, 0xee, 0xfb, 0x2, 0x67, 0x35, 0xdd, 0x83, 0xf6, 0xd6, 0x31, 0xfc, 0x54, 0xd6, 0x73, 0xce, 0xfb, 0xd9, 0x9f, 0x9d, 0xb4, 0xb7, 0xf1, 0x9c, 0x5, 0xe0, 0x1e, 0xa1, 0x83, 0x1, 0x57, 0xf0, 0x18, 0x60, 0x70, 0xeb, 0xaf, 0xcc, 0xa3, 0x52, 0xd8, 0x9a, 0x96, 0xf8, 0xa4, 0xa7, 0x39, 0x3d, 0x2d, 0x63, 0x92, 0x1d, 0xdc, 0xa3, 0x30, 0xd4, 0x9d, 0x56, 0xf5, 0x34, 0x18, 0xeb, 0xa1, 0xe8, 0x69, 0x45, 0x1, 0x65, 0xb, 0xef, 0xae, 0x53, 0xd5, 0x7e, 0xa, 0x6a, 0xaa, 0x52, 0xa5, 0x34, 0x4b, 0x93, 0x1, 0xa6, 0x98, 0x91, 0x95, 0xaf, 0xbb, 0x61, 0xb, 0xcf, 0x3a, 0x30, 0xb1, 0xaf, 0xd4, 0xa0, 0xf0, 0x2d, 0xaf, 0xaa, 0x2c, 0xa1, 0xfa, 0x7, 0xfa, 0x47, 0x7, 0xb4, 0x17, 0xd4, 0xd7, 0xb4, 0x3a, 0x67, 0xa4, 0xbb, 0xc8, 0xc8, 0xf3, 0x1b, 0xc6, 0x96, 0x46, 0x70, 0x3f, 0x77, 0x3f, 0x1b, 0xae, 0x5e, 0x24, 0x32, 0xab, 0xf, 0x4e, 0x59, 0x20, 0xaa, 0xf8, 0x62, 0xc1, 0x62, 0x4e, 0x15, 0x4b, 0x56, 0xe4, 0xc5, 0x4f, 0x44, 0x32, 0x46, 0x9e, 0xff, 0xc6, 0x95, 0x62, 0xd9, 0x73, 0x32, 0x4b, 0xe8, 0xf5, 0xcb, 0xfb, 0x13, 0xe8, 0x7a, 0xfa, 0x61, 0x6a, 0x60, 0xf9, 0xd, 0xa0, 0x86, 0x96, 0x9e, 0x24, 0x7b, 0xc3, 0xa, 0xd6, 0x49, 0x76, 0x2f, 0x7d, 0xab, 0xd7, 0xe4, 0x49, 0x96, 0x1f, 0x62, 0xaa, 0xdf, 0xf0, 0xbd, 0xa0, 0xe6, 0x92, 0x3c, 0x2a, 0x59, 0xde, 0xb4, 0xc4, 0x27, 0x59, 0x1e, 0xca, 0x72, 0x91, 0xdc, 0xb2, 0x23, 0x2a, 0x8f, 0xd0, 0xb8, 0xb3, 0x8c, 0xff, 0x2b, 0x84, 0x5a, 0x99, 0xf1, 0x9e, 0x9e, 0xb1, 0xb1, 0x9f, 0x8d, 0x61, 0x56, 0x66, 0xbf, 0x9e, 0x5e, 0xa, 0x9e, 0x5e, 0xa, 0x1a, 0xa2, 0xac, 0xd2, 0x19, 0xcf, 0x16, 0xe0, 0xd, 0x44, 0x47, 0x4d, 0x81, 0x54, 0xbf, 0x63, 0x41, 0xb5, 0xee, 0x2a, 0x3c, 0x36, 0x89, 0xb5, 0x7e, 0xad, 0x4f, 0xa2, 0xcb, 0x89, 0x2e, 0xe3, 0x7b, 0x3e, 0xb4, 0xb8, 0xba, 0xc4, 0x6e, 0xab, 0xa6, 0xa8, 0x19, 0xef, 0x21, 0x1a, 0xa3, 0x83, 0x59, 0xc1, 0x4, 0xf4, 0x56, 0x5e, 0xa7, 0xc, 0xa9, 0xdf, 0xe8, 0x5f, 0x2f, 0x3b, 0xbf, 0xef, 0xa8, 0xb4, 0x96, 0xe2, 0xdd, 0x9c, 0x27, 0xac, 0xce, 0xae, 0xdc, 0xcd, 0x28, 0xc, 0x6, 0x3d, 0x4f, 0x23, 0x56, 0x31, 0x60, 0xed, 0x9b, 0x42, 0x7, 0xca, 0xd, 0x58, 0x74, 0x1b, 0xfd, 0xbf, 0x59, 0x68, 0xa, 0x5f, 0xb3, 0x54, 0xcb, 0x4b, 0x16, 0x7f, 0x65, 0xb7, 0x71, 0x13, 0x7d, 0x3c, 0x2c, 0x91, 0xfc, 0x64, 0x5e, 0x3e, 0x99, 0x97, 0xae, 0xfd, 0x37, 0xa9, 0x98, 0xd6, 0x70, 0x4d, 0x1e, 0x95, 0xb8, 0x6e, 0x5e, 0xe4, 0x93, 0x9c, 0xf6, 0x72, 0x1a, 0xab, 0x39, 0xa, 0x58, 0xa9, 0x3c, 0xb8, 0xb8, 0x86, 0xde, 0x2b, 0x27, 0x70, 0x8e, 0xa3, 0x11, 0x23, 0xfc, 0x50, 0x1c, 0x43, 0x31, 0x45, 0x30, 0x2b, 0x4b, 0x15, 0x16, 0xcd, 0xdc, 0xca, 0xb2, 0xfc, 0xde, 0x25, 0x38, 0x76, 0x59, 0x53, 0xb6, 0xb1, 0x69, 0x3d, 0xf, 0x4b, 0xc8, 0x3c, 0xc9, 0x98, 0x27, 0x19, 0x43, 0xbe, 0x79, 0x55, 0xce, 0xa6, 0xbb, 0xf2, 0xb8, 0x24, 0xcd, 0x86, 0xa5, 0xfe, 0x80, 0xf2, 0xe6, 0x5e, 0xac, 0x3f, 0x2c, 0x32, 0x66, 0x1, 0x35, 0x68, 0x4a, 0xd8, 0x97, 0x25, 0xcb, 0xf8, 0x82, 0xa5, 0x8a, 0x26, 0xc0, 0xf7, 0x69, 0x1a, 0xc3, 0x95, 0x9a, 0xb2, 0x39, 0xbd, 0xe5, 0x22, 0x23, 0xb, 0xba, 0x22, 0xd1, 0x9c, 0xa6, 0xd7, 0xc, 0xb, 0x26, 0xcc, 0x72, 0x95, 0x43, 0xbc, 0x4e, 0xc2, 0xa8, 0xc, 0xb1, 0x2b, 0xe1, 0x69, 0xb9, 0x9a, 0xa3, 0x1f, 0x58, 0x95, 0x35, 0xe8, 0x1f, 0xde, 0x9e, 0x34, 0x45, 0x41, 0xcc, 0x65, 0xeb, 0xfa, 0x50, 0xb1, 0xba, 0x66, 0x19, 0x93, 0x79, 0xa2, 0x24, 0xe1, 0x41, 0x76, 0xfc, 0x11, 0x30, 0x85, 0xba, 0x31, 0xe0, 0x8, 0xcc, 0x22, 0xc0, 0xe3, 0x7a, 0x75, 0xd1, 0xbb, 0x1c, 0xf5, 0x4f, 0xae, 0x60, 0xb5, 0x88, 0x1e, 0x50, 0x93, 0xfa, 0x8f, 0x1f, 0xd9, 0xc4, 0x7f, 0x49, 0x68, 0x1c, 0x1b, 0x61, 0xe8, 0xf1, 0xfc, 0xc2, 0xe1, 0xcf, 0x44, 0x11, 0x87, 0x40, 0x51, 0x79, 0x23, 0x89, 0x8f, 0x10, 0x59, 0x99, 0xbf, 0xd0, 0x8c, 0x91, 0x98, 0xcb, 0x25, 0x60, 0xa2, 0x16, 0x23, 0xa3, 0x8e, 0x48, 0x2f, 0x5d, 0x15, 0x7b, 0x8, 0x42, 0xdf, 0xcc, 0x92, 0xd2, 0x6b, 0x22, 0xd2, 0xb0, 0xe6, 0xb2, 0x2b, 0x65, 0x97, 0x24, 0xe2, 0xce, 0xd6, 0xc3, 0xc3, 0xc0, 0xab, 0x9a, 0xde, 0xb, 0xb3, 0xa9, 0xed, 0xbd, 0x31, 0xde, 0xea, 0x88, 0xf4, 0x20, 0x5a, 0x2a, 0xbb, 0x65, 0xd9, 0x91, 0xe4, 0x31, 0xb3, 0x80, 0xa7, 0x8, 0xad, 0x20, 0x52, 0xc5, 0xd3, 0x1c, 0x22, 0xa1, 0xa6, 0x60, 0x68, 0x46, 0xc, 0x50, 0x70, 0x8d, 0x6e, 0x82, 0xed, 0xa, 0xdd, 0xfd, 0x39, 0x67, 0x10, 0xf5, 0xf5, 0xff, 0x35, 0x8a, 0x81, 0xd4, 0x2b, 0xa3, 0xce, 0x32, 0x77, 0x62, 0xda, 0x99, 0xc5, 0xbf, 0xb1, 0x48, 0x35, 0x94, 0xa9, 0xaa, 0xa7, 0xbf, 0xaf, 0xae, 0x52, 0x40, 0x7d, 0xec, 0x5c, 0x1e, 0xb4, 0xa8, 0xcd, 0xbe, 0x6e, 0xe3, 0x93, 0xca, 0x2c, 0xfd, 0xed, 0x30, 0x87, 0x85, 0x47, 0x4d, 0x86, 0x66, 0xa6, 0x8f, 0x41, 0x7e, 0xd6, 0x13, 0xc4, 0xa3, 0x92, 0x9b, 0x4d, 0x4b, 0xfc, 0x1, 0xe5, 0xa5, 0xe4, 0xd7, 0x29, 0x4d, 0x8e, 0xee, 0xb8, 0x9a, 0x1f, 0x1, 0x2e, 0xcc, 0xab, 0x7f, 0xe2, 0x9f, 0xf4, 0x55, 0x3d, 0x3c, 0x20, 0xd, 0x74, 0xfd, 0x99, 0xab, 0x79, 0x3, 0x34, 0x4d, 0xf0, 0x34, 0xc6, 0x52, 0xa9, 0x25, 0x26, 0x25, 0x38, 0x1f, 0xfd, 0x93, 0x34, 0x46, 0x9a, 0x17, 0x6e, 0x1d, 0x60, 0xa5, 0x84, 0x7, 0xd8, 0xe2, 0x10, 0xd3, 0x92, 0x3e, 0x57, 0x64, 0xc5, 0x14, 0x42, 0xdd, 0x14, 0xbd, 0x81, 0x83, 0xd2, 0x9d, 0xf6, 0x1, 0xbd, 0x9d, 0x26, 0x30, 0x9b, 0xc1, 0x87, 0xb3, 0xde, 0x69, 0x80, 0x66, 0x23, 0xcd, 0xe3, 0xa3, 0x97, 0xbf, 0x15, 0xb9, 0x86, 0x22, 0xb2, 0x28, 0x92, 0xb8, 0x24, 0xb5, 0xfe, 0xc9, 0x9a, 0x19, 0x1, 0x4c, 0xb8, 0x89, 0xce, 0x15, 0x19, 0xfc, 0xe7, 0x4c, 0xe4, 0x29, 0xb8, 0x6e, 0x59, 0x5a, 0xf9, 0x1c, 0xe1, 0x79, 0xe2, 0x72, 0x5d, 0x83, 0x75, 0xc0, 0x3c, 0x7a, 0x82, 0x2d, 0x16, 0x2b, 0x4b, 0xd8, 0x3d, 0x18, 0x37, 0x44, 0xfd, 0x20, 0xed, 0x96, 0x78, 0x4f, 0xaf, 0xa9, 0x9a, 0x92, 0xea, 0xdf, 0x53, 0x23, 0xb1, 0x98, 0xf2, 0x94, 0xc5, 0x5e, 0xd8, 0x35, 0xbe, 0xaa, 0x6e, 0x22, 0xca, 0xc3, 0xc9, 0xc2, 0xef, 0xf, 0xe7, 0x27, 0xc0, 0xa, 0x77, 0x5c, 0x61, 0x4b, 0x7b, 0xd3, 0xdb, 0xd7, 0xb9, 0x9a, 0x8b, 0xec, 0x28, 0x66, 0x33, 0x38, 0x18, 0xdd, 0xad, 0x15, 0xb0, 0xe6, 0x8a, 0x2b, 0x81, 0x31, 0xe5, 0x46, 0x59, 0xbc, 0x2b, 0x82, 0x78, 0x1e, 0x62, 0x3d, 0xdf, 0xc, 0xb7, 0x68, 0x3, 0x8d, 0x3d, 0x2a, 0xf1, 0xba, 0x79, 0xb1, 0x3f, 0xa0, 0xa0, 0xbd, 0xa7, 0x87, 0xc9, 0xfb, 0x34, 0x4d, 0x8d, 0x23, 0xbb, 0x2a, 0xa5, 0xdd, 0xa3, 0x27, 0x25, 0xcb, 0x8c, 0xdd, 0x72, 0x91, 0xcb, 0x64, 0x55, 0x31, 0x3f, 0x5a, 0x98, 0xab, 0xe5, 0xb1, 0xee, 0xcd, 0x72, 0x1d, 0x5e, 0x9e, 0x9d, 0xd, 0xce, 0x3e, 0x6c, 0x30, 0x5d, 0x2f, 0xcf, 0xb6, 0x35, 0x5e, 0x3f, 0x17, 0xad, 0x56, 0xe8, 0xbd, 0x6a, 0xb6, 0xea, 0xd9, 0x2f, 0x1a, 0xec, 0xaf, 0xa6, 0x4d, 0xfe, 0x16, 0x16, 0x98, 0x39, 0xd7, 0x27, 0x1b, 0xec, 0x5b, 0x8b, 0x8b, 0x26, 0xa2, 0x78, 0x54, 0x62, 0xa2, 0x79, 0x91, 0x3f, 0x98, 0x78, 0x98, 0x34, 0xc0, 0x1b, 0x63, 0xbc, 0xd6, 0xa1, 0x25, 0x86, 0xa1, 0x21, 0x8c, 0x20, 0xaa, 0xb5, 0xc0, 0xfc, 0xdb, 0x18, 0x7a, 0xca, 0x24, 0xb9, 0x33, 0x46, 0xc7, 0x8a, 0xdc, 0x51, 0x34, 0xc1, 0x6c, 0xbc, 0x62, 0x21, 0xf9, 0x2f, 0x2c, 0xf1, 0x54, 0xc7, 0xc6, 0x43, 0x8b, 0x0, 0x44, 0x96, 0x67, 0xeb, 0x86, 0x29, 0xd7, 0x59, 0x24, 0xc7, 0xbd, 0xb3, 0xe3, 0xfe, 0xe9, 0x64, 0xd8, 0xff, 0xf3, 0x65, 0x7f, 0x14, 0x80, 0x8a, 0x4e, 0x19, 0x78, 0xdd, 0x32, 0xae, 0x14, 0xb3, 0xe5, 0x37, 0x6a, 0xec, 0x92, 0x0, 0x74, 0xb4, 0xc, 0x79, 0x8a, 0xae, 0x3c, 0x63, 0x3b, 0xd9, 0x57, 0x1f, 0xfb, 0x6b, 0x97, 0xc, 0x94, 0xab, 0x45, 0x62, 0xd2, 0x47, 0x6d, 0x6a, 0x85, 0x59, 0x7d, 0x68, 0xa6, 0x84, 0xe6, 0x98, 0x4d, 0x6c, 0x8d, 0x12, 0x1, 0xac, 0x69, 0xa0, 0x30, 0x99, 0x16, 0xc3, 0x49, 0x9e, 0xdb, 0x20, 0x94, 0xe7, 0x95, 0xee, 0x7c, 0x2f, 0xb1, 0x60, 0x60, 0xc4, 0x2, 0x56, 0x69, 0x43, 0x3e, 0xc3, 0xba, 0x73, 0x7c, 0xc8, 0x46, 0x4b, 0x3d, 0xbd, 0xdf, 0xef, 0x2c, 0xbe, 0x5d, 0x9c, 0xe2, 0xba, 0x53, 0x7a, 0x54, 0xfc, 0x7c, 0xd3, 0x52, 0x9f, 0xb8, 0x3a, 0x70, 0xf5, 0xfb, 0x4b, 0x94, 0xab, 0x32, 0x73, 0x78, 0x1, 0xc0, 0x8c, 0x32, 0x30, 0xd, 0xc, 0x3e, 0x7d, 0xbd, 0x2e, 0x15, 0xd4, 0xda, 0xa8, 0xf3, 0x21, 0x8d, 0x7b, 0xa3, 0x5f, 0x26, 0xc7, 0xe7, 0x9f, 0x2e, 0x4e, 0xfb, 0x1, 0x13, 0x7e, 0xc1, 0xbe, 0x44, 0x49, 0x2e, 0xf9, 0x2d, 0x7b, 0xd9, 0x75, 0x68, 0xd1, 0x61, 0xb4, 0x9f, 0x62, 0xd9, 0x82, 0xa7, 0x36, 0xa6, 0xc2, 0xbc, 0x9b, 0xf8, 0xfe, 0xc3, 0x12, 0x4e, 0x8, 0xd3, 0xdc, 0x25, 0xcf, 0xfa, 0xb6, 0xcf, 0x67, 0x98, 0x3b, 0x7, 0x4d, 0x79, 0xcc, 0x52, 0x85, 0x56, 0x84, 0xcb, 0x8f, 0xb7, 0x8a, 0xba, 0x92, 0x2c, 0x99, 0x39, 0xbf, 0x19, 0x5b, 0x26, 0x74, 0x15, 0x2e, 0xc2, 0x59, 0x1d, 0x7a, 0x23, 0x8c, 0x3c, 0xf8, 0x37, 0x13, 0xd6, 0xc7, 0x22, 0x6, 0x21, 0x7f, 0xa5, 0x85, 0x96, 0x0, 0xac, 0x33, 0xb6, 0xa0, 0x3c, 0x45, 0x5, 0xdf, 0x3e, 0xab, 0x2c, 0x68, 0x76, 0xc3, 0x62, 0x42, 0x25, 0x30, 0xf7, 0xc2, 0x78, 0x7e, 0xfd, 0x9d, 0x46, 0xb9, 0x53, 0xd, 0x92, 0x54, 0x16, 0x1b, 0x80, 0x37, 0x71, 0xfc, 0xba, 0x43, 0x7e, 0xe2, 0xf4, 0xf, 0x85, 0xd3, 0xd7, 0x9d, 0xce, 0x23, 0xe3, 0xf0, 0xf5, 0x4b, 0x7c, 0xe2, 0xec, 0xc0, 0xd9, 0xd1, 0x8b, 0xf9, 0x35, 0x1e, 0x50, 0xd6, 0xbd, 0x9b, 0x18, 0x54, 0xe, 0xef, 0x52, 0xa5, 0xee, 0x25, 0x61, 0x5b, 0x8d, 0xbc, 0xcd, 0x63, 0x48, 0xc3, 0x4b, 0x48, 0xe9, 0x1, 0xc4, 0x8f, 0x2, 0xbc, 0xf, 0x55, 0xf7, 0xb2, 0xe6, 0xbd, 0xbe, 0xae, 0x53, 0xc3, 0xd2, 0x9f, 0xd8, 0xdf, 0x93, 0xc7, 0x9e, 0xdc, 0x9f, 0xc7, 0xfe, 0x51, 0xf3, 0xf3, 0xc6, 0x35, 0x3e, 0x31, 0x74, 0xac, 0x2f, 0x65, 0x75, 0xd7, 0x43, 0xb3, 0xf1, 0xb1, 0xed, 0xb8, 0xca, 0xc9, 0xdd, 0x98, 0x72, 0x93, 0xca, 0x3e, 0x5d, 0x19, 0xe6, 0xb, 0x5e, 0xf3, 0x3a, 0x95, 0xdd, 0x73, 0xed, 0x71, 0x7f, 0xf8, 0x69, 0x70, 0xd6, 0x2b, 0x96, 0x64, 0x29, 0xb3, 0xeb, 0x3a, 0xb5, 0x1d, 0xf1, 0xb8, 0xd8, 0x5a, 0x85, 0xbd, 0x8e, 0x5b, 0x37, 0xaf, 0xf0, 0x89, 0x61, 0x3f, 0xc, 0x6, 0xd7, 0x7c, 0x42, 0x8f, 0x8a, 0xc7, 0xad, 0x5b, 0xe6, 0x13, 0x9b, 0x3, 0x36, 0x77, 0xf, 0xb9, 0x18, 0x18, 0x97, 0x58, 0xd9, 0x72, 0x9b, 0x80, 0xb1, 0xa4, 0x99, 0xe2, 0x34, 0x49, 0x56, 0x26, 0xdf, 0x2, 0x2d, 0xfc, 0xc6, 0xcf, 0x31, 0x3, 0x63, 0xd, 0x2f, 0x5c, 0x93, 0x34, 0xd1, 0xd4, 0xe9, 0xe1, 0xd8, 0x50, 0x45, 0x7f, 0x72, 0xed, 0xa, 0x1a, 0x93, 0xc9, 0x5, 0xb1, 0xf3, 0xb9, 0xdf, 0x47, 0xb6, 0x1f, 0x89, 0x91, 0xad, 0x3f, 0xe7, 0x47, 0xc5, 0xcc, 0x36, 0x2d, 0xf5, 0x89, 0xa1, 0x5, 0xc, 0xed, 0xd5, 0x3f, 0x6d, 0x98, 0x1, 0x4f, 0x97, 0xb9, 0xea, 0xa6, 0x7, 0x33, 0xc8, 0x7, 0xe9, 0xad, 0xb8, 0x31, 0x4c, 0xcb, 0xc7, 0x36, 0xe0, 0xe1, 0x90, 0x59, 0x9e, 0x46, 0xf8, 0x1a, 0x96, 0x6a, 0x9b, 0x3c, 0xf3, 0x31, 0x2, 0x91, 0x88, 0xeb, 0x95, 0xa5, 0x86, 0x63, 0x7d, 0x62, 0x51, 0xf7, 0xa7, 0xf1, 0x55, 0x49, 0xe3, 0x87, 0x62, 0x8e, 0x3f, 0x2, 0x57, 0x7c, 0x24, 0xec, 0x50, 0xae, 0xa4, 0x62, 0x8b, 0x23, 0x9e, 0xce, 0x4c, 0xd9, 0xe1, 0x6b, 0xb6, 0xf, 0xef, 0xfa, 0xc0, 0xd4, 0x8, 0x7a, 0x1c, 0xa4, 0x33, 0xe1, 0xde, 0xb7, 0x75, 0xef, 0xd9, 0x2, 0x5f, 0xf1, 0xe9, 0x14, 0xa0, 0x15, 0x34, 0x6f, 0x83, 0xf, 0x6b, 0x59, 0x56, 0xa1, 0x9b, 0xef, 0x8b, 0x5c, 0xa, 0x53, 0x7f, 0xc, 0x44, 0xe2, 0x7f, 0xd2, 0xed, 0xcd, 0xaf, 0xd8, 0x55, 0x25, 0x37, 0x70, 0xe0, 0xc8, 0xc8, 0xb2, 0x29, 0x31, 0xfd, 0x8d, 0x45, 0xf6, 0x45, 0x6e, 0x99, 0xe9, 0x53, 0x2e, 0x22, 0x41, 0xfb, 0x4c, 0xd3, 0x70, 0x7a, 0xb5, 0xdc, 0xb5, 0x6c, 0x5, 0xa4, 0xfc, 0xef, 0x79, 0xf0, 0x72, 0x97, 0xa1, 0xa0, 0x9, 0x92, 0x85, 0x21, 0x22, 0xc2, 0x44, 0x98, 0x7b, 0x99, 0x44, 0x13, 0x1, 0xf9, 0x54, 0x6a, 0x4e, 0xb2, 0x3c, 0x25, 0x83, 0x13, 0xf2, 0x62, 0xca, 0x12, 0x71, 0x17, 0xa0, 0x84, 0x64, 0x79, 0xda, 0x62, 0x3e, 0x76, 0x98, 0xb1, 0xfe, 0x31, 0xe4, 0xb2, 0x49, 0x72, 0x3e, 0x2b, 0x6e, 0xf6, 0xd1, 0xda, 0xad, 0xee, 0x5, 0x1d, 0x3d, 0x5f, 0x27, 0x58, 0xf5, 0x34, 0xca, 0xf9, 0xb5, 0x1d, 0xc8, 0xb, 0xce, 0xd0, 0x95, 0x42, 0x15, 0x59, 0xd0, 0xa5, 0x34, 0x8e, 0x79, 0x76, 0xcd, 0xa5, 0x62, 0x19, 0xb, 0xc2, 0x6, 0x21, 0x95, 0xb, 0x3, 0x6f, 0xfc, 0x72, 0x31, 0xa4, 0x31, 0x9c, 0x31, 0x4b, 0xf3, 0x45, 0x79, 0x5, 0xbd, 0xe3, 0xf1, 0xe0, 0xd7, 0xc1, 0xf8, 0x2f, 0xc5, 0x78, 0xff, 0xf1, 0xe5, 0x68, 0x72, 0x79, 0x36, 0xba, 0xe8, 0x1f, 0xf, 0xde, 0xf, 0xfa, 0x27, 0xad, 0xdb, 0x98, 0x98, 0xc9, 0xd6, 0xdf, 0xbb, 0xb7, 0xe1, 0xd6, 0x2d, 0xde, 0xf7, 0x6, 0xa7, 0x5b, 0x7c, 0x8e, 0x81, 0x40, 0x5b, 0x34, 0xf0, 0x5e, 0xaf, 0xf6, 0x4d, 0x6, 0x9f, 0xfa, 0x27, 0x93, 0xf3, 0xcb, 0xf1, 0x96, 0xa4, 0xde, 0x33, 0x79, 0xf, 0x89, 0x8d, 0x3e, 0xc5, 0x47, 0x8d, 0x2, 0xaa, 0x98, 0x4d, 0x4e, 0x80, 0x78, 0x2a, 0x35, 0x67, 0x99, 0xc1, 0x5f, 0xf5, 0xc9, 0x84, 0x41, 0xca, 0x7, 0xd7, 0xa, 0xa4, 0xd7, 0xcc, 0xd0, 0x8b, 0x61, 0x7b, 0x67, 0x32, 0xd4, 0xcd, 0x90, 0x75, 0xbf, 0x5, 0x92, 0x8, 0x2f, 0x88, 0xe6, 0xf, 0x6c, 0x13, 0xcd, 0x5c, 0xf4, 0xcf, 0x4e, 0x6, 0x67, 0x1f, 0x26, 0x6e, 0x4b, 0xf4, 0x46, 0xf4, 0xd7, 0x10, 0x4c, 0x43, 0x83, 0xd1, 0xf1, 0xc7, 0xfe, 0xc9, 0x65, 0xf5, 0x74, 0x9a, 0x3e, 0xc7, 0xf7, 0xf5, 0x76, 0x1f, 0x97, 0x23, 0xc0, 0xda, 0xb5, 0xc2, 0x58, 0xde, 0x2d, 0xbe, 0xad, 0x1d, 0xa0, 0xcd, 0xe1, 0x7f, 0x12, 0x19, 0x23, 0x31, 0x53, 0x10, 0x6, 0x40, 0xa6, 0x19, 0xa3, 0x37, 0xb1, 0xb8, 0x3, 0x14, 0xa8, 0x8d, 0xd7, 0x6b, 0xe3, 0x41, 0x2a, 0x2a, 0x6f, 0xfe, 0x9c, 0xb3, 0x9c, 0x6d, 0xe4, 0x76, 0x36, 0x92, 0x60, 0x2c, 0x8e, 0x13, 0x21, 0xd9, 0x18, 0x41, 0x92, 0xc2, 0x66, 0x4b, 0xaa, 0x14, 0xcb, 0xd2, 0xb7, 0xe4, 0xff, 0x1e, 0xfd, 0xe9, 0xc5, 0x9f, 0xde, 0xbe, 0xfe, 0xcf, 0xbf, 0xbe, 0x39, 0xfa, 0xe3, 0xdf, 0xfe, 0xfa, 0xfa, 0xe8, 0x8f, 0x7f, 0xfb, 0xe7, 0xeb, 0xce, 0x9b, 0x37, 0xff, 0xf5, 0xf2, 0xc5, 0x9f, 0xde, 0xfe, 0x9f, 0x2e, 0xfe, 0xe1, 0x4d, 0xe7, 0x8f, 0xff, 0xf5, 0xf2, 0x4f, 0xf2, 0xbf, 0x6d, 0xb9, 0x19, 0x65, 0xd4, 0x5, 0x47, 0xf4, 0x73, 0x71, 0x7, 0x65, 0x7, 0x30, 0x10, 0x84, 0x26, 0x9, 0x83, 0xfa, 0x13, 0x77, 0xdc, 0x54, 0x7d, 0x10, 0x80, 0x26, 0x85, 0x15, 0x2a, 0x2, 0xbc, 0xd, 0x5f, 0x4a, 0xb7, 0x4b, 0x4e, 0xf9, 0x2, 0x72, 0x91, 0x4c, 0x4f, 0x45, 0x69, 0x69, 0x6b, 0x21, 0xb8, 0xbc, 0x5e, 0x84, 0x56, 0x2e, 0x26, 0x22, 0x91, 0x35, 0xc9, 0x48, 0xbf, 0x7f, 0xdd, 0x2a, 0x19, 0x89, 0xac, 0x49, 0x48, 0x52, 0xa2, 0x3e, 0x1d, 0x9, 0x46, 0xba, 0xa5, 0x49, 0x98, 0x84, 0x14, 0x1e, 0x18, 0x24, 0x4a, 0x3c, 0x8c, 0x3, 0x33, 0x7b, 0xac, 0xf8, 0x82, 0x15, 0xce, 0x1, 0x83, 0x25, 0x29, 0x84, 0xd7, 0xaf, 0xf0, 0x7d, 0x18, 0xfe, 0xf4, 0x77, 0x4d, 0x9b, 0x64, 0xca, 0x66, 0x22, 0x63, 0x4e, 0x72, 0x91, 0x25, 0x8f, 0x6e, 0xa4, 0xe6, 0x6f, 0xf9, 0x12, 0x91, 0x3c, 0x8b, 0x7b, 0x68, 0x1, 0xbc, 0x20, 0x58, 0xf2, 0x8e, 0xae, 0x24, 0x49, 0x21, 0xca, 0x5f, 0x65, 0x2b, 0xbd, 0xe3, 0x1d, 0x42, 0x25, 0x0, 0x7d, 0xd9, 0x52, 0x25, 0x77, 0x22, 0x4f, 0xb4, 0x8c, 0x9c, 0x73, 0x76, 0xb, 0x60, 0x5d, 0x4a, 0x90, 0xa5, 0x6e, 0xaf, 0xc8, 0x94, 0x46, 0x37, 0x7a, 0x7f, 0xf1, 0x5, 0x52, 0x16, 0x2d, 0x39, 0x42, 0x70, 0x7e, 0x5d, 0xab, 0xb6, 0x61, 0x3a, 0x80, 0xdd, 0xf8, 0x89, 0x12, 0x13, 0x8, 0xd2, 0x9c, 0x98, 0x9, 0x5d, 0x3d, 0x5c, 0x5a, 0x1, 0xa, 0x79, 0x48, 0x37, 0xfb, 0x13, 0xfd, 0xc2, 0x17, 0xf9, 0xc2, 0x50, 0xa, 0x91, 0x3c, 0xbd, 0x4e, 0x2, 0x50, 0x11, 0x73, 0xfd, 0xf0, 0x88, 0x5d, 0x86, 0x3d, 0x1a, 0xfd, 0x8c, 0xd0, 0x99, 0x62, 0x99, 0x89, 0x3, 0xd0, 0xb4, 0xc2, 0x62, 0x92, 0x2f, 0xc9, 0x74, 0xe5, 0x75, 0x9f, 0x56, 0x54, 0xe3, 0x28, 0xe6, 0xc1, 0x9e, 0x9b, 0x2b, 0xd3, 0xf5, 0x8d, 0xe, 0xcd, 0x9e, 0xd2, 0x52, 0x6b, 0x10, 0x4a, 0xe9, 0x39, 0xeb, 0xf3, 0x9a, 0x32, 0x75, 0xc7, 0x58, 0x1a, 0xd4, 0xc5, 0xb1, 0x37, 0xd7, 0x17, 0xdf, 0xb, 0xb4, 0x6d, 0xbd, 0xcd, 0x17, 0x22, 0xe1, 0xd1, 0x6a, 0x2f, 0x35, 0x7a, 0xe8, 0xfb, 0x59, 0xab, 0x45, 0xe3, 0xa5, 0x5f, 0xc2, 0x87, 0x2e, 0x3c, 0xc4, 0xe1, 0xe9, 0x90, 0xcf, 0x50, 0x84, 0x88, 0xdd, 0xb2, 0x8c, 0xb0, 0x2f, 0x11, 0x63, 0xf1, 0xfa, 0x1b, 0x5d, 0x39, 0x8a, 0x13, 0x10, 0xd5, 0x72, 0xaf, 0xa5, 0x5c, 0xd0, 0x55, 0x22, 0x68, 0x2c, 0x1b, 0xd7, 0x61, 0x6, 0xf1, 0xc8, 0x81, 0xe6, 0xc5, 0x35, 0xa1, 0x32, 0x88, 0x9a, 0x71, 0xd7, 0xc5, 0x4d, 0xce, 0xcf, 0x57, 0x7f, 0xf9, 0x31, 0x24, 0x9f, 0x6d, 0xed, 0x2f, 0xdd, 0xc6, 0x8f, 0xe9, 0x46, 0x0, 0x18, 0x47, 0x3b, 0x83, 0x3a, 0xfd, 0x3, 0x9e, 0x83, 0xf4, 0xfe, 0x15, 0xa6, 0x32, 0xc2, 0x5c, 0xea, 0xfd, 0x27, 0x62, 0x39, 0x83, 0x9e, 0x86, 0x4b, 0xd0, 0x6e, 0x33, 0xb, 0xd3, 0xb0, 0x3a, 0xba, 0xbe, 0x7a, 0xd7, 0x2c, 0x5b, 0x47, 0x52, 0x76, 0xd0, 0xa2, 0xf9, 0x59, 0xd0, 0xbe, 0xb5, 0x86, 0x31, 0x48, 0xa3, 0x8c, 0x2d, 0x58, 0xa, 0xc1, 0xa5, 0x34, 0x9a, 0x5b, 0xee, 0x96, 0xb2, 0xbb, 0x90, 0xa3, 0xb9, 0xa0, 0xcd, 0xba, 0x89, 0xf3, 0x54, 0xfd, 0xee, 0x67, 0xf7, 0x77, 0xe7, 0xe6, 0x3c, 0xc9, 0xd1, 0x7d, 0xf2, 0xb5, 0x39, 0xc0, 0x47, 0xaf, 0x77, 0x85, 0x4b, 0x9f, 0x53, 0x49, 0xa6, 0x9a, 0x5, 0x58, 0xa3, 0x63, 0x26, 0x32, 0x6d, 0xa3, 0x44, 0x49, 0x8e, 0x11, 0x5, 0x5a, 0xfc, 0xda, 0xea, 0x14, 0x34, 0x8d, 0x41, 0xd0, 0x8a, 0xd9, 0xcc, 0xb1, 0xe, 0xfb, 0x63, 0xb7, 0xaa, 0xcf, 0xec, 0x43, 0x22, 0x5, 0xb0, 0x51, 0x91, 0xf1, 0x6b, 0x6d, 0xf7, 0x24, 0xab, 0x20, 0x4e, 0xf6, 0x96, 0x53, 0x42, 0x9, 0x90, 0x63, 0x5d, 0x6d, 0x90, 0x72, 0x6a, 0xe1, 0x1a, 0x82, 0x62, 0x5f, 0x96, 0x1c, 0xf, 0x65, 0x97, 0x29, 0x8f, 0x7c, 0xe4, 0xae, 0x9e, 0xfc, 0xbf, 0xb8, 0x29, 0x2, 0x94, 0x8c, 0x66, 0x42, 0x56, 0x62, 0xb5, 0x9b, 0x4d, 0x64, 0x65, 0xfb, 0x4e, 0x7b, 0x67, 0x73, 0x74, 0x2, 0x8d, 0x2d, 0xa3, 0x29, 0x8a, 0x39, 0x94, 0x54, 0xd4, 0x24, 0xa4, 0x60, 0xd, 0xaf, 0xf6, 0x17, 0xff, 0x7d, 0xb5, 0xaa, 0xd9, 0xd6, 0xec, 0xd2, 0xf4, 0xd1, 0xc8, 0x2d, 0xcd, 0xef, 0xc6, 0x8a, 0x92, 0x64, 0x96, 0x89, 0x85, 0xe7, 0x18, 0x18, 0x60, 0x6d, 0x29, 0xae, 0xc8, 0x21, 0x3f, 0x83, 0xd8, 0x1a, 0x80, 0x8f, 0x49, 0xad, 0x36, 0x6e, 0x9d, 0xb9, 0xee, 0x20, 0x89, 0x6, 0x46, 0x62, 0x7f, 0x63, 0x45, 0xa, 0x8e, 0xaf, 0xb8, 0x60, 0xcb, 0x6a, 0xc, 0xba, 0xbd, 0x8d, 0xaf, 0x4b, 0xd9, 0x17, 0xe5, 0xcf, 0x17, 0xa4, 0x64, 0x15, 0x93, 0xae, 0xb9, 0x8, 0xa0, 0xc3, 0xb9, 0x50, 0x18, 0xea, 0xb9, 0xcc, 0x98, 0x44, 0x38, 0x7d, 0xdb, 0xb7, 0x89, 0x3f, 0x37, 0xfb, 0xa2, 0x45, 0x56, 0x44, 0xa5, 0xb9, 0x97, 0xc1, 0x94, 0x64, 0x75, 0xd4, 0xfa, 0x11, 0x35, 0xcf, 0x0, 0x87, 0x46, 0x95, 0x6f, 0xd4, 0xcf, 0xc2, 0x34, 0x2d, 0x4d, 0xa4, 0x76, 0x91, 0xe, 0xb5, 0x37, 0x98, 0xb9, 0xd1, 0x34, 0x4d, 0xdf, 0x33, 0xce, 0x12, 0x1f, 0xaf, 0x9f, 0xe6, 0x49, 0xb9, 0x23, 0xcc, 0x9b, 0x76, 0xab, 0x95, 0xfa, 0xf4, 0x78, 0x4, 0xec, 0x26, 0xa2, 0x49, 0x94, 0x27, 0x18, 0x9f, 0x6a, 0x8f, 0xc6, 0xbf, 0xf5, 0x85, 0xa, 0x4a, 0x87, 0x4c, 0x73, 0x5, 0x59, 0xd5, 0x53, 0x46, 0x16, 0x22, 0x36, 0x99, 0xce, 0x45, 0xd4, 0x48, 0xd8, 0xb5, 0xe2, 0xe0, 0xe0, 0xdf, 0xa4, 0x5e, 0x85, 0xd, 0x7d, 0xc4, 0xee, 0xe0, 0x71, 0xc8, 0x15, 0x26, 0x46, 0xe3, 0xa8, 0x31, 0x4b, 0xe8, 0xaa, 0x78, 0x7, 0x7a, 0xb8, 0xa5, 0xc7, 0x26, 0x2f, 0x62, 0x27, 0x1e, 0x32, 0x47, 0x6e, 0xe5, 0xf9, 0x8, 0x12, 0x62, 0x59, 0x9d, 0xf7, 0xb5, 0x9, 0xb, 0xa7, 0xae, 0xa5, 0x9, 0x96, 0x85, 0x64, 0x69, 0x90, 0x9f, 0xb1, 0x62, 0xaa, 0x80, 0x8, 0x5d, 0x3e, 0x83, 0x66, 0xc6, 0xa3, 0xf, 0xd5, 0x2c, 0x6b, 0xb4, 0x87, 0x58, 0x29, 0x5f, 0xb5, 0xca, 0x2a, 0x8b, 0x57, 0xca, 0xa9, 0x26, 0xe5, 0xe4, 0x8c, 0xb6, 0x4, 0xef, 0xa5, 0x94, 0xc8, 0xac, 0x72, 0xd3, 0x8a, 0x1a, 0xd7, 0xb3, 0xe0, 0x13, 0xb6, 0x4c, 0xc4, 0x4a, 0xeb, 0x25, 0xbf, 0x62, 0x41, 0x8c, 0xbd, 0x98, 0x31, 0xb2, 0xcc, 0x4a, 0x9f, 0x8d, 0xcc, 0xb9, 0x66, 0x13, 0xb1, 0xb, 0xe2, 0xfb, 0x20, 0xa6, 0x93, 0xb2, 0x7f, 0x9f, 0xca, 0x0, 0xb5, 0x4d, 0xf3, 0xb1, 0x85, 0x40, 0xfd, 0x17, 0xf6, 0xab, 0xba, 0xad, 0x29, 0x4f, 0x4a, 0xf5, 0x39, 0x2d, 0x69, 0xad, 0x98, 0x21, 0xaf, 0xa0, 0x3f, 0x91, 0xc1, 0x8, 0x40, 0xaa, 0xc5, 0x61, 0x68, 0x4a, 0xf2, 0xd4, 0x54, 0xf, 0x31, 0x89, 0x95, 0xa1, 0x43, 0x7d, 0x99, 0x71, 0x91, 0x95, 0xe4, 0xc5, 0xf6, 0x36, 0x80, 0xe9, 0xa4, 0x71, 0xe3, 0xec, 0x7, 0x64, 0xc1, 0x14, 0x8d, 0xa9, 0xa2, 0x45, 0x8f, 0x3e, 0x1b, 0x3b, 0x9, 0x7d, 0x2c, 0xf2, 0xb4, 0x46, 0xb1, 0x5d, 0x4f, 0xdc, 0xf5, 0xca, 0x6a, 0xb8, 0x79, 0xcf, 0xa5, 0x29, 0xd8, 0xc9, 0x25, 0x59, 0xe4, 0xa, 0xd8, 0x19, 0x4f, 0xb5, 0x31, 0x28, 0xb9, 0x54, 0x2c, 0x88, 0xde, 0x34, 0x33, 0x1a, 0xf1, 0x7f, 0xb0, 0x77, 0x2b, 0x55, 0xa8, 0x4, 0xda, 0xee, 0xad, 0x7, 0x1e, 0x61, 0x63, 0x22, 0xd2, 0x88, 0x11, 0x91, 0x6, 0x17, 0x41, 0xeb, 0x8e, 0xf6, 0xaf, 0x25, 0x3f, 0x76, 0x30, 0x38, 0xa3, 0x59, 0x34, 0xef, 0x29, 0x95, 0xf1, 0x69, 0x5e, 0x1a, 0x7e, 0xed, 0x1b, 0x58, 0xa9, 0xdd, 0xf3, 0xd0, 0xda, 0x8b, 0x59, 0xd6, 0xb6, 0x9f, 0x8f, 0xf0, 0xb5, 0x6f, 0x9d, 0x4b, 0x96, 0x7d, 0x32, 0x87, 0xb6, 0x17, 0x8d, 0x5c, 0x6, 0x1d, 0x35, 0xd2, 0x89, 0xfd, 0x0, 0x6c, 0xdd, 0x5c, 0x32, 0x32, 0x5d, 0x61, 0xec, 0x8, 0xc8, 0xa6, 0x19, 0x8d, 0x10, 0xc6, 0x42, 0x53, 0x78, 0x42, 0x11, 0x16, 0x70, 0xc6, 0xbf, 0x40, 0xf2, 0xd9, 0x91, 0x98, 0x21, 0x70, 0x17, 0x91, 0xf9, 0x62, 0x41, 0x4d, 0x28, 0xaf, 0x55, 0xa3, 0x4a, 0x2f, 0x51, 0x7e, 0xbf, 0x6d, 0x5d, 0x9f, 0x21, 0xa3, 0xa5, 0xd7, 0xc8, 0x56, 0x9a, 0x2f, 0x53, 0x20, 0xe0, 0x9c, 0x8f, 0x16, 0x7a, 0x33, 0x15, 0x60, 0xc1, 0xb8, 0x34, 0x9, 0xcd, 0x81, 0x98, 0xe2, 0xe9, 0x4d, 0xd, 0x51, 0xd1, 0x2c, 0xa3, 0x21, 0x64, 0x30, 0x57, 0x6c, 0x21, 0x8b, 0xfb, 0xbb, 0x6e, 0x77, 0x4f, 0x79, 0x7a, 0xd3, 0xb8, 0xab, 0xfa, 0x47, 0x53, 0x2a, 0x8, 0x5, 0x39, 0xa8, 0x88, 0x9c, 0xc9, 0xe, 0x91, 0x79, 0x34, 0x27, 0xd4, 0x54, 0x6d, 0x0, 0xc5, 0x11, 0x9f, 0xe6, 0xc, 0xc7, 0x6e, 0x82, 0xcd, 0x57, 0x42, 0xd1, 0xc4, 0x99, 0xe4, 0x3b, 0xdd, 0xd9, 0xb1, 0xee, 0x22, 0x28, 0x0, 0xe8, 0xdd, 0x2d, 0xa1, 0x53, 0x20, 0x13, 0x52, 0x16, 0x2d, 0xb0, 0xf2, 0xcb, 0x69, 0x68, 0xaa, 0x19, 0xcf, 0xb7, 0x9d, 0x67, 0x89, 0x47, 0x94, 0x5f, 0xf6, 0xd7, 0x80, 0x14, 0x57, 0xcc, 0xa9, 0x53, 0x2e, 0xd5, 0x57, 0x7d, 0x32, 0xee, 0x91, 0xfc, 0x5b, 0x3f, 0x1a, 0xd7, 0xf9, 0xa3, 0xb0, 0x43, 0x9b, 0xfb, 0xb2, 0xe, 0xe3, 0xf9, 0xf1, 0x3c, 0x39, 0x7f, 0x6f, 0xc6, 0xfc, 0xce, 0xe6, 0x73, 0x8d, 0xcd, 0x84, 0xcf, 0x1b, 0x45, 0x61, 0x55, 0x50, 0xe3, 0x4a, 0x66, 0x4b, 0x45, 0xf0, 0x56, 0x8c, 0x6f, 0xcb, 0x5e, 0xa, 0x52, 0x6f, 0xdd, 0x72, 0x9e, 0x9e, 0xfc, 0x1f, 0xf8, 0x93, 0x7f, 0x49, 0x2b, 0x3e, 0x4f, 0xb, 0x74, 0xd, 0xb0, 0x5b, 0xe5, 0x57, 0x7b, 0x6d, 0xe2, 0x31, 0x9a, 0x11, 0x6d, 0xbc, 0x76, 0x4b, 0xcf, 0xc6, 0x61, 0x8, 0x16, 0x4f, 0xc9, 0x5, 0x96, 0xa2, 0xb1, 0x77, 0x2, 0xa2, 0xb5, 0xb4, 0x9d, 0x99, 0xa, 0x55, 0xd4, 0x99, 0xe9, 0x2d, 0xe5, 0x9, 0xd8, 0x8f, 0xd6, 0xc1, 0xcc, 0x41, 0xc1, 0xc6, 0xb8, 0xa4, 0x8d, 0xcf, 0xcb, 0xeb, 0x14, 0xaf, 0xad, 0x79, 0x56, 0xb3, 0x36, 0x56, 0x51, 0x20, 0xf4, 0x87, 0x5a, 0xba, 0x99, 0x2f, 0x3, 0x23, 0x1b, 0x94, 0x99, 0xca, 0xcd, 0x6f, 0xff, 0xc, 0x5e, 0xc7, 0x22, 0xfd, 0x43, 0x65, 0xd5, 0x3c, 0x9, 0x4c, 0xb6, 0x14, 0xed, 0x42, 0xae, 0x2a, 0xfc, 0xca, 0x5a, 0x72, 0xb9, 0x53, 0x73, 0x3, 0xf6, 0x69, 0xd2, 0x14, 0xf0, 0xb7, 0xc3, 0xaa, 0xf8, 0x5e, 0xad, 0x5e, 0xa3, 0x3b, 0x7f, 0x4b, 0xc5, 0xfd, 0x9b, 0xbb, 0xb7, 0x6b, 0x8c, 0xd3, 0x98, 0xcf, 0x66, 0x2c, 0xd3, 0xd6, 0x8d, 0x73, 0x3a, 0x79, 0x77, 0x2c, 0x2c, 0x4b, 0x16, 0x5c, 0xb7, 0x75, 0x5e, 0x21, 0x64, 0xf3, 0x5c, 0x12, 0xa1, 0xef, 0xf5, 0x52, 0x2c, 0x8d, 0x33, 0xa8, 0xa6, 0xb8, 0xb2, 0x81, 0xf9, 0xa9, 0xd3, 0xbe, 0x82, 0xc9, 0xc1, 0xbb, 0x7a, 0x28, 0x75, 0xc3, 0xb, 0x8f, 0x71, 0x98, 0xc1, 0x23, 0x51, 0xc3, 0x1d, 0xfe, 0xac, 0xc9, 0x93, 0xc6, 0xa0, 0xf5, 0xc1, 0xc, 0x25, 0xf0, 0x92, 0x8e, 0x45, 0xcb, 0x5, 0x29, 0xc3, 0xcd, 0xb, 0xa9, 0x14, 0xc4, 0x8, 0x29, 0xdd, 0x6d, 0x6d, 0x28, 0x20, 0x79, 0x91, 0xa, 0xe5, 0x9a, 0xf9, 0x71, 0x16, 0x74, 0xe5, 0x50, 0x8c, 0x0, 0x94, 0x7c, 0x43, 0x37, 0x86, 0x33, 0x11, 0x8a, 0x81, 0xa3, 0x4a, 0x2c, 0x8f, 0x12, 0x76, 0xcb, 0x92, 0x97, 0xd, 0x7a, 0xe5, 0x79, 0xae, 0x22, 0xe1, 0x25, 0x75, 0x4b, 0xb5, 0x12, 0x93, 0xd3, 0xef, 0xf7, 0xd9, 0xe, 0x9f, 0x1f, 0xf5, 0x38, 0x95, 0xa3, 0xf6, 0x6e, 0x2d, 0xff, 0x6a, 0x1a, 0xba, 0x30, 0x66, 0x5f, 0xc1, 0x4f, 0xae, 0xa7, 0x67, 0x7d, 0x83, 0xcd, 0xf3, 0xcb, 0xd3, 0xba, 0x19, 0x16, 0x3a, 0x7a, 0xae, 0x7b, 0x12, 0x78, 0xc, 0x90, 0x60, 0x15, 0x34, 0x77, 0x3d, 0xba, 0xcb, 0xfd, 0x96, 0x30, 0xe, 0x11, 0x6b, 0x34, 0x7c, 0x31, 0x36, 0xfb, 0x4, 0xa5, 0x6c, 0xcc, 0xa4, 0xba, 0xcf, 0xb, 0x7, 0x6e, 0x96, 0xb3, 0x83, 0x9, 0xe1, 0x6e, 0x68, 0xff, 0x96, 0xa5, 0xaa, 0x85, 0xda, 0x6e, 0x58, 0x74, 0xdb, 0xcf, 0x79, 0xdb, 0x7, 0x83, 0x26, 0x85, 0x7e, 0x7b, 0xdd, 0x7d, 0xb, 0xab, 0x8, 0x3c, 0xbd, 0xad, 0xe2, 0xf7, 0x86, 0xfd, 0xf1, 0x70, 0x73, 0xd0, 0x5e, 0xf8, 0xd5, 0xe0, 0x6c, 0x72, 0x31, 0x3c, 0xff, 0x30, 0xec, 0x8f, 0x46, 0x6b, 0xbe, 0x3a, 0x3b, 0x3f, 0x9b, 0xc0, 0x7f, 0xf7, 0xde, 0x9d, 0xf6, 0x41, 0x6d, 0xbb, 0x1c, 0xf6, 0xd7, 0x7c, 0xaf, 0xb5, 0xa8, 0xa2, 0xe, 0x55, 0xfe, 0xe2, 0x53, 0xef, 0x3f, 0x6, 0x9f, 0x2e, 0x3f, 0x4d, 0x7a, 0xe3, 0x71, 0xff, 0xd3, 0xc5, 0x78, 0x34, 0x19, 0xf6, 0x7b, 0xc7, 0x1f, 0xd7, 0x4e, 0x15, 0xff, 0xfd, 0xe2, 0xfc, 0x74, 0x70, 0xfc, 0x97, 0xc9, 0xd9, 0xf9, 0x78, 0x32, 0xea, 0xaf, 0x1b, 0x61, 0x70, 0x36, 0xee, 0xf, 0xcf, 0x7a, 0xa7, 0x93, 0x51, 0x7f, 0xf8, 0x6b, 0x7f, 0x38, 0xe9, 0xf, 0x87, 0xe7, 0xc3, 0x35, 0xdf, 0xaf, 0x89, 0x2b, 0x6c, 0x90, 0x3c, 0x15, 0x15, 0xca, 0x9e, 0xf4, 0x79, 0x98, 0x3c, 0xd9, 0x9a, 0xc8, 0x6b, 0x95, 0x9a, 0xb5, 0xd9, 0xac, 0xb6, 0xc1, 0xf3, 0xaa, 0x9d, 0xf6, 0x90, 0x62, 0x83, 0x1e, 0x42, 0xd4, 0x1f, 0xe9, 0x23, 0xcb, 0x2, 0x8d, 0x4f, 0x64, 0xe4, 0xa, 0x38, 0x44, 0x35, 0x40, 0x84, 0x2c, 0x72, 0xa9, 0xc0, 0xd9, 0x6f, 0x9f, 0x77, 0x1e, 0x6c, 0x30, 0xd1, 0x53, 0xc0, 0xe0, 0x83, 0xb, 0x18, 0x84, 0x27, 0x88, 0x1a, 0x3c, 0x35, 0x3b, 0xdf, 0x59, 0xd5, 0x62, 0xfb, 0xe, 0xe8, 0xec, 0x81, 0x7, 0x1b, 0xa6, 0x5, 0xfd, 0xfb, 0x6b, 0x84, 0x17, 0x56, 0x99, 0x49, 0x33, 0x45, 0x18, 0x7e, 0xf2, 0xbd, 0x1d, 0xfa, 0x53, 0xa4, 0xe2, 0x83, 0x89, 0x54, 0xfc, 0x3a, 0xaf, 0x93, 0xa5, 0x2b, 0x56, 0x7d, 0xac, 0x44, 0xcf, 0x28, 0x97, 0x64, 0xc1, 0xa4, 0xa4, 0xd7, 0xcc, 0x95, 0x91, 0x46, 0x73, 0xb0, 0x3, 0x9a, 0x7f, 0xba, 0xb2, 0x96, 0x28, 0xcd, 0x58, 0x95, 0xd9, 0xb9, 0x6f, 0x1, 0x3e, 0x98, 0xa7, 0x73, 0x96, 0x71, 0x34, 0x12, 0x6f, 0x69, 0x92, 0x87, 0x8e, 0x9f, 0xbb, 0x42, 0xda, 0xb1, 0x55, 0xac, 0x2e, 0x9c, 0xda, 0xf4, 0xc9, 0x84, 0x56, 0xf4, 0xbf, 0x68, 0x52, 0xa4, 0x49, 0xb2, 0x2, 0x5d, 0xbf, 0xea, 0xba, 0xba, 0x2f, 0xb, 0xa3, 0xe6, 0xf8, 0xb9, 0xab, 0xb9, 0x7f, 0xe5, 0x1c, 0x8c, 0x88, 0x1f, 0x69, 0xd3, 0x61, 0x2c, 0xde, 0xe, 0xee, 0x23, 0x2c, 0xc1, 0x84, 0x78, 0x44, 0x22, 0x43, 0xb, 0x3f, 0xd6, 0x32, 0xc6, 0x1f, 0x7e, 0xca, 0xee, 0x86, 0x5f, 0x91, 0x8a, 0xab, 0x55, 0x32, 0x25, 0x53, 0x9d, 0xb0, 0x10, 0x6a, 0x81, 0xc6, 0x2b, 0xf, 0xd, 0x0, 0xb7, 0x19, 0x69, 0x46, 0xb, 0x71, 0x1e, 0xa6, 0x5e, 0xb6, 0xf, 0x95, 0x11, 0x69, 0xd5, 0xbf, 0xc2, 0x82, 0x7, 0x30, 0x1f, 0x63, 0xa8, 0x2a, 0x9e, 0x15, 0x20, 0x9e, 0xec, 0xd6, 0x3a, 0x57, 0xaa, 0x15, 0xf0, 0x87, 0xf6, 0xa1, 0xf1, 0xbb, 0x23, 0x5, 0x7c, 0x32, 0xf5, 0x38, 0xda, 0x5, 0x62, 0x70, 0xe3, 0xd8, 0x3b, 0x1, 0x2b, 0xb6, 0xf6, 0xf9, 0x1e, 0x93, 0xdc, 0x4, 0xe7, 0x8a, 0x95, 0x5d, 0x71, 0x82, 0x62, 0xb1, 0x0, 0xb8, 0x53, 0x78, 0xcf, 0x5d, 0x8a, 0xac, 0x50, 0x60, 0xa8, 0x7a, 0x14, 0xfb, 0x9e, 0x41, 0xfc, 0x35, 0x82, 0xb2, 0x7b, 0x71, 0xc, 0xd2, 0x14, 0x62, 0xdb, 0xbc, 0xfb, 0xd, 0xfc, 0x5f, 0x5, 0xe2, 0x73, 0x2b, 0xce, 0x97, 0x70, 0x55, 0xd3, 0x19, 0xcf, 0x16, 0x0, 0x5a, 0x18, 0x0, 0x9e, 0xbb, 0x51, 0x12, 0x6d, 0xea, 0xa8, 0x3a, 0x92, 0xdc, 0xfe, 0x98, 0x4a, 0xf7, 0xd1, 0x93, 0x55, 0x10, 0x38, 0x53, 0x26, 0xb1, 0x26, 0x88, 0x74, 0x3c, 0xce, 0x8c, 0xcd, 0x58, 0x26, 0x49, 0xa3, 0xc2, 0x5b, 0xa9, 0xdc, 0xfb, 0xed, 0xae, 0x83, 0xd9, 0xe8, 0x3a, 0x6, 0xb9, 0xab, 0xa3, 0x67, 0xab, 0xb9, 0x15, 0x51, 0x7f, 0xb7, 0x9d, 0x59, 0x6b, 0x9f, 0x52, 0x69, 0x4e, 0x7e, 0x3e, 0xb6, 0x34, 0xe5, 0x5c, 0xb8, 0x8, 0x8d, 0x86, 0xea, 0xca, 0xf8, 0xe5, 0xe1, 0xa2, 0xc1, 0x4c, 0x4f, 0x23, 0x45, 0x17, 0xcb, 0xb6, 0xb2, 0xc2, 0x86, 0x7c, 0xe9, 0xab, 0x54, 0xb3, 0x2, 0x5f, 0xca, 0x12, 0x96, 0x50, 0x80, 0x3f, 0x2e, 0x89, 0x84, 0x13, 0xa6, 0xf5, 0x56, 0xa8, 0x1a, 0x16, 0xba, 0xdf, 0xe5, 0x1c, 0xcc, 0xb8, 0x29, 0x23, 0x51, 0xc2, 0x68, 0x8a, 0x5a, 0x3c, 0x3c, 0xd1, 0x98, 0xc8, 0x2e, 0x9e, 0x5e, 0x1f, 0xfd, 0xc, 0x65, 0x6e, 0x20, 0x94, 0x74, 0x21, 0xb4, 0xac, 0x20, 0x7f, 0x85, 0xaf, 0xf3, 0xe5, 0x51, 0x58, 0xc, 0xe7, 0xe8, 0xee, 0xf6, 0x6f, 0x55, 0xd6, 0x55, 0xe0, 0xa9, 0x3b, 0xf3, 0xae, 0xaf, 0xe1, 0x98, 0x7e, 0x3e, 0x62, 0x19, 0xa7, 0x9, 0xff, 0x7, 0x84, 0x9f, 0x22, 0x4a, 0x6b, 0x39, 0xbc, 0x87, 0xc, 0xfa, 0x4e, 0x2d, 0xcd, 0xb3, 0x14, 0x55, 0xac, 0x4a, 0xb9, 0x67, 0x8b, 0x50, 0x53, 0xf5, 0x21, 0x7d, 0xcd, 0xb, 0xef, 0x1c, 0x3c, 0xf, 0xe5, 0x9e, 0x6f, 0x9c, 0xd0, 0xc1, 0xae, 0x37, 0x88, 0x1b, 0xef, 0x6e, 0x87, 0xe1, 0xf5, 0xa5, 0x78, 0xba, 0xdc, 0x7, 0xbd, 0xdc, 0xef, 0xe1, 0x61, 0x7d, 0xbf, 0x9b, 0xfd, 0x35, 0xde, 0x74, 0x4a, 0xb9, 0xf, 0xdf, 0xf2, 0x56, 0xda, 0xa7, 0xa5, 0x87, 0x71, 0x25, 0x37, 0xcc, 0xe6, 0xb0, 0xf7, 0xd1, 0xe4, 0x98, 0x54, 0x2f, 0xe3, 0xd3, 0x5b, 0xcc, 0x77, 0xf2, 0x16, 0x43, 0x9e, 0x38, 0xe7, 0x81, 0x38, 0xe7, 0xa8, 0xc0, 0x79, 0x76, 0x66, 0x9e, 0xbb, 0x87, 0x81, 0x8e, 0xdd, 0x96, 0xbd, 0x82, 0x38, 0x68, 0x2a, 0x25, 0xbf, 0x86, 0xf8, 0x8, 0x1f, 0x16, 0x5a, 0xf6, 0xb6, 0x55, 0x86, 0xdd, 0xff, 0xc5, 0xf6, 0x10, 0xef, 0x73, 0xfb, 0xc5, 0xa1, 0x3, 0x3e, 0x5d, 0xdb, 0xc6, 0x55, 0x1d, 0xf2, 0xe9, 0x71, 0xf0, 0xe9, 0x71, 0xf0, 0x9b, 0x9e, 0xf5, 0xd3, 0xe3, 0xe0, 0xd3, 0xe3, 0xe0, 0xd3, 0xe3, 0xe0, 0xd3, 0xe3, 0xe0, 0x83, 0x78, 0x1c, 0x7c, 0xb0, 0xde, 0x74, 0xf2, 0x95, 0x5f, 0x2e, 0x4b, 0xf7, 0xc7, 0x28, 0x3f, 0x5a, 0x52, 0x52, 0xcd, 0x76, 0xad, 0xb2, 0x45, 0x2d, 0x18, 0x66, 0xf1, 0x9, 0x28, 0x12, 0xa9, 0xca, 0x84, 0xad, 0x11, 0xa, 0x7c, 0x12, 0xf1, 0x46, 0x9f, 0x4b, 0x12, 0xaf, 0x52, 0xba, 0xe0, 0x51, 0x91, 0xc, 0xc1, 0x77, 0x7a, 0x9d, 0xdb, 0x3a, 0xfc, 0xc3, 0x50, 0x2a, 0xcf, 0xe9, 0x72, 0xc9, 0x52, 0x7d, 0x1, 0x37, 0x0, 0x33, 0x91, 0x31, 0x24, 0xc0, 0x41, 0xa4, 0xbb, 0x95, 0xeb, 0x92, 0xa9, 0xaa, 0xc0, 0x5f, 0x4d, 0x70, 0x9e, 0xdd, 0x5, 0xd2, 0xcc, 0xc4, 0xbd, 0x30, 0x29, 0x41, 0xde, 0x78, 0x6a, 0x8, 0x6a, 0xcf, 0xbe, 0xcb, 0x79, 0x12, 0xd7, 0xd1, 0xc0, 0x54, 0x8, 0xad, 0x33, 0xb7, 0x55, 0x6c, 0xcc, 0x73, 0x29, 0x97, 0xf8, 0x86, 0x56, 0xcc, 0x80, 0xb1, 0x3a, 0xbb, 0xdb, 0x5e, 0x23, 0x64, 0x60, 0xf0, 0x9a, 0x4a, 0xc7, 0x5d, 0x72, 0xae, 0xb9, 0xca, 0x1d, 0x97, 0xac, 0x53, 0x5c, 0x65, 0xf, 0x7a, 0x80, 0xac, 0xdb, 0x2c, 0x4f, 0x58, 0xc5, 0xf, 0xf8, 0x5c, 0x12, 0x4d, 0xe2, 0x4, 0x34, 0x51, 0xa7, 0xfc, 0xd8, 0x9b, 0x1e, 0x33, 0xc, 0xe6, 0x66, 0x85, 0xd1, 0xbf, 0xa1, 0xe5, 0x41, 0x9e, 0x5e, 0xbc, 0x49, 0xd9, 0x0, 0xb, 0x1c, 0x2d, 0xdf, 0xd3, 0xab, 0x26, 0xaa, 0x75, 0x5f, 0xc3, 0x5d, 0xe3, 0x5, 0x77, 0x9d, 0xc7, 0x6, 0x9e, 0xe0, 0xf6, 0x7e, 0x7b, 0x2b, 0x26, 0x2, 0xf8, 0x1c, 0x0, 0x77, 0x80, 0x43, 0xc8, 0xd8, 0xac, 0x39, 0x38, 0xf3, 0x8, 0xd8, 0x25, 0x9f, 0xa8, 0x8a, 0xe6, 0x5a, 0xd1, 0x30, 0x2c, 0x12, 0xd9, 0x40, 0x49, 0xfa, 0x33, 0x15, 0x96, 0x1, 0x9e, 0x70, 0x4c, 0xf7, 0x68, 0xd1, 0x3f, 0xa6, 0xf4, 0xa5, 0xec, 0x8e, 0x5c, 0x5e, 0xe, 0x4e, 0xcc, 0x4d, 0x45, 0xa1, 0x3e, 0xcb, 0x93, 0xe2, 0x28, 0x16, 0xcb, 0x83, 0x36, 0xf7, 0xa, 0x26, 0x18, 0xca, 0x52, 0xcd, 0xdb, 0x1, 0xd5, 0xc2, 0x4c, 0xdf, 0xd6, 0x23, 0xbe, 0x86, 0xb9, 0x52, 0x9f, 0x9c, 0x50, 0x62, 0x4d, 0x52, 0xf8, 0x36, 0x11, 0xf0, 0xa, 0x3, 0xcc, 0x91, 0xc6, 0xae, 0xd6, 0x50, 0x61, 0x2b, 0xec, 0x53, 0x45, 0x7d, 0x85, 0x65, 0xbd, 0x17, 0xd0, 0x1f, 0xab, 0x40, 0x8e, 0x98, 0x57, 0x5b, 0xbd, 0xa6, 0x8e, 0x1f, 0x13, 0x98, 0x9d, 0x16, 0x50, 0x3c, 0xcd, 0x19, 0x72, 0xbb, 0x84, 0xdf, 0xb2, 0xcc, 0xe0, 0xdb, 0xcb, 0x1b, 0x30, 0x2a, 0x8d, 0x96, 0xf7, 0x99, 0xab, 0x39, 0x62, 0x5d, 0xdb, 0x73, 0xee, 0x54, 0x8b, 0xfc, 0xe3, 0x9, 0xd5, 0xcc, 0xb8, 0x87, 0xf9, 0x11, 0x76, 0xef, 0x0, 0xf, 0x1a, 0xcb, 0x7d, 0xfa, 0xd9, 0xc0, 0xf7, 0x71, 0x26, 0x96, 0x6e, 0xfc, 0x20, 0x53, 0x74, 0x47, 0x34, 0x2b, 0x18, 0x10, 0x0, 0x41, 0x14, 0x79, 0x83, 0x42, 0xc6, 0x47, 0x53, 0x68, 0x71, 0x29, 0x83, 0xbb, 0xe8, 0x50, 0x9e, 0x9c, 0xe9, 0x5b, 0xe3, 0x41, 0x2b, 0x2, 0x56, 0x7d, 0x2d, 0xc8, 0x9f, 0xd2, 0x65, 0xfb, 0x6c, 0x21, 0x37, 0x98, 0xb2, 0x92, 0x31, 0x7c, 0xf1, 0x9e, 0x15, 0x9d, 0xe4, 0x1d, 0x24, 0x94, 0x70, 0x99, 0xcb, 0x8c, 0xdd, 0x72, 0x91, 0xcb, 0x64, 0xe5, 0xf0, 0x82, 0xd2, 0x58, 0xf7, 0x93, 0x16, 0xf, 0x13, 0x41, 0xaf, 0x40, 0x83, 0x88, 0xbb, 0xdf, 0x8b, 0xe3, 0x50, 0x53, 0xed, 0x1c, 0xb8, 0x8e, 0x5d, 0x72, 0x11, 0x59, 0xe3, 0x1b, 0x8b, 0xef, 0x29, 0x2a, 0x50, 0x43, 0x16, 0xf3, 0x8c, 0x45, 0x98, 0x19, 0x5f, 0x74, 0x7a, 0xed, 0xc0, 0x7e, 0x2f, 0x25, 0x6a, 0x98, 0x10, 0x2, 0x64, 0xb0, 0x10, 0x30, 0x1d, 0x4f, 0x9, 0x23, 0xf0, 0x92, 0x15, 0xc9, 0x18, 0x5d, 0x2e, 0x93, 0x15, 0x4e, 0x41, 0xab, 0x51, 0x99, 0x99, 0x84, 0x34, 0x30, 0x20, 0xac, 0x54, 0x4f, 0xc3, 0x1e, 0xf8, 0x1c, 0xc8, 0x0, 0x9a, 0x99, 0xe8, 0x25, 0xe0, 0xeb, 0x20, 0xcd, 0xca, 0xdc, 0xe6, 0x5b, 0x39, 0x62, 0xb5, 0xb5, 0x15, 0x9f, 0xe7, 0xea, 0xe1, 0x3f, 0x62, 0x35, 0xa8, 0xc2, 0x1, 0x8a, 0x4b, 0x6c, 0xae, 0x65, 0xc7, 0x18, 0x41, 0x70, 0x1, 0x3b, 0xee, 0x92, 0x2, 0xeb, 0x8a, 0x89, 0xc8, 0x41, 0x73, 0xa2, 0xfe, 0xc6, 0x6b, 0x6d, 0x5a, 0x89, 0xc, 0x4b, 0x2d, 0x17, 0x6a, 0xd1, 0xe9, 0x7f, 0xae, 0x22, 0x9a, 0x4b, 0x76, 0xa5, 0xc5, 0x1b, 0x64, 0xd5, 0x7e, 0x53, 0xed, 0xc7, 0xf8, 0x8, 0x1e, 0xc6, 0xeb, 0xd9, 0x86, 0xd9, 0x3c, 0x3d, 0x6b, 0x7d, 0x27, 0xcf, 0x5a, 0xbd, 0x9a, 0xe7, 0x8c, 0x96, 0x17, 0x1f, 0x6a, 0xdd, 0xac, 0x1f, 0xb2, 0xb9, 0xa2, 0x7c, 0x1, 0xe0, 0x20, 0x78, 0x77, 0xc9, 0xd, 0x5b, 0xa6, 0x1, 0x6c, 0x16, 0x14, 0x8a, 0x45, 0x75, 0x6b, 0x66, 0x2d, 0x4b, 0x1f, 0x95, 0x32, 0xb6, 0xa8, 0x6a, 0x9d, 0xe2, 0xfd, 0xb5, 0xb5, 0x87, 0xa8, 0xb, 0x49, 0xf1, 0x2a, 0xac, 0x14, 0xb, 0x86, 0xca, 0xc, 0x84, 0xaf, 0x65, 0x6, 0xd5, 0x49, 0x96, 0xd, 0xdd, 0x67, 0xba, 0x93, 0x67, 0xb8, 0x51, 0x9, 0xcb, 0xd4, 0x96, 0x3b, 0x64, 0xec, 0xbc, 0xcd, 0xd9, 0x85, 0xec, 0x96, 0x95, 0xed, 0xd3, 0xba, 0xbb, 0x32, 0xea, 0xff, 0xda, 0x1f, 0xea, 0x6b, 0xd9, 0x7c, 0x51, 0xdc, 0x27, 0x1f, 0x7, 0x1f, 0x3e, 0x36, 0xfd, 0xf6, 0xa9, 0x7f, 0x32, 0xb8, 0xfc, 0xd4, 0xf4, 0xeb, 0xe9, 0xf9, 0xe7, 0x1d, 0x8, 0xa9, 0x1c, 0xb, 0xa9, 0xb7, 0xb, 0x74, 0x65, 0x28, 0x6d, 0x9f, 0xa, 0xe5, 0x63, 0x93, 0x21, 0x47, 0xda, 0x2c, 0xd9, 0x58, 0xa7, 0x1e, 0x9c, 0x6e, 0xf7, 0xa4, 0x4e, 0x55, 0x7a, 0x91, 0xab, 0x9d, 0x79, 0x2a, 0xd2, 0xa1, 0x75, 0xad, 0x6e, 0xf6, 0xc8, 0xd4, 0x84, 0x8d, 0x6e, 0xf7, 0x44, 0x96, 0xb2, 0x2f, 0x88, 0x6, 0x79, 0xc2, 0x12, 0xba, 0xfa, 0xc6, 0x9e, 0x6c, 0x3d, 0x99, 0x9, 0x3a, 0xb1, 0x0, 0xe6, 0xf, 0x9e, 0x48, 0xac, 0xef, 0xc6, 0x38, 0xdb, 0xa2, 0x84, 0x3, 0x8f, 0x17, 0x44, 0xdc, 0xb2, 0x2c, 0xe3, 0x31, 0xab, 0x7f, 0x6, 0x85, 0x7f, 0x4a, 0x80, 0x8e, 0x1, 0xaa, 0xa1, 0xe9, 0x2d, 0xf4, 0xec, 0xa1, 0x6b, 0x6e, 0xe5, 0x43, 0xb2, 0xb5, 0x35, 0x55, 0xb2, 0x84, 0x94, 0x55, 0xd3, 0x73, 0x38, 0x6c, 0xa7, 0xaa, 0x1b, 0xff, 0xac, 0xf5, 0xcc, 0x25, 0x7c, 0xc1, 0x15, 0xca, 0x76, 0x0, 0x3c, 0x2, 0x6f, 0x2d, 0xfc, 0xb1, 0xd8, 0x9f, 0xad, 0x2d, 0x6d, 0x66, 0x63, 0xe6, 0xe1, 0xbe, 0xd1, 0x2a, 0xd7, 0xb5, 0xc8, 0x36, 0x5e, 0xbb, 0xde, 0xc5, 0xc5, 0xe9, 0xe0, 0xb8, 0x7, 0xb0, 0x1e, 0xc0, 0x92, 0x27, 0xc7, 0xbd, 0x71, 0xff, 0xc3, 0xf9, 0x70, 0xdd, 0x45, 0x5c, 0xd3, 0xe8, 0x5d, 0xff, 0x6c, 0xf0, 0xe1, 0x6c, 0x87, 0x3b, 0xf6, 0x8e, 0x46, 0x37, 0x33, 0x9e, 0xd8, 0x28, 0xe0, 0x6d, 0x3d, 0x36, 0xf6, 0xe1, 0x6e, 0x5f, 0xc7, 0x85, 0xde, 0xed, 0x8c, 0xa6, 0xd7, 0x60, 0x2, 0xb3, 0x5b, 0x9a, 0xe4, 0x54, 0x79, 0x34, 0x43, 0xc2, 0xd3, 0x2e, 0x39, 0xb6, 0x98, 0x85, 0x1d, 0xaf, 0x2e, 0x98, 0x36, 0xe5, 0xb7, 0xf, 0xf6, 0x25, 0x4a, 0x72, 0xc9, 0x6f, 0x11, 0x1f, 0x2, 0x1f, 0x4a, 0x2d, 0x92, 0x2, 0xa0, 0x50, 0xd9, 0xdf, 0x58, 0x1a, 0xc3, 0x2f, 0x5d, 0xf2, 0xc2, 0xf2, 0x71, 0x1a, 0xa3, 0xbf, 0x3e, 0x29, 0x11, 0x66, 0x84, 0x26, 0x2, 0x4f, 0x55, 0xce, 0x95, 0x6e, 0xe, 0x9d, 0x21, 0x8e, 0x66, 0x34, 0xc7, 0x69, 0xa0, 0x13, 0x64, 0x96, 0xab, 0x3c, 0x63, 0x1d, 0x22, 0x85, 0x5e, 0x8c, 0x26, 0x3d, 0x3a, 0x63, 0x1d, 0x80, 0x49, 0xa3, 0x65, 0xe2, 0xa4, 0x99, 0xc2, 0x85, 0xe8, 0xed, 0x8a, 0x0, 0x81, 0xd4, 0x3e, 0x25, 0x96, 0x20, 0x1f, 0x5e, 0x92, 0x5e, 0x22, 0x5, 0xf1, 0xf0, 0x7, 0xe6, 0xdd, 0xa8, 0x6c, 0x26, 0xa4, 0x62, 0x51, 0xc1, 0x2c, 0x32, 0x13, 0x73, 0xb7, 0x6a, 0x9a, 0x9b, 0xcc, 0x87, 0xdf, 0xf4, 0x52, 0xad, 0x83, 0x2a, 0x97, 0x73, 0x6, 0x8f, 0x96, 0xf0, 0xde, 0x54, 0xda, 0x51, 0xb3, 0x51, 0xe8, 0xaf, 0x40, 0xe0, 0x4c, 0x3, 0xe8, 0xd5, 0x16, 0xc, 0x9b, 0xa5, 0x6d, 0xa1, 0xb8, 0x9b, 0xfb, 0xd0, 0xc, 0x24, 0xa1, 0xcb, 0xea, 0xab, 0x43, 0xad, 0x68, 0x33, 0x3a, 0xef, 0xe4, 0xfc, 0xd7, 0xfe, 0xf0, 0xb4, 0x77, 0x61, 0x95, 0xa6, 0x35, 0x92, 0xae, 0xa1, 0xc5, 0xe8, 0x97, 0xc1, 0x45, 0xcb, 0x4f, 0xdf, 0x5d, 0xbe, 0x7f, 0xdf, 0x1f, 0x4e, 0xce, 0xcf, 0xca, 0x8a, 0xe1, 0x86, 0x6, 0xbd, 0xd3, 0xd3, 0x96, 0xd, 0x8c, 0x86, 0x76, 0x3e, 0xfe, 0xd8, 0x2f, 0x2b, 0x72, 0x4d, 0x4d, 0x1c, 0xc8, 0xd0, 0x56, 0xad, 0x7a, 0xa7, 0xa7, 0xe7, 0x9f, 0x4b, 0x13, 0x6b, 0x9, 0x4f, 0x5, 0xaf, 0x9, 0x8e, 0xdb, 0x9b, 0x53, 0x2b, 0x66, 0x9d, 0x71, 0xb9, 0xe, 0x2d, 0x2b, 0xe0, 0x4f, 0xf1, 0x3b, 0x9e, 0xd2, 0x8c, 0x6f, 0x6d, 0x44, 0x4e, 0x4b, 0xcd, 0x1a, 0x9a, 0xea, 0x7f, 0xa8, 0xcb, 0xb2, 0xb8, 0xa8, 0xe9, 0x88, 0x6c, 0x10, 0xd1, 0x76, 0x8a, 0x80, 0x79, 0xf4, 0xbc, 0x30, 0xeb, 0xd5, 0xe, 0x3a, 0x47, 0xd6, 0xe, 0xe1, 0x10, 0xab, 0xdb, 0x89, 0xcd, 0x3e, 0x8b, 0x28, 0x63, 0xb4, 0x35, 0xc4, 0x6e, 0xfd, 0xd5, 0x7b, 0x47, 0x55, 0x34, 0x3f, 0xb7, 0xe5, 0xf4, 0x8e, 0x83, 0x8c, 0x92, 0x2d, 0xd7, 0xb6, 0xab, 0x4b, 0x7d, 0xec, 0x34, 0x7a, 0xb5, 0x2a, 0x3a, 0x9a, 0x5e, 0xa1, 0x76, 0xb1, 0xc1, 0x38, 0x68, 0x5e, 0x0, 0x91, 0x4c, 0xdb, 0x99, 0xc5, 0xec, 0x26, 0xf0, 0xc4, 0x4c, 0x75, 0x1b, 0xf7, 0xe4, 0x11, 0x3a, 0x58, 0x7e, 0x61, 0xc, 0xfd, 0xa3, 0xae, 0xd2, 0xa9, 0xe6, 0xb0, 0x72, 0x95, 0x46, 0x26, 0x9f, 0x8c, 0x2d, 0x96, 0x22, 0xa3, 0x49, 0x97, 0x2e, 0xb9, 0xab, 0x15, 0x6a, 0x5c, 0xb2, 0xdd, 0xdb, 0x37, 0x5d, 0x23, 0x6b, 0x71, 0x1a, 0x4d, 0xa5, 0x2e, 0x83, 0xf1, 0x6, 0xd7, 0xa9, 0x16, 0x9, 0x33, 0x9e, 0x49, 0xe5, 0xab, 0x90, 0x4e, 0xb2, 0x3c, 0x9d, 0xf0, 0x98, 0x4c, 0x19, 0x78, 0x14, 0xdc, 0x4b, 0x1e, 0xa8, 0x5e, 0xfa, 0x8e, 0x99, 0x2, 0x27, 0x2e, 0x9e, 0xc3, 0xd5, 0x43, 0xec, 0xd6, 0x1c, 0xea, 0x9, 0xc3, 0x0, 0xa5, 0xef, 0xf2, 0x40, 0xed, 0xe4, 0xcd, 0x61, 0xc6, 0xf6, 0x3f, 0xbf, 0xce, 0x71, 0xc2, 0xe8, 0x8d, 0x25, 0x4b, 0xeb, 0x36, 0x7b, 0x7, 0xae, 0xf0, 0x9b, 0x98, 0x6e, 0xef, 0x82, 0x81, 0x51, 0x75, 0x53, 0x32, 0x38, 0x9, 0x75, 0xb6, 0xcd, 0x2e, 0x94, 0x77, 0xbd, 0xf1, 0xf1, 0xc7, 0xc9, 0xf9, 0x45, 0x7f, 0xd8, 0x73, 0xd0, 0x73, 0xeb, 0x9c, 0x29, 0xf5, 0xdf, 0xd7, 0xc3, 0xf3, 0xd5, 0x7f, 0xdb, 0x4, 0xcd, 0x57, 0xff, 0x75, 0x5, 0x96, 0xaf, 0xfd, 0x76, 0xb8, 0x6b, 0x80, 0x3b, 0xb1, 0xde, 0x0, 0xdd, 0x43, 0xc5, 0xad, 0x19, 0xcd, 0x28, 0x7b, 0xad, 0x54, 0x9d, 0x9d, 0xd1, 0x21, 0xcb, 0xe3, 0x7a, 0x24, 0xb1, 0x2d, 0xf9, 0xfc, 0x90, 0x49, 0xb6, 0xad, 0x41, 0x70, 0x6f, 0xfc, 0xa0, 0x1b, 0x8, 0xbe, 0x2, 0x72, 0xd, 0xd9, 0x2d, 0xe6, 0x44, 0x32, 0x65, 0x20, 0x70, 0xd6, 0x14, 0xc4, 0xd1, 0xff, 0x31, 0x85, 0xf2, 0x87, 0x54, 0x21, 0x2e, 0xaf, 0x79, 0xec, 0x81, 0xd7, 0x41, 0x71, 0xd7, 0x75, 0xba, 0xce, 0x15, 0xfc, 0x34, 0xd1, 0x4b, 0xbd, 0x82, 0x5f, 0xcd, 0x1f, 0x8c, 0xb3, 0xdf, 0xfe, 0x90, 0x31, 0xc2, 0x81, 0x99, 0xc7, 0x21, 0x2, 0x80, 0x64, 0xaa, 0x1c, 0xfa, 0x5b, 0xef, 0xd6, 0x1c, 0xf5, 0xc7, 0x93, 0xf1, 0x5f, 0x2e, 0xd6, 0x7b, 0x35, 0xdd, 0x47, 0xef, 0x7, 0xc3, 0xd1, 0x78, 0x52, 0x8, 0xf9, 0x69, 0xfe, 0xf8, 0xb4, 0xb7, 0xe6, 0xdb, 0x36, 0x27, 0x18, 0xbe, 0x38, 0x5c, 0x4a, 0x46, 0xae, 0xcc, 0x39, 0x5d, 0x6d, 0xae, 0xfc, 0xa8, 0x37, 0x60, 0x88, 0x1b, 0xd5, 0x7e, 0x1f, 0x86, 0x7d, 0x6d, 0xe, 0xff, 0xa5, 0xdd, 0x7e, 0x14, 0x3e, 0x1e, 0xd, 0x3e, 0x9c, 0xf5, 0xca, 0xda, 0x76, 0xcd, 0x77, 0x67, 0x55, 0x25, 0xbe, 0xe6, 0xab, 0xde, 0xe9, 0xe9, 0xa4, 0x7f, 0x3a, 0xf8, 0x30, 0x78, 0x77, 0xda, 0xff, 0x6a, 0x5b, 0xb6, 0x14, 0x52, 0x19, 0x1a, 0x36, 0x97, 0xf5, 0xf0, 0x50, 0xd5, 0x17, 0x95, 0x31, 0xda, 0xbe, 0xa5, 0xf8, 0x49, 0xc1, 0xc3, 0x17, 0xcb, 0xf4, 0x1a, 0x4c, 0x14, 0x63, 0x18, 0x46, 0x12, 0x94, 0xf4, 0xd1, 0xe3, 0x74, 0x35, 0x17, 0x90, 0xcc, 0xb3, 0xae, 0x20, 0xe, 0x7a, 0xb9, 0x4c, 0x78, 0x39, 0x58, 0xd0, 0x78, 0x72, 0x7e, 0x4a, 0xd9, 0xdd, 0x4f, 0x80, 0x78, 0x5c, 0x8a, 0x47, 0xa, 0x2, 0x58, 0x8d, 0x1, 0x2c, 0xb2, 0x18, 0xa7, 0xb0, 0x82, 0xab, 0x68, 0x2b, 0x5d, 0x95, 0xde, 0xce, 0x7a, 0x49, 0x12, 0xce, 0x1, 0x22, 0xcc, 0x70, 0x7c, 0x3b, 0xa4, 0x1b, 0xc1, 0x18, 0xeb, 0x88, 0x6f, 0x9e, 0x49, 0x5, 0xa1, 0xd, 0x85, 0x4, 0x9, 0xad, 0x91, 0x61, 0xa5, 0x55, 0xff, 0x94, 0xdd, 0x4e, 0xa9, 0x81, 0xbd, 0x37, 0x1a, 0xd, 0x32, 0x9e, 0xaf, 0xa5, 0x9d, 0x4a, 0xa6, 0xb6, 0xd1, 0x66, 0xa0, 0x81, 0xf, 0xc9, 0x7b, 0x78, 0x12, 0xa3, 0x95, 0x17, 0x17, 0x62, 0x20, 0x7a, 0x49, 0xb2, 0xd9, 0x83, 0xb, 0x87, 0x61, 0x4a, 0x7d, 0xd4, 0x5c, 0xbb, 0xd, 0x21, 0x78, 0x23, 0xa6, 0x14, 0xb7, 0xc5, 0xad, 0x66, 0x9, 0x35, 0x21, 0x20, 0x80, 0x7e, 0x69, 0xe4, 0x4b, 0x2d, 0xdc, 0x44, 0x49, 0x60, 0x38, 0x50, 0xf7, 0x7b, 0x9a, 0x80, 0x2f, 0xbe, 0x66, 0x1c, 0xd6, 0x7e, 0xfc, 0x1b, 0xc6, 0x96, 0x17, 0xda, 0xe4, 0xd8, 0x3e, 0xfe, 0xb0, 0x54, 0x86, 0x64, 0x9, 0xbd, 0xf8, 0x82, 0x2b, 0x19, 0x5b, 0x50, 0x9e, 0x9a, 0x3f, 0x1b, 0x86, 0x1, 0x53, 0xf2, 0x6a, 0x30, 0x38, 0xac, 0xbe, 0x75, 0x3e, 0xc8, 0xac, 0x2e, 0x5c, 0x52, 0x2f, 0x0, 0x75, 0x3c, 0xaa, 0x8, 0x25, 0x19, 0x4d, 0x63, 0x61, 0x42, 0xbc, 0xd, 0xfe, 0x7b, 0x11, 0x67, 0x4, 0x97, 0x52, 0x64, 0x3d, 0xb1, 0x89, 0x39, 0xed, 0x10, 0x9e, 0xaa, 0x4c, 0xc4, 0x39, 0xe0, 0x94, 0xdc, 0xd2, 0x8c, 0xd3, 0x29, 0x4f, 0x20, 0xf, 0x41, 0x4, 0xa0, 0xc3, 0x45, 0x2c, 0xd8, 0x8c, 0xc1, 0xb3, 0xf3, 0xb9, 0x41, 0x1, 0x3e, 0xaf, 0xea, 0x49, 0x3b, 0xc6, 0x88, 0x56, 0x17, 0x6b, 0x11, 0x84, 0x2d, 0x7f, 0x36, 0x43, 0x3b, 0x6, 0x69, 0xc2, 0x70, 0xab, 0x51, 0x9, 0x18, 0x9d, 0x6b, 0x9b, 0x53, 0xe4, 0x9d, 0xa9, 0xff, 0x43, 0x88, 0x73, 0x8c, 0x8e, 0xb, 0x8c, 0x3a, 0xae, 0x22, 0xb2, 0x18, 0x16, 0xae, 0xb7, 0xc1, 0xdc, 0x7e, 0xe4, 0xc0, 0xb5, 0x69, 0x61, 0xf8, 0xcc, 0xbc, 0x9, 0xf1, 0x76, 0x2d, 0x5b, 0x33, 0x9c, 0x38, 0x0, 0xdc, 0x28, 0xb0, 0x64, 0xc8, 0x8, 0x1, 0xa6, 0x1c, 0x4c, 0xf5, 0xec, 0x7c, 0xdc, 0x7f, 0xb, 0xf7, 0x65, 0x7, 0x16, 0x6c, 0x17, 0x62, 0x38, 0x6f, 0xd, 0xe3, 0x1d, 0xf1, 0xeb, 0xd4, 0x17, 0x3, 0x6b, 0xeb, 0xb2, 0x2f, 0x34, 0x6a, 0x7b, 0x3, 0xc6, 0xa1, 0xd4, 0xc3, 0xd7, 0xd3, 0x23, 0xfb, 0x14, 0x62, 0x5f, 0x45, 0x81, 0x2e, 0xa1, 0x77, 0x4d, 0x6, 0x7a, 0xbb, 0xca, 0xf2, 0xd2, 0x33, 0xfd, 0x72, 0x96, 0xd8, 0xe1, 0xe1, 0x7, 0x2, 0xf4, 0x1, 0x8, 0x63, 0x7d, 0x21, 0x5f, 0x9a, 0x30, 0x1c, 0x2d, 0xf3, 0x3, 0xe0, 0x1f, 0x98, 0xb1, 0xeb, 0xa5, 0x9a, 0xfd, 0xb6, 0xf5, 0xd4, 0xca, 0x29, 0x71, 0xeb, 0xef, 0x17, 0x7e, 0x2d, 0x8d, 0x4f, 0x1f, 0x48, 0x1a, 0x72, 0x2d, 0x4b, 0x13, 0xb4, 0x5b, 0x69, 0x92, 0x31, 0x31, 0x58, 0x2f, 0x8c, 0xc6, 0xd, 0xef, 0x86, 0x64, 0xf0, 0xe, 0x67, 0xfc, 0xf3, 0x9a, 0xd3, 0xa7, 0xd7, 0x92, 0x24, 0xfc, 0x86, 0xc1, 0xd9, 0x11, 0x91, 0x11, 0x95, 0x21, 0x6, 0x92, 0x12, 0x37, 0x2c, 0xd, 0xee, 0xe9, 0xc3, 0x70, 0xe8, 0x20, 0x65, 0x9b, 0x2b, 0x87, 0x1b, 0x70, 0xcf, 0x5a, 0xf, 0x8e, 0xb8, 0x8d, 0xda, 0x33, 0x46, 0x84, 0xf1, 0x1d, 0x9c, 0x66, 0x5f, 0x5, 0x39, 0x68, 0x3, 0xfd, 0x1b, 0x72, 0x52, 0x7e, 0x11, 0xc8, 0x23, 0x1f, 0x18, 0x21, 0x4, 0x9b, 0x6c, 0xa8, 0xc1, 0xce, 0x98, 0x7d, 0x25, 0x75, 0xd8, 0xce, 0x60, 0x83, 0x83, 0xf, 0xfe, 0xf9, 0x1a, 0x8e, 0xda, 0xcb, 0x14, 0xd4, 0xa3, 0x27, 0x7d, 0xfb, 0x87, 0xd1, 0xb7, 0x9f, 0x74, 0xde, 0x26, 0x9d, 0xb7, 0xea, 0xf7, 0x6c, 0xbe, 0x26, 0x86, 0x7d, 0xe4, 0xf8, 0xf7, 0xcd, 0xcc, 0xa3, 0xd4, 0x1d, 0xa0, 0xb, 0xee, 0x7, 0x9e, 0xfd, 0xfd, 0xdd, 0x3c, 0x5a, 0xbf, 0x5e, 0xb2, 0x4f, 0x79, 0xa8, 0x4d, 0x5e, 0x57, 0xdc, 0x69, 0xa7, 0xc6, 0x5b, 0xd3, 0xa0, 0x4b, 0x2e, 0x68, 0xa6, 0x38, 0x4d, 0xc, 0xd0, 0xa3, 0xf1, 0xcb, 0x44, 0x11, 0x5b, 0x2a, 0x13, 0x39, 0x5f, 0x4c, 0xf3, 0xc3, 0xcf, 0x26, 0x8b, 0x42, 0xa, 0x3, 0xfe, 0xf1, 0x13, 0x95, 0x37, 0xdb, 0x1e, 0xc2, 0x31, 0x76, 0x2e, 0x4d, 0x8e, 0xa4, 0xc9, 0xa7, 0x82, 0x0, 0xec, 0x2b, 0xbb, 0x4d, 0x13, 0xeb, 0xbf, 0x5b, 0xe3, 0xb7, 0xb2, 0xee, 0x3c, 0xe8, 0xe0, 0x68, 0x51, 0xcc, 0x2, 0x2a, 0xd8, 0x6f, 0xdf, 0xd2, 0x70, 0x7b, 0x98, 0x76, 0x9b, 0xeb, 0xc4, 0x32, 0xd2, 0x88, 0xa6, 0x26, 0x14, 0x25, 0x12, 0x8b, 0x29, 0x18, 0x23, 0x58, 0xa4, 0x36, 0x5d, 0x11, 0x1, 0x19, 0xce, 0x38, 0xc1, 0x7f, 0x23, 0x7c, 0x46, 0x56, 0x22, 0x27, 0x32, 0x5f, 0x2e, 0xcb, 0x81, 0x3d, 0x66, 0xb, 0x26, 0xb6, 0x7a, 0xe, 0x51, 0xe2, 0x9a, 0x41, 0x63, 0xe8, 0x2b, 0xec, 0x47, 0x76, 0xc2, 0x5c, 0x9f, 0x60, 0x13, 0xf5, 0xcd, 0xdf, 0x5c, 0x51, 0xa5, 0x5, 0x4b, 0xb1, 0x56, 0x66, 0x6a, 0x48, 0xf5, 0xc8, 0xee, 0xec, 0x91, 0xdd, 0xea, 0xfb, 0xb1, 0x38, 0x8b, 0x93, 0x69, 0x36, 0x39, 0xf1, 0xbb, 0x8a, 0x2a, 0xf4, 0x60, 0x19, 0xe2, 0xdd, 0x86, 0x99, 0x92, 0x5d, 0x13, 0x66, 0xea, 0x3a, 0xdd, 0xc4, 0xd3, 0x3e, 0x7b, 0x5, 0xcf, 0x78, 0xc7, 0xb5, 0xcd, 0x77, 0xc7, 0x32, 0x56, 0x28, 0xdd, 0xe4, 0xa4, 0xe5, 0x2d, 0x37, 0x85, 0xe6, 0x2a, 0x3, 0x7e, 0x6b, 0x6e, 0x58, 0x62, 0x35, 0xeb, 0x98, 0xa3, 0x3d, 0x81, 0x40, 0x1f, 0x6e, 0x62, 0x93, 0xe5, 0x7b, 0x2e, 0x48, 0x9e, 0x6a, 0xfd, 0x88, 0xda, 0x5c, 0x37, 0xfd, 0x1f, 0x1c, 0x1e, 0xe0, 0xd2, 0x5c, 0xab, 0x50, 0x69, 0x4c, 0x72, 0x53, 0xed, 0xdb, 0xc0, 0xff, 0x2e, 0x4c, 0xc6, 0x9c, 0x43, 0x7, 0xb0, 0x5, 0x86, 0x7c, 0xe6, 0x8b, 0x29, 0x2b, 0x5b, 0xf7, 0xc6, 0x52, 0x61, 0xca, 0xdb, 0xdc, 0xe4, 0x26, 0xaa, 0x30, 0x57, 0x7a, 0xc3, 0x47, 0xbb, 0x1a, 0x33, 0x72, 0x97, 0x7b, 0xde, 0x34, 0x8b, 0xa2, 0xb5, 0x8b, 0x29, 0x52, 0x3e, 0x77, 0x7b, 0x98, 0x27, 0xdb, 0xc6, 0xf3, 0x2b, 0x9a, 0x5d, 0x33, 0xd5, 0x98, 0xad, 0x5e, 0x22, 0xb2, 0x25, 0xcb, 0x22, 0x96, 0x2a, 0x7a, 0xcd, 0x86, 0x74, 0xb1, 0xdc, 0xef, 0x81, 0x97, 0x2e, 0x96, 0xef, 0x56, 0x17, 0xae, 0xc3, 0xf6, 0xa5, 0xa2, 0xb9, 0x24, 0x19, 0x5d, 0x2c, 0x7d, 0x56, 0x2a, 0x98, 0x68, 0xd7, 0x19, 0x8d, 0x73, 0x9a, 0x90, 0x77, 0x49, 0xce, 0x5e, 0x7d, 0xc8, 0xa0, 0xaa, 0xb3, 0x2b, 0x25, 0x2d, 0xc9, 0xb, 0x88, 0x3f, 0xe7, 0xb, 0x9e, 0xd0, 0xec, 0x65, 0x91, 0x8a, 0xef, 0xa0, 0xf0, 0xbb, 0x16, 0x3e, 0x77, 0x14, 0xa3, 0xa0, 0xc1, 0x33, 0x46, 0x49, 0xc4, 0x32, 0x5, 0xde, 0x6e, 0x91, 0x81, 0x79, 0x6b, 0x18, 0x99, 0xca, 0xe8, 0x6c, 0xc6, 0x23, 0x67, 0xa0, 0xc3, 0xe, 0x16, 0xbb, 0x2c, 0xa7, 0xc0, 0x37, 0x2d, 0xa8, 0x92, 0x76, 0x5f, 0x7a, 0xca, 0xc2, 0x97, 0x33, 0xc7, 0x95, 0xf4, 0x1a, 0x7a, 0x95, 0x4a, 0x4a, 0x92, 0xd0, 0x60, 0x78, 0x17, 0x91, 0x8b, 0x5, 0x24, 0x85, 0x1, 0x7, 0xd0, 0x53, 0x5d, 0x60, 0x72, 0xaf, 0x9f, 0x9c, 0x6f, 0x55, 0x99, 0x48, 0x18, 0x45, 0xa, 0x66, 0xb0, 0xd, 0x9d, 0x15, 0x49, 0x22, 0xee, 0x10, 0xb6, 0x58, 0x96, 0x63, 0xf0, 0x8e, 0xc8, 0xf1, 0x5c, 0xf7, 0x6d, 0x27, 0xc, 0xd0, 0x25, 0xc7, 0x26, 0x75, 0xf6, 0xa8, 0x27, 0x8f, 0xce, 0xd8, 0x1d, 0xe9, 0xfb, 0x79, 0xdf, 0xcd, 0x45, 0x98, 0xcd, 0xce, 0x4b, 0x76, 0x87, 0xbe, 0x43, 0x2c, 0x55, 0xaf, 0x6c, 0x1a, 0xa6, 0xeb, 0xf7, 0xb9, 0xf4, 0x90, 0x7, 0xe, 0xeb, 0xe0, 0x5, 0xe4, 0xf5, 0x59, 0x4b, 0xae, 0x94, 0xd3, 0x45, 0xae, 0xcc, 0x38, 0x13, 0xc8, 0xce, 0x9b, 0xf0, 0xf8, 0xa, 0x15, 0x94, 0x23, 0x7, 0x48, 0x31, 0x65, 0x73, 0x7a, 0xcb, 0x5, 0x38, 0x1f, 0x46, 0x27, 0xbf, 0x48, 0x5f, 0xd0, 0x5d, 0xd2, 0x5, 0xb, 0xe0, 0xf, 0x4a, 0x3d, 0x1b, 0x3f, 0x41, 0xf7, 0x65, 0x69, 0x2b, 0x7a, 0xbe, 0xb2, 0x99, 0xe1, 0x71, 0x38, 0x3, 0x93, 0x6f, 0x52, 0x99, 0xbf, 0x98, 0x41, 0xf9, 0x59, 0x77, 0xd8, 0x2f, 0xa6, 0x25, 0x35, 0x28, 0x5c, 0x1d, 0xb9, 0xca, 0x25, 0x9b, 0x38, 0xce, 0xdd, 0x7a, 0x51, 0xa5, 0x1e, 0x9b, 0x96, 0x18, 0x2c, 0x2a, 0xf0, 0x9d, 0xa4, 0x84, 0x4e, 0x25, 0xd4, 0xc0, 0x13, 0x33, 0xf2, 0x82, 0x62, 0xfa, 0xc6, 0x34, 0x61, 0x2f, 0x5d, 0x82, 0xa4, 0x21, 0x9e, 0x17, 0x57, 0xc7, 0x62, 0xb1, 0xa4, 0x8a, 0x4f, 0x13, 0xf6, 0xae, 0x98, 0xc7, 0xa9, 0x59, 0xd4, 0x95, 0xc, 0xf6, 0xca, 0x65, 0x51, 0x5b, 0x51, 0x53, 0x2c, 0xba, 0x8e, 0xa9, 0xaf, 0xe, 0x8f, 0xc2, 0xed, 0x96, 0x83, 0x9c, 0xb0, 0x81, 0xfe, 0xbe, 0x47, 0x5a, 0xa6, 0xe5, 0x17, 0xb0, 0x7e, 0xd8, 0x7c, 0x16, 0xbf, 0xc, 0x41, 0x30, 0x8c, 0x76, 0xab, 0x75, 0x4a, 0xd7, 0xb3, 0x99, 0x87, 0xef, 0xaf, 0x32, 0x54, 0x69, 0xb9, 0xe1, 0x3d, 0x3a, 0xd7, 0xbb, 0x43, 0xfd, 0x21, 0x5a, 0x48, 0x56, 0x9, 0x67, 0x8b, 0x7a, 0xb4, 0xfb, 0x11, 0xf6, 0x1b, 0x94, 0x44, 0xad, 0x6c, 0xf3, 0x28, 0x4f, 0x68, 0xe6, 0xe7, 0x11, 0xe6, 0x35, 0x48, 0x45, 0x57, 0x12, 0xaf, 0x20, 0x55, 0xfe, 0x93, 0x8c, 0x5d, 0xd3, 0x2c, 0x4e, 0x98, 0x84, 0xfd, 0xc1, 0x18, 0x77, 0xe9, 0xef, 0xbc, 0xdf, 0x82, 0x2e, 0xb1, 0xfb, 0xef, 0xfb, 0xc4, 0xbd, 0x9, 0xb3, 0x41, 0xa0, 0x94, 0xfe, 0x2d, 0x2b, 0x3e, 0xa0, 0x43, 0x2c, 0xd, 0xaa, 0xd8, 0x91, 0x3b, 0xd4, 0x5a, 0x1e, 0x2, 0x95, 0x4, 0x73, 0x70, 0x7c, 0x9b, 0x5a, 0xfe, 0xbf, 0xba, 0x94, 0x55, 0x2c, 0x8, 0xec, 0x9, 0xac, 0x63, 0xf9, 0x89, 0x54, 0x50, 0x11, 0x10, 0x2, 0xbd, 0x3a, 0x5, 0xaa, 0xc8, 0x98, 0x55, 0x9, 0x94, 0x4d, 0xf6, 0x2, 0x4d, 0xc4, 0x3a, 0xe3, 0x4a, 0x6b, 0xf4, 0x7c, 0x1b, 0xea, 0x63, 0x4, 0xb1, 0x5, 0x1, 0xd1, 0x1b, 0x96, 0x8d, 0xe0, 0xea, 0x7e, 0x11, 0xa4, 0xff, 0xc5, 0xd4, 0xae, 0x47, 0xff, 0x12, 0x49, 0x18, 0x95, 0x8a, 0x88, 0x94, 0x61, 0x59, 0xef, 0x67, 0x79, 0x1a, 0x89, 0xd4, 0x46, 0x20, 0x3f, 0x2b, 0xee, 0x21, 0x38, 0x56, 0x92, 0xc4, 0xe4, 0xc9, 0x73, 0x49, 0x58, 0x3a, 0x13, 0x59, 0xc4, 0xa4, 0x83, 0xb2, 0x59, 0x49, 0xc5, 0x16, 0x1d, 0x92, 0xa7, 0x70, 0x52, 0x70, 0x7b, 0xe1, 0xb, 0x73, 0x5b, 0xcd, 0x5d, 0xf3, 0xbd, 0x9a, 0x76, 0x0, 0x53, 0x68, 0x72, 0x8a, 0x4d, 0x41, 0x84, 0x57, 0x18, 0x38, 0x89, 0x3c, 0x40, 0x32, 0x4b, 0xdf, 0x5a, 0xfe, 0xb1, 0x2f, 0x5a, 0xb5, 0x44, 0x20, 0x7a, 0x60, 0xcd, 0x2f, 0xc3, 0xb3, 0x39, 0xc9, 0xa1, 0x72, 0x33, 0xd, 0x64, 0x62, 0x7, 0xd6, 0x27, 0x32, 0xb2, 0x80, 0x6c, 0x6, 0xf, 0x63, 0x5f, 0x20, 0xc, 0x1a, 0xc7, 0x36, 0x4f, 0xe, 0xc4, 0x48, 0x90, 0x1f, 0x21, 0xf3, 0xa9, 0x56, 0xf7, 0xac, 0x54, 0xa4, 0xf2, 0x46, 0x7a, 0xf4, 0x8, 0x47, 0xa3, 0x53, 0x2a, 0x4d, 0x71, 0x53, 0xf2, 0xc, 0xc4, 0xb6, 0xd7, 0x21, 0x9e, 0x55, 0xa8, 0x7, 0x8f, 0x5d, 0xb, 0xc1, 0x45, 0x9e, 0x28, 0xbe, 0xac, 0x1e, 0xb3, 0x44, 0xe8, 0xbe, 0x2, 0x29, 0xc1, 0x95, 0xb4, 0xe2, 0xd3, 0xf7, 0x68, 0x93, 0x54, 0x40, 0x76, 0x41, 0x60, 0x49, 0x7, 0x3d, 0x54, 0x50, 0xea, 0x52, 0xab, 0xbe, 0x3c, 0x8d, 0xd9, 0x17, 0xf2, 0xba, 0x8b, 0x35, 0x10, 0xe1, 0x72, 0x7a, 0xae, 0x86, 0x87, 0x5b, 0xe1, 0x6, 0x56, 0x3a, 0x9b, 0x24, 0x63, 0x30, 0x4e, 0x1d, 0xef, 0x72, 0xa1, 0x63, 0x5, 0xae, 0xa9, 0x3f, 0xb3, 0x59, 0xb4, 0x54, 0x91, 0xb4, 0x72, 0x3f, 0x21, 0xab, 0xc5, 0xf, 0x2c, 0x1c, 0x76, 0xdd, 0xb, 0x3, 0x48, 0x39, 0xe, 0xbd, 0x10, 0x9e, 0x45, 0x4b, 0xbe, 0x58, 0x26, 0x2b, 0x10, 0xd3, 0x26, 0x3b, 0x9c, 0xc5, 0x2f, 0x3b, 0xc1, 0x71, 0xd4, 0xf3, 0xd4, 0xd0, 0x41, 0x91, 0xa7, 0xae, 0xa5, 0xb9, 0xb5, 0x5, 0xdd, 0x72, 0xc8, 0x68, 0x34, 0x37, 0x5e, 0xbe, 0x6d, 0xa3, 0xfb, 0x5b, 0xea, 0x94, 0x95, 0x72, 0xed, 0x98, 0x76, 0xcf, 0x63, 0x4d, 0x9b, 0x6c, 0xb1, 0x54, 0x2b, 0xc2, 0x67, 0xe1, 0x3c, 0x6b, 0x2a, 0xf8, 0xd6, 0x4d, 0x93, 0x1c, 0x2a, 0xcc, 0x6a, 0x5c, 0x37, 0x4a, 0xa3, 0xba, 0x1a, 0x7e, 0xa4, 0x69, 0x3d, 0x0, 0x21, 0xac, 0xd5, 0x6, 0xb, 0xdf, 0xeb, 0xbb, 0x4, 0x7, 0x87, 0x44, 0x6e, 0x90, 0x1a, 0xa6, 0x2b, 0xb7, 0x27, 0xc0, 0x37, 0xc3, 0x7b, 0xeb, 0x7b, 0x37, 0x56, 0xc8, 0x31, 0x4d, 0x58, 0x1a, 0xd3, 0x6c, 0xb4, 0x64, 0xd1, 0xb6, 0xf, 0xcf, 0x4c, 0x73, 0xb9, 0x6d, 0xf, 0xec, 0x79, 0xff, 0xcb, 0x32, 0x63, 0x12, 0x60, 0x26, 0x94, 0xc1, 0x6a, 0x31, 0x5d, 0x49, 0x7, 0x6b, 0xf8, 0x96, 0xbc, 0xf6, 0x3b, 0xb6, 0xe0, 0x69, 0xae, 0xb6, 0x8e, 0x9a, 0xad, 0x1d, 0x7, 0xbb, 0x6a, 0x18, 0x67, 0x2e, 0xf2, 0xad, 0x1, 0x23, 0x6a, 0x47, 0xd1, 0x1d, 0x35, 0x8c, 0x11, 0xd3, 0xd5, 0xf9, 0xec, 0x93, 0x48, 0xd5, 0x7c, 0x4f, 0xb, 0xbd, 0x6e, 0xdc, 0x58, 0x4b, 0x7d, 0x57, 0xab, 0x23, 0x55, 0xf3, 0x60, 0xe, 0x3f, 0x15, 0x55, 0xb9, 0xfb, 0x83, 0xf5, 0x93, 0x8a, 0x6a, 0x7a, 0xf2, 0x51, 0x4, 0x8, 0x54, 0x11, 0x42, 0xf9, 0x2d, 0x76, 0x59, 0x7f, 0xfd, 0x79, 0xea, 0x9e, 0xc2, 0xad, 0xfe, 0xc9, 0x6f, 0xf5, 0x8a, 0xd1, 0xc3, 0x1c, 0xa7, 0xee, 0xa8, 0x61, 0xc, 0x38, 0xce, 0xcf, 0x8c, 0x6d, 0xed, 0x6f, 0xa9, 0x1d, 0x28, 0x3c, 0xbf, 0x3b, 0xc6, 0x6e, 0xea, 0xc7, 0x8c, 0xc4, 0x42, 0x4b, 0x82, 0x6d, 0x47, 0x7c, 0x9f, 0x31, 0x76, 0x4, 0x71, 0x9b, 0xa6, 0x3, 0xf3, 0xf3, 0xd4, 0x9a, 0x8, 0x9a, 0x12, 0x52, 0x6f, 0xb8, 0x6a, 0x79, 0xb1, 0x64, 0xd1, 0x26, 0x93, 0x34, 0xe4, 0x1f, 0xb6, 0x47, 0x6, 0xfe, 0x4e, 0x14, 0x61, 0xc6, 0xf9, 0x15, 0xd9, 0x2a, 0xd3, 0x9, 0x85, 0x5c, 0x4b, 0xa3, 0x59, 0x45, 0xa6, 0x75, 0xa0, 0xca, 0x19, 0xa3, 0x1b, 0x55, 0x3, 0x95, 0x51, 0xa7, 0x67, 0x44, 0x99, 0x48, 0x8b, 0xdd, 0x75, 0x7c, 0xde, 0x63, 0x42, 0xa7, 0x50, 0xaa, 0x4, 0x3d, 0x55, 0x5d, 0xd2, 0xa7, 0x91, 0x7, 0x36, 0x34, 0x24, 0x68, 0x54, 0x14, 0x60, 0x87, 0x45, 0xdf, 0xc3, 0x4f, 0x6f, 0x2d, 0xc6, 0x93, 0x81, 0xd6, 0xc, 0x7f, 0xfc, 0xe2, 0x7f, 0x74, 0xf6, 0xf, 0x76, 0xc8, 0xfe, 0x9e, 0xd3, 0x44, 0x92, 0x2f, 0x85, 0xaf, 0x5f, 0xad, 0xc8, 0xc6, 0x6, 0xff, 0x92, 0xfe, 0xb4, 0x32, 0x7e, 0x84, 0x14, 0x84, 0x79, 0x5a, 0x3, 0xb9, 0x44, 0xbe, 0x1c, 0xfd, 0xa3, 0xb1, 0x27, 0x2e, 0x1d, 0xf2, 0xe4, 0x17, 0xd0, 0x2d, 0xfe, 0xe1, 0xf3, 0x60, 0xc3, 0x3e, 0xee, 0x3a, 0x5f, 0x3a, 0xab, 0x4e, 0xb7, 0xdb, 0x5d, 0xd7, 0x13, 0xee, 0x8, 0xaa, 0xba, 0x5a, 0xb1, 0x35, 0x1, 0x6, 0xc1, 0x2e, 0xe8, 0xed, 0x24, 0x5f, 0x3a, 0x64, 0xd5, 0x21, 0xff, 0xe8, 0x90, 0x6e, 0xb7, 0xb, 0x8a, 0xab, 0x2d, 0xc8, 0x1c, 0xb3, 0x88, 0x2f, 0xa0, 0xa0, 0x11, 0xac, 0x1, 0x31, 0xea, 0xf0, 0x6e, 0xea, 0x7f, 0x8d, 0x29, 0x48, 0x2a, 0x4d, 0xd1, 0xc0, 0x14, 0x7c, 0xb7, 0xfa, 0xbb, 0xe9, 0x54, 0x9b, 0xeb, 0x48, 0x1e, 0x2f, 0x8c, 0x96, 0x4f, 0x97, 0x5a, 0xde, 0x64, 0x9c, 0x2a, 0x33, 0x4b, 0xf9, 0x32, 0xf0, 0x99, 0xf5, 0x50, 0x77, 0x56, 0x5a, 0x3b, 0xb4, 0x8b, 0xe2, 0x33, 0x50, 0xaa, 0x8d, 0xa3, 0x72, 0x51, 0x76, 0xa2, 0xbb, 0x1c, 0x5b, 0x5b, 0xb2, 0x9c, 0xde, 0xfa, 0x22, 0xed, 0xca, 0x99, 0xbf, 0xb8, 0xec, 0xe, 0x88, 0xd3, 0x48, 0xa4, 0xb7, 0x2c, 0xe5, 0x5a, 0xcb, 0xaf, 0xed, 0xc9, 0xbd, 0x83, 0x1a, 0x5, 0x1a, 0xff, 0x2a, 0xc5, 0x82, 0x21, 0xa5, 0x6a, 0x5d, 0x8b, 0x1, 0xb0, 0xe, 0x3a, 0x2f, 0x60, 0x48, 0xc8, 0x94, 0xcc, 0x18, 0x55, 0x85, 0x8b, 0x1a, 0xd3, 0xd5, 0x44, 0xcc, 0x26, 0xb8, 0x61, 0xfa, 0x30, 0xcd, 0x1f, 0x60, 0xc7, 0xa8, 0x24, 0xcf, 0x44, 0xf6, 0x8c, 0xf0, 0x14, 0x6c, 0x1f, 0xbd, 0x93, 0xcf, 0x68, 0x1a, 0x3f, 0xc3, 0x73, 0x9c, 0xa, 0xdd, 0x24, 0x43, 0xd0, 0xaa, 0x30, 0x6b, 0x5a, 0x2b, 0x79, 0x6e, 0xa, 0x5, 0xe7, 0x68, 0xd8, 0x79, 0x4, 0x39, 0xc7, 0xda, 0x12, 0x20, 0xaf, 0xf5, 0x69, 0xfc, 0xab, 0x1e, 0x6e, 0x94, 0xa7, 0x71, 0xa8, 0x0, 0x15, 0xae, 0xf8, 0x35, 0x53, 0x58, 0xa9, 0x84, 0x63, 0x1e, 0xb2, 0x12, 0x64, 0xa4, 0xb2, 0x3c, 0x52, 0x79, 0xc6, 0xe2, 0xf0, 0xcb, 0x8e, 0xf1, 0x1d, 0x73, 0x93, 0x6d, 0x51, 0xd1, 0x8c, 0x7d, 0xc5, 0x79, 0x7c, 0xca, 0xb1, 0xcc, 0x3, 0x77, 0xd6, 0xb8, 0xa5, 0x9c, 0x92, 0x92, 0x4c, 0x69, 0x74, 0xb3, 0x2d, 0xf8, 0x8, 0xfb, 0x92, 0xb7, 0xc6, 0x65, 0xb0, 0x63, 0x4c, 0xce, 0x74, 0xab, 0x10, 0xff, 0x1c, 0x41, 0x9f, 0xb6, 0xee, 0x67, 0x60, 0x1a, 0xfa, 0xae, 0x12, 0x9e, 0xde, 0x1c, 0x3e, 0xac, 0xff, 0x94, 0xa7, 0x37, 0x6d, 0xbd, 0xa1, 0xfa, 0x5b, 0x70, 0x86, 0x89, 0x88, 0xbb, 0x27, 0x3d, 0x87, 0x7d, 0xae, 0xa7, 0xdd, 0x25, 0x3, 0x55, 0xb6, 0xf2, 0xf5, 0xbc, 0xf5, 0xff, 0xe6, 0x69, 0xcc, 0xb2, 0x64, 0xa5, 0x5, 0x46, 0xc6, 0xa4, 0xc8, 0xc1, 0x6a, 0x45, 0xc6, 0x51, 0x54, 0xf, 0x5c, 0x67, 0x75, 0xc2, 0xc3, 0x6e, 0x10, 0x70, 0x78, 0xa5, 0x34, 0x67, 0x51, 0x2, 0xc2, 0x3, 0x44, 0x2e, 0xd, 0xf8, 0x95, 0x33, 0xf7, 0x8d, 0x2d, 0xcc, 0xba, 0xd7, 0x5d, 0xef, 0x63, 0xc8, 0xf2, 0x34, 0x44, 0x60, 0x2f, 0x90, 0xc8, 0xe, 0x99, 0x78, 0x51, 0x89, 0xba, 0xc8, 0x2e, 0xfe, 0x69, 0x3b, 0x7e, 0xe3, 0x49, 0xc, 0x82, 0x6a, 0x6f, 0x22, 0x5, 0xb8, 0x78, 0x53, 0xdd, 0xcb, 0x6c, 0x87, 0x7f, 0xd0, 0xe0, 0xe9, 0xad, 0xb8, 0x61, 0x31, 0x79, 0x1, 0xcb, 0xe6, 0x4a, 0x92, 0xcb, 0xe1, 0x29, 0x5a, 0x90, 0xab, 0x25, 0x7b, 0x19, 0x6, 0xb2, 0x5c, 0x73, 0xa9, 0x4c, 0x60, 0xd5, 0xe, 0x99, 0x65, 0xda, 0x8e, 0xc5, 0xd8, 0xe, 0x2b, 0x13, 0xdc, 0x6c, 0x10, 0x21, 0x4b, 0x77, 0xcf, 0xb2, 0xb6, 0x80, 0x0, 0xad, 0x12, 0x11, 0x8f, 0x7b, 0xa7, 0xa7, 0xef, 0x7a, 0xc7, 0xbf, 0x6c, 0xcc, 0x40, 0x2c, 0x7d, 0x38, 0x1a, 0xf7, 0xce, 0x4e, 0xde, 0xfd, 0x65, 0xc3, 0x47, 0x16, 0x15, 0x6b, 0xfd, 0x67, 0xfa, 0x5f, 0x7, 0x67, 0x1f, 0x26, 0xe7, 0xef, 0xdf, 0xaf, 0xff, 0xb0, 0x92, 0x95, 0x58, 0x37, 0xe6, 0xe5, 0xf1, 0x71, 0xbf, 0x7f, 0xb2, 0x71, 0xcc, 0xd3, 0xf3, 0xe3, 0x5f, 0xb6, 0xce, 0x70, 0xd4, 0x27, 0x14, 0x21, 0x4e, 0x6, 0x6e, 0xaf, 0x15, 0xd4, 0xe5, 0x2b, 0x46, 0x9a, 0x32, 0x8b, 0x76, 0x5, 0x79, 0xac, 0xbc, 0xa3, 0xd4, 0x96, 0xcc, 0x5c, 0xd0, 0xb8, 0x2, 0x72, 0x59, 0x37, 0x35, 0xfb, 0x12, 0x63, 0xba, 0xc8, 0x3c, 0xb6, 0x13, 0xd5, 0x46, 0x19, 0x20, 0xb7, 0x4c, 0x45, 0xe, 0x8f, 0x2e, 0x69, 0x64, 0xf0, 0x64, 0x70, 0x10, 0x2d, 0x41, 0x78, 0x1a, 0x65, 0x46, 0x92, 0x5, 0x69, 0x47, 0x8e, 0x58, 0x7d, 0xd, 0x4b, 0xe3, 0x3e, 0xad, 0xdb, 0x95, 0x2a, 0xc6, 0xa4, 0x9, 0x41, 0xb3, 0x40, 0xdc, 0x87, 0xb9, 0x41, 0xba, 0x63, 0x37, 0x75, 0x57, 0x62, 0xab, 0xdd, 0x5, 0xa, 0x26, 0xf5, 0x35, 0xf0, 0x2f, 0xc7, 0xa5, 0xe9, 0x3e, 0x77, 0x5, 0x8f, 0x0, 0xdc, 0x92, 0xa6, 0xab, 0xb0, 0x26, 0xec, 0x17, 0x3b, 0x35, 0x1b, 0xcc, 0x71, 0x98, 0xfd, 0xd2, 0x1d, 0x87, 0x47, 0xed, 0x40, 0x4e, 0xda, 0x6d, 0xd9, 0x34, 0x11, 0xd1, 0xd, 0x8b, 0x87, 0xed, 0x30, 0x16, 0xaa, 0xd9, 0x2b, 0x26, 0xe, 0x4d, 0x81, 0x83, 0xcc, 0xdc, 0xd1, 0x8e, 0xed, 0xd5, 0x40, 0x37, 0xd8, 0x18, 0x5b, 0x19, 0xba, 0x3d, 0x83, 0xea, 0x9d, 0xf5, 0x62, 0x4e, 0x2c, 0x16, 0x22, 0xf5, 0x34, 0x1a, 0x7e, 0x4f, 0x46, 0xc6, 0x8c, 0x29, 0x88, 0x2d, 0xb, 0x5, 0x26, 0xad, 0x28, 0x60, 0x8b, 0xa9, 0xab, 0xbe, 0x8, 0xa0, 0xae, 0x2b, 0x17, 0x1, 0x1e, 0x4c, 0xc4, 0x98, 0x3c, 0x5, 0x29, 0xe8, 0x94, 0x8f, 0x6d, 0x3, 0x99, 0xa9, 0xa2, 0xdb, 0x6e, 0xe2, 0xf9, 0x92, 0xfe, 0x3d, 0x67, 0x4e, 0x4f, 0x82, 0x3e, 0xea, 0xce, 0x6e, 0xba, 0x52, 0xce, 0xa4, 0x58, 0x63, 0x4d, 0xc2, 0xfc, 0xa5, 0x1, 0xda, 0x31, 0x6c, 0x5, 0x35, 0x4d, 0x8b, 0xbd, 0x19, 0x6, 0x22, 0x82, 0x7e, 0x10, 0x8c, 0x6, 0x4c, 0x6, 0x42, 0xd, 0x53, 0x65, 0xa1, 0xb3, 0x25, 0x53, 0xa, 0x1c, 0xa5, 0xa6, 0x51, 0xef, 0x62, 0x0, 0xfb, 0x59, 0x8e, 0xf6, 0x29, 0x61, 0xc9, 0xdb, 0xc8, 0x23, 0x32, 0x38, 0xfb, 0xb5, 0x77, 0x3a, 0x38, 0x99, 0xf4, 0x86, 0x1f, 0x2e, 0x3f, 0xf5, 0xcf, 0xc6, 0x8, 0xb4, 0x5b, 0x18, 0x54, 0x5b, 0x95, 0x88, 0x4, 0x2a, 0x7d, 0x31, 0x57, 0xc, 0xa, 0x66, 0x5f, 0x96, 0x2, 0x1e, 0x44, 0xa5, 0x8b, 0x17, 0x8e, 0xdc, 0x2a, 0xb5, 0xe6, 0x9e, 0x31, 0xc4, 0x35, 0xd3, 0xac, 0x2d, 0xca, 0x84, 0x94, 0x44, 0xdb, 0x71, 0x10, 0x9, 0x70, 0xcb, 0x69, 0x51, 0xb9, 0xaa, 0xbc, 0xf3, 0x3b, 0xec, 0xdf, 0x5b, 0x70, 0xd1, 0x3b, 0x95, 0xdb, 0xa6, 0x72, 0x98, 0x25, 0x2f, 0xf3, 0x69, 0xc2, 0x23, 0xbd, 0xf2, 0x12, 0x9d, 0x9c, 0x85, 0x2a, 0x72, 0x4b, 0x22, 0xc9, 0xb3, 0xad, 0xb3, 0x4d, 0x9c, 0xce, 0x77, 0x39, 0x3c, 0xf5, 0x1b, 0x57, 0x4d, 0xcd, 0xd8, 0x19, 0xce, 0xa5, 0xcd, 0x24, 0x30, 0x31, 0xa3, 0xa8, 0x76, 0x96, 0x45, 0x88, 0xdd, 0x1e, 0xac, 0x7c, 0xba, 0x3b, 0xce, 0xdc, 0xde, 0xa0, 0x70, 0x87, 0xf, 0xa5, 0xd2, 0xf6, 0x9d, 0x45, 0x6e, 0x43, 0xfc, 0x6c, 0x53, 0x26, 0xd8, 0xc8, 0x52, 0xf, 0xa1, 0x62, 0x36, 0x61, 0xce, 0x93, 0xb8, 0x42, 0x70, 0xf7, 0x56, 0x6a, 0x79, 0x4b, 0xcc, 0x3c, 0xba, 0x60, 0x72, 0x49, 0xa3, 0x7d, 0x71, 0xca, 0xce, 0x6c, 0x3f, 0x4e, 0xaf, 0x82, 0x88, 0x84, 0x86, 0x4c, 0x1c, 0x78, 0xe7, 0xd7, 0xac, 0xe3, 0x72, 0x40, 0x94, 0x10, 0x89, 0xe3, 0xd4, 0xfa, 0x56, 0x5f, 0xb9, 0x39, 0x5d, 0x19, 0xd7, 0xca, 0x34, 0x57, 0x16, 0x3a, 0x18, 0x8a, 0xae, 0x14, 0xbf, 0x82, 0xf7, 0x77, 0xcd, 0x36, 0xba, 0xd5, 0x55, 0xb5, 0x78, 0x7, 0xa9, 0x4, 0xc2, 0xb5, 0xdd, 0xcc, 0xca, 0x91, 0x3e, 0xaf, 0xf4, 0xb9, 0x4d, 0xdd, 0xb2, 0xcf, 0x41, 0x9b, 0xd0, 0x6a, 0xe6, 0xa, 0x2c, 0xcc, 0x1d, 0xb1, 0x66, 0x7, 0x1e, 0x67, 0x16, 0x90, 0x65, 0x27, 0xc7, 0x1f, 0x7, 0xa7, 0x27, 0x1e, 0xcf, 0xa0, 0xff, 0x1f, 0xfd, 0xe3, 0x4b, 0x80, 0xf, 0x19, 0x9c, 0xd, 0xc6, 0x83, 0x5e, 0x7d, 0xcd, 0x13, 0xfc, 0xc3, 0xbd, 0x80, 0xe1, 0x6, 0x13, 0x6c, 0x9c, 0x5a, 0x9, 0x13, 0xb7, 0xcd, 0xc4, 0x1a, 0x2e, 0xdd, 0x7d, 0x15, 0x9, 0x7e, 0xba, 0x74, 0x4f, 0x97, 0xee, 0xe9, 0xd2, 0xd5, 0x5f, 0xba, 0x7b, 0x2a, 0xde, 0xbb, 0x95, 0xc1, 0xf6, 0x74, 0xe3, 0x9e, 0x6e, 0xdc, 0x63, 0xbc, 0x71, 0xe4, 0x9, 0xfe, 0xfd, 0xfb, 0x81, 0x7f, 0x6f, 0x66, 0x8f, 0xbb, 0xd9, 0x46, 0xed, 0x99, 0xda, 0x23, 0xbb, 0xfc, 0x5b, 0x5e, 0xc5, 0xa7, 0xb, 0xf2, 0x5d, 0x5f, 0x90, 0x83, 0x54, 0x50, 0x7b, 0x52, 0x0, 0xbe, 0x3, 0x11, 0xfb, 0xb0, 0xd9, 0xd4, 0xee, 0xe5, 0xbf, 0xeb, 0xe9, 0xda, 0xe1, 0x27, 0x3c, 0x91, 0xf6, 0x93, 0x6e, 0xfb, 0xa4, 0xdb, 0xb6, 0xb4, 0x26, 0xf, 0x53, 0x47, 0xeb, 0xe9, 0xce, 0x3c, 0xdd, 0x99, 0xc7, 0x78, 0x67, 0xc8, 0x93, 0xba, 0xfb, 0x1d, 0xa9, 0xbb, 0xf8, 0x3c, 0x39, 0x64, 0xae, 0x1e, 0xd3, 0x31, 0x94, 0xd7, 0xde, 0x36, 0xec, 0xa, 0xbb, 0x39, 0xdb, 0x54, 0x21, 0x6c, 0x6d, 0x6e, 0xe0, 0xb6, 0x29, 0xb, 0x10, 0xb4, 0xd6, 0x36, 0x7d, 0x79, 0xbb, 0x64, 0xe7, 0xd, 0xf1, 0x33, 0xd0, 0x97, 0xcf, 0x73, 0x32, 0x55, 0xf8, 0xc3, 0x24, 0x39, 0x17, 0x8b, 0x37, 0x82, 0x59, 0xba, 0x6f, 0xff, 0xcd, 0xe4, 0x83, 0x4a, 0x52, 0xae, 0x5d, 0x64, 0x3b, 0x81, 0xd7, 0x6d, 0xc4, 0x2, 0x83, 0x12, 0xb6, 0x78, 0xcf, 0xb0, 0x90, 0x2c, 0x67, 0x26, 0x4a, 0xc7, 0xbc, 0x6e, 0x97, 0x3a, 0x27, 0xe5, 0xb4, 0x51, 0xcc, 0xc8, 0xfb, 0xeb, 0x85, 0xa9, 0x20, 0xfb, 0xb7, 0x17, 0x73, 0xa5, 0x96, 0xf2, 0xed, 0xab, 0x57, 0xb1, 0x88, 0x64, 0xd7, 0xa5, 0xa3, 0x73, 0xf1, 0xca, 0x65, 0xa3, 0xff, 0x7f, 0x96, 0xe6, 0xe3, 0x97, 0x44, 0x64, 0x88, 0xaf, 0x51, 0x9a, 0x27, 0xa3, 0x1e, 0x92, 0xae, 0x69, 0x97, 0xc6, 0x41, 0x8a, 0x1a, 0x16, 0xd4, 0x54, 0xc2, 0xa4, 0xb7, 0x84, 0x5, 0xcb, 0x6b, 0xb3, 0x1f, 0xfd, 0x70, 0x2f, 0xae, 0xf0, 0x8c, 0x7d, 0x8e, 0xeb, 0x4b, 0x4, 0xfa, 0x36, 0x29, 0x98, 0x2e, 0xaf, 0xd9, 0x24, 0x29, 0xfe, 0xe4, 0xf, 0xe0, 0xa7, 0xda, 0xee, 0x90, 0x8, 0x82, 0xee, 0xa, 0xd9, 0x5a, 0xca, 0xa4, 0xe3, 0x65, 0xcf, 0xa5, 0x2d, 0x48, 0xcc, 0x3d, 0xc8, 0x11, 0x4b, 0x65, 0x9e, 0x5, 0xf1, 0xc2, 0xaa, 0x44, 0x4, 0x58, 0x96, 0xdf, 0xc, 0xef, 0x7b, 0xf5, 0x48, 0x81, 0xa5, 0xb3, 0xc2, 0x80, 0xc0, 0xe9, 0xca, 0x1c, 0x92, 0xfe, 0xc4, 0x9e, 0x13, 0xe9, 0x5d, 0xc, 0xa, 0x53, 0xfb, 0x24, 0xa4, 0x2a, 0xa4, 0xb4, 0x9b, 0x52, 0xe1, 0x84, 0x7d, 0x59, 0x62, 0xb8, 0x83, 0x12, 0x24, 0x65, 0xf8, 0xfc, 0x6b, 0x37, 0xbe, 0x43, 0xe6, 0xe2, 0x8e, 0x69, 0xc9, 0xed, 0x12, 0xb7, 0x7d, 0x8f, 0x92, 0xab, 0xdc, 0x4, 0x33, 0x47, 0x34, 0x25, 0xd7, 0x19, 0xa3, 0x58, 0xdf, 0x28, 0x65, 0x33, 0x5b, 0xbb, 0xd4, 0x95, 0x3e, 0xd, 0xaf, 0xcb, 0x11, 0x39, 0x63, 0x41, 0xbe, 0x68, 0x22, 0xd2, 0xeb, 0xa3, 0x2c, 0x4f, 0x53, 0x9b, 0xfa, 0x9, 0x41, 0x9d, 0x41, 0x9e, 0x37, 0xf4, 0x44, 0x53, 0x22, 0x92, 0x20, 0xdf, 0x59, 0x9f, 0x59, 0x81, 0xaa, 0x52, 0x76, 0xc7, 0x32, 0x22, 0xd2, 0x30, 0x3c, 0x3b, 0x18, 0x6a, 0x2e, 0xd4, 0x8c, 0x7f, 0xc1, 0x80, 0xec, 0x69, 0x26, 0x6e, 0x58, 0xaa, 0x89, 0x53, 0xaa, 0x3c, 0xba, 0xa9, 0x1b, 0xb4, 0x94, 0x83, 0x57, 0xc8, 0x33, 0x2d, 0xe7, 0x2b, 0xeb, 0x9d, 0xc4, 0x55, 0x43, 0xf4, 0x37, 0x84, 0x32, 0xc5, 0x8c, 0x26, 0x58, 0xfe, 0x59, 0xcd, 0xf5, 0xc4, 0x7d, 0x6f, 0xc1, 0xc2, 0x32, 0xa, 0xb1, 0x9f, 0xa9, 0xb8, 0x3b, 0x8a, 0x59, 0x24, 0x16, 0xb, 0x2e, 0x4d, 0x2e, 0x9d, 0x5d, 0x66, 0x69, 0xdf, 0xc6, 0x9e, 0x72, 0xed, 0x81, 0xbb, 0xb9, 0xff, 0x39, 0x67, 0x70, 0xb9, 0x6d, 0x2a, 0x85, 0x89, 0x12, 0x7c, 0xe1, 0x29, 0xea, 0x65, 0x6d, 0x6d, 0x7d, 0xe8, 0x35, 0x60, 0x1a, 0x8, 0x4b, 0x6d, 0xb6, 0xdb, 0x4d, 0x96, 0x48, 0x41, 0x38, 0x46, 0x2, 0x3, 0x12, 0x77, 0x1a, 0xe, 0x52, 0x38, 0x87, 0x86, 0x1, 0xfd, 0x37, 0xc3, 0xe2, 0xee, 0x99, 0xe0, 0xe2, 0x68, 0x4e, 0xb9, 0xcb, 0xce, 0xf3, 0x3c, 0xde, 0x56, 0x2d, 0xde, 0xba, 0x50, 0x81, 0xc9, 0x1f, 0xdc, 0x2d, 0xbe, 0xba, 0x55, 0xa6, 0x61, 0x92, 0xe0, 0x1e, 0x78, 0x8e, 0x6d, 0x72, 0xc, 0x65, 0x87, 0xe4, 0x29, 0x64, 0x8c, 0xb2, 0xb8, 0x63, 0x32, 0x6b, 0x4d, 0x51, 0x24, 0x13, 0x60, 0xc7, 0x30, 0xe, 0x3f, 0x8, 0xd0, 0x89, 0x34, 0xa7, 0x80, 0x16, 0x26, 0xe6, 0x48, 0x91, 0x67, 0x26, 0xd, 0xe1, 0xd9, 0x26, 0x4e, 0x79, 0x19, 0xd4, 0xe2, 0x33, 0xb1, 0x1d, 0xbe, 0xda, 0xaf, 0x66, 0x4, 0xb2, 0x53, 0x88, 0xb0, 0x4c, 0xfd, 0xf4, 0x88, 0x49, 0xc1, 0xd, 0x73, 0x2, 0xed, 0x2a, 0xcc, 0xe4, 0xa, 0x49, 0xb1, 0xe1, 0x34, 0x45, 0x9d, 0xbc, 0x62, 0x34, 0x32, 0x90, 0x4a, 0x41, 0x41, 0x37, 0x98, 0x99, 0xeb, 0x16, 0x40, 0x2a, 0x20, 0xad, 0xc6, 0x65, 0x28, 0x5a, 0x6a, 0xf7, 0xa7, 0x9f, 0x2b, 0xb6, 0x93, 0x16, 0x21, 0x23, 0xb8, 0x77, 0x1f, 0x32, 0x91, 0x2f, 0xef, 0xbf, 0x32, 0x54, 0x61, 0xa6, 0xa3, 0x60, 0xe8, 0xb6, 0x1, 0xf8, 0x90, 0x48, 0x63, 0xe6, 0x4c, 0xae, 0x75, 0xcb, 0x30, 0x69, 0xa, 0x76, 0x37, 0x57, 0x7a, 0x97, 0xf5, 0x0, 0x26, 0xad, 0xd3, 0xe6, 0x3c, 0x95, 0x32, 0xa8, 0x71, 0x2f, 0x8b, 0x82, 0xd6, 0xf3, 0x7b, 0xbb, 0xfd, 0x6f, 0x49, 0x24, 0x6e, 0x99, 0xc9, 0xe6, 0xf6, 0x3d, 0x99, 0x6e, 0x0, 0x5c, 0x67, 0xb5, 0x84, 0x84, 0xad, 0xf8, 0x95, 0xc8, 0x20, 0xe4, 0x5b, 0xa4, 0x65, 0x98, 0xe7, 0x8f, 0xf4, 0x16, 0x4a, 0xf0, 0xbb, 0x84, 0x19, 0x9c, 0x5f, 0x6e, 0x11, 0xf5, 0xf5, 0x3c, 0xfd, 0x8f, 0xbe, 0xd7, 0xe, 0xa1, 0x9, 0xe0, 0x7a, 0xf0, 0x34, 0x66, 0x4b, 0x96, 0xc6, 0x65, 0xde, 0x41, 0x54, 0x8e, 0xe9, 0xfe, 0x1, 0x8c, 0x38, 0x84, 0xe6, 0x15, 0x10, 0xf7, 0x3, 0x88, 0x5c, 0x93, 0xbb, 0x4e, 0x17, 0xcb, 0x84, 0x15, 0xc4, 0x1d, 0x31, 0x71, 0x78, 0x37, 0xcc, 0x85, 0x3d, 0x2d, 0x28, 0x80, 0xbe, 0xe8, 0x7f, 0x45, 0xbc, 0xc, 0x4c, 0x2c, 0x9, 0xf7, 0xde, 0x66, 0x38, 0x40, 0x85, 0x57, 0x48, 0xe8, 0xe7, 0xa, 0xf0, 0x77, 0xf4, 0x4e, 0xff, 0x3d, 0xaf, 0x4c, 0xd7, 0x80, 0x12, 0x45, 0x34, 0x49, 0x36, 0xea, 0x33, 0x5, 0x5a, 0xc1, 0x2, 0xd2, 0xb2, 0xb8, 0x71, 0xa8, 0x18, 0xcc, 0x59, 0xb2, 0x94, 0x3e, 0x7b, 0xd7, 0xc0, 0x3c, 0x91, 0x65, 0x42, 0xd3, 0xe2, 0x45, 0x44, 0xf4, 0xa7, 0xc, 0xd3, 0x30, 0x20, 0xcd, 0x92, 0xfc, 0xa4, 0x65, 0xcf, 0x4f, 0xb0, 0x65, 0x3f, 0xcd, 0xc5, 0xdd, 0x4f, 0xa6, 0xa6, 0x89, 0xb6, 0xad, 0xa0, 0x60, 0x3b, 0x76, 0x99, 0xf0, 0x19, 0x8b, 0x56, 0x51, 0x52, 0x48, 0x76, 0xf7, 0x35, 0xc6, 0x1b, 0x89, 0x7a, 0xcb, 0xab, 0xe8, 0xd2, 0xab, 0xb5, 0x4d, 0xbc, 0x1b, 0x1f, 0xae, 0x5a, 0x7b, 0x20, 0xaf, 0x7a, 0xa3, 0x5f, 0x26, 0x7f, 0xbe, 0xec, 0x5f, 0xf6, 0xd7, 0x17, 0x7, 0xa9, 0xfb, 0xd6, 0xda, 0xa7, 0x1b, 0x3f, 0xb4, 0xe5, 0xac, 0x37, 0x7e, 0x78, 0xd6, 0xff, 0x8f, 0xcb, 0x51, 0x1b, 0xe9, 0xd1, 0x10, 0x90, 0xbf, 0xa9, 0xd4, 0x6, 0x72, 0x27, 0x4, 0x19, 0x8, 0xef, 0x29, 0x64, 0x6d, 0x9b, 0xdb, 0x8a, 0xe9, 0x99, 0x5, 0x52, 0x6, 0x8f, 0x4b, 0xf9, 0xe2, 0xe, 0x66, 0xa0, 0xf2, 0xd9, 0xba, 0x18, 0x9d, 0xe6, 0x86, 0x88, 0x83, 0x21, 0x14, 0xf2, 0xf2, 0x3b, 0x2e, 0x99, 0x8d, 0x21, 0x2d, 0x5d, 0x58, 0x77, 0xb9, 0xfd, 0x50, 0xa6, 0xfb, 0xfd, 0x40, 0xb6, 0xd, 0x15, 0x5e, 0x98, 0xbe, 0xda, 0x32, 0xd4, 0x11, 0xde, 0x2b, 0x9e, 0x4a, 0xc8, 0x42, 0x73, 0xec, 0xa8, 0xfe, 0x3e, 0x85, 0xd7, 0x68, 0x8e, 0x68, 0x25, 0xe6, 0xba, 0x94, 0x56, 0x59, 0xb8, 0x3b, 0xfa, 0xea, 0x54, 0xaa, 0xf2, 0xeb, 0x4d, 0x3c, 0xcc, 0x92, 0x47, 0xd0, 0x53, 0xeb, 0xba, 0xf6, 0x10, 0x47, 0x1e, 0x30, 0xc, 0x77, 0xbb, 0xc3, 0xc5, 0x95, 0x18, 0x3, 0x11, 0x33, 0xa5, 0xff, 0xdb, 0x57, 0x6f, 0x29, 0xae, 0xd7, 0x42, 0x57, 0x55, 0xba, 0xa4, 0x66, 0x4b, 0x1, 0x6a, 0xdc, 0xa1, 0x61, 0x50, 0xe3, 0xdf, 0x3, 0x80, 0x92, 0xbb, 0x0, 0x6, 0xa2, 0x91, 0x95, 0x8c, 0xf2, 0xc5, 0x82, 0x66, 0xdb, 0x62, 0x42, 0x3c, 0x71, 0x94, 0x56, 0x1c, 0xc5, 0xde, 0xbf, 0xb2, 0xff, 0xb2, 0xd6, 0x95, 0x52, 0x7b, 0x3c, 0x88, 0x22, 0xb7, 0x87, 0xea, 0xd5, 0x3a, 0x3b, 0x72, 0xb3, 0x2, 0xf5, 0x55, 0x40, 0xc, 0xcd, 0xdc, 0x27, 0xc0, 0x2, 0xab, 0xb8, 0x85, 0x64, 0xc4, 0x16, 0x34, 0x55, 0x3c, 0x2a, 0x51, 0x13, 0x39, 0x22, 0x9f, 0x4c, 0xd, 0x20, 0x83, 0xdd, 0x2, 0xcc, 0x26, 0x65, 0x77, 0x45, 0xa6, 0x2a, 0xc9, 0xb, 0x48, 0x8, 0x8, 0x50, 0x5a, 0xc0, 0x4a, 0x2c, 0x72, 0x5e, 0x9a, 0x64, 0x60, 0x65, 0xb2, 0x2f, 0x5c, 0xaa, 0x42, 0x8a, 0x33, 0xe, 0xd5, 0x7, 0x34, 0x13, 0x40, 0x40, 0x4, 0x96, 0x96, 0xe2, 0x97, 0xba, 0x83, 0x62, 0x47, 0x90, 0xe8, 0x70, 0x24, 0x96, 0x6f, 0x49, 0x2a, 0xc, 0xae, 0x53, 0xa5, 0xb3, 0x33, 0x91, 0x1e, 0xb1, 0xb6, 0x1d, 0xc2, 0x7e, 0xe0, 0x41, 0xbc, 0x42, 0xc8, 0x46, 0x58, 0x8e, 0x31, 0x35, 0x71, 0x27, 0x4b, 0x64, 0x4d, 0x16, 0x88, 0x1e, 0xe0, 0x93, 0xe, 0x8a, 0xd8, 0x94, 0x66, 0x1a, 0x3d, 0xb, 0x69, 0xb9, 0xa4, 0x6a, 0x2e, 0xdf, 0x92, 0x67, 0xfa, 0x8e, 0x4f, 0x40, 0xb6, 0x41, 0x4d, 0x35, 0xf9, 0xac, 0x43, 0x9e, 0x59, 0x82, 0xe, 0xff, 0xbd, 0xab, 0x7f, 0x2d, 0xfc, 0xc1, 0x4, 0x91, 0x3f, 0xeb, 0x94, 0x67, 0xe2, 0x3f, 0x81, 0xc, 0xe0, 0x9, 0x4b, 0xe3, 0xa5, 0xe0, 0xa9, 0xd2, 0xad, 0x91, 0x6d, 0xfb, 0x7f, 0x73, 0xdd, 0x9a, 0xff, 0xb4, 0x9d, 0xd6, 0x38, 0x40, 0x4b, 0x60, 0x92, 0x45, 0x52, 0xde, 0x89, 0xbf, 0x3d, 0x10, 0xe3, 0xc5, 0x4c, 0xfe, 0x79, 0x9d, 0x42, 0xdb, 0xb, 0xac, 0x8e, 0x20, 0x85, 0x49, 0x9f, 0x71, 0x51, 0xc1, 0x15, 0x4b, 0xc5, 0x17, 0x50, 0x9d, 0x40, 0x93, 0x56, 0xc2, 0xa5, 0x22, 0xb7, 0x9c, 0xdd, 0x15, 0x75, 0xcc, 0x8b, 0x92, 0xa6, 0xd0, 0x56, 0xe, 0xb4, 0x41, 0xc1, 0xde, 0xe0, 0x7f, 0x5d, 0x2d, 0xfd, 0x63, 0x97, 0xb1, 0xb2, 0x1c, 0x99, 0x60, 0xda, 0x10, 0xf6, 0x7, 0x77, 0xbb, 0x90, 0xbb, 0x7f, 0xe4, 0xcc, 0x26, 0x5a, 0xd6, 0x13, 0x4a, 0xc5, 0xf1, 0xcb, 0x39, 0xff, 0x36, 0x67, 0x1a, 0x95, 0x75, 0xa3, 0x70, 0x40, 0x26, 0xd3, 0x32, 0x43, 0x98, 0xf8, 0x52, 0x77, 0x2, 0x30, 0x38, 0x1c, 0x8, 0x88, 0x9d, 0xe0, 0xc4, 0x50, 0x25, 0x92, 0xa0, 0xbf, 0x53, 0x7, 0xac, 0x3b, 0xd1, 0x56, 0xfd, 0xd0, 0x4c, 0x95, 0xf2, 0x54, 0xba, 0xb9, 0xf9, 0xdd, 0x29, 0xe8, 0x60, 0x6, 0xb1, 0xd6, 0x1b, 0x3b, 0x25, 0x4e, 0xf0, 0x5e, 0x64, 0x46, 0x89, 0x38, 0xa, 0x60, 0xa, 0x5c, 0xaf, 0xb2, 0xe3, 0x80, 0x60, 0x47, 0x27, 0xbf, 0x3c, 0x97, 0xe, 0xa2, 0xc1, 0x6c, 0x51, 0x65, 0xdf, 0x6e, 0x59, 0xa6, 0x30, 0xb9, 0xc7, 0x39, 0x5d, 0x99, 0x7d, 0x85, 0x8c, 0xc0, 0x3, 0xe2, 0xce, 0x81, 0x97, 0xf1, 0xa7, 0xdf, 0x83, 0xe1, 0xbb, 0x10, 0x8a, 0x35, 0xcd, 0x65, 0x25, 0x72, 0xb2, 0xe0, 0xd7, 0x73, 0x7c, 0xcc, 0x5c, 0x89, 0x3c, 0x23, 0xe2, 0x2e, 0xdd, 0x30, 0x19, 0x49, 0x68, 0x14, 0x89, 0x2c, 0xc6, 0xaa, 0x2c, 0xa6, 0xe6, 0x24, 0x40, 0x80, 0xe9, 0xa1, 0x88, 0xe5, 0x4a, 0x32, 0x98, 0x5b, 0x21, 0xdf, 0x32, 0x97, 0x7d, 0xf3, 0xc9, 0x9e, 0xb4, 0xef, 0x6d, 0x8a, 0x41, 0xfd, 0x5, 0x0, 0xc, 0x12, 0x2, 0xb9, 0x60, 0x36, 0xfb, 0xcd, 0x9a, 0xa, 0xf8, 0xd0, 0xb, 0xb3, 0x28, 0xa9, 0xc8, 0x73, 0x96, 0xd5, 0x43, 0x54, 0x55, 0x6d, 0x60, 0x7b, 0xed, 0xad, 0x15, 0x1c, 0x32, 0x12, 0x7b, 0x77, 0x36, 0x2a, 0xec, 0x7e, 0xf8, 0xf5, 0x46, 0xae, 0xd5, 0xd4, 0xe1, 0x58, 0x8d, 0xab, 0xa0, 0x83, 0xe2, 0xd7, 0xe0, 0xc0, 0x41, 0xa5, 0xf2, 0x88, 0xf1, 0xdb, 0xd0, 0xb8, 0x71, 0x88, 0x83, 0x8, 0x97, 0x86, 0xa6, 0x39, 0x95, 0x0, 0xbf, 0x16, 0x1, 0x66, 0xcd, 0x12, 0xa6, 0x21, 0x3b, 0x75, 0xea, 0x6f, 0x9d, 0x8d, 0x1d, 0xa8, 0xe3, 0x48, 0x3b, 0xa9, 0x71, 0x4d, 0x63, 0x7e, 0xbf, 0x16, 0xbf, 0xbd, 0xcf, 0x23, 0x72, 0x4a, 0x17, 0xd3, 0x98, 0x92, 0xf7, 0x79, 0x1a, 0x79, 0xa7, 0x0, 0x57, 0x92, 0x25, 0x33, 0x82, 0x15, 0xe, 0x96, 0x41, 0x9f, 0x34, 0x49, 0xac, 0x27, 0x18, 0x2f, 0x86, 0x51, 0xbf, 0xcf, 0xd8, 0xdd, 0x8b, 0x97, 0x64, 0x66, 0x3a, 0x29, 0x30, 0xdd, 0x51, 0xc1, 0x52, 0xf9, 0xb6, 0x2c, 0xd7, 0x48, 0x59, 0x43, 0x5c, 0xf, 0x8e, 0xe1, 0xe2, 0xf4, 0x1e, 0x22, 0xbb, 0xc5, 0x99, 0x1d, 0x96, 0xd9, 0x62, 0x9f, 0x8d, 0xac, 0x36, 0xa6, 0x8a, 0x7e, 0xd, 0x3e, 0xeb, 0xa6, 0xd1, 0xc0, 0x65, 0xd7, 0xcc, 0x63, 0xf, 0x16, 0xbb, 0x81, 0x65, 0xe1, 0xa5, 0x71, 0xdb, 0x8c, 0x6e, 0xc4, 0xb1, 0x79, 0xfd, 0x24, 0x23, 0x9b, 0x22, 0xc, 0x59, 0xec, 0x2, 0x97, 0x40, 0xf2, 0x25, 0xc0, 0x1d, 0xe9, 0x39, 0x17, 0x4a, 0xd0, 0xf8, 0xc9, 0x5b, 0x78, 0x5a, 0xb8, 0xe3, 0x9a, 0x3a, 0x32, 0x2e, 0x2d, 0x0, 0x2c, 0xcb, 0x4e, 0x9c, 0xf7, 0xd6, 0xde, 0x5f, 0x7d, 0xa4, 0x9f, 0x98, 0xa2, 0x61, 0x5e, 0x76, 0xeb, 0x64, 0xaf, 0x5d, 0x32, 0xe2, 0x31, 0x8f, 0x1e, 0x54, 0xb8, 0xbb, 0xf9, 0xca, 0x5c, 0x5d, 0xd0, 0xef, 0xee, 0xa8, 0x96, 0xd, 0xaa, 0xc, 0x36, 0x3f, 0xd8, 0x31, 0x4f, 0xb5, 0xec, 0xd5, 0x28, 0xa5, 0xac, 0xc2, 0xab, 0x9, 0x8e, 0x90, 0x95, 0xa3, 0x91, 0x98, 0xf2, 0xc0, 0xba, 0x90, 0xc2, 0xfa, 0x5c, 0xfa, 0x94, 0xd7, 0xd2, 0x95, 0xc5, 0x2e, 0x76, 0x42, 0x2a, 0xe0, 0xbe, 0x8, 0x5e, 0x30, 0x9b, 0xcd, 0xa8, 0x4, 0xc7, 0x22, 0x4f, 0x5d, 0xad, 0x3f, 0xff, 0xf8, 0x37, 0xc4, 0xd7, 0xe1, 0x6d, 0x8d, 0xec, 0x48, 0xf7, 0xb6, 0xef, 0xe6, 0xce, 0xc8, 0xd5, 0xdf, 0x73, 0x96, 0xad, 0xae, 0x6c, 0x4a, 0x3c, 0x58, 0x79, 0xfa, 0xd2, 0x68, 0xc1, 0x9b, 0xae, 0x2c, 0x1c, 0x3f, 0x1e, 0x77, 0x8e, 0xa9, 0xf3, 0x34, 0x45, 0x1c, 0xae, 0x2f, 0x7c, 0x41, 0x95, 0xa5, 0xe6, 0xe2, 0x51, 0x78, 0xb7, 0x3d, 0x3c, 0x44, 0x6a, 0xa2, 0x46, 0x24, 0x3b, 0xdd, 0x11, 0x8c, 0x58, 0xf5, 0x47, 0x6, 0x33, 0x29, 0xcc, 0xa2, 0x76, 0xe, 0x6, 0xb1, 0x14, 0x78, 0x4c, 0xbe, 0xf0, 0xc2, 0x24, 0x4f, 0x95, 0xac, 0x4c, 0x45, 0xff, 0x64, 0xac, 0x6f, 0x8f, 0x2d, 0x95, 0x5a, 0xd4, 0x55, 0xd8, 0xfc, 0x6e, 0x1, 0x85, 0xc4, 0x8, 0x13, 0xb9, 0xa0, 0x20, 0xa4, 0xd5, 0x9c, 0xa6, 0x55, 0x11, 0xa1, 0x84, 0xa2, 0x49, 0x8, 0x7d, 0xe2, 0x17, 0xbc, 0xb0, 0x6f, 0xef, 0x35, 0xcb, 0xbd, 0x6e, 0xb0, 0xe9, 0xf6, 0x4, 0x7b, 0xda, 0x40, 0x5c, 0x93, 0xde, 0xf5, 0x75, 0xc6, 0xae, 0x41, 0x6, 0x6c, 0xf5, 0x2e, 0xe5, 0xe4, 0x4c, 0xb0, 0x89, 0x7c, 0x16, 0x5e, 0xb2, 0x86, 0x3, 0xab, 0xd6, 0x83, 0x41, 0xdb, 0xcf, 0x68, 0x3c, 0xae, 0x98, 0xb, 0xe4, 0xaf, 0x76, 0x1c, 0xc, 0x2e, 0x1e, 0xa1, 0xde, 0x4f, 0x78, 0x40, 0x74, 0x6e, 0x8c, 0x80, 0xe2, 0xba, 0x6d, 0x6e, 0x53, 0x65, 0xc1, 0x5b, 0x5e, 0x2f, 0x18, 0xf8, 0x57, 0x80, 0x7d, 0x3b, 0xf8, 0x59, 0x55, 0x44, 0xfd, 0xe6, 0xbb, 0xc, 0xab, 0x5, 0x3d, 0xdc, 0xd5, 0xa2, 0x78, 0xf4, 0x1c, 0x24, 0xa8, 0xcc, 0xfd, 0x63, 0x70, 0x90, 0x60, 0xc1, 0xdf, 0x8a, 0x83, 0x6c, 0x22, 0xb1, 0x47, 0xca, 0x47, 0xb6, 0x5e, 0xf6, 0x23, 0xe0, 0x26, 0x16, 0xad, 0xe9, 0xb1, 0xb2, 0xf, 0x8b, 0x17, 0xf5, 0xa3, 0x70, 0xf, 0xbf, 0xde, 0x6f, 0xc5, 0x3c, 0x2a, 0x14, 0xf5, 0x48, 0xb9, 0xc5, 0xe6, 0x75, 0x3e, 0x2, 0xf6, 0x50, 0x49, 0x8b, 0x78, 0xac, 0x7c, 0xc2, 0x45, 0x2b, 0x7, 0x7c, 0x82, 0xc9, 0xc7, 0xcc, 0x29, 0xfc, 0x8a, 0xbf, 0x15, 0xa7, 0x68, 0x26, 0xae, 0x9d, 0x59, 0xc6, 0x15, 0xce, 0xf7, 0xa, 0x5c, 0x77, 0xf, 0x97, 0x77, 0x6c, 0xb1, 0xf2, 0xef, 0x9c, 0x89, 0x40, 0x6d, 0xd0, 0xb3, 0xf0, 0xb5, 0xc2, 0x14, 0x9d, 0xdb, 0xf6, 0x2d, 0x34, 0x28, 0x40, 0x41, 0x76, 0xf1, 0xac, 0xda, 0xe1, 0x47, 0x4b, 0x16, 0x35, 0x52, 0x93, 0xfd, 0x8, 0x83, 0x9b, 0xb8, 0x32, 0xf8, 0xfb, 0x58, 0xe1, 0xb4, 0xdb, 0xbc, 0xa2, 0x9d, 0x58, 0x22, 0xab, 0x79, 0xbe, 0xd9, 0x79, 0x59, 0x8d, 0x4b, 0x3a, 0xa1, 0x8a, 0x92, 0xa5, 0x90, 0xca, 0x20, 0x79, 0xd3, 0x34, 0x62, 0x5d, 0x72, 0x5c, 0x84, 0x70, 0xe6, 0x52, 0xe6, 0x5, 0xd4, 0x48, 0x5b, 0x66, 0x12, 0x9e, 0xf4, 0xf1, 0x41, 0x44, 0x64, 0x71, 0xb8, 0x3, 0x56, 0xfc, 0xed, 0x76, 0x9c, 0x3b, 0x67, 0x2a, 0x2, 0xd0, 0xac, 0x4b, 0x4f, 0xc, 0xb1, 0xc0, 0x3, 0x84, 0x64, 0x5b, 0x91, 0x96, 0xa7, 0x61, 0x40, 0x16, 0x7e, 0xb6, 0x7d, 0xaa, 0xe, 0x62, 0xe6, 0x59, 0xc6, 0x8c, 0xc1, 0x1c, 0x21, 0xfc, 0x78, 0xd8, 0xfb, 0x5e, 0x67, 0x69, 0xb7, 0x74, 0x2d, 0x22, 0xab, 0x5f, 0x2e, 0xa0, 0xa8, 0x2f, 0x45, 0xc2, 0x23, 0xe, 0xb1, 0xb4, 0xe0, 0xed, 0x47, 0x8e, 0x84, 0x89, 0x86, 0x9, 0x26, 0x28, 0xf8, 0x59, 0x9a, 0x3f, 0x43, 0x52, 0xc8, 0x41, 0x66, 0xa, 0x3d, 0x35, 0x4e, 0xd7, 0x3e, 0x2c, 0xba, 0xe9, 0x40, 0x22, 0x90, 0x49, 0x53, 0x51, 0x2, 0x32, 0x7, 0xd4, 0xdc, 0x46, 0x91, 0x11, 0x1, 0x1, 0xb6, 0x8b, 0x5, 0x8b, 0x39, 0x55, 0x2c, 0x59, 0x5, 0x11, 0x2f, 0x87, 0x84, 0x3b, 0x34, 0x20, 0x87, 0x58, 0x2d, 0xd0, 0xe4, 0x63, 0x5a, 0x22, 0x2f, 0x15, 0xf8, 0x37, 0x7f, 0xd8, 0xa5, 0xec, 0x50, 0x9e, 0x72, 0x80, 0x3d, 0x85, 0xc1, 0x67, 0x1c, 0x52, 0x66, 0x32, 0x3, 0xe9, 0xd, 0xd4, 0xe9, 0xc4, 0x90, 0xfe, 0x3b, 0x8f, 0xd9, 0x62, 0x29, 0xa0, 0x66, 0x58, 0x97, 0x8c, 0x5d, 0x81, 0xb2, 0xcb, 0xcb, 0xc1, 0xc9, 0xed, 0xef, 0xfd, 0x7c, 0x16, 0x6c, 0x21, 0xf6, 0x3a, 0xb7, 0x4f, 0x6c, 0x21, 0x1a, 0x8f, 0x4b, 0xff, 0x8, 0xd4, 0x23, 0x19, 0xcd, 0xa2, 0x39, 0xa1, 0x2e, 0xd, 0xb9, 0x8, 0x8a, 0x59, 0xb8, 0x74, 0xf8, 0x12, 0x19, 0x5c, 0x4, 0x68, 0x5b, 0xcd, 0x60, 0x26, 0x1b, 0x64, 0xcb, 0xa8, 0xd4, 0xae, 0x36, 0xda, 0x24, 0x10, 0xf6, 0xd, 0x15, 0x6a, 0x7e, 0x7e, 0xfd, 0xbb, 0xb7, 0x6f, 0x85, 0xa1, 0xbb, 0x86, 0xea, 0x34, 0xd, 0x95, 0x69, 0x40, 0xfa, 0x4f, 0x5c, 0x89, 0x43, 0x28, 0x35, 0x8d, 0x6f, 0xd0, 0x5a, 0xe8, 0xd3, 0x5b, 0xca, 0x13, 0xb, 0x13, 0x2b, 0xf2, 0x8c, 0x5c, 0x8b, 0x6b, 0xa1, 0xcf, 0xee, 0xc6, 0xd5, 0xae, 0x29, 0xf3, 0xc5, 0x1d, 0xf5, 0xe4, 0x74, 0x96, 0xf0, 0x48, 0x8d, 0xc5, 0xd, 0x6b, 0xf3, 0x3c, 0x53, 0x85, 0xcf, 0xc5, 0x69, 0x94, 0x9f, 0x8c, 0xee, 0x9b, 0x4d, 0xfb, 0xd4, 0x82, 0x8d, 0x19, 0x9b, 0xeb, 0xf, 0x96, 0x58, 0x34, 0x71, 0xea, 0x1f, 0x58, 0x4c, 0x1, 0x40, 0xbf, 0x9a, 0x40, 0x28, 0x6b, 0x55, 0x9c, 0xd6, 0x7c, 0x71, 0xc7, 0xd5, 0xbc, 0xa4, 0x0, 0x83, 0xc6, 0xac, 0xbb, 0x2d, 0x46, 0xd6, 0x75, 0x20, 0xd2, 0x2d, 0xcb, 0x44, 0x16, 0x60, 0xfe, 0xa2, 0xda, 0xbd, 0x3f, 0x7, 0x2a, 0x6, 0x6c, 0x3f, 0x1a, 0x5e, 0x54, 0x84, 0xef, 0x85, 0x4e, 0xa4, 0xa9, 0xd5, 0xd7, 0xf0, 0x58, 0xd9, 0x40, 0x95, 0x5f, 0xe5, 0x92, 0x6c, 0xac, 0x0, 0xc, 0x95, 0x5d, 0x30, 0xf0, 0xc3, 0xd8, 0x5b, 0x52, 0xb8, 0x52, 0xd2, 0xb6, 0x30, 0x90, 0x39, 0xc9, 0x64, 0x45, 0x96, 0x54, 0x1a, 0xc5, 0xa9, 0x77, 0x31, 0x40, 0x8b, 0xb1, 0x48, 0x6a, 0x77, 0x19, 0x57, 0xae, 0x8a, 0x51, 0x79, 0xd1, 0x6, 0x50, 0xbc, 0x26, 0x1, 0x14, 0x7f, 0x88, 0x79, 0xac, 0x59, 0x4e, 0xb1, 0x47, 0xc, 0xdb, 0x74, 0x55, 0x7d, 0xe0, 0xf0, 0x7a, 0x17, 0x3, 0x88, 0xf8, 0x0, 0xa6, 0x4d, 0xc9, 0x2c, 0x57, 0xba, 0x37, 0x18, 0x7b, 0x3d, 0xc2, 0x76, 0xfd, 0x61, 0x98, 0xdc, 0xba, 0xaf, 0xc7, 0x29, 0xcc, 0x80, 0x7b, 0x49, 0xb4, 0x86, 0x45, 0xac, 0x29, 0xa8, 0xf7, 0xf7, 0x9c, 0x17, 0x4a, 0x56, 0x44, 0x75, 0xe9, 0x65, 0x3b, 0xcd, 0xa5, 0x10, 0xf1, 0xd8, 0xd6, 0x62, 0xf5, 0xc, 0xa2, 0xe0, 0xee, 0xd2, 0x37, 0xc9, 0x45, 0x3c, 0x85, 0x59, 0x5f, 0x36, 0x39, 0xc8, 0x26, 0x10, 0x7e, 0xae, 0xc9, 0xf3, 0xa, 0x2e, 0x1f, 0x66, 0x3, 0xc2, 0x83, 0x3d, 0xf6, 0x86, 0xb1, 0x8, 0xb, 0x9a, 0xd2, 0x6b, 0xb6, 0x28, 0xd4, 0xce, 0xff, 0x7e, 0x59, 0x5c, 0x69, 0x4b, 0xef, 0x49, 0xfb, 0x82, 0x7f, 0x40, 0xda, 0x60, 0x3d, 0x42, 0xd7, 0x87, 0x4f, 0xc8, 0xd6, 0xc2, 0x5, 0x13, 0xb7, 0x33, 0x16, 0x71, 0x76, 0xcb, 0xe2, 0xe, 0xa4, 0x8c, 0x15, 0x12, 0x3a, 0x29, 0x91, 0x79, 0x14, 0x31, 0x29, 0x67, 0x79, 0x82, 0x81, 0xd9, 0xa5, 0x31, 0x86, 0x4c, 0x65, 0x2b, 0x97, 0x2d, 0x4c, 0x83, 0xdc, 0x39, 0x3b, 0xe2, 0xe0, 0xc4, 0x9d, 0x3f, 0x8c, 0x19, 0x24, 0xf6, 0x81, 0x80, 0xfb, 0x17, 0x97, 0x43, 0x69, 0x3c, 0x60, 0x5, 0x4c, 0xfa, 0x2d, 0x98, 0xb7, 0xb9, 0x4e, 0xeb, 0x78, 0xb8, 0x63, 0x1b, 0xdb, 0xb0, 0x72, 0xf2, 0xcf, 0xff, 0x2a, 0x75, 0x39, 0x4b, 0xc4, 0xdd, 0xf0, 0x2b, 0xd8, 0x93, 0x7b, 0x3b, 0x12, 0xc2, 0xc9, 0xae, 0x75, 0x26, 0x8c, 0x4d, 0x21, 0xd9, 0x52, 0x91, 0x3b, 0x7f, 0xd8, 0x50, 0xb6, 0x77, 0x14, 0xd1, 0x1a, 0x11, 0x36, 0x15, 0x22, 0x61, 0x61, 0x65, 0xd5, 0x4d, 0x8e, 0x51, 0x95, 0x85, 0xb5, 0x6b, 0xcb, 0x19, 0xb, 0xa5, 0x2c, 0xf0, 0x64, 0x45, 0x6c, 0x82, 0xbd, 0xf7, 0x2, 0xde, 0x72, 0x4a, 0xa6, 0x60, 0xa0, 0xfd, 0x26, 0xa6, 0xf5, 0x89, 0x62, 0x92, 0x29, 0x52, 0x1e, 0x4, 0x22, 0xff, 0x83, 0x91, 0x30, 0xe6, 0x29, 0xe3, 0xd7, 0xd7, 0x98, 0x56, 0xea, 0x4a, 0x1d, 0x83, 0x1b, 0x94, 0x2a, 0x2e, 0x67, 0x9c, 0x95, 0xbd, 0x6c, 0xb7, 0xdc, 0xe2, 0x22, 0x4c, 0xc0, 0xff, 0xe8, 0xdc, 0x9d, 0xe1, 0x5a, 0xac, 0xb3, 0x42, 0xb2, 0xc4, 0x40, 0x35, 0x84, 0x5e, 0x5b, 0x61, 0x51, 0x21, 0x6c, 0x33, 0x25, 0xe, 0xc0, 0x59, 0x2e, 0xcd, 0x98, 0x31, 0x3b, 0x8a, 0xf3, 0xa5, 0x63, 0x1b, 0x32, 0xe4, 0x13, 0xde, 0xef, 0xa0, 0x39, 0xc6, 0xfe, 0xfc, 0xb4, 0x1c, 0xec, 0x44, 0x23, 0x5, 0xf1, 0x56, 0xc2, 0xf9, 0x35, 0xec, 0x1a, 0xbb, 0xe4, 0xb3, 0xd9, 0x1b, 0x88, 0x9c, 0xd, 0xea, 0x75, 0x65, 0x5, 0xef, 0x44, 0xd8, 0xfd, 0x96, 0x93, 0xd1, 0x54, 0x1e, 0xfe, 0xa5, 0xbb, 0x79, 0xc4, 0xba, 0x3b, 0xbd, 0x93, 0x9a, 0x97, 0xed, 0xeb, 0x50, 0x9, 0xe7, 0xd0, 0x78, 0x4d, 0x8f, 0xcd, 0xa6, 0x16, 0xb7, 0xec, 0x37, 0x31, 0xdd, 0x9e, 0x5a, 0xde, 0xc1, 0xf5, 0xf9, 0x77, 0x31, 0x5, 0xc6, 0x3b, 0xc3, 0xb, 0x7e, 0x24, 0xb5, 0x2, 0x9, 0xb5, 0xb9, 0xef, 0xa8, 0xb, 0x8c, 0x8f, 0x83, 0xc2, 0xf1, 0x58, 0x97, 0x18, 0xc7, 0x3e, 0xa1, 0x8a, 0xbe, 0x4b, 0xc4, 0x74, 0x6b, 0x5f, 0x62, 0x24, 0x62, 0x9e, 0x5e, 0x97, 0x73, 0xbc, 0xea, 0xf0, 0x91, 0xfa, 0x67, 0xc7, 0xe7, 0x27, 0x83, 0xb3, 0xf, 0xeb, 0x73, 0xdb, 0xca, 0xdf, 0x5d, 0xc, 0xcf, 0xc7, 0xe7, 0xbf, 0x5b, 0xfb, 0xc9, 0xbf, 0x8f, 0xce, 0xcf, 0xda, 0x5b, 0xac, 0x85, 0x1c, 0xb5, 0x96, 0x95, 0x65, 0xaa, 0xaa, 0xec, 0x9, 0x8b, 0x12, 0x9e, 0xb2, 0x18, 0x1, 0x74, 0x8c, 0x2c, 0xba, 0x5c, 0x5e, 0x67, 0x34, 0xde, 0x96, 0xdc, 0xd6, 0x2a, 0xa6, 0x7b, 0xe9, 0xa0, 0x19, 0xd3, 0xc, 0x4e, 0xa4, 0x67, 0xf0, 0xf8, 0xb2, 0xa7, 0x76, 0x33, 0x34, 0x9d, 0x5, 0x4f, 0x39, 0x6a, 0x1e, 0x96, 0x6e, 0x26, 0x99, 0xc8, 0x95, 0x61, 0xbd, 0x33, 0x7e, 0x4d, 0x2c, 0xba, 0xc, 0x5f, 0xb0, 0x0, 0x66, 0xa6, 0x64, 0xb0, 0x50, 0x49, 0x62, 0xb3, 0x95, 0x68, 0x52, 0xa7, 0x84, 0xa7, 0x91, 0x58, 0xc0, 0xb3, 0x10, 0x34, 0x0, 0x8, 0x1b, 0x33, 0x34, 0x97, 0xe4, 0x7f, 0xfe, 0x2f, 0xd4, 0xa7, 0xc0, 0x74, 0x32, 0x5a, 0x4e, 0xb1, 0x4f, 0x2d, 0x31, 0x10, 0x85, 0x5, 0x5c, 0x92, 0xf8, 0x62, 0x97, 0x5b, 0x75, 0x34, 0x66, 0x11, 0x87, 0xc0, 0xdc, 0xbb, 0x39, 0x3, 0xa8, 0x1d, 0x91, 0xc1, 0x7, 0x9a, 0xc1, 0xe7, 0x4b, 0xa8, 0x7e, 0x5b, 0x7d, 0xc3, 0xca, 0xf1, 0x60, 0x89, 0xe4, 0xd7, 0x5a, 0xe1, 0xdc, 0xe0, 0x23, 0xfa, 0x9c, 0xd1, 0xe5, 0xd2, 0xe8, 0x7e, 0xd4, 0xa2, 0xeb, 0x54, 0x31, 0x10, 0xbc, 0xfd, 0x35, 0x3a, 0xf9, 0xc5, 0xed, 0x2, 0x4, 0x8b, 0x9b, 0xe1, 0x42, 0x51, 0x42, 0x46, 0x8c, 0xb9, 0x8f, 0x26, 0x6, 0xfe, 0xc7, 0xf4, 0x34, 0xb1, 0xd, 0x44, 0xda, 0x58, 0x8b, 0xa7, 0x84, 0xf0, 0x67, 0x6e, 0x3d, 0x4b, 0xd8, 0x5e, 0x8f, 0xa, 0x56, 0x9f, 0xc2, 0x8e, 0x76, 0xf3, 0x41, 0x15, 0xfb, 0xd8, 0xcf, 0x54, 0x5f, 0xdf, 0xd7, 0x5e, 0x2a, 0xa3, 0xef, 0x72, 0x37, 0xf1, 0xe2, 0xfb, 0xb1, 0xd3, 0xd9, 0xf6, 0x29, 0xa, 0x80, 0x75, 0xe, 0xe0, 0xe6, 0x3a, 0x71, 0x7a, 0xbd, 0x3, 0x43, 0xb1, 0x89, 0x6, 0x5a, 0x89, 0xb7, 0x6, 0x1b, 0x6, 0x93, 0xbf, 0x32, 0xc9, 0xa2, 0xa0, 0x4a, 0x61, 0x61, 0xa8, 0x4, 0x95, 0x1, 0x71, 0x8d, 0x17, 0x68, 0xba, 0x22, 0x73, 0x44, 0xe2, 0x28, 0xc5, 0xc3, 0xcb, 0x39, 0x45, 0x6c, 0x17, 0x0, 0x4, 0xd2, 0xaa, 0x72, 0x49, 0xfd, 0x3a, 0xcf, 0x21, 0x81, 0x8f, 0x26, 0x49, 0x1, 0x12, 0x4a, 0xa0, 0xad, 0x93, 0xc1, 0xf3, 0x82, 0x48, 0x99, 0xf5, 0x84, 0xc4, 0xc, 0xee, 0x1f, 0x94, 0xa4, 0x92, 0x5, 0x74, 0x21, 0xdf, 0xda, 0x60, 0xd9, 0x14, 0xc7, 0x31, 0x69, 0x35, 0xd2, 0x59, 0xb7, 0x0, 0xe2, 0xc1, 0x3c, 0x2, 0x92, 0x66, 0x14, 0xfa, 0x37, 0xc4, 0xf5, 0x2a, 0x3c, 0x52, 0x57, 0xfd, 0x79, 0x57, 0xbf, 0xf6, 0x87, 0xa3, 0xc1, 0xf9, 0x99, 0x96, 0x3f, 0xef, 0xfa, 0x1f, 0x7b, 0xbf, 0xe, 0xce, 0x87, 0x93, 0xde, 0xe5, 0xf8, 0x7c, 0x72, 0x79, 0xf1, 0x61, 0xd8, 0x3b, 0xe9, 0x5f, 0x85, 0xb8, 0x37, 0xd6, 0xb1, 0xeb, 0x97, 0x3e, 0x3d, 0x8, 0x72, 0x9b, 0x43, 0xa0, 0x42, 0xf, 0x8d, 0xc, 0x70, 0x6f, 0x2c, 0x7f, 0x29, 0xd6, 0x59, 0x72, 0xa5, 0xed, 0xcc, 0x7f, 0x2f, 0x33, 0x71, 0x9d, 0xd1, 0x5, 0x89, 0x44, 0xcc, 0x2c, 0xce, 0xa, 0x72, 0xee, 0x3a, 0xf, 0xd0, 0x46, 0x5c, 0x91, 0x2b, 0x4f, 0xd7, 0x57, 0xde, 0x0, 0x96, 0x50, 0x87, 0xd9, 0x71, 0x3e, 0x31, 0xf3, 0xc9, 0xa, 0x38, 0xd, 0x89, 0xd6, 0x7b, 0x24, 0x16, 0x53, 0x9e, 0x9a, 0x32, 0xa4, 0xb3, 0xb0, 0x9, 0xd2, 0x81, 0x9f, 0x52, 0xd9, 0xce, 0xb4, 0x38, 0x11, 0x48, 0x10, 0xde, 0xf2, 0x6, 0xf, 0x84, 0x49, 0xfe, 0x90, 0x8c, 0x5c, 0x95, 0x79, 0x1, 0x7a, 0xf, 0xe4, 0x95, 0x51, 0xf9, 0x79, 0x56, 0x41, 0xae, 0x31, 0x1b, 0x4, 0x3a, 0x3e, 0x9a, 0x52, 0x2b, 0x3, 0x4a, 0x86, 0x5, 0x99, 0x3, 0x62, 0x3e, 0x61, 0xcb, 0x8c, 0x41, 0xb1, 0xb4, 0x6e, 0xe9, 0x8e, 0xef, 0x54, 0xa4, 0xab, 0xcc, 0x20, 0xc8, 0x6, 0x45, 0xc0, 0xf, 0x17, 0xbc, 0x91, 0x83, 0x7a, 0xd9, 0x32, 0xc5, 0xa0, 0xb9, 0x90, 0xa1, 0xc3, 0x3a, 0xd0, 0xb, 0x39, 0xfc, 0xd3, 0x7e, 0x71, 0xa3, 0x26, 0xe3, 0x70, 0x34, 0xbf, 0x96, 0x45, 0x29, 0xd7, 0xa4, 0x61, 0x33, 0xc9, 0xde, 0xb9, 0xc8, 0x5b, 0xa6, 0x41, 0xf5, 0x0, 0x63, 0xef, 0xc8, 0x56, 0xb5, 0x33, 0xf9, 0xc8, 0x37, 0x6c, 0x75, 0x64, 0x28, 0xc4, 0xbd, 0x77, 0xc3, 0xb3, 0x36, 0xb0, 0xad, 0x25, 0xcd, 0xe0, 0x2b, 0x74, 0xd5, 0x86, 0x51, 0xc6, 0xa2, 0xaa, 0x77, 0x84, 0x7c, 0x4d, 0xe6, 0xd1, 0x5c, 0x77, 0x70, 0x35, 0x62, 0xca, 0x40, 0x5a, 0x5, 0x57, 0x2e, 0x30, 0xff, 0xa4, 0xf9, 0x75, 0x6b, 0xeb, 0x7e, 0x60, 0xa, 0xec, 0x7, 0xb7, 0x8f, 0x37, 0xf1, 0x59, 0x48, 0xbc, 0x56, 0xb2, 0x7a, 0x53, 0xb7, 0xe0, 0x13, 0xfa, 0x90, 0xaf, 0xc8, 0x5c, 0x24, 0x71, 0x31, 0xf7, 0x92, 0x4e, 0x45, 0xae, 0xa, 0x8c, 0xa3, 0x1b, 0xbe, 0xb0, 0x14, 0xf2, 0xbd, 0x25, 0x51, 0x19, 0x8d, 0x6e, 0xc2, 0xb7, 0x36, 0x9a, 0x2b, 0xa1, 0x7f, 0x46, 0x2b, 0x79, 0xba, 0xb2, 0x79, 0x60, 0x54, 0x12, 0x29, 0x74, 0xf7, 0xd2, 0xc0, 0x5, 0x64, 0x52, 0x41, 0xf6, 0x24, 0x82, 0x2f, 0x80, 0x36, 0x16, 0x2c, 0x27, 0xd3, 0xbc, 0xd4, 0x84, 0x62, 0x61, 0xf, 0xc0, 0xaa, 0xa, 0x30, 0x64, 0x78, 0xba, 0x8b, 0x3c, 0x51, 0x7c, 0x99, 0x14, 0x74, 0x61, 0xc3, 0xdd, 0x34, 0x77, 0xa1, 0x44, 0xf2, 0xf4, 0x3a, 0x29, 0x78, 0xcb, 0x1c, 0xa6, 0x99, 0x2d, 0x6d, 0xcf, 0x8d, 0x6f, 0xdd, 0x14, 0xdb, 0x6c, 0xcd, 0x5b, 0x8a, 0x57, 0x66, 0x7, 0xef, 0xd5, 0x46, 0xee, 0x50, 0x4e, 0xb9, 0xac, 0x33, 0xed, 0xda, 0x2, 0x97, 0xb4, 0x84, 0x2d, 0x69, 0x9, 0x5a, 0xb2, 0x19, 0xb2, 0x64, 0x1b, 0x53, 0x10, 0xe8, 0xe1, 0x2, 0x12, 0x63, 0x77, 0x49, 0xcc, 0xfa, 0xc, 0x40, 0x1a, 0x48, 0x69, 0x92, 0xde, 0x95, 0x48, 0x2c, 0xf4, 0x4, 0x7, 0x54, 0x62, 0x4f, 0x3d, 0x2e, 0xbd, 0x5a, 0x15, 0xa7, 0x59, 0xe4, 0xca, 0xfe, 0xfc, 0x4f, 0xb9, 0xfc, 0xee, 0xe5, 0xcb, 0x3, 0xe7, 0x56, 0xd5, 0xcd, 0xb6, 0xa1, 0x9d, 0xd3, 0xa9, 0xb6, 0x4a, 0x81, 0xab, 0x1b, 0xbe, 0x1f, 0x22, 0xb9, 0x14, 0x2f, 0x29, 0xf0, 0x96, 0xe7, 0x85, 0xa8, 0x4a, 0xbf, 0x2a, 0xdd, 0xb1, 0xff, 0xbc, 0x9d, 0x56, 0x31, 0xce, 0x68, 0x2a, 0x79, 0xe8, 0x57, 0xdb, 0xeb, 0xec, 0xb7, 0x76, 0x70, 0xd5, 0x11, 0xc4, 0xe6, 0xa7, 0xf5, 0xaa, 0x25, 0x6c, 0x7d, 0x8, 0x6e, 0x39, 0x5d, 0x72, 0x96, 0x27, 0x9, 0x22, 0xf3, 0x6a, 0xc6, 0x29, 0x8e, 0x66, 0x34, 0x3b, 0x32, 0xa, 0x2d, 0xb, 0x10, 0xf8, 0xca, 0x46, 0xbf, 0xef, 0xc2, 0x24, 0xdd, 0xe6, 0x69, 0xb1, 0x95, 0x56, 0x35, 0x37, 0x1c, 0xf6, 0xc7, 0x6, 0x49, 0x24, 0xd2, 0x6b, 0x1, 0xbd, 0xba, 0x31, 0xd0, 0x44, 0xa9, 0x5a, 0x12, 0x78, 0xf8, 0xda, 0x64, 0x89, 0xb, 0x31, 0x3, 0x6, 0xd6, 0xb7, 0xfe, 0x6c, 0xb5, 0xa2, 0x4a, 0x2a, 0x46, 0xaa, 0x3f, 0xe2, 0xf2, 0xe1, 0x57, 0x3e, 0xd8, 0x92, 0x6, 0x6e, 0xab, 0x5e, 0xa6, 0x36, 0xc, 0xae, 0x3c, 0xe3, 0x2b, 0xbf, 0x44, 0xeb, 0x87, 0xb8, 0xea, 0xb6, 0x73, 0x6a, 0xdd, 0xfb, 0x6b, 0x6b, 0x33, 0xf1, 0xfd, 0x5a, 0xb4, 0x8d, 0x54, 0x69, 0x97, 0xdd, 0x3f, 0x83, 0x19, 0x49, 0x79, 0xd2, 0xd9, 0x40, 0x83, 0xf, 0x8e, 0xec, 0xca, 0x36, 0x4c, 0x9d, 0xd7, 0xa9, 0x8e, 0x1c, 0xfb, 0x5f, 0x96, 0x2c, 0xe3, 0x0, 0x59, 0x90, 0x74, 0xc9, 0x27, 0x88, 0x39, 0x36, 0x4f, 0xff, 0xe6, 0x49, 0x4, 0x5f, 0xf9, 0x2d, 0x2d, 0x22, 0x36, 0x68, 0x25, 0x1, 0x72, 0x67, 0x87, 0x7b, 0xba, 0x5b, 0x78, 0x64, 0x96, 0xa7, 0x1, 0x88, 0xa6, 0xc5, 0xea, 0x4, 0xe4, 0x80, 0x59, 0x6e, 0x20, 0x90, 0xb3, 0x3c, 0x9d, 0xf0, 0x18, 0x3c, 0x8d, 0xf0, 0x96, 0x84, 0x8f, 0x62, 0x61, 0x68, 0x7b, 0xe9, 0x39, 0x98, 0x7, 0x22, 0x75, 0x27, 0x6a, 0xad, 0x6c, 0x4b, 0xd1, 0x9a, 0x29, 0xcb, 0xb1, 0xca, 0xc1, 0x87, 0x6b, 0xf1, 0x87, 0x1c, 0x4e, 0x70, 0x99, 0xef, 0xc7, 0xbf, 0xab, 0x45, 0x54, 0x37, 0xc0, 0x19, 0xb2, 0x8c, 0xd3, 0x4, 0x60, 0x94, 0xdc, 0xc4, 0x60, 0x16, 0x1d, 0x1b, 0x93, 0x42, 0x25, 0xa1, 0xd9, 0x75, 0x8e, 0xe, 0x1c, 0xf3, 0xea, 0xe7, 0x3e, 0x2d, 0xe2, 0x7f, 0xb8, 0x7f, 0xce, 0xd3, 0x64, 0x5, 0xc2, 0x93, 0xcf, 0x6c, 0x5, 0xf9, 0x9, 0xf4, 0xa, 0x87, 0xa5, 0xb2, 0x9c, 0x35, 0x9e, 0x91, 0xc8, 0x55, 0x24, 0x16, 0xfb, 0xbd, 0xd2, 0x54, 0x8e, 0xe9, 0x1c, 0x3b, 0x6d, 0x8e, 0x2b, 0xd, 0xe6, 0x5b, 0x58, 0x9f, 0x1, 0x4c, 0x87, 0x5a, 0xb8, 0x26, 0xe, 0x16, 0x57, 0x63, 0xa6, 0xb9, 0x79, 0x3d, 0x89, 0x48, 0xaf, 0xb5, 0xee, 0xb9, 0x53, 0x64, 0x11, 0x34, 0x2, 0xfd, 0x12, 0xe1, 0xd1, 0x8f, 0x44, 0x8a, 0x68, 0xe6, 0x60, 0xdc, 0xf8, 0xa7, 0xc3, 0xde, 0x54, 0x82, 0xd0, 0xd5, 0xcb, 0x58, 0xb3, 0x84, 0x4d, 0x55, 0xf2, 0x89, 0xaf, 0x14, 0x7f, 0xf8, 0xfc, 0xc, 0xd3, 0xf3, 0xda, 0x1b, 0xe3, 0xcb, 0xf1, 0x63, 0x70, 0xa8, 0x7d, 0x67, 0xd6, 0x9a, 0x59, 0xe5, 0xda, 0xd8, 0x4c, 0x9, 0x9e, 0x39, 0xbd, 0x30, 0x88, 0x4e, 0xb6, 0x9c, 0xc, 0x5e, 0xd0, 0x5c, 0xa, 0xe6, 0x8e, 0x6c, 0xcc, 0x19, 0xf3, 0x6d, 0x5e, 0xc3, 0xde, 0xf5, 0xc6, 0xc7, 0x1f, 0x27, 0xe7, 0x17, 0xfd, 0x61, 0xf, 0xca, 0x93, 0x6c, 0xb0, 0x9b, 0x6a, 0x3f, 0x1f, 0xf7, 0x87, 0x9f, 0x6, 0x67, 0xbd, 0x71, 0xb9, 0x1a, 0x48, 0xed, 0xc7, 0x58, 0x62, 0xa3, 0xcd, 0x97, 0xa3, 0xc1, 0x87, 0xb3, 0x5e, 0xab, 0x2f, 0x4f, 0xfa, 0xa7, 0xfd, 0x76, 0xa3, 0xf, 0xfb, 0xd5, 0x82, 0x21, 0xf5, 0x5b, 0x70, 0x71, 0xd2, 0x1b, 0xf7, 0x83, 0xba, 0x2d, 0xe7, 0x17, 0xfa, 0x7f, 0xca, 0x5, 0x52, 0x1a, 0xb6, 0xef, 0xa2, 0x77, 0x39, 0x6a, 0xb4, 0x16, 0xd7, 0x8d, 0x67, 0x9b, 0x6c, 0x33, 0x1c, 0xac, 0xa9, 0x6e, 0xb0, 0xf6, 0x6f, 0xb6, 0x8e, 0x64, 0xa0, 0xcd, 0x26, 0x13, 0x75, 0x8f, 0xc7, 0xe1, 0xdf, 0xe0, 0x71, 0xd8, 0x7d, 0x23, 0xdb, 0x14, 0xb4, 0x29, 0x2f, 0x7a, 0x53, 0x69, 0x9b, 0xfa, 0xef, 0x87, 0x97, 0x67, 0x67, 0x83, 0xb3, 0xf, 0xad, 0xbe, 0x3d, 0x3e, 0xff, 0x74, 0xa1, 0x29, 0xaa, 0x5d, 0xcf, 0xef, 0x7b, 0x83, 0xd3, 0x36, 0xa5, 0x62, 0xd6, 0xee, 0x3b, 0xec, 0xc4, 0xa6, 0x8d, 0x7, 0x88, 0xd9, 0x5d, 0xbc, 0x2, 0x35, 0xa3, 0x65, 0x8a, 0x14, 0x2c, 0xe0, 0x75, 0xd6, 0x71, 0x94, 0x8, 0xb9, 0x13, 0x4c, 0x4c, 0x79, 0x5c, 0xe8, 0xa8, 0xfd, 0xb8, 0x90, 0xb3, 0xe7, 0xd8, 0xe1, 0xf1, 0x2e, 0x39, 0x94, 0x63, 0x48, 0xfb, 0xb, 0x66, 0xa0, 0x3b, 0xf1, 0xb, 0x33, 0xb2, 0x66, 0xbf, 0x31, 0x6c, 0x1, 0xfa, 0xc6, 0x61, 0x4c, 0xa1, 0xeb, 0xfd, 0x46, 0x31, 0x25, 0x65, 0x1b, 0x7, 0xd9, 0x3b, 0xde, 0x86, 0xa7, 0x31, 0x8f, 0x30, 0xed, 0x69, 0x6e, 0x87, 0xc1, 0xf0, 0x40, 0xf8, 0xdd, 0xab, 0xc9, 0xfb, 0x60, 0x27, 0x15, 0x7, 0xc1, 0xae, 0xe0, 0x65, 0x43, 0x89, 0x25, 0xa1, 0x7e, 0x71, 0x5, 0xb1, 0xb8, 0x77, 0xc4, 0x74, 0x5c, 0xfb, 0x10, 0x42, 0xb6, 0x7a, 0x15, 0xa8, 0x4d, 0xc9, 0x78, 0xfe, 0xd7, 0x28, 0x61, 0x34, 0xcd, 0x97, 0x47, 0x77, 0xb7, 0x47, 0xcb, 0x8c, 0x1d, 0x65, 0x2c, 0x61, 0x54, 0xb2, 0xbf, 0x91, 0xb, 0xff, 0x1f, 0xa1, 0xf9, 0x83, 0xf5, 0x27, 0xa0, 0x11, 0xc9, 0x97, 0x24, 0xa1, 0xca, 0x82, 0x5b, 0xdb, 0xc5, 0xba, 0xea, 0x73, 0x3b, 0xae, 0xd5, 0xd7, 0x8b, 0xdb, 0x62, 0xa9, 0x67, 0x61, 0xa3, 0x30, 0xc3, 0xb1, 0x1c, 0x15, 0xdc, 0xaa, 0x93, 0x72, 0x8, 0x70, 0xd6, 0x54, 0xc, 0xab, 0x75, 0x8f, 0x95, 0x72, 0x5a, 0xcf, 0xb, 0x97, 0x4b, 0xdc, 0xb2, 0xac, 0xc6, 0xc0, 0xaf, 0xa5, 0x4b, 0x2e, 0x3f, 0x24, 0x62, 0x4a, 0x93, 0xb3, 0xe6, 0x98, 0xc9, 0xb2, 0xcb, 0xcf, 0xe, 0xf1, 0x11, 0x6a, 0x46, 0xd5, 0xdc, 0xb0, 0x3d, 0xd5, 0xcd, 0xf7, 0xa6, 0xff, 0x91, 0xa2, 0x2a, 0x6f, 0x6d, 0xd, 0x15, 0x2, 0xa6, 0x4d, 0x39, 0xab, 0xc8, 0x66, 0xbd, 0x81, 0x27, 0xd0, 0x74, 0x3b, 0x71, 0xef, 0xeb, 0x36, 0x6a, 0xd6, 0x54, 0x17, 0xeb, 0x68, 0x6b, 0x20, 0x8d, 0xcc, 0x3b, 0xba, 0x4d, 0x1a, 0x36, 0x68, 0xc6, 0x16, 0xd9, 0xeb, 0xac, 0x68, 0x2d, 0x41, 0xef, 0xb2, 0x2e, 0x7c, 0x1f, 0xf2, 0x84, 0x63, 0xc1, 0x5c, 0x6e, 0xfa, 0x1d, 0xc9, 0xd3, 0xa9, 0xc8, 0xd3, 0xd8, 0x7b, 0xe, 0xd, 0x89, 0xd7, 0x23, 0x8d, 0x7c, 0x5b, 0xb3, 0xdd, 0xb1, 0x9e, 0x6f, 0x6d, 0xb7, 0x37, 0xec, 0xce, 0xe, 0xd6, 0xbb, 0x5b, 0xd2, 0x3d, 0x18, 0xed, 0x3b, 0xd8, 0xec, 0x5e, 0x72, 0x55, 0x8c, 0xf6, 0x30, 0x31, 0x7d, 0x89, 0x3, 0x1c, 0xce, 0x4a, 0xcf, 0x98, 0xcc, 0x93, 0xfb, 0x5d, 0xf4, 0x18, 0xc1, 0x9, 0xf2, 0xc4, 0x59, 0xe5, 0xa1, 0x98, 0xb6, 0x36, 0xb9, 0xf, 0x7c, 0xf, 0xb, 0x7c, 0x1a, 0xed, 0x60, 0xaf, 0xf9, 0x19, 0xe5, 0x60, 0xed, 0xfc, 0xcc, 0x38, 0xeb, 0x26, 0x98, 0xa7, 0xf5, 0x53, 0xfc, 0x56, 0x7e, 0x81, 0x80, 0x62, 0xda, 0x3a, 0x6, 0x2c, 0x8f, 0xd9, 0x33, 0x11, 0xf1, 0xeb, 0x64, 0x34, 0xd7, 0x38, 0x88, 0xed, 0x2a, 0xbd, 0x9b, 0xc0, 0xe6, 0x9a, 0x1a, 0x80, 0x55, 0x83, 0x7d, 0xb1, 0xa0, 0x2b, 0x60, 0x48, 0x1e, 0xd2, 0xc7, 0x7d, 0x48, 0x4b, 0x8f, 0x12, 0x36, 0x6e, 0x7a, 0xca, 0x22, 0x9a, 0x4b, 0x56, 0x5c, 0x1, 0x39, 0xc2, 0x2a, 0x70, 0x0, 0x2f, 0x1f, 0x42, 0xe8, 0x0, 0xab, 0xc3, 0x71, 0xae, 0x19, 0xe2, 0x71, 0xf2, 0x4, 0xf8, 0x9e, 0x12, 0x58, 0x7, 0x45, 0x62, 0x2e, 0x73, 0xb1, 0x3b, 0x42, 0x8e, 0x33, 0x91, 0x8e, 0xc, 0x78, 0xad, 0xfe, 0x76, 0x4, 0x18, 0xa1, 0x79, 0xc6, 0xe2, 0x63, 0x9a, 0xb0, 0x34, 0xa6, 0xd9, 0x68, 0xc9, 0xa2, 0x97, 0xb5, 0xb3, 0xc8, 0x53, 0xcf, 0x60, 0xcd, 0x43, 0x96, 0x9e, 0x0, 0xe4, 0x24, 0x2e, 0x13, 0x1a, 0x21, 0xb0, 0xad, 0xc1, 0x60, 0x95, 0xb5, 0x5d, 0x98, 0x66, 0x86, 0x19, 0xa0, 0x30, 0xa4, 0x19, 0x23, 0xb, 0x11, 0x63, 0xbf, 0x85, 0x87, 0xf9, 0x72, 0x17, 0x85, 0x8d, 0xd4, 0x43, 0xcf, 0xe9, 0x2d, 0x23, 0x53, 0xc6, 0x52, 0xdf, 0xc1, 0x74, 0x45, 0xb0, 0x24, 0x84, 0x3d, 0x5f, 0x22, 0x32, 0x2c, 0x35, 0x68, 0xff, 0x70, 0x38, 0x61, 0x60, 0x7b, 0x5c, 0xcb, 0xfd, 0xfb, 0x5f, 0x54, 0x46, 0x83, 0x83, 0x83, 0x35, 0xeb, 0xa1, 0xbf, 0x56, 0xee, 0xb4, 0x26, 0xdc, 0xc5, 0x9a, 0xfc, 0x69, 0x97, 0xe1, 0x67, 0xa7, 0xa8, 0x79, 0xb6, 0x25, 0xcb, 0x3b, 0xae, 0xe6, 0xf7, 0x97, 0x41, 0x7d, 0x6f, 0xe9, 0x92, 0x26, 0xea, 0xc2, 0xc8, 0xb0, 0x29, 0x8d, 0x6e, 0xb4, 0x52, 0x54, 0x22, 0x8c, 0xaa, 0x9a, 0x54, 0xd2, 0xa6, 0xc2, 0xd, 0x81, 0xeb, 0xec, 0x88, 0xcc, 0xa4, 0x3a, 0x52, 0xc7, 0xd1, 0x30, 0xcf, 0x31, 0x35, 0x43, 0xd8, 0x6a, 0x79, 0x91, 0xc8, 0x93, 0x52, 0x86, 0x77, 0xc2, 0x28, 0xe8, 0x73, 0x89, 0x70, 0xc0, 0xac, 0x18, 0x5b, 0x88, 0x45, 0x3d, 0xf5, 0x7e, 0xe4, 0xb2, 0xe4, 0x7, 0x6f, 0x66, 0xa4, 0x2e, 0xb2, 0x63, 0x47, 0x4e, 0x6a, 0x80, 0xc1, 0xf, 0xae, 0x34, 0x63, 0x8c, 0x44, 0xf1, 0x5e, 0x68, 0xca, 0xdf, 0xf, 0x81, 0xda, 0xad, 0x56, 0xeb, 0xe2, 0xed, 0x1f, 0x26, 0x14, 0x55, 0x5c, 0x2a, 0x1e, 0x79, 0x15, 0xdb, 0x87, 0x57, 0xac, 0x51, 0x64, 0xae, 0x32, 0xb6, 0x14, 0x99, 0x9a, 0xc0, 0xbc, 0x1, 0x4b, 0x9, 0xab, 0x89, 0xd4, 0xeb, 0x31, 0xf0, 0xd5, 0xbb, 0xd5, 0x45, 0xc6, 0x45, 0xc6, 0xd5, 0xea, 0x17, 0x56, 0x63, 0x89, 0x1c, 0x38, 0x12, 0x6d, 0xb7, 0xed, 0x18, 0xfb, 0xd0, 0x12, 0x98, 0x33, 0x99, 0x66, 0x8c, 0xde, 0x0, 0xf4, 0xf3, 0x74, 0x45, 0x96, 0x66, 0xfe, 0xe4, 0x86, 0xad, 0xba, 0xb8, 0x1d, 0xe, 0xae, 0x8, 0xc1, 0xe4, 0x93, 0x15, 0x6, 0xca, 0x87, 0x5f, 0x96, 0x8b, 0x77, 0xed, 0xbe, 0x8d, 0xf0, 0x4f, 0x3, 0x80, 0xc2, 0x9b, 0xdf, 0xbf, 0x7e, 0xfb, 0x76, 0xa9, 0xbb, 0xc3, 0xa7, 0x4e, 0xd9, 0x0, 0xa2, 0x40, 0x9a, 0x81, 0x14, 0x9e, 0x4d, 0x57, 0xcf, 0x4c, 0xdd, 0x5b, 0xb4, 0xaa, 0x12, 0x9a, 0x99, 0x98, 0x4d, 0x58, 0x7, 0xdc, 0x44, 0x1b, 0x98, 0x67, 0xc1, 0x13, 0x88, 0x7f, 0x10, 0xe7, 0xe9, 0x75, 0xd9, 0x72, 0xdf, 0x9d, 0x8a, 0x7f, 0x2d, 0xf4, 0xd9, 0x9a, 0x9c, 0x8d, 0xc, 0xb6, 0xc5, 0x81, 0xaa, 0xf0, 0x2, 0xa6, 0xdf, 0x17, 0xf2, 0x25, 0xa0, 0x7d, 0xb3, 0xc, 0xb2, 0x2e, 0x6c, 0xed, 0x35, 0x38, 0x7f, 0x18, 0xff, 0xb9, 0x34, 0xc1, 0xcc, 0x85, 0x1c, 0x2, 0xfd, 0xf, 0x4, 0x2a, 0x61, 0xf9, 0x35, 0xa8, 0xc4, 0x9, 0x39, 0x14, 0x18, 0x70, 0x61, 0xaf, 0xf, 0x16, 0xc7, 0x84, 0x8e, 0x61, 0x27, 0x2f, 0xab, 0x8f, 0xda, 0xe4, 0x85, 0xfd, 0x97, 0x6a, 0x80, 0xf4, 0xe5, 0x99, 0x89, 0x90, 0xee, 0x9f, 0x68, 0x1, 0x1d, 0xaa, 0x16, 0xb8, 0x20, 0xbf, 0x39, 0x9f, 0x44, 0xcc, 0xba, 0x25, 0x8d, 0xc4, 0x2f, 0x82, 0xf8, 0xf, 0x41, 0xaa, 0xc2, 0xe9, 0x9a, 0x50, 0x4a, 0x9e, 0x62, 0xf9, 0x56, 0xc, 0xf1, 0xb3, 0x5, 0x8, 0x46, 0x4c, 0x95, 0x63, 0x5, 0x4c, 0x7c, 0x91, 0xe9, 0xaa, 0x38, 0x94, 0xa6, 0x88, 0x9a, 0x26, 0x43, 0xba, 0x58, 0xf2, 0xf4, 0xda, 0xc5, 0xa, 0xa4, 0xd5, 0x83, 0x28, 0xdf, 0x8a, 0x33, 0xa1, 0xd8, 0x5b, 0x94, 0x52, 0xa5, 0xf8, 0x44, 0xbd, 0xd5, 0x19, 0x4b, 0xd8, 0x2d, 0xc5, 0x58, 0x90, 0xb, 0x9e, 0x16, 0xa2, 0x8, 0x4a, 0x61, 0xe8, 0xf8, 0x54, 0x15, 0xc0, 0x39, 0x97, 0x95, 0x4a, 0x35, 0x67, 0xab, 0xb0, 0x78, 0xa9, 0x3f, 0x26, 0x6c, 0x6a, 0xfa, 0xaf, 0xd2, 0x4c, 0x97, 0x7c, 0xc4, 0x2a, 0xca, 0x9d, 0xa6, 0x38, 0xf8, 0xd2, 0xe6, 0x64, 0xa0, 0x9c, 0x9a, 0x38, 0x4a, 0xbd, 0xc, 0xd3, 0x75, 0x9e, 0x2a, 0x9e, 0xe0, 0x3c, 0x9c, 0xd2, 0x8c, 0x63, 0x63, 0xc0, 0x1b, 0x70, 0xe0, 0x17, 0x79, 0x9a, 0x98, 0x5c, 0x1a, 0x9c, 0xae, 0xa9, 0xf0, 0x5f, 0x43, 0x2f, 0xd4, 0x76, 0xec, 0x8f, 0xfb, 0xfc, 0x96, 0x65, 0x19, 0x8f, 0x41, 0xc1, 0xd3, 0x8d, 0x8f, 0xe7, 0x3c, 0x89, 0x5d, 0x6e, 0x8b, 0x49, 0x11, 0x30, 0xad, 0x96, 0x54, 0x9f, 0xef, 0xcb, 0xee, 0x1a, 0xe7, 0xd9, 0xee, 0xf7, 0x78, 0x43, 0x52, 0x3d, 0x30, 0xc3, 0xa5, 0x58, 0xe6, 0x98, 0x13, 0xc1, 0x67, 0xc4, 0x70, 0xc4, 0xa0, 0x7e, 0x94, 0x49, 0x87, 0x32, 0xcc, 0x51, 0x9f, 0x53, 0x16, 0xca, 0x26, 0x36, 0x9b, 0x31, 0x60, 0xbe, 0x43, 0xaa, 0xd8, 0x29, 0x5f, 0xf0, 0x2d, 0xc2, 0xf2, 0x1a, 0x14, 0x85, 0x49, 0xbf, 0xd2, 0xa7, 0x5f, 0x81, 0xa, 0x25, 0x4b, 0x7e, 0x40, 0xa1, 0xdd, 0xde, 0x81, 0x56, 0xe, 0x6c, 0x73, 0xff, 0x60, 0x37, 0xd5, 0xd4, 0xb2, 0x6e, 0x79, 0xa3, 0xc1, 0x43, 0x74, 0x65, 0xdd, 0x11, 0xc1, 0x66, 0x4b, 0xe8, 0xe1, 0xaa, 0xb4, 0xdb, 0x8d, 0x1e, 0xa, 0xeb, 0xa0, 0x2b, 0x33, 0xfe, 0xfb, 0x95, 0xe9, 0x86, 0xce, 0xb7, 0x91, 0xc, 0x8d, 0x5b, 0x6, 0x1b, 0x13, 0xc2, 0x35, 0xf6, 0xcf, 0x3e, 0xf6, 0xce, 0x8e, 0xfb, 0x27, 0x5a, 0xa3, 0x2d, 0xab, 0x40, 0xc6, 0x80, 0x5d, 0x7a, 0xb9, 0x1f, 0x30, 0xdb, 0x90, 0x6f, 0x41, 0x3d, 0x5b, 0x1a, 0xcd, 0x7d, 0xe5, 0x6c, 0x53, 0xf6, 0xcd, 0x14, 0x47, 0xa1, 0x12, 0x4a, 0xda, 0xa2, 0x42, 0x8e, 0xc2, 0x23, 0x88, 0x7c, 0xea, 0xae, 0xd7, 0x63, 0x6b, 0xc8, 0x73, 0x5b, 0xcf, 0xa3, 0xf1, 0x5d, 0x5c, 0xb0, 0x6c, 0x4, 0x98, 0x8, 0xd5, 0xb3, 0xab, 0xe0, 0x6d, 0x56, 0xec, 0x26, 0x77, 0xf1, 0x48, 0xa6, 0xcd, 0xb6, 0x44, 0xcf, 0x63, 0x83, 0x16, 0xe9, 0x6a, 0xae, 0x25, 0x22, 0x80, 0x5e, 0xc9, 0xec, 0x2a, 0x46, 0x50, 0x18, 0x7f, 0xd3, 0xb3, 0xea, 0xb0, 0x37, 0xee, 0x4f, 0x4e, 0x7, 0x9f, 0x6, 0xe3, 0xc9, 0xe8, 0xfc, 0x72, 0x78, 0xbc, 0xee, 0x49, 0xb5, 0xfa, 0x6d, 0xef, 0x62, 0xb0, 0xf1, 0x9b, 0xcf, 0xe7, 0xc3, 0x5f, 0xfa, 0xc3, 0x8d, 0x9f, 0x8d, 0xfe, 0x32, 0x1a, 0xf7, 0x3f, 0xed, 0x67, 0x97, 0xe1, 0x92, 0xed, 0x8d, 0x75, 0xe7, 0x69, 0x8a, 0x84, 0x18, 0xd0, 0x90, 0x8e, 0xb1, 0x98, 0xc, 0xa0, 0x4d, 0xea, 0xbe, 0x77, 0xe5, 0xfc, 0x8d, 0x5e, 0x56, 0xf1, 0x90, 0xf8, 0x45, 0x1b, 0x57, 0x9f, 0x3f, 0x29, 0x84, 0xc9, 0xc1, 0x6b, 0x7e, 0xcb, 0x29, 0xf4, 0x57, 0x62, 0xdb, 0x5a, 0xd1, 0xac, 0x94, 0xfa, 0x2b, 0xec, 0x51, 0xa5, 0x57, 0x13, 0x42, 0x8c, 0x84, 0xad, 0xbb, 0xce, 0xa5, 0x45, 0x28, 0x45, 0x85, 0xc7, 0xe4, 0xd, 0xe9, 0x9b, 0xe6, 0x46, 0xeb, 0x39, 0x69, 0xed, 0x8, 0xb2, 0x69, 0x58, 0xdc, 0xf3, 0xa6, 0x61, 0x6d, 0x8d, 0x1b, 0x3f, 0xbc, 0x29, 0x29, 0x22, 0x57, 0x52, 0xb1, 0x45, 0xd, 0x25, 0xba, 0x67, 0x6a, 0x7b, 0xdb, 0x1e, 0x25, 0xd4, 0x51, 0x59, 0x3, 0xa2, 0xaa, 0xe, 0xea, 0x88, 0xb4, 0xc6, 0x3a, 0x2a, 0xf6, 0x67, 0x80, 0x8f, 0x6a, 0xb1, 0x8e, 0x32, 0x6d, 0xd2, 0x6f, 0x8b, 0x73, 0xa4, 0xff, 0xb9, 0x2b, 0x9d, 0xc3, 0x36, 0x8f, 0x82, 0xe5, 0x33, 0xf4, 0x82, 0xa2, 0xe9, 0x94, 0x77, 0xca, 0x6c, 0x6d, 0x9c, 0x6b, 0x20, 0x9f, 0x76, 0x9d, 0x72, 0xad, 0x88, 0x33, 0x2, 0xc2, 0xdd, 0x9b, 0xfb, 0xc8, 0x27, 0x6b, 0xb5, 0x3f, 0x93, 0x5f, 0x4b, 0x33, 0x69, 0x14, 0xc3, 0xbd, 0x24, 0x71, 0x9c, 0x5, 0xe5, 0xa4, 0xb4, 0x45, 0xd8, 0x6e, 0xa1, 0xa6, 0x5b, 0x86, 0x7e, 0x96, 0xd8, 0x26, 0x11, 0x71, 0x19, 0x92, 0xe1, 0x6d, 0x88, 0x63, 0xb3, 0xeb, 0xe4, 0x9e, 0xb2, 0x7a, 0x76, 0xcf, 0xea, 0xf9, 0x6a, 0x8e, 0xa9, 0x3a, 0xb7, 0x48, 0x49, 0x2f, 0x7d, 0x72, 0x34, 0xed, 0xed, 0x68, 0x6a, 0xdc, 0xd1, 0x4d, 0x8a, 0x3e, 0xfc, 0xf3, 0xcd, 0x7c, 0x4f, 0xde, 0xdf, 0x54, 0xe4, 0x1, 0x7b, 0xf1, 0xeb, 0xed, 0xd9, 0x73, 0xbd, 0x1c, 0x29, 0xa0, 0x45, 0xec, 0x8a, 0x29, 0x6d, 0xdb, 0x6f, 0x17, 0x66, 0x52, 0x19, 0xbe, 0x6c, 0x6e, 0xdf, 0x95, 0x3f, 0xd8, 0x76, 0xd1, 0x95, 0xc6, 0xbe, 0xef, 0x25, 0x4b, 0x63, 0x9e, 0x5e, 0x7b, 0xe5, 0xed, 0xf0, 0x9e, 0xf2, 0xc2, 0x8, 0xab, 0xda, 0xe1, 0xc1, 0xb3, 0x91, 0xd5, 0xe9, 0x58, 0x87, 0x19, 0x1c, 0xfa, 0x5f, 0xbf, 0x3, 0x76, 0x9f, 0xc6, 0xa5, 0xe2, 0xe6, 0x2d, 0x7a, 0xf, 0x9b, 0x96, 0x22, 0x98, 0xbe, 0x72, 0x8c, 0xb8, 0x59, 0x4b, 0x31, 0x86, 0xe3, 0xde, 0x8e, 0xb4, 0x38, 0x4c, 0x71, 0x26, 0x9e, 0x66, 0x15, 0x4b, 0x63, 0x16, 0xef, 0x45, 0xb2, 0x61, 0x27, 0xf5, 0x57, 0xf7, 0xc1, 0x3, 0x5d, 0x39, 0x3c, 0x3a, 0xd4, 0xdb, 0x29, 0x2a, 0xd5, 0xc8, 0x9a, 0xcb, 0xa5, 0x84, 0xef, 0x39, 0x85, 0x8d, 0x2a, 0xea, 0xf2, 0xa0, 0x5c, 0x3e, 0xae, 0xc5, 0xc3, 0xef, 0x10, 0x9e, 0x46, 0x99, 0x2d, 0xff, 0x9, 0x1e, 0x90, 0x5b, 0x96, 0xad, 0x8c, 0xc7, 0x19, 0xb1, 0xea, 0x63, 0x67, 0x6a, 0xe2, 0x63, 0x60, 0x1, 0x3a, 0x47, 0x9b, 0x2a, 0x21, 0xc, 0xdb, 0xb6, 0xd3, 0xbb, 0x44, 0xf4, 0x48, 0x53, 0x12, 0xf5, 0x9a, 0xa5, 0x9a, 0xbc, 0x58, 0xec, 0x26, 0x48, 0x42, 0x94, 0xb7, 0xaf, 0x53, 0x98, 0x40, 0xff, 0xe8, 0x7c, 0x22, 0x76, 0x1e, 0x81, 0xa7, 0x15, 0x5f, 0x92, 0x77, 0x89, 0x50, 0xae, 0x89, 0xc0, 0x80, 0x6d, 0x6, 0x1f, 0x38, 0x5f, 0x30, 0x8f, 0x57, 0xe2, 0x96, 0x1f, 0xbc, 0x5d, 0xb7, 0x15, 0xec, 0x3f, 0xbf, 0x7d, 0xab, 0x3b, 0x3b, 0xc2, 0x22, 0xf9, 0x10, 0xa1, 0xb9, 0xbd, 0x70, 0x3f, 0x13, 0x2a, 0xf0, 0x54, 0xe0, 0x18, 0x40, 0xd1, 0xa5, 0x77, 0xa4, 0x75, 0x11, 0xd5, 0x9, 0x95, 0xea, 0x93, 0x79, 0x62, 0xfe, 0x8a, 0xdb, 0x5, 0x81, 0x84, 0xf6, 0x69, 0xbb, 0xfc, 0x10, 0xc4, 0x93, 0xc4, 0x16, 0x16, 0x9, 0xb2, 0x9a, 0x5c, 0x7b, 0x28, 0x33, 0xd, 0x16, 0x4e, 0x21, 0xa, 0xe3, 0xbb, 0xdb, 0xfa, 0x3c, 0x4b, 0x2e, 0x32, 0x36, 0xe3, 0x5f, 0xf6, 0xdc, 0x73, 0xf3, 0xde, 0xc6, 0xbe, 0x2c, 0x85, 0xd6, 0xf2, 0x2e, 0x87, 0xa7, 0x64, 0x9, 0xfd, 0x22, 0x98, 0x6b, 0x7a, 0x2b, 0x22, 0x7, 0x60, 0x13, 0xe0, 0x7a, 0x88, 0xb4, 0xc8, 0x66, 0xea, 0x5c, 0xb2, 0xb1, 0x60, 0x32, 0x7d, 0xae, 0x6c, 0x7c, 0x1d, 0x9c, 0xc3, 0x32, 0x13, 0x4a, 0x44, 0x22, 0xe9, 0x90, 0xb9, 0x90, 0xa, 0x61, 0xc9, 0xb5, 0xb1, 0x99, 0x29, 0x1b, 0xb7, 0x67, 0xd0, 0x6, 0x5c, 0xe4, 0xe7, 0x4d, 0x2a, 0xee, 0xa0, 0xba, 0x34, 0x57, 0x1, 0x38, 0x24, 0x85, 0xb8, 0xb2, 0xf2, 0x9e, 0x2f, 0xf3, 0x69, 0xc2, 0xa3, 0x64, 0x85, 0xf0, 0x3b, 0x7a, 0x2d, 0x50, 0xf9, 0xda, 0x22, 0xcd, 0x83, 0x73, 0x8e, 0xa2, 0x63, 0xcf, 0x11, 0x44, 0xc6, 0xe0, 0x14, 0x6b, 0xf3, 0x59, 0x7b, 0x36, 0xb4, 0xf5, 0xe8, 0x1a, 0x82, 0x7c, 0xc9, 0x94, 0x83, 0xa0, 0x44, 0xb3, 0x98, 0xa6, 0x21, 0x13, 0x83, 0x14, 0x54, 0x9b, 0x90, 0xb, 0x98, 0x6c, 0x5c, 0x2e, 0x6d, 0x2d, 0x20, 0x87, 0xfe, 0x86, 0x75, 0xdf, 0x5d, 0x94, 0x5a, 0x41, 0x5c, 0x8c, 0x2, 0xe6, 0x77, 0x48, 0xab, 0x78, 0x3d, 0x1, 0x38, 0x3e, 0xaf, 0xfb, 0xea, 0x58, 0xb0, 0x5f, 0x8f, 0xf0, 0x8b, 0x1b, 0xd0, 0x25, 0x9f, 0x72, 0x69, 0xc3, 0xc3, 0xae, 0xfe, 0x4a, 0x8f, 0xfe, 0xd1, 0x3b, 0xfa, 0xdf, 0x93, 0xbf, 0x99, 0x7f, 0x79, 0x7d, 0xf4, 0xc7, 0xc9, 0xdf, 0x7e, 0xba, 0xaa, 0x20, 0xef, 0xa6, 0x14, 0x16, 0x1d, 0x6e, 0x14, 0x98, 0x54, 0x12, 0xd0, 0xb1, 0xdc, 0x5b, 0x5d, 0x4, 0x95, 0x96, 0x8c, 0xb, 0x22, 0x63, 0x0, 0xe3, 0x5, 0xf5, 0x48, 0xa, 0x72, 0x2c, 0xa2, 0xe8, 0xb5, 0x2c, 0xa2, 0xcb, 0xcc, 0x28, 0x4f, 0x36, 0x62, 0x73, 0xde, 0x77, 0x54, 0xea, 0x27, 0x9a, 0xa1, 0x99, 0x18, 0x7c, 0x4, 0x58, 0xc, 0x36, 0xbd, 0x54, 0x7a, 0xbc, 0x94, 0x7f, 0x1f, 0x9d, 0x9f, 0x99, 0x13, 0xaa, 0x66, 0x67, 0x6b, 0xa, 0x35, 0x63, 0x13, 0x58, 0x7c, 0x94, 0xad, 0x96, 0x8a, 0x99, 0x2, 0x58, 0x97, 0x3, 0xe0, 0x8c, 0xc7, 0xa7, 0x3, 0x88, 0x25, 0x8b, 0x19, 0xfc, 0xea, 0x51, 0x43, 0x2d, 0xa6, 0x35, 0x8b, 0x1, 0xff, 0x2a, 0xb2, 0x77, 0xa9, 0xe1, 0x92, 0xbe, 0x73, 0xa1, 0x6f, 0x9d, 0xf0, 0xe6, 0xb1, 0x14, 0x90, 0x36, 0xf5, 0x94, 0xd1, 0x8d, 0x2b, 0x66, 0xe4, 0xe7, 0xd7, 0x9d, 0xd7, 0xaf, 0x5f, 0xa3, 0x33, 0x30, 0xd4, 0x31, 0x14, 0xcf, 0x58, 0x35, 0xc2, 0x16, 0x2f, 0xc1, 0x41, 0xe4, 0x38, 0x22, 0x51, 0x36, 0x6b, 0x61, 0x78, 0xdd, 0x94, 0xc0, 0x7, 0x63, 0x77, 0xb1, 0x82, 0x0, 0x81, 0x52, 0x6e, 0x8d, 0x31, 0xd8, 0x17, 0x39, 0x72, 0x5, 0xb, 0x6f, 0x1, 0x35, 0x2a, 0xdc, 0x5d, 0x28, 0xde, 0xcb, 0x71, 0x61, 0x39, 0x5b, 0x59, 0xb3, 0x6d, 0x35, 0xe4, 0xe2, 0x50, 0x13, 0x34, 0x6c, 0x9f, 0x7, 0x86, 0xa8, 0x62, 0x59, 0x4a, 0x93, 0x1d, 0xbb, 0xeb, 0x9b, 0xe6, 0xb5, 0x39, 0x27, 0x1b, 0xb7, 0xb0, 0xa1, 0xb3, 0x2d, 0xf7, 0x23, 0xcf, 0x92, 0xad, 0x35, 0xc7, 0xe1, 0x29, 0x78, 0x1d, 0x68, 0xb2, 0x11, 0x9c, 0xd2, 0x2c, 0x42, 0x33, 0x1a, 0x33, 0x3d, 0x4b, 0xcd, 0xd3, 0x95, 0xee, 0x27, 0xa0, 0xfc, 0x9e, 0xd2, 0x84, 0x4d, 0x15, 0xf8, 0x38, 0x81, 0xb1, 0x0, 0x2d, 0x3, 0x2e, 0xb2, 0xcc, 0x97, 0x20, 0x8a, 0x10, 0x56, 0x16, 0x50, 0x3f, 0x33, 0x90, 0xd9, 0x9c, 0x26, 0xb2, 0x63, 0x45, 0xc8, 0x82, 0xd1, 0x54, 0xcb, 0x62, 0x28, 0x75, 0x31, 0x57, 0x6a, 0xd9, 0x1d, 0x8a, 0x3c, 0x8d, 0xc7, 0x19, 0x7, 0x80, 0x4c, 0xe3, 0xf6, 0xe7, 0xa9, 0xde, 0x91, 0x50, 0x42, 0x41, 0xf8, 0x6a, 0x70, 0xd1, 0x94, 0x40, 0xf5, 0x63, 0x55, 0x75, 0xee, 0xd4, 0xd2, 0xc3, 0xae, 0x99, 0x3b, 0xdb, 0xee, 0xfb, 0x99, 0xaf, 0x8, 0xb5, 0xe6, 0x5e, 0x5, 0x6f, 0xee, 0x5b, 0xf, 0x0, 0x42, 0x30, 0x40, 0xc, 0x6a, 0x7d, 0x7f, 0xed, 0x39, 0x3b, 0xb8, 0x3f, 0x81, 0x11, 0x32, 0x22, 0x25, 0xb4, 0xda, 0x2d, 0xc2, 0x54, 0x19, 0xbc, 0x70, 0xbf, 0x1f, 0x66, 0x8b, 0xd, 0xa1, 0x54, 0xbd, 0x35, 0x34, 0x8d, 0x58, 0x62, 0x90, 0xd3, 0x2b, 0x10, 0xa3, 0x5b, 0x1e, 0x82, 0x43, 0xe9, 0x87, 0x6e, 0xf6, 0xc6, 0x47, 0xf4, 0x95, 0xb3, 0xae, 0x86, 0xfd, 0x3f, 0x5f, 0xf6, 0x47, 0x63, 0x93, 0x1, 0x3d, 0xe9, 0xff, 0xc7, 0xb8, 0x3f, 0x3c, 0xeb, 0x9d, 0x3a, 0x2f, 0x75, 0x90, 0x6c, 0x3c, 0x38, 0x1b, 0x8c, 0x7, 0xbd, 0x71, 0xff, 0xe4, 0x4a, 0x1b, 0x7f, 0xa9, 0x32, 0xdc, 0x1b, 0xfe, 0x35, 0x12, 0x19, 0x96, 0x41, 0x8c, 0xcb, 0xef, 0x51, 0x62, 0x7f, 0x4a, 0x2a, 0xcd, 0xde, 0x13, 0x96, 0x8d, 0x85, 0x10, 0x47, 0x53, 0x76, 0x14, 0xc1, 0x86, 0x27, 0x41, 0xf8, 0x50, 0x39, 0x80, 0xe2, 0xe4, 0x17, 0xc, 0x23, 0xba, 0x1c, 0x10, 0x25, 0x44, 0x22, 0xad, 0x22, 0x8, 0x18, 0x88, 0x6e, 0x76, 0x57, 0xc8, 0xcd, 0xc9, 0x34, 0x57, 0xf6, 0x8a, 0x2d, 0xb4, 0xd2, 0x52, 0xfc, 0x6a, 0xc2, 0xe3, 0x2b, 0xc8, 0xa, 0xe8, 0x56, 0xd7, 0xd7, 0xe2, 0x7c, 0x2a, 0xbe, 0xbb, 0x9d, 0x9d, 0x20, 0xcf, 0xd7, 0x93, 0xe1, 0x8, 0x50, 0x79, 0xbf, 0x35, 0xfd, 0x5, 0x4, 0x87, 0x9, 0xf4, 0x87, 0x20, 0xb4, 0xaf, 0x42, 0x5b, 0x4e, 0xbb, 0xc4, 0x67, 0x7a, 0x6d, 0x37, 0x4a, 0xb3, 0xa5, 0x3f, 0x10, 0x79, 0x11, 0x7c, 0xf5, 0x56, 0x99, 0xd8, 0x5a, 0xfc, 0x96, 0x83, 0x73, 0x8a, 0x69, 0x85, 0x5b, 0xd2, 0xa1, 0x4d, 0x1e, 0xdc, 0xc5, 0x4b, 0xa0, 0xdb, 0x48, 0x45, 0x17, 0x4b, 0xef, 0xe, 0x38, 0x46, 0xab, 0x84, 0xc8, 0x3b, 0xae, 0x3c, 0x54, 0x46, 0x18, 0x7a, 0x51, 0xce, 0x56, 0x6c, 0x65, 0x54, 0x6f, 0x97, 0xfc, 0x59, 0x4a, 0x48, 0x36, 0x91, 0xa7, 0x5a, 0x6f, 0xe, 0xd2, 0x27, 0x83, 0x64, 0x55, 0x22, 0x5d, 0x20, 0x18, 0xf5, 0xf4, 0xea, 0xf6, 0x36, 0x48, 0xda, 0x6a, 0xb9, 0xa9, 0x6, 0x56, 0x71, 0xe3, 0x7e, 0xca, 0x4a, 0x4, 0xcf, 0x8e, 0xce, 0x19, 0xec, 0x8, 0x6f, 0xb5, 0x4b, 0x20, 0xcf, 0xf8, 0x35, 0x4f, 0x4d, 0xf4, 0x6a, 0x87, 0x40, 0x39, 0xc2, 0xf1, 0x6a, 0xc9, 0x46, 0xd0, 0xd3, 0xe8, 0xe4, 0x17, 0xf2, 0x8a, 0xfc, 0x3b, 0xbd, 0xa5, 0xa3, 0x93, 0x5f, 0x4a, 0xe6, 0x4e, 0x8a, 0x19, 0x36, 0x70, 0xfd, 0xa0, 0xcb, 0xe0, 0xa9, 0x29, 0x63, 0xf3, 0x55, 0xc, 0xa1, 0x24, 0x26, 0xbc, 0x21, 0xba, 0x1, 0x4c, 0x4c, 0x86, 0x5a, 0x14, 0x28, 0x7a, 0x11, 0x43, 0x43, 0xb, 0xf7, 0xa9, 0xf0, 0xde, 0x18, 0xdd, 0x8c, 0xb3, 0x36, 0x3c, 0x5, 0x90, 0xfe, 0x59, 0x5c, 0x9f, 0x1f, 0x72, 0xdf, 0x56, 0x63, 0x2f, 0x1, 0xd6, 0xf, 0xc1, 0x5a, 0x77, 0x74, 0x65, 0xc1, 0xda, 0x93, 0x15, 0xb9, 0x32, 0x27, 0x7b, 0x5, 0x6c, 0xe9, 0xa, 0x16, 0x34, 0x81, 0xe5, 0xe3, 0x5f, 0x96, 0x42, 0x4a, 0x3e, 0x4d, 0x56, 0x26, 0x5, 0xc3, 0xe7, 0xc6, 0x74, 0x3c, 0x24, 0xbc, 0xb1, 0x1d, 0xd1, 0x75, 0x53, 0xdc, 0x79, 0xa8, 0x5f, 0x23, 0xdd, 0xc9, 0xa1, 0x83, 0x2, 0x50, 0x5f, 0x11, 0x37, 0x19, 0x39, 0x26, 0xd6, 0xe8, 0xb5, 0x59, 0xbc, 0x92, 0x1, 0x5c, 0xd7, 0x6d, 0x21, 0xa2, 0xae, 0xa6, 0xbc, 0xef, 0x95, 0xd9, 0xd2, 0x89, 0x9f, 0xd4, 0x95, 0x33, 0x69, 0x21, 0xbb, 0x44, 0x5f, 0x9, 0xbc, 0x2a, 0x50, 0x65, 0xda, 0x9a, 0xc9, 0x60, 0x8e, 0xe1, 0x51, 0x1a, 0x2a, 0x2, 0x4b, 0x19, 0xff, 0x2, 0x11, 0xb3, 0xe4, 0xca, 0xd0, 0xdc, 0x15, 0xba, 0x91, 0x8a, 0x83, 0x3b, 0x8c, 0xd1, 0xa, 0x73, 0x27, 0x34, 0x57, 0x73, 0x91, 0x55, 0xe3, 0xb0, 0xc6, 0x6, 0xa5, 0xde, 0xb0, 0x7b, 0x53, 0x4c, 0x2, 0x30, 0x5a, 0x31, 0x62, 0xc9, 0x2c, 0xc6, 0xc, 0xdb, 0xb, 0x56, 0x4, 0xe7, 0x12, 0xb3, 0x86, 0x5f, 0xf9, 0x62, 0x99, 0x80, 0xcb, 0xdd, 0xa0, 0xa0, 0xcc, 0xa9, 0x7a, 0x5b, 0xf6, 0xe, 0x1e, 0x91, 0x4b, 0x9, 0x46, 0x76, 0xb8, 0x4c, 0xa0, 0x7c, 0xbb, 0x3b, 0x57, 0xff, 0xb4, 0x8b, 0xea, 0x90, 0x80, 0x4, 0xc8, 0x7f, 0x95, 0x1d, 0x2d, 0xba, 0xb3, 0xf3, 0x5b, 0x96, 0x41, 0x10, 0x8f, 0xc1, 0x5b, 0xc0, 0xb3, 0x4d, 0x6c, 0xf, 0xe8, 0x24, 0x78, 0xd6, 0xc7, 0xc3, 0xb1, 0xc9, 0x9b, 0xcf, 0xa0, 0x5c, 0xad, 0xc1, 0x50, 0x30, 0xb5, 0xba, 0x45, 0x56, 0xc, 0x9a, 0x8c, 0xac, 0xcb, 0x8d, 0x7d, 0xd1, 0xc3, 0x57, 0xdd, 0xd4, 0xeb, 0x46, 0xf, 0xa7, 0x8d, 0xf5, 0x97, 0x52, 0xac, 0xcf, 0x51, 0xef, 0x1, 0xb1, 0x87, 0x82, 0xb9, 0xaf, 0x9a, 0x2e, 0xc3, 0xcd, 0xc1, 0xc2, 0x4f, 0xb7, 0x2c, 0x33, 0x91, 0xe1, 0x96, 0xaa, 0x7c, 0x30, 0x9b, 0x3d, 0x37, 0xf3, 0xcb, 0xb1, 0xf9, 0x1a, 0x6b, 0x26, 0x78, 0xe7, 0xe1, 0x32, 0x13, 0x75, 0xde, 0x43, 0xfd, 0x8f, 0x89, 0x4c, 0x3, 0x4, 0x64, 0x5b, 0x5c, 0xc4, 0x77, 0x17, 0xb3, 0xe8, 0xff, 0x29, 0x13, 0x11, 0x7a, 0x6d, 0x32, 0xf6, 0x5c, 0x92, 0x98, 0x2d, 0x68, 0x1a, 0x77, 0xc8, 0x1d, 0x33, 0xbb, 0x46, 0xb5, 0x34, 0x22, 0x2, 0xc3, 0xbe, 0xcb, 0x93, 0xd4, 0x94, 0x57, 0x26, 0x14, 0x61, 0x38, 0x92, 0xb9, 0xd8, 0x62, 0x49, 0xff, 0x9e, 0x33, 0xc7, 0x6a, 0x69, 0xa9, 0xd0, 0x1, 0x81, 0x17, 0xc9, 0x52, 0xe, 0xe6, 0x56, 0x79, 0xbd, 0x1, 0xc, 0xbe, 0xf9, 0x6d, 0x9b, 0x77, 0xbd, 0x5e, 0x6d, 0xeb, 0x20, 0x28, 0x9b, 0x2f, 0x98, 0xc8, 0xd5, 0xe, 0x3d, 0x8f, 0x2b, 0x2d, 0xc3, 0x37, 0x58, 0x6d, 0x2e, 0xb0, 0x78, 0x87, 0x6e, 0x8f, 0xab, 0x4d, 0x83, 0xd9, 0xb2, 0x6c, 0x81, 0x82, 0x6c, 0x97, 0x9, 0xd7, 0x35, 0xe, 0x32, 0xc9, 0x40, 0x5f, 0xdc, 0xa1, 0xdf, 0x51, 0xb9, 0x61, 0x8, 0x83, 0x21, 0x99, 0xab, 0x7d, 0xbe, 0x43, 0xd7, 0xc3, 0x86, 0xf6, 0x1, 0x75, 0x98, 0x27, 0xfe, 0x5d, 0x48, 0xa3, 0xda, 0x34, 0x38, 0xc1, 0x39, 0x4f, 0xe2, 0x8a, 0xc2, 0xba, 0xcb, 0x79, 0x6e, 0xea, 0xc8, 0x8f, 0x99, 0xd6, 0xc3, 0x20, 0xec, 0x30, 0x68, 0xf1, 0x95, 0xbc, 0x79, 0xb0, 0x8f, 0x34, 0x8d, 0x93, 0x9d, 0xe, 0xfd, 0xac, 0xbe, 0x39, 0xf6, 0xff, 0x9e, 0xa9, 0x68, 0x8e, 0xe, 0x21, 0x8c, 0x2b, 0xf9, 0xca, 0x35, 0xc3, 0x3, 0xef, 0x10, 0xf8, 0xcd, 0xd0, 0x11, 0x33, 0x65, 0x89, 0x48, 0xaf, 0x8b, 0xfe, 0xa1, 0x6f, 0x56, 0x67, 0x7a, 0xf, 0x40, 0x21, 0xad, 0x39, 0x49, 0x8c, 0x86, 0x8, 0x2a, 0x46, 0x22, 0x5b, 0x8f, 0x82, 0x32, 0xef, 0xe0, 0x30, 0xce, 0x63, 0xae, 0xc8, 0x32, 0xcf, 0x96, 0x42, 0x86, 0xd5, 0xcb, 0xa1, 0xa2, 0x9a, 0xc8, 0xf6, 0x8e, 0x41, 0x60, 0xd9, 0xc8, 0x74, 0xd5, 0x3e, 0x9f, 0x62, 0xc6, 0x53, 0x97, 0x67, 0x67, 0x73, 0xd9, 0x8c, 0xe0, 0x33, 0xf5, 0x42, 0xcc, 0xb3, 0xe, 0x2e, 0xaa, 0x24, 0x7f, 0x1, 0x2c, 0xc1, 0xbc, 0x53, 0x98, 0xd5, 0x73, 0x69, 0xbd, 0xa2, 0x2c, 0xc6, 0xe2, 0x47, 0x5c, 0x2, 0x63, 0x2f, 0x0, 0x62, 0x80, 0x5d, 0xb0, 0xbd, 0x77, 0x61, 0x68, 0x5a, 0xda, 0x12, 0x8c, 0xa6, 0xd6, 0x52, 0xa9, 0x7a, 0xa7, 0x99, 0xc9, 0x75, 0x26, 0xf2, 0xa5, 0x3e, 0x97, 0x1b, 0x66, 0x8c, 0xeb, 0x9a, 0xab, 0xb0, 0x47, 0xe4, 0xd9, 0x1, 0x6a, 0x96, 0x86, 0x73, 0x59, 0x1b, 0x39, 0xe2, 0x48, 0x2b, 0xc8, 0x27, 0xc0, 0x35, 0x7d, 0x60, 0xca, 0x18, 0xb7, 0xfa, 0xca, 0xef, 0xa, 0x37, 0x61, 0x4f, 0xec, 0x18, 0xae, 0x4d, 0x4d, 0xc0, 0xd0, 0xe, 0xf1, 0x96, 0x3b, 0xd8, 0x8c, 0xbf, 0x30, 0xc4, 0xe0, 0xc4, 0xcb, 0xb, 0xaf, 0xbd, 0xbc, 0xcb, 0xc8, 0x33, 0x65, 0xca, 0xa5, 0x1c, 0x5d, 0x8b, 0x67, 0x9d, 0xe0, 0x3f, 0x7f, 0xa3, 0xb7, 0xf4, 0x59, 0x47, 0x2b, 0xfb, 0xfe, 0x6f, 0x51, 0xc2, 0x9f, 0x95, 0xc8, 0xf4, 0x57, 0x17, 0x75, 0x8f, 0x45, 0x62, 0xc4, 0x2c, 0xa0, 0xd1, 0x62, 0xf5, 0x1f, 0x3f, 0x3a, 0xc, 0xfc, 0xff, 0x7b, 0xd3, 0x7d, 0xd3, 0x7d, 0x43, 0xfe, 0xe7, 0xff, 0x7a, 0xd3, 0xfd, 0x7d, 0xf7, 0x35, 0xf9, 0xcf, 0xff, 0x24, 0xff, 0xf7, 0xf, 0xdd, 0xd7, 0xdd, 0xd7, 0xcf, 0xba, 0x25, 0x51, 0xdd, 0x16, 0xfe, 0xc9, 0x3c, 0x8f, 0xb6, 0x20, 0xfd, 0xdb, 0xed, 0xc3, 0xcf, 0x6b, 0xc3, 0xcd, 0xcd, 0x88, 0xad, 0x2a, 0x26, 0xa1, 0x1f, 0x62, 0x35, 0x9a, 0xd3, 0x2c, 0x6e, 0x40, 0x89, 0xe3, 0xa9, 0x62, 0xd7, 0x85, 0x94, 0x22, 0xeb, 0x1e, 0xe1, 0xa9, 0xfa, 0xdd, 0xcf, 0xee, 0xef, 0x4b, 0x3d, 0x17, 0x9, 0x65, 0x5d, 0x47, 0x4a, 0x64, 0x9b, 0xc7, 0xf6, 0x55, 0x28, 0xdb, 0x7d, 0x8f, 0x6c, 0x3d, 0x79, 0xbf, 0x25, 0xfe, 0x56, 0xc9, 0x65, 0x33, 0xb0, 0xc1, 0x4e, 0xdb, 0xf8, 0x6e, 0xea, 0xef, 0x9c, 0x8f, 0xee, 0xad, 0xa2, 0x58, 0xbb, 0x7a, 0x3f, 0xf6, 0x79, 0xdc, 0xdd, 0xdd, 0x72, 0xd, 0x93, 0x5d, 0x33, 0x55, 0xca, 0xfd, 0x3c, 0x5c, 0xa4, 0xb9, 0xf, 0xac, 0xb0, 0x5c, 0x1a, 0xcd, 0x29, 0x9e, 0xfb, 0x3, 0x40, 0xd7, 0x23, 0x58, 0xf0, 0xc4, 0x4c, 0x68, 0x53, 0x6a, 0xc0, 0x49, 0xff, 0xe2, 0xf4, 0xfc, 0x2f, 0x9f, 0xfa, 0x67, 0xe3, 0xc9, 0xb0, 0xdf, 0x3b, 0xfe, 0xd8, 0x7b, 0x37, 0x38, 0x1d, 0x8c, 0xff, 0xb2, 0x26, 0x45, 0xa0, 0xa9, 0x85, 0xf9, 0x8f, 0xd3, 0x32, 0x8a, 0x6c, 0xd3, 0xf7, 0xc7, 0xa7, 0xe7, 0xa3, 0xfe, 0x89, 0x73, 0xa9, 0x8f, 0x26, 0xe7, 0x67, 0xa7, 0xe5, 0x4, 0x82, 0xe6, 0xd9, 0xd5, 0x8d, 0xb6, 0x4d, 0x3a, 0x41, 0x42, 0xa5, 0xc2, 0xc8, 0xbf, 0x3, 0x4, 0x71, 0x85, 0x14, 0x40, 0x12, 0x76, 0xcb, 0x12, 0xe7, 0x49, 0x5a, 0x30, 0xc, 0x9c, 0x31, 0xde, 0xf3, 0x88, 0x46, 0x73, 0x66, 0xf0, 0x87, 0x94, 0xf3, 0xf1, 0xca, 0x0, 0x2d, 0xc0, 0x78, 0x7b, 0x21, 0xcb, 0xaa, 0x28, 0x2, 0xee, 0x28, 0x4, 0xdd, 0xe7, 0x90, 0x56, 0x15, 0xd1, 0x24, 0xc2, 0x14, 0xda, 0xcd, 0x85, 0x46, 0xee, 0xf5, 0x1e, 0xec, 0x51, 0x73, 0x30, 0x70, 0x49, 0x16, 0x83, 0x47, 0x49, 0xcb, 0xb7, 0x7e, 0x37, 0x89, 0x11, 0x64, 0xd5, 0xed, 0xa3, 0x3d, 0x6c, 0x25, 0x1, 0x4b, 0x1b, 0x5a, 0x2a, 0x45, 0x60, 0x6a, 0xc, 0x5, 0xc6, 0xfb, 0x12, 0x69, 0x83, 0xef, 0xe9, 0x6b, 0xad, 0x5d, 0xe8, 0xe4, 0x38, 0xe8, 0x7e, 0x6d, 0xf6, 0x53, 0x38, 0x8f, 0x20, 0x17, 0xd1, 0xea, 0x11, 0xb2, 0xdb, 0xbc, 0x9b, 0x85, 0x41, 0xb6, 0xdd, 0x5a, 0x78, 0x81, 0xea, 0xa5, 0xf1, 0x9f, 0x73, 0x96, 0xad, 0x3e, 0x32, 0x1a, 0xd7, 0x55, 0x30, 0xdd, 0x50, 0x23, 0x66, 0xc, 0x29, 0x21, 0x33, 0xd3, 0x19, 0xf8, 0xb6, 0xb0, 0xce, 0xf3, 0x1c, 0xfa, 0x43, 0x9c, 0xb, 0xa7, 0x10, 0x85, 0x60, 0x7d, 0xf8, 0xd4, 0xd8, 0xcf, 0x32, 0x91, 0xb9, 0x72, 0x89, 0x9c, 0x96, 0x9f, 0x99, 0x5a, 0x4d, 0xa2, 0xfc, 0x3a, 0x60, 0xe6, 0x64, 0xc7, 0xb0, 0x3e, 0x66, 0x3d, 0x95, 0x38, 0x18, 0xca, 0xa6, 0x94, 0xa1, 0x7f, 0xcb, 0xa1, 0x84, 0x99, 0xaf, 0xb5, 0xd, 0x60, 0xec, 0x29, 0x59, 0xf1, 0x5a, 0x67, 0xb6, 0x90, 0x7b, 0x2a, 0xd2, 0xa3, 0xd2, 0x38, 0x65, 0xaf, 0x2f, 0xc0, 0x81, 0xe4, 0xa9, 0x64, 0xea, 0xd5, 0x8c, 0x26, 0x92, 0x75, 0x8c, 0x16, 0x28, 0xb1, 0x17, 0x8, 0x3f, 0x33, 0x3e, 0x50, 0xd9, 0xc5, 0xaf, 0xb1, 0xe6, 0xb7, 0xfd, 0xcc, 0xd8, 0x4c, 0xc2, 0xe4, 0xa1, 0x67, 0x25, 0x64, 0xaf, 0xda, 0x29, 0x38, 0x5a, 0x2e, 0xfb, 0x3e, 0x20, 0xfc, 0xf1, 0x23, 0xa3, 0x99, 0x9a, 0x32, 0xba, 0x7d, 0x4d, 0x20, 0xbb, 0xb7, 0x48, 0x80, 0xb1, 0x75, 0xad, 0x8c, 0xa9, 0xbc, 0xd1, 0x43, 0xb0, 0x58, 0x33, 0x25, 0x47, 0xb9, 0x26, 0xdc, 0x52, 0x6f, 0xd4, 0xdc, 0xe, 0x69, 0xc1, 0xde, 0xca, 0x6, 0x82, 0xb4, 0xc8, 0x52, 0x35, 0x16, 0xc2, 0x86, 0x49, 0x8d, 0xec, 0x70, 0x16, 0x73, 0x2a, 0x0, 0xff, 0x98, 0x31, 0xaa, 0x60, 0x67, 0x3, 0xa6, 0x6, 0x7e, 0xe7, 0x8a, 0xab, 0x7c, 0x77, 0xda, 0x47, 0x11, 0x92, 0x6b, 0x42, 0x81, 0xc7, 0x0, 0x13, 0x3d, 0xe8, 0x62, 0x4d, 0x8d, 0x82, 0xd6, 0xa5, 0x4b, 0xde, 0x35, 0x27, 0xdd, 0xbd, 0x7d, 0xd3, 0x35, 0x33, 0xe8, 0x56, 0x5f, 0x29, 0xdc, 0x88, 0xa6, 0x92, 0xe5, 0x3b, 0x2a, 0x59, 0xec, 0xb1, 0x3b, 0xe, 0x75, 0x41, 0x6c, 0x31, 0x2d, 0xbb, 0x7d, 0x61, 0x94, 0xa8, 0xf5, 0x64, 0xc1, 0x95, 0xb6, 0xc7, 0x6c, 0xb0, 0x6b, 0xa6, 0x7a, 0x3a, 0x18, 0xe7, 0x82, 0xc6, 0xe3, 0x73, 0x89, 0x33, 0x9d, 0xf0, 0x92, 0x1b, 0xfb, 0x85, 0x64, 0x65, 0x50, 0xbe, 0xb9, 0x52, 0x4b, 0xf9, 0xf6, 0xd5, 0xab, 0x6b, 0xae, 0xe6, 0xf9, 0xb4, 0x1b, 0x89, 0xc5, 0x2b, 0xbb, 0x41, 0x5c, 0xbc, 0xd2, 0x8c, 0x4a, 0x48, 0x9a, 0xc8, 0x57, 0xd3, 0x44, 0x4c, 0x5f, 0xd1, 0x37, 0x3f, 0xff, 0x8e, 0xce, 0x7e, 0x37, 0xfd, 0xc3, 0x1f, 0xfe, 0x38, 0xfb, 0xfd, 0xef, 0xe2, 0xe9, 0x9b, 0xff, 0xce, 0xe8, 0x7f, 0x8f, 0xe3, 0xdf, 0xbd, 0xf9, 0x1f, 0xff, 0xfa, 0x7a, 0x3a, 0x9b, 0xfe, 0xeb, 0x1f, 0x7e, 0x1f, 0xfd, 0x3e, 0x8e, 0xfe, 0xc0, 0x5e, 0x79, 0x84, 0xa1, 0x57, 0x38, 0x25, 0x5b, 0x4e, 0x46, 0x76, 0x17, 0xb1, 0x8f, 0x62, 0xce, 0x97, 0x92, 0x65, 0xea, 0x53, 0x9, 0x31, 0x6e, 0x97, 0xd3, 0x76, 0x9b, 0x86, 0x5d, 0x86, 0x15, 0xf7, 0x1, 0x2f, 0xce, 0x93, 0x1b, 0xbd, 0x66, 0x99, 0xdd, 0x4d, 0x28, 0x15, 0x7c, 0xb0, 0xa1, 0xa1, 0x6b, 0x3f, 0x2c, 0x44, 0x1b, 0x85, 0x67, 0x68, 0xd3, 0xa, 0x60, 0xd4, 0x8a, 0x6b, 0x92, 0x84, 0x40, 0x7, 0x32, 0xbe, 0xf9, 0xd4, 0x58, 0x3, 0x72, 0x37, 0xea, 0xa, 0xa2, 0xcb, 0x6e, 0x52, 0x71, 0x27, 0x3, 0xf4, 0x56, 0x19, 0xdf, 0xb8, 0x92, 0x93, 0x26, 0x92, 0x41, 0xa4, 0xe4, 0xf3, 0xfb, 0xb1, 0x85, 0xbb, 0x71, 0x60, 0x3d, 0x10, 0xa, 0x97, 0xb1, 0x48, 0x64, 0x25, 0xca, 0xe2, 0xfa, 0x7e, 0x59, 0xa3, 0xd2, 0x8b, 0x74, 0x6d, 0x58, 0x7e, 0xc8, 0x44, 0xbe, 0x7c, 0xb7, 0xa, 0xeb, 0x33, 0x97, 0x60, 0x58, 0xb6, 0xda, 0xf5, 0x60, 0x1d, 0x6e, 0xe7, 0x61, 0x1c, 0xf4, 0x2, 0x91, 0x69, 0x58, 0xb, 0x3, 0x9f, 0xd5, 0x5d, 0x97, 0xe0, 0x7c, 0xbd, 0x87, 0xd, 0x75, 0x13, 0xc1, 0x38, 0x33, 0x1f, 0x86, 0x5c, 0x17, 0xfb, 0xe, 0x15, 0xea, 0xb1, 0x8e, 0x1b, 0x4b, 0x63, 0xad, 0x38, 0x4e, 0x85, 0x9a, 0x13, 0xe1, 0xaa, 0xe9, 0xd9, 0x84, 0x1d, 0xbd, 0xe1, 0x9a, 0x66, 0x4c, 0xf0, 0x9a, 0x80, 0x97, 0xb6, 0x14, 0xf2, 0x9, 0x20, 0x2b, 0xc7, 0xea, 0xca, 0x55, 0x4f, 0x11, 0x71, 0xaa, 0xda, 0x28, 0xa2, 0x9, 0x8b, 0x3, 0x18, 0xa7, 0xfb, 0x5c, 0xbd, 0x49, 0xe4, 0x91, 0x30, 0x66, 0x58, 0xe1, 0xf8, 0x20, 0xdb, 0xd0, 0xd8, 0x7b, 0xb1, 0xf3, 0xed, 0xf6, 0xa9, 0x28, 0xb8, 0x50, 0xd1, 0x73, 0xa, 0xe0, 0xca, 0x21, 0xa1, 0x5a, 0x95, 0xf, 0xbd, 0x78, 0xef, 0x50, 0xc, 0x1c, 0x8b, 0xc5, 0x92, 0x2a, 0xbe, 0x97, 0x45, 0xbb, 0xa0, 0xbf, 0x9, 0xab, 0x4f, 0x8f, 0x58, 0xdd, 0xf1, 0xec, 0x9b, 0x3c, 0x68, 0x26, 0x99, 0x30, 0x3f, 0x4a, 0xfb, 0xd8, 0xf5, 0xdf, 0x84, 0x3f, 0x7, 0xc9, 0x14, 0x6, 0xba, 0x8a, 0x2c, 0x66, 0x99, 0xd1, 0xd5, 0x92, 0x98, 0x49, 0x78, 0x9b, 0x4e, 0xd9, 0x1d, 0x93, 0xa, 0xb3, 0x2b, 0x20, 0x9, 0x87, 0xe1, 0xeb, 0xa5, 0xd5, 0xf6, 0x1, 0xb3, 0x1b, 0xd8, 0x7, 0xc2, 0x78, 0x15, 0xf, 0x6d, 0xca, 0x4a, 0x85, 0xc, 0xf1, 0x1d, 0x74, 0x11, 0x4e, 0xa0, 0x4b, 0x6, 0xfd, 0xb7, 0xe4, 0x2c, 0x40, 0xf2, 0x32, 0xa1, 0xb9, 0x26, 0xb1, 0x2, 0xe2, 0x6f, 0x85, 0x54, 0xe0, 0xcd, 0xf6, 0x50, 0x4, 0x25, 0x3e, 0x65, 0xaa, 0xd0, 0x7, 0x8b, 0x2a, 0x2b, 0x88, 0x50, 0xf3, 0xd4, 0x82, 0xc1, 0xce, 0xa0, 0xae, 0xbe, 0x5e, 0xba, 0xc7, 0xf1, 0x50, 0x73, 0x88, 0x31, 0xe1, 0x52, 0x75, 0xec, 0x4d, 0xb0, 0x88, 0xd2, 0xd1, 0x1c, 0xca, 0x4e, 0x8, 0x7, 0xd9, 0x2, 0xaf, 0x10, 0x48, 0x19, 0xb5, 0x24, 0xd7, 0x68, 0x64, 0x3e, 0x2f, 0x92, 0x9c, 0xd6, 0xe8, 0xe, 0xe0, 0x40, 0x31, 0xa, 0xcc, 0xb0, 0xc1, 0xf3, 0x71, 0x10, 0x8a, 0x7b, 0x57, 0x1d, 0x63, 0xab, 0x2c, 0xfb, 0xd0, 0x2d, 0xd3, 0x21, 0xd3, 0xc, 0x40, 0x9d, 0x6d, 0xa6, 0x3d, 0x96, 0xc1, 0xe6, 0xb1, 0x85, 0x8e, 0x4b, 0x9b, 0xe1, 0x2f, 0x41, 0x75, 0x37, 0x7, 0x3, 0xa9, 0x26, 0x24, 0xd1, 0x84, 0x62, 0x80, 0x92, 0x80, 0x2e, 0x5d, 0x53, 0x9, 0x51, 0x24, 0x40, 0x4b, 0xfe, 0x4f, 0x54, 0x4a, 0x11, 0x71, 0x87, 0x1c, 0xb, 0x7, 0x7d, 0xcd, 0x6f, 0x59, 0xea, 0x66, 0x81, 0xe5, 0x6e, 0x4b, 0xfa, 0xbf, 0x7d, 0x4, 0xeb, 0x54, 0x3a, 0x4, 0x6a, 0x9d, 0x16, 0x4b, 0xe0, 0x32, 0x47, 0x1f, 0x18, 0x3d, 0x28, 0x16, 0x36, 0x4c, 0x71, 0xe1, 0x90, 0x97, 0x6d, 0xa0, 0x4d, 0xb8, 0x33, 0x65, 0xb2, 0xf6, 0x6e, 0xc8, 0x18, 0xa3, 0xa6, 0x69, 0x29, 0x69, 0x23, 0x46, 0x9a, 0xec, 0xda, 0x7d, 0xa1, 0xa8, 0x94, 0xe0, 0xdd, 0x5c, 0x70, 0xd5, 0x29, 0x4c, 0xd5, 0xe4, 0xdb, 0x4, 0xfe, 0x9a, 0x60, 0x88, 0xe2, 0xd8, 0x18, 0xcf, 0x60, 0xf2, 0xea, 0xb4, 0x41, 0xc4, 0xd9, 0xad, 0x79, 0x6, 0xb3, 0xb, 0x5e, 0xd0, 0xec, 0xc6, 0xee, 0xa2, 0xcb, 0x76, 0x1, 0xd4, 0x8b, 0x26, 0x67, 0x1a, 0x61, 0xa9, 0xca, 0x4c, 0xb2, 0x16, 0xe6, 0x0, 0xc1, 0x6e, 0x40, 0x4e, 0x6a, 0x71, 0x78, 0x53, 0xdb, 0xf, 0xbe, 0xd2, 0xeb, 0xb6, 0xac, 0xa0, 0x30, 0x79, 0x54, 0xbd, 0xe0, 0x6e, 0xfa, 0x45, 0x96, 0x2f, 0xfe, 0xf9, 0x92, 0xa5, 0x36, 0x8e, 0x2d, 0x97, 0xda, 0x5a, 0x8e, 0x68, 0x4a, 0x68, 0xfc, 0x5b, 0x2e, 0xcd, 0x55, 0xc6, 0x5b, 0xd, 0x15, 0x96, 0x95, 0xb2, 0xbb, 0x87, 0xdb, 0xfc, 0x5c, 0x92, 0x78, 0x95, 0xd2, 0x5, 0x8f, 0x8c, 0xa0, 0x31, 0x0, 0x40, 0x33, 0x91, 0x15, 0x47, 0xb9, 0xc2, 0x63, 0x8, 0xa7, 0xe7, 0x21, 0x29, 0x22, 0x9a, 0x5e, 0x5, 0x49, 0x3b, 0xf4, 0x96, 0x51, 0x65, 0xa1, 0x7c, 0xb8, 0xc4, 0x35, 0xea, 0x49, 0x49, 0x95, 0x51, 0x43, 0x3e, 0xde, 0x99, 0x4e, 0xb4, 0xf2, 0x55, 0xcf, 0x66, 0x82, 0x7b, 0xd6, 0xc4, 0x70, 0xfc, 0x2c, 0x2b, 0x85, 0x2f, 0x2b, 0xc0, 0x66, 0x57, 0x25, 0x81, 0xe8, 0x6d, 0xa1, 0xa1, 0xb6, 0x18, 0x77, 0x64, 0x4e, 0x54, 0x4a, 0x7e, 0x9d, 0x82, 0xab, 0xb8, 0xde, 0xee, 0xdc, 0x93, 0x31, 0xb9, 0x60, 0x51, 0x16, 0x1b, 0x1e, 0xd5, 0x2b, 0x8c, 0x18, 0x86, 0xc5, 0x5a, 0xa1, 0x39, 0x64, 0x88, 0xba, 0x79, 0xef, 0x33, 0xf2, 0x72, 0xda, 0xf1, 0x4f, 0x3f, 0xf2, 0x37, 0x85, 0x98, 0x6e, 0x38, 0x62, 0x14, 0x78, 0xe5, 0x50, 0xbb, 0x32, 0xfa, 0x14, 0xa4, 0xae, 0x92, 0x3b, 0x2d, 0x51, 0x6b, 0x41, 0xa7, 0x81, 0xac, 0x4f, 0xb5, 0x6e, 0x60, 0x18, 0xba, 0x5, 0x9d, 0x2e, 0xf9, 0x74, 0x3d, 0x2, 0xf5, 0x81, 0x40, 0xa7, 0x77, 0x92, 0xc3, 0x5, 0x83, 0xcd, 0xd4, 0x68, 0xd9, 0x91, 0xd8, 0xe7, 0xd5, 0xa, 0x2f, 0xeb, 0x28, 0xc5, 0xc, 0x16, 0x3c, 0x5e, 0xd0, 0xbb, 0xfb, 0x2a, 0x12, 0x73, 0x42, 0x15, 0x7d, 0x97, 0x88, 0x69, 0x5b, 0xa9, 0x3d, 0xa4, 0x77, 0x76, 0x39, 0xb6, 0x58, 0xb4, 0x9, 0x5f, 0x65, 0x3e, 0x64, 0xd1, 0x65, 0xa, 0xdb, 0x2f, 0x31, 0xa4, 0xd0, 0x42, 0xee, 0x5b, 0x38, 0xc7, 0x59, 0x98, 0xa9, 0x58, 0x96, 0x34, 0x10, 0xc6, 0x9d, 0x89, 0x54, 0xb1, 0x34, 0x36, 0x8f, 0x3, 0x6, 0x6f, 0xd6, 0xbf, 0xf1, 0x4e, 0xd1, 0x83, 0x37, 0x3a, 0xf9, 0x45, 0x76, 0x49, 0x9f, 0xa3, 0x2f, 0x51, 0x7f, 0x29, 0x32, 0x72, 0x65, 0xc6, 0xbe, 0x72, 0x82, 0x9, 0xd4, 0x3f, 0xdb, 0x7d, 0xca, 0xbe, 0xa8, 0xb, 0x7a, 0xcd, 0x76, 0xba, 0x5b, 0x9f, 0x7d, 0x8f, 0x46, 0x29, 0xcc, 0x6c, 0x35, 0x80, 0x8c, 0xb9, 0x45, 0x43, 0xbe, 0x83, 0x44, 0xd, 0x12, 0x2e, 0x85, 0x71, 0x4a, 0xf9, 0x7a, 0xf8, 0x56, 0x1b, 0xd8, 0x40, 0xbc, 0x84, 0xd0, 0x2c, 0x9a, 0xf3, 0x5b, 0x56, 0xf3, 0xba, 0x1c, 0x1a, 0x74, 0x6b, 0x9, 0x57, 0x2b, 0xc1, 0xbb, 0x42, 0x69, 0xec, 0x4b, 0xbf, 0xdf, 0xcf, 0x66, 0x7f, 0x10, 0xe2, 0x3a, 0x61, 0x17, 0x99, 0x50, 0x62, 0x9a, 0xcf, 0x7a, 0xe9, 0x6a, 0xcb, 0x9d, 0x7a, 0xfe, 0xff, 0xd7, 0x1f, 0x3e, 0xdf, 0x25, 0xd4, 0x49, 0x7f, 0x17, 0x3c, 0x97, 0xd8, 0x9c, 0x61, 0x17, 0xcf, 0x6c, 0x28, 0xa1, 0x2e, 0x3e, 0x3, 0x9c, 0xd6, 0x75, 0x9c, 0xce, 0xc5, 0xcf, 0xe8, 0x7b, 0x9a, 0x4d, 0xb9, 0xca, 0x68, 0xb6, 0xaa, 0xe9, 0x9d, 0xd0, 0x44, 0xa4, 0xd7, 0x56, 0x67, 0x83, 0x35, 0xe0, 0x9d, 0x8d, 0x8d, 0x36, 0x60, 0xe0, 0xb3, 0x5b, 0x4c, 0xb1, 0xf8, 0x98, 0xd1, 0x36, 0x2d, 0x4, 0xd2, 0x6f, 0xf, 0x12, 0x9e, 0xb2, 0x45, 0x60, 0x7e, 0x13, 0x9f, 0xf3, 0xd9, 0xc1, 0xd6, 0x4f, 0x6, 0x7b, 0x61, 0xe4, 0x66, 0x58, 0x96, 0x95, 0x92, 0x5b, 0x9a, 0x71, 0x86, 0xf1, 0x69, 0x36, 0x69, 0xb1, 0x43, 0x12, 0x7e, 0x63, 0x20, 0xa1, 0xd1, 0x16, 0xb1, 0x36, 0x6c, 0x47, 0x8b, 0x2e, 0x3f, 0x5b, 0x2b, 0x88, 0x33, 0xb1, 0xa4, 0xd7, 0xa6, 0x96, 0xa, 0x48, 0xca, 0xe, 0x46, 0xee, 0x7f, 0xa1, 0x8b, 0x65, 0xc2, 0x3a, 0x81, 0x9, 0xc, 0x58, 0x8d, 0xe, 0xd2, 0xc9, 0x6c, 0x78, 0xf1, 0x72, 0xb6, 0x7d, 0x5e, 0xbc, 0xad, 0x77, 0x10, 0xed, 0x29, 0x4e, 0xcc, 0x64, 0x20, 0xcb, 0xec, 0x79, 0x38, 0x3d, 0xf8, 0xcb, 0x2e, 0x73, 0xdc, 0x3e, 0x9a, 0xec, 0x93, 0x48, 0x85, 0x12, 0xa9, 0x81, 0xf6, 0x6, 0xd8, 0x1b, 0xa, 0xa1, 0xe1, 0x98, 0x80, 0x86, 0x26, 0x61, 0x7, 0xcf, 0x47, 0x12, 0xaa, 0xc8, 0x9b, 0x6e, 0x71, 0xc8, 0x96, 0xaf, 0xdf, 0xcd, 0xf9, 0x43, 0xd8, 0x4b, 0xb, 0x10, 0xc2, 0xfe, 0xaf, 0xfd, 0xb3, 0xf1, 0x26, 0xfc, 0xc1, 0xe0, 0xa3, 0x9a, 0x5c, 0xbb, 0xd1, 0xb8, 0x37, 0xac, 0xd6, 0x14, 0x5d, 0xdf, 0xa6, 0xa9, 0x12, 0xe9, 0xfa, 0x56, 0x95, 0x8a, 0xa4, 0x9b, 0x9b, 0x8c, 0x7, 0x9f, 0xfa, 0x27, 0x93, 0xf3, 0xcb, 0x72, 0x71, 0xdc, 0xba, 0x56, 0x60, 0x22, 0x8e, 0x8e, 0x3f, 0xf6, 0x4f, 0x2e, 0xdb, 0xd, 0x83, 0xd, 0x5a, 0x2f, 0x1f, 0x3e, 0xdf, 0x66, 0xe5, 0xd0, 0x60, 0xeb, 0x15, 0x6c, 0xda, 0x25, 0x57, 0x8b, 0xb7, 0xed, 0x7a, 0x4b, 0xd, 0x36, 0xad, 0xb7, 0xf8, 0x79, 0x8b, 0xf5, 0x16, 0x1b, 0x6c, 0x37, 0xfd, 0x16, 0xbb, 0x53, 0x9a, 0xf, 0x66, 0x29, 0x9b, 0xa4, 0xe5, 0x2d, 0xd6, 0x1, 0xed, 0xd6, 0x7d, 0xaf, 0xa7, 0x32, 0xdc, 0xbc, 0x3d, 0xf8, 0xd9, 0xfb, 0xc1, 0x70, 0xf3, 0x47, 0x9b, 0xc7, 0xac, 0xbb, 0x5a, 0xad, 0x17, 0xd8, 0xd8, 0x78, 0x5d, 0xa3, 0x5d, 0xb2, 0xbd, 0xf, 0xd2, 0xdb, 0x26, 0xba, 0x58, 0xd7, 0xb6, 0xfd, 0x9e, 0x7c, 0xea, 0xd, 0x7f, 0xe9, 0xf, 0x27, 0xc3, 0xfe, 0xf1, 0xf9, 0xf0, 0x64, 0x5b, 0x46, 0x8, 0x79, 0xc9, 0xdb, 0x32, 0x28, 0x5b, 0x64, 0x7c, 0x5b, 0x6, 0x7a, 0x36, 0x1e, 0x9c, 0x5d, 0xf6, 0x4f, 0x26, 0xbd, 0xd1, 0xe4, 0xac, 0x5f, 0x86, 0x82, 0xd, 0x1a, 0x3, 0x41, 0x4e, 0x8e, 0x3f, 0xe, 0x4e, 0x4f, 0x76, 0x3c, 0xa4, 0xd, 0x3d, 0x6c, 0x3a, 0x98, 0xc6, 0x86, 0x1b, 0xaf, 0x4a, 0x63, 0xcb, 0x16, 0x4c, 0xe5, 0xf0, 0xd3, 0xdd, 0x7c, 0x37, 0x1a, 0x9b, 0xb6, 0xe0, 0x52, 0xcd, 0x6d, 0x5b, 0x10, 0xc8, 0x36, 0x19, 0xf1, 0x7b, 0xf5, 0xb2, 0xcf, 0x25, 0xdc, 0x7c, 0x3d, 0x2e, 0x2f, 0x46, 0xfd, 0xe1, 0xd8, 0xb7, 0x1d, 0xf5, 0x7b, 0xc3, 0xe3, 0x8f, 0x93, 0xde, 0x78, 0x3c, 0x1c, 0xbc, 0xbb, 0x1c, 0xf7, 0xcb, 0x65, 0xe3, 0xd7, 0x5f, 0x11, 0x5b, 0x7a, 0xfe, 0xe4, 0xd3, 0x60, 0xbc, 0xed, 0xf5, 0x72, 0x65, 0xeb, 0x8f, 0xfb, 0x17, 0x3b, 0xb6, 0x1d, 0xf6, 0xff, 0xbd, 0x7f, 0xbc, 0x63, 0xdb, 0x6d, 0x94, 0x84, 0x8b, 0xe1, 0xf9, 0x45, 0x7f, 0x38, 0x1e, 0xf4, 0x47, 0x93, 0x4f, 0xe7, 0x27, 0xa0, 0xbe, 0xb9, 0x63, 0xa8, 0x84, 0x6e, 0xd6, 0x89, 0xb7, 0x5d, 0x3b, 0x58, 0x37, 0x83, 0xe6, 0x56, 0x80, 0x36, 0x1d, 0xd6, 0x9a, 0xdf, 0xac, 0x7f, 0x54, 0x9a, 0x6c, 0xe2, 0x1b, 0xe5, 0x6, 0x2d, 0xb6, 0xb3, 0xdc, 0x64, 0x13, 0xa1, 0x57, 0x86, 0xd8, 0xc8, 0x1c, 0xca, 0x2d, 0x5a, 0xf0, 0x84, 0xfa, 0x41, 0x76, 0x14, 0xed, 0xe7, 0x17, 0xfa, 0x7f, 0x46, 0x86, 0xc4, 0xb6, 0x5e, 0x9a, 0x17, 0xd5, 0xdb, 0x6f, 0x66, 0xa9, 0x87, 0x1d, 0xd4, 0xf8, 0x8b, 0xde, 0xe5, 0x68, 0xdb, 0xab, 0x74, 0xb6, 0x43, 0x23, 0x7d, 0x28, 0x93, 0xd1, 0x2f, 0x83, 0x8b, 0x8b, 0xc1, 0xd9, 0x87, 0xc9, 0x78, 0xd8, 0x3b, 0x1b, 0xd, 0xc6, 0x50, 0x6a, 0xab, 0xbd, 0x35, 0x56, 0x88, 0x68, 0xde, 0x11, 0x4a, 0xb5, 0xe4, 0xf3, 0xb4, 0xb9, 0x8, 0xee, 0x21, 0xd9, 0xb8, 0x40, 0xc0, 0xcc, 0x33, 0xa9, 0xf6, 0xb6, 0x94, 0x5, 0x3e, 0xc3, 0x69, 0xf3, 0x7d, 0x91, 0x27, 0x8a, 0x1f, 0x99, 0xc4, 0x80, 0x2, 0xfe, 0x83, 0xb6, 0xe2, 0xcb, 0xd1, 0x33, 0xe1, 0x74, 0x21, 0xf5, 0x9, 0xe0, 0x10, 0x10, 0x26, 0x15, 0xcc, 0xd8, 0xeb, 0x54, 0x64, 0x26, 0x69, 0xb, 0xbc, 0x25, 0x45, 0xfc, 0xa5, 0xbd, 0x11, 0x85, 0xb0, 0x5e, 0xff, 0x8c, 0x63, 0x30, 0x5d, 0x61, 0x3d, 0x1c, 0x11, 0xa0, 0x30, 0x12, 0xa0, 0xbc, 0xe, 0x95, 0xd1, 0x54, 0xce, 0x58, 0x66, 0x4b, 0xab, 0x55, 0x9e, 0x51, 0x79, 0xe9, 0xf5, 0x1f, 0x36, 0x6d, 0x9b, 0xe5, 0x61, 0x4c, 0xd9, 0x27, 0xba, 0x1a, 0xc0, 0x37, 0xfb, 0xc6, 0xb4, 0x8c, 0x2, 0x3c, 0x75, 0x17, 0x59, 0x3e, 0x3a, 0xf9, 0x5, 0x9f, 0x1c, 0xed, 0x34, 0xcc, 0xe1, 0x12, 0x2a, 0x9, 0xf, 0xca, 0x8f, 0xf3, 0xc5, 0x92, 0x46, 0xca, 0x87, 0x7d, 0x99, 0xa2, 0xe8, 0xa5, 0x57, 0xbf, 0x42, 0x8d, 0xb4, 0x14, 0xd0, 0xd, 0x0, 0xd7, 0xc1, 0xbe, 0x93, 0xe8, 0xd1, 0x52, 0x6, 0xee, 0x1e, 0x12, 0x89, 0x34, 0x62, 0xe0, 0xe, 0x87, 0x82, 0xa5, 0x64, 0x30, 0x23, 0x34, 0x85, 0x2f, 0x58, 0xa, 0x91, 0x4e, 0x10, 0xc8, 0x9b, 0xe2, 0x74, 0x8a, 0xc3, 0x80, 0x37, 0xe, 0x1f, 0x4b, 0xc2, 0x39, 0xe6, 0x69, 0xcc, 0x32, 0xa9, 0x20, 0x55, 0x91, 0x2b, 0xc4, 0xa6, 0x81, 0xd0, 0x54, 0xe2, 0x8a, 0x96, 0xa1, 0x2f, 0x1d, 0x2a, 0x75, 0xe9, 0x1, 0x4d, 0x89, 0x16, 0x8, 0x7c, 0xe5, 0xea, 0x79, 0xb9, 0x52, 0x5a, 0x14, 0xb1, 0xa5, 0x41, 0xc9, 0xb3, 0x58, 0xb9, 0x8, 0xea, 0xa3, 0xc7, 0xa7, 0x69, 0xfc, 0x4a, 0x64, 0x85, 0xb2, 0xac, 0x10, 0x93, 0x93, 0xa7, 0x10, 0x17, 0xbb, 0xcc, 0x18, 0x34, 0xf5, 0xc7, 0x99, 0x4b, 0x96, 0xd5, 0x85, 0xbb, 0x6d, 0x1d, 0xf9, 0x7d, 0x19, 0x74, 0xd4, 0x3a, 0xc8, 0xc5, 0x3a, 0xf4, 0x4c, 0x8d, 0x2, 0x43, 0x8c, 0xf6, 0x75, 0x41, 0xcc, 0x14, 0x4b, 0x49, 0x44, 0xb3, 0x8c, 0xb3, 0x18, 0xf2, 0xf5, 0x31, 0xf2, 0xc5, 0x64, 0x49, 0xa2, 0xff, 0xcd, 0xe4, 0x91, 0x45, 0x34, 0x49, 0x64, 0x97, 0x7c, 0x12, 0x7a, 0x7b, 0x6f, 0xab, 0xa1, 0x49, 0x77, 0x22, 0x7d, 0x6e, 0xa, 0x69, 0xa8, 0x52, 0xe1, 0xbc, 0xe, 0x72, 0x0, 0x71, 0x57, 0xf9, 0xc5, 0x41, 0x9f, 0x14, 0x62, 0xa5, 0xf2, 0xa5, 0x99, 0x2e, 0x6c, 0xe9, 0xcc, 0x82, 0xc5, 0x78, 0x42, 0x30, 0xef, 0xf7, 0xb1, 0x26, 0xd6, 0xf2, 0x43, 0xb7, 0xc9, 0x44, 0x22, 0x77, 0x2c, 0x49, 0x8e, 0x6e, 0x52, 0x71, 0x7, 0x8, 0x1f, 0x65, 0x10, 0xc, 0xf2, 0x93, 0x23, 0xea, 0x89, 0x8b, 0xa8, 0x9b, 0x98, 0xaa, 0x76, 0x13, 0x58, 0x5f, 0x10, 0x23, 0x4b, 0x8e, 0x88, 0xcc, 0x17, 0xb, 0x9a, 0xad, 0x60, 0x25, 0x26, 0x70, 0xca, 0x24, 0x75, 0xe8, 0x36, 0x4d, 0x8, 0x5e, 0xe4, 0x27, 0xc8, 0xf0, 0xc8, 0xda, 0xf4, 0x9c, 0x5, 0x48, 0x3a, 0xa9, 0x49, 0x4, 0x6, 0xfe, 0xe4, 0xaa, 0x58, 0xe9, 0x9e, 0xe0, 0xbf, 0x72, 0xc9, 0xc8, 0xb4, 0xc4, 0x4b, 0xd, 0xa9, 0xf9, 0x3d, 0xb, 0x2, 0xd3, 0x12, 0x9e, 0xde, 0x3, 0x74, 0xfb, 0x29, 0x4f, 0x6f, 0x1a, 0x9, 0x51, 0xff, 0x28, 0x11, 0xd7, 0x23, 0x31, 0xb8, 0xd7, 0xa, 0x9c, 0xb8, 0x1d, 0x22, 0xf3, 0x68, 0x6e, 0x51, 0x6f, 0x4d, 0xb6, 0x33, 0x9c, 0xa8, 0xad, 0x29, 0xe8, 0xc1, 0xb3, 0x9e, 0xcb, 0x9a, 0x8d, 0x5d, 0x66, 0x3c, 0x8d, 0xf8, 0xb2, 0x88, 0xa, 0xb9, 0x3d, 0x66, 0x8d, 0xed, 0xa5, 0x19, 0x2d, 0x1b, 0x43, 0xf2, 0x74, 0x5b, 0xa8, 0xc9, 0x48, 0x73, 0x35, 0xd7, 0xd3, 0x85, 0xe0, 0x1, 0x1b, 0xb7, 0xe1, 0xf2, 0xb5, 0xeb, 0x4, 0x81, 0xb9, 0x6e, 0x5, 0xce, 0x5e, 0xc4, 0x3a, 0xc3, 0x15, 0x37, 0x40, 0x9d, 0x6d, 0xda, 0xff, 0x2a, 0x74, 0x5a, 0x6d, 0x77, 0x6b, 0xea, 0x2f, 0x1c, 0xdb, 0x92, 0xf5, 0x87, 0x9a, 0x41, 0x53, 0x87, 0x6b, 0xe6, 0x80, 0xa1, 0xfc, 0x87, 0x9a, 0x40, 0x6d, 0x6f, 0x6b, 0x46, 0x1f, 0xf3, 0x5, 0x8b, 0xcf, 0x73, 0x75, 0xa8, 0xf1, 0x1b, 0xfa, 0xab, 0xce, 0x60, 0x4c, 0xe5, 0x8d, 0xcd, 0x42, 0xd8, 0x77, 0xf5, 0xeb, 0xfa, 0x6a, 0x18, 0xf9, 0x20, 0x84, 0xd7, 0xdc, 0x53, 0xfd, 0xa8, 0x87, 0x22, 0xb7, 0x75, 0x7d, 0xd5, 0x8f, 0x7c, 0xa0, 0x63, 0x5e, 0xd3, 0x55, 0xfd, 0xb8, 0x7, 0x21, 0xee, 0xc6, 0x8e, 0xaa, 0x88, 0x25, 0x87, 0xa0, 0xaa, 0x5e, 0x8b, 0xbe, 0x1a, 0x46, 0xde, 0x8b, 0xaa, 0x7a, 0x1b, 0x7b, 0xaa, 0x1f, 0x75, 0x5f, 0xaa, 0xea, 0xb5, 0xe8, 0xab, 0x7e, 0xe4, 0xbd, 0x4e, 0xb7, 0x9a, 0xce, 0xd4, 0x6a, 0xcc, 0x3d, 0x29, 0xb9, 0xb7, 0xb9, 0xab, 0x22, 0x8e, 0x51, 0xb6, 0xdf, 0xa1, 0x8e, 0x9b, 0xbb, 0x28, 0x8d, 0xf3, 0x9e, 0x67, 0xfb, 0x8d, 0x52, 0xd7, 0x41, 0x3, 0xc5, 0xb4, 0x42, 0xba, 0xdd, 0x8a, 0x6e, 0xd6, 0xf6, 0xb8, 0x6e, 0x16, 0x7, 0x1c, 0x7e, 0xd3, 0xe, 0xef, 0x39, 0xe0, 0x78, 0x4d, 0x1f, 0x7e, 0x24, 0x88, 0x86, 0xcd, 0x86, 0x90, 0x45, 0xb3, 0xf3, 0x50, 0x9f, 0xd6, 0x75, 0xb2, 0x46, 0x9a, 0x6f, 0xc0, 0x8e, 0xdd, 0x34, 0x6c, 0x5b, 0x2c, 0xda, 0x75, 0xfa, 0x84, 0xc3, 0xc3, 0x3a, 0x98, 0x46, 0xd1, 0xd4, 0xe3, 0x3a, 0xbd, 0xee, 0x20, 0x4, 0xbe, 0x25, 0x42, 0xf4, 0xc6, 0xf9, 0x1c, 0x7a, 0x22, 0x6b, 0x66, 0x60, 0x42, 0x53, 0xf0, 0xbb, 0x46, 0xa8, 0xe1, 0x41, 0x1, 0x24, 0x78, 0xfb, 0x79, 0xd, 0xf7, 0x1a, 0x65, 0xdb, 0xd9, 0xee, 0x25, 0x6d, 0xda, 0x4d, 0x75, 0x83, 0x1c, 0x62, 0xfb, 0x41, 0x87, 0x6f, 0x9a, 0xe3, 0x8e, 0xc8, 0xe4, 0x6b, 0xed, 0x9b, 0x54, 0xf1, 0x34, 0x67, 0x71, 0x4f, 0x9e, 0xb1, 0xbb, 0xc3, 0x19, 0x39, 0x6b, 0x7a, 0xd, 0xb0, 0xef, 0xb4, 0xd4, 0xab, 0x47, 0x6a, 0xdb, 0x97, 0xf0, 0x46, 0xdb, 0x77, 0xdd, 0x6a, 0x5e, 0x7b, 0x91, 0xd8, 0x9a, 0x49, 0x6d, 0xa0, 0xab, 0x7a, 0x5c, 0xbc, 0xfd, 0x14, 0x8f, 0xfa, 0x89, 0x6c, 0xd2, 0x44, 0xea, 0x67, 0xb2, 0xaf, 0x86, 0x59, 0x3f, 0x97, 0xcd, 0xba, 0x66, 0x33, 0x5e, 0xe0, 0x81, 0xa7, 0xb2, 0xd3, 0xf9, 0xec, 0xc9, 0xd4, 0x1b, 0x36, 0x65, 0x13, 0x67, 0xaf, 0x9f, 0xcb, 0x9e, 0x5a, 0x71, 0xfd, 0x5c, 0x36, 0xea, 0xc7, 0xd, 0x73, 0xd9, 0x57, 0x5, 0x68, 0x98, 0xcd, 0x66, 0x3d, 0x0, 0x81, 0x31, 0xee, 0x4d, 0xdc, 0x8d, 0x76, 0xeb, 0xbe, 0xf5, 0xfc, 0xf6, 0xe3, 0x3e, 0x3b, 0xf4, 0xdd, 0x42, 0xb2, 0xed, 0xa9, 0x51, 0x6e, 0x5b, 0xe5, 0xc0, 0xcf, 0x8, 0x53, 0xfd, 0x5d, 0x2e, 0x3f, 0xa3, 0x59, 0x34, 0xf7, 0xdf, 0xed, 0x38, 0x9d, 0xcb, 0x6d, 0x3a, 0x5d, 0x23, 0x57, 0x31, 0x8d, 0xa5, 0x7, 0xf, 0x25, 0x87, 0xd3, 0xea, 0xd6, 0xf6, 0xba, 0x71, 0x36, 0x43, 0x86, 0x75, 0x67, 0xe, 0x3b, 0x9b, 0x86, 0x5e, 0x37, 0xce, 0xe6, 0xe0, 0x9e, 0xd5, 0xf5, 0xdd, 0x56, 0xe7, 0xe3, 0xc3, 0xc5, 0x6d, 0xa1, 0x42, 0x4b, 0x8b, 0xc9, 0x6a, 0xcf, 0x39, 0x6d, 0xd1, 0x75, 0xd5, 0xf2, 0xbd, 0x87, 0x79, 0xf5, 0xb6, 0xef, 0xba, 0xd5, 0x7e, 0x1d, 0x7c, 0x97, 0xb6, 0xbd, 0x5f, 0xf1, 0x82, 0xab, 0xc3, 0xdf, 0xaf, 0xfa, 0x5e, 0x9b, 0x10, 0x83, 0xf7, 0xf5, 0x26, 0x9e, 0xb5, 0xea, 0xad, 0x71, 0xf4, 0xbd, 0x74, 0xc0, 0xb3, 0x16, 0x7d, 0x35, 0x8d, 0xbc, 0xef, 0x5, 0x3e, 0x6b, 0xd5, 0x5b, 0xd3, 0xe8, 0x7b, 0x89, 0xc2, 0x2a, 0x50, 0x73, 0xfb, 0x55, 0xef, 0xa7, 0xd3, 0x9d, 0xb5, 0xe9, 0xac, 0x69, 0xec, 0x3d, 0x75, 0xb8, 0xb3, 0x36, 0x9d, 0xad, 0x5f, 0xf7, 0xbe, 0x6, 0x6c, 0xdd, 0xf2, 0x77, 0xb0, 0x5a, 0xcf, 0xe1, 0x1, 0x52, 0xe2, 0x75, 0x3d, 0xd8, 0xed, 0x5f, 0xdb, 0x6b, 0xab, 0x7d, 0x39, 0xf0, 0x95, 0x68, 0xd3, 0x75, 0xab, 0x79, 0x1d, 0xf0, 0xb2, 0x6c, 0xee, 0x77, 0xcd, 0xb9, 0x5d, 0xd0, 0x5c, 0x1e, 0xee, 0xbc, 0x6a, 0x7b, 0x5b, 0x27, 0x33, 0xd2, 0xe5, 0x41, 0xc7, 0x6f, 0xe8, 0x6f, 0xc3, 0x5b, 0xea, 0xe8, 0x86, 0x2f, 0x97, 0x3c, 0xbd, 0x1e, 0x67, 0x14, 0xea, 0xa6, 0x88, 0xf4, 0x80, 0x9e, 0xd0, 0x76, 0xfd, 0x6f, 0xca, 0x76, 0xfb, 0x58, 0xcc, 0xa0, 0xa4, 0x26, 0xfe, 0x69, 0xc1, 0xd4, 0x5c, 0x40, 0x1c, 0x18, 0x86, 0x18, 0x39, 0xa8, 0x5b, 0x2c, 0x93, 0x15, 0xdf, 0x6a, 0xd2, 0x20, 0x2f, 0x44, 0x46, 0x32, 0x86, 0x75, 0xab, 0x5f, 0x96, 0xe2, 0xa2, 0x82, 0xd8, 0x8f, 0x11, 0xc3, 0x4e, 0xaf, 0x60, 0x6e, 0xe3, 0xd5, 0x92, 0x5d, 0x41, 0xa0, 0x1e, 0x6, 0xca, 0xd9, 0x52, 0x23, 0x6, 0xa5, 0xea, 0x6e, 0x4e, 0x15, 0x61, 0x34, 0x9a, 0x9b, 0x38, 0x23, 0xe, 0x80, 0x80, 0xd8, 0xdb, 0x20, 0x9d, 0xb3, 0x8c, 0x2b, 0x16, 0xf7, 0x72, 0x25, 0x2e, 0x97, 0xd7, 0x19, 0x8d, 0xb, 0x90, 0xfa, 0x6d, 0xf1, 0x17, 0x1, 0xf8, 0xc1, 0x23, 0x25, 0xd5, 0x80, 0x5c, 0xee, 0x8, 0xfa, 0x5d, 0xe9, 0x73, 0x2d, 0xfe, 0xb7, 0x1, 0xa0, 0x8, 0x70, 0x45, 0x4b, 0x21, 0x86, 0x4b, 0x9a, 0xb1, 0x54, 0xbd, 0x5a, 0x66, 0xec, 0x96, 0x8b, 0xbc, 0x2e, 0xfc, 0xa3, 0xbc, 0x94, 0x21, 0xbb, 0xe5, 0xba, 0x87, 0x33, 0x48, 0x73, 0xdb, 0x25, 0x11, 0x35, 0x33, 0x3d, 0x84, 0xe0, 0x29, 0x87, 0x99, 0x6b, 0x64, 0x3c, 0x85, 0xe0, 0x28, 0x44, 0xfb, 0x38, 0xf1, 0x58, 0x3, 0xef, 0xd8, 0x9c, 0xde, 0xf2, 0x22, 0x60, 0x7e, 0x5d, 0xd2, 0x9c, 0x4d, 0xbe, 0x30, 0xb9, 0x17, 0x93, 0x5f, 0xfb, 0xc3, 0xd1, 0xe0, 0xfc, 0x6c, 0x70, 0xf6, 0x61, 0xf2, 0xae, 0xff, 0xb1, 0xf7, 0xeb, 0xe0, 0x7c, 0xb8, 0x26, 0x9b, 0xae, 0x4d, 0xeb, 0xde, 0xe5, 0xf8, 0x7c, 0x72, 0x79, 0xf1, 0x61, 0xd8, 0x3b, 0x29, 0x23, 0xf7, 0xb6, 0x1a, 0x7c, 0xd4, 0x9f, 0xc, 0x7b, 0x9f, 0x20, 0x88, 0xd5, 0xfc, 0xbe, 0xe5, 0x31, 0x94, 0x6b, 0x33, 0x7f, 0x59, 0xb2, 0x8c, 0x43, 0x7d, 0x98, 0xa4, 0xae, 0x58, 0x30, 0xf7, 0x9b, 0xd, 0x91, 0x7c, 0xae, 0x74, 0xe, 0xd6, 0x18, 0xb3, 0xdb, 0x7e, 0x44, 0xe5, 0x51, 0xca, 0xee, 0x3a, 0x41, 0x98, 0x25, 0xe0, 0xfa, 0x9b, 0x88, 0x48, 0x8, 0x30, 0x83, 0x33, 0x99, 0xf8, 0x40, 0xd4, 0xc9, 0xd4, 0x9c, 0x4a, 0x71, 0x58, 0x8b, 0xce, 0x1b, 0x3b, 0x90, 0xa5, 0xfa, 0x4a, 0x2, 0xe7, 0x69, 0xb2, 0xf2, 0x95, 0x12, 0x82, 0x21, 0x10, 0x9b, 0xc5, 0x62, 0xb3, 0x67, 0x79, 0xea, 0x30, 0x21, 0xca, 0x1f, 0xd0, 0x74, 0x65, 0x90, 0x66, 0x64, 0xf8, 0x7d, 0x69, 0xa0, 0x33, 0xa1, 0x2c, 0xa2, 0x85, 0x12, 0xe8, 0x89, 0xca, 0x58, 0x4a, 0x4, 0x94, 0x57, 0x9d, 0xe5, 0x2a, 0xcf, 0x58, 0x79, 0x1f, 0xca, 0x91, 0x72, 0x67, 0x42, 0xb1, 0xb7, 0x64, 0x60, 0xea, 0x83, 0xf3, 0xc, 0xd0, 0xa5, 0x10, 0xf8, 0x57, 0xcc, 0x88, 0x61, 0x36, 0x47, 0x22, 0x3d, 0x3a, 0xa6, 0x67, 0x1d, 0x1f, 0x3b, 0xa, 0xd8, 0xa0, 0xc7, 0x21, 0x65, 0x57, 0x49, 0x1a, 0x70, 0x8a, 0x3, 0x96, 0x55, 0x42, 0xbc, 0xa0, 0x0, 0x24, 0x8a, 0x5, 0x91, 0x9a, 0x38, 0x1c, 0x96, 0x9b, 0xf5, 0x41, 0xa4, 0x9e, 0xd7, 0x22, 0x44, 0x29, 0xc6, 0xdd, 0x15, 0x87, 0xe9, 0x92, 0x91, 0x80, 0x8d, 0x8f, 0x42, 0xf4, 0xb2, 0xe2, 0xd8, 0x10, 0x9d, 0x55, 0xca, 0xa2, 0xc7, 0xb8, 0x5c, 0xc5, 0x62, 0x12, 0xe7, 0x19, 0x42, 0xdf, 0xe8, 0x51, 0xa1, 0xd6, 0x2d, 0xd4, 0x61, 0x87, 0xff, 0xa6, 0x29, 0x9, 0x41, 0x7c, 0x10, 0x5c, 0x4, 0xb2, 0xf3, 0xb9, 0x24, 0xec, 0xef, 0x39, 0xbf, 0xa5, 0x9, 0xc4, 0x89, 0x8a, 0x70, 0x4e, 0xc5, 0xd1, 0xb1, 0x91, 0x1, 0xd6, 0x6a, 0x5c, 0x3a, 0x0, 0x3f, 0x98, 0xd, 0xaa, 0x43, 0xfa, 0x8, 0x62, 0xbe, 0x9b, 0xae, 0xd1, 0xa5, 0xc4, 0xfa, 0xdb, 0x4b, 0xbd, 0x4b, 0x62, 0x46, 0x5a, 0xba, 0xc2, 0xf5, 0xe4, 0x35, 0x59, 0x21, 0x26, 0x95, 0x9e, 0x64, 0x30, 0x37, 0x62, 0xef, 0x6, 0xd6, 0x95, 0x6a, 0xe2, 0x8f, 0x7e, 0xc2, 0x90, 0x31, 0xee, 0xe, 0xce, 0x23, 0x17, 0xde, 0x1, 0x5a, 0x51, 0x13, 0xff, 0x24, 0x73, 0xa, 0x21, 0x90, 0x75, 0x23, 0x87, 0x5, 0x8d, 0x13, 0x29, 0xfc, 0x55, 0x2b, 0x92, 0xab, 0xfb, 0xbe, 0x40, 0x1e, 0x58, 0xec, 0x52, 0xb2, 0x21, 0x5d, 0x68, 0x1d, 0xc2, 0x90, 0xad, 0x15, 0xb4, 0xcb, 0x7c, 0xdb, 0x7c, 0xed, 0x79, 0x5, 0xc7, 0x78, 0x6b, 0x21, 0x8a, 0xe8, 0x1, 0x6d, 0xc3, 0x79, 0x3f, 0x1a, 0xa0, 0x63, 0x24, 0xc7, 0xcc, 0x61, 0xda, 0x38, 0x50, 0x25, 0xd4, 0xee, 0x31, 0x30, 0x35, 0x80, 0x6e, 0x83, 0x64, 0x70, 0x88, 0x53, 0xac, 0x56, 0xae, 0x93, 0x8, 0x90, 0xe3, 0x0, 0x64, 0xe7, 0x3c, 0xbd, 0x96, 0x98, 0xd1, 0x4f, 0x73, 0x35, 0x7, 0x8e, 0x92, 0xd1, 0x8, 0x6e, 0x85, 0xb8, 0x61, 0x21, 0xec, 0xe3, 0x2e, 0x55, 0xf8, 0xb5, 0xc0, 0x85, 0x82, 0x18, 0x46, 0x88, 0x9a, 0x19, 0xcf, 0xb1, 0xea, 0xf, 0xd6, 0x65, 0xbb, 0x15, 0x37, 0xcc, 0x46, 0x2c, 0x1b, 0xfc, 0xbb, 0xcf, 0x15, 0xd9, 0x4a, 0xb3, 0xeb, 0x83, 0x54, 0x2d, 0x6c, 0xc6, 0xcb, 0xd6, 0x53, 0xa5, 0xd9, 0x75, 0xbe, 0x40, 0xa4, 0xd, 0x73, 0x31, 0x8c, 0xe4, 0xd0, 0x6b, 0x88, 0x4b, 0xb3, 0xb7, 0x94, 0xa4, 0x58, 0x76, 0x4b, 0x93, 0xd1, 0x92, 0x45, 0x5b, 0x12, 0x14, 0x37, 0x4d, 0xc3, 0x65, 0x2c, 0xa9, 0x52, 0x2c, 0x4b, 0xdf, 0x92, 0xff, 0x7b, 0xf4, 0xa7, 0x17, 0x7f, 0x7a, 0xfb, 0xfa, 0x3f, 0xff, 0xfa, 0xe6, 0xe8, 0x8f, 0x7f, 0xfb, 0xeb, 0xeb, 0xa3, 0x3f, 0xfe, 0xed, 0x9f, 0xaf, 0x3b, 0x6f, 0xde, 0xfc, 0xd7, 0xcb, 0x17, 0x7f, 0x7a, 0xfb, 0x7f, 0xba, 0xf8, 0x87, 0x37, 0x9d, 0x3f, 0xfe, 0xd7, 0xcb, 0x3f, 0xc9, 0xff, 0xb6, 0xe9, 0x50, 0x96, 0x73, 0x5a, 0xac, 0x9e, 0x76, 0xf, 0xa3, 0x34, 0x11, 0x72, 0xb8, 0x3f, 0x64, 0x41, 0x55, 0x34, 0x67, 0x6, 0x7, 0xbf, 0x0, 0x3b, 0xc1, 0xbe, 0x2c, 0x33, 0x28, 0x56, 0x47, 0x68, 0x78, 0xce, 0x6c, 0x29, 0xa2, 0x39, 0xf9, 0x17, 0x92, 0x92, 0x9f, 0xdc, 0x76, 0x91, 0x7f, 0xc1, 0x5, 0xf9, 0xaf, 0xee, 0x80, 0x2d, 0xa7, 0x6, 0xb1, 0xc7, 0xd4, 0xfa, 0x8, 0x68, 0x1f, 0x3e, 0xb7, 0x48, 0x8c, 0x70, 0xa6, 0xff, 0x60, 0x99, 0xd0, 0x7c, 0x79, 0xc1, 0xa5, 0x84, 0x7c, 0x14, 0xd7, 0xb9, 0xa9, 0xb5, 0xc4, 0xb3, 0x2, 0xcc, 0xfe, 0x3b, 0xa1, 0xe6, 0xfe, 0x1b, 0x28, 0x4e, 0x9, 0x7d, 0x42, 0xfa, 0xc1, 0x94, 0x1, 0xff, 0x4e, 0xd9, 0x35, 0x56, 0xb9, 0x4, 0x18, 0xb, 0x6d, 0x67, 0x64, 0x79, 0x8a, 0xe1, 0xc3, 0x96, 0x8a, 0x18, 0xcd, 0x98, 0xc, 0xf2, 0x1c, 0x24, 0x8b, 0x44, 0x1a, 0x93, 0x29, 0x9b, 0x69, 0x23, 0x41, 0xab, 0x2, 0x16, 0xe4, 0xbf, 0x84, 0xb8, 0xfa, 0x3e, 0x4, 0xcc, 0x30, 0x6b, 0x84, 0xa9, 0x88, 0x19, 0x79, 0x43, 0xe6, 0x22, 0xcf, 0x90, 0x2b, 0xe0, 0xac, 0xc4, 0xc, 0x17, 0x78, 0x7, 0xa2, 0x13, 0x36, 0x5d, 0xcb, 0xbe, 0x6c, 0x5, 0x5f, 0x6, 0xd2, 0xd9, 0xdc, 0x3a, 0xfd, 0x57, 0xc4, 0xa7, 0x93, 0x50, 0xbc, 0xc6, 0x76, 0x3e, 0xcd, 0x15, 0xa1, 0xbe, 0xcf, 0x37, 0x7f, 0x24, 0xb, 0x9e, 0x82, 0xdc, 0xa8, 0xf4, 0xec, 0xfb, 0xfc, 0xf2, 0xe5, 0xed, 0x9b, 0x3f, 0xbe, 0x7d, 0xfd, 0xba, 0x4b, 0x7a, 0xc5, 0x79, 0xfe, 0xfc, 0x3f, 0x48, 0x4c, 0x57, 0x32, 0x9c, 0x68, 0x79, 0x96, 0xbe, 0x97, 0x9f, 0x5f, 0xff, 0xfc, 0xf3, 0xd1, 0xeb, 0x9f, 0x8f, 0xde, 0xfc, 0xeb, 0xf8, 0xf5, 0xeb, 0xb7, 0xf0, 0x7f, 0xff, 0x9b, 0xbc, 0xa0, 0xb, 0x91, 0x5e, 0x5b, 0x54, 0x75, 0x4d, 0x43, 0x2f, 0xeb, 0xa6, 0x6d, 0x70, 0x5e, 0xdc, 0xbc, 0x7f, 0xe7, 0xbb, 0xd5, 0x13, 0xe8, 0x90, 0x3f, 0xc0, 0x8a, 0x25, 0x26, 0x2a, 0xfc, 0xfc, 0xbb, 0xda, 0x55, 0xd9, 0x9, 0xfc, 0xfc, 0x7a, 0xfc, 0xfa, 0xf, 0x6f, 0x7f, 0xfe, 0x1d, 0x4c, 0x80, 0xa7, 0x52, 0x31, 0x6a, 0x8, 0xe3, 0x94, 0xa7, 0x37, 0x5b, 0xde, 0x78, 0x67, 0x44, 0xdf, 0xb2, 0xf6, 0xa5, 0xf, 0xf4, 0x38, 0x93, 0xcf, 0x61, 0x4b, 0xcf, 0xc3, 0xa6, 0x7a, 0xae, 0xff, 0x2e, 0xa6, 0x5b, 0xf5, 0xf5, 0xce, 0x34, 0xaa, 0xba, 0xeb, 0xb7, 0xea, 0xc6, 0x3a, 0xe2, 0x9b, 0xbc, 0x36, 0x5b, 0x75, 0x56, 0x74, 0xcc, 0x6c, 0x32, 0xea, 0x75, 0x13, 0x7, 0x58, 0x53, 0xa, 0xc5, 0x2f, 0x2a, 0x7b, 0x5d, 0x32, 0x50, 0xa5, 0x1a, 0xaf, 0xd5, 0x3a, 0x37, 0x80, 0x81, 0x6a, 0x61, 0xee, 0x41, 0x70, 0xfa, 0xa9, 0xdb, 0x84, 0x6, 0x73, 0x85, 0xb, 0xbd, 0x77, 0x8b, 0xf7, 0xd2, 0x69, 0x34, 0x3d, 0xb2, 0xa0, 0x37, 0x50, 0xf5, 0x14, 0xf1, 0x8e, 0x11, 0xcf, 0xd1, 0x25, 0x3d, 0x4, 0xba, 0xcf, 0xbb, 0x60, 0x93, 0x2c, 0x92, 0x53, 0x44, 0xa5, 0xbe, 0xe4, 0xc5, 0xa1, 0xf4, 0xaf, 0x41, 0xff, 0x8, 0x1f, 0x67, 0x57, 0x44, 0x71, 0x43, 0xcc, 0x14, 0x43, 0x37, 0x5, 0x64, 0x58, 0xd8, 0xe, 0x2, 0x86, 0xe9, 0xc6, 0xc7, 0x3b, 0x70, 0xcb, 0x23, 0x6, 0xb0, 0xe6, 0xd4, 0x93, 0xb6, 0x3b, 0xdf, 0x2d, 0x69, 0xbc, 0x7d, 0xc9, 0x3d, 0x4b, 0x75, 0x2d, 0xb2, 0xfb, 0xb2, 0x3c, 0xdd, 0xf8, 0x55, 0xb1, 0xfa, 0x5, 0x64, 0xc1, 0x10, 0x2c, 0xa2, 0x6c, 0x7, 0xa, 0x16, 0xf7, 0xae, 0x74, 0x71, 0x5a, 0x2e, 0xee, 0x37, 0x31, 0xdd, 0x6e, 0x1e, 0x1, 0xd1, 0x6, 0x53, 0x2, 0xd4, 0x55, 0x75, 0xc4, 0x53, 0xbc, 0xc0, 0xba, 0xdb, 0x50, 0xd8, 0xd8, 0xbf, 0xc9, 0x42, 0x31, 0x3e, 0xad, 0x92, 0xb0, 0x4c, 0xd3, 0x6e, 0x80, 0xca, 0x8d, 0x58, 0xf9, 0xda, 0xc6, 0x15, 0xb3, 0x0, 0x49, 0xe9, 0x5, 0x94, 0x16, 0x76, 0xb5, 0x3e, 0x3b, 0xe6, 0x31, 0xbe, 0x63, 0xca, 0x8a, 0x76, 0x8, 0x53, 0xd1, 0xcb, 0x60, 0xc8, 0x31, 0x42, 0x82, 0xfa, 0x5b, 0xb5, 0xcc, 0x95, 0xee, 0xda, 0x2b, 0xe9, 0x4d, 0x26, 0xd4, 0x74, 0x5, 0xdb, 0xab, 0xa7, 0xa2, 0xe8, 0xd, 0x3, 0x64, 0x5b, 0x5a, 0x5e, 0x56, 0xcd, 0x15, 0xbf, 0x37, 0xaa, 0x72, 0x7b, 0x73, 0xcf, 0x64, 0x45, 0x20, 0x9, 0x91, 0x26, 0x22, 0x65, 0x65, 0xac, 0xf4, 0x60, 0xd1, 0x9f, 0xeb, 0x38, 0xfe, 0xc1, 0xd7, 0x6c, 0x8f, 0xe9, 0x40, 0x4b, 0x36, 0x69, 0xac, 0x43, 0x36, 0xdb, 0xda, 0x7b, 0xab, 0xdb, 0x4d, 0xfa, 0xa6, 0x35, 0xcb, 0x58, 0x1a, 0xb1, 0x4a, 0xe4, 0xe3, 0x20, 0xde, 0xb9, 0xe7, 0x61, 0xd0, 0x43, 0xd8, 0xfb, 0x29, 0x97, 0xca, 0xf2, 0x2b, 0x67, 0xf3, 0xee, 0xa, 0xde, 0xea, 0x2c, 0xd7, 0xc3, 0x27, 0xd1, 0x55, 0xe6, 0xa8, 0x27, 0x5e, 0xa9, 0xaa, 0xba, 0x3b, 0x9a, 0x20, 0x34, 0xd2, 0xe4, 0x99, 0x23, 0x76, 0xf7, 0x8c, 0xe9, 0x7b, 0x88, 0xba, 0xe7, 0x17, 0x45, 0x96, 0xf4, 0x1a, 0x73, 0x62, 0xc1, 0xd7, 0xd0, 0x31, 0x68, 0x83, 0xe0, 0x7f, 0x8, 0x3e, 0xa8, 0x71, 0x41, 0x78, 0x8, 0x41, 0xd8, 0x69, 0x83, 0xd7, 0x58, 0xf1, 0x32, 0x3c, 0xc0, 0x1d, 0xaf, 0x9, 0x5c, 0xda, 0x67, 0xb7, 0xeb, 0x37, 0x4, 0x38, 0xb6, 0x63, 0x6d, 0xbb, 0xee, 0x82, 0xe7, 0x5c, 0xa5, 0x8a, 0x70, 0x87, 0xc1, 0x32, 0x2f, 0xcc, 0xb1, 0xb8, 0xb, 0x25, 0x2a, 0xaa, 0x7e, 0xea, 0xab, 0x4, 0x6a, 0x5a, 0x9a, 0x52, 0xc9, 0xa3, 0xf0, 0x4d, 0x3, 0xd9, 0xbd, 0x9b, 0xff, 0x81, 0x77, 0x37, 0x28, 0xf9, 0xb0, 0xe3, 0xce, 0xee, 0x3f, 0xf, 0x52, 0x28, 0xd9, 0x77, 0x78, 0x32, 0xf5, 0x6b, 0x2c, 0x73, 0x84, 0xfb, 0x2a, 0xe4, 0xa6, 0xc7, 0x71, 0x55, 0x8e, 0x77, 0xde, 0x58, 0xd7, 0xc1, 0x3d, 0xec, 0x8, 0x62, 0x73, 0xba, 0x39, 0xda, 0x29, 0x1e, 0xfa, 0xf2, 0x16, 0xca, 0xd9, 0x7d, 0x2d, 0xa, 0xab, 0xe1, 0xda, 0x33, 0x91, 0x91, 0xeb, 0x0, 0x8c, 0xbd, 0x25, 0x43, 0x26, 0x41, 0x35, 0xbd, 0xc3, 0x9f, 0x42, 0xb1, 0xee, 0x9e, 0xdb, 0xae, 0x6a, 0x89, 0xf1, 0xbd, 0x99, 0xde, 0xe1, 0xe7, 0xde, 0x30, 0xd3, 0xef, 0x52, 0xe4, 0xda, 0x50, 0xaa, 0x4f, 0xa6, 0x2, 0x13, 0xc0, 0xad, 0xef, 0x5a, 0xf9, 0x50, 0xdb, 0x85, 0xf5, 0x28, 0xa0, 0x2d, 0x76, 0xbc, 0x61, 0x4f, 0x9a, 0x0, 0x43, 0xc3, 0xc9, 0xef, 0x3c, 0xe1, 0xe6, 0xfa, 0x6d, 0x7b, 0x92, 0x88, 0x9d, 0x99, 0x9e, 0x65, 0x3f, 0x55, 0xfb, 0xa0, 0x3a, 0xff, 0xbf, 0xec, 0xbd, 0x7b, 0x73, 0xdb, 0x48, 0x96, 0x27, 0xfa, 0xff, 0x7c, 0x8a, 0xbc, 0xde, 0xb8, 0x61, 0xb9, 0x96, 0xa2, 0x5d, 0xdd, 0x33, 0xb3, 0xb1, 0xba, 0x33, 0x1b, 0xc3, 0x92, 0xe8, 0x2a, 0x4e, 0xc9, 0x92, 0x9a, 0xa2, 0xca, 0x5d, 0x3b, 0x31, 0x21, 0x25, 0x81, 0xa4, 0x98, 0x6d, 0x10, 0x89, 0x42, 0x2, 0x92, 0xd9, 0x1d, 0xfd, 0xdd, 0x6f, 0xe4, 0x39, 0xf9, 0x6, 0x48, 0x82, 0xf, 0xd9, 0x2a, 0xb7, 0x14, 0xd1, 0xd1, 0x2e, 0x9, 0xc8, 0x17, 0x32, 0x4f, 0x9e, 0xe7, 0xef, 0xb7, 0xe2, 0xbb, 0x45, 0x59, 0xb7, 0x3b, 0x13, 0xe5, 0xca, 0x4a, 0x2c, 0xd6, 0x31, 0xca, 0xed, 0x80, 0x25, 0xdc, 0x8c, 0x3e, 0x13, 0x72, 0x4c, 0x46, 0x17, 0x67, 0xc3, 0x3f, 0xf, 0xcf, 0x6e, 0x7f, 0x19, 0x9c, 0xdf, 0xc, 0xd7, 0x83, 0xb7, 0xae, 0x78, 0x7c, 0x32, 0xfc, 0xf3, 0xa4, 0xcb, 0x73, 0x3f, 0xf, 0x7f, 0xfd, 0x78, 0x39, 0xee, 0xd4, 0xe4, 0xe8, 0xa2, 0x53, 0x8b, 0x67, 0x97, 0x37, 0x31, 0x1b, 0xed, 0x8a, 0x27, 0x7f, 0xb8, 0xbc, 0x3c, 0xef, 0xd4, 0xe2, 0x60, 0x32, 0x9c, 0x8c, 0x3e, 0x74, 0x6a, 0x53, 0xcf, 0xe7, 0xf6, 0x7c, 0x74, 0x3d, 0xd9, 0xee, 0xc8, 0x4, 0xa8, 0x4e, 0x31, 0xde, 0x2f, 0x85, 0x14, 0x18, 0x4b, 0x33, 0x80, 0x5b, 0x81, 0x1c, 0xd5, 0x92, 0x95, 0xc7, 0x25, 0xbb, 0xe7, 0xb2, 0x62, 0x25, 0x4b, 0xdf, 0x10, 0x9, 0x5b, 0xcd, 0x61, 0xd5, 0x60, 0xe0, 0xa5, 0x12, 0x84, 0x57, 0x92, 0x8c, 0xf2, 0x94, 0x7d, 0x66, 0x29, 0x70, 0x8a, 0x4f, 0x96, 0x85, 0x4f, 0xe4, 0xf, 0x4c, 0x51, 0x2f, 0x5b, 0x6b, 0xd3, 0x46, 0xf8, 0x7, 0xd8, 0x5a, 0x9a, 0x1d, 0xf6, 0xa8, 0x28, 0x59, 0xca, 0x66, 0x3c, 0xdf, 0x67, 0x57, 0x55, 0xa2, 0xa4, 0xf7, 0xec, 0x1a, 0xe4, 0xec, 0x41, 0xb6, 0x54, 0x27, 0x6c, 0x6c, 0x3d, 0x21, 0x1b, 0x11, 0x6d, 0xe, 0xbb, 0x85, 0x67, 0x86, 0xde, 0xab, 0x3f, 0x43, 0xe8, 0xa6, 0xb2, 0x93, 0x50, 0xc2, 0x3b, 0xce, 0x79, 0xfa, 0xba, 0xe6, 0xc7, 0x63, 0x3c, 0x9a, 0x83, 0xdf, 0x86, 0x6b, 0xe7, 0x7c, 0x1b, 0xff, 0xe5, 0x1a, 0x91, 0x8c, 0xd6, 0x6, 0x54, 0x81, 0x2a, 0x4d, 0x7b, 0x26, 0x59, 0xd9, 0xe4, 0xd1, 0xdb, 0xa9, 0xc7, 0x1d, 0x6c, 0x94, 0x8d, 0x8b, 0x8e, 0x39, 0x7e, 0x7b, 0x43, 0xa3, 0x97, 0xa2, 0x56, 0xfa, 0xfb, 0x29, 0x10, 0x7f, 0x74, 0x75, 0x71, 0x8d, 0xfd, 0x97, 0xdc, 0x72, 0x2a, 0x5b, 0x4d, 0x9a, 0x3c, 0xbb, 0x68, 0xea, 0xe4, 0x10, 0x29, 0x7c, 0x4a, 0x9, 0x6e, 0xac, 0x71, 0xd8, 0xdf, 0x6a, 0xb8, 0x24, 0xd, 0x63, 0xa5, 0xe3, 0xfa, 0x26, 0x57, 0xe, 0x82, 0x1c, 0xc0, 0x5a, 0x9e, 0xa6, 0x2c, 0xf5, 0x39, 0xec, 0x0, 0xab, 0x1e, 0x9e, 0xc5, 0x1e, 0x89, 0xeb, 0xd2, 0xcb, 0xa0, 0x43, 0x34, 0xaf, 0xdf, 0xc7, 0x9c, 0xd, 0xc3, 0x5f, 0x94, 0x27, 0xb8, 0x66, 0x7a, 0x65, 0x90, 0x89, 0xf2, 0xcc, 0xa7, 0xa7, 0x7, 0xdb, 0x79, 0x7a, 0x91, 0x9f, 0x5c, 0xd6, 0x53, 0x1d, 0x95, 0x68, 0x1b, 0x63, 0x74, 0xf8, 0x77, 0x15, 0xac, 0x28, 0x56, 0xe4, 0x93, 0xf8, 0xcb, 0x70, 0x64, 0x6b, 0xfd, 0x64, 0x51, 0xbe, 0x8e, 0x23, 0x1b, 0x3b, 0x1, 0xb2, 0x31, 0x3d, 0x3a, 0x1b, 0x35, 0xd6, 0x64, 0xa1, 0x90, 0x98, 0x88, 0x34, 0x41, 0x92, 0xcc, 0xea, 0x2c, 0x23, 0xae, 0x2b, 0xcc, 0x46, 0xe, 0x35, 0x2, 0x9d, 0xab, 0x23, 0x9, 0xfb, 0x5c, 0xb0, 0x5c, 0xaa, 0x6b, 0xaa, 0xac, 0x73, 0x25, 0x76, 0xc8, 0x82, 0x55, 0x25, 0x4f, 0x64, 0x9f, 0x7c, 0x64, 0xc8, 0x3, 0x24, 0x2b, 0x51, 0x90, 0x42, 0x14, 0x90, 0x42, 0x0, 0x7e, 0x4, 0x97, 0xa, 0xa9, 0x33, 0xff, 0x20, 0x59, 0x30, 0xc6, 0x9f, 0x7c, 0x1a, 0xbf, 0x2b, 0x2b, 0x9b, 0xb6, 0x76, 0x3, 0x38, 0x6e, 0xc1, 0x2b, 0xcd, 0xaa, 0xd, 0x70, 0x76, 0x36, 0x36, 0x7b, 0x20, 0x32, 0xa3, 0xb, 0x63, 0x63, 0x63, 0x3e, 0xd3, 0x46, 0x83, 0xed, 0xc5, 0xa7, 0x1d, 0x2d, 0xc4, 0x3e, 0x34, 0x78, 0xe5, 0x93, 0x18, 0xed, 0xfe, 0xc8, 0xe, 0x39, 0xeb, 0xb5, 0x38, 0x34, 0x5b, 0xce, 0x1c, 0x81, 0x71, 0x2e, 0x76, 0x48, 0x99, 0x7b, 0xad, 0x45, 0x22, 0xfa, 0x93, 0xd4, 0xf9, 0x55, 0xca, 0x36, 0xe2, 0x43, 0x22, 0x6a, 0xed, 0x2b, 0xd5, 0x8c, 0x7c, 0xa5, 0x64, 0xeb, 0x3, 0x2d, 0x21, 0x99, 0x12, 0xbb, 0x93, 0x7d, 0x32, 0xfc, 0x7c, 0x42, 0xce, 0x45, 0x42, 0x33, 0x1b, 0xf4, 0xee, 0x11, 0xc9, 0x53, 0x46, 0xd8, 0x6c, 0xc6, 0x92, 0xaa, 0xef, 0xd6, 0x4b, 0xc3, 0x5a, 0x1e, 0x44, 0x37, 0xdf, 0x2b, 0xf1, 0xee, 0xda, 0x51, 0x2d, 0xf9, 0xa9, 0x19, 0xa5, 0xfe, 0xe, 0x46, 0x70, 0xe1, 0x14, 0x3, 0xb9, 0xd5, 0x8e, 0xe, 0xb7, 0x3d, 0x58, 0xb0, 0xd2, 0x54, 0xef, 0x56, 0x30, 0xa9, 0xdc, 0xe9, 0xf4, 0x9, 0x2c, 0x13, 0xc1, 0x4, 0xd, 0xcc, 0x5, 0x7, 0x3d, 0xa7, 0x64, 0x9a, 0xac, 0xed, 0x91, 0x57, 0x4e, 0x6e, 0x37, 0x53, 0x45, 0xb7, 0xc9, 0xa, 0xd5, 0x44, 0xfe, 0x7b, 0x29, 0x6, 0xef, 0xb1, 0x8d, 0xd5, 0x8b, 0x2e, 0x16, 0x90, 0x56, 0x0, 0x49, 0xe7, 0x7a, 0xf7, 0x68, 0x66, 0x27, 0x4a, 0xb2, 0x68, 0x3, 0x61, 0xb6, 0xc9, 0x2b, 0x35, 0xae, 0x57, 0x7d, 0xcc, 0xc9, 0x67, 0x4b, 0x92, 0xf2, 0x14, 0xf5, 0x3d, 0x48, 0x99, 0xd3, 0x1f, 0x6b, 0xce, 0xcc, 0xe5, 0xe2, 0x53, 0xe1, 0xff, 0x7e, 0x78, 0xb2, 0x6, 0x0, 0xab, 0x7a, 0xac, 0xcd, 0x5f, 0x93, 0x58, 0xf1, 0x5d, 0x9d, 0x73, 0x34, 0x75, 0xbf, 0xd3, 0x83, 0x74, 0x49, 0xb9, 0xec, 0x73, 0x21, 0x20, 0x2b, 0x77, 0xce, 0x72, 0xb0, 0x77, 0x78, 0x7e, 0xff, 0x16, 0xad, 0x66, 0x9f, 0xba, 0x5f, 0x8b, 0x18, 0xe4, 0x12, 0xdb, 0x72, 0x5d, 0xf8, 0xd6, 0x3b, 0x7a, 0x90, 0x93, 0xd1, 0x99, 0x2e, 0x4a, 0xe0, 0xd2, 0xd4, 0x33, 0x24, 0x31, 0xdd, 0x1a, 0x74, 0x57, 0x89, 0x44, 0x64, 0xa3, 0x5c, 0x56, 0x34, 0x4f, 0xd8, 0xe1, 0x90, 0xb6, 0x31, 0x54, 0x68, 0x7b, 0xe6, 0xba, 0x3, 0xac, 0xd9, 0x30, 0xdd, 0x2a, 0xd9, 0xe6, 0x9d, 0x2c, 0x3d, 0xbc, 0x50, 0xff, 0x99, 0xb2, 0x4c, 0xe4, 0xf7, 0x32, 0x62, 0xb1, 0xea, 0x30, 0x50, 0x7d, 0x4e, 0xc1, 0x49, 0xb1, 0xf1, 0xe1, 0xa9, 0x48, 0xf7, 0x53, 0xc5, 0x1b, 0xdc, 0x7a, 0x9d, 0x99, 0xa2, 0xe7, 0x8c, 0x88, 0x82, 0xfe, 0x56, 0x33, 0x2, 0xe0, 0xcd, 0x6, 0xa0, 0x19, 0x30, 0xca, 0xdd, 0xa2, 0x60, 0xa6, 0xa3, 0x5b, 0xb8, 0x65, 0x61, 0xb8, 0x4e, 0xc3, 0xe5, 0x62, 0x9f, 0xab, 0x92, 0x26, 0x4a, 0x24, 0x59, 0x2f, 0x48, 0x41, 0x93, 0x4f, 0xe8, 0xe4, 0x70, 0x99, 0xd8, 0x86, 0x1a, 0xcf, 0xf4, 0xc6, 0x73, 0xb8, 0x26, 0xa0, 0x6, 0x20, 0x5f, 0x6e, 0x62, 0xde, 0x3d, 0x3a, 0x3e, 0x26, 0xb4, 0xe0, 0xc7, 0x19, 0x24, 0x5d, 0x9e, 0x90, 0x44, 0x94, 0xec, 0xe4, 0xe4, 0xdd, 0xf7, 0xff, 0xfc, 0xaf, 0x27, 0x27, 0x34, 0x5f, 0xfe, 0x7b, 0xca, 0x25, 0x90, 0xd6, 0x87, 0x43, 0xa3, 0xbc, 0xe8, 0xa7, 0xec, 0xe1, 0x6d, 0x2e, 0xaa, 0x63, 0xa5, 0x2a, 0x33, 0xb5, 0x57, 0x4e, 0x40, 0x79, 0xa5, 0x79, 0x65, 0xb5, 0x5a, 0xf6, 0xb9, 0x52, 0x7a, 0x6e, 0xc0, 0x77, 0xcc, 0xe0, 0x3, 0x69, 0x55, 0xf6, 0xf8, 0xf8, 0x8d, 0x3e, 0x4d, 0xe, 0x64, 0xbb, 0xe3, 0x51, 0x42, 0x92, 0xd5, 0xed, 0x77, 0x39, 0x1e, 0x28, 0x48, 0x30, 0x34, 0x27, 0xfa, 0x58, 0x26, 0xa2, 0x60, 0x29, 0xa9, 0x73, 0xfe, 0x5b, 0xcd, 0x72, 0x26, 0xa5, 0x3b, 0x70, 0x98, 0x29, 0xde, 0xf7, 0x4e, 0x30, 0xe6, 0x15, 0x6e, 0xdd, 0xad, 0xfe, 0xbb, 0x55, 0x0, 0x4c, 0x70, 0x90, 0xde, 0x33, 0x53, 0x2e, 0x53, 0x9a, 0x9a, 0xe3, 0xb6, 0xae, 0x43, 0xf7, 0x98, 0xc1, 0x7, 0xd7, 0x69, 0x8f, 0x36, 0xcf, 0x3e, 0x78, 0xe9, 0x3, 0xab, 0x98, 0xea, 0x33, 0x86, 0x31, 0xef, 0xea, 0x6e, 0x11, 0x39, 0x54, 0x17, 0x81, 0x16, 0xd2, 0xc8, 0x77, 0x19, 0x54, 0x15, 0x5b, 0x14, 0x6d, 0xbe, 0x2b, 0x9d, 0xb6, 0xdd, 0xf1, 0xd0, 0x9c, 0x8a, 0x1a, 0x9, 0xf9, 0x83, 0xbb, 0x4a, 0x49, 0x1d, 0x14, 0x27, 0x80, 0x4c, 0x3e, 0x65, 0xf7, 0x50, 0x79, 0xe5, 0xd5, 0xa2, 0x50, 0xec, 0xdf, 0x55, 0xfe, 0xf8, 0xc5, 0x65, 0x15, 0x95, 0x9f, 0xe2, 0xda, 0x25, 0x75, 0xcf, 0x43, 0xfd, 0xa, 0x96, 0x4c, 0x99, 0xf7, 0x45, 0x2, 0xe6, 0x3f, 0x68, 0x27, 0x40, 0x74, 0x6e, 0xeb, 0x5a, 0x54, 0x23, 0xe, 0x73, 0xdd, 0x56, 0xac, 0x2c, 0xf4, 0xaa, 0x86, 0xcd, 0x17, 0x75, 0xa9, 0x6e, 0xf, 0x9d, 0x8a, 0x6c, 0x41, 0xee, 0x29, 0x28, 0x6b, 0x8d, 0x82, 0xd3, 0xf0, 0xdd, 0x95, 0x67, 0xf0, 0xfb, 0x93, 0x93, 0x99, 0x28, 0xa7, 0x3c, 0x4d, 0x59, 0x7e, 0xc, 0xba, 0xe2, 0x8a, 0xf3, 0xb8, 0xe6, 0x4c, 0x5e, 0x98, 0x64, 0x76, 0x28, 0x61, 0x92, 0x90, 0xd0, 0x4a, 0x72, 0x41, 0x24, 0xcb, 0x31, 0xcc, 0x69, 0xf1, 0xcb, 0xfb, 0xf6, 0x38, 0xe2, 0x8f, 0xd1, 0xab, 0x6b, 0x9e, 0x57, 0x7f, 0xfc, 0xc3, 0xda, 0x6d, 0x58, 0xb2, 0x8c, 0x3d, 0xa8, 0x93, 0xef, 0x2f, 0x90, 0x5d, 0x13, 0x78, 0xd5, 0x46, 0xff, 0x43, 0x97, 0xda, 0xb6, 0xf9, 0xd6, 0xe6, 0xfb, 0x8f, 0x59, 0xa5, 0xce, 0x91, 0xc8, 0x27, 0xd5, 0xd3, 0x97, 0x5d, 0x4c, 0x69, 0xfa, 0x3, 0xcf, 0x69, 0xc9, 0xbb, 0x57, 0x41, 0xff, 0xe0, 0x5e, 0x71, 0xd7, 0x87, 0xce, 0xbd, 0xc4, 0xac, 0x2b, 0x9a, 0x5d, 0xab, 0xcd, 0xe0, 0x37, 0xd8, 0x56, 0x45, 0x3a, 0x18, 0x9f, 0xfe, 0x34, 0xfa, 0x65, 0x70, 0x7e, 0x7b, 0x3d, 0x19, 0x4c, 0xd6, 0xd1, 0x2f, 0x46, 0xf, 0x9e, 0x8d, 0xae, 0x7, 0x3f, 0x34, 0x9, 0x54, 0xa2, 0xa7, 0x86, 0x17, 0xf1, 0x43, 0x5d, 0x84, 0xd9, 0x68, 0x46, 0xea, 0xdc, 0x95, 0x56, 0x1e, 0xad, 0x1e, 0xe3, 0x1b, 0x25, 0xe3, 0x72, 0x53, 0xb1, 0x61, 0x68, 0x47, 0xc, 0x9d, 0x72, 0xc0, 0x25, 0xb0, 0xa1, 0x60, 0xae, 0xb1, 0x7a, 0x37, 0x25, 0xdf, 0x28, 0x84, 0x5d, 0x7c, 0xe0, 0x65, 0xcd, 0x77, 0x5a, 0xf3, 0xe6, 0x2, 0x76, 0x59, 0x76, 0x8c, 0x6c, 0x46, 0x11, 0xf3, 0x41, 0xc6, 0xa9, 0x3c, 0x50, 0x54, 0xb2, 0x63, 0x8, 0x9, 0x15, 0x27, 0x54, 0x35, 0x4c, 0xd8, 0x88, 0xaa, 0x61, 0xf4, 0x43, 0x91, 0xb4, 0x43, 0x65, 0x7e, 0xa7, 0x58, 0x84, 0xec, 0xb2, 0xd9, 0x2e, 0x6, 0x1f, 0x86, 0xd7, 0x57, 0x83, 0xd3, 0xe1, 0xc6, 0xdd, 0x16, 0x3f, 0x39, 0x1e, 0xfe, 0x38, 0xba, 0x9e, 0xc, 0x9b, 0x14, 0x91, 0xf1, 0x83, 0x67, 0xc3, 0xab, 0xf1, 0xf0, 0xb4, 0x85, 0xcf, 0xa9, 0xf9, 0x60, 0xcc, 0xd9, 0xb4, 0xd, 0x8b, 0x91, 0xbf, 0xfc, 0x9b, 0x9a, 0x10, 0x8f, 0x39, 0x2b, 0x87, 0xb, 0xca, 0xb3, 0x8d, 0x8f, 0xc6, 0xc, 0x2c, 0x4f, 0xba, 0x6b, 0x6, 0xe4, 0x13, 0x5b, 0x1e, 0x63, 0xb9, 0xef, 0x42, 0xed, 0x20, 0xa8, 0x9a, 0x5d, 0xea, 0x2d, 0xd, 0xbe, 0xd, 0x7d, 0xad, 0xf5, 0xb7, 0xb1, 0xea, 0x12, 0x5a, 0x50, 0x38, 0x47, 0xd1, 0xa0, 0xb6, 0x36, 0x4e, 0x82, 0x3d, 0x7b, 0x7b, 0xea, 0x35, 0xbb, 0xd2, 0x4a, 0x19, 0x64, 0x59, 0xd0, 0xbf, 0xad, 0x83, 0x84, 0x76, 0xc, 0x4d, 0x7d, 0x40, 0x3b, 0xb2, 0xe0, 0xd5, 0x21, 0x87, 0x9, 0xbe, 0xe1, 0xd5, 0x3, 0xb4, 0xf, 0xfb, 0x3c, 0xfb, 0x38, 0x8, 0x77, 0x94, 0xf4, 0x28, 0xaf, 0x57, 0x67, 0x10, 0x6d, 0xc7, 0xaf, 0xf4, 0x71, 0xce, 0xa0, 0xfa, 0xcc, 0xa4, 0x24, 0xa5, 0x3e, 0x7d, 0x75, 0xc9, 0x3c, 0xf6, 0x7e, 0xa1, 0xcb, 0x79, 0xec, 0x92, 0x79, 0x44, 0x3c, 0x79, 0xb6, 0x4, 0x8a, 0xa4, 0x58, 0x21, 0xab, 0x10, 0x85, 0xa4, 0xe4, 0x19, 0xe0, 0x92, 0x64, 0x68, 0x8f, 0xcd, 0x18, 0x85, 0x2, 0x7f, 0x8e, 0x21, 0x0, 0x3, 0x95, 0xd0, 0x23, 0x52, 0x90, 0x47, 0x34, 0x2, 0xef, 0x95, 0xaa, 0xc6, 0x2b, 0xa8, 0x1a, 0xba, 0x9f, 0x93, 0x8a, 0xde, 0xb7, 0xc8, 0xaa, 0xe0, 0xbb, 0x6f, 0xeb, 0xcd, 0xa6, 0xf7, 0xac, 0xb4, 0x50, 0x82, 0x15, 0x2d, 0xab, 0xad, 0x57, 0x72, 0x52, 0xba, 0x5a, 0xf8, 0xe6, 0x3e, 0xc2, 0x1e, 0xa2, 0xe2, 0x25, 0x3f, 0x4b, 0x25, 0x4f, 0xd0, 0x48, 0x39, 0x74, 0xbf, 0xaa, 0x65, 0x6d, 0x16, 0xda, 0x16, 0xe8, 0xd3, 0x75, 0x47, 0xdb, 0xfa, 0xc3, 0xe8, 0xc7, 0x4f, 0x8c, 0x96, 0xd5, 0x94, 0xd1, 0x36, 0xeb, 0x68, 0xbf, 0x4e, 0x75, 0x74, 0x65, 0x6e, 0x3b, 0xb0, 0xed, 0x18, 0xff, 0xe5, 0x55, 0x29, 0xa6, 0x19, 0x5b, 0xc8, 0xe8, 0xf6, 0x3d, 0xf4, 0x40, 0xac, 0xbb, 0xb4, 0xd0, 0xfd, 0x35, 0xf2, 0x4b, 0x1a, 0xba, 0x3b, 0x20, 0x23, 0x1d, 0x7a, 0x1c, 0x5, 0xad, 0x65, 0xd3, 0x3b, 0x47, 0xf0, 0xf2, 0xd5, 0x55, 0x3d, 0x3, 0x6b, 0x53, 0x1e, 0x7c, 0xcb, 0xb9, 0xca, 0x21, 0x67, 0xb8, 0x46, 0x9b, 0xe1, 0x4a, 0x64, 0x99, 0xf1, 0x6b, 0x5f, 0xe6, 0xd7, 0xf3, 0xba, 0x4a, 0xc5, 0x63, 0xcb, 0x5, 0xb9, 0x9d, 0xf8, 0xda, 0x34, 0x30, 0x24, 0x41, 0x2, 0x4f, 0x50, 0x82, 0x9d, 0xeb, 0xd0, 0xaf, 0xa8, 0x2b, 0x18, 0xb5, 0x59, 0x34, 0x56, 0x92, 0x42, 0x64, 0x19, 0xd4, 0x9f, 0x49, 0x3d, 0xb8, 0x8, 0x6d, 0xe0, 0xa3, 0x52, 0x27, 0x59, 0xe, 0x76, 0x67, 0xcf, 0xa7, 0xf, 0x84, 0x48, 0xa5, 0x6e, 0x9e, 0xe9, 0x66, 0xd4, 0x85, 0x69, 0xe2, 0xa5, 0x58, 0x29, 0xc9, 0xf2, 0xd4, 0x6, 0x46, 0xd1, 0x75, 0xf8, 0x33, 0x33, 0x39, 0x4, 0x3c, 0xc2, 0x6b, 0x51, 0x6d, 0x18, 0x3f, 0x88, 0xa6, 0x31, 0xa3, 0x59, 0x46, 0xcc, 0xaa, 0xe9, 0x98, 0xb5, 0xc5, 0x4d, 0x80, 0x72, 0xe1, 0x46, 0xdb, 0xda, 0xc1, 0xa6, 0x9a, 0x82, 0x11, 0x62, 0x88, 0x36, 0x76, 0x7, 0x60, 0x1e, 0x2f, 0x29, 0x75, 0x40, 0xac, 0x8f, 0xd3, 0xc4, 0x38, 0x6b, 0x46, 0xef, 0x1d, 0xd5, 0x9c, 0x99, 0x8d, 0x6, 0x30, 0xa1, 0x99, 0x92, 0x6a, 0x38, 0x59, 0x30, 0x9f, 0x55, 0xe3, 0xe4, 0xbe, 0xa4, 0x9, 0x9b, 0xd5, 0x59, 0x16, 0xc1, 0x96, 0x94, 0x14, 0x6b, 0x9c, 0xe7, 0x34, 0xb7, 0x55, 0x7c, 0x6a, 0xe9, 0x95, 0x4e, 0x21, 0xa, 0x96, 0xaf, 0x5b, 0x7c, 0xf5, 0x27, 0x56, 0xe, 0xea, 0x4a, 0xc8, 0x84, 0x66, 0x3c, 0xbf, 0x3f, 0xf8, 0xe1, 0x81, 0xe, 0x8, 0x75, 0x3d, 0x44, 0x7b, 0xf7, 0x54, 0x13, 0xca, 0x3d, 0x91, 0x18, 0xb3, 0x7c, 0x75, 0x47, 0x7a, 0xbf, 0x56, 0xe2, 0xd8, 0xfb, 0x53, 0x9d, 0x1b, 0x6, 0xc7, 0x7, 0x8e, 0xe8, 0x40, 0xa5, 0xc8, 0xc8, 0x6f, 0x35, 0xab, 0x99, 0x7c, 0xd3, 0xea, 0x17, 0xf3, 0x34, 0x9, 0x73, 0x43, 0x2e, 0x4d, 0x7c, 0xac, 0x4f, 0xae, 0xe7, 0x41, 0xb1, 0x2d, 0xe0, 0x77, 0xe9, 0x2b, 0x19, 0xef, 0x7c, 0xbd, 0xc7, 0x81, 0xc, 0xd1, 0xbb, 0xee, 0x5b, 0x2e, 0xe0, 0xf3, 0x40, 0x45, 0xea, 0x78, 0xf5, 0x4e, 0x33, 0x31, 0xbd, 0xe6, 0x7f, 0x65, 0xf0, 0xf2, 0xb0, 0x2c, 0xc5, 0xd6, 0xb0, 0x57, 0x31, 0x4d, 0x20, 0xfd, 0xcc, 0x17, 0xf5, 0x82, 0x48, 0xfe, 0x57, 0xa6, 0x6, 0xd, 0x11, 0x50, 0x38, 0x81, 0x5, 0x46, 0x46, 0x4c, 0x8c, 0x83, 0xaf, 0x2c, 0x0, 0x8d, 0x3c, 0x51, 0xac, 0x7f, 0xdf, 0x77, 0xf5, 0xcf, 0x6f, 0x4d, 0xe4, 0x88, 0xf0, 0xbc, 0xa8, 0xf5, 0x81, 0x44, 0xc4, 0x26, 0xd9, 0x33, 0xd1, 0x2d, 0xb3, 0xbe, 0xa6, 0x34, 0xd5, 0xf4, 0x2d, 0xdf, 0xb4, 0x8a, 0x91, 0xcf, 0x9, 0xa8, 0x4b, 0x4d, 0x39, 0x52, 0x2, 0x64, 0x2f, 0x42, 0x15, 0x99, 0x54, 0x7f, 0x8d, 0x0, 0x90, 0x23, 0x31, 0xa4, 0x6b, 0x6f, 0xc1, 0x16, 0x62, 0xbf, 0x95, 0x34, 0x4b, 0x57, 0x89, 0x8a, 0x66, 0xd0, 0x5e, 0xb4, 0x8a, 0x85, 0xaf, 0xc3, 0x58, 0xb7, 0x63, 0xb4, 0x17, 0xc6, 0x8e, 0x65, 0x74, 0x27, 0xb7, 0x16, 0xac, 0x2f, 0x3b, 0x45, 0xee, 0xd5, 0x4e, 0x31, 0x66, 0xcd, 0xd3, 0x7a, 0xf8, 0x58, 0xbc, 0x1e, 0x44, 0x63, 0x46, 0xaf, 0xb7, 0xb3, 0x66, 0xc7, 0xc3, 0xab, 0xf3, 0xd1, 0xa9, 0x65, 0x60, 0x5e, 0x6b, 0xcf, 0x36, 0x9f, 0xbd, 0xb8, 0x1c, 0x7f, 0x18, 0x9c, 0x6f, 0x7c, 0xec, 0xa7, 0xc1, 0xc5, 0xd9, 0xe5, 0x2f, 0xc3, 0xf1, 0xe, 0x76, 0xea, 0x5, 0x7b, 0x6c, 0x4d, 0xba, 0xd8, 0xd1, 0x1f, 0xd9, 0x21, 0xfe, 0x60, 0xe3, 0xdb, 0xea, 0x8f, 0xff, 0xd4, 0xed, 0x63, 0x7c, 0xf4, 0xde, 0xf1, 0xd8, 0x80, 0xa8, 0xfc, 0xf4, 0x27, 0x25, 0xfd, 0xba, 0x36, 0x33, 0x31, 0x2f, 0xb8, 0x36, 0xb8, 0x8f, 0x97, 0x44, 0x9e, 0x4, 0x7f, 0xc7, 0x4b, 0x3, 0x8, 0x60, 0x78, 0x7c, 0x48, 0x83, 0x35, 0xe4, 0x8a, 0x13, 0xbe, 0x60, 0x22, 0x1c, 0xe3, 0x93, 0x38, 0x75, 0x1b, 0xd5, 0x3f, 0x4a, 0x10, 0xb4, 0x80, 0x5e, 0x55, 0x38, 0x1e, 0x9d, 0xbd, 0xa5, 0xee, 0x6e, 0x83, 0xf2, 0x6, 0xea, 0x89, 0x6, 0x54, 0x23, 0x54, 0x12, 0xc0, 0x6a, 0x8b, 0xe7, 0x35, 0xae, 0xbf, 0xda, 0x8c, 0xf4, 0xc0, 0x21, 0x4e, 0xab, 0x94, 0xe4, 0xcc, 0x83, 0x94, 0x8, 0x90, 0xe9, 0x62, 0xca, 0xbd, 0xe7, 0x36, 0x58, 0x88, 0xc4, 0xb4, 0x9c, 0xbd, 0x31, 0xab, 0x25, 0xbb, 0x12, 0x19, 0x4f, 0x96, 0x9b, 0xe4, 0x92, 0x4d, 0xa, 0x19, 0x9d, 0xdd, 0x8e, 0x87, 0x37, 0xd7, 0xc3, 0xdb, 0xab, 0xcb, 0xf3, 0xd1, 0xe9, 0xaf, 0x6b, 0xc4, 0xd3, 0xca, 0x57, 0x6, 0xe7, 0xea, 0xb7, 0x67, 0x37, 0x28, 0x96, 0x62, 0xe4, 0xc5, 0xae, 0xaf, 0x69, 0x82, 0xf3, 0xdb, 0xcb, 0x8b, 0x6, 0x7d, 0xfe, 0xca, 0x26, 0xc6, 0xc3, 0xff, 0x1c, 0x9e, 0x4e, 0xb6, 0xef, 0x7a, 0x32, 0x1c, 0x7f, 0x18, 0x5d, 0xa8, 0x4e, 0x47, 0xef, 0x6f, 0xc7, 0x37, 0x17, 0x17, 0xa3, 0x8b, 0x1f, 0xb7, 0xfc, 0x40, 0xaf, 0xcf, 0xd0, 0x9f, 0x7c, 0xd2, 0x79, 0x82, 0xfd, 0xd7, 0x9b, 0x1c, 0x86, 0xea, 0x20, 0x2d, 0x9b, 0xdf, 0x6f, 0x6b, 0x91, 0x34, 0x76, 0xed, 0xac, 0x4d, 0x62, 0x87, 0xfe, 0x94, 0xd6, 0xcb, 0x13, 0x17, 0x8e, 0xb6, 0x22, 0x89, 0x7c, 0x54, 0x6a, 0x48, 0xce, 0x94, 0x46, 0x82, 0x6a, 0xa, 0xb9, 0x6b, 0x21, 0x1b, 0xd6, 0xf2, 0xe0, 0xce, 0x4b, 0x76, 0x2e, 0x1d, 0x42, 0xfa, 0xb6, 0x7a, 0xc8, 0x35, 0x63, 0x64, 0x5e, 0x55, 0x85, 0x3c, 0x79, 0xfb, 0x36, 0x15, 0x89, 0xec, 0x6b, 0xcf, 0x51, 0xd6, 0xe7, 0x2, 0x7e, 0xf1, 0x56, 0x49, 0x18, 0x96, 0x57, 0x6f, 0x95, 0xba, 0x7a, 0xcc, 0xe5, 0x31, 0x3d, 0x36, 0x8f, 0x1c, 0xab, 0x8e, 0x8f, 0xff, 0x22, 0xa6, 0x6f, 0x3, 0xc5, 0xa8, 0xeb, 0xed, 0xf0, 0x81, 0x2d, 0xbc, 0x5c, 0x43, 0x19, 0xd5, 0xb7, 0x75, 0x6d, 0x25, 0xae, 0x8b, 0xf3, 0xa2, 0x5d, 0x7b, 0xe5, 0x4e, 0x3d, 0x2b, 0xfe, 0x6d, 0x87, 0x5a, 0x6a, 0x58, 0xc8, 0x35, 0x24, 0x8f, 0x73, 0x5, 0x6, 0x6c, 0xdc, 0xfa, 0xb6, 0x6b, 0xa3, 0xa0, 0x9a, 0xf1, 0x28, 0x72, 0xec, 0x88, 0xa1, 0x63, 0x22, 0x68, 0xd5, 0x4c, 0xca, 0x65, 0x91, 0xd1, 0xa5, 0xc6, 0xfa, 0xfc, 0xc, 0xb0, 0x6a, 0xc7, 0x62, 0x76, 0x8c, 0x30, 0x9a, 0x6d, 0xec, 0xd6, 0x98, 0x16, 0x12, 0xf6, 0xd1, 0xbc, 0x76, 0x1d, 0x72, 0xea, 0xe5, 0x3, 0x2b, 0x4b, 0x9e, 0xee, 0x97, 0xa5, 0xf6, 0x4b, 0xa3, 0xb9, 0xae, 0x4b, 0x3d, 0x9a, 0x11, 0xc9, 0xaa, 0x1e, 0x60, 0xce, 0x48, 0x62, 0x2, 0xd7, 0x9, 0xd3, 0xb, 0x39, 0x67, 0xc4, 0xb5, 0x4d, 0x2c, 0x4e, 0xa9, 0x64, 0x79, 0x65, 0xb8, 0xff, 0xaf, 0xcf, 0x7e, 0x56, 0xdf, 0xc9, 0xa6, 0x40, 0xa8, 0x5b, 0xcc, 0x73, 0x7a, 0xc4, 0xd0, 0x89, 0x82, 0xd4, 0x39, 0x40, 0xc9, 0xce, 0xb1, 0xf, 0x35, 0x58, 0x42, 0x67, 0x15, 0x2b, 0xa3, 0x4f, 0xd, 0xf0, 0xad, 0xaa, 0xdb, 0x1e, 0x7c, 0x1f, 0xf4, 0x22, 0xae, 0xc2, 0x67, 0xf, 0x78, 0xae, 0x45, 0x19, 0x65, 0x88, 0xec, 0x42, 0x73, 0xd, 0x8d, 0xac, 0x5c, 0x45, 0xf3, 0x0, 0x59, 0xe8, 0xad, 0xda, 0x66, 0xe, 0x7b, 0x4b, 0xbd, 0x4a, 0xef, 0x5, 0xa8, 0x3d, 0x22, 0xe7, 0xb4, 0x64, 0xa9, 0x4d, 0x25, 0x2, 0xbf, 0xd, 0xcb, 0x13, 0x5a, 0xc8, 0x1a, 0x8a, 0x57, 0x8, 0xe2, 0x5e, 0x79, 0xbb, 0xca, 0x40, 0xeb, 0x85, 0x2a, 0x1e, 0xec, 0x4a, 0x70, 0x6f, 0x78, 0xeb, 0x98, 0x93, 0x94, 0xcf, 0x0, 0xe4, 0x5, 0xa1, 0xbb, 0xd8, 0x67, 0x13, 0x6c, 0x80, 0xba, 0xee, 0x9f, 0x10, 0x84, 0x51, 0xe7, 0x39, 0xee, 0xa0, 0x8b, 0x57, 0x91, 0x62, 0xbd, 0x83, 0x21, 0xad, 0x2e, 0x7, 0x84, 0xfe, 0x1, 0x43, 0x13, 0x73, 0xb2, 0xa8, 0x24, 0x26, 0x7b, 0x50, 0x67, 0xae, 0x4a, 0xf, 0x1a, 0x52, 0xff, 0x18, 0xd9, 0x7d, 0xcf, 0xab, 0x79, 0x3d, 0xed, 0x27, 0x62, 0xf1, 0x16, 0xc0, 0xd3, 0x8e, 0xcb, 0x22, 0x79, 0x4b, 0xb, 0xfe, 0x56, 0x19, 0xfd, 0x6f, 0x17, 0x94, 0xe7, 0x6f, 0x95, 0x9e, 0xd1, 0x5f, 0xa4, 0xff, 0xc3, 0x15, 0xe5, 0x1d, 0x6b, 0x0, 0xca, 0x63, 0xe8, 0xd5, 0xdb, 0x43, 0x70, 0x51, 0x75, 0xc5, 0x99, 0xbe, 0x18, 0xfe, 0xf9, 0xe6, 0x1a, 0x6c, 0xa2, 0xf3, 0xe1, 0xf8, 0x76, 0x38, 0x1e, 0x5f, 0x8e, 0x6f, 0xc7, 0xc3, 0xc9, 0xf8, 0xd7, 0x2e, 0x30, 0xd3, 0x1d, 0x5e, 0x86, 0xff, 0x1c, 0xc4, 0x35, 0x93, 0x9d, 0x5e, 0xbd, 0xb8, 0xbc, 0x68, 0x7d, 0xbd, 0xcb, 0x27, 0x82, 0x4b, 0xdd, 0x2, 0xc2, 0xf6, 0x2, 0xd4, 0xc7, 0xca, 0x5e, 0xe6, 0x16, 0xda, 0x56, 0x67, 0xc3, 0x6d, 0xfc, 0x7e, 0x6b, 0x43, 0xde, 0x3b, 0x50, 0x1d, 0x6c, 0x9b, 0x48, 0x1f, 0xf0, 0x4a, 0xec, 0x96, 0xe1, 0x3c, 0x3a, 0x33, 0xb3, 0xbd, 0xc3, 0x6f, 0x70, 0x79, 0x35, 0x1c, 0xa3, 0x7d, 0x7c, 0x3a, 0xb8, 0x38, 0x1d, 0x9e, 0xdf, 0x8e, 0x87, 0x7f, 0xba, 0x19, 0x5e, 0xbb, 0xa4, 0xe7, 0x76, 0x55, 0x7f, 0xdf, 0x6c, 0xeb, 0x96, 0x43, 0xb4, 0x29, 0xf9, 0xda, 0xc2, 0x42, 0x27, 0xa2, 0x44, 0xcf, 0x2b, 0x58, 0x54, 0x1, 0xcd, 0x65, 0xf8, 0x11, 0x5a, 0x93, 0xb4, 0xa3, 0xdb, 0x8d, 0x57, 0x73, 0x2f, 0xc0, 0x14, 0x70, 0xd5, 0xec, 0xb6, 0xc2, 0x3c, 0x5d, 0xb9, 0xc2, 0xd7, 0xa7, 0x3f, 0xd, 0xcf, 0x6e, 0xce, 0xfd, 0x29, 0xc1, 0xed, 0xaf, 0x46, 0x6e, 0xbe, 0xae, 0x37, 0x3b, 0xb5, 0x5d, 0xfb, 0x9b, 0xf6, 0xd6, 0x5a, 0x26, 0x8c, 0x97, 0x8d, 0xf5, 0x4c, 0x36, 0xd6, 0x97, 0xc8, 0xe6, 0x7f, 0x1f, 0xfa, 0x54, 0xfb, 0x64, 0x40, 0x9a, 0xb4, 0x40, 0xfa, 0x9a, 0x24, 0x8f, 0xa5, 0xae, 0x92, 0xa6, 0xc4, 0x70, 0xf6, 0x78, 0x7f, 0xfe, 0x5d, 0x9f, 0x88, 0x7d, 0x4f, 0xc3, 0x73, 0x9d, 0xf2, 0xb7, 0x7f, 0x52, 0x3a, 0x71, 0x49, 0x7d, 0x85, 0xaf, 0xb9, 0x46, 0xb6, 0xc5, 0x5f, 0xb3, 0x4f, 0x6e, 0x20, 0x13, 0x3c, 0x5b, 0x9a, 0x6c, 0x6d, 0xcc, 0x9a, 0xe1, 0xd, 0x64, 0x48, 0xf2, 0x85, 0xc4, 0x2, 0x2e, 0x23, 0xa2, 0x49, 0x5b, 0xd9, 0x10, 0x8b, 0xfe, 0xdd, 0xd6, 0xc5, 0xec, 0xd6, 0xd1, 0x19, 0x44, 0x36, 0x11, 0xe6, 0x9a, 0x56, 0x76, 0xcd, 0xc1, 0xff, 0xd9, 0x1e, 0x6c, 0xb, 0xb1, 0x32, 0x6d, 0x20, 0x18, 0xf8, 0xb, 0x12, 0xfd, 0xe1, 0xfb, 0xe4, 0x3, 0x5d, 0x12, 0x51, 0x92, 0x5, 0x5d, 0x42, 0x46, 0xb4, 0xce, 0xe7, 0x66, 0x39, 0x49, 0x6b, 0x4c, 0xc8, 0xd3, 0xcf, 0x66, 0xa6, 0x5a, 0xc, 0xc7, 0xa3, 0x8d, 0xbb, 0xd0, 0x72, 0x6d, 0xdb, 0x5c, 0x59, 0x3, 0x69, 0x6f, 0xdb, 0x1b, 0xb3, 0x23, 0x58, 0x40, 0x63, 0xe9, 0xa0, 0xc6, 0x1, 0xaa, 0x85, 0x82, 0x19, 0xe0, 0x29, 0xd1, 0x6d, 0xb7, 0xa9, 0x9b, 0x4d, 0xb4, 0x81, 0x6e, 0x89, 0x82, 0xad, 0x57, 0xf2, 0x79, 0xb7, 0x58, 0x4b, 0x87, 0x97, 0xed, 0x31, 0xd8, 0xfe, 0xd5, 0x1f, 0x6, 0xa7, 0x3f, 0x8f, 0x2e, 0x7e, 0xbc, 0xbd, 0x7c, 0xff, 0x7e, 0x87, 0x7e, 0x6f, 0x4e, 0x4f, 0x87, 0xc3, 0xb3, 0x5d, 0xfa, 0x45, 0x17, 0xea, 0xf6, 0xef, 0x4d, 0x46, 0x1f, 0x86, 0x67, 0xb7, 0x97, 0x37, 0x93, 0x1d, 0xa6, 0x7a, 0x7e, 0x79, 0xfa, 0xf3, 0xce, 0x29, 0x92, 0xba, 0xea, 0x60, 0xdf, 0xa2, 0x9, 0x60, 0x63, 0xb0, 0xac, 0x47, 0xba, 0x51, 0x49, 0x16, 0x34, 0x85, 0x23, 0x95, 0xb2, 0x8c, 0x1b, 0xef, 0x89, 0xbe, 0x94, 0xdc, 0x31, 0xd5, 0x5b, 0xb3, 0xc1, 0x28, 0xc1, 0xa5, 0x69, 0xd2, 0x56, 0x4, 0x48, 0x42, 0xc9, 0x82, 0xe7, 0x10, 0x28, 0x9d, 0x8a, 0x3a, 0x4f, 0x89, 0xe4, 0x79, 0xc2, 0xc, 0x20, 0xb, 0xd4, 0x4f, 0x70, 0x49, 0x78, 0x9e, 0x94, 0x6c, 0xc1, 0x72, 0x38, 0xfa, 0xd6, 0x91, 0xe2, 0xae, 0x41, 0x14, 0xb, 0xb2, 0xed, 0x28, 0xf8, 0xa5, 0x5, 0x84, 0x64, 0x54, 0x56, 0xba, 0xae, 0xc4, 0x5c, 0x8c, 0xfb, 0x9f, 0x4d, 0x35, 0x16, 0xd5, 0xb0, 0x1d, 0xb1, 0x95, 0x53, 0xdd, 0xce, 0xa6, 0x37, 0xa8, 0xf7, 0x5f, 0x40, 0xd4, 0x4f, 0xa2, 0xe1, 0xbe, 0x96, 0xe6, 0x86, 0xe9, 0x11, 0xe, 0x2c, 0x43, 0x61, 0x3d, 0xbd, 0x1e, 0x9a, 0xf1, 0x3f, 0x1f, 0x66, 0xbd, 0x0, 0xcf, 0xce, 0xfb, 0xc2, 0xf6, 0x2, 0xee, 0xb6, 0x64, 0xd3, 0x4c, 0x24, 0x9f, 0x58, 0x3a, 0x66, 0x54, 0x76, 0x48, 0x5, 0x6e, 0x26, 0xba, 0x83, 0xad, 0xae, 0x44, 0xa2, 0xea, 0x5b, 0x1f, 0xb8, 0x9e, 0x69, 0x95, 0x94, 0xd0, 0xac, 0x12, 0xe9, 0xf, 0x3c, 0x65, 0xd2, 0x4b, 0xfc, 0x6d, 0x43, 0x1d, 0x68, 0x5e, 0x59, 0x2b, 0xef, 0x8f, 0x10, 0x1b, 0x15, 0x7, 0x0, 0xf1, 0xa8, 0x3c, 0xbe, 0xe9, 0xbc, 0x17, 0x5b, 0x2f, 0xa6, 0xc3, 0xf8, 0xa, 0x9e, 0xb5, 0xda, 0x83, 0x69, 0x20, 0x87, 0x88, 0x24, 0x77, 0xf5, 0x14, 0x7b, 0x71, 0x65, 0xc7, 0x1a, 0x56, 0xcd, 0x9b, 0xa0, 0xdd, 0x5a, 0xaf, 0xc1, 0xbc, 0xae, 0xf0, 0xa1, 0x80, 0xf1, 0xc5, 0xfe, 0x9c, 0xa1, 0xbc, 0x64, 0x29, 0x61, 0x1c, 0xd2, 0xb5, 0x1e, 0x38, 0x5, 0x3e, 0x32, 0x9b, 0x38, 0x97, 0xd0, 0x2c, 0x9b, 0xd2, 0xe4, 0x93, 0xd2, 0x64, 0xa8, 0x12, 0x8b, 0xb6, 0x79, 0x44, 0x10, 0x5f, 0xe6, 0xc9, 0xbc, 0x14, 0xb9, 0x68, 0x82, 0x87, 0x93, 0xe7, 0xa8, 0xa0, 0xc9, 0x3a, 0x49, 0x98, 0x94, 0x90, 0xaf, 0xd6, 0xb6, 0x81, 0x23, 0x5e, 0xff, 0x17, 0x15, 0xeb, 0x45, 0xc5, 0xda, 0xf6, 0xbd, 0x17, 0x15, 0xeb, 0x45, 0xc5, 0x7a, 0x51, 0xb1, 0xfe, 0x21, 0x54, 0x2c, 0xa2, 0x9f, 0xdf, 0x76, 0x18, 0x3, 0xd3, 0xf, 0xb8, 0xa4, 0x16, 0x74, 0x49, 0xa6, 0x2c, 0x66, 0xec, 0x64, 0xa4, 0xcd, 0x23, 0x35, 0xe, 0xf, 0xd8, 0x1a, 0x1d, 0x6f, 0xe5, 0x4d, 0xb6, 0x52, 0xd9, 0x6b, 0xdc, 0x9a, 0x1b, 0x94, 0xbd, 0x7d, 0xd2, 0x8, 0xb7, 0xa1, 0x38, 0x89, 0xa6, 0x89, 0xba, 0x9a, 0xd3, 0xd4, 0x4a, 0x4b, 0x3a, 0x1a, 0x4f, 0xe0, 0x91, 0x57, 0x73, 0x9e, 0x3, 0xcc, 0xa7, 0x4b, 0xc5, 0xa6, 0x99, 0xc8, 0xef, 0x31, 0xbd, 0xb6, 0xac, 0x1, 0x12, 0xe1, 0x68, 0xca, 0x32, 0xf1, 0xe8, 0x25, 0xed, 0x76, 0x24, 0x18, 0xd1, 0xb8, 0xe2, 0xdb, 0x8e, 0xdf, 0xe0, 0x91, 0xc3, 0x98, 0x7a, 0x4a, 0x9f, 0x12, 0xd9, 0x3, 0x92, 0xe3, 0x50, 0x72, 0x33, 0x3e, 0x7, 0x1d, 0xc, 0xa4, 0x2b, 0x26, 0xa6, 0xbe, 0x96, 0xb6, 0x2b, 0x82, 0x60, 0xb9, 0xa5, 0x77, 0x4c, 0x25, 0x2b, 0x1f, 0x78, 0x7, 0x7e, 0x95, 0x66, 0xaa, 0xa2, 0x7a, 0xd, 0xc6, 0xd0, 0x6f, 0x7e, 0x95, 0x6d, 0x9b, 0x73, 0x1e, 0xd3, 0xb0, 0x41, 0xb5, 0xbb, 0x6a, 0xb9, 0xad, 0xf2, 0x31, 0xfc, 0xf3, 0xf0, 0xf4, 0xc6, 0x5e, 0x8b, 0x37, 0xd7, 0x5b, 0xa8, 0x1e, 0x8d, 0x57, 0x9b, 0x39, 0x5f, 0x9d, 0x5e, 0xb3, 0xce, 0xe3, 0x6d, 0x5f, 0xec, 0xa4, 0x35, 0x34, 0xbb, 0x3, 0x5d, 0x60, 0xfb, 0xf7, 0x6c, 0x7a, 0xdb, 0xf6, 0x6f, 0xb6, 0x68, 0x29, 0x3b, 0xf8, 0xdd, 0x7, 0x9a, 0x47, 0x29, 0xd3, 0x9f, 0xda, 0xe1, 0x87, 0xd8, 0xbd, 0xd4, 0x23, 0x3c, 0x4f, 0x79, 0x2, 0xd9, 0x14, 0x8f, 0xba, 0xf6, 0x10, 0x53, 0x89, 0x34, 0xfc, 0x64, 0xb6, 0x34, 0xf9, 0x26, 0xca, 0xc8, 0xe0, 0x39, 0x11, 0xb9, 0x35, 0x5e, 0x74, 0xe5, 0x88, 0x69, 0x3e, 0xbc, 0xe8, 0x9, 0xd1, 0xb9, 0x29, 0x29, 0x11, 0x4a, 0x75, 0x70, 0x8c, 0xbf, 0x76, 0x3b, 0xaa, 0x81, 0x94, 0xfc, 0x5e, 0x35, 0x91, 0x2d, 0xdd, 0x55, 0x83, 0x60, 0x15, 0xf4, 0x1e, 0xab, 0x21, 0x98, 0x92, 0x11, 0x4a, 0x24, 0x3, 0xb3, 0x23, 0x8d, 0x3b, 0xdd, 0x58, 0x2b, 0xde, 0x49, 0xc3, 0xbe, 0x1a, 0x5e, 0x9c, 0x29, 0x35, 0xb6, 0x61, 0x8c, 0x6e, 0x50, 0xae, 0xd7, 0xbf, 0xb7, 0x4a, 0xaf, 0x5e, 0xff, 0xd6, 0x6a, 0x95, 0x7a, 0x43, 0x6f, 0x93, 0xc1, 0xb8, 0xb9, 0xd7, 0x36, 0xf4, 0xd5, 0x55, 0xa7, 0xd, 0xab, 0x14, 0x84, 0x8d, 0x5, 0xb2, 0x94, 0x4c, 0x4b, 0x46, 0x3f, 0x1, 0xc1, 0xaf, 0x98, 0x75, 0x3e, 0xf2, 0x9b, 0x3f, 0x9b, 0x51, 0x6b, 0xc4, 0x69, 0x26, 0x24, 0xfb, 0x4a, 0xf9, 0xbf, 0xb1, 0xad, 0xaf, 0x7, 0x75, 0x5c, 0x89, 0xe3, 0x44, 0xd, 0xcb, 0xa6, 0x61, 0x37, 0x4f, 0x56, 0x74, 0x16, 0x56, 0xa2, 0xa9, 0xbc, 0x3b, 0x39, 0x29, 0x4a, 0x56, 0x8, 0x9, 0xaa, 0xcc, 0xe, 0x50, 0x2a, 0xaf, 0x2a, 0xf1, 0xca, 0x42, 0xc1, 0x0, 0xe3, 0x2d, 0x1e, 0x68, 0x4b, 0x58, 0x19, 0x22, 0xa8, 0xb8, 0x85, 0xbd, 0x36, 0x3c, 0xd, 0xcf, 0x6b, 0x61, 0x31, 0x87, 0xf0, 0x77, 0xb8, 0xb0, 0xb0, 0x9c, 0xcf, 0x6a, 0xbb, 0xaa, 0x11, 0xfd, 0x9e, 0xf7, 0xea, 0x97, 0x37, 0x9a, 0x71, 0xf3, 0x6d, 0x63, 0x33, 0x73, 0x49, 0x68, 0x51, 0x94, 0xe2, 0x33, 0x5f, 0x0, 0x13, 0x22, 0x6f, 0x58, 0xc6, 0x70, 0x87, 0x51, 0x64, 0xe4, 0xe7, 0x6, 0xba, 0x3a, 0xe2, 0xfb, 0x84, 0xf2, 0xc1, 0xa8, 0x97, 0x91, 0x32, 0x75, 0x68, 0x52, 0xf1, 0x84, 0x19, 0x5e, 0x17, 0x44, 0x4a, 0x9c, 0x32, 0xb2, 0x0, 0x42, 0x5f, 0x33, 0x13, 0x65, 0x1e, 0xda, 0xf6, 0x31, 0x27, 0x5c, 0x9, 0x66, 0xf5, 0xad, 0x21, 0xf9, 0xb6, 0x12, 0x10, 0x2c, 0xe7, 0x55, 0x4f, 0x5d, 0xe2, 0x19, 0x93, 0xb2, 0xe5, 0xdd, 0xb0, 0xf3, 0x47, 0xa8, 0x1c, 0xc1, 0xa4, 0x73, 0x6c, 0x6f, 0xb3, 0x15, 0x2f, 0xf7, 0x31, 0x45, 0x95, 0x19, 0x1a, 0x55, 0xd9, 0xd1, 0x76, 0xfd, 0x40, 0xfb, 0x41, 0x61, 0x77, 0x47, 0x29, 0x1, 0x2d, 0x9f, 0x6b, 0xb5, 0xb1, 0xca, 0x3e, 0x17, 0x1c, 0xdf, 0xdb, 0x65, 0xc0, 0xd7, 0x76, 0x38, 0x60, 0x41, 0xff, 0x4f, 0xcf, 0xf3, 0x29, 0x48, 0x70, 0xe0, 0xba, 0x8d, 0x26, 0x31, 0x72, 0x63, 0xa7, 0x95, 0x6b, 0xd1, 0xae, 0xaa, 0x92, 0xe6, 0x78, 0x50, 0x8d, 0xfd, 0x2, 0x5d, 0xa4, 0x6, 0xed, 0xab, 0xcb, 0xa0, 0x5e, 0xfc, 0x32, 0xdf, 0x86, 0x5f, 0xc6, 0xd6, 0x89, 0x9c, 0xd5, 0x4d, 0x1b, 0xf2, 0x2b, 0xdc, 0x4c, 0xc3, 0x8c, 0x16, 0xd2, 0x1c, 0x1d, 0x80, 0x43, 0x32, 0x13, 0x82, 0x42, 0x16, 0xb5, 0x5d, 0x73, 0xf1, 0x8, 0x37, 0x95, 0xb5, 0x3e, 0x3c, 0x4e, 0xda, 0xd2, 0x9e, 0x31, 0x7c, 0x5c, 0x3d, 0x87, 0x9b, 0x3b, 0x14, 0x62, 0xee, 0x9d, 0x9e, 0x57, 0x28, 0x47, 0xb3, 0xcc, 0x89, 0x3f, 0x65, 0x6a, 0x4c, 0x69, 0xf2, 0x49, 0xcc, 0x66, 0x96, 0xa7, 0xc4, 0xfc, 0xd1, 0xab, 0xa5, 0x59, 0x11, 0x70, 0x20, 0xbb, 0x51, 0x84, 0xc5, 0x5e, 0x9f, 0xd7, 0xcf, 0xd6, 0x81, 0xb6, 0x63, 0x84, 0xa8, 0x19, 0x23, 0x7b, 0x60, 0xe5, 0xb1, 0x63, 0xf5, 0xf5, 0xa2, 0x47, 0x35, 0x92, 0xf2, 0x3, 0xeb, 0x7c, 0xca, 0x16, 0x85, 0xa8, 0x58, 0x9e, 0x2c, 0x11, 0x4d, 0x1d, 0xf7, 0xbf, 0xac, 0xa7, 0xb, 0x8e, 0xbc, 0x75, 0x78, 0x3d, 0x5b, 0x24, 0x86, 0x4a, 0x84, 0xdf, 0x1b, 0x6e, 0x54, 0x1d, 0x4b, 0x23, 0x67, 0x80, 0x95, 0x9b, 0x54, 0xe, 0xa7, 0x54, 0xbf, 0x77, 0xcb, 0xc1, 0x8b, 0xd7, 0x72, 0x7f, 0x68, 0x7, 0x5e, 0x4f, 0x83, 0x3c, 0x72, 0xd9, 0xac, 0x59, 0x49, 0x68, 0x96, 0x19, 0x8, 0xb, 0x7f, 0xbc, 0x9f, 0x98, 0xab, 0xdd, 0x6a, 0xbb, 0x99, 0xc6, 0x57, 0xa7, 0x84, 0x57, 0x92, 0x65, 0xb3, 0x16, 0x8f, 0xce, 0x4e, 0xc8, 0xf3, 0xae, 0x6d, 0x58, 0xab, 0x3e, 0xb9, 0xcc, 0xd5, 0x2d, 0xc9, 0x50, 0xc1, 0xa3, 0xad, 0xc1, 0x3f, 0xa9, 0xdd, 0xf4, 0xd4, 0x8b, 0xb5, 0xe1, 0x70, 0xbd, 0xb4, 0x3a, 0x9a, 0x65, 0xa1, 0x93, 0x88, 0x4d, 0xec, 0x55, 0x2, 0xb8, 0x98, 0x5b, 0xef, 0x4b, 0x4f, 0x19, 0x52, 0x76, 0x3c, 0x1e, 0xfb, 0xe0, 0xb6, 0x7a, 0x2d, 0xdd, 0xb6, 0x5d, 0xd4, 0x15, 0x6c, 0x12, 0x9e, 0x93, 0x82, 0x95, 0x92, 0x4b, 0xb5, 0xc2, 0xbe, 0xdf, 0xea, 0xe0, 0x35, 0x61, 0x10, 0x49, 0xff, 0xa9, 0x51, 0x18, 0xf6, 0xa4, 0x90, 0x5e, 0xd8, 0x1d, 0x8a, 0x2e, 0x2c, 0x3f, 0x1, 0x5f, 0x2c, 0xbd, 0xd7, 0xcc, 0xf1, 0x79, 0xaa, 0x6e, 0xf0, 0xc4, 0x47, 0xac, 0x74, 0x4b, 0xf0, 0x65, 0xcb, 0xd0, 0x6c, 0xdd, 0xd9, 0xd3, 0x14, 0x85, 0xb5, 0xd9, 0x21, 0x19, 0xcf, 0x3f, 0x3d, 0x5, 0x1, 0x51, 0xfe, 0x69, 0xd, 0x55, 0x44, 0xfe, 0x9, 0xf4, 0x62, 0xaa, 0xae, 0x22, 0x93, 0xe9, 0xa7, 0xc5, 0x89, 0x75, 0x63, 0x3b, 0xfd, 0x4a, 0xe4, 0xc6, 0x5a, 0x28, 0x5b, 0xeb, 0xba, 0x76, 0xc5, 0xe4, 0xc5, 0x24, 0x5f, 0x7c, 0xd7, 0x72, 0xc1, 0x64, 0x1c, 0x41, 0xe2, 0x85, 0x65, 0xdd, 0x6f, 0xb7, 0xe0, 0xc2, 0xb4, 0xed, 0x3a, 0xcb, 0x2c, 0x8d, 0x8c, 0x17, 0x4b, 0x58, 0xcd, 0x2c, 0xde, 0x53, 0x92, 0xd8, 0x78, 0xf7, 0xb8, 0x43, 0x73, 0xe, 0xf4, 0xea, 0xd, 0xbc, 0x97, 0x5f, 0x2e, 0xd8, 0x30, 0xd0, 0xd8, 0xc8, 0x6d, 0xe1, 0x86, 0x2f, 0x15, 0x68, 0x68, 0x4b, 0x8d, 0xc0, 0x6, 0x85, 0xbd, 0x8d, 0xd7, 0xd2, 0xb8, 0x93, 0x43, 0x45, 0x2b, 0x7e, 0x37, 0x61, 0x87, 0xdf, 0x97, 0x95, 0xb8, 0xb3, 0x5d, 0x36, 0x9a, 0x35, 0xdd, 0xdd, 0x0, 0xe1, 0x13, 0x79, 0xb0, 0x7b, 0x3e, 0x8b, 0x8e, 0x17, 0x81, 0xb7, 0x67, 0x70, 0xbd, 0x59, 0x87, 0x68, 0x56, 0x2b, 0x7d, 0xe1, 0xed, 0x29, 0x27, 0x2f, 0x61, 0x9f, 0x6f, 0x29, 0xec, 0x33, 0xd1, 0x4a, 0x7f, 0x8d, 0x90, 0xe0, 0x5e, 0xd4, 0xa5, 0xb7, 0x4f, 0xd8, 0x25, 0x7c, 0x6b, 0x8f, 0x8, 0xcc, 0x1a, 0x7d, 0x6d, 0x6b, 0x85, 0x65, 0xb5, 0x12, 0xd7, 0x90, 0x66, 0x21, 0xf0, 0x9f, 0x74, 0x76, 0x40, 0x60, 0x45, 0x1c, 0x56, 0xd5, 0x75, 0x21, 0xaf, 0xd5, 0xcb, 0xf4, 0xdc, 0x8c, 0x71, 0xb5, 0x7d, 0x4c, 0x2d, 0x74, 0xc2, 0x1c, 0x11, 0xac, 0xf5, 0x61, 0xc1, 0xc6, 0x90, 0x81, 0xbf, 0xab, 0xcd, 0x21, 0xaa, 0x79, 0xc0, 0x34, 0xfe, 0xa8, 0x66, 0x9, 0x53, 0x7a, 0x7c, 0x8b, 0x20, 0x44, 0x6b, 0x7d, 0x13, 0xd, 0x84, 0x61, 0xef, 0x8a, 0x73, 0x7, 0x42, 0x1e, 0x9f, 0xaa, 0x2e, 0xbd, 0x6a, 0x5a, 0xa0, 0x84, 0xb4, 0xf0, 0x79, 0x6e, 0x98, 0x80, 0xf3, 0xa5, 0x54, 0xf7, 0xfc, 0xde, 0xe0, 0x8f, 0xcd, 0x59, 0xc9, 0x7a, 0x84, 0xe5, 0xb2, 0x2e, 0x75, 0x75, 0x39, 0x3a, 0x6f, 0x69, 0x26, 0x5, 0xd1, 0x72, 0x58, 0x35, 0xbb, 0x26, 0xb3, 0x82, 0x1c, 0xe5, 0xa2, 0x72, 0x2f, 0x2f, 0xe8, 0x92, 0xd0, 0xac, 0x64, 0x34, 0x85, 0xac, 0x11, 0xd7, 0x86, 0x1b, 0xc7, 0xba, 0xc6, 0xa6, 0x75, 0x85, 0xf8, 0xfc, 0x58, 0xa, 0x55, 0x89, 0xe2, 0x38, 0x63, 0xf, 0x2c, 0x7b, 0xd3, 0xa6, 0x78, 0x1d, 0xa2, 0x3c, 0xf3, 0x59, 0xe7, 0xf2, 0x3e, 0xe3, 0xca, 0xc6, 0x9c, 0xc, 0xa, 0x8b, 0x48, 0xd6, 0x5a, 0xdd, 0xf8, 0x4c, 0x92, 0x6b, 0x67, 0xb0, 0x49, 0x56, 0x6d, 0x9f, 0xdd, 0x90, 0xd, 0xe, 0xb1, 0x69, 0xc2, 0xb1, 0x38, 0x5f, 0x3a, 0x16, 0x3, 0x8e, 0xce, 0xfe, 0x41, 0x75, 0xe3, 0x3d, 0x8c, 0xa1, 0x48, 0xa8, 0xbb, 0x1e, 0x46, 0x67, 0xe4, 0xd8, 0xa4, 0xb1, 0x21, 0xb8, 0x68, 0x43, 0x20, 0x7b, 0x29, 0xd8, 0xce, 0x6b, 0x94, 0x2d, 0x63, 0x46, 0x10, 0x47, 0x40, 0xd9, 0x27, 0x63, 0xa6, 0x46, 0xe, 0x1a, 0xa8, 0x6d, 0xe7, 0x16, 0x1d, 0x51, 0x4f, 0xe3, 0xdf, 0xda, 0x7d, 0x12, 0x2d, 0x6d, 0x8f, 0x8d, 0x9a, 0xad, 0x4d, 0x79, 0x6c, 0x6b, 0xa2, 0x11, 0x8c, 0x0, 0xbb, 0x25, 0x92, 0xd3, 0x0, 0xe0, 0x80, 0x47, 0xc3, 0x63, 0x25, 0xd3, 0x57, 0x4f, 0x25, 0x1c, 0xb0, 0x8, 0x3a, 0x8, 0x65, 0xdb, 0x91, 0xbb, 0xe, 0xe, 0xce, 0xce, 0x42, 0xfb, 0x40, 0xb9, 0x6d, 0x8b, 0x5a, 0x56, 0x84, 0x7d, 0x56, 0xd7, 0xa5, 0xbe, 0x3a, 0x7f, 0xb7, 0x99, 0x6c, 0x7, 0x83, 0xf, 0xec, 0xc, 0xf, 0xa4, 0x3a, 0xb4, 0xfe, 0xde, 0xa8, 0xc6, 0xc3, 0x51, 0x5b, 0x3c, 0xb0, 0xb2, 0xd2, 0xf7, 0x1b, 0xcf, 0x2b, 0xa1, 0xa5, 0xb3, 0xcb, 0x8f, 0x6, 0x8, 0x2d, 0x74, 0xf5, 0xcd, 0x19, 0x86, 0x91, 0x8b, 0x92, 0xd3, 0x8a, 0xd9, 0xbf, 0x21, 0x5a, 0x55, 0x84, 0x87, 0xa, 0x6e, 0x37, 0xd4, 0xde, 0xd1, 0x41, 0xce, 0xb0, 0x58, 0xda, 0xfa, 0x9e, 0x9b, 0xa6, 0x2e, 0xb9, 0xcc, 0x3, 0x77, 0x96, 0xe4, 0x29, 0x86, 0xaf, 0x3c, 0x8d, 0x67, 0x4a, 0x21, 0x48, 0x30, 0x5d, 0xda, 0x83, 0xd0, 0x6b, 0xf1, 0x7f, 0xeb, 0x81, 0x1, 0xe, 0x31, 0xcd, 0xa5, 0x52, 0xc4, 0x18, 0x86, 0x50, 0x4c, 0x4c, 0xdb, 0x18, 0x17, 0x44, 0x2f, 0x2a, 0x90, 0xa0, 0x1b, 0x5, 0x8d, 0xcb, 0x18, 0xa2, 0xe1, 0x5b, 0xcb, 0xf4, 0x19, 0xd9, 0x84, 0xba, 0xb9, 0x78, 0x24, 0xe0, 0x67, 0xc2, 0x74, 0x7c, 0x40, 0x35, 0xe6, 0x12, 0x70, 0x65, 0xe1, 0x73, 0x9, 0xf2, 0x48, 0x39, 0xb6, 0xd8, 0x10, 0x63, 0xcd, 0x76, 0x4f, 0x69, 0x96, 0x21, 0x20, 0x30, 0x22, 0x3d, 0xa6, 0xfe, 0x3e, 0xd0, 0xde, 0x4a, 0xdc, 0x7a, 0xcf, 0x35, 0x9d, 0x63, 0xfd, 0x68, 0xfe, 0x70, 0x72, 0xa2, 0xd6, 0xf8, 0x18, 0x94, 0xf3, 0x63, 0x70, 0xd5, 0xed, 0x32, 0x22, 0xfc, 0x4c, 0x30, 0x2c, 0x9a, 0x13, 0x9a, 0x24, 0xac, 0xa8, 0x54, 0x1b, 0x44, 0xd6, 0xb3, 0x19, 0xff, 0xc, 0xab, 0x9d, 0x1a, 0xc2, 0x19, 0x7, 0x44, 0xc, 0x9f, 0x74, 0x70, 0x35, 0xa, 0x47, 0xfc, 0x35, 0x2, 0x3, 0xd1, 0x4e, 0xd4, 0x71, 0x82, 0x4a, 0x68, 0xd7, 0xb4, 0x39, 0x65, 0x81, 0x2c, 0xe9, 0x93, 0xb, 0x34, 0x43, 0x98, 0x64, 0x46, 0x66, 0xc0, 0x56, 0x51, 0xd6, 0x84, 0x85, 0x24, 0xa7, 0xd2, 0x5d, 0x71, 0xe6, 0x21, 0xb0, 0xa6, 0x70, 0x1b, 0x85, 0x8b, 0xec, 0x51, 0x9e, 0x1, 0xa2, 0xe8, 0x9c, 0x67, 0x1e, 0x19, 0x45, 0x4f, 0xf7, 0xa5, 0xfa, 0x0, 0x39, 0xb0, 0xe0, 0x55, 0x85, 0x9b, 0x20, 0x52, 0x41, 0x65, 0x90, 0x47, 0xcf, 0x3e, 0x63, 0x5f, 0xe8, 0x6b, 0xc0, 0x1, 0x86, 0xfd, 0x56, 0x25, 0xb5, 0x41, 0x49, 0x83, 0xd9, 0xfc, 0x34, 0x28, 0x15, 0x7b, 0xc0, 0x52, 0x18, 0xf1, 0xd0, 0x1, 0x91, 0x22, 0x82, 0x6b, 0x39, 0x54, 0x48, 0xd5, 0xfa, 0xbe, 0x47, 0x67, 0xc4, 0xc5, 0x55, 0x4d, 0xd0, 0x42, 0x67, 0x15, 0xe9, 0x5b, 0x9b, 0xd4, 0x85, 0x1a, 0x5c, 0xc9, 0x3c, 0x6d, 0xa7, 0x29, 0x87, 0xe1, 0x47, 0x1b, 0x74, 0x0, 0x7d, 0x3d, 0xd, 0x3f, 0x2d, 0x82, 0x5e, 0x3, 0x16, 0xa5, 0xfa, 0xc0, 0xed, 0x17, 0xd, 0x6e, 0x16, 0x23, 0x12, 0xa2, 0xb0, 0xae, 0x8d, 0x94, 0x36, 0xb5, 0xfb, 0xbd, 0xd7, 0xc3, 0x2a, 0x37, 0xca, 0x66, 0x92, 0x2e, 0x71, 0x7f, 0x95, 0x6a, 0x63, 0x6d, 0x6c, 0xf4, 0xb0, 0x9a, 0xe5, 0x80, 0x4f, 0x67, 0xd7, 0xb3, 0xcd, 0xcb, 0x1, 0x28, 0x8b, 0x70, 0x9f, 0x69, 0x14, 0x46, 0x7c, 0x4f, 0x4d, 0x1b, 0xe6, 0xbc, 0x4a, 0x28, 0xab, 0x91, 0x24, 0x54, 0xb2, 0x70, 0x38, 0xa0, 0x45, 0xa2, 0x26, 0x6d, 0xdd, 0x53, 0xc6, 0xe9, 0x1b, 0x76, 0xee, 0x86, 0xd7, 0xe6, 0xbc, 0x6b, 0xbb, 0x4e, 0xbf, 0x8d, 0xfc, 0xce, 0x6b, 0xc6, 0x56, 0x1c, 0x37, 0x4d, 0x3, 0xe0, 0xf4, 0xe8, 0xbe, 0x4b, 0x22, 0x11, 0xb7, 0xd0, 0xcd, 0xad, 0xdf, 0x4d, 0x3, 0xa1, 0x4, 0x7e, 0x9e, 0xcd, 0xed, 0xf8, 0xed, 0xe4, 0x8f, 0x6e, 0xf5, 0xc9, 0xf0, 0x33, 0x89, 0x5b, 0x97, 0xce, 0xf3, 0xbb, 0xf8, 0x5e, 0xa1, 0x65, 0x5, 0x67, 0x73, 0x41, 0xcb, 0x4f, 0xa8, 0x86, 0x53, 0x25, 0xf, 0xa2, 0x18, 0x95, 0xf3, 0x9f, 0x4e, 0x97, 0x3e, 0x10, 0xa5, 0x29, 0x28, 0x5a, 0x7f, 0xa5, 0xb4, 0x9a, 0x93, 0x18, 0x9, 0xfe, 0x5d, 0x79, 0x0, 0x35, 0xe3, 0x3c, 0x62, 0xa1, 0xb6, 0x3, 0x51, 0x1d, 0xce, 0x7, 0x32, 0x9, 0xfc, 0x3, 0xa3, 0x33, 0x67, 0xb0, 0x6b, 0xc9, 0x1c, 0x54, 0xdf, 0x9b, 0xab, 0xc2, 0xaf, 0xa1, 0x5f, 0x63, 0x51, 0xb5, 0x5c, 0xd, 0xa3, 0x33, 0xbb, 0x7d, 0xbc, 0xe2, 0x70, 0x63, 0x99, 0x79, 0xa7, 0x65, 0x95, 0x5b, 0xe5, 0xa4, 0x93, 0x5b, 0xe5, 0xcb, 0xb9, 0x16, 0xf7, 0x75, 0xe1, 0xac, 0xfd, 0x1e, 0xe8, 0xd5, 0x79, 0xe2, 0x4f, 0x82, 0x9d, 0x74, 0xfb, 0x2a, 0xeb, 0x27, 0x10, 0x9e, 0x71, 0x65, 0x5a, 0xb4, 0x66, 0x58, 0xe1, 0x59, 0xd7, 0x39, 0x1a, 0x7a, 0x4e, 0x9e, 0xe2, 0xb8, 0xa, 0xef, 0xa1, 0x11, 0x2c, 0xb6, 0xc5, 0xd3, 0xa1, 0x37, 0xab, 0xe7, 0xeb, 0x2a, 0x1c, 0xd9, 0x7c, 0xdb, 0xd4, 0x95, 0x51, 0x4e, 0x4a, 0xe0, 0x8b, 0xe3, 0x55, 0x6d, 0x32, 0x20, 0x65, 0x9d, 0xcc, 0x89, 0x83, 0x28, 0x30, 0xf2, 0x5c, 0x3a, 0xd2, 0x13, 0xa5, 0x2b, 0x2a, 0x45, 0x7d, 0x46, 0x79, 0x86, 0x2c, 0x42, 0x89, 0x28, 0xb5, 0x73, 0x22, 0xa9, 0x6a, 0x8c, 0x65, 0xe9, 0xcb, 0x1b, 0xa9, 0x8b, 0x95, 0x9e, 0x38, 0xa3, 0xd3, 0x12, 0x4, 0xa5, 0xeb, 0xde, 0x1b, 0x24, 0xe8, 0x9e, 0x4a, 0xc8, 0xf2, 0x87, 0xc6, 0x9a, 0xfb, 0x58, 0x16, 0x40, 0xa6, 0xa3, 0xf1, 0x2c, 0xda, 0xa4, 0x9d, 0xba, 0x12, 0xd3, 0xcb, 0xba, 0xfa, 0x5d, 0x89, 0xbb, 0x6f, 0x26, 0xe0, 0xb1, 0x1e, 0xca, 0xf1, 0x99, 0x4, 0x3b, 0xd4, 0x83, 0x29, 0xb1, 0x19, 0xf7, 0x97, 0x0, 0x6c, 0x9e, 0xf1, 0xa4, 0xd2, 0x68, 0xd8, 0x5b, 0xee, 0x15, 0xb4, 0xb7, 0xc7, 0xab, 0xe7, 0xb6, 0x81, 0x6d, 0x6a, 0x80, 0xa9, 0x64, 0x32, 0x0, 0x45, 0x18, 0x9d, 0x59, 0xa4, 0x60, 0x9d, 0xd8, 0x1c, 0xb1, 0xf8, 0xb8, 0x9e, 0x4f, 0xed, 0xe1, 0x38, 0xd5, 0xe7, 0x62, 0x7b, 0xc6, 0xab, 0x60, 0xc, 0x2d, 0xc8, 0x31, 0xb2, 0xf3, 0x68, 0xce, 0xdb, 0x33, 0xf2, 0xb6, 0xe9, 0x1f, 0x92, 0xfa, 0x36, 0x76, 0xb8, 0x4a, 0x0, 0x43, 0x0, 0xd7, 0x41, 0x79, 0xfb, 0xac, 0xeb, 0x68, 0x9a, 0x2, 0x4f, 0xa7, 0xfa, 0xdc, 0x86, 0x4b, 0x1, 0x14, 0xb1, 0x5a, 0x82, 0x7, 0x3, 0x3d, 0xdd, 0x41, 0x87, 0xc6, 0xf1, 0x8a, 0xd4, 0x97, 0x26, 0x6c, 0xeb, 0x3d, 0xea, 0x26, 0xd5, 0x18, 0x6c, 0xaf, 0xb9, 0xbb, 0x34, 0xac, 0xb3, 0x4, 0xcf, 0x9, 0xf8, 0x3d, 0x4, 0x98, 0xd0, 0x54, 0xdd, 0x40, 0xc6, 0x56, 0x34, 0x83, 0x58, 0x31, 0xfb, 0xcb, 0xba, 0x4a, 0x84, 0x4b, 0x35, 0xea, 0x2a, 0xd4, 0x30, 0x97, 0xb7, 0x6b, 0x1e, 0x6c, 0x93, 0x2a, 0xa7, 0x45, 0xf0, 0x6c, 0x21, 0x63, 0x42, 0x42, 0xe, 0xb8, 0xe4, 0x71, 0x1a, 0x98, 0x6d, 0x68, 0x11, 0xf0, 0x35, 0xe1, 0xa5, 0x19, 0x2e, 0x11, 0xa5, 0xe9, 0x58, 0x73, 0x72, 0x5c, 0xd1, 0x2a, 0x99, 0x1b, 0x3d, 0x58, 0x9f, 0xbb, 0x2d, 0x97, 0xc2, 0x66, 0xf8, 0xed, 0x22, 0x89, 0x5c, 0x7a, 0xa0, 0xc9, 0xdd, 0xf3, 0x4a, 0x7a, 0xa, 0x35, 0xb8, 0xa6, 0x99, 0xbd, 0x2f, 0x88, 0xeb, 0x9a, 0x2e, 0xe0, 0x3f, 0x3b, 0x27, 0x37, 0xeb, 0x76, 0x60, 0xd, 0x3d, 0x62, 0xa5, 0xa7, 0x49, 0x42, 0xe5, 0x39, 0xaf, 0x38, 0xb5, 0x69, 0xa8, 0xd, 0x5, 0x6c, 0xe7, 0xb, 0xa1, 0x2d, 0xa5, 0xd3, 0xda, 0x9b, 0x98, 0xd9, 0x64, 0x45, 0xa9, 0xfa, 0xbd, 0x4b, 0xc1, 0x67, 0x7d, 0x32, 0x59, 0x16, 0x3c, 0x1, 0xbf, 0xc8, 0xcd, 0xcd, 0xe8, 0xec, 0xe1, 0x9f, 0xfb, 0x6d, 0xbb, 0xa, 0x35, 0xc9, 0x6e, 0xdb, 0x8a, 0xfc, 0xed, 0xef, 0xba, 0x89, 0x5a, 0x1a, 0xbe, 0xce, 0xa5, 0x47, 0xf6, 0xff, 0x45, 0x77, 0xe8, 0x45, 0xbc, 0x3b, 0xad, 0x9, 0x89, 0xd5, 0xa, 0x5e, 0x82, 0x8e, 0x5a, 0x2c, 0x43, 0x92, 0xd7, 0xf4, 0x9d, 0xee, 0x6d, 0x57, 0x8d, 0x66, 0xa6, 0x84, 0x24, 0xed, 0x1, 0xd5, 0x29, 0xf3, 0xd, 0x5a, 0xcb, 0xce, 0x77, 0x24, 0x4a, 0xcf, 0x8b, 0xfc, 0xc6, 0x86, 0xcb, 0xee, 0xf9, 0x3, 0xf3, 0x98, 0xff, 0xfc, 0x60, 0xbf, 0x69, 0x1e, 0x42, 0xbc, 0x3d, 0x52, 0xd1, 0xf2, 0x9e, 0x1, 0x18, 0x51, 0x93, 0xd2, 0xd4, 0x9b, 0x98, 0xf9, 0xcd, 0xbe, 0xea, 0x9c, 0x1d, 0xb9, 0xba, 0xa2, 0xa0, 0xeb, 0x3d, 0xb3, 0x81, 0xc7, 0x41, 0x26, 0xb0, 0x9d, 0xb1, 0x28, 0xd7, 0xcf, 0xe7, 0xab, 0x1d, 0xda, 0x5d, 0x8a, 0x8e, 0xc6, 0x1a, 0x2c, 0x47, 0xe8, 0x9d, 0xe0, 0x2f, 0x64, 0x80, 0xcb, 0x27, 0xea, 0x32, 0xd9, 0x41, 0x5c, 0x8e, 0xf5, 0x9b, 0x6a, 0x21, 0xa1, 0x1e, 0x4c, 0xd4, 0xea, 0x6, 0xed, 0x93, 0x53, 0x83, 0x94, 0xf3, 0xca, 0x2c, 0xec, 0xc9, 0xdf, 0x2c, 0x31, 0x12, 0x4f, 0xff, 0xfe, 0xca, 0x92, 0xbe, 0xfa, 0xdb, 0x52, 0xe9, 0xdf, 0xa2, 0x24, 0xaf, 0xcc, 0x10, 0x4f, 0xfe, 0x66, 0xfe, 0xe5, 0xde, 0x69, 0xe5, 0xcf, 0x3d, 0x80, 0x70, 0xbb, 0xd1, 0x8e, 0xa5, 0x94, 0x1d, 0xa7, 0x75, 0xc1, 0xf4, 0x82, 0x19, 0xcf, 0x79, 0x7f, 0xad, 0xa8, 0xd9, 0x5b, 0x6c, 0xfd, 0xde, 0xa4, 0x95, 0xd5, 0x8c, 0xf6, 0x32, 0x87, 0x1a, 0xec, 0x32, 0x2b, 0xd, 0x23, 0xfb, 0x4, 0x64, 0x17, 0x6e, 0x37, 0xea, 0xaf, 0x7d, 0x72, 0x3b, 0x50, 0xfd, 0xc7, 0x99, 0x14, 0x79, 0xb6, 0xc, 0x65, 0x9e, 0x66, 0x2f, 0x46, 0x37, 0x96, 0x89, 0xff, 0xc0, 0xe, 0xf5, 0xfc, 0xa, 0xd5, 0xfe, 0xa4, 0x36, 0x57, 0x78, 0x5f, 0x64, 0x99, 0xd5, 0x81, 0xfd, 0x93, 0xa9, 0x43, 0x53, 0xaa, 0xdd, 0xe8, 0x56, 0xb8, 0x10, 0x4a, 0x77, 0x1c, 0x7a, 0x4, 0xf5, 0xe4, 0x18, 0x66, 0xe0, 0x73, 0xad, 0xe0, 0x89, 0x9a, 0x2e, 0x3d, 0x51, 0xbe, 0x2c, 0x18, 0x59, 0xf0, 0xfb, 0x79, 0x45, 0x92, 0x39, 0xcd, 0xef, 0x19, 0xe6, 0xe0, 0xcf, 0x6a, 0xa0, 0xbc, 0x2f, 0x59, 0xc6, 0xa8, 0x9f, 0x26, 0xfa, 0xb4, 0x32, 0xf0, 0x9, 0xe5, 0x46, 0xf4, 0x8a, 0x9f, 0xaa, 0x75, 0x23, 0x19, 0xb9, 0x5b, 0xab, 0xc2, 0xdc, 0xb5, 0xc8, 0x9e, 0xdd, 0x44, 0xce, 0xae, 0xc3, 0xc0, 0xbe, 0xfc, 0x71, 0x0, 0xa1, 0xf1, 0x7, 0x9a, 0xd7, 0x34, 0xdb, 0x52, 0x66, 0x1d, 0xf2, 0x10, 0xd2, 0xa4, 0x2, 0xad, 0x85, 0x56, 0xfa, 0x2c, 0xac, 0xfc, 0xb6, 0x7b, 0xec, 0x1b, 0xa4, 0x46, 0x46, 0xc6, 0xf8, 0x66, 0xf3, 0x6e, 0x35, 0xc6, 0x1e, 0x93, 0x5f, 0x57, 0xa8, 0xd3, 0x9d, 0x4d, 0x94, 0x12, 0x8c, 0x92, 0x8d, 0x13, 0x7f, 0xa2, 0xc5, 0x86, 0x60, 0xb5, 0xee, 0x54, 0x8d, 0xe4, 0x40, 0x2b, 0xfd, 0x38, 0x5f, 0xe2, 0xc4, 0x1e, 0xa9, 0x34, 0x7d, 0xf4, 0xc9, 0x95, 0x4d, 0x55, 0x87, 0x18, 0x2c, 0x3c, 0xe0, 0xbd, 0xed, 0x7d, 0x86, 0xc6, 0x75, 0xf2, 0x6c, 0x6e, 0x55, 0x23, 0x7b, 0xe, 0xa1, 0xee, 0xb7, 0xa8, 0xac, 0x1e, 0xf1, 0xac, 0xf0, 0x2e, 0x6, 0xe0, 0xe7, 0xe0, 0xa5, 0x7f, 0x45, 0x1c, 0x52, 0x51, 0x5e, 0xd5, 0x2b, 0x7a, 0x5c, 0x68, 0xd6, 0x57, 0xb6, 0x42, 0x2e, 0x2a, 0xcf, 0x1c, 0x81, 0x9b, 0x53, 0x97, 0x3c, 0x96, 0x75, 0xde, 0xbc, 0xc7, 0x57, 0xdc, 0x6c, 0xbf, 0x7b, 0x9d, 0x7b, 0x15, 0x2b, 0x38, 0x79, 0x32, 0x73, 0x3c, 0xb8, 0x86, 0xba, 0x5a, 0xe3, 0x8d, 0x99, 0xe8, 0x58, 0x84, 0x68, 0x1a, 0x92, 0xd1, 0x44, 0x56, 0x1d, 0xc0, 0x3, 0x5c, 0x53, 0xe3, 0x10, 0x36, 0xdb, 0x95, 0xc6, 0xb7, 0xf7, 0x19, 0x7e, 0x46, 0xed, 0x4e, 0x3b, 0x69, 0x6b, 0xd8, 0xd3, 0x7d, 0xc6, 0xae, 0xb2, 0x4f, 0x8a, 0x5, 0x23, 0x53, 0x9e, 0xd3, 0x72, 0x49, 0x8e, 0xa6, 0xcb, 0x8a, 0x61, 0x5d, 0xf3, 0x1b, 0x2, 0x45, 0xd6, 0x47, 0xec, 0xf3, 0x9, 0x9, 0x29, 0xee, 0x49, 0x41, 0x4b, 0xba, 0x60, 0x15, 0x24, 0x6c, 0x79, 0x36, 0xd, 0x2, 0x8e, 0xbf, 0x1, 0xdd, 0xcd, 0x7d, 0x42, 0xc3, 0xbd, 0xa8, 0x75, 0x56, 0x1c, 0xd0, 0xd4, 0xc4, 0x1d, 0x74, 0xbf, 0xd8, 0x15, 0x96, 0xd1, 0xf4, 0x8, 0xcb, 0x13, 0x91, 0x2, 0xa7, 0x24, 0xcb, 0x93, 0x72, 0x59, 0xa0, 0x8b, 0x93, 0x55, 0xc9, 0x9b, 0xbe, 0x5, 0x38, 0x7, 0x1f, 0xbb, 0xeb, 0x45, 0xef, 0x75, 0x68, 0x47, 0x27, 0x77, 0xd5, 0x92, 0x95, 0xc7, 0x9a, 0xdc, 0x2e, 0x58, 0x9b, 0xdb, 0xa1, 0x4e, 0xfb, 0xd2, 0xff, 0x7d, 0x86, 0xc1, 0x87, 0x6d, 0xdd, 0x9c, 0xfc, 0xaf, 0xec, 0x87, 0x65, 0x54, 0x40, 0xd6, 0x29, 0xb, 0x39, 0xa0, 0xd0, 0x37, 0x94, 0x7c, 0x9f, 0x6d, 0x9e, 0x8e, 0xce, 0xe7, 0xd1, 0xd9, 0x66, 0xed, 0x7a, 0x8c, 0x59, 0x43, 0x70, 0xf, 0xc7, 0x6f, 0xea, 0xbc, 0xf0, 0x92, 0xe9, 0x1a, 0x2a, 0x1d, 0xf9, 0x83, 0x33, 0x2, 0x6d, 0x6, 0xab, 0xb1, 0xed, 0xbc, 0x8b, 0xe8, 0x35, 0x72, 0xa8, 0x72, 0xf8, 0x28, 0xe9, 0x39, 0xca, 0xdc, 0x6, 0x6d, 0xd, 0x1e, 0xb8, 0xc3, 0xd1, 0x63, 0x96, 0xb1, 0x51, 0xde, 0x76, 0x28, 0x1c, 0xd9, 0xc2, 0x4f, 0x63, 0x1e, 0xdd, 0x86, 0x9e, 0x7e, 0xe0, 0xbd, 0xe3, 0x31, 0x8, 0x6f, 0x83, 0xff, 0x38, 0x38, 0x9d, 0x8c, 0x7e, 0x19, 0x4d, 0x7e, 0xed, 0xc, 0xfc, 0x18, 0xbd, 0xb0, 0x9, 0xf1, 0x31, 0x7e, 0x7c, 0x2d, 0x64, 0x63, 0xf4, 0x70, 0xcc, 0x75, 0xd7, 0xed, 0xad, 0xab, 0xc1, 0xcd, 0xf5, 0x56, 0xcf, 0xb6, 0x76, 0xb0, 0xd, 0xd2, 0xf9, 0x9c, 0xd1, 0xb2, 0x9a, 0x32, 0x5a, 0x45, 0xa7, 0xbc, 0xe3, 0x6e, 0xf4, 0xc2, 0x12, 0x19, 0x95, 0xd5, 0x4f, 0xa6, 0xb5, 0x8e, 0x25, 0xd8, 0xeb, 0x61, 0xa3, 0x74, 0xca, 0xcc, 0xde, 0x6d, 0x6d, 0x1, 0x4c, 0xd7, 0xe, 0x95, 0xb6, 0xa0, 0x9f, 0xf9, 0xa2, 0x5e, 0x68, 0xac, 0xa8, 0x96, 0xa3, 0xdd, 0xb5, 0x21, 0xeb, 0x91, 0xd8, 0x7b, 0x4e, 0x5b, 0xc3, 0xa1, 0xad, 0x5f, 0xea, 0x16, 0x68, 0xae, 0xad, 0xe2, 0xd6, 0xaa, 0xd, 0x75, 0xf3, 0xb2, 0x72, 0xd4, 0x55, 0x35, 0x53, 0xaf, 0x8c, 0xf2, 0x94, 0x15, 0x2c, 0x4f, 0x1, 0xba, 0x76, 0x20, 0x25, 0xbf, 0xcf, 0x59, 0xfa, 0x43, 0xcd, 0xb3, 0x74, 0x6f, 0xb7, 0xb7, 0x6f, 0xcc, 0x42, 0x72, 0xc9, 0x82, 0x51, 0xd, 0xd4, 0xed, 0xae, 0x6b, 0x49, 0xb8, 0x3f, 0x2, 0xc3, 0x68, 0xcd, 0x52, 0x88, 0x36, 0x2a, 0x5d, 0x15, 0xf1, 0xf4, 0x75, 0x14, 0x74, 0xaa, 0x46, 0xa6, 0x55, 0x5f, 0x5e, 0xc9, 0x16, 0x4a, 0x6c, 0xf8, 0x99, 0x84, 0x9e, 0x9a, 0x2c, 0x23, 0x46, 0xed, 0xc3, 0x6, 0xb8, 0xab, 0xae, 0xd0, 0x55, 0xb8, 0xb9, 0xac, 0x18, 0x8d, 0x13, 0x58, 0x75, 0x96, 0x9, 0xa4, 0x5f, 0x21, 0x32, 0xa0, 0xce, 0xd6, 0x75, 0x7e, 0x2d, 0xa8, 0xff, 0x46, 0x35, 0x9a, 0xea, 0xd5, 0x73, 0x83, 0x54, 0xf7, 0xbc, 0xf6, 0xa2, 0xd0, 0x24, 0x11, 0x65, 0xaa, 0xcb, 0x18, 0x10, 0xd1, 0xad, 0x52, 0x8a, 0x9c, 0x63, 0xf0, 0xe, 0xbb, 0x56, 0x46, 0x95, 0xe7, 0x43, 0x75, 0x5f, 0x57, 0xf3, 0x68, 0x5f, 0x57, 0x74, 0x51, 0xec, 0xed, 0xea, 0xb, 0x9b, 0xeb, 0x5a, 0xcd, 0x13, 0x7e, 0x58, 0x66, 0xe6, 0xa0, 0xae, 0x8e, 0x45, 0xe1, 0x5b, 0x10, 0x98, 0x87, 0xff, 0x38, 0x87, 0x44, 0x5d, 0xcf, 0xff, 0x7, 0xe6, 0xe4, 0x42, 0x40, 0xe1, 0x71, 0x82, 0xdf, 0x3d, 0xe5, 0x12, 0xe2, 0x77, 0x71, 0xfe, 0xa1, 0x57, 0x29, 0x2d, 0xe7, 0x6, 0xcd, 0x31, 0xc9, 0x18, 0x55, 0xb, 0x5d, 0x17, 0x98, 0xa2, 0xe4, 0x16, 0xf1, 0xf8, 0xf, 0x64, 0x70, 0x35, 0xc2, 0x34, 0xe1, 0x85, 0x78, 0x50, 0x23, 0xfc, 0x2f, 0x78, 0xba, 0x2e, 0x8e, 0x99, 0xe7, 0xb, 0x3b, 0x7e, 0x7c, 0xf8, 0x6f, 0xdb, 0x91, 0xb6, 0x7f, 0x80, 0xaa, 0x78, 0xa4, 0x73, 0x17, 0x9f, 0x41, 0x8d, 0x39, 0x66, 0xd, 0x5, 0xbb, 0x18, 0xea, 0x5f, 0xea, 0xbc, 0xe2, 0x99, 0x43, 0xb9, 0x3, 0x6, 0xe5, 0xe6, 0xc6, 0xf5, 0x8f, 0x58, 0x13, 0x9b, 0x9a, 0x57, 0xd6, 0xb2, 0x73, 0x8d, 0xd8, 0xc4, 0x4d, 0xc0, 0xe9, 0x33, 0xef, 0xfb, 0x25, 0xb1, 0x9b, 0x3b, 0x50, 0x23, 0x8c, 0x3a, 0xb0, 0xe6, 0x65, 0xd0, 0x47, 0xeb, 0x51, 0x2b, 0x99, 0x1b, 0x96, 0x30, 0x2f, 0x78, 0x43, 0xad, 0x7d, 0xa8, 0xad, 0x27, 0x6, 0x5b, 0x34, 0xd3, 0x33, 0x28, 0x82, 0xe0, 0x2, 0xb1, 0xc8, 0x8b, 0xc1, 0xa, 0xcc, 0x29, 0x66, 0x96, 0x1, 0x21, 0xa2, 0xab, 0xab, 0x5c, 0x22, 0x3f, 0x7d, 0xbe, 0x7a, 0xa, 0xeb, 0x2e, 0x85, 0x3, 0x61, 0x23, 0x46, 0x1b, 0xeb, 0x42, 0x7d, 0x6d, 0x37, 0xdd, 0x70, 0x7b, 0x4d, 0x59, 0x3b, 0x50, 0xe2, 0xba, 0xf, 0xee, 0x44, 0x21, 0x46, 0x82, 0x20, 0x91, 0x6f, 0xa7, 0x9, 0xa3, 0x8b, 0x61, 0xeb, 0x94, 0x19, 0x57, 0x3f, 0xc6, 0xc3, 0x31, 0xc6, 0x2e, 0xb, 0xf5, 0x59, 0xcf, 0x58, 0x91, 0x89, 0xa5, 0x92, 0x1, 0x7b, 0xc9, 0x4e, 0xd7, 0x4c, 0x57, 0x99, 0x9, 0xa0, 0x11, 0xf6, 0xad, 0x16, 0x71, 0xe8, 0x4, 0xa0, 0x92, 0x99, 0x81, 0x70, 0xec, 0x93, 0x2b, 0xd, 0x8c, 0x0, 0x48, 0x11, 0x3c, 0x8c, 0xbe, 0x86, 0xdf, 0xa9, 0xd9, 0x14, 0xf5, 0xee, 0x54, 0x14, 0xca, 0xd1, 0xa7, 0x6d, 0x38, 0x9d, 0xd5, 0x42, 0xdd, 0xba, 0xc1, 0xde, 0xea, 0xf7, 0xef, 0xda, 0xae, 0x23, 0xb7, 0x12, 0xfa, 0x26, 0x39, 0x40, 0xce, 0x2b, 0xb6, 0x4c, 0x5c, 0xd3, 0x44, 0xb7, 0xbd, 0xe5, 0xb2, 0x1d, 0x64, 0x9a, 0x6b, 0x27, 0xb8, 0xe3, 0xa5, 0xdb, 0x68, 0x73, 0x9b, 0x5d, 0xf4, 0x34, 0xab, 0x33, 0x9a, 0x91, 0x9c, 0x67, 0xbd, 0x50, 0x3b, 0x33, 0x72, 0x4d, 0x9, 0x32, 0x24, 0x7b, 0x75, 0xed, 0x89, 0x12, 0x7a, 0x0, 0x59, 0x19, 0x6d, 0xb8, 0x9c, 0xd4, 0xf9, 0xea, 0x3d, 0x57, 0x94, 0x5c, 0x94, 0x91, 0x7a, 0xba, 0x7d, 0xfd, 0xb1, 0x6e, 0xa4, 0xeb, 0xc2, 0x99, 0xe7, 0xad, 0xb3, 0xa7, 0x8f, 0x37, 0xe, 0x68, 0xa5, 0x52, 0xd2, 0x7b, 0x66, 0xb2, 0x83, 0xb5, 0xd7, 0x9, 0x90, 0x9f, 0x69, 0xbe, 0x34, 0x25, 0x8f, 0xad, 0xb5, 0x77, 0xf6, 0xd9, 0x6a, 0xce, 0xd4, 0xcd, 0x36, 0x67, 0x25, 0xc7, 0x32, 0xa9, 0x7, 0x9a, 0xd5, 0x3e, 0x84, 0x4e, 0x53, 0x4f, 0x2d, 0x4c, 0x98, 0xa2, 0xb3, 0xbd, 0xd7, 0xf4, 0x27, 0xdc, 0xda, 0x58, 0xc7, 0xeb, 0x86, 0x27, 0x20, 0xca, 0xe1, 0xdc, 0x69, 0x95, 0x7, 0x61, 0x5b, 0xab, 0x89, 0x8d, 0xf5, 0xd, 0x6f, 0x37, 0x8e, 0xc0, 0x17, 0x90, 0x36, 0x78, 0xea, 0xe0, 0x72, 0x3c, 0x70, 0x51, 0x91, 0x33, 0x5b, 0x39, 0xa2, 0xb3, 0xa4, 0x9b, 0xa1, 0x9c, 0x75, 0x53, 0xde, 0xda, 0x2b, 0x54, 0xef, 0x88, 0x17, 0xdd, 0xd0, 0xf, 0x82, 0x23, 0x16, 0xdf, 0x32, 0xeb, 0x6e, 0xb8, 0x45, 0x10, 0x9e, 0xdb, 0x6d, 0xe3, 0x47, 0xb1, 0xbe, 0x95, 0xdf, 0xa4, 0x65, 0x90, 0x26, 0xbf, 0x1e, 0x87, 0xa1, 0x35, 0x31, 0x65, 0x2b, 0x7a, 0x7e, 0xca, 0xd2, 0x8b, 0x99, 0xed, 0x39, 0xc0, 0x71, 0x9d, 0xad, 0xce, 0xab, 0x5e, 0x33, 0x3c, 0x35, 0x4, 0xff, 0xf3, 0x9f, 0xce, 0x79, 0x96, 0xee, 0xc3, 0xcf, 0xb4, 0x45, 0x64, 0xa7, 0x5b, 0x34, 0xc6, 0x56, 0xd5, 0x2e, 0xb, 0x76, 0x41, 0x3b, 0x6c, 0x29, 0x1b, 0xd6, 0xe8, 0xd0, 0x78, 0x41, 0xd5, 0x41, 0x81, 0xb2, 0xb6, 0x2b, 0xc8, 0xcb, 0xdd, 0xe8, 0x8c, 0x1b, 0x8c, 0x87, 0x17, 0x93, 0xdb, 0xd3, 0xf3, 0xcb, 0xeb, 0xe1, 0xed, 0xd5, 0xe5, 0xf9, 0xe8, 0xf4, 0xd7, 0x75, 0x9e, 0xb8, 0x96, 0xa7, 0x2d, 0x4, 0x5b, 0x87, 0x67, 0x7, 0x3f, 0xc, 0x2e, 0xce, 0x2e, 0x2f, 0x3a, 0x3c, 0xa9, 0x1d, 0x63, 0xda, 0x11, 0xb7, 0xe5, 0xa9, 0x7b, 0x7d, 0xc6, 0x66, 0xb4, 0xce, 0xaa, 0x93, 0xf5, 0x3, 0xee, 0xbf, 0x5e, 0xe7, 0x5e, 0xd3, 0x1b, 0x28, 0x4c, 0xd8, 0xdf, 0x61, 0x3, 0xed, 0x8a, 0x20, 0xb2, 0xaa, 0xe6, 0x36, 0x44, 0xe3, 0x80, 0x9f, 0xf1, 0xb7, 0xcc, 0x9c, 0xf5, 0x34, 0x30, 0x3d, 0x7, 0x46, 0x70, 0x5e, 0xad, 0x2d, 0x76, 0x29, 0x32, 0xfb, 0xd6, 0x50, 0x39, 0x4c, 0xed, 0x36, 0x5e, 0xd5, 0xd9, 0xd2, 0xbe, 0x29, 0x59, 0x85, 0xf8, 0x10, 0x41, 0x59, 0xe6, 0xf3, 0x2c, 0x3a, 0xdd, 0xde, 0xdd, 0xbb, 0xe1, 0xe6, 0x5f, 0x51, 0xa2, 0xda, 0x1d, 0x48, 0xf4, 0x85, 0x59, 0x6b, 0x5f, 0x66, 0xad, 0x67, 0xc2, 0x16, 0xfb, 0x42, 0x7c, 0xa3, 0x7f, 0x76, 0x21, 0xbe, 0x79, 0xa1, 0x49, 0xf9, 0x36, 0x68, 0x52, 0xe, 0x43, 0xf3, 0xb1, 0x9a, 0xdd, 0x63, 0xdf, 0xea, 0xd3, 0x96, 0xe3, 0x6d, 0x0, 0x13, 0x3, 0x42, 0xf9, 0x55, 0xc0, 0x8a, 0x7d, 0x72, 0x4a, 0x73, 0x9d, 0xa9, 0x91, 0xe2, 0xe1, 0x28, 0x4b, 0x96, 0xa9, 0xeb, 0x26, 0xc0, 0x2b, 0xc0, 0xb2, 0xeb, 0x58, 0x81, 0xc0, 0x14, 0x88, 0xb6, 0x6c, 0x18, 0x9d, 0x3d, 0x3, 0x29, 0xc4, 0x36, 0x39, 0x45, 0x9f, 0x70, 0xb7, 0xf2, 0xcf, 0x8b, 0xdb, 0xe4, 0x77, 0x41, 0xbe, 0xf1, 0x8d, 0x61, 0xb9, 0x3c, 0x1f, 0x35, 0xea, 0x9b, 0xc1, 0x5a, 0x79, 0x26, 0x4b, 0x1a, 0x4c, 0x6d, 0xa5, 0x99, 0xba, 0x92, 0xdd, 0xba, 0x60, 0x3e, 0x3c, 0x42, 0x34, 0x57, 0xdd, 0xdc, 0x47, 0xf, 0xfa, 0x6b, 0x17, 0xd4, 0xda, 0x6d, 0xb4, 0xd5, 0x10, 0x15, 0xac, 0xab, 0xae, 0xda, 0xf6, 0xd6, 0x26, 0x4d, 0xb5, 0xf5, 0x9d, 0x86, 0xbe, 0xb9, 0x8d, 0xee, 0x78, 0xb8, 0x8c, 0x10, 0x3, 0x34, 0x75, 0xbd, 0x8f, 0xd1, 0x11, 0xed, 0x73, 0xd3, 0xe6, 0xad, 0x1d, 0x26, 0x52, 0x78, 0x69, 0xd3, 0x2c, 0x44, 0x19, 0x37, 0x97, 0xda, 0x8c, 0x97, 0xb2, 0xf2, 0x72, 0x9d, 0x95, 0xc2, 0x97, 0xd6, 0xaa, 0xd7, 0xe8, 0x97, 0x36, 0xf7, 0x28, 0x3a, 0x25, 0x36, 0x8b, 0x28, 0x7a, 0x9e, 0x4b, 0x92, 0x8a, 0x1c, 0x6c, 0x3f, 0xcc, 0x1, 0x4d, 0x3f, 0xb6, 0x0, 0xcc, 0xe1, 0xc5, 0xf6, 0x5e, 0x94, 0x9, 0x3b, 0x85, 0x9c, 0xf1, 0xb, 0xf6, 0xe8, 0x3f, 0x47, 0xfe, 0xfd, 0xdf, 0x49, 0x55, 0xd6, 0x4c, 0xa7, 0x78, 0x18, 0xcc, 0x9e, 0x86, 0x52, 0xb, 0x7, 0x39, 0xa1, 0x92, 0xf5, 0xc8, 0x65, 0xdb, 0xd2, 0x92, 0x47, 0x91, 0xbf, 0x36, 0x75, 0x2a, 0x90, 0x8a, 0xa0, 0x91, 0xf8, 0x4d, 0xc4, 0x19, 0xd6, 0xe4, 0x78, 0xe5, 0x1a, 0xb2, 0xcf, 0x9, 0x63, 0x69, 0x4, 0x16, 0xa, 0xc9, 0xa6, 0xd5, 0xbc, 0x64, 0x72, 0x2e, 0x32, 0x9d, 0x20, 0x1d, 0x2e, 0x82, 0x89, 0x6c, 0xce, 0xd4, 0x4, 0xd3, 0xed, 0x58, 0xb, 0xe5, 0x73, 0x48, 0xa8, 0xba, 0xca, 0xea, 0x7b, 0xbe, 0x8b, 0x1f, 0x2c, 0xef, 0xe2, 0xeb, 0x5c, 0x51, 0x28, 0x6e, 0xf6, 0x66, 0x1, 0x9d, 0xf7, 0xc0, 0x60, 0xa, 0x33, 0xe1, 0x1f, 0x76, 0xb, 0x20, 0xfa, 0x19, 0x28, 0x51, 0x1f, 0x3e, 0x0, 0xb2, 0x96, 0x8d, 0x22, 0xcb, 0xf6, 0xac, 0x16, 0xb4, 0xe3, 0x38, 0x10, 0xe1, 0x8d, 0xf1, 0x84, 0xf7, 0xd4, 0xcd, 0xa1, 0x54, 0x1c, 0xd8, 0xc2, 0x65, 0x9d, 0xdf, 0x72, 0x44, 0x46, 0xcc, 0x45, 0x45, 0x64, 0xc1, 0x12, 0x3e, 0xe3, 0xe, 0xa0, 0xaf, 0x61, 0x6f, 0x8a, 0x10, 0xa, 0x81, 0x74, 0x4c, 0xfe, 0xb4, 0x8b, 0xa0, 0xa1, 0x14, 0x5e, 0xdb, 0x65, 0x5a, 0x1, 0xbc, 0xff, 0x75, 0x17, 0xcb, 0x63, 0x5e, 0xda, 0x6b, 0xb5, 0x1e, 0x29, 0xaf, 0xae, 0x2b, 0x7a, 0xbf, 0xf1, 0x86, 0x8b, 0xbd, 0x15, 0x1f, 0x7, 0xa3, 0x89, 0xba, 0x70, 0x7e, 0x5c, 0x77, 0xc1, 0xad, 0x79, 0xa9, 0xdd, 0x37, 0xb2, 0xe6, 0x5, 0xf0, 0x7b, 0x6f, 0xcb, 0x38, 0x3e, 0xf1, 0xaa, 0x3a, 0xa4, 0x9a, 0x66, 0x93, 0x3a, 0xcc, 0x84, 0xe6, 0xd0, 0x41, 0x90, 0x3e, 0x50, 0xc8, 0xc3, 0xae, 0xe6, 0x34, 0x37, 0xca, 0xc6, 0xbd, 0x5d, 0x37, 0xb7, 0x90, 0x85, 0x68, 0xcf, 0xe6, 0x8, 0x6e, 0xd4, 0xa7, 0x30, 0x15, 0x1c, 0x3d, 0xc6, 0x21, 0xd, 0x6, 0x2c, 0x8, 0xd8, 0x33, 0xde, 0xb5, 0x1e, 0x9, 0x1b, 0x21, 0x7b, 0x54, 0x37, 0x6b, 0x21, 0xd8, 0xed, 0x80, 0xfd, 0xc8, 0xfc, 0x97, 0x0, 0x38, 0x52, 0xe3, 0xd3, 0xfd, 0xac, 0x1b, 0x60, 0x9d, 0x37, 0x87, 0xa8, 0xa4, 0x84, 0x7f, 0xaf, 0xff, 0xa9, 0x66, 0xf5, 0x96, 0x88, 0x11, 0x76, 0x54, 0xea, 0x66, 0xdd, 0x69, 0xbb, 0xac, 0x2d, 0xb9, 0x89, 0xdc, 0x55, 0x66, 0xb7, 0x42, 0x61, 0x83, 0x93, 0x5, 0xb1, 0x85, 0xde, 0x55, 0x86, 0xae, 0x29, 0x96, 0xf6, 0x23, 0x84, 0xdb, 0x36, 0x17, 0xe6, 0xe3, 0x17, 0x25, 0x7b, 0xe0, 0xa2, 0x96, 0x3e, 0x7a, 0xe1, 0x41, 0x3c, 0x21, 0xe0, 0x7c, 0xa, 0x35, 0x1b, 0x93, 0xbe, 0xa5, 0xb1, 0x53, 0xa1, 0x1c, 0x6, 0xe2, 0xb3, 0xa5, 0x50, 0x9f, 0x1e, 0x43, 0xb4, 0xa0, 0x20, 0xe9, 0xec, 0x4e, 0xbb, 0xd0, 0x2d, 0x45, 0x54, 0xf0, 0xf3, 0x51, 0xeb, 0x4a, 0x7f, 0x65, 0xa5, 0x50, 0xdb, 0x2b, 0x17, 0x5a, 0xf1, 0xa4, 0x80, 0x77, 0x66, 0x33, 0xc6, 0xfa, 0xb1, 0x86, 0x74, 0xb8, 0x79, 0x3a, 0xec, 0x18, 0x2f, 0xff, 0x65, 0xdd, 0xc4, 0xd, 0x9d, 0x29, 0xe8, 0x79, 0x73, 0xfa, 0xc0, 0x30, 0xf7, 0xc5, 0xa1, 0x6, 0x53, 0x49, 0x68, 0x38, 0x4d, 0x7d, 0xc0, 0x4d, 0x39, 0xb6, 0x92, 0x92, 0xb6, 0xd0, 0x6b, 0xca, 0x80, 0x89, 0x95, 0x95, 0x90, 0x8d, 0x1a, 0x2f, 0x88, 0xc9, 0x2f, 0xe, 0xdb, 0x4b, 0x5, 0xc3, 0x9b, 0x4c, 0x1b, 0x80, 0x90, 0x89, 0x2, 0x83, 0x93, 0x66, 0x70, 0xe0, 0xe0, 0xd5, 0x72, 0xdb, 0x7a, 0x87, 0x8f, 0x72, 0x41, 0x72, 0xf6, 0x48, 0x3e, 0xbe, 0x9f, 0x98, 0x39, 0xbd, 0x89, 0x61, 0xd1, 0x6d, 0xe6, 0x9e, 0x56, 0xaf, 0x73, 0x32, 0xa7, 0x45, 0xc1, 0xb0, 0xac, 0xf6, 0xb7, 0x9a, 0x95, 0x1, 0x78, 0xc3, 0xae, 0x9e, 0xf5, 0x6b, 0xb, 0x3c, 0x55, 0x91, 0xef, 0x51, 0x8b, 0x6e, 0xf1, 0xac, 0xa3, 0xbf, 0x19, 0x8d, 0x6, 0x87, 0x74, 0x39, 0x5d, 0xc2, 0x7c, 0x9b, 0xc9, 0x6a, 0xed, 0xde, 0xe4, 0x29, 0x4d, 0x3e, 0x65, 0xe2, 0x1e, 0xf8, 0xa7, 0x7e, 0xda, 0x3f, 0x4a, 0x3b, 0x20, 0x73, 0xee, 0x21, 0x59, 0x97, 0x8, 0xda, 0xd, 0xd7, 0xa4, 0x1a, 0x9d, 0x43, 0xbe, 0xf2, 0x18, 0x8f, 0xdc, 0xd8, 0xc1, 0x3f, 0x1f, 0xae, 0x78, 0xa1, 0x56, 0x2, 0xef, 0xdc, 0xc8, 0x9d, 0xa8, 0x53, 0xa1, 0xf8, 0x5f, 0x19, 0x49, 0x4b, 0xca, 0xb1, 0xba, 0x9f, 0xc8, 0x8a, 0x27, 0x9f, 0xac, 0xa7, 0x3f, 0x6c, 0xeb, 0x1a, 0x35, 0x1b, 0xa8, 0x13, 0xec, 0x69, 0xd5, 0x46, 0x3, 0x42, 0xba, 0x30, 0x43, 0xb8, 0xd8, 0x38, 0xe8, 0x92, 0x2d, 0x74, 0x7, 0x3e, 0xb9, 0x12, 0x2c, 0x91, 0x3a, 0x23, 0xf9, 0xf1, 0x82, 0x2d, 0xd4, 0xe, 0x9a, 0xd6, 0xb3, 0x59, 0x58, 0xb4, 0xa8, 0x7, 0xef, 0x91, 0xfc, 0xba, 0xe4, 0xcf, 0x44, 0xed, 0x9c, 0x94, 0xd0, 0x28, 0x2f, 0xea, 0xfb, 0x77, 0xef, 0xde, 0xf5, 0xc9, 0xf, 0x2c, 0x81, 0x12, 0x45, 0x7f, 0x3e, 0x9a, 0xec, 0xa, 0x4e, 0x95, 0x32, 0x24, 0xbd, 0xe6, 0xab, 0x20, 0x56, 0x12, 0x36, 0x8, 0xab, 0xef, 0x2b, 0x7c, 0x76, 0xb9, 0xaa, 0x39, 0x5b, 0xf4, 0xc9, 0x85, 0xda, 0x18, 0x99, 0xee, 0xa2, 0xa7, 0xbe, 0xba, 0x2e, 0xa5, 0x9c, 0x53, 0x40, 0x51, 0xc4, 0xaf, 0xa7, 0x74, 0x1b, 0x91, 0xaf, 0xfa, 0x3a, 0x3d, 0x3c, 0xf0, 0xb8, 0x9e, 0x84, 0x9a, 0xa1, 0x58, 0x86, 0x41, 0x20, 0xd5, 0x6, 0xaf, 0xa5, 0x12, 0x80, 0x85, 0x28, 0x2b, 0x67, 0x71, 0x84, 0x4d, 0x8a, 0x7, 0x56, 0x52, 0x75, 0xcc, 0x71, 0x63, 0xf6, 0xc9, 0x75, 0x3d, 0x95, 0x4a, 0x1a, 0xe4, 0x15, 0x19, 0x5f, 0x9d, 0x4a, 0xb0, 0x4b, 0xd4, 0xe9, 0x9e, 0x73, 0xf, 0x6d, 0xde, 0xe, 0x84, 0x50, 0x19, 0x7f, 0x21, 0x38, 0xa8, 0xbe, 0xe2, 0xa2, 0xf, 0xfc, 0x5e, 0x9a, 0xc1, 0x4f, 0xd8, 0xc6, 0x36, 0xb9, 0x87, 0x46, 0xce, 0xd8, 0xed, 0x61, 0xc4, 0x68, 0x20, 0x33, 0x19, 0x57, 0xe7, 0x6, 0x52, 0xbf, 0xcd, 0xe1, 0x86, 0x8a, 0xfd, 0xb2, 0xe2, 0x34, 0xeb, 0x93, 0x2b, 0xfc, 0x87, 0x6e, 0x8c, 0xb3, 0x68, 0xb6, 0x0, 0xc3, 0x9, 0xd6, 0xbb, 0xd0, 0x22, 0x40, 0x42, 0x69, 0x30, 0xec, 0x19, 0xc9, 0xef, 0x73, 0x8a, 0x78, 0x22, 0x78, 0x3c, 0x97, 0xf0, 0x3c, 0x62, 0x1, 0x84, 0x47, 0x47, 0xbb, 0x2, 0x34, 0x86, 0x5f, 0x5c, 0x5f, 0x41, 0xc3, 0x1b, 0x20, 0x8c, 0xb5, 0x5c, 0xd1, 0x7b, 0x76, 0x8, 0x0, 0x57, 0x23, 0xec, 0x25, 0x33, 0xca, 0x9f, 0x2f, 0x4d, 0xcc, 0x62, 0x6a, 0xb9, 0xe, 0xdb, 0xf3, 0x11, 0xd0, 0xf5, 0x80, 0x7a, 0xdd, 0x63, 0x0, 0xb1, 0xf4, 0x6c, 0xe4, 0xba, 0x4e, 0xe6, 0xfa, 0x85, 0xc8, 0x6d, 0x61, 0x8b, 0x23, 0x66, 0xc, 0x33, 0x31, 0x1f, 0x38, 0x25, 0x77, 0x3f, 0xb2, 0xaa, 0xa1, 0xa5, 0xe8, 0xef, 0x7e, 0xd7, 0x26, 0x59, 0x43, 0xcd, 0x48, 0xdd, 0x6, 0xfb, 0xed, 0x31, 0xd3, 0xf9, 0x9f, 0x54, 0x4b, 0x5d, 0x77, 0xda, 0x39, 0xbb, 0xa7, 0xc9, 0xd2, 0xdc, 0x45, 0x44, 0xc9, 0x18, 0x5a, 0x86, 0x5, 0x3b, 0x58, 0x78, 0x2, 0xe3, 0x43, 0x62, 0x9e, 0xa9, 0x85, 0x8d, 0x45, 0xd1, 0xfa, 0xc0, 0xa3, 0x2b, 0xfa, 0x4e, 0x3b, 0xac, 0x60, 0x24, 0x1, 0x1d, 0xc2, 0x5d, 0xdf, 0x44, 0x4b, 0xec, 0x96, 0xf0, 0xf0, 0xd, 0x91, 0x79, 0x8f, 0x1c, 0xd9, 0xd1, 0x94, 0x8c, 0x14, 0xac, 0xd4, 0x20, 0xff, 0x22, 0x12, 0xa6, 0xfa, 0x69, 0xcb, 0xfb, 0xf0, 0x6, 0xb, 0x0, 0x0, 0xfc, 0x54, 0x7f, 0xef, 0x3b, 0x5d, 0xce, 0x62, 0x2b, 0xeb, 0xad, 0x65, 0xa3, 0x21, 0x65, 0x18, 0x51, 0xd2, 0xc6, 0x6d, 0x90, 0x3e, 0x19, 0x45, 0xf2, 0x15, 0x69, 0xf3, 0xa4, 0x8, 0x5f, 0xe7, 0x33, 0xef, 0x1e, 0xd2, 0x3e, 0x2f, 0x28, 0xe0, 0x5, 0x69, 0x26, 0xf2, 0xe3, 0xf0, 0x62, 0x31, 0x8d, 0x35, 0xd4, 0x5f, 0xab, 0xca, 0xef, 0xf5, 0xe5, 0x6d, 0x2b, 0xdb, 0xc8, 0x17, 0x77, 0x85, 0xb6, 0x4d, 0x5, 0xf1, 0x26, 0x2, 0x51, 0x43, 0xb3, 0x47, 0xba, 0x94, 0x80, 0x1b, 0xe9, 0x33, 0xe9, 0x78, 0xb3, 0xcd, 0xe9, 0x22, 0x12, 0xcf, 0x6, 0x57, 0xd, 0xfa, 0xe9, 0xc1, 0x69, 0xb2, 0x6b, 0x67, 0x63, 0x73, 0x89, 0x12, 0xc9, 0x90, 0xac, 0xaa, 0x94, 0xb9, 0xb6, 0x8b, 0xd9, 0x9e, 0xbc, 0x7d, 0xbc, 0xbd, 0x1f, 0x71, 0x77, 0x98, 0xa9, 0x36, 0x80, 0xcf, 0x1d, 0x1f, 0xc2, 0x13, 0xb8, 0x17, 0xdb, 0x46, 0xe2, 0xfc, 0x6, 0x6b, 0x4d, 0x3, 0x9f, 0xf5, 0xa1, 0x7, 0x85, 0x7d, 0x6, 0x8c, 0xc5, 0xbc, 0xae, 0x75, 0xbc, 0x6e, 0x6e, 0x51, 0x7d, 0xb8, 0x9a, 0x63, 0xde, 0x81, 0x33, 0xe6, 0xe0, 0xe2, 0xe8, 0x4f, 0xfa, 0xe4, 0x23, 0x73, 0xb0, 0x95, 0xb3, 0x36, 0x7d, 0x42, 0x3b, 0x1d, 0x8a, 0x22, 0x5b, 0x9a, 0x45, 0x30, 0xa2, 0xdd, 0x57, 0xd, 0xfb, 0x16, 0x36, 0x41, 0xba, 0x56, 0xa2, 0x4b, 0xc9, 0x90, 0xa9, 0x57, 0xc2, 0xca, 0xab, 0x36, 0x7, 0x7b, 0x6a, 0x60, 0x54, 0x4e, 0x40, 0x2, 0xde, 0xa2, 0xf9, 0x21, 0xef, 0x6c, 0x6b, 0x3a, 0xa7, 0xfd, 0xf0, 0x25, 0xf0, 0x1f, 0xb0, 0xe1, 0x95, 0x4b, 0x77, 0x55, 0x8a, 0x4a, 0x24, 0x22, 0xb3, 0x23, 0x20, 0x5, 0xbf, 0xbf, 0x5f, 0x2a, 0x4d, 0x8, 0xf5, 0x27, 0x42, 0xc1, 0x38, 0xa1, 0x40, 0x8c, 0x5b, 0xd2, 0x5c, 0x2a, 0x45, 0xca, 0x19, 0xbb, 0x22, 0xcb, 0x58, 0x79, 0x9d, 0x50, 0x75, 0xe2, 0xce, 0x58, 0xc2, 0xf7, 0x2e, 0xb8, 0xb8, 0x6a, 0x6b, 0x71, 0xd, 0x9, 0xae, 0x3a, 0x6a, 0xc7, 0x34, 0x7d, 0xe0, 0xc8, 0x4d, 0xe2, 0x78, 0x53, 0x1, 0x47, 0xfd, 0xec, 0x67, 0x90, 0xbd, 0xb5, 0x86, 0xbe, 0x48, 0xff, 0xa2, 0xae, 0x1e, 0x5e, 0x49, 0x3d, 0x70, 0x92, 0x28, 0x1b, 0xa4, 0x1f, 0x4d, 0xe7, 0xc7, 0x52, 0xd4, 0xc5, 0x1, 0x4c, 0x59, 0x6e, 0xbb, 0xb9, 0x57, 0x2d, 0x2, 0x7c, 0xbe, 0xf, 0x92, 0xcd, 0x88, 0x78, 0xcc, 0xd, 0xa5, 0x7b, 0x1c, 0xb4, 0xa0, 0xa6, 0x30, 0xcf, 0x58, 0x79, 0xcb, 0x36, 0xd2, 0x57, 0xf5, 0x73, 0x1a, 0x30, 0xf7, 0xac, 0xbc, 0x35, 0xcd, 0x1e, 0x2e, 0xa8, 0xd4, 0x48, 0x19, 0x50, 0xf3, 0x80, 0xe0, 0x4c, 0x70, 0x34, 0x2d, 0xf4, 0x60, 0xeb, 0x7a, 0xe4, 0x33, 0xf1, 0x4, 0x8, 0xd, 0x61, 0x7, 0xdb, 0x5c, 0x3d, 0x8f, 0x8c, 0xdf, 0xcf, 0xd5, 0xbc, 0x80, 0x10, 0x57, 0xcc, 0x82, 0xb5, 0x96, 0x64, 0x74, 0xa6, 0x5, 0x80, 0x6, 0xab, 0xd1, 0xb3, 0x57, 0x3b, 0x41, 0xcd, 0x58, 0xe3, 0xa3, 0xa9, 0x77, 0x34, 0x62, 0x73, 0xd3, 0xfb, 0x84, 0x72, 0xae, 0x66, 0x7d, 0x72, 0x8a, 0x6d, 0x80, 0xdf, 0xa4, 0x60, 0x9, 0x12, 0x41, 0x85, 0xb3, 0x54, 0x56, 0x54, 0x9f, 0x7c, 0xa0, 0x1c, 0xed, 0xff, 0x5, 0xcf, 0xf9, 0xa2, 0x5e, 0x78, 0x66, 0x1d, 0xe, 0x4f, 0x92, 0x5c, 0x60, 0x9e, 0x96, 0xf5, 0xdc, 0xba, 0x47, 0x70, 0xe8, 0xfd, 0xb8, 0xdd, 0x3f, 0xf4, 0xc9, 0xa4, 0x4, 0xd0, 0x4e, 0xac, 0x58, 0x76, 0x99, 0x40, 0xe0, 0xb7, 0x80, 0x4, 0x64, 0xdc, 0x61, 0x4a, 0x21, 0x11, 0x75, 0x5, 0xd6, 0xb8, 0x9, 0x39, 0xc3, 0x14, 0x7b, 0x71, 0x9b, 0x7f, 0x4, 0x1d, 0x8a, 0x3d, 0xa8, 0x7d, 0x85, 0xef, 0xce, 0xa9, 0x6, 0x6e, 0x9, 0x5f, 0xdc, 0xd8, 0x67, 0x49, 0xf3, 0x54, 0x2c, 0xb2, 0x65, 0xdc, 0x3, 0x69, 0x96, 0x50, 0xe3, 0x27, 0x93, 0xce, 0x19, 0xe9, 0x7d, 0xfa, 0x2d, 0xdd, 0x8f, 0x1d, 0x10, 0x1, 0xb1, 0xb7, 0xe6, 0x63, 0xb8, 0xde, 0x2d, 0xd7, 0xdc, 0x2c, 0x13, 0xda, 0x30, 0xc6, 0xb1, 0xed, 0x30, 0x2c, 0xc8, 0x49, 0x3, 0xb7, 0xeb, 0xde, 0x11, 0xc3, 0xce, 0x80, 0x4d, 0xea, 0x4e, 0xbf, 0x62, 0xe5, 0x35, 0x4b, 0x44, 0xde, 0xb2, 0x2a, 0x2b, 0xa7, 0x9b, 0x8a, 0x7a, 0x9a, 0xb1, 0x40, 0xad, 0xb4, 0xe5, 0xe5, 0xa7, 0xb4, 0xa0, 0x53, 0x9e, 0xf1, 0xf8, 0xb6, 0xde, 0xaf, 0x68, 0xdd, 0x6f, 0xb5, 0x33, 0x13, 0xe5, 0x4c, 0x9b, 0x7e, 0xac, 0x84, 0x2d, 0x2a, 0xa, 0x8c, 0x6e, 0x98, 0x2d, 0x85, 0x7f, 0x71, 0x5, 0xe5, 0x64, 0xc6, 0x28, 0x1c, 0xed, 0xc7, 0x39, 0xcf, 0x98, 0x51, 0x6, 0x7b, 0x20, 0xf4, 0x13, 0xaf, 0x7f, 0x50, 0x47, 0xa3, 0xdb, 0x1c, 0xed, 0x16, 0x65, 0xf4, 0xad, 0x29, 0x45, 0x1c, 0xb3, 0x22, 0xa3, 0x1a, 0x2, 0xc7, 0x2b, 0x46, 0x34, 0x15, 0x54, 0xff, 0xe4, 0x26, 0x65, 0xfe, 0x76, 0x88, 0xca, 0xae, 0xb8, 0xe, 0x71, 0x53, 0x85, 0x97, 0x2e, 0x3a, 0xf4, 0x2a, 0x58, 0xf5, 0x0, 0x51, 0x28, 0xaa, 0x8b, 0xd1, 0xd8, 0xec, 0x3e, 0xa7, 0x62, 0xeb, 0xed, 0xbb, 0x6d, 0xe1, 0x96, 0xc8, 0x32, 0xad, 0xef, 0x9c, 0xb1, 0xac, 0xa2, 0xd7, 0xf5, 0xfd, 0x3d, 0x93, 0xed, 0xe5, 0x9, 0xdb, 0xa5, 0xfb, 0xfe, 0x24, 0x1e, 0xc9, 0x2, 0x64, 0x9b, 0xe7, 0xaf, 0x5, 0xf1, 0x2d, 0xb1, 0xf, 0x4f, 0xdb, 0xc3, 0x64, 0x5c, 0x51, 0x1a, 0x5c, 0x1, 0x9b, 0xa4, 0x49, 0x6, 0x0, 0x91, 0x94, 0x8b, 0xc7, 0x9e, 0x61, 0x2e, 0x13, 0x79, 0x2c, 0xbe, 0x64, 0x42, 0x33, 0x26, 0x49, 0x5d, 0xa8, 0x16, 0x52, 0xf1, 0x98, 0xab, 0xaf, 0xfd, 0x7d, 0x5f, 0x8d, 0x40, 0xc9, 0xcc, 0x9e, 0x5a, 0x40, 0xab, 0x15, 0xd2, 0x4c, 0xdd, 0xda, 0xc0, 0x72, 0x9, 0x7e, 0x14, 0x5d, 0x4b, 0x78, 0x84, 0x3b, 0x50, 0x56, 0x14, 0xd4, 0x4c, 0x25, 0x9b, 0x63, 0x57, 0x9e, 0xc6, 0x92, 0x52, 0xb7, 0xc5, 0xdb, 0x5, 0xfd, 0xfc, 0x26, 0xf6, 0x1e, 0x4e, 0xb4, 0xe, 0xa3, 0xac, 0xe8, 0x92, 0x81, 0xe, 0xc3, 0xef, 0x73, 0xf4, 0x8d, 0x71, 0x69, 0x66, 0xd, 0xbe, 0xb0, 0xe1, 0x9f, 0x4f, 0xc8, 0x82, 0x7e, 0xb2, 0xce, 0x33, 0xbc, 0xd9, 0xd0, 0xeb, 0x9c, 0x8b, 0x4a, 0xfd, 0xd, 0xdc, 0x34, 0x92, 0x91, 0x29, 0xfa, 0xf9, 0xa2, 0xcd, 0x9f, 0x65, 0x44, 0x66, 0xa2, 0x42, 0x83, 0xd9, 0x18, 0xd3, 0x22, 0x49, 0xea, 0x82, 0x6f, 0x4e, 0x11, 0x5e, 0xf5, 0xd5, 0x6, 0x9e, 0x82, 0xc, 0x6a, 0x4d, 0x69, 0x55, 0xea, 0x4a, 0x0, 0x50, 0x36, 0x38, 0x6f, 0x2d, 0x69, 0x82, 0x9a, 0x2c, 0x9d, 0xaa, 0x2b, 0x6c, 0xae, 0xac, 0x7a, 0x4d, 0x38, 0xef, 0xd4, 0x36, 0x7b, 0x57, 0xba, 0xf1, 0xe8, 0x7b, 0xd5, 0xec, 0x5f, 0x59, 0x8d, 0x99, 0x64, 0x2e, 0x80, 0xb8, 0x6d, 0x16, 0x15, 0xf8, 0xab, 0x8c, 0xe, 0xdf, 0xb9, 0xd4, 0xb3, 0xd1, 0xed, 0xed, 0x75, 0xd0, 0x90, 0x3b, 0xa7, 0x88, 0xf1, 0x6e, 0x7e, 0xdf, 0x22, 0x1a, 0xb6, 0xec, 0xe7, 0xa6, 0xad, 0xbd, 0x56, 0xc4, 0xab, 0xe6, 0xcb, 0xce, 0x57, 0x2a, 0xc3, 0xfc, 0x58, 0x8d, 0x46, 0xc8, 0x4a, 0xcd, 0x7e, 0x2b, 0xcc, 0xfd, 0xff, 0xd8, 0x86, 0x5d, 0x68, 0x82, 0xb8, 0x3e, 0x6c, 0x9b, 0x81, 0x16, 0xdf, 0xb8, 0x32, 0x3b, 0x7d, 0x9f, 0x4e, 0x35, 0x7c, 0x2d, 0x71, 0x53, 0x7, 0x96, 0x5d, 0x57, 0x73, 0x61, 0xb1, 0xdc, 0x82, 0x7c, 0x17, 0xec, 0x1, 0x5, 0xa3, 0xc3, 0xb1, 0x69, 0xd6, 0xcd, 0x1c, 0x8c, 0x93, 0x79, 0xb5, 0x10, 0x37, 0xc8, 0x74, 0x2c, 0x45, 0x99, 0x72, 0x24, 0xdf, 0x60, 0x14, 0x2, 0x52, 0x80, 0x9d, 0xfb, 0x9, 0x87, 0xec, 0x39, 0x9b, 0x1b, 0x84, 0xae, 0xdb, 0xfb, 0x9a, 0xa1, 0x89, 0x95, 0x23, 0xfb, 0x49, 0xb3, 0xab, 0x22, 0x15, 0x9c, 0x12, 0x37, 0x14, 0xc2, 0x8d, 0xd1, 0x90, 0xcc, 0xea, 0xe9, 0x78, 0xa4, 0x9f, 0xcf, 0xe6, 0x15, 0xed, 0xb7, 0x13, 0xaf, 0xec, 0x69, 0x59, 0x9c, 0xf3, 0xfc, 0xd3, 0xca, 0xe1, 0x9f, 0x1b, 0xa2, 0x96, 0x29, 0xa0, 0x0, 0x89, 0x84, 0x87, 0xfe, 0xbc, 0x86, 0xb, 0xf6, 0xda, 0xb8, 0xb1, 0x3, 0x4e, 0xd1, 0x55, 0x52, 0x2f, 0xdc, 0xe1, 0xfe, 0x29, 0x33, 0x4c, 0xd6, 0xd4, 0x2c, 0xd0, 0xba, 0xb3, 0x3, 0x3f, 0x3f, 0x33, 0x56, 0xe0, 0x1a, 0x1a, 0x88, 0x44, 0xc2, 0x73, 0xe0, 0xcc, 0xd2, 0xc3, 0xd5, 0x84, 0xb7, 0x7d, 0x5a, 0xf0, 0xbe, 0x75, 0x63, 0x62, 0x99, 0x60, 0xff, 0xe1, 0xfb, 0x7e, 0x38, 0x96, 0x18, 0xd7, 0x75, 0xe5, 0x21, 0x6d, 0x15, 0x2b, 0x3b, 0x96, 0xf1, 0xba, 0x94, 0xa5, 0x3, 0x29, 0x42, 0x6d, 0x8d, 0xae, 0xfc, 0xd6, 0x38, 0x13, 0xc7, 0xd2, 0x12, 0xe8, 0x41, 0xe0, 0xbe, 0xf7, 0xf9, 0x46, 0x6d, 0x22, 0xd2, 0x3, 0xa7, 0x18, 0x13, 0x6d, 0x74, 0xe8, 0x2, 0x22, 0x28, 0xcb, 0xf5, 0x8d, 0x9, 0x44, 0xcc, 0x1a, 0x6, 0x2b, 0x11, 0x79, 0x55, 0xaa, 0x7b, 0x9, 0xb4, 0x44, 0x7c, 0xec, 0x76, 0x11, 0x84, 0x2d, 0xf0, 0x97, 0x1f, 0xa8, 0xfc, 0xb4, 0xa7, 0x9f, 0xe1, 0x14, 0xfb, 0x32, 0x71, 0x66, 0xd, 0x7f, 0x0, 0x9e, 0xd0, 0x3b, 0x4b, 0x17, 0x60, 0x85, 0xb5, 0xd1, 0x53, 0xef, 0xac, 0x3b, 0x9b, 0x16, 0x45, 0xc6, 0x9b, 0x54, 0xb0, 0x82, 0xd4, 0xb9, 0x64, 0x15, 0xa1, 0xd8, 0x62, 0xf, 0x63, 0x22, 0xa0, 0x30, 0xe6, 0x75, 0x96, 0x19, 0x3e, 0x58, 0xd8, 0x9a, 0x9a, 0xb7, 0x44, 0x4d, 0x30, 0x48, 0xa4, 0x86, 0x25, 0xe6, 0xbe, 0x56, 0xb6, 0xa8, 0xab, 0x98, 0x77, 0xd6, 0x5a, 0x5f, 0x40, 0x8b, 0xbd, 0x70, 0x26, 0xf8, 0xaa, 0x49, 0xb7, 0x6e, 0x4d, 0xff, 0x90, 0xc1, 0x70, 0x82, 0xdc, 0x59, 0x77, 0x57, 0x99, 0xaf, 0xbf, 0xc3, 0xb9, 0x93, 0xdb, 0x1d, 0xbc, 0x70, 0x98, 0xf1, 0x76, 0xd, 0xcf, 0x5f, 0xc9, 0xf3, 0x84, 0x17, 0x5b, 0x3, 0x81, 0xef, 0x82, 0x56, 0x7f, 0x2e, 0x1e, 0x8f, 0x13, 0xaa, 0xcc, 0x72, 0x9a, 0xf1, 0x6a, 0x49, 0xd4, 0x87, 0xba, 0x17, 0xa5, 0xc5, 0xf6, 0x2d, 0xcc, 0x58, 0xc8, 0x11, 0xeb, 0xdf, 0xf7, 0x7b, 0xe4, 0xd5, 0x5f, 0x1e, 0xab, 0x57, 0x3d, 0xf2, 0xaa, 0x96, 0xac, 0x94, 0xaf, 0xbc, 0xec, 0x84, 0x5d, 0x92, 0x4b, 0x47, 0x2e, 0xe7, 0x7, 0xf5, 0x61, 0xed, 0xa3, 0x31, 0x83, 0xd0, 0x7d, 0xca, 0x7a, 0x4a, 0xfe, 0xf3, 0xe3, 0x84, 0x24, 0x19, 0xe5, 0x8b, 0x1e, 0x61, 0xb, 0xca, 0x33, 0xa5, 0xd1, 0x97, 0x4c, 0xca, 0x37, 0x9b, 0xa4, 0xaf, 0x5d, 0x4d, 0x43, 0x91, 0x5e, 0x57, 0x73, 0xd5, 0x2b, 0x12, 0xaf, 0x19, 0x9a, 0x7a, 0x3, 0x69, 0xac, 0x44, 0x4c, 0x5d, 0xc5, 0xce, 0x7b, 0xd, 0x7b, 0x51, 0xd6, 0xb2, 0xf2, 0x2b, 0xa, 0xbc, 0xa6, 0x30, 0xdb, 0x2a, 0xaf, 0xd8, 0x67, 0xf7, 0x11, 0x3, 0x98, 0x94, 0xae, 0xd6, 0x92, 0x7e, 0xed, 0x67, 0xd6, 0x62, 0xe9, 0x6f, 0x67, 0x1e, 0x59, 0xcc, 0x94, 0x4f, 0xc, 0xf0, 0x94, 0x28, 0xc1, 0xea, 0x88, 0x7, 0x66, 0x1a, 0xc2, 0x69, 0x7d, 0xf, 0x87, 0xb8, 0x47, 0x1e, 0x21, 0xbc, 0x29, 0x17, 0x7a, 0x45, 0xf0, 0x91, 0x28, 0x4c, 0xe9, 0x48, 0x4c, 0xd5, 0x4b, 0x73, 0x7e, 0xaf, 0xc, 0x1c, 0x93, 0x6, 0xa1, 0x8c, 0x1c, 0x9d, 0xad, 0x50, 0xe7, 0x44, 0xa, 0x91, 0xb3, 0xf2, 0x4d, 0x9f, 0x8c, 0x4c, 0xee, 0x4d, 0xd6, 0xd3, 0xc9, 0xc, 0xb1, 0xdd, 0x43, 0x75, 0xcc, 0xc8, 0x9, 0x6, 0x97, 0xb1, 0xc4, 0x73, 0xa2, 0x4b, 0x44, 0x6c, 0xbe, 0xc5, 0x92, 0x88, 0x32, 0x55, 0x56, 0x17, 0xcd, 0xaa, 0xb9, 0xa8, 0xef, 0xe7, 0x38, 0xe8, 0xd8, 0x96, 0x7a, 0xe0, 0x26, 0xab, 0x10, 0xec, 0x1f, 0x29, 0xf9, 0x34, 0x6b, 0x24, 0x64, 0x4c, 0x0, 0x4f, 0x3, 0xc0, 0x29, 0x5d, 0xf3, 0xe8, 0x9, 0x3d, 0x32, 0x4e, 0x3b, 0xf3, 0xfb, 0x37, 0x90, 0x3f, 0xaf, 0xce, 0xfe, 0x82, 0x6b, 0xa, 0xcf, 0x46, 0x6c, 0x7, 0xd6, 0x28, 0x9f, 0xf1, 0xfb, 0xda, 0xe4, 0xb9, 0x2a, 0xc9, 0x98, 0x22, 0x18, 0x2, 0xe8, 0x18, 0xff, 0x12, 0xf, 0x1, 0xe8, 0x85, 0x74, 0xcf, 0x21, 0x88, 0xd, 0x50, 0xa, 0xfd, 0x95, 0x95, 0xe2, 0x4d, 0xcf, 0xc5, 0x21, 0xd9, 0x6c, 0xc6, 0x12, 0xf8, 0x8a, 0xf6, 0x2d, 0x2d, 0xbb, 0xc3, 0x66, 0x1, 0xad, 0x18, 0xfb, 0xb5, 0x4f, 0xfa, 0x49, 0x20, 0x34, 0x4b, 0x74, 0xe0, 0x71, 0xba, 0x84, 0xb9, 0xfe, 0x4f, 0x65, 0x72, 0xbe, 0xfd, 0x43, 0x9f, 0x7c, 0xd4, 0x7a, 0x4f, 0xc3, 0x38, 0x85, 0xb6, 0x16, 0xf4, 0xb3, 0x12, 0xe, 0xff, 0x82, 0x33, 0x5b, 0x70, 0xc8, 0xa1, 0x80, 0x14, 0x21, 0xa, 0x35, 0x9b, 0x4c, 0x12, 0x65, 0xb0, 0x55, 0x82, 0xfc, 0x71, 0x73, 0xee, 0xcf, 0x8c, 0xf2, 0x32, 0x67, 0x52, 0xb6, 0x6e, 0xf7, 0xad, 0xee, 0xbd, 0xf7, 0xba, 0x25, 0xb7, 0xdb, 0xe5, 0x5c, 0x94, 0x95, 0x6e, 0x4, 0x46, 0xf7, 0xda, 0xa3, 0x69, 0x87, 0xc7, 0x20, 0x15, 0xd5, 0x8e, 0x21, 0x9c, 0xee, 0x94, 0x66, 0x34, 0x4f, 0xc0, 0x7e, 0x66, 0xc9, 0x9c, 0xe6, 0x5c, 0x2e, 0xfa, 0x64, 0x84, 0x16, 0x68, 0x78, 0xa, 0x28, 0xa9, 0x58, 0x4e, 0xf3, 0x8a, 0xf0, 0x14, 0xca, 0x6e, 0xe1, 0x57, 0x33, 0xfe, 0x39, 0xae, 0x3d, 0xd2, 0x23, 0xc9, 0xf8, 0x27, 0x46, 0x5e, 0xa9, 0xa3, 0xf3, 0xa, 0x98, 0x79, 0x32, 0xf1, 0xf8, 0xaa, 0xaf, 0xf1, 0xc5, 0x70, 0x85, 0x75, 0xa, 0x10, 0xa4, 0xbd, 0xeb, 0xb7, 0xda, 0xb6, 0xad, 0x19, 0xb7, 0x1b, 0x60, 0x90, 0x98, 0x65, 0x40, 0x9d, 0xf4, 0x99, 0xc3, 0xb9, 0x22, 0x17, 0x15, 0x2c, 0x51, 0x74, 0x6, 0x95, 0x30, 0xd2, 0x39, 0x31, 0xea, 0xce, 0xae, 0xa4, 0x76, 0x98, 0xf6, 0xc9, 0x7b, 0x51, 0x12, 0xf6, 0x99, 0x2e, 0x8a, 0x8c, 0xf5, 0x6c, 0xa6, 0x86, 0x3a, 0x78, 0x12, 0xb6, 0x36, 0x30, 0xfc, 0x25, 0x95, 0x5e, 0x84, 0xb0, 0x51, 0x9e, 0xca, 0x1e, 0x61, 0x14, 0xa2, 0xbd, 0x40, 0x59, 0x88, 0x6d, 0xc2, 0x8e, 0xe9, 0xbf, 0x23, 0x47, 0xde, 0x1e, 0x7d, 0x63, 0xd2, 0x77, 0x30, 0xd5, 0x36, 0xc7, 0xd7, 0xda, 0x1a, 0xbd, 0x67, 0x15, 0x66, 0xa6, 0x91, 0x52, 0x1d, 0xfe, 0x6c, 0x49, 0xd8, 0x6f, 0xc0, 0xd5, 0x3a, 0x57, 0x7, 0x5d, 0x67, 0x4c, 0x79, 0xd3, 0x9f, 0xc3, 0x63, 0x45, 0x5d, 0xc5, 0x8b, 0x78, 0x84, 0x1c, 0x2b, 0xe0, 0x3b, 0xb1, 0x19, 0x7b, 0x7c, 0x51, 0x34, 0x5b, 0xd4, 0x6e, 0xc5, 0x84, 0x16, 0x34, 0xe1, 0xd5, 0xf2, 0xff, 0xb1, 0xbb, 0x2d, 0x3e, 0x22, 0xe8, 0x21, 0x43, 0x91, 0x3, 0x65, 0xe7, 0x53, 0x2a, 0xd1, 0x60, 0xd6, 0x12, 0xae, 0xa2, 0x95, 0x5a, 0xb0, 0x44, 0xf6, 0x9a, 0x70, 0x54, 0x7e, 0xe4, 0x96, 0x95, 0x4, 0x80, 0xb4, 0xdf, 0x44, 0x63, 0x1e, 0xa8, 0x3b, 0xc, 0xfd, 0x4a, 0xd1, 0x37, 0xf9, 0xc4, 0x96, 0xd2, 0xec, 0x2b, 0xf5, 0x61, 0x60, 0x63, 0xe9, 0x1a, 0x55, 0x5c, 0xf5, 0xff, 0xdd, 0x7f, 0x7, 0x7f, 0xf9, 0xbe, 0xff, 0x2e, 0x6c, 0x54, 0x6d, 0x66, 0x94, 0x29, 0x99, 0x16, 0x26, 0x5, 0x60, 0x7b, 0xdb, 0x45, 0x54, 0xed, 0xeb, 0xa6, 0x71, 0x37, 0x9, 0x75, 0x29, 0x62, 0xf, 0x3a, 0xa9, 0xae, 0x8a, 0x73, 0x2a, 0xff, 0xf7, 0xc9, 0xf7, 0x4, 0x64, 0x60, 0x4f, 0xfb, 0x5e, 0xc1, 0x2f, 0x6, 0x24, 0x90, 0x98, 0x5f, 0xa4, 0x76, 0x61, 0x25, 0x88, 0xa1, 0xc7, 0x89, 0xd6, 0x58, 0x27, 0xdc, 0x84, 0x6d, 0xe2, 0xc4, 0x43, 0x21, 0x19, 0x7f, 0xd5, 0x1, 0x50, 0xf4, 0xc6, 0x47, 0x43, 0xf6, 0x74, 0x5a, 0xe, 0xb0, 0x51, 0x2a, 0x6d, 0x34, 0xe3, 0xb, 0x5e, 0xc9, 0x1e, 0x7c, 0xaa, 0x29, 0x93, 0xd5, 0x31, 0x9b, 0xcd, 0x94, 0xc0, 0x68, 0x54, 0x32, 0x15, 0xa5, 0x98, 0x82, 0x9f, 0x58, 0x7d, 0xb7, 0xbe, 0x97, 0x10, 0xee, 0x12, 0xc1, 0x16, 0xb0, 0xd3, 0x1e, 0xc1, 0xfa, 0x25, 0xaf, 0xa, 0x56, 0x2a, 0x11, 0xfd, 0x8a, 0xd0, 0xec, 0x5e, 0x89, 0xdd, 0xf9, 0x22, 0x42, 0xac, 0x87, 0xa3, 0x91, 0xcf, 0x78, 0xce, 0x81, 0xde, 0xf, 0x9, 0xbf, 0x8c, 0x77, 0xae, 0x28, 0x45, 0x5a, 0x27, 0x58, 0xf, 0xa5, 0x13, 0xe7, 0x30, 0x41, 0x1a, 0x3e, 0x30, 0x66, 0x4b, 0x19, 0xe6, 0x87, 0xac, 0xb1, 0x5, 0x69, 0x92, 0xd4, 0x25, 0x2a, 0xdb, 0x6e, 0x98, 0xfa, 0x7e, 0x88, 0x57, 0xca, 0x17, 0x99, 0xd8, 0x32, 0xac, 0x9, 0xba, 0xe7, 0xfe, 0xf5, 0x9f, 0x31, 0x99, 0xa8, 0xdf, 0x90, 0xd5, 0x1f, 0xbb, 0x6, 0x52, 0x3a, 0x89, 0x6b, 0xbd, 0x37, 0x51, 0x3c, 0x21, 0x51, 0x3a, 0x85, 0xb4, 0x2f, 0x9d, 0xbe, 0xb1, 0xa8, 0xb3, 0x8a, 0x17, 0x19, 0x23, 0x66, 0x95, 0x66, 0x22, 0xba, 0x6f, 0x67, 0x19, 0xfb, 0xcc, 0xc1, 0x8f, 0xbf, 0xec, 0x93, 0xf7, 0xea, 0x1d, 0xd0, 0x4b, 0x90, 0x65, 0x21, 0x13, 0x8f, 0xea, 0x5f, 0xa6, 0xce, 0x33, 0x84, 0xd8, 0xc1, 0x20, 0x1d, 0xce, 0xc7, 0x48, 0x48, 0x50, 0x25, 0xc0, 0xba, 0x11, 0x33, 0x5c, 0x98, 0x4, 0x93, 0x3e, 0xd5, 0x96, 0x2f, 0x79, 0x9a, 0x32, 0xac, 0x17, 0x5f, 0x91, 0x2c, 0x1a, 0xdf, 0xff, 0x5a, 0xf0, 0xe5, 0x64, 0x70, 0x35, 0x8a, 0x6c, 0xaa, 0x3f, 0xc0, 0x7d, 0xa2, 0x5b, 0xf7, 0x53, 0x7, 0x7c, 0x7, 0xd3, 0x5b, 0x8f, 0x19, 0xc1, 0xcf, 0x9f, 0xa, 0x9b, 0xfa, 0x63, 0x78, 0x81, 0x84, 0x52, 0xd6, 0x58, 0x76, 0x88, 0x73, 0x16, 0xbe, 0x88, 0x73, 0x37, 0x2e, 0x6a, 0xb5, 0x5, 0x92, 0x8c, 0x2e, 0xa, 0x37, 0x8e, 0x12, 0xd0, 0x8f, 0xff, 0xeb, 0x5d, 0xff, 0xdd, 0xbb, 0xef, 0x7b, 0x90, 0x18, 0xfa, 0xdf, 0xad, 0xd6, 0x9a, 0x8d, 0x95, 0xad, 0x55, 0xc4, 0x51, 0x5d, 0xb1, 0x55, 0xb1, 0x96, 0xb9, 0x41, 0xeb, 0xe, 0xda, 0x72, 0x85, 0x12, 0x7d, 0xa5, 0xe0, 0x80, 0x9a, 0x7, 0x79, 0x7, 0x5a, 0xa8, 0x3b, 0xc7, 0x91, 0x1b, 0x3, 0x82, 0x21, 0xa0, 0x10, 0x52, 0x47, 0x99, 0x42, 0x79, 0x7c, 0x5d, 0x20, 0xf1, 0x95, 0x8e, 0xd8, 0x8e, 0x0, 0xc0, 0xb, 0x92, 0x6e, 0xaf, 0x22, 0xad, 0x9, 0x75, 0x2, 0xff, 0x3a, 0x5c, 0x18, 0x91, 0x77, 0xe4, 0x1c, 0x84, 0x79, 0x6a, 0xb, 0xbd, 0xde, 0x78, 0x1f, 0x5f, 0xf6, 0xc9, 0x39, 0x5, 0x27, 0x4c, 0xe5, 0xb1, 0x42, 0x80, 0xd6, 0xaa, 0x73, 0x48, 0x5c, 0xb3, 0xde, 0x5b, 0x88, 0x43, 0x9d, 0x7b, 0x82, 0x48, 0x75, 0x67, 0xaf, 0xf, 0xff, 0x2b, 0x5d, 0x79, 0xaa, 0xa1, 0xbf, 0x49, 0xac, 0x89, 0xe9, 0x8f, 0x8d, 0xab, 0x1, 0xfd, 0xb0, 0x34, 0x1b, 0xa1, 0xe7, 0xfd, 0xde, 0xb5, 0x68, 0x70, 0xe, 0x6d, 0xcb, 0xd, 0x94, 0xc3, 0x6, 0x27, 0xd1, 0xa2, 0x7, 0x20, 0x23, 0x6a, 0x86, 0xfa, 0x18, 0x30, 0xed, 0x59, 0x88, 0xbe, 0x3, 0xcd, 0x3, 0x8, 0x57, 0x93, 0x75, 0x24, 0x4a, 0xb2, 0x10, 0x29, 0x78, 0x52, 0xfc, 0xb9, 0x9d, 0x31, 0x59, 0x28, 0x11, 0x88, 0x29, 0xf6, 0x8, 0xd2, 0xf4, 0xca, 0xc, 0xeb, 0x55, 0x2f, 0xc4, 0x77, 0x84, 0x84, 0x39, 0xbb, 0x75, 0xb4, 0x5f, 0x43, 0xd, 0xf4, 0x9f, 0xfc, 0x93, 0xa7, 0x76, 0x10, 0x79, 0x65, 0x44, 0xd5, 0x2b, 0xef, 0x2, 0xf0, 0x3b, 0x56, 0x2a, 0x8d, 0x3a, 0xe6, 0xd8, 0x4a, 0x4f, 0x17, 0xdd, 0x32, 0x1d, 0x1b, 0x31, 0xda, 0xb7, 0xd2, 0x7b, 0x40, 0xf, 0xa8, 0x4, 0x68, 0xe1, 0x6f, 0x7d, 0x8d, 0xcc, 0xa0, 0xa1, 0x8b, 0xe6, 0xc2, 0x5a, 0x0, 0x49, 0xb7, 0xb2, 0xca, 0xcc, 0xf4, 0x5d, 0x10, 0xa0, 0x28, 0xda, 0x94, 0x52, 0xb8, 0xd0, 0xcc, 0x33, 0xde, 0x8a, 0xda, 0x87, 0x41, 0xf9, 0x37, 0xee, 0x15, 0x73, 0xca, 0xa1, 0x8b, 0xd5, 0xb3, 0xd2, 0x97, 0x25, 0xe4, 0x15, 0x98, 0xf5, 0xb8, 0xfd, 0xc4, 0x74, 0xda, 0x39, 0xd4, 0x2f, 0xe0, 0x20, 0xb9, 0xcc, 0x5f, 0x57, 0x26, 0x7, 0x6c, 0x56, 0x67, 0x44, 0x7a, 0x73, 0x82, 0x1, 0xbe, 0xc6, 0xf1, 0x89, 0x7c, 0x56, 0x43, 0x99, 0xe6, 0x94, 0x55, 0x8f, 0xc, 0xe4, 0x20, 0x4c, 0xf8, 0xad, 0x19, 0x11, 0xec, 0x44, 0xbf, 0x25, 0x1c, 0xa2, 0x1a, 0x98, 0x6b, 0xb1, 0x39, 0x96, 0x60, 0x59, 0xcd, 0xa9, 0x84, 0xaa, 0xfb, 0xa2, 0x64, 0xba, 0x60, 0xe3, 0x95, 0xee, 0xeb, 0x95, 0x8f, 0x45, 0xef, 0xf, 0x93, 0x56, 0x88, 0x70, 0xe3, 0xf0, 0x38, 0x40, 0xcd, 0xcf, 0x45, 0x7e, 0x8c, 0xed, 0xcf, 0xbc, 0xdb, 0xae, 0x47, 0x96, 0xa2, 0x56, 0xa2, 0xf7, 0x75, 0xe5, 0x36, 0x74, 0xa0, 0x6d, 0xf8, 0x4f, 0x1b, 0xb0, 0xfa, 0x80, 0x2f, 0x75, 0x8d, 0x82, 0xe, 0x94, 0xd0, 0x3a, 0x87, 0x5c, 0xb2, 0x5, 0xcd, 0x95, 0xbe, 0xa7, 0x1a, 0xb1, 0x27, 0x8e, 0x6, 0x45, 0x61, 0xdf, 0xf7, 0xc9, 0x7b, 0x5e, 0xca, 0xaa, 0xa7, 0x96, 0x58, 0xf2, 0x54, 0xa9, 0x56, 0xc6, 0x62, 0x7b, 0x75, 0x12, 0x59, 0xd9, 0x4b, 0x72, 0xa4, 0xee, 0xb4, 0x52, 0x5f, 0xb7, 0x6f, 0xc8, 0xbd, 0xd2, 0x5c, 0xa1, 0x62, 0xdc, 0x13, 0xcc, 0x7f, 0xc0, 0x72, 0x6a, 0xaf, 0x45, 0x33, 0xa1, 0x13, 0x52, 0x61, 0xf2, 0x48, 0x8b, 0x7d, 0xe0, 0xc1, 0x7c, 0xfa, 0xaa, 0x41, 0x70, 0x65, 0xf0, 0x3c, 0x32, 0x15, 0xaa, 0x39, 0xe3, 0xa5, 0x31, 0x16, 0xbc, 0x55, 0x18, 0x14, 0x45, 0xa6, 0x3d, 0x23, 0xd2, 0x66, 0x5d, 0xd1, 0x7c, 0x49, 0x64, 0x3d, 0xd5, 0xd7, 0xab, 0x3b, 0x9c, 0x2e, 0x72, 0xa0, 0xab, 0x4, 0xb0, 0xe1, 0x45, 0xa8, 0x8d, 0x65, 0x8c, 0x3e, 0xe8, 0x4c, 0x51, 0xd8, 0xdb, 0x46, 0x8, 0xa0, 0x12, 0x19, 0x9c, 0x8b, 0xe0, 0xb8, 0x5f, 0x88, 0xa, 0xe, 0x86, 0x16, 0xbe, 0xba, 0x16, 0x52, 0x2e, 0x65, 0xc5, 0x16, 0x30, 0x34, 0x59, 0x17, 0x6a, 0x46, 0xf0, 0xeb, 0x57, 0xb3, 0x3a, 0xcb, 0x5e, 0x85, 0x1f, 0x8e, 0x82, 0x4a, 0x8c, 0xeb, 0xef, 0xed, 0x11, 0xe8, 0xbe, 0x4f, 0x8e, 0x5c, 0x4d, 0xe, 0x16, 0x18, 0xe8, 0xd6, 0x78, 0xee, 0xae, 0x12, 0x5f, 0xf8, 0x73, 0x49, 0x8a, 0x8c, 0xe6, 0x39, 0x53, 0xea, 0x3d, 0xd1, 0x19, 0x8a, 0xcb, 0x31, 0xfb, 0xb, 0xa4, 0x12, 0xed, 0x80, 0xf3, 0x50, 0xcb, 0x4d, 0x65, 0xb0, 0x16, 0x76, 0x61, 0xf8, 0xe7, 0xe1, 0xe9, 0x8d, 0xc5, 0xed, 0xba, 0xb9, 0x5e, 0x53, 0x5, 0xbb, 0xfa, 0x9d, 0xf1, 0xcd, 0xc5, 0xc5, 0xe8, 0xe2, 0xc7, 0xce, 0xcf, 0x9f, 0x5e, 0x7e, 0xb8, 0x3a, 0x1f, 0x36, 0xcb, 0x66, 0x57, 0xbf, 0xf1, 0x7e, 0x30, 0x6a, 0x62, 0x48, 0xac, 0xe9, 0x0, 0x20, 0x2a, 0xb7, 0x78, 0xc1, 0x2, 0x50, 0x6e, 0xd1, 0xc7, 0xe5, 0xc5, 0x64, 0x74, 0x71, 0x33, 0x3c, 0xbb, 0x1d, 0x5c, 0xdf, 0x5e, 0xc, 0x3f, 0x76, 0xef, 0x6b, 0xf4, 0x61, 0x78, 0x76, 0x7b, 0x79, 0x33, 0xe9, 0xfc, 0x46, 0x83, 0xc4, 0xa6, 0x2b, 0x1e, 0x6, 0x6c, 0x24, 0xe3, 0x63, 0x7e, 0x6a, 0xae, 0xbe, 0x56, 0xc6, 0xda, 0x1d, 0xeb, 0x2d, 0x1b, 0x95, 0xa, 0x3b, 0x64, 0x1, 0xff, 0xe6, 0x4e, 0xd1, 0xa9, 0xc8, 0x31, 0xcd, 0x78, 0xd3, 0xb9, 0xf8, 0xd3, 0xcd, 0x70, 0xfc, 0xeb, 0xed, 0x78, 0xf8, 0x9f, 0xc3, 0xd3, 0x89, 0xfa, 0xc2, 0x67, 0x23, 0xf8, 0xe, 0xab, 0xf, 0xc5, 0x8a, 0x17, 0x2e, 0x2e, 0x2f, 0x62, 0xf0, 0xd5, 0x95, 0x4f, 0x4e, 0x6e, 0x2f, 0xaf, 0x86, 0x31, 0x0, 0xeb, 0x9a, 0xa7, 0xed, 0xe9, 0xb9, 0x3d, 0x3d, 0x1f, 0xe, 0x2e, 0xce, 0x7f, 0xdd, 0xcf, 0x51, 0xf6, 0xa7, 0x96, 0x65, 0x2, 0x2b, 0xc4, 0x54, 0xb5, 0x95, 0xf0, 0x37, 0x93, 0x62, 0x5f, 0x82, 0x25, 0x6e, 0x6f, 0x55, 0x4, 0xb1, 0xb1, 0xde, 0x12, 0x49, 0x2b, 0x2e, 0x67, 0xa0, 0xd2, 0x63, 0x4b, 0x8d, 0x4c, 0x29, 0x8d, 0x2, 0xbb, 0x66, 0xdd, 0xd6, 0xd6, 0xa3, 0x47, 0x3b, 0x7a, 0xa7, 0xda, 0x64, 0xbd, 0x31, 0xe2, 0x52, 0xf1, 0xed, 0x62, 0xf1, 0xbf, 0xb5, 0xc9, 0xe8, 0x4d, 0xcd, 0x4, 0x82, 0x1d, 0xdb, 0x1a, 0xd3, 0x45, 0xf1, 0xc3, 0xf2, 0x8a, 0x95, 0x9, 0xcb, 0x7d, 0x0, 0x83, 0xae, 0x38, 0xc, 0x74, 0x51, 0x34, 0x5f, 0x26, 0x1d, 0x8d, 0xf0, 0x1, 0x44, 0x25, 0x1, 0xfe, 0x13, 0xd, 0x3b, 0x2e, 0xc9, 0x7f, 0xbd, 0xeb, 0x7d, 0xff, 0xee, 0xdd, 0x9b, 0xf5, 0x56, 0xdd, 0x58, 0x3d, 0xbd, 0xfd, 0xcd, 0x54, 0xee, 0x58, 0x78, 0xaa, 0xee, 0x5c, 0x1c, 0xe0, 0x11, 0x78, 0x6d, 0x24, 0x7f, 0x60, 0xad, 0x23, 0xc, 0xbd, 0xc9, 0xac, 0x2d, 0xe1, 0x71, 0x43, 0x7f, 0xc3, 0x3c, 0xdd, 0xb1, 0x37, 0x59, 0xb1, 0x62, 0x87, 0xe9, 0xb1, 0x82, 0x1c, 0x9, 0x4d, 0xe8, 0xd9, 0xb3, 0x4a, 0xcb, 0xf7, 0x1b, 0x3b, 0x5c, 0x49, 0xb4, 0x8, 0x23, 0xf7, 0x53, 0x77, 0x8c, 0xf7, 0xc2, 0x44, 0x79, 0x50, 0x21, 0xea, 0xd9, 0x3, 0x8e, 0xde, 0x2a, 0x63, 0x25, 0x28, 0xa5, 0x39, 0xa1, 0x19, 0xcb, 0x53, 0xea, 0x8d, 0x1a, 0x41, 0x8a, 0x72, 0x72, 0x5d, 0x95, 0x75, 0x52, 0xd5, 0x25, 0x4b, 0x4f, 0xf5, 0x33, 0xd7, 0x5, 0x4b, 0x30, 0x5b, 0x38, 0x4f, 0xc9, 0xbf, 0xe1, 0x57, 0xd6, 0x16, 0xa, 0x43, 0x76, 0xa5, 0x50, 0x75, 0x77, 0x6d, 0x5a, 0x63, 0xa, 0xde, 0x9, 0x48, 0xa5, 0xb4, 0x3a, 0x8e, 0x3a, 0xa2, 0x9e, 0x12, 0x78, 0x4e, 0x10, 0x71, 0x4d, 0x4d, 0x8, 0xa9, 0x30, 0xd4, 0x54, 0x7a, 0xa1, 0x56, 0xa8, 0x7a, 0x55, 0x96, 0x87, 0xfa, 0x1e, 0x3a, 0x4a, 0x7d, 0xa4, 0x97, 0x55, 0x27, 0x1b, 0xbf, 0x7b, 0x83, 0x72, 0xcd, 0x18, 0x76, 0x94, 0x48, 0x9e, 0xdf, 0x67, 0xcc, 0x98, 0x50, 0xb8, 0x8c, 0x15, 0x3b, 0x57, 0x96, 0xf8, 0xb6, 0x7, 0x52, 0xa7, 0x1d, 0x6e, 0x93, 0x72, 0x1b, 0x7c, 0xca, 0xff, 0xb, 0x95, 0xe4, 0x12, 0x27, 0xc7, 0x53, 0xcf, 0x27, 0xb0, 0xe9, 0x48, 0xea, 0x1, 0x9f, 0x82, 0xbf, 0x69, 0x6b, 0x39, 0x12, 0x4d, 0x97, 0x6c, 0x10, 0x65, 0xb6, 0x3b, 0x27, 0x12, 0x8d, 0xfb, 0xa6, 0x6b, 0x13, 0x38, 0xd0, 0xf, 0xfa, 0x2d, 0x2d, 0xe, 0x59, 0x22, 0xca, 0xd4, 0x52, 0x19, 0x52, 0xf9, 0xc9, 0x62, 0x57, 0xfd, 0xb0, 0x1c, 0xa5, 0xcf, 0x86, 0x6f, 0xb8, 0x1b, 0x1f, 0xfe, 0x1e, 0x1c, 0xc4, 0xe9, 0x76, 0x5d, 0xf6, 0xb4, 0x31, 0x84, 0x36, 0x28, 0xa4, 0x53, 0x96, 0xf7, 0x90, 0x9f, 0x21, 0x2b, 0x9a, 0xa7, 0x34, 0x13, 0x79, 0xb, 0xc5, 0xcc, 0x4e, 0x28, 0x3e, 0xb1, 0xe7, 0x56, 0x4, 0x89, 0x12, 0xd6, 0x28, 0x3e, 0xd6, 0xe0, 0xff, 0xad, 0xcc, 0xc6, 0x6b, 0xe7, 0x12, 0xe9, 0xc, 0xd8, 0x41, 0xcb, 0x34, 0x5a, 0xbb, 0x68, 0x36, 0xb2, 0x5, 0xed, 0xe6, 0xca, 0x8f, 0xe0, 0xe8, 0xd, 0xd8, 0xeb, 0x92, 0x39, 0x9c, 0x35, 0xff, 0xe5, 0xb4, 0xc9, 0xf7, 0x78, 0xf8, 0x9c, 0xbf, 0x41, 0x39, 0xe5, 0x55, 0x69, 0x18, 0x6c, 0x7b, 0x10, 0x8c, 0x82, 0xb5, 0x8c, 0x1, 0x31, 0x12, 0x65, 0xa3, 0x72, 0x65, 0xb0, 0x17, 0x4a, 0x1c, 0xb, 0xe4, 0x6a, 0x75, 0x95, 0xde, 0x8d, 0xbd, 0x70, 0x48, 0x6, 0x68, 0x8c, 0xdd, 0xbc, 0xc5, 0xda, 0x1a, 0x4f, 0x34, 0xa2, 0xcf, 0x7e, 0x7, 0x7e, 0x6c, 0xfd, 0xa6, 0xfa, 0xce, 0x6a, 0x6, 0xa6, 0x12, 0x9, 0xb2, 0x9b, 0xc0, 0xff, 0xf7, 0xca, 0x6c, 0xad, 0x13, 0x9b, 0xd4, 0xc4, 0x53, 0xc, 0xa8, 0x9a, 0x99, 0x9e, 0x98, 0x7f, 0xc0, 0x5f, 0x66, 0x48, 0x6f, 0x15, 0xed, 0x29, 0x8b, 0x95, 0xb1, 0x51, 0xe, 0xed, 0xa4, 0x79, 0x22, 0xc0, 0xee, 0xd8, 0xa0, 0x30, 0x35, 0x97, 0x61, 0x3, 0x37, 0xd6, 0x9a, 0x7a, 0x74, 0x75, 0xe4, 0xcb, 0x9a, 0xc5, 0x6c, 0x52, 0xe0, 0xf6, 0x2, 0xbc, 0x13, 0x2a, 0x3f, 0x69, 0xd0, 0x5b, 0x18, 0x4, 0xe1, 0x95, 0x64, 0xd9, 0xac, 0x6f, 0x93, 0xc8, 0x75, 0xb2, 0x85, 0xba, 0xb8, 0xc3, 0xf3, 0x97, 0x8b, 0x8a, 0xcf, 0x96, 0x61, 0xab, 0x62, 0x16, 0x80, 0x5, 0xab, 0x5e, 0x11, 0xff, 0x5a, 0x56, 0x10, 0xb5, 0x45, 0x5a, 0xba, 0xe6, 0x19, 0xbc, 0xda, 0x8d, 0x13, 0xac, 0xcb, 0x44, 0x5b, 0x18, 0xc2, 0xcc, 0xdf, 0x20, 0x79, 0xf1, 0x4b, 0x2c, 0xf6, 0x23, 0x95, 0x8d, 0x4c, 0x31, 0x62, 0x7c, 0x5f, 0x6, 0x2c, 0x43, 0x7b, 0xb, 0x3d, 0x96, 0xf6, 0x8d, 0x5b, 0x6e, 0xb7, 0x6b, 0x6f, 0x67, 0xc, 0x26, 0x5b, 0xba, 0xd, 0x88, 0x5d, 0x4, 0x26, 0x95, 0x30, 0xfe, 0x80, 0x81, 0x8c, 0x3b, 0x1f, 0x74, 0xaf, 0x81, 0x13, 0x75, 0xd7, 0xa2, 0xa4, 0x84, 0x28, 0x4, 0x2f, 0x72, 0x72, 0x83, 0x9c, 0xec, 0xae, 0xae, 0x3c, 0xa5, 0x44, 0xd, 0xee, 0x6b, 0x75, 0xbf, 0x96, 0x6e, 0x9f, 0xeb, 0x97, 0x76, 0x93, 0x9f, 0x2f, 0xb2, 0xf3, 0x45, 0x76, 0x3e, 0x8d, 0xec, 0xc4, 0xaa, 0xb6, 0x3d, 0xa5, 0xe6, 0x1, 0x8c, 0x5, 0xb, 0xa5, 0x3, 0xa8, 0x39, 0x99, 0xc8, 0xef, 0x25, 0xa9, 0x44, 0xff, 0x49, 0x44, 0x88, 0xae, 0x5f, 0x7e, 0x9c, 0xb, 0xc7, 0x4a, 0x65, 0xb0, 0x2f, 0x62, 0x90, 0xcc, 0x70, 0x79, 0xe, 0x5e, 0x53, 0x11, 0x2d, 0xff, 0xeb, 0x2f, 0x2a, 0xa6, 0x4c, 0x69, 0xb7, 0x4e, 0x7d, 0x5a, 0xbb, 0x2d, 0xb6, 0x91, 0x3f, 0xe4, 0x6f, 0x7f, 0xd7, 0x4d, 0xdd, 0x73, 0x59, 0xb1, 0xd2, 0x7e, 0xe5, 0xa7, 0xde, 0x5d, 0xfe, 0x3a, 0x6c, 0x7a, 0x16, 0x80, 0x2, 0x86, 0xb, 0xca, 0xb3, 0xcd, 0x65, 0xcf, 0xcd, 0x52, 0x8f, 0xa, 0x39, 0xe3, 0xae, 0x58, 0xc9, 0x45, 0xf0, 0x85, 0x9e, 0x4, 0x7, 0x5e, 0xf3, 0x5f, 0x1d, 0xbe, 0xa4, 0xe7, 0x14, 0x1b, 0x1e, 0x33, 0x1b, 0x67, 0x44, 0x7, 0x43, 0xc4, 0xa5, 0xc8, 0xf4, 0x73, 0x9d, 0x8a, 0xc4, 0x62, 0x77, 0xc6, 0xce, 0x28, 0x26, 0xdd, 0xa0, 0x2f, 0x3f, 0xb1, 0xe5, 0x31, 0x6, 0xe1, 0x17, 0xb4, 0xc0, 0x4, 0xa4, 0x7c, 0x49, 0x92, 0x5a, 0x56, 0x62, 0x1, 0x75, 0x5e, 0x45, 0x5d, 0x16, 0xc2, 0x87, 0x78, 0x90, 0x2c, 0xa9, 0x4b, 0x75, 0xc3, 0x76, 0xd2, 0xf3, 0xb8, 0xfc, 0x31, 0x13, 0x53, 0x2c, 0x90, 0x5b, 0xb1, 0xb, 0x63, 0xc1, 0xae, 0xd3, 0x56, 0x6, 0x65, 0x32, 0xe7, 0xf, 0x34, 0xbb, 0xee, 0x2, 0x23, 0x3f, 0x18, 0x9f, 0xfe, 0x34, 0xfa, 0x65, 0x70, 0xbe, 0x11, 0x39, 0x3e, 0x7a, 0xf0, 0x6c, 0x74, 0x3d, 0xf8, 0xa1, 0x19, 0xb6, 0x8b, 0x9e, 0x1a, 0x5e, 0xc4, 0xf, 0x75, 0x24, 0xd0, 0xa8, 0x73, 0x57, 0xbf, 0x73, 0xb4, 0x7a, 0x8c, 0x1a, 0xe3, 0xc9, 0x78, 0x62, 0x75, 0xc6, 0x7f, 0x98, 0xc5, 0xa5, 0x79, 0x1, 0x36, 0x42, 0xe7, 0x46, 0xab, 0x77, 0x53, 0xf2, 0x8d, 0xdf, 0xe8, 0x81, 0x4b, 0x9d, 0xbd, 0xf6, 0xb2, 0xe6, 0x3b, 0xad, 0x79, 0x73, 0x1, 0x37, 0x2d, 0x7b, 0x8b, 0x6c, 0xdf, 0xed, 0x8a, 0xc8, 0x18, 0xdd, 0x89, 0xcc, 0xb4, 0x2b, 0x54, 0x7a, 0x89, 0x3d, 0xec, 0xd, 0x1e, 0x91, 0x8b, 0xaa, 0xd, 0x4c, 0x28, 0x68, 0x21, 0xba, 0x87, 0xed, 0xd4, 0x5c, 0xce, 0x95, 0xf, 0xa7, 0x83, 0x55, 0xd9, 0xfa, 0x5b, 0x27, 0x1, 0x80, 0xbb, 0x29, 0x84, 0xd2, 0x6b, 0xb4, 0xcb, 0xad, 0xb9, 0x60, 0xdd, 0xbd, 0xca, 0x1f, 0x98, 0xf1, 0x25, 0x93, 0xb6, 0x32, 0xdc, 0x75, 0xaf, 0x8e, 0xd4, 0xc3, 0xad, 0xc5, 0xd1, 0x13, 0xa7, 0x69, 0x19, 0x1c, 0x58, 0x44, 0x2c, 0x2c, 0xf9, 0xfd, 0x3d, 0x2b, 0x25, 0xa1, 0xae, 0x82, 0x10, 0x2b, 0xbb, 0x82, 0xe9, 0x22, 0x25, 0x52, 0xb, 0x50, 0xfd, 0xd3, 0xaa, 0x10, 0x5b, 0x78, 0x3e, 0x77, 0xf2, 0x4, 0x9b, 0x9, 0x69, 0x17, 0x6c, 0x4f, 0x3b, 0x9d, 0xa5, 0xe6, 0xee, 0xaa, 0xd4, 0x32, 0xa9, 0x3f, 0xf1, 0x99, 0x41, 0x74, 0xe7, 0xd2, 0x47, 0xef, 0x27, 0x4f, 0x69, 0x4e, 0xfb, 0xa8, 0xe0, 0xb0, 0xcc, 0xdb, 0xcf, 0xef, 0x46, 0x7, 0xc8, 0x52, 0x76, 0x9c, 0xd6, 0x5, 0xb, 0xcd, 0x36, 0x13, 0xe8, 0xf1, 0xfb, 0xd9, 0x85, 0xd9, 0x29, 0x32, 0x95, 0x90, 0x1e, 0xa, 0x95, 0x5d, 0xec, 0xc1, 0x22, 0xb1, 0x79, 0xbd, 0xf7, 0x48, 0x9, 0xaa, 0xad, 0x2e, 0x28, 0xa5, 0xf, 0x94, 0x67, 0x10, 0xc6, 0x35, 0x2c, 0xa3, 0xad, 0xc4, 0x8, 0x2d, 0x49, 0xc7, 0x17, 0x90, 0xdf, 0x28, 0xa, 0x7a, 0x4f, 0x2b, 0xc3, 0x56, 0xaa, 0xd5, 0x69, 0x0, 0xc4, 0x70, 0xf6, 0x99, 0x47, 0x2b, 0xe6, 0x0, 0x63, 0x3, 0x63, 0x75, 0xd3, 0x66, 0xdf, 0x4d, 0xa6, 0x7a, 0x6d, 0xe, 0x3f, 0x2b, 0x75, 0xb4, 0xa5, 0x5c, 0xf9, 0x3d, 0xe5, 0x86, 0x55, 0x6c, 0x50, 0x55, 0x25, 0x9f, 0xd6, 0x9e, 0x7c, 0xeb, 0xec, 0x5f, 0xa8, 0xe5, 0xc6, 0x5b, 0x16, 0x13, 0x8b, 0x6e, 0x87, 0x7f, 0x9e, 0xc, 0xc7, 0x17, 0x83, 0xf3, 0xdb, 0x96, 0x9c, 0x1d, 0x4c, 0x55, 0xba, 0x3d, 0x1d, 0xdc, 0x5c, 0xaf, 0xbb, 0x86, 0xb7, 0x6d, 0x69, 0xdd, 0x83, 0x17, 0x97, 0x93, 0xdb, 0xf7, 0x97, 0x37, 0x17, 0xfb, 0xf6, 0x71, 0x31, 0xf8, 0x30, 0xbc, 0xbe, 0x1a, 0x9c, 0xe, 0x5b, 0x5b, 0xdc, 0x86, 0x84, 0xe7, 0xb1, 0xd, 0xe5, 0x6e, 0x47, 0xc, 0x70, 0x75, 0xd2, 0xef, 0x42, 0x9e, 0x20, 0x9b, 0x2, 0x73, 0x17, 0x60, 0x9b, 0x23, 0xb0, 0x2e, 0xb2, 0xcf, 0x68, 0x7f, 0x42, 0x21, 0x4a, 0x53, 0xba, 0xbf, 0xbf, 0x85, 0x1f, 0x1d, 0xd5, 0x4d, 0xd1, 0xc1, 0x19, 0xec, 0x4a, 0xe7, 0x36, 0x8a, 0x8e, 0x1e, 0x60, 0xc4, 0xa8, 0x91, 0xde, 0x8c, 0x48, 0x25, 0x44, 0x26, 0x7d, 0x10, 0xb2, 0x3b, 0x3b, 0x48, 0x83, 0x2f, 0x3a, 0xad, 0xad, 0x5e, 0x4, 0x8, 0xa9, 0xe1, 0x53, 0xb7, 0x3c, 0xbd, 0x3, 0x17, 0x49, 0xbf, 0x39, 0xcd, 0x2d, 0x18, 0xb0, 0xf, 0x89, 0x99, 0x6f, 0xdd, 0x11, 0x87, 0xc1, 0x7e, 0x77, 0xb8, 0xef, 0x77, 0x21, 0x13, 0xf5, 0xda, 0xfd, 0x3d, 0xba, 0x18, 0x4d, 0x46, 0x3, 0x6f, 0xa7, 0x60, 0xcd, 0x4, 0x12, 0x24, 0x84, 0xdf, 0xc3, 0x55, 0xf1, 0x5, 0x69, 0xdc, 0x3a, 0x89, 0x7c, 0xdb, 0xd1, 0x7b, 0x98, 0x50, 0x5b, 0x8, 0xb2, 0x51, 0xb0, 0x66, 0x3b, 0xcb, 0xb2, 0x7f, 0x88, 0xe3, 0x67, 0x98, 0x88, 0x8c, 0xcf, 0xcd, 0xaf, 0x57, 0x0, 0xe8, 0xe, 0x7d, 0x61, 0x2, 0x6, 0xe0, 0x3, 0xe4, 0xf9, 0xfe, 0x83, 0x9d, 0xc0, 0x3, 0x6d, 0x5d, 0x68, 0x6a, 0xce, 0x33, 0x8b, 0x5d, 0x7a, 0x99, 0x67, 0x2d, 0xfa, 0xda, 0x96, 0x2e, 0x61, 0xd, 0x5, 0x4e, 0x4b, 0xe6, 0xa3, 0x26, 0xa2, 0x8b, 0x18, 0xd0, 0x16, 0x43, 0x3f, 0xb1, 0x57, 0x8b, 0xa2, 0x41, 0xc2, 0x7d, 0xf5, 0xc8, 0x79, 0xe6, 0xe3, 0xfa, 0x37, 0x1c, 0xf9, 0xa, 0x9, 0xcd, 0xa5, 0xac, 0xb1, 0xa2, 0xc5, 0xb4, 0xb6, 0xa7, 0x32, 0xd7, 0x4d, 0x7b, 0x6b, 0xa, 0x84, 0x95, 0xe4, 0x4c, 0x4f, 0x6b, 0x20, 0x6c, 0x43, 0xe4, 0xbe, 0x93, 0x85, 0xe0, 0x61, 0x49, 0x6d, 0x34, 0x11, 0x9e, 0xd0, 0x30, 0xd8, 0xc2, 0x49, 0xfe, 0xbc, 0x8d, 0x85, 0x3, 0x59, 0x7, 0x86, 0xcc, 0x76, 0xc5, 0xb6, 0x73, 0x76, 0x42, 0xb7, 0x4d, 0xba, 0xb7, 0x62, 0xbf, 0xa, 0x7f, 0xe8, 0xc9, 0x36, 0xfe, 0x93, 0xe8, 0x3b, 0x5f, 0x20, 0x81, 0xe6, 0x29, 0xf7, 0xa6, 0x7d, 0x19, 0x8a, 0x87, 0xdc, 0xa7, 0x38, 0x40, 0x8e, 0xd8, 0x68, 0xa6, 0xe4, 0x7a, 0xcf, 0x31, 0x5f, 0x68, 0x62, 0x89, 0xb2, 0xb4, 0x65, 0x6f, 0x41, 0x50, 0xfe, 0x8, 0xa9, 0x85, 0x40, 0x30, 0x80, 0xd3, 0x0, 0x32, 0x58, 0xa3, 0xd8, 0x6a, 0xb, 0x7c, 0xd1, 0xdd, 0x1b, 0x28, 0xa4, 0xf3, 0x5c, 0x8e, 0x26, 0xb8, 0xfa, 0xa6, 0xd, 0xed, 0xc7, 0x14, 0x8e, 0xeb, 0xc, 0x63, 0x43, 0xdd, 0x11, 0x76, 0xe3, 0x1e, 0x4f, 0xe6, 0x40, 0xdd, 0xa3, 0xe1, 0x91, 0x79, 0xfa, 0x65, 0xe, 0xb3, 0x7d, 0xfb, 0xf7, 0x0, 0x84, 0x86, 0xc7, 0x39, 0x4, 0x42, 0xdb, 0x74, 0xd2, 0xf7, 0x90, 0x1e, 0xa3, 0x74, 0x7, 0x67, 0x2b, 0xc, 0x2d, 0x26, 0xf2, 0x6a, 0x33, 0xf6, 0x87, 0xbf, 0xc, 0x2f, 0x26, 0xb7, 0x93, 0x5f, 0xaf, 0xd6, 0xd9, 0xf1, 0xde, 0x43, 0xed, 0x5, 0x3c, 0x2d, 0xf4, 0x80, 0xeb, 0xdf, 0x59, 0x55, 0x1d, 0xb5, 0xfe, 0xad, 0xd6, 0xa, 0xa9, 0xf5, 0xaf, 0xac, 0x2a, 0x44, 0x6a, 0x7b, 0xb, 0xe9, 0x79, 0x57, 0x90, 0xf9, 0xae, 0x7e, 0xa1, 0xf3, 0xf4, 0x43, 0xbb, 0xa2, 0xeb, 0xb, 0x5b, 0xcf, 0x60, 0xd3, 0x2a, 0xd, 0x4e, 0x27, 0xa3, 0x5f, 0x46, 0x93, 0x5f, 0x3b, 0xcf, 0x37, 0x7a, 0x61, 0xd3, 0x7c, 0xc3, 0xc7, 0x3b, 0xcc, 0x37, 0x7c, 0x61, 0xbb, 0xe1, 0x77, 0x58, 0x9d, 0x68, 0x3c, 0x68, 0x4f, 0x6b, 0xf3, 0x7a, 0x8b, 0x79, 0xb4, 0x97, 0xdb, 0x79, 0xcf, 0xab, 0xa1, 0x8c, 0x37, 0x2f, 0xf, 0x3e, 0xf6, 0x7e, 0x34, 0xde, 0xfc, 0xd0, 0xe6, 0x3e, 0xdb, 0x8e, 0x56, 0xe7, 0x9, 0xae, 0x7c, 0x79, 0xdd, 0x4b, 0xbb, 0xf8, 0x25, 0xe, 0xd2, 0xda, 0xa6, 0x7d, 0xb1, 0xee, 0xdd, 0xee, 0x6b, 0xf2, 0x61, 0x30, 0xfe, 0x79, 0x38, 0xbe, 0x1d, 0xf, 0x4f, 0x2f, 0xc7, 0x67, 0xdb, 0xa, 0xc2, 0xd1, 0x8f, 0x17, 0x83, 0xad, 0x5, 0xd4, 0xaa, 0xaa, 0xcc, 0x4d, 0x2, 0x74, 0x6d, 0x65, 0xa6, 0xf7, 0x32, 0x6c, 0xc8, 0xdb, 0xd3, 0x9f, 0x46, 0xe7, 0x67, 0x3b, 0x7e, 0xa4, 0xd, 0x2d, 0x6c, 0xfa, 0x30, 0x2b, 0x5f, 0xdc, 0x78, 0x54, 0x56, 0xbe, 0xd9, 0x41, 0xa8, 0x1c, 0x7e, 0xb8, 0x9b, 0xcf, 0xc6, 0xca, 0x57, 0x3b, 0x48, 0xa9, 0xd5, 0xef, 0x76, 0xd8, 0x20, 0xb8, 0xf3, 0xf6, 0x3d, 0x8c, 0x1d, 0x5a, 0xd9, 0xe7, 0x10, 0x6e, 0x3e, 0x1e, 0x37, 0x57, 0xd7, 0xc3, 0xf1, 0xc4, 0xbd, 0x7b, 0x3d, 0x1c, 0x8c, 0x4f, 0x7f, 0xba, 0x1d, 0x4c, 0x26, 0xe3, 0xd1, 0xf, 0x37, 0x93, 0xe1, 0xf5, 0x56, 0x47, 0xe4, 0xe6, 0xea, 0x6c, 0x30, 0x19, 0xde, 0xe, 0xce, 0x3e, 0x8c, 0x26, 0xdb, 0x1e, 0x2f, 0xf3, 0xee, 0xe9, 0xe9, 0xf0, 0x6a, 0xc7, 0x77, 0xb1, 0xee, 0x73, 0xb7, 0x77, 0xb7, 0x51, 0x12, 0xae, 0xc6, 0x97, 0x57, 0xc3, 0xf1, 0x64, 0x34, 0xbc, 0xbe, 0xfd, 0x70, 0x79, 0x6, 0xea, 0x9b, 0xfd, 0xc, 0x41, 0xdd, 0xec, 0xaa, 0xeb, 0x6d, 0xd7, 0x6, 0xd6, 0x8d, 0x60, 0xf5, 0x5b, 0x31, 0x6d, 0x74, 0x7, 0xfd, 0xa3, 0xf1, 0xca, 0x26, 0xb9, 0x11, 0xbf, 0xd0, 0x61, 0x39, 0xe3, 0x57, 0x36, 0x6d, 0xf4, 0x46, 0x17, 0x1b, 0x85, 0x43, 0xfc, 0x46, 0x7, 0x99, 0xd0, 0xde, 0xc9, 0x8e, 0x57, 0xfb, 0xe5, 0x95, 0xfa, 0xbf, 0x6b, 0xbd, 0xc5, 0xb6, 0x9e, 0x9a, 0xbb, 0xaa, 0xb7, 0x5f, 0xcc, 0xa8, 0x85, 0x1d, 0xd4, 0xf8, 0x6, 0x3a, 0x40, 0x87, 0xa3, 0x74, 0xb1, 0xc3, 0x4b, 0xea, 0xa3, 0xdc, 0x5e, 0xff, 0x3c, 0xba, 0xba, 0x1a, 0x5d, 0xfc, 0x78, 0x3b, 0x19, 0xf, 0x2e, 0xae, 0xa1, 0x68, 0x7b, 0x27, 0x36, 0x73, 0x1d, 0x8c, 0x59, 0x16, 0x36, 0x78, 0x16, 0xd0, 0x27, 0x7a, 0xec, 0xbc, 0x1a, 0x78, 0xb5, 0xe1, 0xa8, 0x5b, 0x11, 0x79, 0x64, 0x7, 0x23, 0x1a, 0xc6, 0x81, 0xb8, 0xb0, 0x53, 0xc7, 0x1, 0x92, 0x51, 0xf5, 0x5a, 0x5a, 0x7c, 0x51, 0x4, 0x86, 0x81, 0x37, 0x46, 0x67, 0xda, 0xe1, 0x10, 0xfa, 0x17, 0x3e, 0xe5, 0xe2, 0x31, 0x27, 0x47, 0x75, 0x3e, 0xcb, 0x6a, 0x39, 0x57, 0xed, 0x1, 0x65, 0xab, 0xb1, 0xa1, 0x11, 0x30, 0x55, 0x3b, 0x4e, 0x24, 0xeb, 0x79, 0x68, 0x42, 0x8f, 0x3e, 0xf7, 0x30, 0x14, 0xc9, 0xe5, 0xec, 0x1e, 0x91, 0xb2, 0xb0, 0x2e, 0x36, 0xec, 0x28, 0x60, 0x3e, 0xa5, 0x39, 0xe1, 0x39, 0x16, 0x98, 0x8e, 0xce, 0xdc, 0xa2, 0x9a, 0xbe, 0xf7, 0xf5, 0xee, 0x8f, 0xc, 0xc6, 0xb3, 0x76, 0xee, 0x98, 0xa4, 0x19, 0x9b, 0xe5, 0x6e, 0x3a, 0x82, 0xca, 0x61, 0x29, 0x7a, 0x6d, 0xeb, 0xa4, 0x97, 0x6, 0xb0, 0xb1, 0x2a, 0xcd, 0x47, 0x15, 0x4e, 0xc9, 0x82, 0x54, 0xbb, 0xd9, 0x98, 0x36, 0x5a, 0x61, 0x80, 0x3, 0xb7, 0x81, 0x4b, 0x64, 0xd2, 0x15, 0x29, 0x58, 0xfb, 0x6c, 0x86, 0x6a, 0x9a, 0x80, 0x4, 0xf8, 0x2f, 0x9e, 0xba, 0x73, 0x98, 0x42, 0xd4, 0x26, 0x2b, 0xe4, 0x21, 0x5c, 0x79, 0x9a, 0x60, 0x20, 0x75, 0xce, 0xfc, 0xb6, 0xfa, 0x4f, 0x43, 0xcb, 0x88, 0x10, 0xa3, 0x5e, 0x25, 0x49, 0x14, 0x84, 0x1b, 0x69, 0xcf, 0xbf, 0xdf, 0x5a, 0x4b, 0xb1, 0xe7, 0x21, 0xea, 0x39, 0xd5, 0xa9, 0x6e, 0x56, 0x8a, 0xba, 0x6a, 0x59, 0xcf, 0xa1, 0xb7, 0x8b, 0xd3, 0x73, 0xdc, 0x5e, 0xeb, 0xda, 0x5a, 0x28, 0xf3, 0x1c, 0x2, 0x1d, 0x92, 0x55, 0x6b, 0x8a, 0x1, 0x76, 0x3b, 0xf0, 0x6, 0xb9, 0xc9, 0xac, 0xad, 0xe, 0xa8, 0x42, 0x67, 0xae, 0x6c, 0xd6, 0x9c, 0xb8, 0x18, 0x55, 0x1e, 0x62, 0xf3, 0x19, 0xbd, 0x8f, 0xd1, 0xe7, 0x83, 0xe2, 0x8f, 0x9c, 0x3d, 0x12, 0x9e, 0xab, 0x25, 0x75, 0xc7, 0xa1, 0xb9, 0xaa, 0x9f, 0x18, 0x2b, 0x76, 0xac, 0x98, 0x19, 0xcd, 0x5a, 0x2a, 0x63, 0x7a, 0x84, 0x57, 0x6, 0x92, 0x76, 0x41, 0x79, 0xae, 0x7f, 0xad, 0x91, 0xe2, 0x61, 0x7e, 0xb6, 0xbd, 0xbf, 0xf0, 0xaa, 0xa, 0x9, 0x36, 0x9e, 0x24, 0x93, 0xbe, 0x9b, 0xcf, 0xdd, 0x87, 0x2a, 0x44, 0x34, 0x6, 0xc0, 0x44, 0x14, 0xb3, 0x59, 0x2f, 0x2a, 0xc0, 0x51, 0x93, 0x43, 0x7c, 0x5, 0xc0, 0x2d, 0x45, 0xe6, 0x36, 0x44, 0x7e, 0xb0, 0x68, 0xec, 0xcc, 0x73, 0xae, 0xe3, 0x34, 0x49, 0xaa, 0x13, 0x74, 0xa3, 0x8f, 0x79, 0x54, 0xe7, 0x40, 0x64, 0x87, 0xb5, 0x4d, 0x66, 0xb5, 0xf2, 0x14, 0xbe, 0xcc, 0xad, 0xfe, 0x6f, 0x74, 0xed, 0xbf, 0xf1, 0x37, 0x65, 0x25, 0x4a, 0x76, 0xa9, 0x29, 0x17, 0x5a, 0x18, 0x21, 0x76, 0xda, 0x9c, 0x36, 0xfc, 0xe0, 0x97, 0x61, 0x69, 0xa8, 0x7f, 0xb3, 0xd5, 0x74, 0xd7, 0x16, 0xe9, 0xd2, 0x60, 0x74, 0xb7, 0x23, 0xd8, 0x38, 0xa6, 0x0, 0x60, 0x5b, 0x62, 0x1e, 0x75, 0x80, 0x5f, 0xd0, 0x64, 0x30, 0x13, 0xd5, 0xfa, 0x35, 0x36, 0xbb, 0x8e, 0x63, 0xfb, 0xe1, 0x7, 0x8, 0xbd, 0x58, 0x69, 0x1e, 0xd2, 0x89, 0x7c, 0xa9, 0x2, 0xea, 0xbf, 0x79, 0x15, 0xd4, 0x7f, 0xc7, 0x42, 0xe9, 0x58, 0xba, 0x43, 0x3d, 0x96, 0x5f, 0x5a, 0xfd, 0x37, 0xaf, 0xb6, 0xfa, 0xef, 0x1d, 0x8a, 0xab, 0xdb, 0xaf, 0xd4, 0xdd, 0x22, 0x1, 0x5e, 0x5b, 0xbf, 0xb7, 0x5b, 0xb9, 0x15, 0x32, 0x6b, 0x7f, 0xce, 0x93, 0x95, 0xf1, 0x1c, 0x17, 0xe1, 0xe5, 0x4a, 0x1, 0xda, 0xd, 0xd4, 0xe2, 0x2b, 0xdd, 0x57, 0x1d, 0x28, 0x1d, 0xe3, 0xe4, 0x3, 0x75, 0x69, 0x78, 0xe2, 0xad, 0xd2, 0x29, 0x4a, 0xa3, 0x33, 0xff, 0xd0, 0xfb, 0xd7, 0xfe, 0x2e, 0x8c, 0x19, 0xb0, 0x1, 0x1, 0x11, 0x50, 0x27, 0xc3, 0xfa, 0x87, 0x4, 0x3a, 0x15, 0x86, 0xc8, 0x7b, 0x59, 0x78, 0x95, 0x3b, 0x80, 0xba, 0x33, 0xc8, 0x5a, 0xb2, 0x73, 0x36, 0x8, 0xb7, 0x75, 0x1d, 0xbe, 0x5c, 0xef, 0x2f, 0xd7, 0xfb, 0xcb, 0xf5, 0xfe, 0xbb, 0xbc, 0xde, 0x57, 0xcd, 0xf0, 0xe2, 0x72, 0x32, 0x3c, 0x81, 0x55, 0x5d, 0x43, 0x30, 0x34, 0x55, 0xc2, 0xa4, 0xff, 0xf0, 0x7d, 0xff, 0x7, 0xf5, 0xf, 0x9b, 0xa3, 0xe3, 0x5f, 0x8e, 0x1, 0xe6, 0xb3, 0xcf, 0x58, 0x7a, 0x23, 0x19, 0xb0, 0x93, 0xaf, 0xb6, 0x72, 0xef, 0x5a, 0xae, 0xed, 0xdd, 0x6e, 0xeb, 0xd5, 0x99, 0x86, 0x5b, 0xe, 0x63, 0x3f, 0xca, 0xb1, 0x9, 0x95, 0x9f, 0xe, 0xe2, 0x23, 0x42, 0xef, 0x10, 0x75, 0x85, 0x4f, 0x2b, 0x33, 0x65, 0x7b, 0x77, 0x2b, 0x42, 0xd7, 0x77, 0xbd, 0xf8, 0x25, 0xf4, 0x1, 0xde, 0xf5, 0x48, 0x8c, 0x6c, 0x7f, 0xd7, 0x1a, 0x5d, 0xb7, 0x99, 0xcd, 0x42, 0xcb, 0x61, 0xbf, 0xd4, 0x1c, 0xb7, 0x90, 0x30, 0x6c, 0x5b, 0x70, 0xf, 0xe1, 0x56, 0x6, 0xd0, 0x46, 0x40, 0x7a, 0x76, 0xd4, 0x9f, 0x8f, 0x1a, 0x57, 0x1a, 0x20, 0x96, 0xcd, 0xc6, 0xa5, 0x4, 0x76, 0x57, 0xf3, 0x46, 0x9e, 0xd6, 0x3c, 0x4b, 0xf7, 0x5e, 0x46, 0xf8, 0x9c, 0x96, 0xe1, 0x13, 0x4f, 0x48, 0xc8, 0x75, 0xee, 0xc8, 0x7f, 0xc0, 0xd5, 0xc6, 0x25, 0xf6, 0x1c, 0x64, 0xe0, 0xc0, 0xcf, 0x28, 0xd6, 0x67, 0xa8, 0x61, 0x86, 0x8, 0x1a, 0x60, 0xf6, 0x7d, 0xe4, 0x67, 0x69, 0x90, 0xab, 0x23, 0x10, 0x74, 0x4c, 0xa0, 0xe3, 0x98, 0x7e, 0x7a, 0x90, 0x9c, 0x4, 0x6b, 0x6d, 0xc4, 0x8b, 0x25, 0xc3, 0x5c, 0xb9, 0xf4, 0x53, 0xf, 0x86, 0x5d, 0x6b, 0x38, 0xc0, 0x99, 0x26, 0x91, 0x8, 0x3, 0x25, 0xd3, 0x14, 0x89, 0xe8, 0x11, 0x5c, 0x18, 0xf3, 0x9f, 0x72, 0xc8, 0x61, 0xa5, 0xc0, 0xab, 0x13, 0xb6, 0x9d, 0x88, 0xbc, 0xe2, 0x79, 0xcd, 0x8e, 0xa9, 0x3c, 0xce, 0xd9, 0x63, 0x74, 0xf7, 0x8f, 0x99, 0xba, 0x5d, 0x97, 0x5d, 0x12, 0x5d, 0xc6, 0xc3, 0xeb, 0xe1, 0xe4, 0x76, 0x3c, 0x1c, 0x5c, 0x5d, 0x9d, 0xff, 0xba, 0x29, 0xe1, 0xa5, 0xe5, 0x61, 0x8c, 0x5e, 0x6d, 0x7e, 0xae, 0x5, 0x15, 0xb5, 0xe5, 0xa9, 0xc1, 0xf9, 0xf9, 0xed, 0xf0, 0x7c, 0xf4, 0xe3, 0xe8, 0x87, 0xf3, 0xe1, 0x7e, 0x5b, 0xab, 0x21, 0x5e, 0xc, 0xbb, 0xdd, 0x2a, 0x54, 0xd2, 0x2e, 0x73, 0x6b, 0xf5, 0x3a, 0xeb, 0x8a, 0xa8, 0x71, 0x9d, 0x1f, 0x22, 0x37, 0x5a, 0xed, 0xe3, 0xb2, 0x66, 0x3d, 0x84, 0xfd, 0x33, 0xd4, 0x1d, 0x88, 0x9d, 0x1, 0xaa, 0x92, 0x77, 0x5f, 0xfb, 0x50, 0x18, 0xe4, 0xc8, 0x80, 0x65, 0xa8, 0xad, 0xa4, 0xf6, 0xf8, 0x2d, 0x4f, 0x9d, 0x5b, 0xad, 0x41, 0x64, 0x82, 0x3e, 0xea, 0x25, 0xa2, 0x67, 0x5b, 0x1c, 0x6c, 0xe4, 0xbe, 0xef, 0xbf, 0x69, 0xdd, 0x4e, 0xc3, 0xcf, 0x49, 0x56, 0xa7, 0x4c, 0xed, 0xaa, 0xdd, 0x72, 0xd1, 0x9a, 0xfb, 0xaf, 0xb9, 0xd, 0x86, 0x7f, 0x3e, 0x3d, 0xbf, 0x39, 0x1b, 0xae, 0xdf, 0x89, 0x1b, 0x5e, 0x6b, 0xd9, 0x93, 0x9b, 0x3a, 0x82, 0xe0, 0xcf, 0x36, 0x6f, 0x40, 0x2c, 0x67, 0x9b, 0x17, 0xc2, 0x60, 0x4f, 0xf0, 0xe6, 0x8a, 0xed, 0xbd, 0x62, 0xbf, 0xc5, 0x76, 0x9d, 0x8d, 0xa6, 0xa0, 0xc0, 0x43, 0x49, 0x52, 0x32, 0xad, 0x5f, 0x6f, 0xd0, 0x30, 0x4c, 0x36, 0xb0, 0xd4, 0x94, 0x6f, 0x4a, 0x8b, 0x9b, 0x63, 0x15, 0x5, 0x6e, 0x3b, 0xea, 0x51, 0xf, 0xc0, 0xed, 0xa0, 0xec, 0x7b, 0x73, 0x29, 0xa8, 0x7, 0x6c, 0x41, 0xa0, 0x1b, 0x20, 0x90, 0x81, 0x79, 0xc, 0x18, 0xe0, 0x12, 0x0, 0x94, 0xcd, 0xe3, 0x90, 0x54, 0x11, 0xb2, 0xc0, 0x4b, 0xef, 0x6a, 0xbf, 0x12, 0x3c, 0xaf, 0x76, 0xc8, 0xeb, 0xdb, 0xf1, 0x3a, 0xd2, 0x54, 0xe8, 0xcd, 0x2b, 0x65, 0xca, 0x73, 0x5a, 0x2e, 0x4f, 0xe7, 0x2c, 0xf9, 0x24, 0xc3, 0x3d, 0xbb, 0x65, 0x11, 0x5, 0x19, 0x58, 0x30, 0x18, 0x68, 0xd2, 0x56, 0x47, 0x73, 0x4b, 0x77, 0xb8, 0xa7, 0xe7, 0x79, 0x62, 0x6f, 0x4e, 0xd, 0x86, 0xa8, 0x8f, 0x72, 0x9c, 0xbb, 0x8a, 0xa4, 0xa6, 0x54, 0xc9, 0x87, 0x1a, 0x88, 0x43, 0xcc, 0x85, 0xfa, 0xe8, 0x2d, 0x82, 0xc7, 0xf0, 0xa3, 0x9a, 0xfc, 0xd8, 0x56, 0x4b, 0xb4, 0xfd, 0x10, 0x87, 0x26, 0xb6, 0x13, 0xa8, 0xc2, 0xad, 0x8d, 0x6b, 0x7d, 0xa6, 0x79, 0xed, 0xb7, 0x8f, 0x12, 0x95, 0xf0, 0xbd, 0x6b, 0xe2, 0xd9, 0xe7, 0x82, 0x97, 0x5d, 0x9b, 0x59, 0x27, 0xbd, 0x8f, 0x8e, 0x8f, 0x9, 0x2d, 0xf8, 0x71, 0x6, 0xb8, 0xb7, 0x27, 0x24, 0x11, 0x25, 0x3b, 0x39, 0x79, 0xf7, 0x87, 0xef, 0xff, 0xf9, 0xe4, 0xc4, 0x78, 0xf0, 0x8e, 0xa1, 0xb7, 0xe5, 0xbf, 0xa7, 0x5c, 0xd2, 0x69, 0x16, 0x33, 0xc3, 0xa9, 0x1f, 0xca, 0x8b, 0x7e, 0xca, 0x1e, 0xde, 0xe6, 0xa2, 0x3a, 0x36, 0x6c, 0x45, 0xd5, 0x9, 0x99, 0x4c, 0xce, 0x4d, 0x74, 0xcc, 0xb0, 0x53, 0xab, 0x93, 0x15, 0x1e, 0x9c, 0x3e, 0x39, 0x3e, 0x7e, 0xd3, 0x30, 0x47, 0xd0, 0xd4, 0xd3, 0x6a, 0x20, 0xc2, 0x66, 0x2, 0x7f, 0x21, 0xae, 0x79, 0x5a, 0x33, 0x3c, 0xf0, 0x1a, 0xd, 0xa6, 0x2d, 0xd0, 0xda, 0x5c, 0x34, 0x38, 0xc1, 0x0, 0x20, 0xbd, 0xf5, 0x9d, 0x37, 0xa3, 0x99, 0xf4, 0xe2, 0x83, 0x4a, 0x12, 0x14, 0x6a, 0x2, 0x80, 0xba, 0x55, 0x68, 0x22, 0x64, 0x2c, 0x3b, 0x7a, 0x2f, 0xdf, 0x96, 0xec, 0x37, 0x4c, 0x20, 0x96, 0x6f, 0x91, 0x1a, 0xd9, 0x94, 0xd0, 0xc9, 0x4d, 0xf6, 0x53, 0xb8, 0x34, 0xba, 0x32, 0x22, 0x82, 0x37, 0xb3, 0xa1, 0x5e, 0xe4, 0xd, 0x91, 0xde, 0xe, 0x15, 0x39, 0xb, 0x77, 0xa2, 0x26, 0xcd, 0x73, 0xd3, 0x32, 0x92, 0x43, 0xe9, 0x92, 0xfa, 0x80, 0x27, 0x5a, 0x68, 0xa8, 0xa3, 0x9f, 0xb3, 0xc7, 0x60, 0x7a, 0x46, 0x63, 0x34, 0xb6, 0x23, 0x9f, 0x19, 0x2, 0xb4, 0x66, 0x43, 0xae, 0x13, 0xd3, 0xa2, 0x3a, 0xc8, 0xf9, 0x3d, 0x93, 0xe4, 0xc8, 0x92, 0x5d, 0x72, 0xcb, 0xa7, 0x89, 0xca, 0x81, 0x1a, 0xb1, 0x56, 0x6b, 0x91, 0x16, 0x23, 0x20, 0x36, 0x2, 0xdb, 0x5f, 0x7d, 0xc3, 0x37, 0xb1, 0xc8, 0xdd, 0xd6, 0x98, 0x2a, 0x82, 0x97, 0xc8, 0xa1, 0x12, 0xd2, 0xc3, 0xef, 0xf5, 0xda, 0xd, 0xf2, 0x79, 0x15, 0x89, 0x3c, 0xa1, 0x97, 0xb6, 0xc5, 0xce, 0xf4, 0x2b, 0x1b, 0xd1, 0x67, 0x89, 0xc6, 0xe, 0x14, 0x5c, 0x6a, 0xf, 0x3e, 0x35, 0xc2, 0xdf, 0x52, 0x83, 0x3a, 0x43, 0xc8, 0x77, 0x77, 0x82, 0x7f, 0x48, 0xdb, 0x5b, 0x91, 0x42, 0xa8, 0x3, 0xbb, 0x5e, 0x20, 0x5e, 0xdf, 0x19, 0xa0, 0x5d, 0x5e, 0xaa, 0xdd, 0xf4, 0xc8, 0xd5, 0xa9, 0xad, 0xa2, 0x26, 0x1d, 0x91, 0x7b, 0x5b, 0x3, 0x71, 0xa1, 0xad, 0xaf, 0xb2, 0x8e, 0x72, 0x70, 0x65, 0x26, 0x54, 0x32, 0x19, 0x2b, 0xb4, 0xb6, 0x13, 0x34, 0xbc, 0xa8, 0xe1, 0xcf, 0xa6, 0x78, 0xa8, 0xea, 0xdc, 0x10, 0x4a, 0x6d, 0x5d, 0x89, 0xe1, 0x3b, 0x2, 0xde, 0xf3, 0x9c, 0xcb, 0xf9, 0x61, 0x8a, 0x94, 0x7d, 0x9f, 0xc0, 0x73, 0x73, 0x5, 0x1c, 0xac, 0x7a, 0x8, 0x9b, 0x6e, 0x94, 0xd, 0xbd, 0x58, 0x9d, 0xf8, 0xf3, 0xe5, 0xac, 0xce, 0x17, 0xc3, 0xec, 0xdb, 0x30, 0xcc, 0xc0, 0x14, 0xaf, 0xb4, 0x5f, 0x53, 0xbb, 0x6e, 0xf, 0x7f, 0xb1, 0x5e, 0x35, 0xfa, 0xe8, 0x7a, 0x3, 0xb9, 0x41, 0x1, 0xeb, 0x36, 0xba, 0xba, 0x74, 0x68, 0x24, 0xb8, 0x67, 0x2c, 0x60, 0xaa, 0xbe, 0xa3, 0x26, 0x73, 0x26, 0x99, 0xab, 0x32, 0x96, 0x71, 0xe0, 0x27, 0xfc, 0x44, 0xfa, 0x12, 0xf9, 0x2e, 0x67, 0x8f, 0xdf, 0x81, 0x74, 0x8f, 0xe3, 0x93, 0x5e, 0xe5, 0x1e, 0x5e, 0x70, 0x40, 0x8, 0xe9, 0x2a, 0xc2, 0xcd, 0xf5, 0x13, 0x23, 0x88, 0x66, 0x99, 0x3f, 0x6, 0xf5, 0xa4, 0x9, 0x3c, 0x45, 0xec, 0x9a, 0x64, 0xca, 0x66, 0x2, 0x3d, 0xfe, 0x5a, 0xfd, 0x53, 0x17, 0x4d, 0xe8, 0x1c, 0xe4, 0xd2, 0xe5, 0xfe, 0xd9, 0x7e, 0x9e, 0xb6, 0xf6, 0x73, 0x95, 0xfa, 0xb3, 0x13, 0x8e, 0xee, 0x66, 0x3, 0x33, 0xe8, 0xee, 0x3d, 0x42, 0x65, 0xec, 0x60, 0x8f, 0x67, 0x54, 0xba, 0x0, 0xe4, 0x59, 0x13, 0xf4, 0xb9, 0x3b, 0xbe, 0x33, 0xce, 0x34, 0x40, 0x13, 0x36, 0x85, 0x86, 0x2f, 0xa4, 0x10, 0x2f, 0xa4, 0x10, 0x5f, 0x9d, 0x14, 0xa2, 0x42, 0x32, 0x4c, 0x5e, 0x2e, 0x90, 0x49, 0x5f, 0xc3, 0x8e, 0xfc, 0x93, 0x7b, 0xff, 0xb, 0x20, 0x9e, 0x5f, 0xb3, 0x92, 0xd3, 0xc, 0x50, 0x42, 0x1d, 0x1c, 0x69, 0x80, 0xd1, 0x57, 0x9, 0xcd, 0x18, 0x6b, 0x61, 0x94, 0xdb, 0xca, 0x8c, 0x9f, 0xbe, 0x8c, 0x3d, 0x65, 0x45, 0x26, 0x96, 0xb, 0x96, 0xc7, 0x51, 0xbc, 0x9d, 0x16, 0x6, 0xfd, 0x77, 0x67, 0x71, 0x9b, 0x2b, 0xd7, 0x49, 0xfb, 0xfb, 0xdc, 0x20, 0x6c, 0x68, 0x17, 0x2c, 0x9d, 0x5a, 0xb2, 0x12, 0xee, 0x31, 0x8, 0xce, 0xe4, 0xde, 0x34, 0xbe, 0x74, 0x1e, 0xd6, 0xa1, 0x88, 0x2c, 0x36, 0xc8, 0xce, 0x1d, 0x93, 0xae, 0x56, 0x35, 0xfa, 0x42, 0x55, 0xf0, 0xed, 0x1e, 0xdc, 0x6f, 0x81, 0x98, 0x80, 0x58, 0x20, 0xf4, 0x5f, 0x9a, 0xa0, 0xab, 0x3b, 0xa, 0x1f, 0xdd, 0xd2, 0x75, 0x45, 0x17, 0x45, 0x57, 0x9d, 0xfa, 0x17, 0x13, 0x3, 0x88, 0x12, 0xf1, 0x58, 0x9, 0xd9, 0x70, 0xce, 0xe5, 0x88, 0xa9, 0x63, 0x54, 0x7e, 0xb2, 0x4, 0x69, 0xc0, 0x7f, 0xfd, 0x5a, 0x92, 0x3b, 0x13, 0xe2, 0x33, 0x0, 0x55, 0x98, 0x8d, 0x15, 0x5e, 0x94, 0x34, 0x7b, 0xa4, 0x4b, 0x69, 0xc0, 0xf7, 0xa7, 0x4b, 0x0, 0xbd, 0xea, 0x5b, 0xf8, 0x25, 0x25, 0xfb, 0xf2, 0x7b, 0xc2, 0xf3, 0x4a, 0x98, 0xb0, 0x84, 0x65, 0x5d, 0x6, 0x86, 0x6d, 0xc4, 0x63, 0x62, 0xe4, 0xae, 0x96, 0xec, 0xd6, 0x3d, 0x71, 0x17, 0xf6, 0x82, 0xfd, 0x6b, 0xc8, 0xa6, 0x3e, 0xb9, 0x66, 0xcc, 0xf2, 0x74, 0xa7, 0x22, 0xc1, 0x2f, 0x8e, 0x9c, 0xc2, 0xb, 0x51, 0xb2, 0x86, 0x21, 0x1c, 0x19, 0xcc, 0x4e, 0x36, 0xdf, 0x1a, 0xdb, 0x19, 0x52, 0xc2, 0x18, 0xf5, 0x54, 0x7b, 0xf7, 0xd0, 0x5e, 0x5f, 0xd0, 0x5d, 0x1c, 0x5d, 0xbf, 0x9c, 0x7b, 0xa3, 0xed, 0xe3, 0x69, 0xea, 0x7a, 0x13, 0xca, 0xf0, 0xbe, 0xde, 0x87, 0x5a, 0x56, 0x90, 0x2a, 0xa0, 0x59, 0xe7, 0xf8, 0x2c, 0xb8, 0x6c, 0x62, 0xff, 0x4e, 0xfb, 0xb5, 0x76, 0x47, 0x4a, 0x76, 0x4f, 0xcb, 0x14, 0x72, 0xaf, 0xc4, 0xcc, 0xff, 0x66, 0xc8, 0x9a, 0xce, 0x72, 0x8, 0x28, 0xa8, 0x53, 0x91, 0x8b, 0x98, 0x4b, 0xc1, 0x5f, 0xe9, 0x31, 0x2b, 0x32, 0x9a, 0x18, 0x34, 0x8f, 0xb6, 0x35, 0x6f, 0x5b, 0xeb, 0xdf, 0xe1, 0x8d, 0xbd, 0xf6, 0xb2, 0x3a, 0xd4, 0xed, 0x67, 0x3e, 0xf8, 0x8b, 0x3d, 0xf2, 0x62, 0x8f, 0x3c, 0xf, 0x7b, 0x4, 0x37, 0xa4, 0x7f, 0x23, 0x47, 0x7c, 0xb7, 0x87, 0xd7, 0x64, 0x94, 0x26, 0x21, 0x9d, 0x36, 0x83, 0x5d, 0x82, 0x33, 0xdc, 0x8c, 0xcc, 0x7a, 0x70, 0xbe, 0xa0, 0xd6, 0xf2, 0x7b, 0xd7, 0xd6, 0x43, 0xd1, 0x72, 0x68, 0x81, 0xf5, 0x4d, 0xe9, 0xeb, 0x5f, 0x6a, 0x93, 0xbb, 0x9d, 0x2d, 0xeb, 0x44, 0xe9, 0x69, 0xb3, 0x3a, 0xcb, 0xec, 0xee, 0xd6, 0x20, 0x5e, 0x2f, 0xcc, 0x61, 0x2f, 0xa, 0xfa, 0x8b, 0x82, 0xfe, 0xa2, 0xa0, 0xbf, 0x28, 0xe8, 0x3b, 0x28, 0xe8, 0xee, 0x7a, 0x3a, 0xd0, 0x85, 0x87, 0x14, 0x1, 0x2f, 0xea, 0xf9, 0x8b, 0x7a, 0xfe, 0x1c, 0xd4, 0xf3, 0x19, 0xe5, 0x99, 0x7d, 0x43, 0xa3, 0xd1, 0xef, 0x75, 0x64, 0x75, 0x98, 0x6e, 0xe5, 0x11, 0xc5, 0xf8, 0x1b, 0x4b, 0x4d, 0x67, 0xbe, 0x7f, 0xf1, 0xb, 0x2a, 0x28, 0x9b, 0x62, 0x82, 0x4f, 0x40, 0x4, 0xeb, 0x5c, 0xaa, 0x6, 0xe6, 0x3, 0x83, 0xf0, 0xba, 0x1c, 0x8c, 0x4a, 0x18, 0x94, 0x47, 0xfa, 0x69, 0x86, 0xf7, 0xad, 0x18, 0x10, 0xbe, 0xe4, 0xdb, 0x29, 0x62, 0xac, 0xb7, 0xcc, 0xe1, 0x33, 0x12, 0x36, 0x6d, 0xda, 0x48, 0x4a, 0x5c, 0x23, 0xf6, 0x3e, 0xe0, 0xbc, 0xa0, 0x63, 0xdc, 0x8c, 0x8c, 0x24, 0x50, 0x86, 0xca, 0x73, 0xc8, 0x81, 0x9, 0x8f, 0xbe, 0xfa, 0xba, 0xb7, 0xf6, 0xa3, 0xde, 0x9a, 0x4d, 0x50, 0xe0, 0xc6, 0x81, 0x64, 0x4f, 0x21, 0x48, 0xa6, 0x44, 0x5d, 0xcf, 0x82, 0xbf, 0xd8, 0x53, 0xe2, 0xfd, 0x75, 0xfd, 0xfa, 0x7e, 0x53, 0x76, 0xd4, 0x3f, 0x90, 0x44, 0xfa, 0x56, 0x4c, 0xa6, 0xdf, 0xa5, 0x64, 0x7d, 0xb1, 0xf3, 0x5e, 0xec, 0xbc, 0x17, 0x3b, 0xef, 0x1f, 0xd8, 0xce, 0x33, 0x77, 0xe7, 0x8b, 0x5e, 0xb2, 0xb7, 0x5e, 0x52, 0x95, 0xcb, 0x2b, 0x91, 0xf1, 0x64, 0xb9, 0xe5, 0x2a, 0x22, 0xee, 0x4a, 0x36, 0xca, 0x2b, 0x56, 0x3e, 0xd0, 0x0, 0x8e, 0xe4, 0x4b, 0xc0, 0x5a, 0x98, 0x7e, 0xc3, 0xba, 0xb0, 0x52, 0x4d, 0x7, 0x6a, 0x1c, 0xe0, 0x5f, 0x3f, 0x20, 0xa2, 0xc5, 0xa9, 0x60, 0xb3, 0x19, 0x4f, 0x0, 0x32, 0x86, 0x4b, 0xf2, 0x7d, 0xff, 0x1d, 0xd6, 0x3a, 0x20, 0x6, 0x85, 0x2d, 0x33, 0x4, 0x68, 0x14, 0x56, 0x95, 0xc1, 0xfd, 0x38, 0x6d, 0x34, 0xd1, 0xdc, 0x36, 0x79, 0xbd, 0x98, 0xb2, 0xb2, 0xe3, 0x57, 0xf7, 0x7, 0x53, 0x4b, 0xc3, 0xf3, 0x96, 0x25, 0x75, 0x46, 0x2b, 0xa6, 0x91, 0x4c, 0x3e, 0xeb, 0x99, 0x10, 0xae, 0x67, 0xd9, 0x4, 0x89, 0x68, 0x7b, 0xa, 0x10, 0x35, 0x4a, 0xf6, 0xc0, 0x45, 0x2d, 0xdd, 0x2f, 0x17, 0x75, 0x56, 0x71, 0x4c, 0x5b, 0xd5, 0x65, 0xec, 0x89, 0x1b, 0x42, 0xd4, 0xb0, 0x11, 0x71, 0xdf, 0x2b, 0xf1, 0x3, 0xbb, 0xa4, 0x6c, 0x2d, 0xe8, 0x12, 0xf5, 0x34, 0x73, 0xfb, 0x72, 0x41, 0x3f, 0xf3, 0x45, 0xbd, 0xf8, 0x5a, 0x5b, 0x21, 0x5a, 0xe0, 0xf, 0x38, 0x1a, 0xb7, 0x0, 0x53, 0x56, 0x3d, 0x62, 0x72, 0x31, 0x7e, 0x5b, 0x32, 0xfc, 0x8c, 0x27, 0x97, 0xab, 0x3f, 0xe2, 0xf7, 0x25, 0x19, 0xa3, 0xc0, 0xdf, 0xe6, 0x2d, 0x66, 0x9e, 0x94, 0x8c, 0xca, 0xf8, 0xb2, 0x83, 0x3b, 0x1c, 0x81, 0x34, 0x75, 0xc1, 0x57, 0x42, 0xb, 0xb3, 0xb, 0xed, 0x3b, 0x16, 0x10, 0x44, 0xed, 0xb7, 0x77, 0xef, 0x3e, 0xbb, 0x7, 0xe0, 0xd4, 0xb4, 0x7c, 0x58, 0xbd, 0x88, 0x3, 0xa4, 0xcb, 0x6c, 0x11, 0x4e, 0xea, 0x95, 0xfb, 0xce, 0xdb, 0xcc, 0xac, 0x2, 0xee, 0x4d, 0x8, 0xa6, 0xe9, 0x96, 0xfb, 0xe4, 0xa3, 0xda, 0xfc, 0xec, 0x73, 0xc2, 0x58, 0x6a, 0x59, 0xac, 0x60, 0x69, 0x94, 0xa, 0x56, 0x40, 0x2d, 0x8, 0x1, 0x26, 0x95, 0x4a, 0x57, 0x37, 0xa6, 0x64, 0xc9, 0xe2, 0xad, 0xf2, 0x3d, 0xd1, 0x45, 0x88, 0xd2, 0x2d, 0xec, 0x3b, 0xb2, 0x60, 0x34, 0x97, 0xa4, 0xce, 0xa1, 0x2, 0x9d, 0xa5, 0xe4, 0xa8, 0x2e, 0x4c, 0xf2, 0x51, 0xc5, 0x17, 0x4c, 0xd4, 0x95, 0x7c, 0xd3, 0xb2, 0xa1, 0x78, 0x5e, 0xfd, 0xf1, 0xf, 0x4e, 0xb7, 0x6, 0x76, 0xf9, 0x72, 0xa9, 0x5a, 0x1f, 0x96, 0xa5, 0x28, 0x77, 0xaf, 0x4e, 0xd8, 0x61, 0xff, 0x5c, 0x88, 0xfc, 0xd8, 0x76, 0x8f, 0x5c, 0x33, 0x88, 0xc1, 0xa4, 0x56, 0xe, 0xc1, 0x70, 0x44, 0x81, 0x27, 0xf, 0x34, 0x2f, 0xfc, 0xb0, 0xc8, 0x49, 0x3, 0xc0, 0xb4, 0x80, 0xd0, 0xc4, 0x34, 0xdd, 0x4b, 0xc6, 0x65, 0xd5, 0x77, 0x70, 0xe, 0xe1, 0x1a, 0x22, 0x21, 0xc, 0xa6, 0xf8, 0x53, 0x22, 0xeb, 0x29, 0xe, 0x14, 0x5b, 0xe8, 0x79, 0xed, 0x7e, 0xa7, 0x1a, 0xfe, 0x8e, 0x1c, 0xa9, 0x7, 0xb5, 0x5e, 0xf6, 0x6, 0xc9, 0xe4, 0xe0, 0x51, 0xc2, 0x3e, 0xd3, 0xa4, 0x72, 0x14, 0x72, 0xc1, 0xf4, 0x7e, 0x82, 0x8a, 0x69, 0xfc, 0xbe, 0xa2, 0xbe, 0x9f, 0x9b, 0x6a, 0x82, 0x39, 0xcd, 0xd3, 0x8c, 0xa5, 0x3d, 0x52, 0xc3, 0x67, 0x54, 0xc2, 0x61, 0x2a, 0xaa, 0xb9, 0xb5, 0x27, 0xa4, 0x8f, 0x11, 0x64, 0x50, 0x60, 0xc6, 0x68, 0x82, 0x20, 0x43, 0xfe, 0x96, 0x37, 0x86, 0xae, 0xd0, 0x72, 0x7a, 0xc3, 0xe1, 0x14, 0xf8, 0x46, 0x9b, 0x9d, 0xef, 0x60, 0xd, 0x5b, 0x24, 0xb5, 0x5b, 0xd0, 0xd3, 0xd, 0x8d, 0x82, 0x6f, 0xb1, 0xaa, 0xc0, 0x4e, 0xe, 0x33, 0xfb, 0x6d, 0x5c, 0x1a, 0x17, 0x4b, 0xe9, 0x89, 0xb2, 0x81, 0xb7, 0xc1, 0x3e, 0x73, 0xa4, 0xe8, 0xa9, 0x73, 0xad, 0xed, 0xa1, 0x7a, 0x37, 0xa8, 0x2b, 0x71, 0x53, 0xdc, 0x97, 0x34, 0x75, 0x46, 0x5c, 0x8c, 0x2b, 0x74, 0xc1, 0x33, 0x2d, 0x6c, 0xf0, 0x64, 0xe5, 0xc2, 0x33, 0x3c, 0x70, 0xff, 0x78, 0x43, 0x3e, 0x52, 0x87, 0xba, 0xa8, 0xc8, 0x98, 0x2e, 0xa, 0xd5, 0xa1, 0x7e, 0xb4, 0xa7, 0x36, 0xa9, 0xd6, 0x5a, 0xdf, 0x98, 0x89, 0x48, 0x52, 0x95, 0x54, 0x5d, 0x3, 0xba, 0xda, 0xb3, 0x9a, 0xd3, 0xdc, 0x4e, 0xc0, 0x5e, 0x23, 0xd9, 0x92, 0x5c, 0xf1, 0x5c, 0xd, 0xd8, 0x8d, 0x10, 0x6a, 0xef, 0xa6, 0x92, 0x69, 0xa0, 0x2d, 0x4a, 0x4e, 0x75, 0xe9, 0x9d, 0xed, 0xe, 0xb1, 0xb0, 0x20, 0xa0, 0xa9, 0xfb, 0xc0, 0xa2, 0xf, 0x9a, 0x2f, 0x49, 0x49, 0x17, 0x5, 0xf0, 0x2b, 0x49, 0x56, 0xbd, 0x21, 0xe4, 0x5e, 0x20, 0xec, 0x84, 0xbf, 0x36, 0x8f, 0xda, 0xb6, 0x39, 0xaa, 0xe6, 0x42, 0x32, 0xad, 0xdf, 0xde, 0x5c, 0xfc, 0x32, 0x1c, 0x5f, 0x3, 0x6e, 0xf4, 0x1d, 0x39, 0x12, 0xa5, 0x4f, 0x11, 0xff, 0xc6, 0xa8, 0xdb, 0xbf, 0x58, 0x6d, 0xfa, 0x83, 0x48, 0xd9, 0x5d, 0xff, 0x4d, 0xb, 0xac, 0xca, 0x49, 0x3c, 0x5e, 0x75, 0x2, 0xc5, 0x3, 0x2b, 0x4b, 0x9e, 0xa6, 0x2c, 0x37, 0x97, 0x64, 0xb4, 0x86, 0xa8, 0x21, 0x90, 0x42, 0x94, 0x95, 0x21, 0x28, 0xd7, 0x53, 0x3, 0xf0, 0x1b, 0x98, 0x55, 0xc1, 0xca, 0x84, 0xe5, 0x15, 0xbd, 0x8f, 0x54, 0x36, 0x38, 0xe1, 0xf9, 0x31, 0xe0, 0x2d, 0x1f, 0x49, 0xc6, 0xc8, 0x5d, 0x89, 0x8d, 0xdf, 0x7a, 0x4a, 0xbb, 0x9e, 0xfe, 0x1d, 0x6c, 0x24, 0xfb, 0x80, 0xfe, 0xed, 0xad, 0x6b, 0xfa, 0xce, 0x9b, 0x93, 0x3e, 0x51, 0x2d, 0xe7, 0x68, 0x5b, 0xa8, 0x1, 0x30, 0xdb, 0x74, 0x73, 0x6d, 0xa3, 0xf2, 0x92, 0x98, 0x71, 0x64, 0xcf, 0xea, 0x14, 0x7f, 0x6c, 0xf9, 0x4, 0xfe, 0xaa, 0xf7, 0xd0, 0xd0, 0x68, 0xf9, 0x78, 0x5c, 0x12, 0x39, 0xe7, 0x33, 0x75, 0x55, 0xcd, 0x4a, 0xb1, 0x80, 0x2f, 0x1f, 0x6f, 0xf, 0x7d, 0x7f, 0x45, 0x1b, 0xa2, 0x4d, 0x73, 0x72, 0xb6, 0x7a, 0xca, 0x1, 0xa7, 0x3a, 0xaf, 0xb0, 0xd9, 0x75, 0x4b, 0x4b, 0x34, 0x22, 0x1a, 0x8, 0x5f, 0x5a, 0x32, 0x92, 0xf3, 0x58, 0xdf, 0x73, 0x52, 0xc0, 0x82, 0x71, 0x3, 0xfc, 0xf, 0x8c, 0xeb, 0x89, 0x4e, 0x4e, 0xf3, 0xe0, 0xe8, 0x2a, 0x77, 0x4, 0x6e, 0xb3, 0x38, 0xe5, 0x2, 0x17, 0x1e, 0xa6, 0x29, 0x72, 0xe6, 0xaf, 0x1a, 0xcd, 0x51, 0xb4, 0x58, 0xb9, 0x20, 0x4a, 0x7c, 0xce, 0x1b, 0x72, 0xd8, 0x8d, 0x19, 0x3f, 0x82, 0x19, 0xd1, 0xb2, 0xe2, 0x4a, 0x2f, 0x6e, 0x69, 0xa1, 0xed, 0xaf, 0x2b, 0xc4, 0x48, 0x63, 0xeb, 0x1e, 0xea, 0xb8, 0xac, 0x39, 0xc4, 0xab, 0xfa, 0xbc, 0xb2, 0xdb, 0x73, 0x4f, 0x2b, 0xc2, 0x35, 0x4, 0xbb, 0x19, 0xc4, 0x36, 0x42, 0x2c, 0x96, 0xc, 0xfc, 0x84, 0xae, 0x48, 0x2d, 0x16, 0x64, 0xda, 0x11, 0x63, 0x34, 0xd2, 0x68, 0xb7, 0x47, 0x3b, 0xef, 0x17, 0x0, 0x47, 0x2f, 0x69, 0x7e, 0xcf, 0x4e, 0xc8, 0x7f, 0xbd, 0xeb, 0x29, 0x65, 0xf6, 0xbf, 0xfb, 0x64, 0xa0, 0xfe, 0xff, 0xff, 0xd, 0x6e, 0xa6, 0xd6, 0xae, 0x8c, 0x7b, 0x59, 0xfd, 0x72, 0x56, 0xab, 0xd, 0xab, 0xcf, 0xdd, 0xb4, 0x8e, 0x54, 0x21, 0xa5, 0xd9, 0x2c, 0x59, 0x45, 0x5e, 0x15, 0xa5, 0x58, 0x88, 0x8a, 0xa5, 0xaf, 0xc, 0xae, 0x55, 0x73, 0x8c, 0x3d, 0x92, 0xf1, 0x4f, 0x2c, 0x5b, 0x1a, 0xf0, 0x9, 0x83, 0xfa, 0xe0, 0x2c, 0xe9, 0xf8, 0x1a, 0x1d, 0x90, 0x6d, 0x47, 0x9b, 0xb, 0x33, 0xd6, 0x36, 0x3, 0x68, 0x96, 0x9, 0x4f, 0x97, 0xb, 0xc5, 0xf0, 0x29, 0x20, 0x2d, 0xa4, 0xbb, 0x20, 0x82, 0x9c, 0x53, 0x59, 0x21, 0xdc, 0x86, 0xa9, 0x66, 0x37, 0x90, 0x2f, 0x80, 0x1a, 0x88, 0xd, 0x77, 0x44, 0xd8, 0x8, 0xf6, 0xdd, 0x41, 0xc6, 0xa4, 0x9b, 0x6c, 0x1d, 0x93, 0x12, 0x10, 0xa4, 0x2e, 0x52, 0x3, 0x4d, 0x81, 0xc8, 0x9c, 0x73, 0xd6, 0x90, 0xca, 0x1a, 0x87, 0x62, 0x97, 0x49, 0xb8, 0x3d, 0xbf, 0xc7, 0x74, 0xa2, 0x73, 0xb4, 0x7a, 0x76, 0xde, 0x98, 0x57, 0x2c, 0x3e, 0x22, 0x6e, 0xc5, 0xef, 0x71, 0xfb, 0x6c, 0xcf, 0xea, 0xf7, 0xe0, 0x88, 0xd5, 0xab, 0xd3, 0xb3, 0xf6, 0x15, 0x20, 0x1f, 0xb8, 0x5e, 0x64, 0xa5, 0xee, 0xe, 0x43, 0x26, 0xd9, 0x15, 0x47, 0xe5, 0x81, 0xab, 0x5e, 0x2f, 0x40, 0x76, 0xec, 0xb9, 0x16, 0x1f, 0x44, 0x2e, 0x2a, 0x91, 0xf3, 0x84, 0x66, 0xd9, 0xd2, 0x98, 0xb2, 0xfa, 0x5c, 0xd5, 0xcc, 0x52, 0x1f, 0xe3, 0x5f, 0x94, 0xb8, 0x3, 0x4, 0x56, 0x35, 0x9d, 0x72, 0x49, 0x16, 0x75, 0x15, 0x86, 0x60, 0x70, 0x14, 0x2, 0x74, 0x3e, 0xf4, 0x2e, 0x1b, 0x3c, 0x5b, 0xe3, 0x58, 0x56, 0x7f, 0x4c, 0xe6, 0x9c, 0x3d, 0x68, 0x44, 0xcb, 0x9a, 0x66, 0x24, 0x11, 0xb9, 0xe4, 0xb2, 0x62, 0x79, 0xb2, 0xb4, 0x76, 0x3b, 0xc4, 0xab, 0x7e, 0xab, 0x59, 0xcd, 0xb4, 0x96, 0x3d, 0x67, 0xbc, 0x44, 0xf9, 0xef, 0x9d, 0xf5, 0x6b, 0x1d, 0xd0, 0xdf, 0xd2, 0x28, 0x51, 0x37, 0x61, 0xd7, 0xea, 0x52, 0xd3, 0x85, 0x32, 0x1a, 0x9c, 0x6a, 0xa2, 0x2c, 0xa4, 0xee, 0x44, 0xb0, 0xa6, 0x8d, 0x41, 0x12, 0x56, 0x52, 0x17, 0x22, 0xe3, 0x9, 0x67, 0x9d, 0x2b, 0x5d, 0x4d, 0x3b, 0x57, 0xfa, 0x3d, 0xd7, 0x92, 0xac, 0x68, 0xc5, 0xb6, 0x9e, 0x92, 0x7a, 0xe9, 0x75, 0xb0, 0x90, 0x83, 0x60, 0x5e, 0x5d, 0x97, 0xb3, 0xa2, 0xa5, 0xad, 0x1, 0xde, 0x4b, 0x25, 0xbc, 0x60, 0x8f, 0x2d, 0x34, 0xf7, 0x6, 0xd9, 0x65, 0xf3, 0x6e, 0x1e, 0x64, 0x19, 0xee, 0x3b, 0xb0, 0x67, 0x56, 0xb5, 0x6, 0xf7, 0xa5, 0x66, 0x0, 0x41, 0xdb, 0x69, 0x26, 0xca, 0x70, 0x98, 0xe4, 0x98, 0x78, 0x31, 0xf6, 0xdb, 0x92, 0xd5, 0x92, 0xdd, 0xc2, 0xe7, 0x5a, 0xc6, 0xcf, 0x25, 0xa5, 0xc8, 0x6f, 0x4d, 0x66, 0x49, 0xd3, 0x65, 0x67, 0xcd, 0x46, 0x47, 0xe, 0xa3, 0x81, 0x48, 0xdc, 0x9f, 0x16, 0x74, 0x9, 0x77, 0x21, 0xda, 0xf5, 0x70, 0x5e, 0xb4, 0x71, 0x1f, 0xd1, 0xb2, 0xf0, 0xa, 0x9e, 0x9d, 0xd3, 0x7, 0xa6, 0x91, 0x79, 0x64, 0xa5, 0x64, 0x2d, 0x2d, 0xd4, 0x75, 0xa8, 0x5d, 0x9a, 0x75, 0xce, 0x7f, 0xab, 0x59, 0xce, 0x64, 0x74, 0x48, 0xf0, 0xdb, 0x8e, 0x83, 0xb4, 0xd7, 0xae, 0x5f, 0x58, 0x37, 0xb1, 0x8b, 0xf0, 0x9d, 0x4, 0x48, 0x52, 0x78, 0x70, 0x10, 0x57, 0x8c, 0x7e, 0x62, 0x39, 0x39, 0xa2, 0x49, 0x22, 0xca, 0x54, 0x33, 0xb3, 0xc3, 0xf2, 0xe8, 0xce, 0x7a, 0xda, 0x17, 0xae, 0xfe, 0x84, 0xf8, 0xc2, 0x6f, 0xba, 0x9, 0x48, 0x9a, 0x28, 0xb1, 0xf2, 0x14, 0x63, 0x2d, 0x19, 0xcd, 0x7c, 0x40, 0xa4, 0x4d, 0x23, 0x9, 0x4e, 0xc6, 0x78, 0xff, 0x84, 0xe3, 0xee, 0xb8, 0x40, 0xaf, 0x35, 0x72, 0xb5, 0x1e, 0x3f, 0xc, 0xe4, 0xd6, 0xe6, 0x8f, 0xbc, 0x6e, 0x1f, 0xa1, 0x12, 0x8, 0x75, 0x20, 0x8d, 0xda, 0xb0, 0x58, 0xda, 0x19, 0x8, 0x27, 0x37, 0xd7, 0x6b, 0x20, 0x59, 0x56, 0xbf, 0x33, 0xbe, 0xb9, 0xb8, 0x18, 0x5d, 0xfc, 0xd8, 0xf9, 0xf9, 0x55, 0xb4, 0x59, 0xab, 0xdf, 0x68, 0xa5, 0xc9, 0x5a, 0xd3, 0x41, 0x3b, 0x3, 0xd9, 0xea, 0x17, 0x56, 0x12, 0xb, 0xae, 0x9b, 0xc4, 0x5a, 0xd6, 0xc9, 0x35, 0x7d, 0xad, 0x20, 0x3b, 0x5b, 0xfd, 0x46, 0x83, 0xbc, 0x6b, 0x37, 0xfc, 0xf0, 0xe8, 0x3c, 0x84, 0xfb, 0x49, 0x2b, 0x3d, 0x78, 0xe3, 0x6b, 0x60, 0xf4, 0x59, 0xc6, 0x92, 0x8a, 0xd0, 0x48, 0x37, 0x30, 0x77, 0x7e, 0xb6, 0x3c, 0xb6, 0xb7, 0x7e, 0x45, 0x1e, 0x38, 0x7b, 0x5c, 0x25, 0x1c, 0x5f, 0x43, 0x67, 0x55, 0xdd, 0xaa, 0x3d, 0x5a, 0x38, 0x15, 0x23, 0xe3, 0x76, 0x80, 0x9e, 0xc0, 0x59, 0x9d, 0x8a, 0xba, 0x2d, 0xca, 0xb3, 0x21, 0x5d, 0xd3, 0xf9, 0xd9, 0x13, 0x1d, 0xdb, 0x4, 0x39, 0x21, 0x5, 0x99, 0x51, 0x2f, 0x88, 0xb2, 0xe0, 0x52, 0xb2, 0xf4, 0x54, 0x49, 0xf7, 0xba, 0xf8, 0xc8, 0xf3, 0x34, 0xbc, 0x26, 0xb7, 0xeb, 0xa, 0xa4, 0x3e, 0xa1, 0x5e, 0x32, 0xa3, 0xff, 0x5d, 0x3e, 0xf1, 0xa2, 0x70, 0x8, 0x7d, 0xaa, 0x63, 0xc7, 0x13, 0xe, 0xdd, 0x93, 0x47, 0xe8, 0xdf, 0xd, 0x4e, 0x3c, 0xb0, 0x32, 0xa3, 0xc5, 0x35, 0xbe, 0xb9, 0xfb, 0xb8, 0x4c, 0xd7, 0x66, 0x29, 0xf4, 0x10, 0x74, 0xf3, 0x31, 0x6d, 0xd8, 0x59, 0x29, 0xf6, 0xeb, 0x2e, 0xc5, 0x6, 0xe2, 0xee, 0xb0, 0x75, 0x4, 0xc3, 0x8d, 0xfb, 0xbc, 0xe6, 0x7f, 0xdd, 0xd7, 0x74, 0x68, 0x7e, 0x71, 0x1d, 0xbb, 0xc6, 0x1e, 0x0, 0xc5, 0xc6, 0x8c, 0x61, 0x2e, 0x32, 0x8d, 0x1d, 0x68, 0x77, 0x7, 0xa4, 0x19, 0xd0, 0xbc, 0xc1, 0xeb, 0x36, 0x65, 0x84, 0x2f, 0x16, 0x2c, 0xe5, 0xb4, 0x52, 0x26, 0x6e, 0x55, 0xf2, 0xfb, 0x7b, 0xa0, 0x75, 0x3b, 0xd2, 0xd3, 0x2, 0x0, 0x1b, 0x5c, 0x49, 0xd4, 0x1a, 0x97, 0x6f, 0xc, 0x62, 0x8e, 0x69, 0x3c, 0xa1, 0x39, 0xa0, 0xe5, 0xb8, 0x82, 0x93, 0x48, 0x2d, 0x9f, 0x33, 0x92, 0xab, 0x73, 0x93, 0x39, 0x50, 0x79, 0x70, 0x6f, 0x4e, 0x69, 0xf2, 0x69, 0xc6, 0xb3, 0x2c, 0xc0, 0x15, 0xcd, 0x79, 0x7e, 0x6f, 0xae, 0x85, 0xc3, 0x7, 0xcd, 0x77, 0xc6, 0xb7, 0x3b, 0x35, 0xe0, 0xb1, 0xc7, 0x86, 0xcf, 0xc2, 0x45, 0x2e, 0x8c, 0xe4, 0x30, 0x8, 0xa0, 0x66, 0x96, 0x7d, 0x72, 0x34, 0x1, 0xac, 0xda, 0x5, 0xbf, 0x9f, 0x37, 0xa1, 0xba, 0x17, 0x8, 0xe2, 0x43, 0x73, 0xf0, 0x64, 0x69, 0x13, 0x2d, 0x5c, 0x6b, 0x44, 0xdd, 0x96, 0xe6, 0xb7, 0x72, 0xb5, 0xa3, 0x4c, 0xe7, 0x7, 0xdf, 0xf2, 0x14, 0x76, 0x6, 0x42, 0xe4, 0x6a, 0x90, 0x20, 0xa1, 0x99, 0xc, 0x3c, 0x68, 0x22, 0xc0, 0xd5, 0x4c, 0x25, 0xa1, 0x32, 0x6c, 0x30, 0x98, 0xa, 0xf3, 0x66, 0x12, 0xa1, 0x96, 0x9b, 0x30, 0x5c, 0xda, 0x23, 0x29, 0x4f, 0x63, 0x90, 0xef, 0x48, 0x79, 0x14, 0x25, 0x79, 0x54, 0xe3, 0x1, 0xbc, 0xa5, 0x1e, 0x22, 0x21, 0xe1, 0x92, 0x68, 0x9a, 0x3d, 0x66, 0x49, 0x42, 0xa6, 0x75, 0x85, 0x7e, 0x44, 0xea, 0x39, 0x35, 0x71, 0x5e, 0x3e, 0xb2, 0x85, 0xb2, 0x62, 0x51, 0xab, 0x3c, 0xfc, 0x16, 0x69, 0xd3, 0x5a, 0x57, 0xee, 0x92, 0xf, 0x2, 0xf2, 0x0, 0x12, 0x0, 0xd0, 0x62, 0xb9, 0xd6, 0x0, 0x8d, 0x60, 0x44, 0x89, 0x79, 0xe4, 0xb4, 0xc9, 0x5, 0xcd, 0xd5, 0x9f, 0xf5, 0x31, 0x93, 0x9e, 0x32, 0x87, 0x78, 0xd6, 0xd8, 0xa7, 0x52, 0x6, 0xf, 0x1a, 0x80, 0x5c, 0xa7, 0x29, 0xc6, 0x72, 0x8e, 0x7d, 0xc6, 0x99, 0x34, 0xa4, 0x3c, 0x4c, 0x66, 0x47, 0x40, 0xdb, 0x86, 0xae, 0xb, 0xd6, 0x3, 0xd8, 0x4a, 0x56, 0x24, 0x40, 0x83, 0xaa, 0x23, 0x65, 0x75, 0x43, 0x4e, 0x1e, 0xfa, 0x30, 0xba, 0x29, 0xbc, 0xf8, 0xec, 0xde, 0xf8, 0xba, 0x9a, 0xa0, 0xd1, 0xec, 0x1, 0x88, 0x7, 0xef, 0xe1, 0xba, 0xd, 0x54, 0x84, 0x73, 0x2e, 0xab, 0x61, 0x5e, 0x95, 0xdb, 0xe6, 0xbe, 0x98, 0x15, 0xea, 0x90, 0xd2, 0xb9, 0x60, 0xb, 0xd1, 0xd5, 0x18, 0xff, 0xc0, 0x16, 0x9e, 0x79, 0x2b, 0x19, 0x2d, 0x93, 0xf9, 0xa0, 0xaa, 0x4a, 0x3e, 0xad, 0xab, 0x2d, 0x3c, 0x3, 0xd1, 0x7b, 0xaf, 0xbd, 0xa5, 0x9c, 0x75, 0x1e, 0x8b, 0xbf, 0x44, 0xbe, 0xd9, 0x1d, 0x42, 0x90, 0xc4, 0xeb, 0x88, 0x3e, 0xd4, 0xaa, 0x2e, 0x73, 0x94, 0x58, 0xea, 0xf, 0xe6, 0x21, 0xd9, 0x5c, 0xfb, 0x1d, 0x54, 0xb4, 0xd8, 0x5f, 0xb3, 0xb5, 0xdd, 0xd4, 0xee, 0xc4, 0xd9, 0x50, 0x67, 0x52, 0x8a, 0x45, 0xa3, 0x67, 0x35, 0x17, 0xb1, 0x60, 0xc6, 0xc9, 0xa0, 0x44, 0xbb, 0x51, 0x44, 0x74, 0x28, 0x9, 0x50, 0x56, 0xb, 0x48, 0x24, 0x86, 0x97, 0xe1, 0xc0, 0xfe, 0x55, 0xe4, 0xec, 0x36, 0xa5, 0x15, 0xb5, 0x4d, 0x59, 0x50, 0xd1, 0x8, 0xfc, 0x72, 0x67, 0x93, 0x50, 0x35, 0xb4, 0xd5, 0xd4, 0x9a, 0x2e, 0x2c, 0x42, 0x8, 0x4a, 0x3e, 0x70, 0x5f, 0xaa, 0xeb, 0x50, 0xcc, 0x70, 0xa6, 0x3d, 0xbc, 0x11, 0x18, 0xc9, 0x19, 0xc6, 0x18, 0x58, 0x9e, 0x88, 0x94, 0x69, 0x5f, 0x67, 0x4e, 0xfe, 0xf3, 0xfa, 0xf2, 0x2, 0x4, 0x86, 0xf7, 0x8e, 0x24, 0xa9, 0xc8, 0x5f, 0x23, 0x3f, 0x47, 0xd8, 0xc9, 0x23, 0xcb, 0x32, 0xbc, 0x5e, 0xd4, 0x7b, 0x7d, 0xe2, 0x4c, 0x55, 0xbe, 0xc2, 0xb2, 0x40, 0x6e, 0x20, 0xaf, 0xc0, 0x4a, 0x54, 0x6d, 0xa2, 0x79, 0xbd, 0x40, 0x78, 0x8d, 0x5f, 0x14, 0x3c, 0x65, 0x9e, 0xf, 0xae, 0x23, 0x31, 0xd4, 0x33, 0xba, 0xed, 0x70, 0x22, 0x90, 0xc6, 0x7a, 0xb4, 0xa0, 0xcb, 0x29, 0x23, 0x33, 0xf6, 0xc8, 0x4a, 0xc2, 0x72, 0x48, 0xf8, 0x78, 0xe3, 0xcd, 0xee, 0x2b, 0xdd, 0x67, 0xab, 0x36, 0x5f, 0x2c, 0x7, 0x60, 0xa3, 0xe5, 0x84, 0x4e, 0xa7, 0x25, 0x7b, 0x40, 0x42, 0x37, 0xc9, 0xa0, 0x56, 0x1a, 0xdc, 0xcf, 0x12, 0xf, 0x95, 0x79, 0xb, 0x76, 0x98, 0x6f, 0xe9, 0xb9, 0xb1, 0x28, 0xe5, 0xeb, 0xb5, 0x27, 0x86, 0x78, 0xbe, 0x4e, 0xc, 0x5d, 0x29, 0x53, 0x68, 0xdb, 0xea, 0xb, 0x54, 0x16, 0x46, 0x4e, 0x4d, 0xdf, 0xeb, 0xd8, 0x4e, 0x1a, 0xcd, 0xe9, 0xa2, 0x90, 0x95, 0x5f, 0xdd, 0x32, 0x57, 0xe1, 0x9b, 0xc4, 0x24, 0xf7, 0xab, 0x63, 0xe3, 0x5a, 0x9, 0x93, 0x18, 0x95, 0x5a, 0x1f, 0x15, 0x9b, 0x1c, 0x6c, 0xcb, 0xfe, 0x10, 0xb6, 0xdf, 0x55, 0xf6, 0x98, 0x69, 0x94, 0x35, 0x18, 0x44, 0x80, 0x4a, 0x1e, 0x72, 0x89, 0x41, 0x64, 0xa6, 0x60, 0x25, 0x17, 0xe9, 0x91, 0x7c, 0xa3, 0x73, 0x6c, 0x3e, 0x31, 0x69, 0x2d, 0x1d, 0x2a, 0x51, 0x4d, 0xa7, 0x18, 0xc5, 0x9, 0x85, 0x4b, 0x41, 0xd, 0xf8, 0x7a, 0x9, 0xba, 0x6d, 0xae, 0x84, 0x8, 0xcd, 0x32, 0x42, 0x2b, 0x22, 0xf2, 0x84, 0xa1, 0x89, 0x16, 0xe9, 0xf7, 0xda, 0x76, 0xf2, 0x12, 0x42, 0x34, 0x23, 0x71, 0xa4, 0x96, 0x27, 0xc2, 0x71, 0x90, 0x37, 0xcd, 0x26, 0x10, 0x25, 0x7b, 0x1a, 0x98, 0x66, 0x79, 0x30, 0x9c, 0x64, 0x3c, 0x22, 0x15, 0x86, 0x3c, 0x91, 0x28, 0xd, 0x5c, 0xbc, 0xfa, 0xdf, 0x47, 0x25, 0x53, 0xb, 0x57, 0xf1, 0x7, 0x96, 0x2d, 0x71, 0xad, 0x74, 0xee, 0x7f, 0x38, 0x72, 0x10, 0x98, 0x5e, 0xc2, 0xbf, 0xe5, 0x5, 0xb7, 0x5e, 0x17, 0x35, 0x46, 0x37, 0x15, 0xdd, 0xc1, 0xda, 0xc9, 0xc4, 0xd1, 0x88, 0x2d, 0xf, 0x94, 0xfe, 0x4, 0x61, 0x1e, 0x32, 0x59, 0xe1, 0x73, 0xbc, 0x3e, 0xfd, 0x69, 0x78, 0x76, 0x73, 0x3e, 0xbc, 0xbd, 0xfc, 0x65, 0x38, 0x3e, 0x1f, 0x5c, 0xdd, 0x5e, 0x5d, 0x9e, 0x8f, 0x4e, 0x7f, 0x5d, 0xe3, 0x71, 0x5c, 0xf5, 0xc6, 0xf5, 0xcf, 0xa3, 0xab, 0x8e, 0x8f, 0xfe, 0x70, 0xf3, 0xfe, 0xfd, 0x70, 0x7c, 0xdb, 0x84, 0x84, 0xde, 0xf0, 0xc2, 0xe0, 0x3c, 0x46, 0x9a, 0x5e, 0xf5, 0x82, 0x86, 0x12, 0xbe, 0x9c, 0xfc, 0x34, 0x1c, 0x77, 0x7c, 0xc5, 0x7a, 0x1b, 0xb7, 0x7a, 0x6b, 0x70, 0x7e, 0x7e, 0xf9, 0x31, 0x1a, 0xd8, 0xe, 0xbb, 0x13, 0x3f, 0x16, 0x1c, 0xe, 0x6b, 0xb, 0xaf, 0x36, 0x85, 0xb9, 0x75, 0x4a, 0xe8, 0xe0, 0xa8, 0xc9, 0x8, 0x73, 0xd6, 0xc6, 0x9c, 0x3a, 0x9f, 0xd9, 0xc2, 0xfa, 0x32, 0x22, 0xc3, 0x15, 0x76, 0xb5, 0xfa, 0xb3, 0xe1, 0x33, 0x40, 0xab, 0xb5, 0x28, 0x45, 0x5a, 0x27, 0x8c, 0xd4, 0x39, 0xcf, 0xab, 0x9a, 0x3, 0x97, 0x3d, 0xfa, 0x3e, 0x30, 0x5d, 0x4d, 0x13, 0x1d, 0x60, 0x4a, 0x25, 0x10, 0xc7, 0x44, 0x92, 0x2, 0x27, 0xa3, 0xf, 0xbd, 0x46, 0x94, 0x67, 0xb4, 0xcc, 0x38, 0x2b, 0xf5, 0x1f, 0xd7, 0xfa, 0x1c, 0xd5, 0x4f, 0xb2, 0xca, 0xa7, 0xf7, 0x15, 0x72, 0xa0, 0xbd, 0x8f, 0xa3, 0x87, 0x15, 0x49, 0x73, 0xe3, 0x3d, 0x98, 0x68, 0x36, 0x40, 0x22, 0xb1, 0x18, 0x1, 0xdc, 0x93, 0x78, 0x11, 0xe3, 0x7d, 0x62, 0x5c, 0x77, 0x48, 0xe, 0x1, 0xe, 0x12, 0x77, 0x1, 0xc4, 0x9e, 0x2b, 0x65, 0x50, 0xa7, 0xe2, 0x31, 0x47, 0x7a, 0xc9, 0x44, 0x28, 0x5b, 0x1b, 0x58, 0x3, 0xea, 0xa2, 0x17, 0xb8, 0x8d, 0x9d, 0x8f, 0xc1, 0x78, 0x59, 0xac, 0x71, 0x1b, 0x79, 0xaa, 0xd4, 0x5, 0xc0, 0xa5, 0x63, 0xae, 0x82, 0x7f, 0xab, 0x15, 0x76, 0xf9, 0x5a, 0x26, 0x57, 0x42, 0x3d, 0xbb, 0x3a, 0x59, 0xdb, 0x10, 0x37, 0x9a, 0xd9, 0x2c, 0x19, 0x2d, 0xf5, 0x38, 0x35, 0x6d, 0x1b, 0x81, 0x34, 0x2c, 0x70, 0xff, 0x7c, 0xff, 0x8e, 0x48, 0x96, 0x88, 0x3c, 0x95, 0x91, 0x48, 0xbf, 0xcc, 0xdf, 0x37, 0x6b, 0x1c, 0xf7, 0xe2, 0xea, 0x42, 0x62, 0x2, 0xc7, 0x6d, 0x54, 0x63, 0x19, 0x8, 0x10, 0x25, 0xa3, 0xb7, 0x42, 0xd4, 0xea, 0xaa, 0xaf, 0xcb, 0x9c, 0x88, 0x9c, 0xbc, 0x42, 0x69, 0xff, 0xaa, 0x6d, 0xa2, 0x54, 0xb3, 0x78, 0x19, 0xf2, 0x51, 0x65, 0x90, 0xd9, 0xb8, 0xb2, 0xe6, 0xe8, 0xca, 0x32, 0xcb, 0xa, 0x67, 0xb3, 0x82, 0x21, 0x91, 0x58, 0x75, 0x4a, 0x2a, 0x11, 0x2d, 0xbf, 0x56, 0x30, 0x28, 0xce, 0x1e, 0x9c, 0x58, 0x21, 0x99, 0xaa, 0xe1, 0xe4, 0xfc, 0xb8, 0x6, 0x6e, 0x60, 0x8f, 0x95, 0xf1, 0x37, 0xd, 0xa4, 0xe1, 0x6a, 0x26, 0x52, 0x8f, 0x59, 0xca, 0xf, 0x7e, 0xc2, 0xc6, 0xca, 0x45, 0xd3, 0xb3, 0x67, 0xa3, 0xa2, 0x51, 0x60, 0x31, 0xf5, 0x83, 0xb2, 0xa1, 0x66, 0x78, 0xed, 0xd9, 0x7b, 0x9d, 0xa3, 0xdf, 0x65, 0x9d, 0x28, 0x2d, 0x3b, 0x3d, 0xa5, 0x19, 0xcb, 0x53, 0xda, 0xe2, 0xa9, 0xd8, 0xd7, 0x3a, 0x68, 0x74, 0xb1, 0xd6, 0x90, 0x35, 0xf, 0x1d, 0x4f, 0xa9, 0xd2, 0x11, 0xc, 0xdf, 0xa4, 0x86, 0x34, 0x37, 0x21, 0x4, 0xdf, 0x87, 0x24, 0xf2, 0x6b, 0x90, 0x34, 0x5f, 0x2a, 0xdd, 0x1e, 0x63, 0xe6, 0x98, 0xf7, 0x8e, 0x6e, 0x72, 0x4a, 0xaa, 0x92, 0xda, 0x1a, 0x51, 0xf5, 0xf7, 0x70, 0xdc, 0x4a, 0xe9, 0xa3, 0x46, 0x4d, 0x21, 0xa3, 0xc8, 0x7f, 0x4e, 0x93, 0x84, 0x15, 0x95, 0x24, 0xff, 0xd2, 0x23, 0xff, 0xa, 0xf9, 0x82, 0xff, 0x4b, 0xdb, 0xa0, 0x3d, 0x22, 0x59, 0x41, 0x1, 0x7f, 0x5d, 0xa9, 0x84, 0x50, 0xbc, 0x2b, 0x71, 0x97, 0x41, 0x35, 0x46, 0x51, 0x2, 0x9f, 0xe4, 0x9c, 0x2d, 0x5a, 0xb4, 0x3d, 0xba, 0x60, 0xe4, 0x91, 0x2e, 0x55, 0xd7, 0xfe, 0xba, 0x47, 0xa7, 0xf0, 0x5f, 0x74, 0x57, 0x27, 0xf6, 0x37, 0xb, 0x9e, 0xd7, 0x15, 0xeb, 0x91, 0xb9, 0xa8, 0xcb, 0x1e, 0x49, 0xe9, 0xf2, 0x56, 0xcc, 0x6e, 0x17, 0x22, 0xaf, 0xe6, 0x3d, 0xa2, 0xff, 0x4f, 0xff, 0xf2, 0x91, 0xb1, 0xc8, 0x36, 0xfe, 0xd7, 0x3d, 0x5b, 0xeb, 0x81, 0x8c, 0xb, 0xdb, 0xfc, 0x5f, 0xb6, 0x4d, 0x94, 0x6f, 0xbd, 0x3, 0xb4, 0x39, 0x9a, 0xc1, 0x2f, 0x4d, 0x21, 0x3, 0xd0, 0x1c, 0x1, 0x2f, 0xb2, 0x2f, 0x72, 0xbf, 0xeb, 0xa3, 0x3e, 0xab, 0x3a, 0x6d, 0x3c, 0x19, 0xb6, 0xe7, 0xbf, 0xf6, 0x2e, 0x5a, 0xe1, 0xeb, 0xb9, 0x28, 0x95, 0x84, 0x4e, 0x25, 0xf9, 0xf, 0xd5, 0x69, 0xb6, 0xec, 0x91, 0xff, 0x80, 0x61, 0xc2, 0xbf, 0xd4, 0x10, 0xe1, 0x1f, 0x29, 0xe5, 0xea, 0xff, 0xd5, 0xc7, 0xfd, 0xf, 0x35, 0xb3, 0xc, 0x91, 0xfe, 0x69, 0x26, 0x45, 0xdb, 0x76, 0x1, 0x33, 0x31, 0x48, 0x8b, 0xfc, 0x97, 0xe3, 0xff, 0x85, 0x97, 0xf, 0xae, 0x57, 0x34, 0xc, 0xac, 0x78, 0xa4, 0x99, 0xea, 0xc3, 0xe9, 0xcc, 0x46, 0xc5, 0xd1, 0xbc, 0x5b, 0xb0, 0xcd, 0x4e, 0xc7, 0x97, 0x17, 0xb7, 0x93, 0xff, 0xfb, 0xef, 0xff, 0x66, 0x7c, 0x3f, 0x50, 0x39, 0xfe, 0x7f, 0x1a, 0xc4, 0x2c, 0xcd, 0x47, 0x7a, 0x3a, 0xe3, 0xa, 0x64, 0xda, 0x3d, 0xab, 0x48, 0x22, 0xa, 0xc3, 0x3d, 0x60, 0xfc, 0x48, 0xea, 0x41, 0x17, 0xd3, 0xa8, 0x65, 0x4b, 0x52, 0x25, 0xe4, 0x9e, 0x4d, 0x4d, 0x8e, 0x88, 0x7d, 0xcb, 0xd4, 0x3, 0xc4, 0xf1, 0xb, 0x37, 0x33, 0xf2, 0xea, 0x7f, 0xbc, 0x22, 0x33, 0xa1, 0x49, 0x46, 0x81, 0xc1, 0x2a, 0x11, 0xb, 0xa8, 0x33, 0x50, 0xf3, 0x54, 0x12, 0x95, 0x96, 0x44, 0x7, 0x3a, 0x58, 0x9e, 0xae, 0xb2, 0x1f, 0xe0, 0x27, 0xc, 0x8b, 0xc0, 0x71, 0xa6, 0xc8, 0xde, 0x83, 0xbf, 0x45, 0x9d, 0xae, 0x4, 0x3, 0xb6, 0xc8, 0x20, 0xbb, 0x4c, 0xcb, 0x28, 0x48, 0x70, 0x99, 0xc5, 0xcb, 0x55, 0x81, 0x6b, 0x5a, 0xa9, 0x1b, 0xde, 0x86, 0x85, 0xcf, 0xed, 0x6d, 0x56, 0x75, 0x5a, 0x5f, 0x89, 0xf2, 0x95, 0xff, 0x6d, 0x5f, 0xd1, 0x3c, 0x7d, 0x85, 0x39, 0xfb, 0x53, 0x51, 0xcd, 0xa3, 0xcd, 0x50, 0x62, 0x95, 0xb5, 0xde, 0x9f, 0x76, 0x28, 0x8d, 0xbc, 0xbf, 0xff, 0xc0, 0xa4, 0xb7, 0x7f, 0x33, 0x65, 0x5c, 0xff, 0xe7, 0xbf, 0xde, 0xfe, 0x5b, 0x31, 0xa7, 0x92, 0xfd, 0x9f, 0xff, 0x6, 0x3f, 0x86, 0xd9, 0x54, 0x6a, 0x40, 0x40, 0xa2, 0xa9, 0x24, 0x39, 0xa0, 0x16, 0x40, 0xa1, 0x76, 0x1c, 0xa, 0x37, 0x95, 0x73, 0x4a, 0xa4, 0xd8, 0x42, 0x69, 0xaf, 0x75, 0x68, 0x47, 0x77, 0x60, 0xea, 0x51, 0xe0, 0x93, 0xa6, 0x2c, 0xe1, 0xb, 0x5d, 0x4e, 0x76, 0x1f, 0x2b, 0xb5, 0x3a, 0x6a, 0x53, 0xe7, 0xbc, 0x22, 0xb2, 0x9e, 0xcd, 0xf8, 0x67, 0x22, 0x7b, 0x64, 0xd1, 0x23, 0x73, 0x90, 0x8b, 0x3e, 0x15, 0xde, 0x53, 0xdd, 0x56, 0x4f, 0x72, 0x47, 0xf1, 0x96, 0x3a, 0xc3, 0x83, 0x8c, 0xd6, 0xff, 0xc, 0xab, 0x7d, 0x2f, 0xfa, 0xa1, 0xae, 0xa3, 0x65, 0x48, 0xb0, 0xf3, 0x64, 0xa, 0x41, 0xa7, 0x25, 0x8e, 0x73, 0xe3, 0xf2, 0xa5, 0x53, 0x9a, 0x24, 0xe6, 0x9a, 0xa9, 0xc3, 0x44, 0x73, 0x70, 0x56, 0xeb, 0x21, 0xdf, 0x7e, 0x67, 0x15, 0x75, 0x1d, 0xd0, 0xdf, 0x50, 0xf7, 0x6f, 0xde, 0x73, 0x6a, 0xd0, 0xad, 0xd9, 0x59, 0x8d, 0xf5, 0x68, 0xea, 0x31, 0x5f, 0x5c, 0x55, 0x2, 0x55, 0xf2, 0x0, 0x39, 0xc4, 0xea, 0x5e, 0x3, 0x4f, 0xb5, 0x31, 0x56, 0x34, 0xc1, 0x7e, 0xb0, 0xc6, 0x9a, 0x21, 0xc6, 0x7b, 0x70, 0xfd, 0xda, 0x1e, 0x4d, 0xc4, 0x3d, 0xab, 0xe6, 0xac, 0xec, 0xf9, 0xef, 0x28, 0x39, 0xc0, 0xf2, 0x14, 0xff, 0x3, 0x8, 0xb8, 0x69, 0x8e, 0xa9, 0x71, 0x52, 0x99, 0xbc, 0xb6, 0xaa, 0xb4, 0xad, 0xc6, 0xb2, 0x85, 0xba, 0x32, 0xdf, 0x29, 0x85, 0x7a, 0x34, 0x73, 0x63, 0x58, 0x31, 0x5b, 0xb4, 0x40, 0xec, 0x53, 0x6b, 0xa6, 0xba, 0x7a, 0x74, 0x98, 0xe7, 0xf7, 0x95, 0xd, 0xe9, 0x41, 0x96, 0xf9, 0xf3, 0x32, 0x13, 0xf1, 0x53, 0xa0, 0xe1, 0x66, 0x2c, 0x69, 0x9e, 0x8a, 0x85, 0x36, 0x35, 0xc1, 0x32, 0x7d, 0x87, 0xa6, 0x6, 0x8f, 0x8c, 0x64, 0xba, 0x10, 0x75, 0xe, 0x6e, 0x6d, 0x9c, 0x5f, 0xdf, 0xf1, 0x79, 0xbd, 0x73, 0xe, 0x66, 0x7d, 0x53, 0x5f, 0xd0, 0xbd, 0x37, 0x27, 0xa4, 0x31, 0x82, 0x52, 0x61, 0x6a, 0x9b, 0x95, 0x9e, 0xab, 0xb9, 0xf3, 0x1a, 0x72, 0x57, 0x12, 0x9e, 0xf7, 0xff, 0xa9, 0xa1, 0xde, 0xd5, 0x39, 0x7c, 0x64, 0x5f, 0x31, 0xbb, 0x99, 0x9c, 0xf6, 0xc9, 0x47, 0x6, 0xbc, 0x98, 0x4a, 0x29, 0x48, 0x49, 0xd, 0xe9, 0x45, 0x37, 0x93, 0x53, 0x70, 0x3b, 0x2c, 0x45, 0x5d, 0xa2, 0x41, 0xaa, 0x95, 0x76, 0x1e, 0xe5, 0xa0, 0x50, 0x1c, 0x84, 0x29, 0x24, 0xea, 0x41, 0x3a, 0xf8, 0x83, 0xe0, 0x29, 0x79, 0xa0, 0x25, 0x54, 0xb0, 0xcb, 0xba, 0x2c, 0x4a, 0xe, 0xad, 0x3a, 0x63, 0xcb, 0x48, 0x58, 0x98, 0x93, 0x8c, 0xc7, 0x6a, 0x67, 0x2b, 0xd, 0x89, 0xb0, 0xa5, 0x16, 0x9c, 0x2e, 0x41, 0xad, 0xea, 0x91, 0x44, 0x94, 0x25, 0x22, 0x4a, 0xe8, 0x44, 0x53, 0x80, 0xf2, 0x31, 0xc9, 0x3b, 0xa3, 0xc1, 0xc5, 0xa0, 0xc5, 0x5, 0x1, 0x2b, 0x98, 0xd2, 0x8a, 0xaa, 0xb5, 0xc2, 0x22, 0xbe, 0x79, 0x55, 0x15, 0xf2, 0xe4, 0xed, 0xdb, 0xc7, 0xc7, 0xc7, 0x3e, 0xa7, 0x39, 0xed, 0x8b, 0xf2, 0xfe, 0xad, 0x7a, 0xf8, 0x18, 0x6, 0x80, 0x49, 0x39, 0xc8, 0xb6, 0xca, 0x9b, 0x99, 0xf1, 0x66, 0x27, 0x65, 0x82, 0xa6, 0x2e, 0xbb, 0x23, 0x76, 0xc7, 0x58, 0x1f, 0x7, 0xcb, 0x1f, 0x78, 0x29, 0x72, 0x4, 0x2d, 0xa9, 0xd0, 0x63, 0xde, 0xfa, 0xa9, 0x1a, 0xeb, 0x5e, 0xb2, 0xdf, 0x6a, 0x5e, 0xaa, 0x5, 0x41, 0xdf, 0x4d, 0x5e, 0x95, 0x22, 0x3, 0x4f, 0x97, 0xad, 0xca, 0xd6, 0xb3, 0x5b, 0x31, 0xd2, 0x5a, 0xb2, 0xb4, 0x67, 0xd2, 0x8d, 0xb, 0x2a, 0xa5, 0xe6, 0x96, 0xd7, 0x10, 0x29, 0xde, 0x7b, 0x96, 0x9, 0x5c, 0x94, 0xb, 0xac, 0xc, 0x9d, 0xfc, 0x5f, 0x3e, 0x23, 0x33, 0x1e, 0x27, 0x43, 0xdb, 0x69, 0x35, 0xd7, 0x16, 0xcc, 0x4, 0xad, 0x9b, 0xf6, 0x8c, 0xbf, 0xc7, 0xe3, 0x21, 0x75, 0xaa, 0x5c, 0xd8, 0xa4, 0x5a, 0x47, 0x7d, 0x85, 0x55, 0x70, 0x97, 0xb5, 0x2d, 0x5d, 0x9f, 0xfc, 0x2a, 0x6a, 0x93, 0x84, 0x3, 0x6c, 0x63, 0x85, 0xc8, 0xb1, 0x8e, 0xad, 0xa1, 0x61, 0x42, 0xfa, 0x2, 0xec, 0x10, 0x3f, 0x68, 0x8b, 0x9a, 0x63, 0x15, 0x7c, 0x58, 0x57, 0xd3, 0x12, 0xb6, 0x60, 0x6e, 0x1d, 0x38, 0x59, 0xee, 0x92, 0xe5, 0x92, 0xe0, 0x81, 0x13, 0x39, 0xc9, 0x78, 0x5, 0x4, 0xac, 0xf6, 0x8f, 0x5a, 0x87, 0x4e, 0x32, 0x91, 0x7c, 0x6a, 0x89, 0x68, 0x80, 0x4a, 0x97, 0xb, 0xab, 0x40, 0x43, 0xd, 0xb7, 0x7e, 0xef, 0xec, 0x7a, 0x72, 0x42, 0x38, 0xec, 0x0, 0xf2, 0x58, 0xf2, 0x4a, 0xe9, 0x87, 0x49, 0x30, 0x4, 0xd0, 0xb4, 0x67, 0x6a, 0x33, 0x34, 0x8e, 0xe2, 0x1f, 0x4e, 0xfe, 0xf8, 0x8e, 0x2e, 0xd0, 0xbd, 0xa, 0x1a, 0xcd, 0x52, 0x1b, 0xc, 0x5a, 0x76, 0xc0, 0x9b, 0x2, 0x53, 0x9f, 0xce, 0xae, 0x27, 0xba, 0xa0, 0xd2, 0x77, 0xe7, 0xb5, 0x25, 0xb2, 0xb9, 0xe4, 0x35, 0xa1, 0x17, 0x8d, 0x2e, 0xf1, 0xcd, 0x39, 0x85, 0x5a, 0x66, 0xec, 0xb6, 0x4f, 0xae, 0xf9, 0x82, 0x67, 0x68, 0xcd, 0x39, 0xd7, 0x63, 0xb3, 0x5e, 0x1e, 0xc6, 0xae, 0x86, 0xfb, 0x3d, 0xe, 0xd7, 0xf2, 0x7c, 0xda, 0x7e, 0xaa, 0x47, 0x9e, 0xb0, 0xd6, 0xde, 0xaa, 0x47, 0x1, 0xaf, 0x35, 0x3e, 0xd3, 0x40, 0x19, 0x48, 0xb9, 0xb5, 0x4f, 0x72, 0xe1, 0x82, 0x4b, 0x6a, 0xa3, 0x80, 0x47, 0x5a, 0x7d, 0x2a, 0x46, 0x8b, 0x63, 0xed, 0x14, 0x24, 0x47, 0xac, 0x7f, 0xdf, 0x27, 0x7f, 0xf8, 0xe3, 0xc9, 0xbf, 0xfc, 0xef, 0x93, 0x7f, 0x7d, 0xa7, 0x84, 0x9e, 0x97, 0x38, 0x64, 0x36, 0xcc, 0x19, 0xad, 0xe8, 0x16, 0xa9, 0x2f, 0x3e, 0x94, 0xda, 0xa6, 0xa0, 0x29, 0x1a, 0xa, 0x32, 0x3c, 0x86, 0xf6, 0x15, 0x3c, 0x7b, 0x3a, 0x7a, 0x4a, 0xa7, 0x52, 0x64, 0x75, 0xc5, 0xbc, 0x6b, 0xcc, 0x75, 0x7e, 0x64, 0xb9, 0xfc, 0x79, 0xe, 0xdb, 0x99, 0xbd, 0xd1, 0x5f, 0xd6, 0x7e, 0x5, 0x6d, 0x6e, 0x88, 0x24, 0x51, 0x82, 0x5, 0xc9, 0xf9, 0xa0, 0x88, 0x4e, 0x6f, 0x3b, 0x97, 0xc7, 0x10, 0x8e, 0x2e, 0x65, 0x5, 0x53, 0x4b, 0xa5, 0xb9, 0x85, 0x9, 0xaf, 0x90, 0x73, 0x16, 0x6b, 0x57, 0xf3, 0x94, 0xe4, 0xca, 0x86, 0x32, 0x67, 0xa7, 0x67, 0xca, 0x2f, 0x8c, 0x8d, 0xe8, 0x5a, 0xf5, 0xe, 0x1a, 0xcc, 0xcb, 0xed, 0x4a, 0x65, 0x86, 0xea, 0xe0, 0x18, 0xca, 0x33, 0xf5, 0x97, 0xa3, 0x85, 0x90, 0x0, 0xe0, 0xb4, 0x50, 0x3d, 0xf7, 0xf0, 0xc0, 0xa6, 0x74, 0x99, 0xf1, 0xfb, 0xb9, 0xb7, 0x9d, 0x24, 0x7d, 0x30, 0x87, 0xdb, 0x46, 0xfe, 0x74, 0x48, 0x1, 0x2a, 0xbd, 0x73, 0xf5, 0xf5, 0xa9, 0x12, 0xe2, 0x42, 0x27, 0x56, 0xa9, 0xae, 0x45, 0x5, 0x96, 0xb1, 0x64, 0xd9, 0xec, 0x58, 0x13, 0xe8, 0xfa, 0x1e, 0x6b, 0x7f, 0x1, 0x80, 0xf2, 0x1e, 0xae, 0x43, 0x51, 0x1a, 0x24, 0x9f, 0x50, 0x96, 0xf8, 0x1b, 0xf1, 0x3d, 0x3c, 0x54, 0xd4, 0x55, 0xf, 0xce, 0xaf, 0x9a, 0x99, 0xbe, 0xb9, 0x8, 0x94, 0x8d, 0x1b, 0xdf, 0xbb, 0x98, 0x9d, 0x90, 0x16, 0xf5, 0xba, 0x67, 0x4f, 0xba, 0x17, 0x2f, 0xf1, 0x3c, 0x6b, 0x3d, 0xab, 0x1a, 0xa2, 0x4f, 0x64, 0x8d, 0xa6, 0xae, 0x3d, 0xd2, 0x99, 0x41, 0xd6, 0xc1, 0x53, 0xf6, 0x4f, 0xfe, 0xb1, 0xc6, 0x70, 0xa3, 0xef, 0x46, 0xc5, 0x93, 0x58, 0x81, 0x42, 0x8a, 0xdb, 0x46, 0x5b, 0xfa, 0x75, 0x6e, 0xbe, 0x9b, 0x6d, 0x90, 0x6b, 0xbf, 0xb6, 0x37, 0xd2, 0x5, 0xcf, 0x6b, 0x8c, 0xb9, 0xc0, 0xd5, 0xd, 0x7b, 0xc0, 0x0, 0x5b, 0xac, 0x1c, 0xe8, 0x1b, 0x7f, 0xfd, 0x2e, 0x73, 0xb3, 0x7c, 0x56, 0xe4, 0x81, 0x6b, 0xdf, 0x73, 0x2e, 0xea, 0x4c, 0x14, 0xcb, 0xa3, 0xed, 0x5b, 0xe4, 0xde, 0xbe, 0x68, 0x76, 0x44, 0x8e, 0x54, 0x53, 0x98, 0x5d, 0x61, 0xd1, 0x61, 0xc0, 0x39, 0xed, 0x3b, 0x54, 0xde, 0xf4, 0x88, 0x14, 0x5a, 0xfe, 0xba, 0xe6, 0xce, 0xe0, 0x54, 0x82, 0xad, 0xee, 0x6a, 0x59, 0x96, 0xa2, 0x7e, 0x9d, 0xa9, 0x3b, 0x9e, 0xe1, 0xe9, 0x68, 0xfd, 0xa, 0xee, 0x83, 0xb1, 0x2a, 0xf1, 0xa7, 0x3a, 0x82, 0xc3, 0xad, 0x8e, 0x98, 0x16, 0xa2, 0xf6, 0xf2, 0xd0, 0xe9, 0xe0, 0x96, 0x5f, 0xd3, 0xf, 0x8c, 0xf4, 0x88, 0xa5, 0x77, 0x6e, 0x16, 0x28, 0x59, 0xfd, 0xbc, 0x6, 0xf, 0x37, 0xa8, 0x62, 0x75, 0x25, 0x16, 0xb4, 0xe2, 0x9, 0x32, 0xbd, 0xab, 0xaf, 0x78, 0x84, 0x2d, 0x4b, 0x75, 0x6e, 0x69, 0xa6, 0xce, 0x94, 0x49, 0x97, 0xc, 0xaa, 0xc8, 0xb6, 0xf4, 0x99, 0xef, 0x94, 0xbf, 0x13, 0x5b, 0x60, 0x6, 0x2, 0xf2, 0x81, 0x91, 0x79, 0xbd, 0xa0, 0xf9, 0x71, 0xc9, 0x68, 0xa, 0xa8, 0x26, 0xa6, 0xd8, 0x10, 0x6e, 0x4e, 0x90, 0x3f, 0x9f, 0x21, 0x1f, 0x14, 0xba, 0xed, 0x11, 0x90, 0xe3, 0x88, 0x80, 0x43, 0x65, 0xac, 0xf9, 0x78, 0xc1, 0x49, 0x2e, 0x75, 0xc8, 0x1d, 0xe5, 0x9f, 0x5c, 0xca, 0x8a, 0x2d, 0x40, 0x23, 0x52, 0x92, 0x7, 0xaf, 0xdb, 0xa0, 0xb8, 0x51, 0xa9, 0x5, 0xac, 0x54, 0x2, 0x22, 0x6c, 0x53, 0xdd, 0x1f, 0x58, 0xb6, 0xa8, 0x3b, 0x7, 0xf9, 0x4, 0x6d, 0x1f, 0x8b, 0xfc, 0xd8, 0x0, 0x75, 0xcd, 0x21, 0x60, 0x11, 0x47, 0x9f, 0xb6, 0x8f, 0xad, 0xd8, 0x60, 0x4a, 0x2a, 0x90, 0x48, 0x16, 0x6d, 0xc6, 0xa5, 0xbd, 0xe3, 0xac, 0x2a, 0x12, 0x1c, 0x67, 0x19, 0xf8, 0xb6, 0x35, 0x98, 0xcf, 0xca, 0x84, 0xa7, 0xad, 0xe3, 0x3b, 0xba, 0xc1, 0x5b, 0x9b, 0x38, 0x2f, 0xcd, 0x28, 0x99, 0xb6, 0xab, 0x1c, 0x84, 0x88, 0x7d, 0x48, 0xdb, 0x94, 0x34, 0x89, 0x9d, 0x76, 0xf0, 0x77, 0x14, 0x5b, 0xf1, 0x2c, 0x41, 0x66, 0xc6, 0x79, 0xb3, 0x90, 0x32, 0xd2, 0x68, 0x3f, 0x6c, 0x94, 0x4b, 0x90, 0xbb, 0x7d, 0x9d, 0x5, 0x87, 0xe6, 0x84, 0xcd, 0x8d, 0x46, 0xa5, 0x60, 0xba, 0x24, 0xec, 0xb3, 0x52, 0xb4, 0xb9, 0x65, 0xb5, 0x26, 0x47, 0xbc, 0xcf, 0xfa, 0x46, 0x1f, 0x89, 0x9a, 0xf4, 0xb2, 0xfa, 0x45, 0x69, 0x73, 0x46, 0xde, 0xf4, 0xc9, 0x75, 0x54, 0x2e, 0x71, 0x14, 0xd6, 0x4b, 0x98, 0x2c, 0x7f, 0x3d, 0xbb, 0x78, 0x3f, 0x29, 0x73, 0x92, 0xde, 0x53, 0xa5, 0x18, 0x7b, 0xc0, 0x2b, 0xba, 0xad, 0x66, 0xbd, 0x72, 0x14, 0x71, 0x57, 0xf2, 0x43, 0x40, 0x26, 0x78, 0xf4, 0x66, 0x8b, 0xc0, 0x30, 0x72, 0x22, 0x8a, 0x8d, 0xec, 0x28, 0x34, 0x8, 0x64, 0xd2, 0xe9, 0x5e, 0x57, 0xee, 0x2d, 0x3f, 0xc9, 0x64, 0x45, 0x42, 0x6c, 0x67, 0xc0, 0xba, 0x94, 0x7d, 0x66, 0xe9, 0x7b, 0x8c, 0x7f, 0x34, 0x3a, 0xa, 0xde, 0x87, 0x7d, 0x65, 0x71, 0x4a, 0xaf, 0x5a, 0x5a, 0x23, 0xdd, 0x98, 0x68, 0x5b, 0xd3, 0x66, 0xbd, 0x3, 0x31, 0x0, 0xf4, 0xc3, 0x63, 0xd0, 0x71, 0x5c, 0xc6, 0xdb, 0x77, 0x7a, 0xac, 0xdf, 0x99, 0x4b, 0xcb, 0x42, 0x3b, 0x28, 0x21, 0xf0, 0x96, 0x7d, 0x2e, 0x84, 0x3a, 0xb5, 0x20, 0x3a, 0x32, 0x4, 0x17, 0x7a, 0x8b, 0xe9, 0xc2, 0x41, 0x19, 0x84, 0xf7, 0xf1, 0x95, 0xd0, 0xf2, 0x20, 0x2, 0xd5, 0x21, 0xf1, 0x18, 0x77, 0xc0, 0xa0, 0xb, 0x6, 0xf2, 0x48, 0x75, 0xc2, 0x3, 0x82, 0x14, 0xee, 0xce, 0xe6, 0xeb, 0x63, 0x79, 0xad, 0x97, 0x1c, 0xd7, 0xac, 0x3a, 0x8d, 0x11, 0xa2, 0x9e, 0x1a, 0x73, 0xbf, 0x1d, 0x83, 0x74, 0x5b, 0xb8, 0xd1, 0x5d, 0xd1, 0x86, 0x4d, 0xac, 0xa5, 0xdf, 0x8a, 0x3b, 0x8c, 0x80, 0xc3, 0x0, 0x26, 0x8b, 0xa8, 0x71, 0x16, 0x8e, 0x54, 0xb, 0x1b, 0x2f, 0x45, 0xb, 0x52, 0xed, 0x3f, 0xb0, 0x8a, 0xa6, 0x91, 0xcd, 0xb1, 0x75, 0x32, 0xe2, 0xd, 0x34, 0xe5, 0x66, 0x69, 0x1a, 0xed, 0xce, 0xf9, 0x6d, 0xe6, 0x74, 0x23, 0xb1, 0xc4, 0x3f, 0x85, 0x34, 0xb5, 0x92, 0x2d, 0xc4, 0x3, 0xb, 0x37, 0xd9, 0x42, 0xb7, 0x6d, 0xb2, 0x55, 0xfb, 0xe4, 0x43, 0xf4, 0x1b, 0xd8, 0xf3, 0x7a, 0xbb, 0x47, 0x96, 0x30, 0xa8, 0xf5, 0xa8, 0x5d, 0x81, 0xd4, 0xf2, 0xbe, 0x65, 0x9f, 0x8c, 0x2a, 0xb4, 0x8e, 0xee, 0x85, 0x48, 0x9, 0xc0, 0xa4, 0x82, 0x56, 0xef, 0x93, 0x63, 0xca, 0x3a, 0x99, 0x13, 0x2a, 0x35, 0xc3, 0xb7, 0x28, 0xd1, 0x3b, 0x14, 0x39, 0x15, 0x78, 0xfe, 0xc9, 0x81, 0x2, 0x22, 0x62, 0xb1, 0x5, 0xdb, 0x2a, 0x78, 0xc1, 0x32, 0x9e, 0x83, 0x16, 0x51, 0x25, 0xad, 0xd0, 0x6b, 0xaf, 0xff, 0x2b, 0x51, 0xdb, 0xbb, 0x2e, 0x8e, 0x1f, 0x1f, 0x8e, 0x8b, 0x92, 0x1d, 0x97, 0x2c, 0x63, 0x54, 0xb2, 0xff, 0x26, 0x57, 0xee, 0x3f, 0xfc, 0x36, 0x7, 0x57, 0x23, 0xd9, 0x23, 0xf0, 0x12, 0xa9, 0xb, 0xcc, 0x54, 0x7a, 0xbd, 0xe6, 0x74, 0xec, 0x84, 0x7f, 0xda, 0xc0, 0x61, 0x1b, 0x6d, 0x51, 0x17, 0x10, 0xbe, 0xe5, 0xe5, 0x4e, 0x6b, 0xc0, 0xb0, 0xd5, 0xad, 0xee, 0x81, 0xec, 0xbb, 0xb6, 0xee, 0x7f, 0xe4, 0x61, 0xf8, 0x7a, 0x4b, 0x9, 0x22, 0x13, 0x90, 0x3b, 0xb4, 0x16, 0xac, 0x3d, 0xf0, 0x3e, 0xd9, 0x12, 0x97, 0x8e, 0xe0, 0xfd, 0xb, 0x7c, 0xc0, 0x18, 0xe5, 0xea, 0x34, 0xc0, 0x8d, 0xf9, 0x72, 0xb2, 0xae, 0x93, 0x5b, 0xf9, 0xe1, 0x40, 0x28, 0x49, 0x16, 0xe3, 0xda, 0x2f, 0xc1, 0xe4, 0x59, 0xba, 0x37, 0xf9, 0x7, 0x96, 0x57, 0xf2, 0x2c, 0xf5, 0xe0, 0x14, 0x2c, 0x12, 0x94, 0xfa, 0xf8, 0xe0, 0x8, 0xa3, 0x39, 0x68, 0x26, 0xea, 0x62, 0xa5, 0xd2, 0xd4, 0xc, 0x46, 0x5a, 0xd1, 0x15, 0x95, 0x90, 0xf2, 0x86, 0x4, 0x26, 0xe8, 0xc3, 0xaf, 0x1c, 0x72, 0x76, 0xb, 0x1e, 0x58, 0x13, 0xa2, 0x6b, 0xa0, 0x7e, 0xd7, 0x78, 0xf4, 0x2b, 0xc0, 0x75, 0x25, 0x22, 0x9f, 0x65, 0x3c, 0xa9, 0x76, 0xa2, 0x7, 0x58, 0x29, 0xcc, 0x27, 0x5e, 0x6, 0x67, 0x90, 0x31, 0x6c, 0xba, 0xbb, 0x45, 0x42, 0x1, 0xd, 0xce, 0x65, 0xcc, 0x5e, 0x8, 0x34, 0x1b, 0x18, 0x30, 0x1c, 0x79, 0xb8, 0x6c, 0x67, 0xc1, 0xd1, 0xe9, 0xc3, 0xa7, 0x40, 0x71, 0x9e, 0x8b, 0xfc, 0x58, 0x2d, 0xa9, 0xe9, 0x40, 0x33, 0x16, 0x80, 0xa, 0x9a, 0x40, 0x32, 0x9a, 0x7f, 0x17, 0x1a, 0x72, 0x14, 0x9d, 0x4e, 0xb8, 0xaa, 0x93, 0xd7, 0x12, 0x19, 0xd7, 0xef, 0x6b, 0x3c, 0xf4, 0xa0, 0x2, 0x4f, 0x19, 0xcb, 0xc9, 0x42, 0xa4, 0x98, 0x72, 0x6e, 0x51, 0x67, 0xe6, 0x4c, 0xd, 0x89, 0x24, 0xf8, 0xe1, 0x68, 0xa5, 0x93, 0x48, 0xf1, 0x16, 0x8e, 0x7a, 0xd0, 0x6c, 0xa, 0xb9, 0xbe, 0xa0, 0x45, 0xde, 0x5a, 0x23, 0x17, 0x92, 0x25, 0x7c, 0x75, 0xad, 0x81, 0xdf, 0xe7, 0xa2, 0x64, 0x1f, 0xb0, 0x2e, 0xdc, 0xb2, 0x3d, 0xec, 0x6d, 0xdf, 0xb9, 0xf1, 0xfd, 0xb0, 0x34, 0x21, 0xa3, 0xf0, 0x5b, 0x3d, 0x9a, 0x4, 0x86, 0x92, 0x29, 0xe9, 0x86, 0x88, 0x51, 0x98, 0xab, 0x82, 0x67, 0x84, 0x7d, 0x2e, 0xf0, 0xf7, 0x6a, 0x54, 0xe4, 0x4f, 0x1a, 0xfa, 0xa7, 0x64, 0xb1, 0x83, 0x19, 0x42, 0x43, 0x22, 0xcb, 0x5c, 0x0, 0x25, 0x67, 0x8f, 0xe, 0x25, 0xac, 0x2, 0x18, 0xfe, 0xa, 0xc0, 0x7, 0xb4, 0x81, 0x44, 0x93, 0x4, 0x56, 0x8c, 0x66, 0xa8, 0x91, 0x20, 0x80, 0xb4, 0xd7, 0x4d, 0xaf, 0x91, 0x99, 0xa3, 0x71, 0xe1, 0xe7, 0x8c, 0x66, 0xd5, 0x9c, 0x70, 0x29, 0x6b, 0xa5, 0xa9, 0x80, 0xcc, 0xb8, 0x53, 0x56, 0xeb, 0x1d, 0x96, 0xf6, 0x56, 0x82, 0x4c, 0x97, 0x10, 0x1e, 0x81, 0xb9, 0xea, 0x8e, 0x9b, 0x88, 0x6a, 0x48, 0x76, 0x59, 0x61, 0x9c, 0xbd, 0x65, 0x9a, 0x1a, 0x54, 0xd8, 0x78, 0x6f, 0xf5, 0x8a, 0xf8, 0x4f, 0xe0, 0xcd, 0xa6, 0xfa, 0x4, 0xf, 0x2a, 0x2c, 0x40, 0x49, 0xa6, 0x11, 0x1a, 0xd, 0xae, 0xa3, 0x46, 0x1e, 0x8d, 0xe5, 0x92, 0xde, 0x2c, 0xee, 0x60, 0xf4, 0x50, 0xf8, 0x60, 0xf4, 0x26, 0xcb, 0xc4, 0x23, 0x40, 0xd1, 0x7f, 0x86, 0xc0, 0x72, 0x64, 0x97, 0xc1, 0xcf, 0x71, 0x73, 0x44, 0x0, 0x5d, 0x28, 0x34, 0xa8, 0x35, 0xcd, 0x97, 0x60, 0x56, 0x1e, 0xf1, 0x7c, 0xc6, 0xca, 0x12, 0x3f, 0xd0, 0x1c, 0x7d, 0xae, 0x28, 0x66, 0x95, 0xfd, 0x9b, 0x89, 0x7b, 0x9d, 0xff, 0x5a, 0x51, 0xf9, 0x29, 0xee, 0x3, 0x4c, 0xb0, 0x5b, 0x75, 0xe2, 0xd4, 0x78, 0xdf, 0xc5, 0x99, 0x4a, 0x2b, 0x7, 0xa1, 0x14, 0xcd, 0xd4, 0xc7, 0x1f, 0xd4, 0xf8, 0xf3, 0x3e, 0x50, 0xaa, 0x3f, 0xac, 0x70, 0x7d, 0x9b, 0xa3, 0xd0, 0xc3, 0xf6, 0xeb, 0x9f, 0x1b, 0x57, 0x2, 0x80, 0xa7, 0xb6, 0xdc, 0x15, 0x6, 0xf3, 0xca, 0x53, 0x4e, 0xa3, 0x69, 0x7c, 0x1c, 0x8c, 0x2f, 0x46, 0x17, 0x3f, 0x9e, 0x90, 0x33, 0xa1, 0xcd, 0x32, 0x7d, 0x5a, 0x66, 0x19, 0xbd, 0x37, 0xd8, 0x90, 0x4b, 0x1d, 0xb6, 0x92, 0x75, 0xe9, 0xa5, 0x51, 0x59, 0x48, 0x7, 0xb, 0x90, 0xa5, 0x37, 0x83, 0x34, 0x1f, 0x23, 0xec, 0x2a, 0x7, 0xc0, 0x67, 0x5b, 0x39, 0x6e, 0x8e, 0x23, 0x97, 0xa4, 0xce, 0xcd, 0x5e, 0xcc, 0x96, 0xee, 0x54, 0x46, 0xc8, 0x11, 0xba, 0x6d, 0xeb, 0x18, 0xa0, 0x95, 0x3, 0xd3, 0xb, 0x3b, 0x32, 0xa3, 0x80, 0xdc, 0x2d, 0x35, 0xa9, 0x92, 0xd1, 0x64, 0xee, 0x65, 0xdf, 0x62, 0x74, 0x73, 0xc9, 0xaa, 0x3e, 0xb9, 0x4, 0xf, 0xa8, 0x99, 0xb4, 0x8e, 0x5f, 0xe1, 0x68, 0x8, 0x5e, 0x8b, 0xa6, 0xb5, 0x38, 0x39, 0x19, 0x3, 0x8, 0xb4, 0x2c, 0xf9, 0x83, 0x27, 0x6e, 0xa1, 0x3e, 0xff, 0x42, 0x5c, 0xe1, 0x4b, 0x5f, 0x40, 0x98, 0x99, 0x5c, 0xf6, 0x40, 0x96, 0x85, 0x4b, 0x0, 0x37, 0x8c, 0x64, 0xae, 0x96, 0x8, 0x54, 0xb9, 0xa6, 0x51, 0xd3, 0xc0, 0x39, 0xe4, 0x39, 0x11, 0x65, 0xca, 0x4a, 0x5f, 0x94, 0x29, 0x13, 0x4a, 0x57, 0xc3, 0x69, 0x42, 0x18, 0x83, 0xff, 0xe8, 0x7a, 0x85, 0x8f, 0xa3, 0x9d, 0x61, 0x20, 0x4, 0x80, 0xa3, 0x2d, 0x8d, 0x6b, 0xf6, 0xf0, 0x15, 0x83, 0xe4, 0xa9, 0xf1, 0xb9, 0x77, 0x91, 0x6d, 0x61, 0x55, 0x30, 0xab, 0xde, 0x42, 0xc6, 0xc0, 0xaa, 0x13, 0x41, 0x9b, 0x27, 0xb2, 0xdf, 0x55, 0x47, 0xde, 0xcd, 0xe2, 0x39, 0xa0, 0x4e, 0x14, 0xe2, 0xbf, 0xdb, 0x2a, 0x43, 0x29, 0x2c, 0x3c, 0xaa, 0xa9, 0x20, 0x73, 0x99, 0x94, 0xba, 0x10, 0xad, 0x12, 0x60, 0x1f, 0xc4, 0x72, 0x5a, 0x49, 0x73, 0x74, 0x20, 0xe3, 0xe9, 0x68, 0x8a, 0x2b, 0x5b, 0xf6, 0xc5, 0xf2, 0x50, 0x2, 0xc0, 0x1f, 0xc2, 0xf6, 0x52, 0x9e, 0xc2, 0x67, 0xd7, 0x81, 0x31, 0xa7, 0xce, 0x70, 0xe9, 0xf4, 0x19, 0x14, 0xba, 0x58, 0x11, 0x8a, 0x9d, 0x6f, 0xd6, 0x57, 0x8c, 0x85, 0x77, 0x28, 0xf8, 0x54, 0xd3, 0xde, 0x7a, 0xfc, 0xd4, 0xa6, 0x5d, 0xf9, 0xc, 0xf0, 0x86, 0xd5, 0x1d, 0xfe, 0xe0, 0x9b, 0x1a, 0x3b, 0xd8, 0x99, 0xfa, 0xc7, 0x2d, 0x8b, 0x3a, 0xec, 0x33, 0xfa, 0x20, 0x0, 0x52, 0x86, 0xa7, 0x6c, 0x51, 0x8, 0xc4, 0x41, 0xd4, 0x97, 0x35, 0xe8, 0xc7, 0xb0, 0x72, 0x46, 0xbb, 0x8e, 0x67, 0x71, 0xa7, 0xb6, 0xc8, 0x7d, 0x5b, 0xcd, 0xdf, 0x69, 0x4, 0x27, 0xa, 0x5, 0xc3, 0x7a, 0xa0, 0x6a, 0x43, 0xd8, 0x61, 0x42, 0x27, 0x3f, 0xe0, 0x8e, 0x35, 0x68, 0x41, 0x77, 0xa1, 0x8e, 0x7f, 0x47, 0xee, 0x45, 0x65, 0xd3, 0x2b, 0xc2, 0x7e, 0xd6, 0xc, 0xd, 0xf5, 0x68, 0xe1, 0x36, 0xa2, 0x89, 0x73, 0xda, 0x3d, 0xcd, 0x4a, 0xd, 0xda, 0x8c, 0xee, 0x96, 0x19, 0xc3, 0x9c, 0x6a, 0x8c, 0xca, 0xc6, 0xaa, 0x9f, 0x53, 0xd2, 0xab, 0x47, 0x20, 0xd0, 0xc8, 0xe4, 0x4a, 0x19, 0xf2, 0x81, 0xe6, 0xf4, 0x9e, 0x95, 0xcf, 0xcc, 0xc0, 0x5e, 0xe0, 0xa8, 0x46, 0x3b, 0x9a, 0x1, 0x71, 0xa2, 0x5a, 0x39, 0xe5, 0x55, 0x49, 0x4b, 0x63, 0xbf, 0xaa, 0x8b, 0xe6, 0x4e, 0x77, 0x71, 0x6b, 0x8c, 0x84, 0xbb, 0x68, 0xf3, 0xd, 0x41, 0x13, 0x83, 0x1b, 0xcc, 0x9, 0x6c, 0x70, 0x39, 0xbb, 0x7, 0x25, 0xcb, 0x66, 0x5b, 0xdf, 0xa2, 0x93, 0xb2, 0xd6, 0xd1, 0x2, 0xd5, 0x6a, 0x73, 0x1c, 0x6a, 0x23, 0xdc, 0xb5, 0x8c, 0xea, 0xc5, 0x78, 0xfd, 0xc6, 0x8d, 0xd7, 0x31, 0x66, 0xa3, 0xa5, 0x7b, 0x1a, 0xaf, 0x41, 0x9b, 0xe8, 0xb2, 0x86, 0x6, 0x3e, 0x84, 0x67, 0x6a, 0x5b, 0x65, 0xc3, 0xa, 0x8a, 0x17, 0x2d, 0xe3, 0x6b, 0x6b, 0x19, 0x1f, 0xe, 0x2a, 0x1d, 0x3f, 0x9a, 0xa9, 0xb4, 0x88, 0x22, 0xd, 0x55, 0x48, 0x6d, 0x8e, 0x36, 0x56, 0x2b, 0xc3, 0xc4, 0xbe, 0xca, 0x65, 0xad, 0x87, 0xe8, 0x4e, 0xc7, 0x3f, 0xcc, 0x45, 0x3d, 0xe, 0xf0, 0xbe, 0x9f, 0xd9, 0x7d, 0xfd, 0x6d, 0x39, 0xc4, 0x1, 0x97, 0xdd, 0xa0, 0xf1, 0x57, 0x62, 0x3b, 0x8f, 0x78, 0x8c, 0x9c, 0xbf, 0xc6, 0x23, 0x1e, 0x3f, 0xfa, 0x15, 0x3c, 0xe2, 0xc5, 0xce, 0xa4, 0xb, 0xaf, 0xc7, 0x11, 0x7a, 0x3d, 0xae, 0x41, 0xbf, 0x41, 0x8b, 0x0, 0xac, 0x8, 0xaf, 0x5b, 0x84, 0x5b, 0x44, 0x14, 0xf0, 0xa2, 0xde, 0x7c, 0xdb, 0xea, 0xcd, 0x8b, 0x6f, 0x5e, 0xff, 0x7c, 0x9b, 0xbe, 0x79, 0xf6, 0x5b, 0x4d, 0x91, 0xae, 0xb8, 0xcd, 0x2f, 0xef, 0xbc, 0xf1, 0x1e, 0x99, 0x90, 0x71, 0xc1, 0xaf, 0x75, 0xf4, 0xbd, 0xf8, 0xe3, 0xbf, 0x6d, 0x7f, 0xfc, 0x3f, 0xb0, 0x3b, 0x1e, 0x7e, 0x90, 0x76, 0x4d, 0xeb, 0xd5, 0x2c, 0xf9, 0x84, 0x69, 0xcf, 0x3a, 0xc7, 0xd5, 0x95, 0xd4, 0xb4, 0x50, 0xa9, 0xd0, 0xa9, 0xa8, 0xe1, 0x2, 0x41, 0xed, 0xb2, 0x87, 0x1e, 0x6d, 0x28, 0xbe, 0x6e, 0x56, 0xc7, 0xd8, 0xf, 0xd1, 0xc2, 0x37, 0x13, 0x97, 0x79, 0x80, 0x3c, 0x86, 0xb1, 0xa8, 0x5e, 0xb4, 0x4, 0xa, 0x53, 0x48, 0x5e, 0xdb, 0x7c, 0x81, 0xb0, 0x1b, 0x2b, 0xc3, 0x20, 0xd5, 0x14, 0x9c, 0xf9, 0x9a, 0x73, 0x75, 0x25, 0x45, 0xd8, 0x4b, 0x50, 0xe2, 0x79, 0x5, 0x25, 0x62, 0xad, 0xb4, 0xdd, 0x4f, 0x80, 0xd8, 0x20, 0x95, 0x8c, 0x49, 0x8c, 0x3a, 0xdb, 0x2f, 0x2f, 0x6e, 0x84, 0xaf, 0xed, 0x46, 0x78, 0x9, 0x56, 0xb4, 0x7, 0x2b, 0x8c, 0xa8, 0x7d, 0x8e, 0xc1, 0x8a, 0x71, 0x7c, 0xd, 0x7c, 0xbb, 0xc1, 0xa, 0x7f, 0xd3, 0x1c, 0x8c, 0x1b, 0x70, 0xd2, 0x72, 0x95, 0x7a, 0x37, 0xe2, 0xcb, 0x27, 0xff, 0xea, 0x9f, 0xbc, 0xcd, 0x3f, 0x70, 0xcd, 0xef, 0x73, 0x9a, 0xd, 0x3f, 0x63, 0xa2, 0x71, 0x83, 0x15, 0xe1, 0x3d, 0xe5, 0x19, 0x4b, 0x87, 0xf, 0x2c, 0xaf, 0x76, 0xae, 0x80, 0x48, 0x62, 0x1c, 0xcf, 0x56, 0x78, 0xcd, 0xd1, 0x8f, 0x17, 0x83, 0xf3, 0xdb, 0xe1, 0x9f, 0x27, 0xc3, 0xb1, 0xfa, 0x47, 0xb, 0x9d, 0xc, 0xb2, 0xe8, 0xdc, 0x9e, 0xe, 0x6e, 0xae, 0x87, 0xeb, 0x60, 0x37, 0xb7, 0x6c, 0x69, 0xdd, 0x83, 0x17, 0x97, 0x93, 0xdb, 0xf7, 0x97, 0x37, 0x17, 0xfb, 0xf6, 0x71, 0x31, 0xf8, 0x30, 0xbc, 0xbe, 0x1a, 0x9c, 0xe, 0xf, 0xd6, 0xa2, 0x7e, 0xfe, 0xf4, 0xf2, 0xe6, 0x62, 0x72, 0x7b, 0x3e, 0xfa, 0x30, 0x9a, 0xdc, 0xe, 0xff, 0x7c, 0x3a, 0x1c, 0x9e, 0x75, 0x61, 0xda, 0x69, 0x5, 0x92, 0xb4, 0x78, 0xe0, 0x54, 0x7e, 0x3a, 0xd5, 0xe5, 0xbd, 0xf8, 0xe5, 0xb7, 0x77, 0x11, 0x2a, 0x59, 0x70, 0x67, 0xa7, 0x30, 0x19, 0x5c, 0xff, 0xec, 0x58, 0x93, 0xee, 0x90, 0x82, 0x47, 0xc3, 0x4c, 0x69, 0xb8, 0xf2, 0xc5, 0x42, 0x5d, 0xb7, 0x70, 0x45, 0xb0, 0x42, 0x20, 0xfd, 0xe, 0xf7, 0x70, 0x92, 0xba, 0xbb, 0x57, 0x37, 0xb0, 0xa7, 0x98, 0x76, 0x8c, 0xf8, 0xb0, 0x38, 0x7c, 0x38, 0x9c, 0x19, 0xec, 0x77, 0xd4, 0x1b, 0xe0, 0x64, 0xc4, 0x40, 0x60, 0x67, 0x3f, 0x63, 0x19, 0xf1, 0xcd, 0x88, 0x54, 0x42, 0x64, 0xd2, 0x14, 0x2a, 0xd7, 0x4a, 0x2, 0xd9, 0x51, 0x1a, 0xf7, 0xfe, 0xb4, 0xae, 0x2c, 0xc4, 0x65, 0x2d, 0xab, 0xe8, 0xa9, 0x5b, 0x9e, 0xde, 0x81, 0x4d, 0xd2, 0x6f, 0xce, 0xb3, 0xc3, 0x9a, 0x3f, 0xc6, 0x87, 0xb5, 0x6b, 0x32, 0xfd, 0x1a, 0xee, 0x13, 0xeb, 0x20, 0xea, 0xfa, 0xe1, 0x35, 0xb2, 0xc3, 0x1e, 0x9a, 0x4e, 0x17, 0x31, 0x34, 0xa, 0x86, 0xb5, 0xb3, 0x24, 0xfa, 0xc7, 0xdc, 0xe2, 0x95, 0x38, 0x9e, 0xb2, 0x63, 0xdc, 0xce, 0x3e, 0xf4, 0xe4, 0x3f, 0xd8, 0xd6, 0xc6, 0x5, 0xd8, 0x5, 0xdb, 0x46, 0x8d, 0xfc, 0xad, 0x7a, 0xd0, 0x62, 0xcd, 0x41, 0x53, 0xe0, 0x60, 0xe6, 0xea, 0x76, 0xce, 0xb5, 0xcf, 0x4d, 0x57, 0xeb, 0x98, 0xd1, 0x7b, 0xa7, 0xaa, 0xa8, 0xf7, 0xa3, 0xdd, 0xd3, 0x75, 0x7d, 0x72, 0xa5, 0xf6, 0x7d, 0xed, 0xca, 0xea, 0x68, 0x79, 0x5f, 0x2f, 0x20, 0xd4, 0x81, 0x96, 0x32, 0x94, 0xf3, 0x1b, 0x9f, 0xb, 0x8e, 0x1c, 0x0, 0x3c, 0x3c, 0xcd, 0xee, 0x40, 0xa7, 0x18, 0x9a, 0x9a, 0xf3, 0x2c, 0x35, 0x9f, 0xe1, 0x32, 0xcf, 0x5a, 0x9c, 0xd9, 0xdb, 0xb9, 0x1d, 0x3e, 0xea, 0xd8, 0x8c, 0xae, 0xc9, 0x42, 0xc7, 0x82, 0x8d, 0xa, 0x71, 0x98, 0xa5, 0xb2, 0xcf, 0xd, 0xa4, 0xaf, 0x95, 0xe8, 0x40, 0x2f, 0x4, 0xc4, 0xd4, 0xe8, 0x9e, 0xd0, 0xb8, 0x3b, 0x9, 0xcd, 0x13, 0x96, 0x91, 0x6, 0x42, 0x12, 0x8e, 0x7c, 0xc5, 0xbd, 0x0, 0x3e, 0xde, 0xd4, 0x77, 0x98, 0xd9, 0xb7, 0xe7, 0x8c, 0xa6, 0x21, 0x60, 0xd4, 0xba, 0xf, 0xf9, 0x13, 0x3c, 0xfd, 0xda, 0x13, 0x7a, 0x1f, 0x79, 0x35, 0xbf, 0xf6, 0x39, 0x10, 0xed, 0xde, 0x7d, 0xea, 0x48, 0xe4, 0xe3, 0x1a, 0xf0, 0xdc, 0x15, 0x8f, 0xc6, 0x64, 0x21, 0xdb, 0xf3, 0x82, 0x54, 0x26, 0xaa, 0xb0, 0xd7, 0x79, 0xb0, 0xb1, 0x89, 0x95, 0x7, 0x42, 0xc9, 0x67, 0xcf, 0x23, 0xaa, 0x36, 0xc, 0x60, 0xf8, 0x22, 0xb6, 0x8f, 0xf9, 0xba, 0xe0, 0x58, 0x9a, 0x11, 0xee, 0x7c, 0x57, 0x9a, 0xf8, 0xea, 0x39, 0x9c, 0x5d, 0x7f, 0x1f, 0x5a, 0xae, 0xb5, 0x92, 0x19, 0x57, 0x9, 0x95, 0xab, 0x1f, 0x27, 0xb3, 0x3a, 0x8f, 0x42, 0xd, 0xd, 0x99, 0x3a, 0x41, 0x27, 0xd7, 0x97, 0x86, 0x3a, 0x9b, 0x88, 0xca, 0x93, 0x91, 0x1e, 0x15, 0x99, 0x76, 0xba, 0x79, 0x9c, 0xab, 0x6, 0x29, 0x1a, 0x61, 0xbd, 0x91, 0x59, 0x4c, 0x4d, 0x3b, 0x67, 0x8f, 0x8d, 0x69, 0x8d, 0xeb, 0xaf, 0x36, 0x21, 0x3d, 0x6e, 0x84, 0xbf, 0xe1, 0xf9, 0x7d, 0xc6, 0x2, 0x60, 0xed, 0x56, 0xf5, 0xe3, 0x39, 0x8e, 0x35, 0x88, 0xbe, 0xec, 0x1a, 0x8b, 0x6c, 0x8b, 0x40, 0x62, 0xbc, 0xec, 0x2d, 0x6, 0x22, 0xed, 0x8b, 0x5a, 0x90, 0x6e, 0xaf, 0x7a, 0xdd, 0x68, 0x47, 0x61, 0xca, 0x8e, 0xd3, 0xba, 0xb0, 0x97, 0xda, 0xe3, 0x5b, 0x7d, 0xc4, 0x75, 0xc3, 0xb2, 0x45, 0xd0, 0x8d, 0x59, 0x2d, 0x59, 0x37, 0xc2, 0x7, 0xab, 0xdb, 0x8d, 0xce, 0x6e, 0xc7, 0x43, 0x65, 0x73, 0x6d, 0x64, 0x7c, 0x58, 0xf9, 0xa, 0x92, 0x1f, 0x9c, 0xdd, 0x5c, 0x9d, 0x8f, 0x4e, 0x7, 0x93, 0x98, 0xcc, 0xa1, 0xeb, 0x6b, 0xc6, 0x2, 0xbc, 0xbc, 0x38, 0xff, 0xb5, 0x6b, 0x13, 0xe3, 0xe1, 0x7f, 0xe, 0x4f, 0x27, 0xdb, 0x77, 0xed, 0x48, 0x1e, 0x46, 0xef, 0x5b, 0x18, 0x72, 0x77, 0xd0, 0x4b, 0xcf, 0xa0, 0xfc, 0x1a, 0xe2, 0x2e, 0x10, 0x8e, 0xc3, 0x70, 0xa6, 0x3a, 0x22, 0xec, 0xb8, 0xb6, 0x5e, 0x15, 0x9f, 0xac, 0x5a, 0x67, 0xe, 0x18, 0x4f, 0x55, 0xb6, 0x24, 0xdf, 0x25, 0x99, 0x90, 0x2c, 0xfd, 0x6e, 0x95, 0xe, 0xab, 0xa1, 0xef, 0x20, 0x32, 0xa1, 0xe1, 0x95, 0xb8, 0xec, 0xbc, 0xbe, 0x31, 0x44, 0xd7, 0x35, 0x63, 0xe4, 0x6e, 0x15, 0x9, 0xf7, 0x1d, 0xc4, 0x2f, 0x2c, 0x12, 0x1a, 0xd, 0x46, 0x9e, 0xd6, 0xe, 0x9, 0x4f, 0xe3, 0xe1, 0x7e, 0xa7, 0x99, 0xd, 0xdb, 0xc7, 0xbe, 0xd6, 0x22, 0x1f, 0xa5, 0xa7, 0xda, 0xd5, 0xb4, 0xfd, 0xce, 0x3d, 0xbd, 0xbc, 0x78, 0x7f, 0x3e, 0x3a, 0x9d, 0x6c, 0xb7, 0x79, 0xe3, 0xb7, 0xd4, 0xc6, 0xdb, 0xa6, 0x13, 0x70, 0xab, 0x8c, 0xae, 0x27, 0x6b, 0x68, 0x95, 0x5b, 0x5e, 0x73, 0x7b, 0xae, 0xe5, 0xe5, 0x3d, 0x76, 0xdc, 0x5c, 0xc9, 0x36, 0x41, 0x4a, 0x26, 0x45, 0x6, 0xb4, 0xe5, 0xfe, 0xa7, 0xb2, 0xc9, 0x24, 0x9d, 0xbe, 0x53, 0xa7, 0x3d, 0xb6, 0x6e, 0x39, 0x56, 0x2, 0x54, 0x6f, 0x5a, 0x7e, 0x4d, 0x54, 0xa5, 0x79, 0x9, 0x75, 0xe4, 0xe4, 0x69, 0x77, 0xec, 0xba, 0xc3, 0xd6, 0xba, 0x61, 0x77, 0x37, 0xb1, 0x2, 0x9e, 0x7a, 0x5a, 0x57, 0x73, 0xe1, 0xf0, 0x1a, 0x0, 0x37, 0xbc, 0x61, 0x79, 0x49, 0x96, 0xa7, 0xb1, 0xd6, 0x13, 0xd, 0x64, 0xf4, 0x45, 0x55, 0x37, 0x88, 0x77, 0x1d, 0xc9, 0x37, 0xbe, 0xd5, 0x65, 0xb3, 0x29, 0x70, 0x40, 0x4f, 0x61, 0x6f, 0x1, 0xdf, 0x46, 0x53, 0x2e, 0x6c, 0x3d, 0xd5, 0xb1, 0x6b, 0x67, 0xe5, 0x6c, 0xc7, 0x8e, 0xdb, 0x63, 0x69, 0xc3, 0xb7, 0x8d, 0xc5, 0x7, 0x32, 0x7, 0x8d, 0xdd, 0xb3, 0xed, 0xc, 0xaf, 0x3d, 0x84, 0xd3, 0x54, 0x24, 0xb2, 0x5f, 0x69, 0x68, 0xd2, 0x3e, 0x17, 0xf0, 0x8b, 0xb7, 0x1a, 0xcc, 0xef, 0xed, 0xe3, 0x9c, 0x56, 0xc7, 0x5c, 0x1e, 0xd3, 0x63, 0xf3, 0xc8, 0xb1, 0xea, 0xf8, 0xf8, 0x2f, 0x62, 0xfa, 0xd6, 0xb6, 0xfe, 0x9c, 0x68, 0x30, 0x77, 0xb7, 0x13, 0x89, 0x77, 0x17, 0x80, 0xa5, 0x78, 0xc6, 0x32, 0xba, 0xfc, 0xca, 0x10, 0xc5, 0x80, 0x79, 0x5b, 0x9, 0xf2, 0x48, 0xb9, 0x2d, 0x3e, 0x4a, 0xb9, 0x2c, 0x2c, 0x2a, 0x1c, 0xd4, 0x74, 0x94, 0xb2, 0xa, 0xf5, 0xcb, 0x3e, 0x39, 0x5, 0xf6, 0x69, 0xb, 0xe8, 0x87, 0xb9, 0x96, 0x88, 0x98, 0xa7, 0x37, 0x4d, 0x5c, 0x2f, 0x12, 0xa1, 0xf8, 0x6b, 0x6d, 0x4f, 0xdb, 0x6b, 0x29, 0xcb, 0xf8, 0x3, 0x80, 0x70, 0xba, 0xd4, 0xa5, 0xb6, 0x6e, 0x23, 0xde, 0x62, 0xc0, 0xc7, 0x8f, 0x3c, 0x0, 0x3a, 0x4f, 0x68, 0x85, 0x59, 0xee, 0xf2, 0xb4, 0xa1, 0x53, 0xba, 0xf4, 0x25, 0x28, 0x58, 0x9a, 0x76, 0x48, 0x7a, 0x19, 0x58, 0xea, 0xa3, 0x6f, 0xc5, 0x9d, 0x19, 0x6f, 0x82, 0xac, 0x1c, 0x8c, 0x88, 0x6a, 0x15, 0x79, 0xe7, 0x1c, 0xe6, 0x33, 0xa4, 0xe4, 0xa5, 0x3d, 0x70, 0x29, 0x5a, 0xd6, 0x39, 0x93, 0x71, 0x1, 0x34, 0xb, 0x73, 0x9a, 0x2, 0x10, 0x4d, 0x46, 0x97, 0xb1, 0x4f, 0xf, 0xd7, 0xea, 0x81, 0x53, 0x33, 0xab, 0xd8, 0x8, 0x74, 0xdc, 0x35, 0x75, 0x3e, 0x45, 0xf8, 0x57, 0xdf, 0xea, 0xb4, 0xcd, 0xd5, 0x92, 0x95, 0x87, 0x41, 0xfa, 0xf1, 0x1a, 0xea, 0x1a, 0x4b, 0xb6, 0xf8, 0x3c, 0x1a, 0x30, 0xce, 0x5d, 0x5c, 0x60, 0xba, 0x73, 0xcb, 0xbc, 0xad, 0xb3, 0x52, 0x21, 0x31, 0xb5, 0x2c, 0x39, 0x4b, 0x35, 0x42, 0xa7, 0x4b, 0x1a, 0x88, 0xdc, 0xca, 0xb3, 0x28, 0x9b, 0x48, 0x9, 0xb5, 0x5a, 0x32, 0x32, 0x5d, 0xc2, 0x8c, 0x75, 0xc8, 0x8d, 0x26, 0xc, 0x2c, 0x6c, 0xf5, 0x61, 0x33, 0xba, 0xd4, 0x9b, 0xec, 0x33, 0xd8, 0xe0, 0xc7, 0x62, 0x76, 0x8c, 0x66, 0x87, 0xac, 0x17, 0xb, 0x5a, 0x2e, 0x11, 0x11, 0x8e, 0x55, 0xc8, 0xa6, 0xd4, 0x92, 0x7b, 0xda, 0x5c, 0x5c, 0x0, 0xfc, 0x69, 0x8a, 0xca, 0x3d, 0x81, 0xe8, 0xcf, 0x79, 0xfe, 0x69, 0xe5, 0xa, 0x9f, 0x1b, 0x8c, 0xa1, 0xa9, 0xb2, 0xa8, 0xa5, 0x48, 0x30, 0x2d, 0xd4, 0x9e, 0xa1, 0xc6, 0x5a, 0x5d, 0x6b, 0x42, 0x70, 0x35, 0xbb, 0xe6, 0x1f, 0x61, 0x73, 0xb1, 0x14, 0xfd, 0xde, 0x5e, 0xc8, 0xf1, 0xc1, 0xa6, 0x47, 0x5f, 0x6a, 0x92, 0xb3, 0xbd, 0x36, 0xcf, 0x2f, 0x8d, 0xe6, 0xb6, 0x25, 0x7d, 0x44, 0x1e, 0x47, 0x4d, 0x95, 0x92, 0x27, 0xcc, 0x41, 0x52, 0xbb, 0xb6, 0xc9, 0xf, 0x6c, 0x4e, 0x1f, 0xb8, 0x28, 0x95, 0x92, 0x51, 0x99, 0xdc, 0xc0, 0xeb, 0xb3, 0x9f, 0xd5, 0xfe, 0xb3, 0xe2, 0x0, 0x72, 0x5, 0x35, 0xe, 0x6e, 0x4b, 0x4e, 0xa7, 0xf0, 0x6a, 0xdb, 0xc, 0xc1, 0x9b, 0x7, 0x92, 0xe9, 0xb6, 0xb0, 0x34, 0x9c, 0xe7, 0x1a, 0xba, 0x15, 0xca, 0x8a, 0x1a, 0x2b, 0x8c, 0xc9, 0x57, 0x41, 0xfc, 0x9e, 0x8b, 0x32, 0xb2, 0xcf, 0xb7, 0xd7, 0x6f, 0x74, 0x23, 0x2b, 0x57, 0xd1, 0x3c, 0x60, 0x41, 0xb3, 0x9c, 0x1f, 0x8f, 0x2f, 0x18, 0x20, 0x8, 0xf2, 0xfc, 0xfe, 0x14, 0x12, 0xa8, 0xf7, 0x73, 0xe8, 0x35, 0x9a, 0x5b, 0xed, 0xd9, 0xe3, 0xb, 0x76, 0x2c, 0xf5, 0xb3, 0x61, 0xf2, 0x36, 0x88, 0x79, 0x9d, 0x3e, 0xd9, 0x43, 0x94, 0x5d, 0xfb, 0x20, 0x97, 0xea, 0xfc, 0xd2, 0x69, 0x16, 0xc6, 0x9c, 0xd6, 0xb9, 0x5f, 0x77, 0x4a, 0xa4, 0x2a, 0xeb, 0x7c, 0xb7, 0x68, 0x12, 0x52, 0xf1, 0x37, 0x1c, 0xd0, 0x36, 0x79, 0xc6, 0x50, 0xf2, 0x1f, 0x13, 0x51, 0x92, 0xbf, 0xd4, 0xb2, 0xd2, 0x57, 0x21, 0xe0, 0xa4, 0xa3, 0xf, 0x93, 0x4a, 0x42, 0xb3, 0x92, 0xd1, 0x74, 0x69, 0x36, 0x95, 0x57, 0x51, 0x89, 0xaf, 0x6f, 0xed, 0x8e, 0x77, 0xc4, 0x68, 0x90, 0x4a, 0xed, 0x1c, 0xe3, 0x6e, 0x48, 0xfd, 0x48, 0xf1, 0x56, 0xc2, 0x65, 0xaf, 0xdd, 0xb0, 0x56, 0x74, 0x45, 0x27, 0x5b, 0x3d, 0xbb, 0x95, 0x20, 0xb, 0x64, 0x55, 0x5c, 0x3d, 0x92, 0xa6, 0xe, 0x97, 0x54, 0x3, 0xb5, 0x33, 0xad, 0xd1, 0x17, 0xf4, 0xde, 0x14, 0xfc, 0x41, 0xd6, 0x32, 0xcf, 0x3f, 0xc5, 0x6f, 0x3f, 0x50, 0x9e, 0x1, 0xfe, 0x2b, 0xb8, 0x2e, 0x62, 0x58, 0xfd, 0xef, 0xfb, 0x7f, 0xfc, 0x1e, 0xe4, 0x67, 0x5d, 0x4, 0x3b, 0xf0, 0x6b, 0xf9, 0xfd, 0x9f, 0x47, 0x74, 0xed, 0xc0, 0xa6, 0xdf, 0x97, 0xf5, 0xd7, 0x6f, 0x63, 0xf4, 0xfd, 0x9e, 0x3c, 0xaa, 0x90, 0x51, 0x9, 0xc3, 0x97, 0x4f, 0x61, 0xb4, 0x36, 0x6d, 0xa1, 0xad, 0xbf, 0x52, 0x6c, 0x20, 0xad, 0x17, 0x12, 0xf8, 0xb4, 0x57, 0x1d, 0xa0, 0x63, 0x28, 0xd1, 0xb7, 0x32, 0xbb, 0xaa, 0x28, 0x45, 0xc2, 0x30, 0xd5, 0x6b, 0xb5, 0x17, 0x48, 0x22, 0x14, 0xbc, 0x5, 0x59, 0x57, 0x66, 0x8f, 0x24, 0x19, 0xff, 0xc4, 0x60, 0x1b, 0x3, 0x93, 0x66, 0x49, 0x13, 0xc, 0x3b, 0x7e, 0xa, 0x60, 0x95, 0x7f, 0x17, 0xa, 0x5f, 0xab, 0x9c, 0x5c, 0xb5, 0xc8, 0x3f, 0x33, 0x56, 0xe0, 0xd2, 0xd1, 0x92, 0x2e, 0x58, 0xa5, 0x16, 0x9b, 0xe7, 0x44, 0x2e, 0xf3, 0x4, 0xfa, 0x8, 0x66, 0x71, 0x4c, 0xac, 0x59, 0x4f, 0xb, 0xde, 0x9f, 0x2a, 0x63, 0xa9, 0xff, 0xf0, 0x7d, 0xff, 0x7, 0xf5, 0x8f, 0x4b, 0x93, 0x12, 0x78, 0xdd, 0x4c, 0xc0, 0x89, 0x5e, 0xb4, 0xdf, 0xe6, 0xe1, 0xfb, 0xfe, 0x95, 0x90, 0xd5, 0x98, 0x49, 0x56, 0xd9, 0xf7, 0xfb, 0xa1, 0x78, 0xdd, 0x20, 0x72, 0x77, 0xba, 0xeb, 0xb3, 0x97, 0x8b, 0xae, 0xdb, 0x45, 0xa7, 0xf4, 0x84, 0x41, 0x52, 0xf1, 0x7, 0x5e, 0x2d, 0xbf, 0xd8, 0x3d, 0x77, 0x48, 0x81, 0xbb, 0xb1, 0x88, 0x6e, 0x7f, 0x21, 0x3c, 0x20, 0x75, 0xce, 0x7f, 0xab, 0x4d, 0xdf, 0x33, 0xce, 0x4a, 0xed, 0x64, 0x33, 0x6, 0xae, 0x2d, 0xd8, 0x23, 0x93, 0x65, 0xc1, 0x13, 0xc8, 0x9b, 0xbf, 0xb9, 0x19, 0x9d, 0x3d, 0xfc, 0xb3, 0x57, 0xf3, 0xa1, 0x57, 0x79, 0xef, 0xba, 0xde, 0x51, 0xcb, 0x28, 0x4c, 0xe3, 0xfd, 0x0, 0x51, 0x41, 0x59, 0xdc, 0xee, 0x61, 0x47, 0x14, 0xa8, 0xe9, 0x3a, 0x66, 0x75, 0x66, 0x52, 0x64, 0x94, 0x4d, 0xfd, 0x3a, 0x72, 0xbb, 0x88, 0xc7, 0x5c, 0x3, 0xdb, 0x3, 0x80, 0x2e, 0x24, 0x13, 0x4d, 0x99, 0x59, 0xb, 0xba, 0x10, 0x1a, 0x1c, 0xfc, 0x81, 0x3, 0x11, 0x93, 0x6e, 0x9, 0xa8, 0x51, 0xed, 0x56, 0xe8, 0xf9, 0x70, 0xe0, 0xb0, 0xa3, 0xeb, 0x2c, 0x4e, 0x8e, 0xe5, 0xb, 0x84, 0xaf, 0x9e, 0x2e, 0x49, 0xe4, 0x18, 0xc7, 0x82, 0x8b, 0xf4, 0xd6, 0x26, 0xf4, 0xc6, 0xd4, 0xdb, 0x66, 0xda, 0x71, 0xf6, 0xc3, 0xd6, 0xc7, 0x7d, 0xe0, 0x35, 0xb4, 0x3e, 0x73, 0xc1, 0xcb, 0x36, 0x32, 0xbd, 0xf7, 0x2c, 0xfd, 0x2c, 0x5e, 0x63, 0x8e, 0x51, 0xa, 0x6b, 0x3, 0x49, 0xc9, 0xee, 0xb9, 0xac, 0xc0, 0x17, 0x66, 0xde, 0x51, 0x27, 0x9c, 0x6a, 0x6d, 0xc1, 0xa3, 0x8a, 0xf9, 0x52, 0x39, 0x18, 0x61, 0xfe, 0x85, 0xc1, 0x73, 0xf, 0xb6, 0x12, 0xf1, 0x4d, 0x67, 0xf3, 0xc8, 0x44, 0x9c, 0x66, 0x42, 0xb2, 0xaf, 0x14, 0x24, 0x6f, 0xd0, 0x3c, 0xa4, 0x5c, 0xe9, 0x2f, 0x18, 0x48, 0xca, 0x84, 0x76, 0x6e, 0xaa, 0xe3, 0xc7, 0x4a, 0xa2, 0x99, 0xa2, 0x74, 0x72, 0x11, 0x78, 0x43, 0xd, 0x93, 0x8b, 0x99, 0xa1, 0xe7, 0x24, 0x20, 0xe7, 0x7c, 0xc1, 0x2b, 0xd7, 0x52, 0xb8, 0x45, 0x4d, 0xbe, 0x83, 0xf1, 0xfd, 0xa9, 0xb9, 0x2e, 0xa, 0xf0, 0x6b, 0xd, 0x39, 0x6, 0x4d, 0x21, 0x69, 0xbe, 0x24, 0x77, 0x9a, 0x9d, 0x4f, 0xdc, 0x42, 0x90, 0xe6, 0x56, 0xe7, 0x4e, 0xdc, 0xd9, 0xe3, 0x63, 0x2b, 0xd5, 0xe3, 0x10, 0xd1, 0xd1, 0xf1, 0x31, 0xa1, 0x5, 0x3f, 0xce, 0xc0, 0xb5, 0x75, 0xa2, 0x76, 0x11, 0x3b, 0x39, 0x79, 0xf7, 0xfd, 0x3f, 0xbf, 0x3b, 0x39, 0x29, 0x4a, 0x56, 0x8, 0x89, 0x3c, 0x11, 0xff, 0x6e, 0x8c, 0xe5, 0xf0, 0x75, 0xd8, 0x29, 0xbc, 0xe8, 0xa7, 0xec, 0xe1, 0x6d, 0x2e, 0xaa, 0x63, 0xe3, 0x49, 0xa9, 0x4e, 0xc8, 0xab, 0x4a, 0xbc, 0x82, 0x32, 0x42, 0xad, 0x4c, 0x72, 0xbd, 0x6e, 0x8e, 0x1f, 0x90, 0x1c, 0x1f, 0xbf, 0x69, 0xf9, 0xd6, 0xd7, 0x86, 0x11, 0xf1, 0xeb, 0x7f, 0x6b, 0xfd, 0x79, 0x34, 0xeb, 0xa1, 0xfb, 0x84, 0xe0, 0xdf, 0x55, 0xda, 0x9e, 0xac, 0xe8, 0x12, 0x81, 0xeb, 0xbd, 0xe4, 0x22, 0xed, 0x19, 0x36, 0x7, 0x8d, 0x14, 0x3c, 0xf9, 0x24, 0x95, 0x41, 0x5e, 0x17, 0x28, 0x1f, 0xc3, 0x35, 0xb4, 0x89, 0x2e, 0xca, 0x5a, 0x7f, 0xa4, 0x4b, 0x49, 0x72, 0x80, 0x28, 0xd0, 0x78, 0xf5, 0x3d, 0xc8, 0xec, 0xc9, 0x32, 0x38, 0xd1, 0x55, 0xb9, 0xd4, 0xc5, 0xd1, 0x34, 0x99, 0x73, 0xf6, 0x0, 0xb5, 0x0, 0xea, 0x9a, 0xae, 0xa1, 0x8e, 0xa, 0x68, 0xee, 0x81, 0xdc, 0xd5, 0x8, 0xc5, 0xb0, 0x2b, 0x18, 0x9f, 0x25, 0xfb, 0x83, 0x37, 0xef, 0xcc, 0xc2, 0xb7, 0xec, 0x1e, 0x5d, 0x74, 0xfd, 0x3b, 0xd8, 0x3c, 0xb0, 0x65, 0x9e, 0x93, 0x94, 0xf8, 0x40, 0x3f, 0xf3, 0x45, 0xbd, 0x68, 0x6e, 0x1d, 0xf8, 0xca, 0xc8, 0x66, 0x5c, 0x9, 0x9d, 0xee, 0x64, 0x3c, 0x81, 0xba, 0x5e, 0x9d, 0x27, 0x9f, 0x98, 0x52, 0x96, 0x90, 0xd4, 0x51, 0x4b, 0xeb, 0x4e, 0x1b, 0xc7, 0x6e, 0x9a, 0x16, 0x9, 0xb1, 0xfa, 0x33, 0x6b, 0x21, 0x11, 0x36, 0xfe, 0xfc, 0x3f, 0xfa, 0x9c, 0xd1, 0xb2, 0x9a, 0x32, 0xfa, 0xb5, 0x64, 0x85, 0xf9, 0xc4, 0x5, 0x2b, 0x17, 0xbc, 0x2, 0x5, 0x50, 0x7d, 0x6c, 0x53, 0x75, 0x23, 0xeb, 0x44, 0x19, 0x8d, 0x4a, 0xdd, 0x71, 0x0, 0x1, 0x38, 0x60, 0xf9, 0x75, 0xe2, 0xb5, 0xe0, 0x55, 0x6c, 0x8b, 0xd9, 0x3a, 0x3d, 0xee, 0x23, 0x84, 0x7f, 0xa0, 0x86, 0x9a, 0x7d, 0x4e, 0x18, 0x4b, 0xd7, 0x6d, 0x9c, 0xfe, 0x57, 0xf2, 0xb2, 0x34, 0xd2, 0x1c, 0xdd, 0xf8, 0x3b, 0x65, 0x45, 0xda, 0xb3, 0xd8, 0xcc, 0x8a, 0xe4, 0xdb, 0xa4, 0x84, 0xd, 0x4e, 0x27, 0xa3, 0x5f, 0x46, 0x93, 0x5f, 0xb7, 0x48, 0x9, 0x5b, 0xf9, 0xca, 0xfa, 0x94, 0xb0, 0xae, 0xaf, 0xad, 0x49, 0x9, 0x5b, 0xd9, 0xc4, 0x9a, 0x94, 0xb0, 0x27, 0x4b, 0xeb, 0x72, 0xd2, 0x70, 0x6d, 0x5a, 0x97, 0xfd, 0xae, 0xd, 0x67, 0x4b, 0x4b, 0xca, 0x4d, 0xd7, 0x35, 0xda, 0x98, 0xb6, 0xc2, 0xb7, 0xcc, 0xaf, 0xf2, 0x3b, 0xee, 0x9e, 0x5f, 0xb5, 0xee, 0xad, 0x96, 0xfc, 0xaa, 0xb5, 0x9d, 0xb4, 0xe7, 0x57, 0x1d, 0x30, 0x45, 0x2a, 0xf, 0xbe, 0xd8, 0xea, 0x1c, 0xa9, 0x9d, 0x3f, 0x58, 0xdb, 0xa, 0x6c, 0xce, 0x2f, 0x5a, 0x93, 0x94, 0xb1, 0xb5, 0x0, 0x5a, 0x9d, 0xa9, 0xd1, 0x10, 0x44, 0xea, 0x41, 0xa5, 0x8c, 0xeb, 0x27, 0x35, 0xa9, 0x4b, 0xca, 0x3e, 0x7, 0x1, 0x96, 0xa7, 0x77, 0x6a, 0xe2, 0x9f, 0xa1, 0x7b, 0xcd, 0x29, 0x67, 0xdd, 0x35, 0x40, 0x7e, 0x98, 0xa7, 0xd6, 0xe3, 0x58, 0xd4, 0xa5, 0x32, 0x77, 0xe5, 0xd7, 0x8a, 0xe0, 0xdb, 0x90, 0xfd, 0xd3, 0x44, 0xd4, 0x5b, 0x36, 0xde, 0x57, 0xa, 0x88, 0xfa, 0x28, 0xa2, 0xc6, 0xcc, 0x3b, 0xa5, 0x59, 0xa6, 0x34, 0xf3, 0xc3, 0xbb, 0x78, 0x4d, 0xcb, 0x5d, 0x7d, 0x86, 0x76, 0x24, 0xda, 0x71, 0x98, 0x50, 0x1f, 0x1a, 0x49, 0xbb, 0xeb, 0x34, 0x12, 0x8a, 0x6f, 0x94, 0x23, 0x54, 0x8b, 0x54, 0x66, 0x8e, 0x52, 0x76, 0x72, 0x9a, 0x21, 0x8e, 0x42, 0x74, 0xce, 0x4d, 0xf3, 0x84, 0xa6, 0x69, 0xc9, 0xa4, 0x64, 0xd2, 0x1a, 0xa0, 0x8f, 0x73, 0x5e, 0xb1, 0x8c, 0x4b, 0x5d, 0xc2, 0xed, 0xba, 0x7b, 0x2d, 0x49, 0xba, 0xcc, 0xe9, 0x82, 0x27, 0x51, 0xec, 0xf6, 0x6b, 0x7a, 0xc7, 0x5b, 0x5c, 0xad, 0xeb, 0x9c, 0xe5, 0x4e, 0xff, 0x70, 0xb, 0xbc, 0xa0, 0x4b, 0x93, 0x8e, 0xf3, 0x10, 0xbc, 0x5, 0xd3, 0xf9, 0xff, 0xc2, 0x85, 0x43, 0x8a, 0x27, 0x13, 0xab, 0xd5, 0x21, 0x84, 0xd4, 0xc8, 0xd7, 0xc4, 0x2c, 0xab, 0xf6, 0xa5, 0xe9, 0x7c, 0x29, 0x93, 0xa3, 0xc9, 0x52, 0x80, 0x22, 0x71, 0xb, 0x26, 0x72, 0x73, 0x81, 0xe9, 0x34, 0x81, 0xbd, 0xce, 0xc0, 0x65, 0xdc, 0xda, 0xca, 0x55, 0xd3, 0x7f, 0xf, 0xf3, 0x4a, 0xcd, 0x65, 0xa1, 0x11, 0x76, 0x50, 0x7, 0xe8, 0x7a, 0x9b, 0x45, 0xe1, 0xea, 0xaf, 0x92, 0xe8, 0xd6, 0x3d, 0xb3, 0x2d, 0x70, 0xf, 0x68, 0x4f, 0x28, 0x26, 0x71, 0x69, 0xb2, 0x3b, 0x60, 0x44, 0x47, 0xdb, 0x6, 0xf5, 0x70, 0xed, 0xd1, 0x91, 0xeb, 0xdd, 0xe2, 0x5f, 0x3e, 0xef, 0x60, 0x74, 0x16, 0xb, 0xd6, 0x15, 0x79, 0x7, 0x48, 0xc2, 0xfb, 0xc0, 0x69, 0xe7, 0x4f, 0xfa, 0xe6, 0xe0, 0x29, 0x8, 0x76, 0x88, 0xad, 0x29, 0x8, 0x4f, 0x1b, 0x93, 0x31, 0x41, 0x18, 0x8d, 0x2c, 0x83, 0x29, 0x51, 0xc1, 0x5d, 0x4, 0x1f, 0x35, 0x8c, 0x64, 0x3d, 0x75, 0xa0, 0x23, 0x1a, 0xa3, 0xab, 0x0, 0xd6, 0x7e, 0x62, 0x60, 0x8c, 0x96, 0x3a, 0xa0, 0x53, 0x25, 0x73, 0x7, 0xbb, 0x61, 0x9b, 0x78, 0xe0, 0x92, 0x4f, 0x79, 0xc6, 0xab, 0xe5, 0x9f, 0x6a, 0x56, 0xee, 0xb, 0x7c, 0xfb, 0x8b, 0x6d, 0x8d, 0xfc, 0xa6, 0x9a, 0x43, 0x36, 0x6d, 0x86, 0x43, 0x50, 0xff, 0xbb, 0x2f, 0x45, 0x5d, 0xa8, 0x2d, 0xe7, 0xd2, 0x5c, 0x4, 0x9c, 0x96, 0xe5, 0xda, 0x51, 0xc2, 0xf, 0x1c, 0x33, 0x2c, 0x42, 0x56, 0x8a, 0xc1, 0x9d, 0xad, 0x20, 0x93, 0x77, 0x8, 0xfc, 0x56, 0x57, 0x35, 0x84, 0x46, 0x34, 0x70, 0xdd, 0x83, 0x73, 0x74, 0xfc, 0x45, 0x4c, 0xb7, 0x3f, 0x23, 0xff, 0x29, 0xa6, 0xea, 0x7c, 0xf8, 0x53, 0xd0, 0xc1, 0x89, 0xd1, 0x99, 0xb5, 0xa8, 0x71, 0xc4, 0x7f, 0x11, 0x53, 0xcf, 0xd0, 0xa7, 0x72, 0x7b, 0x8, 0xa0, 0x31, 0xbc, 0x5, 0x1e, 0x3e, 0x56, 0x2a, 0x25, 0x78, 0xed, 0x7a, 0xb8, 0xa9, 0x1f, 0xfc, 0xba, 0x5c, 0x93, 0xeb, 0xb1, 0xfe, 0xdb, 0xdb, 0x17, 0xe4, 0x1e, 0xdf, 0xd4, 0x6d, 0xc7, 0x5b, 0xd8, 0x40, 0x1b, 0xbf, 0xec, 0x82, 0x7e, 0xb6, 0xc7, 0x4d, 0x5e, 0xb1, 0xf2, 0x1a, 0x28, 0xf3, 0x9b, 0xab, 0xb2, 0x15, 0xa4, 0xd, 0x78, 0x83, 0xed, 0x27, 0xc6, 0x57, 0xd5, 0xa6, 0xb5, 0x93, 0x90, 0x26, 0x53, 0x80, 0xa5, 0xea, 0x7b, 0x11, 0x24, 0xea, 0x87, 0x6b, 0x9c, 0x6b, 0x95, 0xa, 0x83, 0xdb, 0xe1, 0x6c, 0x47, 0x95, 0x34, 0xa, 0xba, 0x76, 0xe7, 0x96, 0x2c, 0xad, 0x13, 0xa6, 0xa5, 0x8a, 0xd2, 0xa4, 0x2c, 0x37, 0x32, 0x52, 0x3e, 0x3, 0x86, 0xa, 0xe8, 0x6d, 0xd1, 0x32, 0xca, 0x9e, 0xae, 0x50, 0x9e, 0xb3, 0xac, 0xd0, 0x15, 0xdf, 0x8, 0x3e, 0x80, 0x6f, 0x86, 0x1d, 0x3, 0xb5, 0xaf, 0xa0, 0xb8, 0xc8, 0xb, 0x9e, 0xf3, 0x5, 0xff, 0x2b, 0x23, 0x80, 0xa8, 0x53, 0x71, 0xe0, 0x99, 0xcc, 0xe8, 0x12, 0x62, 0x6c, 0xe, 0xa7, 0x47, 0xe4, 0xf7, 0xc2, 0x1, 0xab, 0x69, 0x75, 0xbe, 0x34, 0x90, 0xb9, 0x2b, 0x53, 0xb5, 0xe1, 0xf2, 0xcf, 0x85, 0xe3, 0x2a, 0x6, 0xf6, 0x65, 0x82, 0x90, 0x69, 0xf, 0x3c, 0x65, 0x69, 0x2f, 0xd0, 0x41, 0x79, 0x96, 0xe9, 0x59, 0xa9, 0x3b, 0x28, 0x11, 0x65, 0xaa, 0x43, 0x2a, 0xbc, 0x92, 0xfa, 0x5d, 0x93, 0x15, 0x84, 0xda, 0x6b, 0xd8, 0x71, 0xab, 0x4a, 0x49, 0x3e, 0xb1, 0x25, 0xd6, 0xc3, 0xb0, 0x12, 0xb3, 0xc, 0x58, 0x39, 0xbe, 0xba, 0xbe, 0xd3, 0x57, 0x35, 0x68, 0x6b, 0x78, 0x45, 0x4b, 0x53, 0x3d, 0xae, 0x51, 0xcb, 0xf4, 0xc7, 0xc3, 0x1d, 0x89, 0x8e, 0xb1, 0x16, 0x84, 0x43, 0xab, 0xd0, 0x9a, 0x5e, 0x41, 0xdb, 0x5b, 0xf0, 0x6a, 0x3d, 0xe6, 0xe, 0xec, 0x46, 0x54, 0xab, 0x31, 0xb5, 0x53, 0x7f, 0xcb, 0xae, 0x69, 0x58, 0xe1, 0xe5, 0x32, 0x71, 0x2d, 0xc5, 0xe9, 0x58, 0x7b, 0xb6, 0x8c, 0x9, 0x4, 0xae, 0x51, 0xac, 0x9c, 0xcf, 0xe, 0x31, 0xe8, 0x53, 0xaf, 0x29, 0xd7, 0x81, 0xa1, 0x6f, 0xde, 0xb3, 0xf1, 0x33, 0xdd, 0xcc, 0x6b, 0x4f, 0x16, 0xfb, 0x89, 0x21, 0xbb, 0xb5, 0xa, 0xc9, 0x25, 0xae, 0xc9, 0x3a, 0xc8, 0xd3, 0xd5, 0x9a, 0xf0, 0x9e, 0x5d, 0xac, 0xcf, 0xfd, 0xf5, 0xfa, 0xce, 0x81, 0x97, 0x7d, 0x60, 0xa3, 0xe2, 0xfb, 0xf6, 0x1b, 0xb7, 0x17, 0xad, 0xdc, 0xc1, 0x3a, 0x1a, 0x87, 0xad, 0xc5, 0xab, 0x69, 0x54, 0xe1, 0x43, 0xae, 0x66, 0xd4, 0xe6, 0xeb, 0xd5, 0x3a, 0xda, 0x36, 0x5a, 0x37, 0xf9, 0xdb, 0xdf, 0x5d, 0x43, 0xa7, 0x3e, 0xe4, 0xc5, 0x41, 0xa1, 0xb3, 0x9e, 0xc, 0x13, 0x6, 0xb1, 0x2e, 0x7e, 0x47, 0x48, 0x30, 0x5f, 0x14, 0xa3, 0xa2, 0x1b, 0x62, 0xd9, 0x64, 0x30, 0x9e, 0xdc, 0x9e, 0xfe, 0x34, 0x3a, 0x3f, 0xdb, 0x7, 0xad, 0x6c, 0x8b, 0x56, 0xec, 0xdf, 0x7, 0xe7, 0xe3, 0xe1, 0xe0, 0xec, 0x57, 0x34, 0xb1, 0xae, 0xf7, 0x68, 0x71, 0x3d, 0x2e, 0xd9, 0x36, 0xe8, 0x61, 0x7, 0x4c, 0xe, 0xdd, 0x1a, 0x83, 0x2a, 0xb6, 0x16, 0x6d, 0xe, 0xfd, 0xdd, 0x86, 0xb5, 0x18, 0x5d, 0x8c, 0x26, 0xa3, 0x41, 0x3b, 0x60, 0x13, 0xfe, 0x22, 0xcc, 0xb1, 0x69, 0x6e, 0xb5, 0xe7, 0x6, 0x24, 0xb5, 0x46, 0x1e, 0x1d, 0x8, 0x43, 0xeb, 0x45, 0x24, 0x3d, 0x1f, 0xd8, 0x9c, 0x2d, 0xb3, 0xb3, 0x1a, 0x41, 0xdb, 0xed, 0xe2, 0xb3, 0xdf, 0x16, 0x80, 0x4c, 0x13, 0x18, 0xe7, 0xf9, 0x22, 0xc8, 0x34, 0xc7, 0xfa, 0x9c, 0x21, 0x64, 0xbc, 0x90, 0xc, 0x2d, 0x59, 0x5e, 0x41, 0x92, 0x4e, 0xb7, 0xc8, 0xea, 0xd5, 0x60, 0x3c, 0xbc, 0x98, 0xdc, 0x9e, 0x9e, 0x5f, 0x76, 0x89, 0xad, 0xb7, 0x3d, 0x6d, 0x31, 0x24, 0x3a, 0x3c, 0x3b, 0xf8, 0x61, 0x70, 0x71, 0x76, 0x79, 0xd1, 0xe1, 0xc9, 0xf1, 0xf0, 0x4f, 0x37, 0xc3, 0xeb, 0xc9, 0xed, 0xe9, 0xe0, 0xe2, 0x74, 0x78, 0xbe, 0xe5, 0x82, 0xbd, 0xd6, 0xd9, 0x57, 0x27, 0xeb, 0x7, 0xdc, 0x4a, 0xe4, 0xf2, 0x54, 0x77, 0xec, 0xb3, 0xbd, 0xc0, 0xc8, 0xb, 0x5c, 0xcf, 0x57, 0x82, 0xeb, 0x71, 0xdb, 0xb4, 0x33, 0x5e, 0xce, 0xc6, 0x1d, 0xbb, 0x22, 0xd9, 0x69, 0xeb, 0xbc, 0xa6, 0x7d, 0x20, 0x25, 0x46, 0x33, 0x43, 0x1, 0xa1, 0xf4, 0x8b, 0xb2, 0xce, 0x25, 0x26, 0x45, 0xab, 0x36, 0x6d, 0x12, 0x6a, 0xcf, 0x42, 0xc0, 0xd1, 0xa2, 0x60, 0xb4, 0x84, 0x0, 0x9b, 0x6d, 0x71, 0x3f, 0xe8, 0x86, 0xe7, 0x4, 0x42, 0xc1, 0xf3, 0xf9, 0xff, 0xcf, 0xde, 0xbb, 0x37, 0xb7, 0x8d, 0x64, 0xf9, 0x82, 0xff, 0xdf, 0x4f, 0x91, 0xeb, 0xd8, 0xd, 0xdb, 0x33, 0x14, 0x6d, 0x57, 0xcd, 0xdd, 0x88, 0x71, 0x4f, 0xf5, 0x4, 0x2d, 0xb1, 0xca, 0xbc, 0x65, 0x4b, 0x1a, 0x92, 0x2a, 0x77, 0x47, 0x57, 0x2f, 0x95, 0x2, 0x92, 0x54, 0x8e, 0x40, 0x24, 0x1b, 0x9, 0x48, 0x66, 0xcf, 0xcc, 0x77, 0xdf, 0xc8, 0x73, 0xf2, 0xd, 0x80, 0x4, 0x1f, 0xb6, 0x55, 0xd5, 0xd2, 0x1f, 0xdd, 0x65, 0x9, 0xf9, 0x3e, 0x79, 0xf2, 0x3c, 0x7f, 0x87, 0x15, 0xbc, 0x7c, 0xd7, 0x56, 0xf9, 0x6b, 0x37, 0x68, 0x46, 0xb3, 0xb5, 0x5c, 0xea, 0x84, 0xdb, 0x9a, 0x18, 0x67, 0x6, 0x44, 0xb3, 0x39, 0xc, 0xeb, 0xf9, 0x9a, 0xf0, 0x7d, 0xe8, 0x93, 0x8b, 0xf2, 0x96, 0x15, 0xf, 0x5c, 0x32, 0xec, 0x82, 0x4a, 0xc9, 0x17, 0xf9, 0xb2, 0x56, 0x1, 0x3, 0x82, 0xfa, 0x3, 0x71, 0xf1, 0xb9, 0xf4, 0x4a, 0xb6, 0xd8, 0xb0, 0x69, 0x2f, 0x9c, 0x90, 0xad, 0x58, 0x9e, 0xb2, 0xbc, 0xcc, 0xd6, 0xba, 0x57, 0x42, 0xdd, 0x2c, 0xc0, 0xb8, 0xd8, 0xa, 0x3c, 0xae, 0x8b, 0x92, 0x24, 0x22, 0x97, 0x3c, 0x85, 0xa0, 0xfa, 0xb9, 0x28, 0xbc, 0x84, 0x76, 0x72, 0xff, 0xba, 0xff, 0xdd, 0x37, 0xf, 0x3f, 0x70, 0x2, 0xe2, 0xb7, 0xcb, 0xc7, 0xd6, 0x35, 0x3c, 0x20, 0x6b, 0x8, 0x63, 0x22, 0x5b, 0xd2, 0xb3, 0xad, 0x29, 0xbd, 0x4d, 0xd6, 0x47, 0xd5, 0x2f, 0x83, 0x81, 0x59, 0x7a, 0x56, 0xd5, 0xcd, 0x3f, 0x5f, 0x43, 0xc2, 0xb9, 0xc, 0x52, 0xa0, 0x52, 0x33, 0x79, 0x89, 0xb3, 0x32, 0xde, 0xbf, 0xa6, 0x35, 0x80, 0xfa, 0x75, 0xce, 0x3e, 0x57, 0xce, 0x76, 0xf5, 0xfb, 0xcc, 0x76, 0xf2, 0xe3, 0x59, 0xf7, 0x4c, 0x77, 0x8a, 0x2b, 0x9, 0x6f, 0xca, 0x7e, 0xc2, 0x5c, 0x8b, 0x13, 0x75, 0x11, 0xbb, 0x67, 0x42, 0x11, 0x7b, 0x22, 0xf6, 0x30, 0x2c, 0x34, 0x20, 0x66, 0xb8, 0xea, 0x93, 0xd4, 0x68, 0xb8, 0xba, 0x22, 0xb1, 0x64, 0x4a, 0xae, 0x5, 0xe5, 0xf1, 0xc4, 0xd5, 0x77, 0x33, 0x80, 0x2b, 0xa3, 0x33, 0x2f, 0xec, 0xc2, 0x74, 0xfb, 0x45, 0x72, 0xad, 0x5c, 0x69, 0x4, 0xb, 0x6a, 0x42, 0x83, 0x8d, 0x18, 0x9d, 0xf5, 0x48, 0xa, 0x65, 0xbe, 0x12, 0x5d, 0x78, 0x80, 0xe6, 0x6b, 0x8c, 0xaf, 0xf2, 0xd3, 0x8e, 0xc3, 0xa9, 0x7a, 0xdb, 0x2b, 0xbd, 0xf2, 0x75, 0x3a, 0x20, 0x48, 0xef, 0x44, 0x9f, 0x7c, 0x6c, 0xca, 0xc2, 0xf2, 0xdc, 0x5e, 0x18, 0xd1, 0x13, 0x8e, 0xd1, 0x25, 0x25, 0xeb, 0x90, 0x2c, 0x2c, 0x96, 0xa7, 0x2b, 0xc1, 0xf3, 0x72, 0xd7, 0xbd, 0x1e, 0xea, 0x76, 0x30, 0xb7, 0x9e, 0x89, 0x71, 0xc4, 0xd2, 0x60, 0xe4, 0x6a, 0xfc, 0x1, 0xe0, 0x71, 0x90, 0xea, 0x2b, 0x59, 0x82, 0x3f, 0xc7, 0xc, 0xa5, 0x53, 0xaa, 0x8a, 0xb5, 0x5f, 0x98, 0xba, 0xb8, 0xe7, 0xbb, 0x5b, 0x3f, 0x26, 0xd8, 0xc, 0xe6, 0xd0, 0x40, 0x41, 0xbb, 0x76, 0xe7, 0x28, 0x3a, 0xec, 0xf0, 0x51, 0x26, 0x50, 0x19, 0xc9, 0xed, 0xa4, 0x14, 0x27, 0x10, 0xe9, 0x6b, 0x35, 0xf5, 0x6, 0x62, 0xf, 0x69, 0x6a, 0xaf, 0xdc, 0x2b, 0x47, 0xec, 0xad, 0xf0, 0x2c, 0xa7, 0x34, 0xcb, 0xa4, 0x6, 0x87, 0x2e, 0x1, 0x28, 0xc8, 0xdc, 0x9b, 0x6c, 0x1d, 0x46, 0xc7, 0x45, 0xd, 0x1f, 0x4d, 0x32, 0xc4, 0xa3, 0x4c, 0x9f, 0xf2, 0x4f, 0x5a, 0xc3, 0x2d, 0x7f, 0xd1, 0x93, 0x6, 0x70, 0x1d, 0x7b, 0xda, 0x18, 0xaf, 0x67, 0xa2, 0x72, 0x5e, 0x40, 0x94, 0xac, 0x56, 0x6d, 0x9, 0x9f, 0x43, 0x2e, 0xfa, 0x6d, 0x21, 0x72, 0x51, 0xc9, 0xa8, 0xf8, 0x5e, 0xc4, 0xfd, 0xa2, 0x89, 0x59, 0x44, 0x19, 0x22, 0xa, 0xf2, 0x77, 0x56, 0x88, 0x1e, 0xc9, 0x5d, 0x36, 0x63, 0x7d, 0xa9, 0x5c, 0xf1, 0x8f, 0xb9, 0x28, 0x12, 0x5f, 0xe1, 0x7e, 0x64, 0xc4, 0xf3, 0xe8, 0xd2, 0xa7, 0x80, 0x88, 0xbf, 0x16, 0x83, 0xa0, 0x39, 0xa1, 0x1e, 0x35, 0x84, 0x24, 0x64, 0x68, 0x46, 0xa7, 0x68, 0xf1, 0xd2, 0x56, 0x84, 0x8d, 0x9e, 0x3b, 0x3, 0x39, 0x36, 0x69, 0xea, 0x49, 0x6a, 0xe0, 0x36, 0xd, 0x51, 0x8f, 0xcb, 0xe9, 0x48, 0x59, 0xcd, 0x5b, 0xf1, 0x1b, 0x20, 0xab, 0xa3, 0x65, 0x5, 0x75, 0x49, 0xa, 0x82, 0xc1, 0x8c, 0x70, 0xe1, 0x9, 0x4b, 0x97, 0x36, 0xf, 0xc8, 0x2f, 0x6f, 0xb9, 0xc2, 0x8e, 0xf7, 0x4c, 0xfc, 0x39, 0x1f, 0xfe, 0xe9, 0x6a, 0x32, 0xbb, 0xb8, 0x1c, 0x8e, 0x7, 0xe8, 0x38, 0xea, 0x6c, 0x63, 0xda, 0xd6, 0x72, 0xb3, 0xa9, 0x69, 0xc7, 0xd6, 0x1b, 0x2c, 0x4e, 0xdb, 0x7a, 0xfa, 0x16, 0x49, 0x41, 0xbe, 0x50, 0xba, 0x29, 0x2b, 0xa8, 0xed, 0xee, 0x37, 0x67, 0x99, 0xec, 0xb8, 0x67, 0x47, 0xcf, 0xe, 0x6a, 0x18, 0xbf, 0x7b, 0x92, 0x50, 0x87, 0xc6, 0xd, 0xb9, 0x42, 0x5d, 0x86, 0xfc, 0xa, 0x29, 0x43, 0xc1, 0x79, 0xb6, 0xe7, 0xc, 0x1d, 0x7c, 0x9c, 0xbf, 0xc3, 0xdc, 0xa1, 0x9c, 0x7d, 0xae, 0xe4, 0xfb, 0x9a, 0x99, 0xb1, 0xc1, 0x48, 0x40, 0xb0, 0x20, 0x32, 0x70, 0x74, 0x9a, 0x5d, 0x36, 0x98, 0xc, 0xf6, 0x3c, 0x57, 0x9d, 0x5c, 0xa4, 0xae, 0x6a, 0x59, 0xd2, 0xe4, 0xd6, 0xb0, 0x56, 0x30, 0x67, 0xd4, 0xf5, 0x7e, 0xf8, 0xb9, 0x92, 0xa6, 0x32, 0x8b, 0x86, 0x90, 0x81, 0xea, 0xa9, 0x6a, 0x89, 0x2c, 0x4f, 0x8a, 0xf5, 0xa, 0x2, 0x8, 0x25, 0xcb, 0xd5, 0x3, 0x74, 0xcf, 0x8, 0x24, 0x4, 0x99, 0xd8, 0x3a, 0x34, 0xaa, 0x2a, 0x3e, 0x6d, 0x20, 0x3c, 0x45, 0x81, 0xb9, 0x22, 0xd6, 0x78, 0x78, 0xcb, 0xd5, 0x2f, 0x41, 0x33, 0xc, 0xc7, 0x2d, 0xb, 0x9a, 0x4b, 0x93, 0x83, 0x2b, 0x5c, 0xe5, 0x1d, 0xad, 0x9c, 0x49, 0x42, 0xe5, 0x9, 0x8f, 0x63, 0x13, 0x8d, 0x16, 0x5d, 0x49, 0x36, 0xaf, 0x32, 0x98, 0xa5, 0xcd, 0x9e, 0x52, 0x1c, 0x49, 0x67, 0x4e, 0xf1, 0x1c, 0xe9, 0xa7, 0x4e, 0xa0, 0x3a, 0xb8, 0x91, 0x49, 0xa6, 0x27, 0x2f, 0x6d, 0xb5, 0x6b, 0xb, 0x49, 0x42, 0xa5, 0x43, 0xc3, 0x31, 0x1f, 0x41, 0x65, 0x41, 0x3d, 0x43, 0xf, 0xc9, 0x4, 0x9c, 0x92, 0x81, 0x11, 0x9, 0xab, 0x2a, 0x63, 0x3e, 0xeb, 0xc6, 0x5, 0xe3, 0x99, 0x78, 0xc2, 0x6, 0xd6, 0x61, 0xa6, 0x6b, 0x25, 0x0, 0xdb, 0xdd, 0x80, 0xa, 0xa6, 0x66, 0x82, 0x5, 0x35, 0x34, 0x63, 0xde, 0xc2, 0xdf, 0x6d, 0x6e, 0x58, 0xc4, 0x60, 0x36, 0x1b, 0xe5, 0xbe, 0x65, 0xae, 0x85, 0x27, 0x77, 0x6e, 0x49, 0xb6, 0xd8, 0x91, 0xc3, 0x1f, 0x3f, 0xe7, 0xc2, 0x4d, 0xb5, 0x96, 0x74, 0xf1, 0x8f, 0x5e, 0xbc, 0xe8, 0xd0, 0x28, 0x8c, 0xa7, 0x82, 0x42, 0x4f, 0xf1, 0x20, 0xff, 0x18, 0xf1, 0x20, 0xff, 0x90, 0x80, 0x6c, 0x4f, 0xd1, 0xc, 0x4f, 0xc5, 0x87, 0x8e, 0x51, 0x7c, 0x28, 0xf2, 0x8b, 0x3c, 0xd5, 0x1f, 0x7a, 0xaa, 0x3f, 0xd4, 0xb1, 0xfe, 0x10, 0xea, 0xc7, 0x5b, 0xc8, 0xeb, 0xeb, 0x56, 0xa, 0x7a, 0x14, 0x28, 0x48, 0x4e, 0x14, 0x6a, 0x40, 0x41, 0xb2, 0x7b, 0x63, 0xe5, 0x89, 0x6, 0x18, 0xa4, 0xa7, 0x52, 0x37, 0x5f, 0xa0, 0xd4, 0x8d, 0x7e, 0x53, 0x87, 0x74, 0xc1, 0x8a, 0x46, 0x88, 0xf2, 0x7d, 0x42, 0x95, 0xb4, 0x3a, 0xa2, 0xee, 0xe1, 0x42, 0x57, 0x65, 0x68, 0x28, 0x13, 0x43, 0x78, 0x9e, 0xf1, 0xdc, 0x56, 0xf4, 0xb5, 0xb8, 0xb8, 0x37, 0x6b, 0x53, 0xf9, 0x7f, 0x69, 0x50, 0x0, 0xb4, 0xa9, 0x1, 0x44, 0x49, 0x3, 0xfb, 0x27, 0xc0, 0xd5, 0x50, 0xb7, 0xf2, 0x43, 0x1d, 0x8, 0x41, 0xae, 0x95, 0x42, 0x75, 0x1d, 0xf9, 0x27, 0xfc, 0x92, 0xb6, 0x88, 0x1c, 0x61, 0xba, 0xa3, 0x16, 0x64, 0x17, 0xc4, 0x55, 0xba, 0x82, 0xff, 0x16, 0x73, 0x1f, 0x9d, 0xba, 0xd4, 0x55, 0x4e, 0x1b, 0x78, 0x44, 0xc1, 0xca, 0xaa, 0xc8, 0x55, 0xc7, 0x7e, 0x6d, 0x9a, 0x25, 0x2d, 0xee, 0x50, 0xd4, 0x97, 0x5e, 0x41, 0x8f, 0x68, 0x1e, 0x37, 0xcc, 0xf3, 0x9c, 0x19, 0x6f, 0xa8, 0x81, 0x87, 0xb, 0x47, 0x72, 0xf7, 0x44, 0xd, 0xd3, 0x74, 0x45, 0xb4, 0x98, 0x9d, 0xfe, 0x48, 0x79, 0x56, 0x15, 0x87, 0x41, 0x8e, 0xea, 0x3e, 0xba, 0xa6, 0x22, 0xa3, 0x86, 0x3, 0x29, 0x9d, 0x1e, 0xa8, 0xa6, 0xdb, 0x56, 0x49, 0x4e, 0xa3, 0xd9, 0xc1, 0x6e, 0x7c, 0xa0, 0xb2, 0x3c, 0xb5, 0x9e, 0xe3, 0x31, 0x93, 0x8a, 0xd5, 0x36, 0x45, 0x3c, 0xb4, 0x16, 0x49, 0xc1, 0xa0, 0x57, 0xac, 0xf1, 0x53, 0x88, 0x6a, 0x71, 0xb, 0x9, 0xc, 0xa0, 0x72, 0x81, 0xc2, 0x95, 0x54, 0x45, 0x81, 0x51, 0x69, 0x22, 0xcf, 0xd6, 0xc4, 0xe4, 0xf6, 0xb6, 0x24, 0x98, 0x12, 0x5e, 0x4a, 0x96, 0xcd, 0xc9, 0xb, 0xc3, 0xb8, 0x8c, 0xef, 0x51, 0x92, 0x39, 0xa3, 0x65, 0x55, 0xb0, 0x97, 0x81, 0xad, 0x87, 0x2b, 0xb6, 0x91, 0xda, 0xa3, 0x64, 0x9f, 0x31, 0xe4, 0x82, 0x47, 0xe, 0xac, 0x66, 0xbd, 0xdd, 0x3, 0x52, 0x68, 0xd8, 0x86, 0xc3, 0xb3, 0x7, 0xfe, 0x11, 0xb, 0x58, 0x35, 0xd5, 0x9e, 0x2, 0x65, 0x9, 0x30, 0xe7, 0xe3, 0xba, 0x52, 0xbd, 0x2e, 0x85, 0xa5, 0xfc, 0xfa, 0x51, 0xe1, 0x60, 0x41, 0x31, 0xa9, 0xa8, 0x8a, 0xd4, 0xef, 0xa, 0xac, 0xc8, 0x69, 0xc4, 0xdd, 0xc0, 0x8a, 0xe2, 0x53, 0x30, 0x9c, 0x49, 0x9e, 0x50, 0x79, 0x92, 0xb3, 0x7, 0x63, 0x7c, 0x4d, 0xec, 0x34, 0xcc, 0xee, 0x35, 0x15, 0x93, 0xca, 0x99, 0x67, 0x6a, 0xf8, 0x2a, 0xb0, 0x48, 0x4f, 0x25, 0xb8, 0xfe, 0xb1, 0x4a, 0x70, 0xd5, 0x27, 0xf9, 0x54, 0x4d, 0xeb, 0x4b, 0x55, 0xd3, 0xfa, 0x56, 0x8, 0x5a, 0x2d, 0x1a, 0x23, 0x4d, 0x4a, 0x3, 0xa0, 0xa2, 0xd8, 0xbe, 0xc8, 0x99, 0xb9, 0x40, 0xec, 0x33, 0x44, 0x7c, 0x2e, 0xcc, 0x32, 0xbd, 0x7a, 0x4c, 0xc8, 0x18, 0x99, 0xd3, 0x28, 0x51, 0xdd, 0x89, 0x44, 0x96, 0x8e, 0x6a, 0xb3, 0x89, 0xfa, 0xf0, 0x2b, 0x6a, 0x91, 0x17, 0x9c, 0xf5, 0x7b, 0x24, 0xe7, 0x19, 0xca, 0x54, 0x2f, 0x9, 0x1c, 0x2a, 0xc8, 0xb6, 0x34, 0x1c, 0x86, 0x2d, 0x57, 0xe5, 0x5a, 0x9b, 0xfb, 0x75, 0x33, 0xa, 0x0, 0x1f, 0xb8, 0x2e, 0xa0, 0x71, 0xa3, 0xc4, 0x62, 0x5f, 0x98, 0x81, 0x21, 0xf2, 0xe7, 0x25, 0x49, 0x5, 0xa1, 0xf9, 0xba, 0xbc, 0xd5, 0x61, 0x3b, 0xfe, 0xb2, 0xc3, 0x51, 0xe2, 0x3d, 0xe8, 0x5b, 0xc2, 0xb4, 0xd9, 0x1c, 0x69, 0x4a, 0xa8, 0xf5, 0x23, 0xa2, 0x58, 0x66, 0xe3, 0x51, 0xa3, 0xc6, 0xb6, 0xef, 0x6f, 0x1d, 0xca, 0xcf, 0x94, 0xe6, 0xf3, 0x9, 0x94, 0x80, 0x33, 0xb6, 0xca, 0xc4, 0x7a, 0xc9, 0xf2, 0xa3, 0xd0, 0x65, 0x4b, 0x9f, 0xad, 0x53, 0x74, 0x5f, 0x5a, 0xa8, 0xb7, 0xa0, 0xfe, 0x10, 0x58, 0x5f, 0x61, 0x9f, 0xb5, 0x4a, 0x82, 0x67, 0xa5, 0xa6, 0xaf, 0x65, 0x25, 0x1d, 0x8c, 0x3, 0xb4, 0x79, 0xad, 0x15, 0xbb, 0x19, 0x7c, 0xe0, 0xf4, 0xea, 0x1f, 0x40, 0x2d, 0xf2, 0xaa, 0x13, 0xfc, 0xf6, 0x2b, 0xcb, 0xfd, 0xf6, 0xea, 0xc9, 0x39, 0x57, 0xe3, 0xa7, 0x16, 0xab, 0x1f, 0xf9, 0xb2, 0xe, 0xc6, 0x2d, 0x75, 0xe5, 0x4a, 0x5a, 0x56, 0xb2, 0xb3, 0xe1, 0xd1, 0xa5, 0xf8, 0x4f, 0xa6, 0x83, 0xe9, 0xd5, 0xa4, 0x8b, 0xd9, 0xb1, 0xd6, 0xa6, 0x6e, 0x78, 0xde, 0xfc, 0xbd, 0x4d, 0x7a, 0xec, 0xdc, 0x2, 0x4d, 0xea, 0xdd, 0x7, 0x80, 0xec, 0xd3, 0x1d, 0x1a, 0x58, 0x83, 0xe6, 0xe, 0x63, 0x5c, 0x9c, 0x4f, 0x47, 0xe7, 0x57, 0xc3, 0xb3, 0xd9, 0x60, 0x32, 0x3b, 0x1f, 0x7e, 0xea, 0x3e, 0xd6, 0xe8, 0xe3, 0xf0, 0x6c, 0x76, 0x71, 0x35, 0xed, 0xdc, 0xe2, 0x72, 0x70, 0x35, 0x19, 0x76, 0xc0, 0x9b, 0xd8, 0xa8, 0x32, 0xa0, 0x22, 0xed, 0x39, 0xfd, 0x90, 0x52, 0x62, 0xaa, 0xf7, 0x1d, 0x34, 0x5, 0x5b, 0x2, 0x1c, 0xde, 0x6e, 0x27, 0x4f, 0xaa, 0x3c, 0x53, 0x1c, 0x8e, 0xda, 0x22, 0x69, 0x22, 0x49, 0xaa, 0x2, 0xb0, 0xf6, 0x79, 0x6e, 0xcc, 0x23, 0x9, 0x91, 0x9, 0xcb, 0x69, 0xc1, 0x85, 0xd4, 0xe1, 0xc4, 0x1e, 0x1a, 0x18, 0xd3, 0xd8, 0x68, 0xec, 0x63, 0x95, 0x95, 0xdc, 0x85, 0xf0, 0xbf, 0x28, 0xd8, 0x1c, 0x45, 0x64, 0x5e, 0x4a, 0x92, 0x8a, 0x44, 0xbe, 0xdc, 0x6a, 0x40, 0xb5, 0x6f, 0x84, 0xf1, 0xfe, 0x1d, 0xf6, 0x58, 0x89, 0x2c, 0xf3, 0x3b, 0x3, 0x97, 0xb5, 0xe1, 0x57, 0x5d, 0x85, 0x97, 0x4f, 0x9b, 0x98, 0xfc, 0xb5, 0x4e, 0x12, 0x34, 0xfa, 0xc3, 0xf5, 0xc6, 0xa8, 0x81, 0xeb, 0x0, 0x1b, 0xec, 0x4, 0xa2, 0xb7, 0xab, 0x95, 0xce, 0x15, 0x3e, 0x81, 0x27, 0x27, 0x92, 0x4, 0xc0, 0xd8, 0xd5, 0x6a, 0xd6, 0xd3, 0x86, 0x10, 0x35, 0x25, 0x40, 0x8f, 0x83, 0x53, 0x88, 0xc3, 0x68, 0xa7, 0x3b, 0xdb, 0xe5, 0xb0, 0x5c, 0x96, 0x7d, 0xf8, 0x42, 0x43, 0xdc, 0xd7, 0xc3, 0xa1, 0x74, 0xae, 0x6f, 0x57, 0xe8, 0x6b, 0x12, 0x30, 0xcc, 0x8e, 0x4f, 0x4d, 0x22, 0xd2, 0x6, 0x33, 0xb6, 0x52, 0xc0, 0x16, 0xed, 0x98, 0x79, 0x53, 0x44, 0xc2, 0x54, 0x97, 0x4e, 0xb5, 0x37, 0x78, 0x74, 0xae, 0xc, 0x14, 0xcd, 0x81, 0x74, 0x35, 0xb4, 0x9a, 0x98, 0x93, 0xbf, 0x2c, 0x84, 0x58, 0x64, 0xac, 0x5f, 0xac, 0x92, 0xfe, 0xa9, 0x48, 0xd9, 0x5f, 0x6b, 0xbf, 0x68, 0x22, 0x7f, 0x9e, 0x97, 0xdf, 0x7f, 0xe7, 0x99, 0xbb, 0xa5, 0xa4, 0x8b, 0x9d, 0x8d, 0xee, 0x3, 0x92, 0xb2, 0x7b, 0x96, 0xa9, 0xa5, 0x9f, 0xcc, 0x31, 0xde, 0x8b, 0x15, 0x85, 0x28, 0x4c, 0x7f, 0xf5, 0xd9, 0xf3, 0x9c, 0xc, 0xf3, 0x45, 0xc6, 0xe5, 0x6d, 0x9f, 0xc, 0x72, 0xd4, 0x49, 0x1b, 0x9b, 0x7a, 0x6d, 0x32, 0x91, 0x98, 0xf0, 0x8b, 0x3c, 0x45, 0xb5, 0x47, 0x33, 0x0, 0x7f, 0xa5, 0x78, 0x44, 0x7d, 0xad, 0xa7, 0xfe, 0x75, 0xc3, 0x9f, 0x10, 0xd5, 0xa4, 0xa7, 0x58, 0x8d, 0xeb, 0x5a, 0x2b, 0x52, 0xe8, 0x7, 0x77, 0x1b, 0xa6, 0xdb, 0x1c, 0x5d, 0x95, 0xfd, 0x9, 0x66, 0x77, 0x59, 0x88, 0x52, 0xdc, 0x54, 0xf3, 0x41, 0xde, 0x2e, 0xd8, 0xe, 0x48, 0xc6, 0xb1, 0xa8, 0xb9, 0xde, 0x19, 0x1d, 0x9e, 0x96, 0xd0, 0xa2, 0xc0, 0x39, 0xe3, 0xbe, 0xe9, 0x99, 0xf6, 0xe1, 0xe6, 0x15, 0x4c, 0x27, 0xb8, 0x89, 0xe5, 0x52, 0x71, 0x71, 0xe6, 0x77, 0x0, 0x2b, 0xc0, 0xd0, 0xc9, 0xc1, 0xe5, 0x8, 0xd4, 0xa2, 0x4a, 0xb2, 0xc6, 0x92, 0x84, 0xcf, 0xa7, 0x9a, 0xb9, 0x94, 0x95, 0xbc, 0xc6, 0x32, 0x5a, 0x6, 0xb8, 0x93, 0x92, 0x4c, 0x2c, 0xd4, 0x1b, 0x60, 0xce, 0x4d, 0xa4, 0x2c, 0xc3, 0xa9, 0x29, 0xde, 0x54, 0xf1, 0x92, 0x9a, 0xe8, 0xc5, 0x94, 0xcf, 0xe7, 0xc, 0x1e, 0x96, 0x55, 0x21, 0x16, 0x5, 0x5d, 0x2e, 0xe1, 0xb8, 0xf3, 0x7b, 0x5e, 0x8, 0x48, 0x4c, 0x96, 0x3d, 0x2f, 0xaa, 0x64, 0x3c, 0x9c, 0x4c, 0x71, 0x62, 0xea, 0xb8, 0xc7, 0x97, 0xa7, 0xf0, 0xf, 0xa8, 0x66, 0x66, 0x62, 0xe7, 0x6f, 0xd6, 0xe4, 0x2f, 0x8b, 0xf1, 0xe5, 0xe9, 0x5f, 0x5f, 0x18, 0x97, 0xcf, 0x82, 0x97, 0xb7, 0xd5, 0x4d, 0x3f, 0x11, 0xcb, 0x57, 0x8b, 0x62, 0x95, 0xbc, 0xec, 0x93, 0x21, 0x4d, 0x6e, 0xdd, 0xd4, 0xcd, 0xd2, 0x3d, 0xf4, 0xd6, 0x82, 0x31, 0xb2, 0xe2, 0x2c, 0xc1, 0x24, 0x68, 0x30, 0x3, 0xe9, 0xa5, 0xe0, 0xc5, 0x8b, 0x28, 0x59, 0x4d, 0x26, 0xda, 0xe9, 0x3f, 0x8b, 0xa, 0xaa, 0x18, 0xcd, 0x79, 0x9e, 0x12, 0x51, 0x95, 0x64, 0x9, 0x75, 0x8b, 0x6e, 0xd4, 0x7f, 0x22, 0xea, 0x91, 0xb7, 0x33, 0xaa, 0xbd, 0x76, 0x5d, 0x2a, 0xe, 0x83, 0x4a, 0x1b, 0x77, 0xa4, 0x3c, 0xb8, 0x1c, 0x91, 0x33, 0x6, 0x49, 0xd5, 0x3f, 0x55, 0x3c, 0x65, 0x6e, 0x6d, 0x49, 0x26, 0xaa, 0xb4, 0xaf, 0xe9, 0x59, 0xad, 0x90, 0xae, 0xb8, 0x7c, 0x95, 0xc2, 0xb7, 0xaf, 0x60, 0x8, 0xf9, 0xb2, 0x6f, 0x90, 0xd8, 0xc4, 0xea, 0x37, 0x7, 0x96, 0xbb, 0x17, 0x8c, 0xec, 0x3b, 0x83, 0x10, 0x4b, 0xb8, 0xf3, 0xa1, 0x1c, 0xa, 0x12, 0x2b, 0x4b, 0xb1, 0x22, 0xb4, 0x75, 0xa2, 0xfb, 0x6, 0xdc, 0x8c, 0xa2, 0x60, 0x1b, 0xec, 0x59, 0x14, 0xad, 0x47, 0xb6, 0x1f, 0x76, 0x9e, 0x28, 0xe8, 0x82, 0x9d, 0x15, 0xfc, 0x9e, 0x15, 0xa3, 0x7c, 0x2e, 0x76, 0x3c, 0xf2, 0x32, 0xa, 0xe7, 0xeb, 0xaa, 0x17, 0xf9, 0xb5, 0xf5, 0x52, 0x18, 0xbc, 0x7, 0x3e, 0x47, 0x5e, 0x38, 0xfd, 0xad, 0xa8, 0x92, 0xb2, 0x2a, 0x58, 0x7a, 0x4a, 0x33, 0x96, 0xa7, 0xb4, 0x98, 0xac, 0x58, 0xb2, 0xe3, 0xf4, 0x64, 0xb, 0x2, 0xed, 0x81, 0x7c, 0x78, 0x4c, 0xf3, 0x45, 0xbb, 0x48, 0xf6, 0x11, 0x8, 0x1, 0x87, 0x96, 0xe4, 0xc5, 0xeb, 0x93, 0xff, 0xfd, 0xaf, 0x2e, 0x3d, 0x67, 0xc9, 0xf3, 0xaa, 0x6c, 0xd8, 0xb2, 0xaf, 0x30, 0x23, 0x1c, 0xba, 0x36, 0xa3, 0x5b, 0x51, 0x35, 0xc4, 0xbb, 0x7f, 0x85, 0xf9, 0xa8, 0x81, 0x61, 0x36, 0xdf, 0x7d, 0xef, 0x66, 0x93, 0xd2, 0xf5, 0xc5, 0xfc, 0xa3, 0xc8, 0xc3, 0x6a, 0xb5, 0x5f, 0x61, 0x4e, 0xb5, 0x52, 0x62, 0x6a, 0x8a, 0x29, 0x5d, 0x5b, 0x35, 0x66, 0xa9, 0x26, 0x45, 0x5e, 0xbc, 0x39, 0xf9, 0xfe, 0x4d, 0x94, 0xba, 0xf8, 0xe5, 0x72, 0xbf, 0x64, 0x49, 0x15, 0xe5, 0xbb, 0x22, 0xdc, 0x8, 0xad, 0xe6, 0xe7, 0x7b, 0x2d, 0xbf, 0xc1, 0x5e, 0x69, 0x7a, 0x52, 0x23, 0x4b, 0xb5, 0x23, 0x6f, 0xbe, 0x73, 0xf3, 0x59, 0x33, 0xfa, 0x6d, 0xc8, 0x49, 0xd, 0xec, 0x59, 0x93, 0x81, 0x90, 0x3e, 0x31, 0x76, 0xf7, 0x4d, 0x26, 0xe3, 0x13, 0xce, 0x3, 0x63, 0x77, 0x8a, 0xcc, 0xff, 0xdf, 0x3f, 0x90, 0xd7, 0x4a, 0x18, 0x99, 0x54, 0x79, 0x4a, 0xd7, 0x2f, 0x3, 0x3f, 0xa0, 0x92, 0x67, 0x76, 0xe5, 0xa3, 0x3f, 0x16, 0x8c, 0x9d, 0x0, 0x3c, 0xb9, 0xee, 0x40, 0xff, 0xf9, 0xc6, 0x78, 0x4e, 0xc1, 0x7, 0xd, 0xda, 0xad, 0xd0, 0x20, 0x31, 0x4a, 0x43, 0xde, 0x56, 0x45, 0xba, 0x99, 0xf1, 0x9a, 0xbe, 0x21, 0x70, 0x57, 0x1b, 0x71, 0x8d, 0xbe, 0x6d, 0x60, 0x1d, 0x32, 0xa, 0x19, 0x26, 0xa8, 0x11, 0xb9, 0x59, 0x27, 0xba, 0x9b, 0x1e, 0xd6, 0x6c, 0xd4, 0x80, 0xea, 0xb4, 0x7c, 0x2e, 0x9, 0xa3, 0x72, 0x1d, 0xca, 0x36, 0x46, 0xd6, 0xa3, 0x25, 0x5a, 0xa, 0xb4, 0x48, 0x86, 0x74, 0x9f, 0xf8, 0x96, 0xac, 0x1b, 0x46, 0x44, 0xce, 0x8, 0x88, 0x4a, 0x5, 0x23, 0x85, 0x3a, 0x15, 0x3f, 0xdd, 0x64, 0x0, 0x16, 0x42, 0x59, 0xd2, 0xe5, 0xa, 0x23, 0x46, 0x10, 0x60, 0x9a, 0x96, 0x24, 0x63, 0x54, 0xc9, 0xc6, 0xb9, 0x6e, 0xa4, 0x76, 0x87, 0xb9, 0x41, 0xcc, 0xb7, 0xe1, 0x1a, 0x2c, 0x6, 0xa5, 0xda, 0x5c, 0xf8, 0xd0, 0x9e, 0xaf, 0x1d, 0xa6, 0x7, 0x81, 0x4b, 0x2b, 0xcc, 0x6f, 0x85, 0x7b, 0xa0, 0x6, 0x54, 0xff, 0xa1, 0x8e, 0x7d, 0xc9, 0x21, 0x5c, 0xa4, 0xe7, 0x3a, 0xc5, 0x84, 0x11, 0x46, 0x73, 0x2c, 0x35, 0x9, 0x4, 0x8c, 0xc3, 0xf7, 0xc9, 0x8f, 0xa2, 0x80, 0x5f, 0xea, 0xa1, 0x6e, 0x98, 0xe4, 0x29, 0x93, 0xf0, 0x4d, 0x2f, 0x5c, 0x3, 0x90, 0xa3, 0xeb, 0xd4, 0x38, 0x39, 0x57, 0x5, 0x33, 0xf8, 0x1a, 0xd0, 0xa5, 0x35, 0xe7, 0x7b, 0x5b, 0x34, 0x36, 0x47, 0xc6, 0x3e, 0xab, 0xcf, 0x25, 0x58, 0x97, 0x65, 0xa5, 0x3e, 0x96, 0xe4, 0x59, 0xa6, 0x46, 0x48, 0xe9, 0x3a, 0x60, 0x80, 0xcf, 0xd4, 0x86, 0x3f, 0x2b, 0x6f, 0x79, 0x91, 0x92, 0x8f, 0x42, 0x11, 0xf2, 0x33, 0x1b, 0xf3, 0x60, 0x23, 0x2a, 0xdc, 0x8, 0x5, 0xd3, 0xf3, 0x50, 0x7c, 0xef, 0xf, 0x5a, 0xb5, 0xd7, 0x9e, 0x58, 0xa5, 0x90, 0x22, 0xd6, 0xb8, 0xf6, 0x98, 0x24, 0x5, 0x2b, 0x19, 0x5e, 0x9d, 0xf2, 0x96, 0xad, 0x8d, 0x40, 0x80, 0x13, 0x9e, 0x52, 0x79, 0x37, 0x4a, 0xdf, 0x65, 0x22, 0xb9, 0xdb, 0x55, 0x8, 0x28, 0x69, 0xd1, 0x25, 0xf2, 0x98, 0xe5, 0x8d, 0x70, 0x4c, 0xde, 0x57, 0xd3, 0x38, 0xf5, 0x60, 0x7, 0xc1, 0x78, 0xeb, 0xf0, 0x77, 0x3c, 0x94, 0x54, 0x9a, 0x8c, 0xab, 0x0, 0xec, 0xf6, 0x1f, 0x57, 0xc3, 0xab, 0xe1, 0xec, 0xe7, 0xd1, 0xf9, 0xd9, 0x6, 0x93, 0x6a, 0xfc, 0xe5, 0xf9, 0xc5, 0xf8, 0xe3, 0x20, 0x8e, 0xdf, 0x8c, 0x3f, 0x9a, 0x4c, 0x47, 0xa7, 0x3f, 0xc7, 0x91, 0xc5, 0xf1, 0x47, 0x9f, 0x2e, 0xc6, 0x3f, 0xf, 0xc7, 0xb3, 0xd3, 0x8b, 0x8f, 0x1f, 0x7, 0xe7, 0x67, 0x93, 0x1d, 0x99, 0x96, 0x43, 0x38, 0x6b, 0x9e, 0xe1, 0x76, 0x3c, 0xb3, 0x5c, 0xfd, 0x32, 0x3b, 0xef, 0xb2, 0xa5, 0xdb, 0x1c, 0xa8, 0x73, 0xd8, 0x74, 0xf2, 0xc3, 0xf, 0x2d, 0x3b, 0x1, 0x16, 0xb0, 0x0, 0x86, 0x3e, 0x50, 0x4d, 0xf4, 0xa3, 0x1c, 0xbe, 0xe6, 0xf0, 0x7, 0x98, 0xa2, 0x5f, 0x9d, 0x16, 0xae, 0x3a, 0x56, 0x16, 0xe0, 0xc9, 0xdd, 0xda, 0x98, 0xb1, 0x9c, 0xab, 0xd4, 0x2b, 0xc1, 0xbc, 0x7b, 0x84, 0xa2, 0x62, 0x3a, 0xf2, 0x95, 0x1a, 0xee, 0x4, 0x86, 0x93, 0xaf, 0x42, 0x72, 0xd, 0x3d, 0x38, 0x1d, 0x89, 0x16, 0x7a, 0x1a, 0xd3, 0x92, 0x41, 0x5, 0x86, 0xc3, 0x22, 0x44, 0x4d, 0x2f, 0x5b, 0x7c, 0x3f, 0x57, 0x68, 0xde, 0x5d, 0x8a, 0x14, 0xa2, 0xdc, 0x7a, 0x16, 0xd9, 0xcc, 0x55, 0x61, 0x38, 0x31, 0x5, 0x8, 0x80, 0x71, 0x44, 0x40, 0xff, 0x73, 0xca, 0x8b, 0x9c, 0x49, 0xf9, 0x33, 0x5b, 0x4b, 0x3b, 0xa6, 0x21, 0xb8, 0xaf, 0xb1, 0x0, 0xe3, 0xfa, 0x84, 0xe7, 0x84, 0xe7, 0x29, 0xbf, 0xe7, 0x69, 0x45, 0x33, 0x3b, 0x31, 0x28, 0x86, 0x60, 0x22, 0x5a, 0x60, 0xf2, 0x6, 0xcb, 0x4a, 0x51, 0x2, 0x2d, 0x59, 0x8f, 0x48, 0xf5, 0x5c, 0x5a, 0xcb, 0xd2, 0x3, 0xe3, 0x8b, 0xdb, 0xd2, 0x70, 0x60, 0xbf, 0x9b, 0xfa, 0xaa, 0x3f, 0xc1, 0xb7, 0x26, 0x8c, 0xa0, 0xc1, 0xfa, 0xb4, 0x77, 0xe, 0x6b, 0xad, 0x60, 0x47, 0x5b, 0x45, 0x85, 0x96, 0xed, 0x30, 0xd1, 0x2, 0x32, 0x5c, 0x5, 0x2e, 0x4e, 0x3a, 0x44, 0xb2, 0xf0, 0x91, 0xf5, 0x16, 0x2b, 0xfb, 0x21, 0x41, 0x8f, 0xd5, 0x6, 0x53, 0x2c, 0x4e, 0xb2, 0xab, 0xc6, 0xda, 0x94, 0x3e, 0xd6, 0xc8, 0x3d, 0x8a, 0x86, 0x41, 0xc8, 0x2e, 0x42, 0x64, 0x9d, 0x83, 0x5b, 0x7e, 0x3a, 0x1e, 0xe, 0x4e, 0xdf, 0xf, 0xde, 0x8d, 0x3e, 0x8c, 0xa6, 0xed, 0xf1, 0xf8, 0xcd, 0x5f, 0x9f, 0xf, 0x3f, 0x59, 0x1c, 0xed, 0x49, 0x87, 0xef, 0x8d, 0xbb, 0x70, 0xa7, 0x46, 0x17, 0x97, 0xc3, 0xf3, 0x9d, 0x1a, 0x0, 0x9e, 0xea, 0x59, 0x4b, 0x93, 0x16, 0xe6, 0xdc, 0xc2, 0xe0, 0xb7, 0x84, 0xc, 0x2a, 0xa6, 0xea, 0x1f, 0xd, 0xa2, 0x89, 0x58, 0x8e, 0x9a, 0xbb, 0xc, 0x28, 0xc7, 0x7f, 0x63, 0x40, 0x32, 0x86, 0x32, 0x87, 0xea, 0xcb, 0x27, 0x25, 0xf0, 0xfb, 0x60, 0x75, 0x7f, 0x4c, 0x11, 0xb7, 0x59, 0xc8, 0xda, 0x3e, 0x7, 0xf7, 0x5a, 0x1b, 0xd2, 0xb, 0x4e, 0xf3, 0x6, 0x34, 0x91, 0x60, 0x6a, 0x5c, 0x62, 0x14, 0x46, 0xcf, 0x45, 0xcb, 0x21, 0xd7, 0xf7, 0x10, 0xd, 0xab, 0x5c, 0x37, 0xc9, 0x5c, 0xcd, 0x93, 0xfa, 0xcc, 0x63, 0xdb, 0x93, 0x1b, 0x43, 0xf1, 0x6, 0x5b, 0x16, 0xc6, 0xee, 0x83, 0xd8, 0xb0, 0xf, 0xf6, 0x1a, 0x4d, 0x4a, 0x5a, 0xee, 0xea, 0x9f, 0xa0, 0xab, 0x55, 0x21, 0x3e, 0xf3, 0x25, 0x2d, 0xd9, 0x3b, 0x9a, 0xdc, 0x65, 0x62, 0x71, 0x2a, 0xaa, 0xdd, 0x95, 0x97, 0x7a, 0x94, 0xb0, 0xdf, 0xb3, 0x57, 0xe7, 0x7, 0xd7, 0x76, 0x83, 0x43, 0x2d, 0x4c, 0xc4, 0x5e, 0xb8, 0x47, 0xe4, 0x23, 0x5d, 0x93, 0x44, 0x4d, 0x43, 0x49, 0xb2, 0xbc, 0xd0, 0x1, 0xd7, 0x12, 0x30, 0xc8, 0x41, 0x57, 0x81, 0x92, 0x45, 0xe1, 0x59, 0x25, 0x22, 0xbf, 0x67, 0xc5, 0x82, 0xd9, 0x34, 0xcb, 0x2, 0x58, 0x2d, 0x78, 0x48, 0x20, 0xc0, 0x54, 0xf1, 0xe8, 0x82, 0x41, 0xed, 0xb8, 0x6a, 0xa5, 0x81, 0x13, 0x15, 0x77, 0x56, 0xe4, 0x91, 0xb2, 0x84, 0x4b, 0xc, 0x5f, 0x8a, 0x48, 0x4b, 0xe9, 0x44, 0x34, 0x53, 0xf2, 0x30, 0x9a, 0xb1, 0x43, 0x27, 0x98, 0x96, 0x6, 0x60, 0x83, 0x60, 0x15, 0x4b, 0x56, 0x16, 0x3c, 0x21, 0xa9, 0x60, 0x58, 0xad, 0xe, 0x57, 0xa1, 0xa5, 0x4, 0xfd, 0xb5, 0x5a, 0x4a, 0x9f, 0xbc, 0x17, 0xf, 0xc, 0xec, 0x64, 0x37, 0xc, 0x6a, 0x23, 0xc4, 0x62, 0x7, 0xe0, 0xd4, 0xc0, 0xaa, 0x21, 0x9e, 0x19, 0x3d, 0xac, 0x6a, 0x39, 0x3c, 0xd5, 0xa4, 0x31, 0x67, 0xf, 0xc6, 0x2c, 0xd5, 0xd3, 0xa, 0x22, 0x4d, 0x92, 0xaa, 0xa0, 0xc9, 0x5a, 0x75, 0x2a, 0x96, 0x4c, 0x12, 0x78, 0x80, 0x25, 0x5f, 0xe4, 0xa0, 0xd8, 0xe5, 0xa5, 0xc1, 0x70, 0xd1, 0x7, 0x40, 0x24, 0xff, 0x7b, 0x34, 0xf2, 0xa2, 0x10, 0xf, 0x9e, 0xde, 0x55, 0xa7, 0x8f, 0x41, 0xe8, 0x22, 0xfa, 0x6, 0x61, 0xc6, 0x3, 0x8f, 0xb2, 0xe8, 0xc2, 0x1a, 0x1e, 0x45, 0x96, 0x42, 0x3a, 0x2, 0x26, 0x1d, 0x4, 0xcb, 0xbc, 0xa1, 0x92, 0xa5, 0xc6, 0x4f, 0x9a, 0x14, 0x8c, 0xda, 0x64, 0x56, 0xab, 0xf5, 0xa9, 0x56, 0x5a, 0xa8, 0xbb, 0x65, 0x34, 0x6d, 0x14, 0x4, 0x35, 0x79, 0xfe, 0x23, 0x10, 0xd3, 0xda, 0x2f, 0x94, 0x49, 0xe7, 0x73, 0x40, 0x1d, 0xc4, 0xe0, 0xe8, 0x2a, 0xd3, 0xa5, 0xa8, 0xcc, 0xee, 0x72, 0x9, 0x7b, 0xaf, 0x5e, 0x7d, 0x1a, 0x5, 0xc4, 0x7b, 0xdd, 0xf6, 0x83, 0x37, 0x5b, 0xe, 0xd2, 0x54, 0x89, 0x61, 0x75, 0x46, 0xb3, 0x53, 0x39, 0xb1, 0x98, 0xd1, 0xe0, 0x22, 0xbd, 0xba, 0x61, 0x34, 0x4d, 0x1d, 0xbe, 0xa8, 0xdb, 0xe6, 0x1e, 0xa1, 0xf7, 0xac, 0xa0, 0xb, 0x63, 0x5b, 0x1, 0xe5, 0xf8, 0xfb, 0xd7, 0x76, 0xae, 0x3a, 0xcf, 0x41, 0x57, 0x11, 0x45, 0xee, 0x24, 0xc3, 0xa5, 0x99, 0xbc, 0x47, 0x51, 0x18, 0xb8, 0x8a, 0x35, 0x79, 0x60, 0x5, 0xb3, 0x43, 0xbe, 0xf2, 0x62, 0xcb, 0x21, 0xf5, 0xd1, 0xa7, 0x48, 0x94, 0x91, 0x74, 0xb, 0xef, 0x43, 0xbe, 0x5c, 0xb2, 0x94, 0xd3, 0x92, 0x65, 0x6b, 0xb0, 0xa0, 0xa8, 0x67, 0xa, 0x8a, 0x85, 0x45, 0x47, 0x2a, 0x82, 0xde, 0x5e, 0xc8, 0x75, 0x9e, 0x9c, 0xa0, 0xa9, 0x23, 0x7d, 0x19, 0xd3, 0x1d, 0xa4, 0xb7, 0x69, 0xf7, 0x5b, 0xe2, 0x8a, 0xeb, 0x5f, 0xc3, 0xa2, 0x66, 0x34, 0x4d, 0x67, 0x4a, 0x56, 0xbd, 0xc6, 0x32, 0x71, 0xf8, 0x4b, 0x33, 0x23, 0xfd, 0x17, 0xf0, 0x23, 0x2a, 0x7a, 0x87, 0x67, 0x4d, 0xd3, 0xa5, 0x91, 0xf3, 0xb0, 0xbe, 0x98, 0x6, 0x24, 0xf, 0x47, 0x36, 0xf3, 0x3, 0xa6, 0xf2, 0x4a, 0xde, 0x16, 0x3c, 0xbf, 0xab, 0x5d, 0x8b, 0x73, 0x51, 0x2, 0xc5, 0x43, 0xa1, 0xcc, 0x4a, 0x2b, 0x5a, 0x50, 0xf5, 0x93, 0xdf, 0xc3, 0x93, 0xea, 0xf9, 0xe4, 0xc1, 0xda, 0x40, 0xd7, 0x3e, 0x4b, 0xcb, 0x0, 0xa1, 0xe3, 0x96, 0x2f, 0x6e, 0x35, 0x5, 0x12, 0x57, 0x59, 0xce, 0x83, 0x43, 0xbf, 0x89, 0xde, 0x8b, 0x70, 0xf1, 0xf6, 0xe6, 0x44, 0x2, 0xde, 0x9, 0xbc, 0xae, 0x12, 0x3c, 0x7c, 0x37, 0xcc, 0x42, 0x9c, 0x9a, 0xa9, 0x4, 0x27, 0x54, 0xa7, 0x32, 0x3f, 0x70, 0x1b, 0xe2, 0xee, 0x21, 0x1, 0xcb, 0x1e, 0x77, 0x3f, 0xfa, 0x37, 0xe1, 0x32, 0x36, 0x25, 0xb3, 0xdc, 0x3a, 0x50, 0x3d, 0x98, 0x93, 0x9b, 0xb5, 0x8d, 0xf4, 0xd4, 0x8c, 0x2e, 0xa3, 0xa5, 0xe2, 0x7d, 0x90, 0x12, 0xd3, 0xbc, 0x2, 0x3b, 0xc5, 0x89, 0xcf, 0x3f, 0x8c, 0xad, 0x87, 0x26, 0xc0, 0x5c, 0x10, 0x91, 0xb9, 0xef, 0x6a, 0xce, 0xf5, 0xd4, 0xa5, 0x44, 0xd3, 0x5d, 0xf, 0x79, 0x47, 0x5b, 0x3c, 0x88, 0xb6, 0xba, 0xc5, 0xb, 0x70, 0x9, 0x1a, 0x2, 0x9f, 0x66, 0x6a, 0xd4, 0x69, 0x73, 0xf, 0xbd, 0xac, 0x8b, 0xb0, 0x4b, 0x35, 0x67, 0xb3, 0xa7, 0xe1, 0xa4, 0xa3, 0xc8, 0x6e, 0x6a, 0x4d, 0x97, 0x4d, 0xa3, 0x83, 0x14, 0x29, 0x4b, 0x9a, 0x27, 0xac, 0x43, 0xd, 0x39, 0x35, 0xee, 0x99, 0x3e, 0x8f, 0xaf, 0xc1, 0x9f, 0x9a, 0x78, 0xc4, 0xde, 0x6c, 0xaa, 0x81, 0xc2, 0xbf, 0x1e, 0x9b, 0x8a, 0xc4, 0x8, 0xff, 0x46, 0x3c, 0xb1, 0xa9, 0x3, 0xd9, 0x54, 0xb0, 0xce, 0x27, 0x5e, 0xf5, 0xc4, 0xab, 0xda, 0xb9, 0x4e, 0xa8, 0xd, 0x3a, 0xb, 0xa7, 0x2c, 0x69, 0xc9, 0x95, 0xec, 0x28, 0x4d, 0x70, 0x8a, 0x93, 0x39, 0xd, 0xfd, 0x43, 0xc6, 0xa3, 0xad, 0xbc, 0xec, 0x26, 0xf0, 0xe3, 0x6, 0x59, 0xb5, 0x67, 0x10, 0x42, 0x30, 0xa5, 0x53, 0x92, 0x15, 0x2d, 0xa0, 0xf0, 0xa9, 0x26, 0x52, 0xbd, 0x3d, 0x86, 0x1a, 0x7d, 0xe9, 0x55, 0x7a, 0xe9, 0x95, 0x58, 0xad, 0xbd, 0xaf, 0x74, 0xe1, 0xd4, 0xf7, 0xd3, 0x2c, 0x11, 0x3a, 0x87, 0xde, 0x88, 0x7b, 0x86, 0xfa, 0xba, 0xbe, 0xd6, 0xa5, 0x20, 0x55, 0x9e, 0xb2, 0x2, 0x7c, 0xaa, 0xa8, 0xfe, 0x2c, 0x57, 0x34, 0x1, 0xe3, 0x5a, 0x20, 0x22, 0xeb, 0xc2, 0xb6, 0x22, 0x27, 0x6, 0x14, 0x4a, 0xf7, 0x60, 0x94, 0xa5, 0x6, 0x2d, 0x7a, 0xe7, 0x30, 0xbf, 0x1b, 0x4f, 0x77, 0x7e, 0xdf, 0x5, 0x50, 0xbb, 0x60, 0x34, 0xfd, 0xc0, 0xee, 0xd9, 0xf6, 0xd2, 0x33, 0x34, 0xb9, 0xeb, 0xf6, 0xa1, 0xe2, 0xd, 0xbb, 0x94, 0xe9, 0x35, 0x54, 0x95, 0x8a, 0xea, 0x26, 0x63, 0xc1, 0x13, 0x18, 0x79, 0x66, 0x48, 0x7, 0x48, 0x26, 0xdd, 0xe4, 0x79, 0x13, 0x79, 0xfa, 0x15, 0x20, 0xae, 0x24, 0x23, 0xd7, 0x23, 0x8d, 0xdd, 0x16, 0x6d, 0xfa, 0xb5, 0x63, 0x42, 0x77, 0x6c, 0x55, 0x92, 0x2a, 0x2f, 0x79, 0x46, 0xae, 0xcf, 0xb4, 0xaf, 0xd2, 0x7e, 0x7d, 0x6d, 0x42, 0x57, 0x95, 0x82, 0xbb, 0x40, 0x7d, 0x17, 0x13, 0xa2, 0xa2, 0xb3, 0x9c, 0xae, 0x57, 0x6c, 0x8f, 0x30, 0x98, 0x95, 0x0, 0xbf, 0xd6, 0xd1, 0x5d, 0xcd, 0x97, 0xd0, 0xaf, 0x9a, 0xd0, 0x6, 0x9b, 0xb9, 0xce, 0x48, 0x63, 0xa9, 0xe5, 0xdc, 0x2f, 0x30, 0x1f, 0xb6, 0x92, 0xcc, 0xa5, 0x80, 0xfd, 0x30, 0xa7, 0x99, 0x64, 0xd7, 0x2f, 0x35, 0x52, 0xa0, 0x7e, 0x3d, 0x78, 0x4e, 0x2a, 0xaf, 0x3, 0x7d, 0x29, 0xd9, 0x3d, 0xcb, 0x75, 0x31, 0xde, 0x35, 0x84, 0x1, 0xba, 0x82, 0x1d, 0x61, 0x3a, 0x40, 0x67, 0x9c, 0x82, 0x90, 0xc9, 0x3c, 0xf, 0x37, 0x5d, 0x4f, 0x72, 0xcf, 0xf0, 0x23, 0xe9, 0xb7, 0x6b, 0x69, 0x4b, 0x3a, 0x19, 0xbb, 0x3b, 0x2d, 0xc0, 0x50, 0x48, 0x7b, 0x2, 0x8b, 0x2b, 0x86, 0xc2, 0xf3, 0x39, 0xd4, 0x10, 0xc7, 0xdf, 0xa9, 0x96, 0x7d, 0xf2, 0x33, 0x5b, 0x1b, 0x8f, 0x6, 0xf8, 0x3f, 0x21, 0x18, 0xd2, 0x86, 0xe5, 0xc2, 0x13, 0x6b, 0x3c, 0x3c, 0x74, 0xc5, 0xfb, 0x2c, 0xaf, 0x96, 0xb2, 0x7f, 0xff, 0xa6, 0x1f, 0x4c, 0x0, 0x6c, 0x90, 0xa1, 0x7e, 0xdc, 0x64, 0x12, 0x27, 0x2d, 0x6e, 0xc4, 0x77, 0x57, 0xa3, 0xf, 0x67, 0xb3, 0xd1, 0xd9, 0xac, 0xbb, 0x2d, 0x7a, 0x63, 0x23, 0xfd, 0x8f, 0xf, 0x31, 0xb8, 0xd0, 0x86, 0x26, 0xb1, 0xbd, 0xb8, 0x9, 0xd3, 0x68, 0xe3, 0x34, 0x9b, 0xc6, 0xdc, 0xc7, 0xf0, 0xa8, 0x4e, 0x66, 0x1c, 0xdb, 0x6c, 0xad, 0xc9, 0x10, 0xd, 0xb5, 0xb2, 0x64, 0x79, 0xf9, 0x7, 0x75, 0x38, 0x5, 0x33, 0x8, 0x8f, 0x54, 0x67, 0x77, 0x23, 0xcb, 0xe1, 0x65, 0xdd, 0x9e, 0xb8, 0x14, 0x71, 0x5a, 0x38, 0x3e, 0x20, 0xa5, 0xa9, 0x70, 0x7d, 0x53, 0x95, 0x3a, 0x6f, 0x17, 0xc3, 0x32, 0xf1, 0x3e, 0x52, 0xf2, 0x40, 0x21, 0x28, 0xa2, 0xa4, 0x77, 0x4c, 0x77, 0x54, 0x80, 0x7f, 0x5c, 0xb2, 0xe2, 0x1e, 0xfd, 0xf5, 0x50, 0x7b, 0xa2, 0x3e, 0x72, 0x24, 0x1d, 0xa9, 0x57, 0x98, 0x7d, 0xa6, 0xcb, 0x55, 0xc6, 0x88, 0xdd, 0x2e, 0x8, 0x45, 0xa8, 0x75, 0x8, 0xf2, 0x65, 0xe3, 0x99, 0x34, 0x4b, 0xb5, 0xf3, 0xaa, 0x4, 0xa4, 0x6, 0x27, 0xb6, 0x21, 0x8, 0x18, 0x14, 0x1a, 0x52, 0x93, 0xe6, 0x4e, 0x0, 0x78, 0x2e, 0x5d, 0xb9, 0x1f, 0xb5, 0x64, 0x78, 0xbf, 0xcb, 0x7a, 0xd5, 0x20, 0x4c, 0xe8, 0xaf, 0xed, 0x98, 0x13, 0xdd, 0x42, 0xdb, 0x3a, 0x95, 0x26, 0x37, 0x21, 0x41, 0x30, 0x80, 0xbb, 0x1c, 0x53, 0xa1, 0x15, 0xd7, 0x7a, 0x9e, 0x65, 0xe4, 0x96, 0xae, 0x56, 0x2c, 0xd7, 0x6, 0xcc, 0x35, 0x49, 0x5, 0x8c, 0x50, 0x33, 0x76, 0xb9, 0x4a, 0x47, 0x41, 0x71, 0x23, 0x5e, 0x78, 0x13, 0xec, 0x93, 0x9, 0x5d, 0x32, 0x14, 0xf3, 0xd4, 0x44, 0xa0, 0xba, 0xa7, 0xcd, 0xd2, 0x82, 0xfc, 0x13, 0x83, 0x62, 0x71, 0x32, 0x90, 0x27, 0xe7, 0xec, 0xc1, 0xfd, 0x31, 0x36, 0x2, 0x5, 0xdb, 0xa4, 0xcb, 0x2f, 0xbd, 0x32, 0x10, 0x57, 0x3b, 0x6c, 0x5a, 0x9f, 0x8c, 0x72, 0x6d, 0xa9, 0x4b, 0xa8, 0x64, 0xb2, 0x47, 0x96, 0xf4, 0x2e, 0xc6, 0xae, 0x50, 0x87, 0x54, 0xa, 0x2, 0xf5, 0xfb, 0xeb, 0x5e, 0x93, 0x2d, 0x13, 0xf0, 0xe, 0x88, 0x4a, 0xf2, 0xc0, 0xb2, 0x6c, 0x63, 0x4a, 0x4c, 0xcc, 0xcf, 0x79, 0xbe, 0xd8, 0x83, 0xa5, 0xeb, 0x20, 0x12, 0x97, 0xf6, 0xa8, 0x7b, 0x3b, 0x6a, 0xd2, 0xa5, 0xee, 0xb3, 0x6b, 0x30, 0xe0, 0x44, 0xe3, 0xae, 0x48, 0x9d, 0x99, 0xe0, 0xe5, 0x64, 0xea, 0x9e, 0x8c, 0xf1, 0xb3, 0x60, 0x9, 0x53, 0xf7, 0x29, 0xc8, 0xa6, 0xb3, 0x9, 0x38, 0x18, 0x9c, 0xae, 0xed, 0xaa, 0x91, 0xb9, 0xd8, 0x26, 0x15, 0xfb, 0xef, 0xb1, 0x28, 0xc8, 0xa0, 0x2a, 0xc5, 0xd5, 0x6a, 0x51, 0xd0, 0xd4, 0x25, 0x99, 0xd4, 0x2a, 0xfe, 0x9b, 0x6c, 0x60, 0x17, 0x6f, 0x83, 0x21, 0x45, 0xea, 0x80, 0xab, 0x26, 0x1, 0x1, 0xe9, 0x6, 0xc5, 0x84, 0xab, 0xf3, 0x5f, 0x86, 0xe3, 0xc9, 0xe8, 0xe2, 0x7c, 0x78, 0x76, 0xd, 0x15, 0x1b, 0xaa, 0xdc, 0x2, 0xcd, 0xbc, 0x24, 0xd7, 0xb8, 0x77, 0xee, 0x4c, 0x3f, 0x8a, 0x94, 0x5d, 0xf7, 0x5f, 0x36, 0x71, 0x5, 0x93, 0x9, 0x66, 0x36, 0x85, 0x4b, 0xe3, 0xfa, 0x4d, 0x59, 0x6e, 0x5c, 0xda, 0x63, 0xba, 0x84, 0x8c, 0x4d, 0xf3, 0x11, 0x9a, 0x93, 0x95, 0x3c, 0x62, 0x22, 0xd5, 0xa, 0x3a, 0x9f, 0xf3, 0x4, 0x4d, 0xc6, 0x5, 0x5d, 0xae, 0xd4, 0x13, 0x9a, 0xb0, 0xbc, 0xa4, 0x8b, 0x88, 0xbc, 0xb9, 0x24, 0xb9, 0xc8, 0x4f, 0xfe, 0xce, 0xa, 0x41, 0x5e, 0x48, 0xc6, 0xc8, 0x75, 0x81, 0x9d, 0xcf, 0x52, 0x7b, 0x42, 0x33, 0xbd, 0x7a, 0x6d, 0x6, 0x30, 0x1f, 0xe8, 0xdf, 0xce, 0x5c, 0xd7, 0xd7, 0x7e, 0x44, 0x1e, 0x2e, 0xa4, 0x81, 0xf4, 0x76, 0x2c, 0xf6, 0x88, 0xd2, 0xab, 0xee, 0xae, 0x69, 0x56, 0x5e, 0x11, 0x27, 0x9c, 0xd9, 0xa3, 0x22, 0xfc, 0x4f, 0xd, 0x47, 0xe0, 0xef, 0x7a, 0xf, 0xf5, 0xa3, 0x86, 0xc3, 0xe3, 0x92, 0xc8, 0x5b, 0x3e, 0x2f, 0x7d, 0x1b, 0x51, 0x4c, 0x1e, 0xfa, 0x9d, 0x8c, 0x8, 0x22, 0xa2, 0x6d, 0xa8, 0x82, 0x44, 0xb3, 0x7, 0xba, 0x96, 0x8, 0xbf, 0x62, 0xb2, 0x42, 0xa0, 0xdb, 0x4d, 0x5b, 0x6b, 0xb2, 0x5, 0x6f, 0x84, 0x52, 0xa3, 0x95, 0xe2, 0xc8, 0xb3, 0x47, 0x79, 0x71, 0x74, 0xfe, 0xb, 0x2a, 0xc3, 0x42, 0x22, 0x80, 0x77, 0x29, 0x70, 0xe3, 0x61, 0x99, 0x22, 0x67, 0xfe, 0xae, 0xd1, 0x5c, 0x80, 0x89, 0x4e, 0xff, 0xa, 0x92, 0x92, 0xe0, 0x3b, 0x6f, 0xca, 0xd1, 0xb3, 0xa3, 0xe7, 0xf, 0x36, 0xa, 0x50, 0xb8, 0x93, 0x2a, 0xa3, 0xd, 0x3d, 0x34, 0xfd, 0x15, 0x55, 0xe7, 0xda, 0x66, 0xd4, 0x48, 0xf7, 0x58, 0xd7, 0x65, 0xc3, 0x25, 0x6e, 0x1b, 0xf3, 0xd2, 0x92, 0xe7, 0x81, 0xf6, 0x57, 0xd7, 0x91, 0x73, 0x3e, 0xc3, 0xf1, 0x80, 0xda, 0x24, 0xaa, 0xd2, 0xd9, 0xed, 0x62, 0x46, 0xc6, 0x73, 0x59, 0xa2, 0x23, 0xb0, 0x89, 0xda, 0x23, 0xca, 0xfb, 0x5, 0x5c, 0x69, 0x10, 0x7f, 0xfa, 0x96, 0xfc, 0xe5, 0x75, 0x8f, 0xbc, 0x79, 0xfd, 0xfa, 0xaf, 0x7d, 0x32, 0x50, 0xff, 0xff, 0xff, 0x68, 0x9a, 0xc4, 0xd0, 0xd0, 0xc6, 0xa1, 0xa4, 0x7e, 0x69, 0x20, 0x54, 0xa1, 0x52, 0x4, 0xab, 0xef, 0xdd, 0x4d, 0x6c, 0x57, 0x55, 0x82, 0xc3, 0x9a, 0x95, 0xe4, 0xd9, 0xaa, 0x10, 0x4b, 0x51, 0xb2, 0xf4, 0x99, 0xce, 0xc4, 0x6c, 0x98, 0x63, 0x8f, 0x64, 0xfc, 0x8e, 0x65, 0x6b, 0x92, 0x56, 0x98, 0x58, 0xc9, 0x30, 0x14, 0x7, 0xfc, 0x7e, 0x34, 0x82, 0xeb, 0x80, 0x9f, 0x1, 0xd9, 0x75, 0xb6, 0xb9, 0x30, 0x73, 0xdd, 0x6e, 0x5c, 0xaf, 0x0, 0x39, 0x64, 0xca, 0x77, 0xf, 0xf5, 0xfb, 0x40, 0x25, 0x16, 0x3, 0xf2, 0x8b, 0x45, 0xfa, 0xf1, 0x1c, 0x26, 0x22, 0xda, 0x93, 0x71, 0x92, 0x5b, 0x75, 0x1a, 0x69, 0xd3, 0xb4, 0xd4, 0x34, 0x4e, 0x54, 0x77, 0x28, 0xe8, 0x20, 0xc2, 0x51, 0xc9, 0x6, 0xda, 0xf4, 0xf5, 0xd5, 0x0, 0xb7, 0x8d, 0xad, 0xad, 0x43, 0x34, 0xeb, 0x5e, 0x90, 0x5, 0x66, 0x41, 0x1a, 0x23, 0xbd, 0x47, 0x4a, 0x5a, 0x0, 0x50, 0x96, 0x67, 0x86, 0x5, 0x48, 0x83, 0xb9, 0xfa, 0xbf, 0x19, 0x4f, 0x6d, 0x84, 0xcb, 0x97, 0x1, 0x18, 0x46, 0x4e, 0xf3, 0x2a, 0xce, 0xaf, 0xdc, 0x1b, 0x4d, 0xf8, 0x4a, 0xd7, 0xd0, 0x31, 0xe9, 0xe3, 0x1a, 0xab, 0xaa, 0xf4, 0xcb, 0x12, 0xfa, 0xc3, 0x1c, 0x90, 0x18, 0x86, 0xfa, 0xa, 0x74, 0x69, 0x41, 0x2, 0xdd, 0x68, 0x3d, 0x75, 0x23, 0x44, 0x91, 0xa2, 0xca, 0xa7, 0xed, 0xdc, 0xe6, 0x74, 0x9f, 0x5b, 0xeb, 0xe8, 0x5c, 0x23, 0xe2, 0x89, 0xaa, 0x4c, 0x84, 0xa9, 0x31, 0xb7, 0x89, 0xfc, 0xf6, 0xc9, 0x1, 0xb3, 0xfd, 0x7d, 0xa3, 0xa2, 0x99, 0xbb, 0x94, 0x70, 0xdc, 0x8b, 0xaa, 0xbd, 0xd2, 0x93, 0x5b, 0xc9, 0xfa, 0xb, 0x12, 0xf3, 0xd7, 0x28, 0xe8, 0xf9, 0x48, 0x9, 0x3c, 0x28, 0xb4, 0xd0, 0x95, 0xbc, 0x8f, 0x52, 0x2e, 0xa2, 0x46, 0xe4, 0xdf, 0xac, 0x48, 0x42, 0x23, 0x8c, 0x6a, 0x97, 0xf2, 0x7, 0xb6, 0xe1, 0xf3, 0x5d, 0xf, 0xae, 0x21, 0xf, 0xfd, 0xcb, 0x16, 0x3a, 0xb0, 0x26, 0xd6, 0xe0, 0xad, 0xad, 0x95, 0xb3, 0xf1, 0xa9, 0x12, 0x6c, 0x6d, 0x5f, 0xfe, 0xf1, 0xb0, 0xd, 0xc1, 0xbd, 0xe7, 0xe, 0x7f, 0x1f, 0x7e, 0xd2, 0x6, 0xc4, 0x66, 0xaa, 0xe4, 0xa2, 0x39, 0xb, 0xd3, 0xb8, 0xf9, 0xdc, 0xda, 0x2, 0x41, 0x8, 0xca, 0x4b, 0xf2, 0x82, 0xcf, 0x95, 0x14, 0xa4, 0xa1, 0x81, 0x2c, 0x24, 0x47, 0x28, 0x58, 0x35, 0x60, 0x1f, 0x5f, 0xbf, 0x4, 0x31, 0xdd, 0xaa, 0x18, 0xd0, 0x11, 0x68, 0xd, 0x2f, 0x9b, 0x2a, 0x2f, 0x70, 0x8c, 0x1, 0x53, 0xe2, 0xbc, 0xd9, 0x11, 0x49, 0x97, 0x2c, 0xb6, 0x3a, 0x98, 0xcf, 0x93, 0x5b, 0xca, 0xb5, 0xb1, 0x8c, 0x4b, 0xc2, 0xd3, 0x47, 0xd, 0xcb, 0x57, 0xbb, 0x1a, 0xf6, 0x7a, 0xa7, 0x3e, 0x0, 0xc7, 0xa6, 0x4b, 0x7f, 0x10, 0x13, 0x31, 0x50, 0xb5, 0x7b, 0xd8, 0xb7, 0x8e, 0x4f, 0xe1, 0x8a, 0x28, 0xf4, 0xdb, 0x2, 0x9a, 0x8a, 0x66, 0xca, 0x2c, 0x8d, 0xef, 0x9a, 0xde, 0x94, 0x56, 0x68, 0xaf, 0x8e, 0x2b, 0x40, 0xb7, 0xfd, 0xee, 0x60, 0x53, 0x43, 0x68, 0x7, 0xc6, 0x52, 0x9d, 0x8, 0x2b, 0x23, 0x10, 0x2f, 0x5b, 0xd8, 0xa1, 0x4e, 0xce, 0x8e, 0x1c, 0x97, 0xf4, 0xf3, 0x37, 0xae, 0x4d, 0xfe, 0x91, 0x7e, 0xe6, 0xcb, 0x6a, 0x49, 0x4a, 0x28, 0x7a, 0x72, 0xcf, 0xb, 0x8c, 0xee, 0x0, 0x2c, 0x5b, 0x4, 0xd9, 0xc0, 0x78, 0xa, 0x9c, 0x65, 0x30, 0xf3, 0x61, 0x46, 0x57, 0xf2, 0xdb, 0xcd, 0xbc, 0x96, 0xe4, 0x8c, 0xb, 0x61, 0x38, 0x2b, 0x7d, 0x1a, 0x3c, 0x4f, 0x58, 0x74, 0x30, 0xf, 0x54, 0x9a, 0x63, 0x6f, 0x2c, 0xe8, 0x65, 0xa2, 0x1e, 0xc1, 0xd4, 0x62, 0x6b, 0xb4, 0xab, 0x2e, 0x68, 0x9e, 0xaa, 0xd7, 0x4a, 0x6f, 0xf, 0xc, 0xe4, 0xe5, 0x20, 0x6, 0x93, 0x7b, 0x76, 0x5a, 0xaf, 0x53, 0x1f, 0xcc, 0x22, 0xad, 0x8a, 0x8, 0xa, 0xdf, 0x91, 0xc7, 0xaf, 0x39, 0x1a, 0xab, 0xf4, 0x2c, 0x7b, 0xe1, 0xb1, 0xd0, 0xf4, 0x9e, 0xe6, 0x50, 0x93, 0xac, 0x2a, 0x85, 0xcd, 0x2d, 0x5, 0xb, 0x23, 0xd3, 0x68, 0x99, 0x85, 0x36, 0x6c, 0x11, 0x9e, 0x9f, 0xcc, 0x33, 0x8, 0x5, 0x57, 0xc3, 0xa8, 0x8e, 0x47, 0xc1, 0x6f, 0xdc, 0x6a, 0x9d, 0xf7, 0xa3, 0x57, 0x2f, 0x22, 0x16, 0x97, 0x7, 0xeb, 0x69, 0xa8, 0xe1, 0x57, 0x89, 0x9a, 0x49, 0xe6, 0x2a, 0x84, 0xd9, 0xc5, 0x78, 0xdf, 0xfe, 0x9a, 0xc3, 0xc6, 0x69, 0x63, 0xd0, 0x9a, 0xa0, 0xb9, 0x47, 0x3, 0x4d, 0x4b, 0x1d, 0x89, 0xa5, 0xe5, 0x2a, 0x74, 0xc5, 0xa8, 0x79, 0x5e, 0x49, 0x86, 0x5b, 0xe6, 0x15, 0x45, 0x4b, 0x32, 0x2a, 0x25, 0x3e, 0x17, 0x54, 0x46, 0x6b, 0x43, 0xdc, 0x74, 0x9d, 0x8d, 0x64, 0x4e, 0x4d, 0xdc, 0xb3, 0xc2, 0xee, 0x66, 0xb0, 0x79, 0x80, 0xe8, 0xa8, 0x3e, 0xb3, 0x1e, 0x2e, 0x46, 0x8b, 0x8c, 0xeb, 0x30, 0x7d, 0x80, 0xe3, 0xfd, 0x5c, 0x22, 0x5e, 0x2c, 0x4c, 0x82, 0xd8, 0xb4, 0x1e, 0x3c, 0x56, 0x96, 0x92, 0x1b, 0x51, 0xe5, 0x69, 0xf, 0xe4, 0x6c, 0xe, 0x4b, 0x2, 0xab, 0xb7, 0x54, 0xe3, 0xfd, 0x9a, 0xdb, 0x9a, 0xff, 0xea, 0xf4, 0x8d, 0x7f, 0x1e, 0xfa, 0xf6, 0xa9, 0xe0, 0xed, 0xaf, 0x39, 0xf0, 0x42, 0x7d, 0xd0, 0x64, 0x9e, 0xd1, 0x45, 0xf, 0x3b, 0xd6, 0xc9, 0xb2, 0x3d, 0x1d, 0x96, 0x92, 0x54, 0xcb, 0x2a, 0x83, 0x27, 0xc1, 0xac, 0x2d, 0x35, 0xb4, 0x5, 0x5, 0x97, 0xf4, 0x68, 0x28, 0x30, 0x43, 0xf6, 0xb2, 0x7a, 0x3d, 0x3c, 0x5b, 0xbd, 0x24, 0x73, 0x91, 0xa9, 0xd3, 0x54, 0x63, 0xbe, 0x78, 0xf3, 0x52, 0xbb, 0x7d, 0xec, 0x21, 0x7, 0x25, 0x8c, 0x34, 0x80, 0xf1, 0x5b, 0xbc, 0x3, 0xfe, 0xba, 0xf5, 0x90, 0x3a, 0xe8, 0x64, 0xdb, 0xbc, 0x7e, 0xcd, 0xf1, 0x99, 0x40, 0x1f, 0x91, 0x6f, 0x3e, 0x4d, 0x62, 0x9c, 0x35, 0xc4, 0x32, 0x8f, 0xb7, 0x17, 0x4d, 0xaf, 0x14, 0xfe, 0xad, 0x23, 0xe2, 0x30, 0xd6, 0xdf, 0x74, 0xa8, 0x47, 0xd5, 0x3, 0xa5, 0xfe, 0x4, 0x69, 0xbe, 0xf6, 0x85, 0x38, 0xfb, 0x37, 0x33, 0x51, 0x6d, 0xc2, 0xcf, 0x19, 0x96, 0x40, 0x52, 0xdb, 0xf2, 0xdd, 0x4b, 0x2, 0x5, 0x20, 0x70, 0x33, 0xa, 0x75, 0x91, 0x9b, 0x17, 0xbf, 0xf5, 0x40, 0xdc, 0xc, 0xa9, 0x74, 0xda, 0x83, 0x81, 0x54, 0xd5, 0xd3, 0x35, 0x9b, 0x60, 0x6f, 0x8d, 0x86, 0x29, 0xfc, 0xc3, 0xf6, 0xcd, 0x35, 0x6a, 0x98, 0xee, 0x1, 0xe4, 0x2f, 0x2d, 0x23, 0x59, 0x52, 0x80, 0x25, 0x7d, 0xaf, 0x96, 0x24, 0x59, 0xf9, 0xd6, 0x5f, 0x2c, 0x29, 0x98, 0xcb, 0xfc, 0x2c, 0xdb, 0x41, 0x2a, 0xe3, 0x61, 0xbc, 0xd3, 0x7a, 0xa7, 0x3, 0x9c, 0xa, 0xd5, 0x39, 0x29, 0xd8, 0x2a, 0xa3, 0x6b, 0xa9, 0xd7, 0xa5, 0xc4, 0x46, 0x90, 0x5c, 0x24, 0xa9, 0x56, 0x36, 0x23, 0x5, 0x3e, 0xc4, 0x2a, 0xf8, 0xc8, 0x48, 0x4f, 0xe8, 0x6a, 0x95, 0x61, 0xf5, 0xac, 0xf5, 0x16, 0x60, 0x5d, 0x6d, 0xcf, 0x92, 0x64, 0x49, 0x3d, 0x9c, 0x5e, 0x5a, 0xea, 0x1, 0xa1, 0xd7, 0x9e, 0x17, 0xa2, 0xaf, 0x1, 0x6d, 0x9, 0xcb, 0x53, 0x98, 0x83, 0x15, 0xb6, 0xa0, 0xa6, 0xe2, 0x1c, 0x20, 0xbd, 0x37, 0xad, 0x5b, 0x27, 0x8a, 0x58, 0x47, 0xa2, 0x22, 0x90, 0x67, 0x56, 0xe2, 0x10, 0x55, 0xb9, 0xbf, 0xcc, 0xa4, 0x2b, 0x1a, 0xc4, 0xb5, 0xe3, 0x1a, 0x33, 0xa4, 0x47, 0x1f, 0x87, 0x17, 0x57, 0xd3, 0xd9, 0xf4, 0xcf, 0x97, 0xc3, 0x4d, 0xe9, 0xd1, 0xfe, 0x67, 0x93, 0xe9, 0x60, 0x3c, 0x9d, 0x4d, 0x2f, 0x30, 0x28, 0x61, 0xe3, 0x97, 0xa7, 0xef, 0x87, 0x67, 0x57, 0x1f, 0x86, 0xea, 0x63, 0x68, 0xd5, 0xf5, 0xe3, 0xad, 0x3d, 0xbf, 0x1f, 0xe, 0xc6, 0xd3, 0x77, 0xc3, 0xc1, 0x74, 0xfb, 0x8b, 0xde, 0x98, 0x34, 0x97, 0x51, 0x59, 0xbe, 0x67, 0xb4, 0x28, 0x6f, 0x18, 0x2d, 0xcf, 0xea, 0x7a, 0x5f, 0x77, 0x15, 0x4f, 0x9d, 0x56, 0x71, 0xa, 0x8f, 0x14, 0x4b, 0x87, 0x8a, 0x24, 0xeb, 0x65, 0x49, 0x76, 0x38, 0xb7, 0x62, 0x77, 0xfd, 0xa, 0x2a, 0xc1, 0x20, 0x68, 0x1, 0xc0, 0x14, 0x42, 0x37, 0x33, 0x9e, 0x5e, 0x6b, 0x9f, 0x8f, 0xda, 0xb8, 0x31, 0xee, 0xff, 0xf0, 0xec, 0x5a, 0x83, 0x51, 0x58, 0xd9, 0x11, 0xbe, 0xb6, 0x5d, 0x6b, 0xf6, 0x0, 0xeb, 0xd8, 0xf, 0xc2, 0xd5, 0xc1, 0xb7, 0x36, 0xf, 0x8c, 0x85, 0x21, 0x6a, 0xea, 0xfe, 0x94, 0xca, 0xbb, 0x53, 0x53, 0xc0, 0xe3, 0x80, 0xe1, 0xaf, 0x2d, 0x44, 0x26, 0x44, 0xc1, 0x58, 0x80, 0x53, 0x33, 0x3c, 0x7a, 0xa4, 0x51, 0xf7, 0x14, 0xcb, 0x25, 0x3c, 0xe9, 0xd4, 0x8b, 0xf, 0x56, 0xd7, 0xf8, 0x48, 0xca, 0x47, 0x3, 0xf0, 0xb0, 0xaf, 0x6b, 0x80, 0xf6, 0xab, 0xc8, 0xc6, 0x91, 0xd1, 0x8f, 0xbc, 0x78, 0xa2, 0xa1, 0xdd, 0x68, 0x8, 0xf6, 0x6d, 0xe2, 0x8d, 0xf8, 0xb5, 0x77, 0x6e, 0xea, 0x4c, 0x27, 0x20, 0xcb, 0x61, 0x7c, 0x8c, 0x92, 0x37, 0xd3, 0x8d, 0x1b, 0x34, 0x15, 0xea, 0xb4, 0xbf, 0x51, 0x1, 0xc4, 0xb8, 0x8e, 0xb2, 0x78, 0x20, 0x99, 0x80, 0x60, 0x8a, 0x92, 0x67, 0xde, 0x94, 0xc9, 0x9c, 0x17, 0x4c, 0x46, 0x21, 0x4d, 0x8f, 0xa6, 0x76, 0xff, 0xa3, 0xe5, 0x1d, 0x53, 0x3, 0x71, 0xc3, 0x52, 0x88, 0x4a, 0x1a, 0xa5, 0x3, 0x1b, 0x35, 0x35, 0xf6, 0xea, 0x6e, 0x75, 0x86, 0xd3, 0xce, 0x3a, 0x57, 0x6f, 0x6d, 0x1c, 0xcf, 0x19, 0x8e, 0x20, 0x37, 0xb3, 0xab, 0x8b, 0xb0, 0xc5, 0x9d, 0xe7, 0x16, 0xa7, 0x36, 0x9d, 0x96, 0xfc, 0x26, 0x63, 0x7a, 0xd8, 0x31, 0x4b, 0x79, 0xc1, 0x92, 0x2f, 0xbd, 0xc8, 0x8d, 0xe3, 0x1e, 0x77, 0xb1, 0x5, 0x5f, 0x2c, 0x58, 0x31, 0x72, 0xe9, 0x38, 0xfb, 0xd9, 0xbf, 0x95, 0x9a, 0x98, 0xd1, 0x55, 0xb7, 0x62, 0x84, 0x56, 0x12, 0xba, 0xf8, 0x65, 0x38, 0xfe, 0x30, 0xb8, 0xdc, 0x5e, 0x88, 0xb0, 0xad, 0xc5, 0xe4, 0xe7, 0xd1, 0x65, 0xc7, 0x4f, 0xdf, 0x5d, 0xfd, 0xf8, 0xe3, 0x70, 0x3c, 0xbb, 0x38, 0x8f, 0xe5, 0xae, 0x2d, 0xd, 0x6, 0x1f, 0x62, 0x98, 0x9c, 0xb6, 0x6, 0x88, 0x5, 0x3e, 0xbb, 0x98, 0xbe, 0x1f, 0x8e, 0x3b, 0x36, 0x71, 0xe5, 0xd, 0x77, 0x69, 0x85, 0x65, 0x2a, 0xc3, 0x89, 0x75, 0x82, 0x90, 0x8c, 0xf0, 0x37, 0xcc, 0xa9, 0x85, 0x45, 0xf8, 0xb8, 0x44, 0x2c, 0xac, 0x7a, 0x75, 0xf9, 0xe6, 0x22, 0xfe, 0xba, 0xc0, 0x52, 0xba, 0x8f, 0x5f, 0xbe, 0xa1, 0xfe, 0x13, 0x22, 0x74, 0x1, 0x87, 0x34, 0x31, 0x89, 0xb1, 0x9d, 0x13, 0xdd, 0x75, 0x6d, 0xc5, 0x18, 0xbd, 0xe2, 0x18, 0xa5, 0x57, 0x97, 0x11, 0xa3, 0x12, 0x74, 0xa8, 0xb5, 0xd1, 0xc6, 0xd4, 0x3d, 0xe8, 0xe0, 0xe0, 0xc7, 0x4b, 0xf2, 0xc9, 0x16, 0x21, 0xce, 0xd8, 0x97, 0xf6, 0x12, 0xb1, 0x26, 0xef, 0xd0, 0x5e, 0xe1, 0x5e, 0x2d, 0x2e, 0xa3, 0xd8, 0x18, 0xeb, 0xfc, 0x4, 0xf9, 0x5c, 0xd4, 0xa, 0x14, 0x68, 0x4, 0x66, 0x73, 0xd4, 0x48, 0x25, 0xc6, 0x3f, 0xed, 0x89, 0x93, 0x5b, 0xd7, 0x25, 0x3d, 0xd0, 0xce, 0x83, 0x96, 0xa4, 0xe, 0x61, 0xb2, 0x62, 0x49, 0xeb, 0x8a, 0x9e, 0x63, 0xc, 0xa2, 0xfa, 0x8e, 0x8c, 0xce, 0x10, 0x79, 0xf7, 0xf3, 0x8a, 0x6b, 0xed, 0x34, 0x85, 0x64, 0x3e, 0x6d, 0x14, 0xab, 0xa4, 0x33, 0x9f, 0x95, 0x78, 0xd6, 0x96, 0xfc, 0x9f, 0x7f, 0x11, 0x4b, 0x7d, 0xb7, 0x4a, 0xc9, 0x8d, 0x74, 0xb7, 0x57, 0xc1, 0xa, 0x34, 0x13, 0xec, 0x6e, 0xa3, 0x9f, 0x16, 0xee, 0xce, 0xa8, 0x7, 0xc, 0xe4, 0x1, 0xdd, 0x59, 0x2f, 0x44, 0x45, 0x80, 0x3f, 0x27, 0x22, 0x47, 0x6b, 0x91, 0x24, 0x2f, 0x56, 0x5, 0x43, 0xe9, 0xe6, 0xd5, 0x3d, 0x97, 0x1c, 0xc3, 0x8c, 0x67, 0x10, 0x79, 0xac, 0x23, 0x2b, 0xaf, 0xf2, 0x15, 0xad, 0xe4, 0xd7, 0x8f, 0x9a, 0x69, 0x45, 0x1b, 0xde, 0x89, 0xea, 0x9b, 0xaa, 0x49, 0x1f, 0xee, 0x39, 0x5c, 0x15, 0xe2, 0x9e, 0xa7, 0x80, 0x75, 0xa5, 0x63, 0x12, 0x3c, 0xf3, 0xb6, 0x19, 0xda, 0x32, 0xc6, 0x5, 0xbf, 0x67, 0xb9, 0xfb, 0xbb, 0x9f, 0x8e, 0x63, 0x3a, 0x34, 0x78, 0x33, 0xb6, 0x37, 0xc4, 0x10, 0xcd, 0x14, 0x8b, 0xaf, 0x2f, 0x65, 0x87, 0x80, 0xa2, 0x6, 0x2a, 0x1f, 0x9d, 0x99, 0x2d, 0xb4, 0x33, 0x85, 0xbc, 0x5, 0x35, 0xb4, 0x17, 0x65, 0xb0, 0x8f, 0x8f, 0x75, 0xc, 0x91, 0x1a, 0xb5, 0x13, 0x12, 0xc5, 0xe6, 0xf5, 0x7c, 0xb3, 0x78, 0xd, 0xc9, 0x94, 0xa2, 0xa6, 0x36, 0xbf, 0xc1, 0x55, 0xba, 0xe5, 0xd2, 0x5d, 0x2, 0xd, 0x60, 0x10, 0x5, 0x97, 0x60, 0xd1, 0xd6, 0x95, 0x93, 0x32, 0x29, 0xb4, 0x11, 0xd0, 0xe5, 0xfe, 0x42, 0x91, 0x77, 0x3d, 0x54, 0x34, 0x3, 0x6b, 0x0, 0xfa, 0x62, 0x53, 0xb8, 0x35, 0x23, 0x58, 0x3c, 0x73, 0x6f, 0x6, 0x87, 0xc1, 0x68, 0x57, 0xc8, 0x1d, 0x2, 0x72, 0x72, 0xbd, 0xff, 0x27, 0x57, 0x4a, 0xe4, 0xd7, 0x56, 0x2b, 0x9d, 0x6b, 0xdf, 0x23, 0x71, 0xd8, 0x17, 0xac, 0x75, 0x47, 0x4b, 0x42, 0x49, 0x41, 0xf3, 0x54, 0x2c, 0xd1, 0x4b, 0xe1, 0xd5, 0x19, 0x71, 0x7e, 0x7a, 0x9c, 0xbb, 0x35, 0x44, 0x7, 0x87, 0x26, 0xaa, 0x22, 0x61, 0x7b, 0x5c, 0xf, 0xdd, 0x52, 0xdd, 0x11, 0x8, 0xc4, 0x11, 0x55, 0xc9, 0xf3, 0x45, 0x1f, 0xd2, 0x50, 0xc0, 0x4c, 0xfd, 0xcc, 0xdc, 0x99, 0xb7, 0xff, 0xe5, 0x95, 0x98, 0xfe, 0x9f, 0x67, 0x21, 0x8e, 0x8c, 0x97, 0xc0, 0x23, 0xa, 0xf2, 0xcc, 0xac, 0xf1, 0xed, 0x7f, 0x99, 0xff, 0x72, 0x6d, 0xea, 0xf7, 0x8e, 0x9b, 0x8c, 0xa3, 0x76, 0xc6, 0xbe, 0x8f, 0x97, 0x3d, 0xea, 0xed, 0xb7, 0xf6, 0x3a, 0xfc, 0x46, 0x25, 0xb9, 0x6f, 0xc2, 0x37, 0x3b, 0x8, 0x90, 0x71, 0x2c, 0x9f, 0x49, 0xd3, 0xf7, 0xae, 0x63, 0xa9, 0x6d, 0x18, 0xa3, 0x33, 0xeb, 0xcd, 0xd4, 0xcc, 0xc4, 0xf3, 0x56, 0xef, 0x83, 0x54, 0xaf, 0x29, 0x11, 0x9c, 0x33, 0x6, 0xa7, 0xd3, 0x4f, 0x79, 0x53, 0x23, 0x9b, 0x40, 0x62, 0xd5, 0x9f, 0x57, 0x27, 0x54, 0xd3, 0x70, 0xd6, 0x90, 0x85, 0xbd, 0x85, 0x15, 0x6f, 0x1e, 0xf4, 0xe9, 0xcd, 0xf1, 0xdf, 0x9c, 0xdf, 0xe1, 0xab, 0xb0, 0x39, 0x35, 0x62, 0x8b, 0x8, 0x7d, 0xdd, 0xc8, 0x8f, 0xf7, 0x63, 0xc3, 0xfb, 0x4f, 0x5, 0x47, 0xb, 0xe7, 0xf2, 0xd5, 0xc3, 0x2e, 0x3b, 0xb3, 0x75, 0x27, 0x7a, 0x1c, 0x43, 0xc2, 0x6f, 0x90, 0x59, 0x5d, 0x8c, 0x1d, 0x6, 0xb4, 0x69, 0xce, 0x4, 0xe5, 0xf0, 0x79, 0x50, 0x10, 0xfa, 0x98, 0x92, 0x72, 0xdb, 0xa8, 0xe8, 0x1d, 0xa6, 0x99, 0x2d, 0xa6, 0xe8, 0x69, 0x20, 0x91, 0x77, 0xbc, 0xf6, 0x94, 0x68, 0xe6, 0x1a, 0xb3, 0xd6, 0x6f, 0x26, 0x74, 0x1f, 0x4f, 0xe0, 0xdc, 0x14, 0x70, 0xb6, 0x77, 0x30, 0xf6, 0x80, 0x54, 0x39, 0xff, 0x5b, 0x65, 0x16, 0x39, 0xe7, 0xac, 0x70, 0x26, 0x37, 0x33, 0xba, 0xee, 0x1d, 0x1, 0x47, 0x53, 0xb6, 0x5c, 0x89, 0x92, 0xe5, 0x9, 0xf3, 0x8b, 0xe5, 0x5d, 0x5d, 0x8d, 0xce, 0xee, 0xff, 0x65, 0xdb, 0x75, 0x3a, 0xc2, 0x1d, 0x37, 0x9d, 0x60, 0x9a, 0x98, 0xac, 0x92, 0x84, 0x49, 0x39, 0xaf, 0xb2, 0xd6, 0x51, 0xc3, 0x43, 0xc1, 0x78, 0x84, 0x1a, 0x43, 0xd0, 0xf1, 0x8, 0x8f, 0xe6, 0xc2, 0x77, 0x93, 0x88, 0x9e, 0x94, 0xfc, 0x27, 0x25, 0xbf, 0xf2, 0xb, 0xfb, 0x9b, 0x79, 0x1c, 0xa3, 0x8, 0xf0, 0x20, 0xec, 0xab, 0xbd, 0x8c, 0x9b, 0xd9, 0x71, 0x5d, 0xb4, 0xb9, 0x4f, 0x2e, 0x35, 0x58, 0x12, 0xa6, 0xc6, 0x61, 0x9c, 0x1f, 0x4d, 0x12, 0xb6, 0x2a, 0x75, 0xa5, 0xbb, 0x44, 0xe4, 0x65, 0x21, 0x4c, 0xd1, 0x7e, 0xfc, 0x6c, 0xb6, 0xa4, 0xf2, 0xce, 0xc9, 0xa6, 0xf0, 0xbb, 0x8f, 0x51, 0xbd, 0xca, 0x2e, 0x1b, 0x78, 0x8a, 0x7d, 0x9b, 0x34, 0x78, 0x5d, 0x9b, 0x2, 0x1d, 0xea, 0x56, 0x61, 0xd4, 0x53, 0xbd, 0xb6, 0xcf, 0x85, 0x36, 0x1f, 0x7a, 0x9d, 0xda, 0x6c, 0x3f, 0xd5, 0xc1, 0x49, 0x30, 0xb9, 0x82, 0xc9, 0x52, 0x14, 0xec, 0xa2, 0xe0, 0xb, 0x9e, 0xd3, 0xdd, 0xa5, 0xe7, 0xd6, 0xd8, 0x7c, 0x8f, 0x7c, 0x5d, 0x5, 0x6c, 0x9c, 0xa0, 0x1e, 0xd3, 0x26, 0x76, 0x6a, 0xf, 0x42, 0x74, 0xed, 0x34, 0x8e, 0xbc, 0x6d, 0xad, 0x76, 0x1e, 0xca, 0x3, 0xd8, 0x5f, 0x58, 0x51, 0x90, 0x4a, 0xed, 0xaa, 0x43, 0x17, 0x6a, 0xbd, 0xc6, 0xe5, 0x1a, 0x23, 0x10, 0xbd, 0xd0, 0x7c, 0x44, 0x1d, 0x33, 0x4c, 0xc9, 0xf, 0x62, 0xf7, 0xda, 0x19, 0x29, 0x59, 0x3, 0x5e, 0xdc, 0x30, 0x92, 0x88, 0xe5, 0xd, 0xc0, 0xe1, 0x23, 0x56, 0x58, 0x6e, 0x42, 0x45, 0x71, 0x4e, 0x7f, 0x80, 0xfa, 0x23, 0xa2, 0x2, 0xf4, 0xa3, 0x18, 0xff, 0x58, 0xaf, 0x7a, 0x26, 0xf4, 0x56, 0x93, 0x52, 0x2c, 0x10, 0xf9, 0xf, 0xf5, 0x1a, 0xaf, 0x1f, 0x69, 0xe2, 0xc4, 0xf0, 0xa9, 0x72, 0xfb, 0xf6, 0x9f, 0x50, 0x9e, 0xf3, 0x77, 0x68, 0xd0, 0xd8, 0xf2, 0x92, 0xed, 0x67, 0x93, 0x7f, 0x4, 0xc, 0x44, 0xc7, 0x1, 0xd2, 0x5c, 0x73, 0x81, 0x86, 0xd5, 0xfe, 0x36, 0x9f, 0xeb, 0x27, 0xab, 0xcb, 0xd3, 0x43, 0xd6, 0x7d, 0x3, 0xbf, 0xc2, 0x43, 0xb6, 0xa7, 0x69, 0x6b, 0x8b, 0x59, 0xb, 0x56, 0x7c, 0xa8, 0x55, 0x6b, 0x85, 0xce, 0xd0, 0x66, 0xa3, 0x56, 0xb3, 0x3d, 0xb, 0x22, 0xe9, 0xf6, 0xb2, 0x66, 0x6d, 0x1a, 0xac, 0xff, 0xf4, 0xec, 0xff, 0xe, 0x9e, 0xfd, 0xb6, 0x83, 0x38, 0xbf, 0x98, 0xe, 0xdf, 0x92, 0x3b, 0xc6, 0x56, 0x50, 0x9c, 0x7d, 0x9d, 0x27, 0x9a, 0xa8, 0x7d, 0x7c, 0x3b, 0xa8, 0x9a, 0xda, 0xbf, 0x7f, 0xd3, 0xf, 0xab, 0x99, 0x36, 0x3e, 0x49, 0xff, 0xcb, 0x3b, 0x94, 0xd8, 0x18, 0xd5, 0x45, 0xf5, 0xbc, 0x6e, 0x7a, 0xdc, 0x7f, 0xa7, 0x6f, 0xfa, 0x56, 0xeb, 0x5d, 0x27, 0x9, 0x27, 0xd8, 0x31, 0x87, 0x22, 0xf4, 0x91, 0x95, 0x14, 0x4a, 0x1f, 0xef, 0xb6, 0x59, 0xd5, 0x4a, 0xb2, 0xa2, 0x1c, 0xe6, 0x65, 0xc1, 0x8f, 0x54, 0x9e, 0xa8, 0x43, 0x54, 0xbb, 0x9f, 0x34, 0xbd, 0x14, 0xf7, 0xac, 0x75, 0xf8, 0xe, 0xf9, 0xac, 0x9d, 0x90, 0x47, 0x74, 0xdd, 0xed, 0x3b, 0xb6, 0x96, 0x98, 0x58, 0xa4, 0x46, 0x75, 0x59, 0x3c, 0x4b, 0xbd, 0x77, 0xdb, 0x6e, 0xf, 0x64, 0xf2, 0x53, 0x69, 0xb9, 0x85, 0x87, 0x39, 0xf6, 0x50, 0xf0, 0x92, 0xb9, 0x2a, 0xdc, 0xc8, 0x61, 0x4d, 0xbf, 0x3a, 0xd5, 0x1a, 0xd9, 0x1a, 0x25, 0xe, 0x43, 0xa7, 0xdf, 0x78, 0x7d, 0xbc, 0xf3, 0xb5, 0x22, 0xd8, 0x1e, 0x19, 0x1a, 0xfe, 0x2a, 0xb6, 0x3d, 0x47, 0xe2, 0x21, 0x67, 0xc5, 0x70, 0x49, 0xf9, 0x76, 0x84, 0x5a, 0x9f, 0xc8, 0xe, 0x22, 0x94, 0x3d, 0xec, 0x36, 0x3, 0x75, 0x84, 0x27, 0x1a, 0xdb, 0x86, 0xae, 0x10, 0xa7, 0x2c, 0x5f, 0x93, 0xa4, 0x92, 0xa5, 0x58, 0x42, 0xbe, 0xfb, 0xaa, 0x2a, 0x56, 0x42, 0xc6, 0xd5, 0x85, 0x46, 0x58, 0x17, 0x9c, 0xd0, 0xac, 0x60, 0x34, 0x5d, 0xeb, 0x1c, 0x37, 0x13, 0x36, 0x63, 0x25, 0xe4, 0x5e, 0xd8, 0xa, 0xf3, 0x5e, 0x21, 0x6a, 0x9d, 0x15, 0xb, 0xe6, 0xd2, 0x6f, 0x2c, 0x30, 0xdc, 0x1d, 0x5b, 0x63, 0x50, 0x9b, 0xc, 0x41, 0x58, 0xb7, 0xe6, 0xc4, 0x9c, 0xf, 0x3e, 0xe, 0x27, 0x97, 0x83, 0x53, 0xc8, 0x74, 0x99, 0x6e, 0x4a, 0x8b, 0x89, 0xbf, 0x1c, 0xf, 0x7f, 0x1a, 0x4d, 0xa6, 0xc3, 0xf1, 0xd6, 0xf, 0xcf, 0x86, 0x97, 0xe3, 0xe1, 0xe9, 0x60, 0xda, 0xe1, 0x43, 0x88, 0x40, 0x3e, 0xcc, 0xa4, 0x76, 0xce, 0x1e, 0xdc, 0x3e, 0xe2, 0x1e, 0xf4, 0xc, 0x18, 0x24, 0x6c, 0x21, 0x3e, 0x51, 0x90, 0x7c, 0x5f, 0xd0, 0x1c, 0xc3, 0xb7, 0x4d, 0xb2, 0x17, 0xcd, 0x32, 0xf1, 0x50, 0xcb, 0x63, 0x1d, 0xe0, 0x6f, 0xbd, 0xef, 0xe1, 0xa9, 0xf, 0xb7, 0x92, 0x90, 0x31, 0x5b, 0x70, 0x59, 0x2, 0x7a, 0xfb, 0xc9, 0x1f, 0xc9, 0x5f, 0xc8, 0x19, 0x83, 0x18, 0x6d, 0xf2, 0xdf, 0xde, 0x9d, 0x22, 0xff, 0x4d, 0xde, 0xd3, 0x3c, 0x15, 0x6a, 0x36, 0x7f, 0x8d, 0xda, 0xdb, 0x3f, 0x40, 0x6b, 0xaf, 0xb7, 0xbf, 0x36, 0x4b, 0x1d, 0x5c, 0x6e, 0x3a, 0x3d, 0x2d, 0xbe, 0x72, 0x69, 0xc0, 0x2d, 0x31, 0xe5, 0xb, 0x77, 0x64, 0x63, 0x20, 0x67, 0x74, 0xe3, 0xbf, 0xb4, 0xb2, 0x87, 0x3c, 0x2a, 0x6, 0xea, 0xdd, 0xc4, 0xbd, 0x1b, 0x58, 0x92, 0x17, 0x7, 0x1d, 0xa4, 0xad, 0x6f, 0xeb, 0xca, 0x76, 0x12, 0x17, 0xef, 0x2b, 0xd8, 0x2a, 0xd3, 0xd5, 0x6b, 0x4f, 0xf7, 0xeb, 0x71, 0x1c, 0xf7, 0xe0, 0x3a, 0x97, 0x2c, 0xa9, 0xa, 0x5e, 0xae, 0xa7, 0xe2, 0x8e, 0x75, 0x41, 0xea, 0x50, 0x74, 0xf4, 0x8e, 0xa6, 0xef, 0x78, 0x4e, 0x8b, 0xed, 0xa, 0xa1, 0x6, 0xf3, 0x3a, 0x6f, 0x3f, 0x81, 0x2d, 0x2, 0xb3, 0xee, 0x80, 0x64, 0x22, 0xa1, 0x99, 0x77, 0x99, 0x4a, 0x41, 0x16, 0x99, 0xb8, 0xf1, 0x7f, 0xd7, 0x27, 0xa3, 0x45, 0xe, 0x82, 0x32, 0x9f, 0x7b, 0x5f, 0x2a, 0x85, 0x56, 0x73, 0xb8, 0x5a, 0x8b, 0x66, 0x1a, 0xdb, 0x4b, 0xc2, 0xca, 0x9b, 0x5e, 0xa5, 0xce, 0x7, 0xf4, 0xdb, 0xa3, 0x9b, 0x39, 0xe5, 0x99, 0xe2, 0x10, 0x5d, 0xc1, 0xf4, 0xb8, 0xfc, 0x9, 0x76, 0xbf, 0x23, 0x29, 0xe8, 0x43, 0x61, 0x9f, 0x2b, 0x39, 0xcc, 0x53, 0x48, 0x2, 0xdd, 0xef, 0xf2, 0xef, 0xae, 0xdf, 0x4e, 0x80, 0x41, 0x9f, 0x2c, 0x58, 0xe, 0x55, 0x7f, 0x53, 0xe3, 0x1d, 0x63, 0x7a, 0x1e, 0x81, 0xa7, 0xe3, 0x7e, 0x4f, 0x2c, 0x41, 0xf5, 0xf0, 0xde, 0x7b, 0xc8, 0xa2, 0xf0, 0xac, 0x9a, 0x11, 0xfa, 0x88, 0x26, 0x89, 0x69, 0x61, 0xc6, 0xd3, 0x79, 0x1f, 0xe3, 0xf3, 0xc5, 0x21, 0xcb, 0x9b, 0x4e, 0xd4, 0xec, 0xa1, 0x8b, 0x4c, 0x6e, 0xdc, 0xe0, 0xbd, 0x28, 0xdf, 0xcc, 0xfa, 0x20, 0xa5, 0xc2, 0xcc, 0xa1, 0x55, 0x9b, 0x80, 0x1d, 0x5b, 0x9, 0x59, 0x6a, 0xeb, 0xb, 0x94, 0x92, 0x30, 0x15, 0xcb, 0x6c, 0xde, 0x92, 0x94, 0x15, 0xf3, 0x33, 0xc3, 0x8d, 0xd5, 0xc6, 0xd6, 0x2e, 0x85, 0x74, 0x6d, 0xff, 0xde, 0x8f, 0xd9, 0x7c, 0xc7, 0xf5, 0x7e, 0x9, 0xa0, 0x24, 0xfd, 0xf0, 0x6c, 0xa3, 0xd5, 0x9a, 0x75, 0xd, 0x4, 0xb8, 0x9c, 0xb1, 0x14, 0xad, 0x4f, 0xd4, 0x2, 0xac, 0x28, 0x81, 0x7e, 0xce, 0xa, 0xd, 0xa4, 0xa9, 0x73, 0x9d, 0xb3, 0x35, 0xe1, 0xf9, 0xbd, 0xb8, 0x63, 0xe, 0x13, 0x5a, 0xef, 0x82, 0xbf, 0x23, 0x13, 0xad, 0xe5, 0x7f, 0x65, 0xcb, 0xea, 0xd4, 0x17, 0x3a, 0x2d, 0x12, 0x90, 0xb1, 0x38, 0x58, 0x5, 0xc2, 0xa3, 0x7f, 0xfd, 0xb7, 0x43, 0x53, 0x1d, 0xbb, 0x8c, 0x71, 0x10, 0x6d, 0x9b, 0xd, 0xed, 0x8a, 0x66, 0x3b, 0xd5, 0xd9, 0xfc, 0x66, 0x70, 0xc4, 0x4f, 0x98, 0x8b, 0xaa, 0x20, 0x50, 0xde, 0x2e, 0x2c, 0xeb, 0x6e, 0xa7, 0xff, 0x42, 0x31, 0x84, 0x1e, 0xa8, 0xfa, 0x22, 0x8f, 0xa4, 0x76, 0x48, 0xa4, 0x1, 0x0, 0x10, 0x90, 0xb9, 0x6c, 0x75, 0x85, 0x8c, 0x26, 0x2c, 0x25, 0x89, 0xce, 0xe1, 0xcb, 0xd6, 0x6, 0x39, 0x1, 0xe5, 0x77, 0x5b, 0xc3, 0x72, 0xc9, 0xa4, 0xa4, 0xb, 0x6f, 0x5f, 0xd4, 0xb, 0x95, 0xf1, 0xa4, 0xec, 0x26, 0x35, 0x6c, 0x5b, 0x2e, 0xb7, 0xb5, 0x7d, 0xec, 0xd8, 0x6a, 0x75, 0x66, 0x90, 0x59, 0xa9, 0x46, 0x31, 0xb8, 0xaf, 0xa6, 0x68, 0x86, 0x23, 0x53, 0xe4, 0x5a, 0xd1, 0x8a, 0x51, 0xe4, 0x4, 0x29, 0x5b, 0x97, 0x6b, 0xf1, 0x6c, 0xcc, 0xea, 0xa8, 0xd5, 0x3, 0x66, 0x60, 0xaf, 0xec, 0x1e, 0xde, 0x52, 0x49, 0x6e, 0x18, 0xcb, 0x6d, 0x6d, 0xe7, 0xb0, 0x53, 0x1f, 0xa8, 0xc2, 0xcc, 0x43, 0x23, 0x66, 0x70, 0x19, 0x5c, 0x25, 0xfb, 0x33, 0x9a, 0xdb, 0x8a, 0xfa, 0xe1, 0x50, 0x91, 0xad, 0x94, 0x54, 0xb9, 0x4d, 0x52, 0xa0, 0x59, 0xb6, 0x6e, 0x12, 0x8b, 0x6f, 0xd6, 0xa5, 0x57, 0xb, 0xeb, 0xb7, 0x86, 0xf9, 0xb7, 0x39, 0xcc, 0x4, 0xad, 0x3, 0x3b, 0x46, 0x99, 0x10, 0x10, 0x60, 0x69, 0x91, 0xdc, 0xd6, 0xb3, 0x8f, 0xc9, 0x5e, 0x57, 0x35, 0xea, 0xac, 0x33, 0xf2, 0xba, 0x39, 0x55, 0x9c, 0xd, 0xa1, 0xb6, 0x7, 0x1d, 0xd6, 0x54, 0xb3, 0x88, 0xc3, 0xcf, 0x99, 0xf0, 0x52, 0xc2, 0x6c, 0xf1, 0x76, 0x6d, 0x15, 0xd5, 0xba, 0xd2, 0x3, 0x45, 0x7e, 0xae, 0x77, 0x8, 0x68, 0x28, 0x1e, 0xa4, 0x86, 0x76, 0x9b, 0x8b, 0xfc, 0x24, 0xaf, 0xb2, 0xc, 0x23, 0x30, 0x34, 0xd7, 0xd6, 0xb1, 0x7f, 0x3a, 0x5c, 0xb1, 0x71, 0xa6, 0x34, 0xd7, 0x2d, 0x96, 0x74, 0x15, 0x63, 0x50, 0x43, 0xda, 0x92, 0x9a, 0x98, 0xb6, 0xef, 0x42, 0x25, 0xaa, 0x4d, 0xb3, 0x32, 0xf0, 0xd3, 0x4d, 0xaf, 0xca, 0x75, 0x74, 0x5d, 0x55, 0xbf, 0x4b, 0x84, 0xd0, 0x96, 0xc2, 0xce, 0xf1, 0xda, 0xdc, 0x96, 0x6b, 0xdc, 0x9a, 0x3f, 0xa0, 0xdd, 0xf7, 0x81, 0x4b, 0x6, 0x28, 0x3f, 0xb0, 0xa0, 0x2a, 0xb7, 0x4b, 0x32, 0xc, 0xd3, 0xf6, 0xbd, 0x64, 0x4b, 0x71, 0x10, 0x41, 0x7c, 0x64, 0xcb, 0xf6, 0x12, 0x2a, 0x6d, 0x44, 0xa0, 0x46, 0xc5, 0x27, 0x18, 0x18, 0x6c, 0xdf, 0xda, 0xf9, 0xf5, 0x2f, 0x30, 0x6f, 0x49, 0x5d, 0x82, 0x2, 0x3f, 0x3e, 0xe, 0x59, 0x34, 0xf4, 0xb4, 0x91, 0x12, 0x92, 0x8c, 0xd1, 0x22, 0x6a, 0x19, 0x1f, 0xd6, 0x5e, 0x81, 0xf1, 0x8, 0x87, 0x1c, 0x56, 0xf5, 0xff, 0xd2, 0xd2, 0x44, 0x67, 0x6e, 0xd8, 0xbd, 0xb0, 0x7a, 0x4d, 0x2f, 0xc8, 0x58, 0xa2, 0xc1, 0x58, 0xfd, 0x5a, 0x61, 0x75, 0xa9, 0xa1, 0xf4, 0x6b, 0xe0, 0x6c, 0xb3, 0x7a, 0x41, 0xca, 0xfb, 0x7f, 0x5c, 0xd, 0xaf, 0x86, 0x5b, 0xc1, 0x60, 0xa2, 0x2f, 0x4d, 0xd6, 0xfc, 0x96, 0xcf, 0x6, 0xa7, 0xd3, 0xd1, 0x2f, 0xa3, 0x69, 0x5c, 0xb5, 0x26, 0xfe, 0xec, 0x7c, 0xf8, 0xa7, 0xab, 0xc9, 0xf6, 0x2d, 0x69, 0xcc, 0xb5, 0xc5, 0xd, 0xc0, 0x92, 0xf7, 0xb4, 0x64, 0x1f, 0xf8, 0x92, 0x1f, 0xa6, 0xe, 0x6c, 0x22, 0xa1, 0x99, 0x1d, 0x2, 0xbf, 0xea, 0x7a, 0x3d, 0xb5, 0x8b, 0xf, 0xcb, 0x8c, 0x54, 0xec, 0xe4, 0x81, 0xa7, 0xba, 0x78, 0x62, 0xa6, 0x3a, 0x6b, 0xcd, 0xd6, 0x35, 0x88, 0x99, 0x1, 0x8a, 0x10, 0x44, 0x46, 0x36, 0x20, 0x71, 0x5b, 0x7f, 0xd2, 0x0, 0x7b, 0x85, 0x4b, 0xac, 0x85, 0x2a, 0x57, 0x56, 0xdd, 0x24, 0x3a, 0xe7, 0x7f, 0xd0, 0x78, 0x49, 0xda, 0xc3, 0x47, 0x17, 0x4a, 0xbe, 0xc3, 0x82, 0x12, 0x4c, 0xb2, 0x86, 0x39, 0x1, 0x57, 0x54, 0x93, 0x9e, 0x41, 0xf7, 0xd7, 0x86, 0x37, 0xa0, 0x4c, 0x72, 0x1d, 0x6d, 0xd, 0x54, 0x8e, 0xb4, 0xe2, 0x87, 0x36, 0xf1, 0x7, 0xc6, 0xda, 0xa6, 0xf5, 0xe3, 0x69, 0xfe, 0x48, 0x79, 0x91, 0x33, 0x29, 0x7f, 0x66, 0x6b, 0xdb, 0xab, 0x36, 0xf7, 0x3d, 0xe2, 0xa3, 0xf5, 0x33, 0xab, 0xe7, 0x7a, 0x5, 0x60, 0x91, 0xfe, 0x2, 0x7, 0xfd, 0x95, 0x8e, 0x43, 0xb2, 0xd2, 0x9c, 0xc5, 0x27, 0xc6, 0x17, 0xb7, 0xe5, 0x85, 0xa6, 0x9e, 0xe3, 0xf8, 0xa6, 0xb0, 0x61, 0xad, 0xf8, 0x40, 0x1b, 0xd6, 0x7d, 0x37, 0x87, 0xb6, 0x21, 0x70, 0xe4, 0x96, 0xf6, 0x20, 0x1e, 0x60, 0xfe, 0x20, 0xdd, 0x41, 0xc9, 0x43, 0x97, 0x65, 0xe0, 0x9f, 0x55, 0x5c, 0x1e, 0xca, 0xfb, 0x13, 0x9a, 0xc6, 0x33, 0x2e, 0x4b, 0xaf, 0xc2, 0xfe, 0x92, 0xae, 0xf0, 0x41, 0x3, 0x1f, 0x2e, 0xd6, 0x44, 0xb2, 0x3b, 0xea, 0x66, 0xf2, 0x82, 0xcf, 0x9, 0xcd, 0xd7, 0x2f, 0xfd, 0xec, 0x97, 0x5d, 0xf6, 0xf6, 0x48, 0x8e, 0xb7, 0x96, 0x1d, 0x43, 0x6a, 0x40, 0xc0, 0x34, 0x3b, 0xf9, 0x78, 0xe3, 0xdc, 0x62, 0xf6, 0xdc, 0x42, 0xec, 0x7, 0x9b, 0x27, 0xa2, 0x28, 0xe0, 0x7d, 0x4f, 0xb5, 0xd7, 0x46, 0x92, 0x39, 0x55, 0x3a, 0x9, 0x4d, 0xee, 0xcc, 0x55, 0xd2, 0x7a, 0xa0, 0x62, 0x62, 0x1a, 0xd5, 0x12, 0x5e, 0x3e, 0x5b, 0x69, 0xde, 0xec, 0x69, 0x24, 0xcd, 0x89, 0x22, 0xbe, 0x8b, 0x66, 0x1, 0x73, 0xf2, 0xa6, 0xff, 0xba, 0xbf, 0x55, 0x4c, 0x88, 0x19, 0xc1, 0x8e, 0x62, 0x43, 0x71, 0x94, 0x47, 0xc8, 0xce, 0xa1, 0x95, 0xd, 0xa9, 0x2f, 0x8, 0x7c, 0x12, 0x8a, 0xf9, 0x9e, 0xb2, 0x74, 0x20, 0x72, 0xf9, 0xc3, 0x2d, 0xbe, 0x1d, 0x8e, 0x31, 0x40, 0xfc, 0x86, 0x7d, 0x1b, 0x5a, 0x36, 0x71, 0x2f, 0x43, 0xde, 0x6e, 0x66, 0xe7, 0x68, 0x4c, 0xdf, 0xaa, 0x88, 0x15, 0x65, 0xbe, 0x8e, 0xdc, 0xd7, 0x1a, 0x9f, 0x67, 0x1, 0x7a, 0x59, 0x41, 0x6e, 0x58, 0x26, 0xf2, 0x85, 0xd2, 0x70, 0x7e, 0xdb, 0xd9, 0x20, 0x10, 0xe, 0xaa, 0x8b, 0x9d, 0xe8, 0xa5, 0x69, 0x40, 0xa4, 0x9e, 0xb1, 0xa0, 0x58, 0x80, 0x12, 0x5a, 0xa5, 0xbc, 0xac, 0xbb, 0x7e, 0x1f, 0xbc, 0xb3, 0x39, 0x38, 0x6, 0xd1, 0x74, 0xd4, 0xf5, 0x9d, 0xde, 0x3f, 0x98, 0xae, 0x1e, 0xa4, 0xe4, 0x36, 0xc0, 0x7f, 0xae, 0x4b, 0x41, 0x2, 0xb9, 0xe9, 0xcb, 0xc4, 0xde, 0xe1, 0xd0, 0x33, 0x1c, 0x7a, 0xcf, 0xc0, 0x3b, 0x9, 0xea, 0x84, 0x28, 0x8e, 0x70, 0x8, 0x13, 0xdd, 0x55, 0xbb, 0xf1, 0x9c, 0xcd, 0x79, 0x6e, 0xcb, 0xc2, 0x99, 0x22, 0x4b, 0x51, 0x2d, 0x38, 0x1f, 0x5f, 0xeb, 0xeb, 0x84, 0x4a, 0x7b, 0x42, 0xf1, 0xa2, 0x10, 0xd5, 0x4a, 0xbf, 0x43, 0xfd, 0x56, 0x56, 0xb2, 0x17, 0x5b, 0xfb, 0xba, 0x14, 0xdf, 0x46, 0x99, 0x7d, 0x84, 0xfa, 0x83, 0xb8, 0xb4, 0xb2, 0x2a, 0x72, 0x74, 0x53, 0x22, 0x4, 0xad, 0x83, 0x34, 0x33, 0xd5, 0xa4, 0x29, 0x51, 0x32, 0x62, 0x66, 0xba, 0xaa, 0xef, 0x48, 0xad, 0x54, 0xda, 0xa9, 0x58, 0xae, 0xaa, 0xf2, 0x2b, 0x29, 0xdb, 0xe9, 0x37, 0x2d, 0xfe, 0x56, 0x4f, 0x48, 0x4c, 0xfc, 0xc5, 0x4f, 0x12, 0x9a, 0xf1, 0x7c, 0xf1, 0x93, 0xa2, 0xa8, 0x2f, 0x1f, 0xbe, 0x75, 0xda, 0x36, 0xf4, 0x6e, 0x1a, 0x8c, 0x4b, 0x77, 0xc, 0x6e, 0x87, 0x5e, 0x98, 0x26, 0x25, 0x22, 0xb1, 0x7f, 0xbc, 0x2d, 0x68, 0xb0, 0x4b, 0xa1, 0xfa, 0xa2, 0xb6, 0x2, 0x99, 0xd4, 0x2c, 0xdc, 0xd1, 0xc8, 0xa8, 0xd4, 0x10, 0x61, 0x85, 0x42, 0x67, 0xeb, 0x12, 0xbe, 0x9c, 0x10, 0xbc, 0xef, 0x72, 0xe3, 0x28, 0x35, 0x5c, 0x68, 0xe3, 0xda, 0xf6, 0x7d, 0xdf, 0xdd, 0xd4, 0xbe, 0x95, 0xa1, 0xbc, 0x16, 0xe0, 0xb5, 0xc1, 0x6e, 0x8e, 0x81, 0xbc, 0xfb, 0xd8, 0xcd, 0xe1, 0x67, 0x34, 0x57, 0xac, 0x6, 0xa, 0xab, 0x7b, 0xf1, 0xb3, 0x3e, 0xa0, 0xf2, 0xe8, 0x4c, 0xd7, 0x45, 0xe3, 0xec, 0x9e, 0xa5, 0x3d, 0x5d, 0xfe, 0xf, 0xca, 0xd, 0xa7, 0x10, 0x11, 0x14, 0x24, 0x60, 0xe6, 0xe2, 0x44, 0xc4, 0x86, 0x63, 0x80, 0xdd, 0x6, 0x89, 0x5, 0x82, 0x80, 0xbd, 0xd2, 0x88, 0x66, 0x44, 0xfd, 0x40, 0xd8, 0x31, 0x1d, 0x7b, 0x1, 0x9e, 0x44, 0xfe, 0x99, 0xdc, 0x98, 0x1a, 0xb3, 0x5c, 0x82, 0x8d, 0xba, 0x28, 0x4c, 0x49, 0xf4, 0x96, 0xc2, 0x42, 0x9e, 0x59, 0x34, 0x22, 0x2a, 0xa1, 0x96, 0x5c, 0xa3, 0x9b, 0xb0, 0xfc, 0xdd, 0x2e, 0x9c, 0x76, 0x7f, 0xb, 0x69, 0x4b, 0xff, 0x26, 0x6a, 0xf5, 0x4b, 0x33, 0xf1, 0x7d, 0x43, 0x17, 0xe2, 0x10, 0xdd, 0x8d, 0xe5, 0xf, 0x1f, 0xdb, 0x4b, 0xf1, 0x14, 0xdb, 0xdb, 0x10, 0xdb, 0xfb, 0xcd, 0x99, 0xe5, 0xb6, 0x2b, 0x5c, 0x49, 0x56, 0x9c, 0xa4, 0x20, 0xc4, 0xa6, 0x2e, 0x82, 0xf8, 0xe0, 0x9b, 0xec, 0x6e, 0xda, 0x5e, 0x82, 0xe5, 0x32, 0xa, 0x2f, 0xdf, 0x8b, 0xa4, 0xa3, 0xa9, 0xb4, 0x92, 0xf2, 0x8f, 0x15, 0x84, 0xdc, 0x9a, 0xe0, 0x69, 0x8, 0xa5, 0x5f, 0xb1, 0x42, 0x29, 0x18, 0xa6, 0xac, 0x59, 0x55, 0xb, 0xe5, 0x68, 0xc3, 0xdc, 0xff, 0xa6, 0xa1, 0x1d, 0xc0, 0xd2, 0x43, 0xc4, 0xcc, 0x4f, 0x35, 0xc4, 0xcc, 0x8d, 0x41, 0x36, 0x5f, 0x30, 0x5f, 0xae, 0x21, 0x14, 0x23, 0x9a, 0x23, 0x19, 0xa1, 0xaa, 0xfa, 0x42, 0xac, 0x8c, 0xaf, 0xfe, 0xa5, 0x7a, 0x4, 0xd1, 0xe, 0x97, 0x60, 0xb2, 0x78, 0x8a, 0xa5, 0x5a, 0xc4, 0x3c, 0x7a, 0xb, 0x5b, 0x20, 0x9c, 0xbf, 0x7b, 0xfd, 0xfd, 0xdb, 0xb7, 0xa6, 0xbf, 0xdd, 0xe1, 0x9b, 0xe7, 0x34, 0x93, 0x8c, 0x20, 0xfe, 0xf3, 0xbd, 0x85, 0x8a, 0x74, 0x75, 0x30, 0x1e, 0x44, 0x91, 0x92, 0x67, 0xa6, 0xff, 0x67, 0x8d, 0x58, 0xce, 0x31, 0x89, 0x1c, 0x77, 0xbf, 0xb7, 0xe5, 0x8a, 0xd8, 0xcd, 0x75, 0xf9, 0x8a, 0x47, 0xc8, 0xc0, 0x3b, 0x86, 0x19, 0x20, 0x22, 0x88, 0x6d, 0x56, 0x81, 0xb0, 0x14, 0x5a, 0x6b, 0x6e, 0x5e, 0x6c, 0xce, 0x10, 0xda, 0x8b, 0x4d, 0xb1, 0xc7, 0x1e, 0x58, 0x5c, 0xd1, 0xaa, 0x8, 0xce, 0x5b, 0xb5, 0x4c, 0x83, 0x1, 0x62, 0x12, 0x29, 0xa8, 0xbc, 0xb, 0xb0, 0xba, 0x4d, 0x75, 0x66, 0xad, 0xd6, 0xdf, 0x30, 0xb2, 0xac, 0xca, 0x38, 0xe8, 0x60, 0x63, 0x26, 0xe0, 0xe3, 0x79, 0x3, 0xbc, 0x5d, 0xff, 0x59, 0x1b, 0xf5, 0xc9, 0x8a, 0x16, 0x74, 0xc9, 0x4a, 0x56, 0xc8, 0x20, 0x4f, 0x2b, 0xa0, 0xcb, 0x93, 0x1d, 0xb2, 0xb6, 0xda, 0x88, 0xb4, 0xbf, 0xa1, 0x43, 0xb, 0xed, 0x7b, 0xff, 0xa6, 0x7f, 0x29, 0x64, 0x9, 0xf5, 0x57, 0x6c, 0xbf, 0xfd, 0xb0, 0xe3, 0xa0, 0xbf, 0x6d, 0xc, 0x79, 0x6f, 0xd3, 0xc6, 0x63, 0xbe, 0xbc, 0xfa, 0x9d, 0xea, 0xf0, 0x30, 0x3d, 0xbd, 0x48, 0x4f, 0x2f, 0x92, 0xfe, 0x79, 0x34, 0x95, 0x2f, 0xf5, 0xbe, 0x1d, 0xa7, 0xf2, 0x65, 0xc3, 0x25, 0xc1, 0x44, 0x9f, 0xb0, 0xd7, 0xb8, 0xc, 0x66, 0x6b, 0xe5, 0xcb, 0x91, 0xc7, 0xd6, 0x1f, 0x28, 0x2f, 0xeb, 0x8, 0xf7, 0xbb, 0xd3, 0xa4, 0xed, 0xa6, 0x73, 0xc4, 0x93, 0x5e, 0xa9, 0xd4, 0x6c, 0xfe, 0xb9, 0x84, 0x8a, 0x11, 0x68, 0xc3, 0x54, 0xb3, 0x2, 0xbd, 0xfe, 0xca, 0xc4, 0xf6, 0xc9, 0x2a, 0x2b, 0xe3, 0x58, 0x35, 0x8c, 0x96, 0x98, 0xba, 0x30, 0x27, 0xb5, 0xad, 0x32, 0xca, 0xf6, 0x1d, 0x5c, 0x8e, 0xf0, 0xdc, 0x74, 0x85, 0x25, 0x97, 0x50, 0x4, 0x2e, 0x31, 0xa0, 0xab, 0xb0, 0x5b, 0x9d, 0x65, 0x65, 0xbe, 0x7f, 0xb1, 0xd4, 0x25, 0x4, 0x61, 0x52, 0xea, 0xb7, 0x2f, 0x75, 0x54, 0x56, 0xf0, 0x19, 0x97, 0x88, 0xc5, 0xd, 0x35, 0xc9, 0xe6, 0xa2, 0x88, 0xaa, 0x90, 0x42, 0x9d, 0x11, 0x77, 0xba, 0xba, 0x55, 0xcf, 0x4d, 0xf, 0x4d, 0xbb, 0x12, 0xf2, 0xa3, 0x15, 0x61, 0xb9, 0x6f, 0x25, 0x94, 0xea, 0xd7, 0xa9, 0x5d, 0x5, 0x83, 0xcc, 0xc7, 0x38, 0x56, 0x2b, 0x81, 0x42, 0x80, 0xfa, 0x8f, 0xba, 0x85, 0x91, 0x1b, 0x74, 0x31, 0x3f, 0x1b, 0x5a, 0x50, 0xe8, 0x7, 0xa3, 0x66, 0x6e, 0x3a, 0xcc, 0xe3, 0x89, 0x7d, 0xec, 0xc2, 0x8b, 0x8c, 0xd, 0x27, 0x28, 0xa4, 0xab, 0x24, 0x11, 0x33, 0xf3, 0x94, 0x65, 0xfc, 0x1e, 0x2d, 0x45, 0xea, 0x0, 0xd5, 0xe5, 0xa7, 0x6b, 0x92, 0x8a, 0x87, 0x5c, 0xfb, 0x88, 0xc3, 0x5d, 0xa8, 0xdf, 0x93, 0x6d, 0x2, 0x42, 0x5b, 0x59, 0x94, 0xef, 0xff, 0xa5, 0x85, 0x6f, 0xb5, 0xf0, 0x2c, 0x4d, 0xa6, 0xe3, 0xcb, 0x53, 0x49, 0x52, 0x91, 0x3f, 0x2f, 0x75, 0x59, 0x3d, 0xf2, 0x93, 0x10, 0x8b, 0xc, 0x12, 0x59, 0xb5, 0xf8, 0xe4, 0xaa, 0xa1, 0xb4, 0xbe, 0x66, 0x7b, 0x3d, 0xe7, 0x55, 0x9c, 0x91, 0xb0, 0xd7, 0x21, 0xda, 0xbc, 0x86, 0x76, 0x50, 0x90, 0x5c, 0x54, 0x8b, 0xdb, 0xe0, 0xc8, 0xc0, 0xb3, 0x58, 0xdd, 0x48, 0x75, 0x9a, 0x79, 0x49, 0x56, 0x2, 0xe2, 0xa6, 0xb3, 0x4c, 0x42, 0x32, 0x15, 0x24, 0x18, 0xf4, 0xc9, 0x39, 0x14, 0xa1, 0x54, 0x2, 0xa9, 0x23, 0x3b, 0x5d, 0x13, 0xfb, 0xa0, 0x19, 0x5f, 0x60, 0x1f, 0xbb, 0x90, 0x9d, 0x1e, 0xd6, 0xb0, 0x4a, 0x7d, 0x76, 0x10, 0x8d, 0x90, 0x62, 0x64, 0xaa, 0xe6, 0xeb, 0x51, 0xa2, 0x43, 0x48, 0x9, 0xb7, 0x54, 0xda, 0xe0, 0xf7, 0xb4, 0x8f, 0x1, 0x3d, 0x20, 0x99, 0x6a, 0x7c, 0x39, 0x2e, 0xc9, 0xd, 0x83, 0xb8, 0x1c, 0xe3, 0xb3, 0x41, 0xb6, 0xe0, 0x8f, 0x79, 0x4b, 0x65, 0xd8, 0xa9, 0xed, 0x10, 0xf1, 0x17, 0xbc, 0x8, 0x4e, 0xb8, 0x12, 0x1a, 0x1a, 0x21, 0xf0, 0x52, 0xc2, 0x5d, 0xdf, 0x16, 0x28, 0x78, 0x75, 0x79, 0x36, 0x98, 0xba, 0xa8, 0xbf, 0xd9, 0xf0, 0x4f, 0xc3, 0xd3, 0xab, 0xe9, 0xe8, 0xe2, 0x7c, 0xf6, 0x61, 0xf4, 0xe3, 0xf0, 0xf4, 0xcf, 0xa7, 0x1f, 0x20, 0xf5, 0xf2, 0xa7, 0x4d, 0x21, 0x84, 0xdd, 0xfb, 0x18, 0x9c, 0x7d, 0x1c, 0x4d, 0xeb, 0x79, 0xb2, 0x3b, 0x74, 0x70, 0x7a, 0x3a, 0xbc, 0x3c, 0xa4, 0x3, 0x5b, 0x6, 0xe8, 0xb0, 0xc7, 0x7f, 0x6a, 0x1e, 0x77, 0x5d, 0x1f, 0x34, 0x25, 0x19, 0x9f, 0xb3, 0x64, 0x9d, 0x64, 0x4c, 0xf3, 0x58, 0x60, 0x57, 0x3e, 0x15, 0x49, 0x72, 0x97, 0x6b, 0xfe, 0x74, 0x4b, 0xef, 0x23, 0x9a, 0xd1, 0xfc, 0xb9, 0x47, 0x1e, 0xa0, 0x18, 0x6b, 0xd4, 0x19, 0xaa, 0xa7, 0xa2, 0x0, 0xdb, 0x78, 0xd8, 0x70, 0xaf, 0xf3, 0x23, 0xff, 0xb6, 0x6f, 0x27, 0xe6, 0x0, 0xf, 0xe8, 0x41, 0x9f, 0xe0, 0xfe, 0x3d, 0xd8, 0x23, 0x8c, 0x9e, 0xba, 0x20, 0x37, 0xb8, 0xc1, 0x2d, 0x1a, 0x5f, 0x62, 0x7c, 0xa6, 0x9f, 0x4b, 0xe2, 0x3f, 0xe3, 0x61, 0x97, 0x8, 0x60, 0xb, 0x55, 0xa1, 0xf0, 0xfd, 0xac, 0xdf, 0x54, 0xf3, 0x17, 0xe8, 0x11, 0x4e, 0xde, 0xbd, 0xcf, 0xf8, 0xac, 0xc6, 0x27, 0x8d, 0x4f, 0x9b, 0x93, 0x8b, 0xb0, 0x64, 0xab, 0xd7, 0x73, 0x22, 0xf2, 0x92, 0x7d, 0x2e, 0x49, 0xca, 0x68, 0x9a, 0xf1, 0x9c, 0x19, 0xf1, 0xe1, 0xf, 0x5a, 0x20, 0x52, 0x33, 0x8e, 0x24, 0x93, 0x25, 0x5d, 0x23, 0x63, 0x28, 0xa0, 0x1c, 0x29, 0xf4, 0xa2, 0x5e, 0x46, 0x2a, 0xd, 0x9f, 0x6d, 0x50, 0xd7, 0xbd, 0x84, 0x68, 0xc9, 0x8a, 0xd2, 0x30, 0xb5, 0x38, 0x5d, 0xe1, 0xb0, 0x42, 0x6c, 0x8f, 0xb6, 0xac, 0x17, 0xd9, 0x92, 0xe6, 0xb1, 0x7b, 0x46, 0xc7, 0x95, 0x64, 0xc5, 0x9e, 0xe8, 0x20, 0xb2, 0x5a, 0x2e, 0xa3, 0xd4, 0xe7, 0x9d, 0x1f, 0xbc, 0x9a, 0x5f, 0x60, 0x8b, 0x98, 0x7d, 0x2b, 0x8a, 0xf2, 0x44, 0xd1, 0x2, 0x1, 0x6a, 0x3, 0x86, 0xa5, 0xc1, 0x3a, 0x1, 0x55, 0x13, 0xa7, 0xd4, 0x47, 0x31, 0x7a, 0x85, 0x9d, 0x7b, 0x76, 0x20, 0x4a, 0x9e, 0xfd, 0xa7, 0x14, 0xf9, 0xab, 0x55, 0x46, 0x79, 0xfe, 0xec, 0x84, 0xe5, 0x89, 0x50, 0xa2, 0xa4, 0xfe, 0x30, 0xba, 0x47, 0x60, 0x45, 0x92, 0x2e, 0x2, 0xe1, 0xff, 0x4c, 0x2e, 0xce, 0xf5, 0x61, 0x83, 0x94, 0x50, 0xa9, 0x77, 0x31, 0x47, 0x59, 0x18, 0x24, 0xae, 0x39, 0x4d, 0x98, 0xec, 0x63, 0x55, 0x67, 0xfb, 0xb, 0x4d, 0xb9, 0x10, 0xc5, 0xa8, 0x28, 0xbe, 0xa6, 0xe8, 0xd0, 0xd5, 0x2a, 0x5b, 0xdb, 0xbc, 0x4c, 0x58, 0x16, 0xc4, 0x3d, 0x9b, 0x9a, 0x37, 0xcf, 0x4a, 0x5e, 0x66, 0xec, 0x19, 0x91, 0xbc, 0xac, 0xa8, 0xb6, 0x4, 0x4e, 0xc1, 0xa, 0x84, 0xab, 0x3, 0x33, 0xb8, 0x64, 0x89, 0xd1, 0xa4, 0x8c, 0x22, 0x50, 0xa, 0xf2, 0x2f, 0xaf, 0x5f, 0x87, 0x63, 0x41, 0xde, 0x94, 0x52, 0x3d, 0x6b, 0xd0, 0x49, 0x69, 0xbd, 0x2, 0xe9, 0x97, 0x3e, 0xcc, 0xf, 0x22, 0x5f, 0xb4, 0x9e, 0xa5, 0x41, 0xe, 0x7f, 0xc4, 0x27, 0x69, 0xe, 0x2e, 0x1e, 0xcc, 0x9c, 0x22, 0xcf, 0xe1, 0x36, 0xb, 0xe8, 0xb8, 0xf3, 0x99, 0x7d, 0xf7, 0xfa, 0xf5, 0xeb, 0xd7, 0xad, 0x7, 0x15, 0x42, 0x57, 0x7b, 0x62, 0x2b, 0xc5, 0xd9, 0x27, 0x34, 0xd7, 0x71, 0xc7, 0xf3, 0x92, 0xe5, 0x76, 0x71, 0x37, 0xeb, 0xda, 0xe2, 0xa0, 0xc3, 0x5f, 0x68, 0xc6, 0x9f, 0x42, 0x69, 0x9e, 0x42, 0x69, 0x9e, 0x42, 0x69, 0x7e, 0x13, 0xa1, 0x34, 0x8d, 0xde, 0xe1, 0x7b, 0x7d, 0x87, 0x9b, 0x16, 0xab, 0x4, 0x7, 0x51, 0x95, 0x1a, 0x62, 0x4a, 0x2d, 0x9b, 0xeb, 0xa8, 0xba, 0x2d, 0xde, 0xe2, 0xdd, 0x18, 0xc3, 0x3e, 0x91, 0x1f, 0xba, 0xa7, 0xb3, 0x82, 0xf2, 0x9c, 0x2e, 0xf6, 0x81, 0xb0, 0x92, 0x25, 0x2d, 0x2b, 0xb9, 0x4d, 0x59, 0xfc, 0x65, 0x38, 0x9e, 0x28, 0x89, 0xfc, 0x6c, 0x3c, 0x18, 0x9d, 0x2b, 0x51, 0x7c, 0x32, 0x1d, 0x4c, 0xaf, 0x26, 0x1b, 0x54, 0xc3, 0xb6, 0x16, 0xf0, 0xef, 0xd1, 0xf9, 0x4f, 0xbb, 0x7c, 0x7e, 0xa8, 0xce, 0x36, 0x61, 0x70, 0x5e, 0x66, 0x68, 0x5b, 0x5c, 0xdf, 0x41, 0x66, 0x20, 0x1e, 0x61, 0x29, 0x56, 0x52, 0xfb, 0x2, 0xd5, 0x29, 0xe7, 0xcc, 0x3, 0xc6, 0x97, 0xe4, 0x5, 0x98, 0xdb, 0xa0, 0xc0, 0xae, 0x7a, 0x23, 0x34, 0x8e, 0x86, 0x28, 0x48, 0x41, 0x97, 0x2b, 0x9e, 0x2f, 0x5e, 0x46, 0x5a, 0x89, 0x3f, 0x2a, 0x80, 0x16, 0xb1, 0x5c, 0xb5, 0x5f, 0x2a, 0x61, 0x5f, 0xac, 0x58, 0x4e, 0x56, 0x3c, 0x7, 0x30, 0x43, 0x2d, 0x27, 0x4b, 0x4c, 0xd4, 0x40, 0xc4, 0x2c, 0x2e, 0xeb, 0x8, 0x1d, 0x1b, 0x6a, 0xa0, 0x9f, 0x62, 0x46, 0xd1, 0x3e, 0xb5, 0x29, 0x3f, 0x50, 0x89, 0x26, 0x4c, 0x4c, 0xb0, 0xd0, 0x94, 0xa4, 0xe9, 0x82, 0x34, 0xa4, 0x2a, 0x35, 0x17, 0x8f, 0x74, 0x33, 0x61, 0xc9, 0xdd, 0x31, 0x66, 0x22, 0xd7, 0xb2, 0x64, 0x4b, 0x92, 0x60, 0x7f, 0xc0, 0x40, 0xed, 0xe4, 0xc, 0x5a, 0xe7, 0x86, 0x2d, 0x8a, 0x67, 0xd7, 0x46, 0x1f, 0xc1, 0xf3, 0x7f, 0x3, 0xc6, 0x60, 0x63, 0xe2, 0xb1, 0xc3, 0x29, 0xc5, 0x9d, 0x65, 0x2b, 0x1b, 0x3b, 0xa2, 0xe4, 0x2a, 0x56, 0x2c, 0x95, 0x82, 0x6, 0xa7, 0x8a, 0x41, 0x6c, 0x92, 0xce, 0x3d, 0x8d, 0xaf, 0x14, 0x24, 0x65, 0x4a, 0x72, 0xe1, 0x52, 0xa2, 0x68, 0x61, 0x58, 0x3, 0x39, 0x87, 0xf2, 0x13, 0x4c, 0x6a, 0xa5, 0x25, 0x73, 0x74, 0xa8, 0x54, 0x97, 0x1a, 0x5d, 0xf5, 0xfd, 0x9b, 0xbe, 0xc7, 0xd, 0xd7, 0x3d, 0x76, 0xd5, 0x70, 0xc6, 0x2c, 0x63, 0x54, 0x46, 0x10, 0x42, 0x5, 0x2c, 0x85, 0xe5, 0x69, 0x58, 0x5c, 0x71, 0xe7, 0x7e, 0x78, 0x2e, 0xcb, 0xa2, 0x4a, 0x6a, 0x5e, 0xc5, 0x46, 0xf2, 0xa0, 0x19, 0x2b, 0x9a, 0x6a, 0xfc, 0x74, 0x78, 0xe9, 0x36, 0x2, 0x4e, 0xaa, 0x6e, 0x9f, 0x7, 0x44, 0xab, 0xd3, 0x5e, 0xe, 0xa9, 0x30, 0x1c, 0x51, 0x98, 0x77, 0x5c, 0xa0, 0xd5, 0xc3, 0x43, 0xaa, 0xc5, 0x71, 0x4d, 0x67, 0xe6, 0xa4, 0x31, 0x65, 0xd3, 0xee, 0x2f, 0x29, 0x70, 0xe3, 0xc, 0x51, 0x48, 0xa5, 0xca, 0x3f, 0x30, 0x54, 0xe9, 0x71, 0x4b, 0xd0, 0x7f, 0xbf, 0x5a, 0x14, 0x34, 0x65, 0xc1, 0x96, 0x6, 0xa4, 0xb2, 0xa7, 0x42, 0xca, 0xbe, 0x55, 0x30, 0x5b, 0x8c, 0xef, 0x50, 0xdc, 0xf0, 0xb2, 0xa0, 0xc5, 0xda, 0x1, 0x12, 0x86, 0xeb, 0xe3, 0xf9, 0xc2, 0xa4, 0xd7, 0xed, 0xb8, 0x44, 0x64, 0xbc, 0xc7, 0x88, 0xb3, 0xf2, 0xe6, 0x30, 0xbb, 0x84, 0x5e, 0xcd, 0x3f, 0x5b, 0xd7, 0x65, 0x3e, 0xa8, 0x95, 0xe3, 0xb9, 0xa5, 0xf7, 0x8c, 0x60, 0x27, 0xe4, 0x86, 0xdd, 0xd2, 0x7b, 0xee, 0x82, 0x52, 0x9, 0xa1, 0x55, 0x29, 0xae, 0xf0, 0xc8, 0xeb, 0x47, 0xb3, 0x5, 0xf5, 0x6c, 0xf3, 0x90, 0x3, 0xd7, 0x73, 0xc3, 0xb8, 0xe6, 0x37, 0x1d, 0x25, 0x84, 0xd1, 0xf9, 0x4f, 0xb3, 0x77, 0xc3, 0xf7, 0x83, 0x5f, 0x46, 0x17, 0xe3, 0xed, 0xd2, 0x41, 0xf0, 0xf5, 0xe5, 0xe8, 0xfc, 0xbc, 0xd3, 0x87, 0x83, 0xab, 0xe9, 0xc5, 0xec, 0xea, 0xf2, 0xa7, 0xf1, 0xe0, 0x6c, 0x78, 0x98, 0x60, 0x50, 0xd7, 0x57, 0xe0, 0xa7, 0x16, 0x93, 0x6a, 0x12, 0x25, 0xaf, 0xb7, 0x3e, 0xc6, 0x4e, 0xff, 0x3a, 0x88, 0xbc, 0x9c, 0xac, 0xd8, 0x55, 0x4d, 0x31, 0x4b, 0x21, 0x7c, 0x6e, 0xcf, 0x4c, 0xbd, 0x27, 0xd7, 0xb8, 0xad, 0xd7, 0x1a, 0x4, 0xec, 0x86, 0x61, 0x4, 0x50, 0xfc, 0x95, 0xbf, 0xa7, 0xd7, 0x71, 0x54, 0xb7, 0x9, 0x14, 0xf, 0x52, 0x6c, 0xbc, 0xa8, 0xea, 0x52, 0xa8, 0x2b, 0x15, 0x53, 0x57, 0xd7, 0x4d, 0xed, 0xe3, 0x75, 0xec, 0xd7, 0xa3, 0x7d, 0xf1, 0xf, 0x5d, 0x21, 0xe1, 0x8e, 0xb5, 0x3f, 0xf4, 0x6, 0x5e, 0xe6, 0xe8, 0xbb, 0x5c, 0x94, 0xee, 0xdb, 0x1d, 0xf7, 0xc7, 0x3c, 0xef, 0xcd, 0xfb, 0xd4, 0x33, 0x4e, 0x58, 0x24, 0xa8, 0xb0, 0xef, 0x67, 0xff, 0xe6, 0xc5, 0x43, 0xe7, 0x74, 0xc9, 0xfe, 0xd8, 0xff, 0x37, 0x88, 0x5e, 0x9f, 0xf1, 0xf4, 0x8f, 0xcf, 0xe, 0xdd, 0xe2, 0x8d, 0x28, 0xbc, 0xa5, 0x70, 0x15, 0xd4, 0x3d, 0x61, 0x59, 0x49, 0xc6, 0x76, 0x63, 0x5e, 0xa8, 0x97, 0x48, 0xcb, 0xb1, 0xf5, 0x5, 0xf7, 0xc0, 0xf8, 0xbe, 0x2, 0xd0, 0xbf, 0x9b, 0x8c, 0xbd, 0x84, 0x10, 0x5b, 0x37, 0x65, 0x1b, 0x51, 0xd2, 0x50, 0x86, 0x2a, 0xc, 0xb2, 0x70, 0xf3, 0xa0, 0x77, 0x4c, 0x12, 0xe3, 0x65, 0x4d, 0xb0, 0xb4, 0xbb, 0xde, 0xf1, 0x13, 0x38, 0xb6, 0x18, 0x2a, 0x96, 0x4c, 0x18, 0x23, 0xd7, 0x35, 0x97, 0xaa, 0x7a, 0x98, 0xfb, 0x8e, 0x89, 0xab, 0x7f, 0x5e, 0x83, 0x8c, 0x9, 0xe2, 0xb9, 0xe7, 0xca, 0xec, 0xff, 0x2f, 0xd7, 0xd5, 0x54, 0xf8, 0x59, 0xf6, 0x66, 0x52, 0x3d, 0x34, 0xb8, 0x5f, 0x6f, 0xe, 0xc9, 0xba, 0x36, 0xf9, 0xa, 0xea, 0xfa, 0xb9, 0x2e, 0xaf, 0xeb, 0xf, 0xc9, 0x75, 0x2f, 0x88, 0xcf, 0xbb, 0xf6, 0x22, 0x10, 0xaf, 0xbb, 0x46, 0xe8, 0xb9, 0x1, 0xa2, 0x7, 0xc5, 0xcb, 0xf9, 0x86, 0xc0, 0xc7, 0xaa, 0x14, 0x6a, 0x9d, 0x98, 0xd3, 0xc1, 0xf3, 0x5b, 0x56, 0xe8, 0xf8, 0x7, 0x92, 0xdc, 0xf2, 0xcc, 0x53, 0x4e, 0x7a, 0xee, 0x94, 0xa, 0x6, 0x12, 0x42, 0xf, 0x4, 0x1b, 0x9e, 0x57, 0xec, 0x84, 0xca, 0x93, 0x9c, 0x3d, 0xb8, 0x41, 0xbd, 0x56, 0x10, 0x51, 0x59, 0x8, 0x57, 0xd9, 0xa9, 0xf5, 0x11, 0x8f, 0x1e, 0xd0, 0x1d, 0xdf, 0xf4, 0xae, 0xef, 0x14, 0x5e, 0xe1, 0xd9, 0xc5, 0x2f, 0xc3, 0xf1, 0x78, 0x74, 0x36, 0xec, 0xf2, 0x58, 0xb5, 0x36, 0xa9, 0xbd, 0x58, 0x7b, 0xf0, 0x25, 0x8d, 0x81, 0x1, 0x36, 0x94, 0x2e, 0x73, 0xab, 0x29, 0x99, 0x8c, 0x5c, 0x87, 0x1b, 0xf7, 0x4e, 0xef, 0x4, 0xd2, 0x73, 0xad, 0x78, 0x64, 0xcb, 0xc3, 0xd5, 0x90, 0xbe, 0xf1, 0xc5, 0xcd, 0x85, 0xad, 0xe1, 0x3f, 0x8d, 0x6, 0x24, 0x43, 0x32, 0x8e, 0x8d, 0xea, 0x8c, 0xec, 0xe6, 0xf7, 0xc6, 0x67, 0xf8, 0x5e, 0x24, 0x9e, 0x6d, 0x60, 0x71, 0x91, 0x11, 0xcc, 0x55, 0x33, 0x31, 0x30, 0xeb, 0x58, 0xb5, 0x32, 0xe2, 0xf3, 0x73, 0x22, 0x96, 0xbc, 0x34, 0x71, 0xc2, 0x2d, 0x9d, 0x86, 0x1d, 0x22, 0x4a, 0x1b, 0x9b, 0xcf, 0x59, 0x52, 0xf2, 0xd8, 0xf7, 0xab, 0xc7, 0x34, 0xcf, 0x83, 0x71, 0x5d, 0x6, 0x10, 0x1e, 0xe1, 0x37, 0xfb, 0x4d, 0x9, 0xea, 0x1d, 0x7a, 0xd3, 0xb1, 0xec, 0x34, 0xae, 0x91, 0x2, 0x3f, 0x71, 0xc1, 0x3, 0xc3, 0xb8, 0x2e, 0xb, 0x66, 0x21, 0xe5, 0x7e, 0xa4, 0x3c, 0x63, 0xa9, 0x9f, 0x38, 0xf5, 0xa9, 0x16, 0x34, 0xd6, 0xf1, 0xe2, 0x5a, 0x8f, 0xf7, 0xe4, 0x29, 0x6a, 0xe1, 0x8b, 0x45, 0x2d, 0x8c, 0xf4, 0x9b, 0x21, 0x7d, 0x7, 0xf6, 0xb6, 0xc0, 0x5, 0x0, 0x50, 0x3, 0x2f, 0x77, 0x63, 0xf8, 0x9a, 0xd, 0x53, 0x3, 0x13, 0x2b, 0x7a, 0xdb, 0x9f, 0xa2, 0xf1, 0x9a, 0xa2, 0xf1, 0x1a, 0x18, 0x6e, 0x8, 0x5, 0xb6, 0x77, 0xdc, 0xe3, 0xa7, 0x86, 0x64, 0xf4, 0x1d, 0xdd, 0xf3, 0xa7, 0x6a, 0xba, 0x13, 0xfe, 0xf7, 0x6, 0xb5, 0x52, 0x4d, 0x62, 0x11, 0x78, 0x2b, 0xcc, 0x4a, 0x78, 0x5e, 0x7e, 0xff, 0x9d, 0xfd, 0xbd, 0xe4, 0xcb, 0x55, 0xc6, 0x2e, 0x45, 0x96, 0xb1, 0xe2, 0x5d, 0xc3, 0x3b, 0xdc, 0x35, 0xb, 0x7e, 0x36, 0x69, 0xe8, 0xe8, 0x79, 0xa0, 0x2, 0x6b, 0xc7, 0xc3, 0x11, 0xc6, 0x1a, 0xb4, 0xf5, 0xf6, 0xbc, 0xb6, 0xb3, 0xed, 0xdf, 0xee, 0x9a, 0xe2, 0xc5, 0x73, 0x6c, 0xdf, 0x60, 0x5e, 0xa9, 0x6f, 0xf6, 0xc6, 0x2c, 0xde, 0x92, 0x64, 0xc, 0xec, 0xa5, 0x8, 0x59, 0x94, 0xaf, 0xfd, 0x20, 0x3b, 0x5d, 0x4f, 0xfa, 0x81, 0xae, 0x25, 0x68, 0x34, 0x58, 0xc3, 0x9a, 0xa5, 0xe4, 0x5, 0x95, 0xb2, 0x82, 0xc, 0x2f, 0x99, 0x89, 0x52, 0xcb, 0x80, 0xf7, 0x94, 0x67, 0x20, 0x9f, 0x47, 0xb7, 0xf7, 0xd4, 0x16, 0xde, 0xf9, 0x3b, 0x2b, 0x44, 0x13, 0x41, 0x87, 0x64, 0xb0, 0xa4, 0x9f, 0xf7, 0x5d, 0xdd, 0xa0, 0xc4, 0xa0, 0xaa, 0xf6, 0xd5, 0x40, 0xac, 0xe0, 0x8d, 0xb6, 0x9c, 0xd3, 0x92, 0x8, 0xc8, 0x47, 0x36, 0x3a, 0xdb, 0x1f, 0x7f, 0x20, 0xd7, 0x4b, 0x9e, 0x2b, 0x2e, 0xd0, 0xa8, 0xa3, 0x87, 0x13, 0x45, 0xff, 0x50, 0x76, 0xa4, 0xa3, 0x98, 0x6, 0x73, 0x76, 0x85, 0x96, 0xdc, 0xae, 0xeb, 0xf1, 0xb2, 0xb5, 0x89, 0xf5, 0x31, 0xee, 0xb3, 0x3b, 0x9e, 0xdc, 0xa9, 0xbb, 0xee, 0x16, 0xa2, 0x21, 0x61, 0xc3, 0x83, 0x70, 0x6b, 0x83, 0x57, 0xfe, 0x5a, 0xf3, 0xbb, 0x2d, 0x2b, 0xdd, 0x7a, 0xb3, 0x76, 0x25, 0xde, 0x9d, 0x8e, 0xb7, 0x6d, 0x3e, 0x4e, 0x9e, 0xdb, 0xc3, 0x94, 0xad, 0x14, 0xe0, 0x5d, 0xed, 0x0, 0x9e, 0x76, 0xde, 0xe0, 0xb0, 0x73, 0x3b, 0xaf, 0xb3, 0xe2, 0xbd, 0xa2, 0xe5, 0x11, 0xb0, 0x3f, 0x71, 0x52, 0xf2, 0x4, 0x22, 0x64, 0xf6, 0xcd, 0xb9, 0xdd, 0x45, 0x84, 0x56, 0x9b, 0x34, 0x6b, 0x91, 0xab, 0x71, 0x16, 0x9d, 0xa3, 0xeb, 0xeb, 0x92, 0xb4, 0xc4, 0x27, 0x5f, 0x31, 0x1, 0x6d, 0x8c, 0xce, 0xd6, 0xa4, 0x2c, 0x28, 0x38, 0x5c, 0x8c, 0x84, 0xed, 0xef, 0xd5, 0x80, 0xd4, 0x26, 0x61, 0xc8, 0x3d, 0xa4, 0xd8, 0x24, 0x63, 0x54, 0x89, 0xad, 0xd5, 0x2a, 0x56, 0x31, 0xe7, 0x36, 0x6e, 0x1b, 0xc3, 0xa1, 0xd5, 0x35, 0xb0, 0x62, 0xa5, 0x24, 0x4b, 0xc6, 0xca, 0x70, 0xb7, 0xc8, 0x9, 0x19, 0x95, 0x24, 0x15, 0xcc, 0x3c, 0xaf, 0x8, 0x2f, 0xd3, 0xe8, 0x9c, 0x2b, 0x9b, 0xdc, 0x72, 0xd, 0xbd, 0xdd, 0x52, 0x70, 0xe5, 0x41, 0x19, 0x2b, 0x6, 0xd7, 0x96, 0x15, 0x92, 0xbc, 0x90, 0x8c, 0xd5, 0xa8, 0xd4, 0x33, 0xe4, 0xf7, 0xf5, 0x87, 0x33, 0xf4, 0x8d, 0x35, 0x75, 0xcc, 0x25, 0x7a, 0x8d, 0x14, 0xab, 0xdd, 0xd6, 0x9b, 0x71, 0x2f, 0xd5, 0xba, 0x43, 0x10, 0x86, 0x3, 0xbd, 0x11, 0xc4, 0x0, 0xe4, 0xec, 0x56, 0xab, 0x61, 0xec, 0x37, 0xa, 0x9d, 0x24, 0x1f, 0x11, 0xc3, 0xba, 0x18, 0xed, 0xe9, 0xbe, 0x8f, 0x45, 0xd2, 0xc8, 0x7f, 0xaf, 0x86, 0xf0, 0x9d, 0xf8, 0x6, 0x32, 0xdb, 0x4, 0x46, 0x7a, 0xa8, 0x4c, 0xc6, 0xfd, 0xe7, 0x93, 0xa6, 0xf6, 0xb6, 0xd6, 0xa2, 0x2e, 0xaf, 0x4d, 0x9c, 0xc0, 0xb5, 0x46, 0x2, 0x7, 0x2b, 0xd1, 0xcd, 0x1a, 0xb, 0x49, 0xc9, 0x2a, 0xb9, 0x25, 0x54, 0x92, 0xeb, 0x9, 0x2b, 0xe3, 0xb3, 0x3a, 0x45, 0x52, 0xd2, 0x47, 0x6, 0xac, 0x37, 0xea, 0xba, 0xa1, 0xd1, 0x18, 0x89, 0xee, 0x97, 0x9a, 0x2d, 0x73, 0x49, 0xd5, 0x59, 0x7f, 0xa9, 0xcd, 0x33, 0x38, 0xfd, 0xea, 0x3a, 0xdf, 0x52, 0xd, 0x8, 0xfc, 0x39, 0xc9, 0x2a, 0xa9, 0x8, 0xbc, 0x0, 0xb0, 0xbc, 0x52, 0x90, 0x25, 0xbd, 0x63, 0xda, 0xa5, 0xeb, 0x8a, 0x18, 0x6c, 0x88, 0xd4, 0x80, 0x9f, 0x21, 0x20, 0xfd, 0x36, 0x85, 0xbb, 0xe1, 0x54, 0xf4, 0x61, 0x60, 0x5e, 0x53, 0xcf, 0x46, 0xaa, 0x3e, 0xdc, 0xa, 0xe9, 0x45, 0x69, 0xd8, 0xb, 0x8c, 0x65, 0x28, 0xae, 0xf5, 0x7e, 0xcc, 0xdc, 0xf1, 0xf8, 0xe1, 0xec, 0x4a, 0x1c, 0x89, 0x27, 0x1c, 0xe, 0xdb, 0x3e, 0x7b, 0x2c, 0x39, 0x98, 0xd0, 0x9c, 0x30, 0xe, 0x5a, 0x86, 0xc6, 0x73, 0xe6, 0x5, 0x11, 0xf, 0xb9, 0x9b, 0x91, 0xde, 0x26, 0x3d, 0x11, 0x88, 0xd5, 0xb1, 0xd0, 0xcf, 0xa8, 0xad, 0x94, 0x42, 0xbd, 0x42, 0x9, 0xb, 0x6a, 0xfd, 0xfa, 0x17, 0x44, 0xc3, 0x1b, 0x77, 0xa9, 0x46, 0x35, 0xbe, 0xb8, 0x9a, 0x8e, 0xce, 0x7f, 0x9a, 0x9d, 0x5e, 0x9c, 0xff, 0x38, 0xfa, 0x69, 0xa6, 0x35, 0xc0, 0x6d, 0x95, 0xa9, 0x36, 0xb5, 0x1a, 0x9d, 0xcf, 0x2e, 0xc7, 0x17, 0x3f, 0x8d, 0x87, 0x93, 0xc9, 0xe, 0xad, 0x8e, 0xae, 0x50, 0x3e, 0xdc, 0xa2, 0x2e, 0x7, 0x69, 0x44, 0xb8, 0x39, 0x1a, 0xc9, 0xcc, 0xc1, 0xdf, 0xcf, 0x2b, 0xc5, 0xfb, 0xd5, 0x8b, 0x4e, 0x17, 0x54, 0x87, 0xe8, 0x51, 0xdf, 0xc, 0xa, 0x3b, 0xcb, 0x32, 0x76, 0xf, 0x30, 0xd4, 0x16, 0xd, 0x59, 0x1a, 0xab, 0x6, 0x2f, 0x20, 0x95, 0x8d, 0xd7, 0x32, 0x6a, 0xb7, 0xa9, 0x56, 0xde, 0xb4, 0x7, 0xd, 0x26, 0xa5, 0x17, 0xee, 0xbf, 0x7b, 0x98, 0xb4, 0x72, 0x2b, 0x8a, 0xf2, 0x25, 0x29, 0x98, 0x76, 0xd0, 0x4b, 0x78, 0xae, 0x2c, 0xc4, 0x19, 0x2b, 0xee, 0x83, 0x3d, 0xa2, 0x44, 0xde, 0x52, 0xa5, 0x51, 0x42, 0x4a, 0xdf, 0x9c, 0x4c, 0xd5, 0xd4, 0x1, 0xc6, 0x50, 0x7a, 0x60, 0x39, 0x3d, 0xa8, 0x33, 0x60, 0x7, 0xf5, 0x3a, 0x17, 0x39, 0x46, 0xa3, 0xf3, 0x84, 0x11, 0xe1, 0x89, 0x4f, 0xda, 0x68, 0x5e, 0x86, 0xc1, 0xd, 0xfe, 0xf3, 0xeb, 0xbc, 0xca, 0xcb, 0x2a, 0x2b, 0xf9, 0x2a, 0x63, 0x4d, 0xf, 0x7c, 0xf, 0x51, 0x3d, 0xed, 0x88, 0x50, 0x88, 0xd4, 0x41, 0xe6, 0xb8, 0xae, 0x8d, 0xd, 0x4a, 0xcc, 0xcd, 0x62, 0xfb, 0xf8, 0x82, 0xa5, 0x22, 0xa9, 0x54, 0x97, 0x96, 0xf3, 0x6e, 0x78, 0xd2, 0xbc, 0x17, 0x31, 0x58, 0x6e, 0x22, 0x8a, 0x14, 0x75, 0xd, 0x53, 0x28, 0x94, 0xe7, 0x64, 0xaa, 0x13, 0xa1, 0x8d, 0x9a, 0x1e, 0xca, 0x9, 0x26, 0x44, 0x87, 0x7b, 0x9b, 0x82, 0x51, 0x3a, 0xf8, 0x8, 0x2b, 0x39, 0x8b, 0xdf, 0x1b, 0x2e, 0x66, 0x42, 0xfa, 0xfb, 0xad, 0x82, 0xe6, 0x16, 0x19, 0x6a, 0x47, 0x39, 0xf4, 0xab, 0x60, 0xdd, 0x74, 0x8b, 0xcc, 0xfa, 0x74, 0x31, 0xfe, 0x79, 0x38, 0x9e, 0x9d, 0xd, 0x2f, 0x3f, 0x5c, 0xfc, 0xf9, 0xe3, 0xf0, 0x7c, 0x3a, 0x33, 0xa1, 0x54, 0x5b, 0x43, 0xb4, 0xb6, 0x36, 0x1d, 0x9d, 0x3, 0xd8, 0xf7, 0x70, 0xd7, 0x76, 0xa7, 0x57, 0xe3, 0xf1, 0xf0, 0x7c, 0xba, 0x6b, 0xb3, 0xf1, 0xe0, 0xe3, 0x65, 0x3d, 0x32, 0x6c, 0x6b, 0xb3, 0x96, 0x88, 0xb2, 0x6e, 0xed, 0x76, 0xdf, 0x94, 0xd3, 0xf1, 0x70, 0xb0, 0x3b, 0xfb, 0x9c, 0xde, 0xda, 0x90, 0x2a, 0x31, 0xdf, 0x6c, 0xdf, 0xde, 0xc1, 0xc7, 0xfc, 0x48, 0x62, 0x7c, 0x8f, 0x23, 0xaf, 0x1a, 0x79, 0x78, 0xf2, 0x7b, 0x8c, 0x48, 0xac, 0x5f, 0x7d, 0x23, 0xfd, 0x73, 0x70, 0x3d, 0xf2, 0x5c, 0x96, 0x8c, 0x6e, 0xb3, 0x1a, 0xba, 0x4d, 0x8a, 0xcb, 0xc2, 0xed, 0x1b, 0xc0, 0xe2, 0x47, 0x8e, 0x76, 0x55, 0x24, 0xbf, 0x54, 0xc8, 0x1c, 0x39, 0x6a, 0xd8, 0x9c, 0x23, 0x4f, 0xfc, 0xd3, 0x84, 0xe7, 0x49, 0x57, 0x22, 0xdd, 0x8, 0xe, 0xf, 0x42, 0x22, 0x9f, 0xfb, 0xea, 0x66, 0x37, 0x10, 0x84, 0x37, 0xff, 0xf2, 0xfa, 0xed, 0xdb, 0x55, 0xc1, 0x10, 0xc7, 0x40, 0xe4, 0x72, 0x77, 0x20, 0x84, 0xe7, 0xb0, 0x8a, 0xe7, 0x24, 0xa1, 0xab, 0xb2, 0x2a, 0xc, 0x1e, 0x3a, 0x8, 0xab, 0x92, 0x2d, 0x69, 0x5e, 0xf2, 0x44, 0xaa, 0xd9, 0xaf, 0x78, 0xc9, 0x74, 0xae, 0x29, 0xd4, 0xeb, 0x32, 0x43, 0xf6, 0x3, 0x68, 0x84, 0x8d, 0xda, 0x23, 0xee, 0xe2, 0x17, 0xd9, 0x35, 0x13, 0xd8, 0xa8, 0x4d, 0xda, 0x69, 0x7b, 0x40, 0x2e, 0x2d, 0x4a, 0x69, 0x3e, 0xef, 0x11, 0x2c, 0x13, 0xa3, 0x45, 0x1a, 0xba, 0x5c, 0x69, 0xcd, 0xe0, 0xf7, 0xb8, 0xfb, 0x28, 0x48, 0xef, 0x14, 0x97, 0xd8, 0x12, 0x4b, 0x7b, 0xad, 0x69, 0x74, 0x26, 0xd5, 0xe4, 0x67, 0xea, 0x77, 0xd7, 0x3d, 0x72, 0xad, 0x37, 0xd5, 0xfb, 0x2d, 0x80, 0x4d, 0xc0, 0xef, 0x67, 0x2b, 0x56, 0x24, 0x4a, 0xe6, 0x5b, 0xb0, 0xeb, 0x38, 0xd6, 0x76, 0xb7, 0x88, 0x60, 0x38, 0x47, 0x28, 0xb7, 0xd, 0xec, 0x62, 0x9f, 0x95, 0xa8, 0x36, 0xb2, 0x54, 0xa7, 0xfd, 0x60, 0xf3, 0x9f, 0x43, 0x32, 0xb9, 0x61, 0x9, 0x5d, 0xb2, 0xd6, 0xc8, 0xd9, 0x6d, 0x73, 0x84, 0xa8, 0x65, 0x6c, 0x7b, 0x4, 0x42, 0xdf, 0x34, 0x5d, 0x30, 0x71, 0x84, 0xb3, 0xad, 0x9b, 0xdc, 0xfd, 0x2, 0x84, 0x1, 0xd3, 0x4, 0x2d, 0xcb, 0x95, 0x79, 0x54, 0xca, 0x95, 0x36, 0x8a, 0xb3, 0x9c, 0x9c, 0xd6, 0xbb, 0xdb, 0xbc, 0xe2, 0x33, 0x46, 0xf, 0x3a, 0x96, 0x5d, 0x97, 0x2d, 0x4b, 0xb1, 0x5a, 0x81, 0xeb, 0xd, 0x2c, 0x7e, 0x1b, 0xcf, 0x4a, 0x6d, 0x44, 0xc6, 0xa8, 0xe7, 0xbc, 0x37, 0x5d, 0xdd, 0xa8, 0xb7, 0x81, 0x35, 0xb1, 0x7b, 0x2c, 0x76, 0xd2, 0x6d, 0xfd, 0x41, 0x52, 0x52, 0x57, 0xcb, 0x58, 0x98, 0x8b, 0xe3, 0x9b, 0x5e, 0x63, 0x9, 0x2a, 0x42, 0x4d, 0xea, 0x5c, 0x4b, 0xdc, 0xb4, 0x3f, 0xdf, 0xc3, 0xca, 0x6d, 0xa3, 0x1d, 0x60, 0xfb, 0xd, 0xa2, 0xb8, 0xb, 0xd9, 0x9a, 0x2d, 0x45, 0xca, 0x7e, 0xf8, 0x41, 0xb, 0x35, 0x41, 0xc, 0x1b, 0x84, 0x93, 0x1d, 0xc, 0x8a, 0xa3, 0x4, 0xdc, 0x77, 0x6, 0x56, 0x55, 0x8b, 0xb8, 0x1a, 0x6d, 0x7a, 0xf7, 0xc9, 0x41, 0x48, 0x1c, 0xba, 0x81, 0x13, 0x5a, 0xab, 0xc5, 0xe7, 0x5, 0xd9, 0x19, 0x5f, 0x8b, 0xc1, 0xb9, 0xa1, 0x1b, 0xe5, 0x69, 0x6c, 0xe4, 0x22, 0x8f, 0x3e, 0x8a, 0x74, 0xab, 0xdd, 0x46, 0xeb, 0x3, 0x5e, 0x1c, 0xea, 0xc7, 0x8b, 0xb3, 0x4d, 0x26, 0x9b, 0xd6, 0x6, 0x76, 0x79, 0xdd, 0x1a, 0x34, 0x7d, 0x7e, 0x48, 0x88, 0xab, 0x17, 0x71, 0x45, 0xd4, 0xc2, 0x1d, 0xe8, 0xaf, 0x39, 0x26, 0xe3, 0x9, 0xb1, 0x60, 0x41, 0x80, 0xfb, 0xef, 0x99, 0x3f, 0xc, 0x94, 0x6f, 0x78, 0x1c, 0xf0, 0xe9, 0x75, 0x14, 0xa6, 0xa8, 0x3d, 0x55, 0x26, 0x54, 0xf1, 0x5a, 0xdd, 0xb9, 0x1b, 0x9e, 0x3, 0xbb, 0xe9, 0x11, 0x9a, 0x14, 0x42, 0xa2, 0x69, 0xc5, 0xb7, 0x98, 0x84, 0xfd, 0x7e, 0xea, 0x4c, 0x2c, 0x7b, 0x13, 0xc4, 0x76, 0xfb, 0x51, 0x5d, 0x4b, 0x33, 0x58, 0x64, 0x20, 0xcf, 0xe4, 0x64, 0x72, 0xf6, 0x33, 0x9a, 0x5d, 0x73, 0x86, 0x3c, 0xfb, 0x86, 0x59, 0xd8, 0x75, 0x6d, 0xd9, 0xe0, 0x39, 0x30, 0x6a, 0xf4, 0xf, 0x36, 0x9b, 0x28, 0x22, 0x45, 0xae, 0x6b, 0xcc, 0xdb, 0x51, 0x6e, 0xee, 0x46, 0x40, 0x68, 0xe7, 0xe5, 0xb1, 0x6e, 0x31, 0x6f, 0x2f, 0xb8, 0xce, 0x8, 0xd6, 0xbb, 0x5d, 0x2f, 0xf1, 0x47, 0x72, 0x96, 0x30, 0x29, 0x69, 0xc1, 0xb3, 0x75, 0x37, 0xf, 0x1b, 0xfc, 0x4c, 0x31, 0x9, 0xcf, 0x10, 0x8c, 0x3a, 0xc8, 0xad, 0x4, 0x86, 0xbd, 0x67, 0x6b, 0xb7, 0xc, 0x84, 0xb6, 0xa, 0x7b, 0x6e, 0x58, 0x8f, 0x9d, 0x44, 0xf, 0xde, 0xe6, 0x4a, 0x6, 0x4b, 0x84, 0xbf, 0x82, 0xed, 0x2a, 0x9c, 0x3e, 0x6d, 0x9a, 0xfc, 0x61, 0x3c, 0x3c, 0x8a, 0x23, 0xae, 0x93, 0x5e, 0x70, 0x22, 0x90, 0xd0, 0x1d, 0x6c, 0xfb, 0x2e, 0x86, 0x4f, 0xd3, 0xcb, 0x8b, 0x5f, 0x4c, 0xa8, 0x6e, 0x8b, 0xf5, 0x73, 0x93, 0x89, 0xd0, 0xed, 0x45, 0x83, 0x15, 0xfe, 0x10, 0xeb, 0xa1, 0x99, 0xdd, 0x57, 0x37, 0x1d, 0xc2, 0xcf, 0xf0, 0xf3, 0x8a, 0x15, 0x1c, 0xa6, 0x9d, 0xf5, 0xdb, 0xf7, 0xe, 0xa7, 0xc5, 0xbc, 0x8f, 0x81, 0x24, 0x97, 0xe0, 0x6c, 0x91, 0x7c, 0x91, 0xf3, 0x39, 0x4f, 0x28, 0xf8, 0x54, 0x51, 0x66, 0xb6, 0x71, 0xde, 0x95, 0xd2, 0x1e, 0x36, 0x32, 0x82, 0x3d, 0x7c, 0xe3, 0x4f, 0x36, 0xc9, 0x27, 0x9b, 0xe4, 0x6e, 0x47, 0xff, 0x7b, 0xb6, 0x49, 0x1e, 0xc6, 0x89, 0xa3, 0x4b, 0xe1, 0x27, 0x73, 0x98, 0x4b, 0xd1, 0x8f, 0xde, 0xa3, 0xa3, 0x9b, 0x43, 0x8d, 0xa3, 0xf1, 0x18, 0x99, 0xbd, 0xdf, 0xd4, 0x6, 0x70, 0x64, 0xfb, 0xdb, 0x6f, 0xc7, 0xbc, 0xd3, 0xc1, 0x58, 0xf8, 0xd5, 0xec, 0x6f, 0xbf, 0xdd, 0x5d, 0xfb, 0x82, 0xc6, 0xc2, 0x27, 0xbb, 0x95, 0xfb, 0x79, 0xb2, 0x5b, 0x3d, 0x7e, 0xbb, 0x95, 0x6a, 0x72, 0x69, 0xd9, 0x72, 0x7d, 0xe5, 0xb5, 0xaa, 0xab, 0x1b, 0xd, 0x3, 0xea, 0x36, 0xbc, 0x25, 0x7f, 0x79, 0xdd, 0x23, 0x6f, 0x5e, 0xbf, 0xfe, 0xab, 0x53, 0xff, 0xff, 0xce, 0xa, 0x11, 0xcf, 0xdf, 0xc4, 0xb6, 0xeb, 0x39, 0xbf, 0xe0, 0x7d, 0xd6, 0x6f, 0x7a, 0x3f, 0xa0, 0x24, 0x6d, 0xce, 0xb3, 0x86, 0x50, 0x62, 0x84, 0x9d, 0xd5, 0xd5, 0x27, 0x95, 0x34, 0x6c, 0x46, 0x6e, 0x18, 0x6b, 0xc3, 0x3d, 0x8, 0xcb, 0xc7, 0xda, 0xd2, 0xd8, 0x4a, 0x60, 0xfe, 0xf2, 0xd1, 0x98, 0x9e, 0x74, 0x3e, 0xd3, 0xff, 0x3d, 0xf5, 0x67, 0xd0, 0xd5, 0x83, 0x36, 0xd0, 0x21, 0x90, 0x9e, 0xf1, 0xc3, 0xc4, 0x6e, 0xdd, 0x33, 0xbc, 0x1d, 0x2b, 0xac, 0x40, 0xa0, 0xf1, 0x74, 0x82, 0x60, 0xb7, 0x26, 0xd8, 0x8b, 0xa6, 0xec, 0x4f, 0xfd, 0xd9, 0x4c, 0x6d, 0xd2, 0xc, 0xe3, 0x69, 0xae, 0xd5, 0x11, 0x9c, 0xc1, 0xcc, 0x6e, 0xda, 0x60, 0x69, 0xc6, 0x16, 0xae, 0x34, 0xf6, 0x49, 0x3e, 0x6, 0xe7, 0xe3, 0x7b, 0x96, 0xad, 0xe4, 0x16, 0x97, 0x62, 0xcd, 0x8b, 0xe8, 0xc, 0x44, 0xd2, 0xc8, 0x32, 0x8d, 0x66, 0x81, 0xd8, 0xc9, 0xc8, 0xf2, 0x2e, 0xd0, 0x1c, 0x8e, 0xca, 0xf5, 0x7, 0x90, 0xb7, 0x42, 0x6b, 0x20, 0x17, 0xb0, 0x2d, 0x6a, 0x0, 0x59, 0xad, 0x34, 0x26, 0x21, 0xe4, 0x75, 0xe4, 0x7a, 0xc, 0x96, 0x92, 0xa5, 0x48, 0x63, 0x5b, 0xc8, 0x9, 0xb9, 0x64, 0x5, 0x17, 0xa9, 0xd6, 0x6e, 0xb, 0x36, 0x2f, 0x98, 0x4, 0xc4, 0xd0, 0x25, 0x5d, 0x23, 0xc1, 0xa4, 0x2c, 0xa3, 0x6b, 0x49, 0xaa, 0x95, 0x5a, 0xf8, 0x9c, 0x3d, 0x90, 0x25, 0xcf, 0xab, 0x92, 0x49, 0xf2, 0x22, 0x11, 0xb9, 0xac, 0xb2, 0xb2, 0x6e, 0xb4, 0x43, 0x66, 0x3a, 0xd3, 0xe8, 0x2a, 0x70, 0x77, 0x31, 0x3e, 0x32, 0xbe, 0xb9, 0x27, 0x64, 0x6c, 0x46, 0x44, 0xc, 0xcd, 0x78, 0x57, 0x9a, 0xa3, 0x6e, 0xc9, 0xe0, 0xfc, 0xcc, 0x20, 0x63, 0x2a, 0x5, 0xa3, 0x9, 0x9c, 0x9c, 0x90, 0x67, 0x3a, 0x58, 0xf6, 0x19, 0x59, 0xd7, 0xaa, 0x93, 0x9f, 0x90, 0x8b, 0x3c, 0x61, 0x51, 0x1f, 0x5a, 0xf0, 0x54, 0xeb, 0xb4, 0x6d, 0x4d, 0x11, 0x31, 0x98, 0x88, 0xfe, 0x7b, 0x95, 0x97, 0x1c, 0xaf, 0x98, 0x3e, 0xd9, 0x78, 0x64, 0xc3, 0x90, 0x4f, 0xdd, 0xcc, 0xc7, 0x3e, 0x43, 0xee, 0x11, 0x6a, 0x11, 0x25, 0x6b, 0xd8, 0x38, 0x3c, 0x9f, 0xb, 0x98, 0xd, 0x32, 0xfb, 0x7e, 0xdc, 0x39, 0x66, 0x4, 0x30, 0x9a, 0x4b, 0xc3, 0xdb, 0x3c, 0xa3, 0x8d, 0x5b, 0xf3, 0x4d, 0x55, 0x42, 0x18, 0xb3, 0x3, 0x0, 0xa2, 0x85, 0x33, 0x1e, 0xf2, 0x92, 0xdc, 0x73, 0x1a, 0x77, 0xad, 0xd3, 0x79, 0x3d, 0x5b, 0xee, 0x85, 0x4d, 0x43, 0xf6, 0xb6, 0xca, 0x46, 0x5b, 0xd2, 0x24, 0x11, 0x55, 0x5e, 0x6a, 0x83, 0x9e, 0x90, 0x6, 0x61, 0xe2, 0xc4, 0xe4, 0x0, 0xc6, 0x3, 0x78, 0x31, 0xd5, 0x8, 0x4c, 0xb2, 0x84, 0x20, 0x33, 0x3b, 0x6b, 0x2f, 0xa2, 0xf5, 0x6b, 0xd6, 0x2b, 0x72, 0x68, 0x20, 0x50, 0xbc, 0x49, 0x23, 0x1c, 0x7a, 0xd5, 0x9b, 0x10, 0x9c, 0xb, 0x49, 0xa3, 0x19, 0x1b, 0xa8, 0xd5, 0xeb, 0xb3, 0xf3, 0xa4, 0x3, 0x57, 0xd0, 0x81, 0x38, 0x72, 0x86, 0x0, 0xb0, 0xf6, 0xae, 0x7, 0x3b, 0x66, 0x82, 0x9d, 0x3b, 0x22, 0xc7, 0x61, 0xce, 0x3e, 0xd4, 0x78, 0xc6, 0xde, 0x64, 0x42, 0x33, 0x13, 0xdd, 0x1a, 0x46, 0xf5, 0x3e, 0xce, 0x60, 0xee, 0x6, 0x4b, 0x83, 0x7a, 0x29, 0x81, 0x61, 0xe7, 0xe2, 0xa1, 0xe7, 0x23, 0x5f, 0x3, 0x23, 0x4a, 0x14, 0x9, 0x4b, 0x17, 0xce, 0x7c, 0x5b, 0x0, 0xc, 0x79, 0x98, 0x5a, 0x30, 0xb8, 0x1c, 0xd5, 0x79, 0xf0, 0xf5, 0x29, 0xa8, 0xe8, 0x2d, 0xef, 0xdf, 0x75, 0xed, 0xf3, 0xee, 0xf5, 0xfb, 0x76, 0x6c, 0x6b, 0xc8, 0xfe, 0xfa, 0x4b, 0x5a, 0x70, 0x3d, 0x7, 0x8e, 0x57, 0x9, 0xc2, 0x4d, 0x34, 0x11, 0x29, 0x33, 0x85, 0x8f, 0xc, 0xdc, 0x1d, 0x18, 0x75, 0x7d, 0xea, 0xfa, 0x54, 0xef, 0xc1, 0xce, 0xc0, 0x98, 0x41, 0x13, 0x8c, 0xec, 0x75, 0x3d, 0x43, 0x4e, 0xbe, 0xfa, 0x1b, 0x4d, 0x20, 0xb3, 0xc4, 0x34, 0x94, 0x2, 0x5f, 0x11, 0x8f, 0xd7, 0x0, 0xaa, 0x82, 0x4e, 0x7e, 0x52, 0x1f, 0x2e, 0xb1, 0xbe, 0x8, 0xf4, 0x9d, 0x7b, 0x5d, 0xe6, 0x22, 0x3f, 0x31, 0xef, 0x3e, 0x97, 0x4b, 0xc2, 0xa5, 0xc, 0x3d, 0x47, 0x5b, 0xcc, 0xb5, 0x3b, 0x59, 0x91, 0x5d, 0xaf, 0x18, 0x82, 0xbc, 0x6f, 0x0, 0xea, 0x36, 0xb1, 0xf1, 0x4b, 0x64, 0x41, 0xc1, 0x2f, 0xb7, 0xd8, 0x69, 0x1, 0x47, 0xf9, 0x3f, 0xae, 0x86, 0x57, 0xc3, 0xd9, 0xf4, 0xcf, 0x97, 0x9b, 0x9c, 0x9a, 0xf1, 0x97, 0x26, 0x73, 0x79, 0xcb, 0x67, 0x60, 0xaa, 0x1d, 0x4d, 0xff, 0xbc, 0xe5, 0xb3, 0xf3, 0xe1, 0x9f, 0xae, 0x26, 0xdd, 0x6d, 0x65, 0xd6, 0xf0, 0x88, 0xfb, 0xfc, 0x9e, 0xd1, 0xa2, 0xbc, 0x61, 0x74, 0x57, 0x50, 0x55, 0xbc, 0x14, 0xa3, 0x5c, 0x96, 0x34, 0x4f, 0xd8, 0xcf, 0xec, 0x50, 0x1e, 0xa8, 0x29, 0xcf, 0x79, 0xd1, 0x7a, 0x1e, 0x32, 0x87, 0x76, 0x1e, 0x19, 0x66, 0xde, 0xe6, 0xf8, 0xd2, 0x29, 0x44, 0x90, 0xfb, 0x9f, 0x94, 0x28, 0xfd, 0x3f, 0xf8, 0xfd, 0x96, 0xeb, 0x9e, 0xcb, 0x8f, 0xce, 0x23, 0x7, 0x9b, 0xed, 0xf5, 0x4, 0x87, 0x8b, 0x3d, 0xdf, 0x47, 0x62, 0xf6, 0x9f, 0xe2, 0x9, 0x49, 0x56, 0x9a, 0x4a, 0x3c, 0xc8, 0xf3, 0x7b, 0x6, 0xa4, 0xd9, 0x2d, 0x3d, 0x86, 0x6c, 0x97, 0x15, 0x5c, 0xb3, 0x5b, 0x21, 0xd1, 0x7e, 0xfa, 0xcf, 0x2f, 0x40, 0xa6, 0x7, 0x40, 0x51, 0x58, 0xc8, 0xcb, 0x7f, 0x86, 0xdc, 0xb, 0x29, 0x67, 0x3c, 0xed, 0x81, 0xac, 0xa4, 0x4b, 0xd2, 0x2b, 0xb6, 0xff, 0x50, 0xf0, 0xb2, 0x64, 0xb9, 0x19, 0x55, 0x35, 0x75, 0x3, 0xa8, 0x3e, 0xf, 0x56, 0x51, 0x34, 0x6d, 0xe9, 0xae, 0x36, 0x16, 0xab, 0x62, 0x5, 0xc, 0x19, 0xa2, 0xc6, 0xd8, 0xfd, 0x35, 0x17, 0x7d, 0x67, 0xfb, 0x91, 0xcd, 0x82, 0xf0, 0xbd, 0xf4, 0xe0, 0xf6, 0x13, 0x59, 0x66, 0x40, 0x97, 0x55, 0xf7, 0xb2, 0x63, 0x7d, 0xd4, 0x83, 0x2c, 0xee, 0x32, 0xbd, 0xeb, 0x64, 0x49, 0x97, 0xe9, 0x5d, 0x57, 0xc0, 0xa6, 0x9d, 0x9c, 0x49, 0x5d, 0x3d, 0x47, 0xc6, 0x6f, 0x73, 0x75, 0xde, 0xee, 0x7f, 0xd1, 0xdf, 0x4c, 0xde, 0x5f, 0x4d, 0x21, 0x4f, 0xe6, 0xec, 0xe2, 0xd3, 0xf9, 0xd6, 0x2f, 0xa3, 0x8f, 0xba, 0x1c, 0xa1, 0x26, 0xe, 0x5c, 0x67, 0x5f, 0x97, 0xcd, 0x7, 0x70, 0x9d, 0xc9, 0xd9, 0xcf, 0x5b, 0x5d, 0x2a, 0x60, 0xd0, 0x3c, 0x82, 0x89, 0xcb, 0xcd, 0xa2, 0x40, 0x77, 0x40, 0x9d, 0xe7, 0x24, 0xad, 0xe6, 0x3b, 0x6c, 0x5b, 0xad, 0xa0, 0x1d, 0x79, 0x61, 0x14, 0x3d, 0xd0, 0x89, 0x4e, 0xbc, 0x3e, 0xbb, 0x85, 0x35, 0xde, 0x1a, 0x56, 0x7d, 0x54, 0xcb, 0x9d, 0x91, 0x20, 0x6d, 0xef, 0x3d, 0x25, 0x4a, 0xc3, 0xd, 0x31, 0x68, 0xc4, 0x26, 0xc4, 0xc5, 0xec, 0x5, 0xf2, 0x65, 0x57, 0x15, 0xf1, 0x59, 0x2e, 0x1e, 0x62, 0x34, 0xad, 0x73, 0x51, 0x5a, 0x4c, 0xc, 0x2e, 0x61, 0x95, 0x38, 0x1e, 0x6a, 0x8e, 0x29, 0x2f, 0x18, 0x88, 0x35, 0xd1, 0x20, 0x20, 0x4a, 0x71, 0x49, 0x64, 0x5, 0xf, 0x10, 0x40, 0x38, 0xa0, 0xf0, 0xf4, 0x9c, 0x24, 0x99, 0x48, 0xee, 0x88, 0xbc, 0x63, 0xf, 0xdd, 0xc, 0x7e, 0x2c, 0xa3, 0x2b, 0xc9, 0x52, 0xb0, 0xb0, 0x7f, 0xa0, 0xb2, 0xac, 0x3d, 0x75, 0x4, 0x6a, 0x7c, 0x95, 0x25, 0x2b, 0xf2, 0xb7, 0xe4, 0xff, 0x3b, 0xf9, 0xf7, 0x17, 0xff, 0xfe, 0xf6, 0xf5, 0x7f, 0xff, 0xe5, 0xcd, 0xc9, 0xbf, 0xfe, 0xf5, 0x2f, 0xaf, 0x4f, 0xfe, 0xf5, 0xaf, 0xff, 0xf5, 0xba, 0xf7, 0xe6, 0xcd, 0xff, 0xbc, 0x7c, 0xf1, 0xef, 0x6f, 0x7f, 0xed, 0xe3, 0x2f, 0xde, 0xf4, 0xfe, 0xf5, 0x7f, 0x5e, 0xfe, 0xbb, 0xfc, 0xbf, 0x77, 0xdc, 0xfb, 0x21, 0x4e, 0x4, 0xcf, 0x1d, 0xcc, 0x7d, 0x4e, 0xcc, 0xb7, 0xdb, 0x5e, 0xdb, 0xee, 0xe0, 0xf9, 0x31, 0xa5, 0x20, 0x26, 0x99, 0x28, 0x65, 0xcc, 0x9e, 0xb7, 0xb3, 0x26, 0xdb, 0xcc, 0xc3, 0x83, 0x48, 0x4a, 0x7e, 0xcf, 0xcb, 0xf5, 0x71, 0x7b, 0xcd, 0xd9, 0xe7, 0x4a, 0x1e, 0xb7, 0xcb, 0x4c, 0x24, 0x34, 0x1b, 0xe8, 0xd9, 0x1e, 0xaf, 0x5b, 0xb3, 0xab, 0x98, 0x95, 0xbf, 0x7b, 0x97, 0xae, 0x5d, 0xbd, 0xcf, 0x49, 0xc9, 0x93, 0xbb, 0xf5, 0x31, 0x7b, 0x36, 0xa7, 0x75, 0xcc, 0x3e, 0xe1, 0xac, 0x8e, 0xd9, 0x61, 0x29, 0x4a, 0x9a, 0xe1, 0xda, 0x1, 0x17, 0xe5, 0x3d, 0x2f, 0x77, 0xc7, 0xb2, 0x70, 0x45, 0xa2, 0xe0, 0xd, 0x9f, 0x8b, 0x2a, 0x4f, 0x9, 0x25, 0x9, 0xda, 0x27, 0x1a, 0x2a, 0xf7, 0x95, 0x82, 0x14, 0x55, 0x8e, 0x86, 0x27, 0xd9, 0xe8, 0xb, 0x9, 0xf1, 0x2b, 0xe2, 0x59, 0x7e, 0xe4, 0x72, 0xf, 0xc8, 0x8d, 0x68, 0x9a, 0x29, 0x4f, 0x41, 0x62, 0x9b, 0xf3, 0xc6, 0xd9, 0xb2, 0xbd, 0x67, 0x6b, 0xfc, 0xbf, 0x6e, 0xbe, 0x5d, 0xd1, 0x66, 0x82, 0xf9, 0x1a, 0x4b, 0x1d, 0x4c, 0x8c, 0x48, 0xfe, 0x77, 0xd6, 0x53, 0x5a, 0x67, 0xc1, 0xa4, 0x2e, 0xf1, 0x81, 0xde, 0xf, 0x13, 0x64, 0x14, 0x6e, 0x71, 0x63, 0xce, 0x68, 0x38, 0xcd, 0x55, 0x56, 0x2d, 0x78, 0x13, 0x2a, 0xf1, 0x81, 0x3e, 0x84, 0x4b, 0xe8, 0x77, 0xa3, 0x10, 0x89, 0x9f, 0x48, 0xf, 0x84, 0x1, 0xeb, 0x68, 0xa0, 0x78, 0xcb, 0x65, 0x28, 0x2e, 0xa4, 0x4a, 0xef, 0x6c, 0x2, 0xe1, 0x38, 0x70, 0xa2, 0x93, 0x52, 0x14, 0x74, 0xc1, 0xce, 0xa0, 0xfb, 0x8d, 0xf3, 0xd5, 0x5f, 0x9a, 0x99, 0x6c, 0x98, 0x6d, 0xdb, 0x3, 0x6e, 0x54, 0x88, 0x7c, 0x2e, 0xc8, 0x52, 0xe9, 0x2f, 0xb, 0xd6, 0x73, 0x19, 0xad, 0xbc, 0x96, 0x60, 0x14, 0x3f, 0xaf, 0xa5, 0xb3, 0xc6, 0x2b, 0xe9, 0xca, 0x17, 0x69, 0x6, 0x59, 0x16, 0x74, 0xa0, 0x4, 0x66, 0x63, 0x2d, 0x74, 0xe5, 0x42, 0x61, 0xf4, 0x52, 0xb2, 0xcc, 0xf, 0x5a, 0x3c, 0xd0, 0x49, 0xde, 0xe2, 0x20, 0x1f, 0xb3, 0xa5, 0xb8, 0xc7, 0xa2, 0xea, 0x42, 0x62, 0xad, 0x52, 0x89, 0x89, 0xed, 0x18, 0x5b, 0x98, 0x31, 0xa9, 0x4d, 0xc9, 0xce, 0x15, 0x1e, 0x6a, 0x1f, 0x3b, 0x2a, 0xb6, 0x4a, 0x19, 0xd9, 0x27, 0xea, 0x25, 0xd0, 0x65, 0xac, 0x16, 0x1b, 0x2b, 0x91, 0x50, 0x7f, 0x82, 0xe7, 0x8b, 0xa3, 0x29, 0xcc, 0xb, 0xdd, 0xa1, 0x3f, 0x26, 0x19, 0x90, 0x3b, 0x6, 0xf5, 0x7c, 0x50, 0x21, 0x34, 0x6, 0x2c, 0x10, 0xc7, 0x20, 0xe5, 0xda, 0x59, 0x93, 0x50, 0xe5, 0xfc, 0x67, 0xab, 0xfc, 0x1a, 0xbd, 0xb1, 0x16, 0x53, 0xca, 0x1d, 0x36, 0x8f, 0x91, 0x74, 0x21, 0x7c, 0xd4, 0xa7, 0x9, 0x53, 0x39, 0xa, 0x5e, 0x16, 0x2f, 0x13, 0xbd, 0x66, 0x74, 0x21, 0x84, 0x3c, 0x33, 0xb5, 0x9c, 0x4f, 0xe4, 0x5a, 0xbe, 0xd2, 0x20, 0xa4, 0xba, 0x3, 0xf9, 0xea, 0xbf, 0x74, 0xe4, 0xb2, 0x59, 0xde, 0xec, 0x8e, 0xad, 0xff, 0xe7, 0x99, 0x63, 0x37, 0x38, 0xc9, 0x83, 0xa3, 0x77, 0xf5, 0x26, 0xea, 0xee, 0x82, 0x3d, 0x84, 0x15, 0x73, 0x6d, 0x2d, 0xcd, 0x19, 0x4b, 0xa5, 0x8e, 0x4f, 0x46, 0x8d, 0x3c, 0x5c, 0x8c, 0xb6, 0xfa, 0x89, 0x9c, 0x21, 0x1, 0xbc, 0x90, 0x82, 0x54, 0x52, 0x1d, 0xb, 0xeb, 0x2f, 0xfa, 0x84, 0xaa, 0x46, 0x9f, 0xc9, 0x8a, 0xa7, 0xe4, 0xc1, 0x56, 0xf, 0x5a, 0x29, 0xea, 0x2b, 0x38, 0x2d, 0x7d, 0xaf, 0x91, 0xbe, 0x97, 0x8a, 0x76, 0x4f, 0x57, 0xd5, 0x95, 0x3c, 0xdc, 0x53, 0x3d, 0xc1, 0x4a, 0x0, 0x70, 0x66, 0xa7, 0x97, 0x57, 0x80, 0x83, 0x8e, 0x7e, 0xe0, 0xd8, 0xa1, 0xdc, 0x7f, 0xdd, 0x23, 0x6f, 0xfa, 0xaf, 0xff, 0xaa, 0x8b, 0xe9, 0xbd, 0xe9, 0xbf, 0x6, 0x73, 0x8a, 0xd6, 0xbb, 0x0, 0x3f, 0x3d, 0x2, 0x1d, 0x50, 0x57, 0x5c, 0x12, 0xed, 0x22, 0x84, 0x85, 0xaf, 0xd8, 0xa2, 0x25, 0xb4, 0x29, 0x74, 0x3d, 0x7b, 0xeb, 0xfc, 0xc8, 0x96, 0xc7, 0x5e, 0xe7, 0x92, 0x2d, 0x45, 0xb1, 0x3e, 0x60, 0xa9, 0x11, 0x6b, 0xca, 0x32, 0x87, 0xf3, 0x65, 0x3a, 0xf7, 0x57, 0xcd, 0xc1, 0xa7, 0xba, 0x75, 0xd9, 0xc1, 0xf4, 0xdf, 0x8b, 0x2c, 0xc5, 0x58, 0x8e, 0x75, 0x79, 0x8b, 0x5, 0x33, 0x58, 0x8a, 0xf7, 0x4a, 0x93, 0x61, 0xc0, 0x6e, 0xd5, 0x38, 0xaf, 0xc, 0x9d, 0xea, 0x4a, 0x77, 0x1e, 0xb3, 0xdb, 0x83, 0xd1, 0x3d, 0x34, 0xdb, 0xff, 0x48, 0x27, 0xf1, 0xcf, 0x36, 0x7b, 0xde, 0xb4, 0xb6, 0x33, 0x80, 0x4d, 0xd5, 0xd5, 0x39, 0xf4, 0x4b, 0x15, 0xd8, 0x76, 0xb0, 0x93, 0xf, 0x7c, 0x2f, 0xe, 0xfd, 0x64, 0x7a, 0x3c, 0xc6, 0x42, 0x1f, 0xa1, 0xe9, 0xf1, 0xc9, 0xda, 0xd7, 0xfe, 0xe9, 0x93, 0xb5, 0x4f, 0xff, 0xfc, 0xc3, 0x58, 0xfb, 0x9e, 0xe4, 0xd0, 0x27, 0x39, 0xf4, 0x9b, 0xc9, 0xa1, 0x4f, 0xfa, 0xfc, 0x57, 0xd4, 0xe7, 0x3f, 0x68, 0xa4, 0xe6, 0xba, 0xb4, 0xe4, 0x15, 0x62, 0x46, 0x71, 0x33, 0xe3, 0x80, 0x2a, 0x8d, 0x31, 0x86, 0xbe, 0xe3, 0xfe, 0x96, 0xe5, 0x50, 0x52, 0x48, 0xbd, 0x75, 0x9c, 0x29, 0xd1, 0x52, 0x49, 0xb6, 0x3d, 0xc2, 0x72, 0x59, 0x15, 0xae, 0xda, 0x1, 0x40, 0xac, 0x4b, 0xa8, 0xaf, 0x88, 0x77, 0xc7, 0x89, 0x8f, 0xe4, 0x5, 0x95, 0xea, 0x93, 0x84, 0x16, 0x85, 0xc9, 0xa2, 0x9b, 0x57, 0x36, 0xfe, 0xc1, 0x9f, 0xd6, 0x4b, 0x5f, 0x8a, 0xab, 0x5b, 0x10, 0x77, 0x2b, 0xad, 0xb5, 0x2f, 0x90, 0xec, 0xb9, 0xb5, 0x58, 0x99, 0x47, 0x7e, 0x7c, 0x79, 0xda, 0x8, 0xca, 0xc9, 0x73, 0x32, 0xcf, 0xf8, 0xe2, 0xb6, 0x83, 0xb9, 0x2d, 0xa3, 0xb2, 0x9c, 0x54, 0x89, 0xba, 0x85, 0xf3, 0xa, 0x30, 0x6e, 0xf, 0x4e, 0x45, 0xe1, 0xd2, 0x3, 0x40, 0xae, 0xf7, 0xb4, 0xa5, 0xfa, 0x10, 0x20, 0x33, 0x16, 0x15, 0x33, 0xb1, 0x70, 0xce, 0x4e, 0x97, 0x88, 0xdc, 0x3c, 0x31, 0x6, 0x83, 0x53, 0x9d, 0x6e, 0x55, 0x8a, 0x13, 0x88, 0x5e, 0x4a, 0xbd, 0x33, 0x9a, 0xb0, 0x8c, 0x25, 0xe5, 0xce, 0xa0, 0xb5, 0x7, 0x4b, 0xda, 0xd6, 0x52, 0x85, 0x3d, 0x98, 0xe7, 0xc0, 0x14, 0x9b, 0x66, 0x96, 0x53, 0x3b, 0x81, 0x5b, 0x7a, 0xd1, 0x56, 0x6d, 0x17, 0x66, 0xaa, 0x21, 0x13, 0xcd, 0x3, 0x20, 0x19, 0x4, 0xe0, 0x20, 0xcf, 0xc6, 0x2a, 0x4, 0x41, 0x79, 0x14, 0x4, 0x28, 0xa4, 0xfa, 0x19, 0xf2, 0x50, 0xda, 0xdc, 0xbc, 0xc7, 0x90, 0x78, 0x8, 0xa1, 0x52, 0xbc, 0xdc, 0xb1, 0x6f, 0xb3, 0x3c, 0xff, 0x3e, 0xea, 0x27, 0x8a, 0x7d, 0x2e, 0xb1, 0x2e, 0x19, 0xf2, 0x6c, 0x83, 0xcc, 0xe8, 0x77, 0xa, 0x48, 0x8d, 0x6, 0x85, 0x2e, 0x98, 0x58, 0xe4, 0xbb, 0xd8, 0xef, 0x7a, 0xd, 0x8c, 0xe2, 0xa, 0xfd, 0xec, 0x7c, 0xcb, 0xa2, 0x87, 0xca, 0x5d, 0x3a, 0xd, 0x81, 0x6d, 0xd5, 0x62, 0xa3, 0x21, 0xe9, 0x3d, 0x51, 0x8b, 0x34, 0xdb, 0x14, 0x9, 0xde, 0xf0, 0xf3, 0x91, 0xae, 0xd5, 0x86, 0x9c, 0xbc, 0x31, 0x84, 0x5d, 0xad, 0x56, 0xac, 0x20, 0x37, 0x60, 0xee, 0xd7, 0x2a, 0x12, 0x14, 0xfe, 0xef, 0x6c, 0x22, 0xbf, 0x92, 0x2c, 0xdd, 0x6f, 0x8d, 0xf1, 0xa2, 0xe0, 0xe8, 0x43, 0x6b, 0x27, 0x44, 0x87, 0xb5, 0xae, 0xa7, 0x5, 0xd8, 0x3d, 0x13, 0xe5, 0xa4, 0x5a, 0xad, 0x32, 0xce, 0x8a, 0x9f, 0x79, 0x7e, 0xa8, 0x8c, 0xa0, 0xba, 0xb0, 0x11, 0x64, 0x99, 0xe, 0x84, 0xce, 0x40, 0x5d, 0xb5, 0x8a, 0x65, 0x5d, 0x2a, 0xbd, 0x15, 0xf, 0xb6, 0x85, 0x46, 0x2c, 0xcf, 0x32, 0x81, 0x81, 0xee, 0xe1, 0x89, 0x5c, 0xa, 0x29, 0xb9, 0x3a, 0x49, 0x2c, 0x2, 0xf4, 0x96, 0x3c, 0xfb, 0x91, 0x7f, 0x66, 0x29, 0xf9, 0x6f, 0x32, 0x66, 0x52, 0x54, 0x45, 0xc2, 0xde, 0x51, 0x9, 0xff, 0x3e, 0xad, 0x64, 0x29, 0x96, 0x64, 0x2, 0xb3, 0x77, 0xc2, 0x10, 0x38, 0x56, 0x2e, 0x51, 0x84, 0x61, 0xa9, 0xd2, 0xc9, 0xe, 0x47, 0x7, 0x57, 0x5d, 0x7a, 0x3c, 0xf, 0x76, 0xde, 0x88, 0x49, 0x2c, 0x25, 0x2f, 0x12, 0x53, 0x1a, 0x9f, 0xdc, 0x88, 0xf2, 0x96, 0x48, 0xcb, 0xba, 0xb3, 0x35, 0xd6, 0x1, 0xca, 0xf1, 0x57, 0xf0, 0x1b, 0xc8, 0xcf, 0xa3, 0xf9, 0x9a, 0x8, 0xac, 0x9f, 0x40, 0xd7, 0x51, 0xea, 0x54, 0x78, 0xe6, 0xce, 0x53, 0xfb, 0xe0, 0xa9, 0x5, 0x2c, 0xed, 0x5b, 0xfe, 0x43, 0x49, 0x52, 0x2d, 0xab, 0x8c, 0x2, 0x10, 0x32, 0x84, 0xa, 0x7, 0xa9, 0xd0, 0x9b, 0x1c, 0x50, 0x58, 0x3, 0x64, 0xbf, 0x4d, 0x8a, 0x77, 0x65, 0x8e, 0xc6, 0x96, 0x78, 0x73, 0xa2, 0xd5, 0x8, 0x32, 0xa7, 0x1d, 0x66, 0xa7, 0x5e, 0xc0, 0x91, 0x5a, 0xc8, 0xfd, 0xb1, 0xf, 0xf3, 0xbc, 0xf5, 0x18, 0x79, 0xbe, 0x87, 0x5b, 0x1c, 0x9, 0x64, 0xc3, 0x49, 0xf4, 0xb4, 0xb7, 0x3, 0x4b, 0x6c, 0x48, 0x84, 0x38, 0x7e, 0x8d, 0x39, 0x6d, 0x36, 0x2c, 0xdd, 0xec, 0xe, 0x53, 0xdc, 0x9d, 0xba, 0x71, 0xe3, 0xe4, 0x4, 0xe3, 0x5d, 0x89, 0xc8, 0xc, 0x86, 0xf0, 0xf7, 0x7f, 0xb7, 0xd, 0x56, 0x54, 0x50, 0x15, 0x6c, 0xbf, 0xed, 0x3d, 0xdf, 0x46, 0x0, 0xfb, 0xec, 0x69, 0x1b, 0xf2, 0xbc, 0x89, 0xd7, 0xa5, 0x2b, 0x7a, 0xc3, 0x33, 0xee, 0x3f, 0x35, 0x5f, 0x16, 0x6f, 0x63, 0x90, 0x13, 0xb1, 0xa2, 0x80, 0x1d, 0x71, 0x2b, 0x32, 0x76, 0xf2, 0x10, 0x5b, 0xeb, 0x6c, 0xc3, 0x4a, 0x32, 0x17, 0xd9, 0xbf, 0xb3, 0xa0, 0x15, 0xc7, 0x64, 0xdb, 0xa, 0x6a, 0xcc, 0x33, 0x27, 0x9, 0xac, 0x6d, 0xcc, 0x73, 0x17, 0x98, 0xe2, 0x55, 0x76, 0x43, 0x82, 0x7b, 0xe0, 0xf2, 0x16, 0x23, 0x5b, 0x41, 0x65, 0x33, 0x90, 0xeb, 0x9e, 0x9e, 0x15, 0x92, 0x56, 0xab, 0x59, 0x6a, 0xc2, 0x94, 0x1c, 0xbe, 0x8f, 0xd, 0xc0, 0x24, 0xa3, 0x99, 0x52, 0x7c, 0x60, 0xa1, 0xbb, 0xa5, 0x8, 0xbb, 0x42, 0xfd, 0x5a, 0x73, 0x12, 0xc6, 0x0, 0xbd, 0x98, 0xbc, 0x70, 0x2b, 0x39, 0xf9, 0xfe, 0xe5, 0x36, 0x19, 0x2c, 0xc2, 0xdb, 0xb0, 0x55, 0xfa, 0x40, 0xfc, 0xf6, 0xb6, 0x4c, 0x71, 0x68, 0x5a, 0xc2, 0xc3, 0x2, 0x8, 0x38, 0x10, 0xbb, 0x6c, 0x24, 0x76, 0x61, 0xf, 0x72, 0x8d, 0x95, 0xc1, 0x25, 0xcb, 0xe6, 0x1e, 0x60, 0x11, 0xec, 0xa7, 0x4e, 0x82, 0x14, 0x5, 0x8, 0x5, 0x91, 0x81, 0xcf, 0x9e, 0x88, 0x8e, 0x24, 0x6, 0x2a, 0x3b, 0xe1, 0x29, 0xb9, 0x81, 0xc7, 0xca, 0x2b, 0xbb, 0x37, 0x67, 0x14, 0x90, 0x23, 0xc, 0xcf, 0x70, 0xa3, 0x98, 0xf7, 0x1e, 0xc0, 0xb5, 0xc1, 0xd7, 0x18, 0x26, 0x61, 0xaa, 0xc7, 0xd5, 0x6, 0x81, 0x57, 0x1a, 0xd, 0xdc, 0x9c, 0xeb, 0x3, 0xc4, 0x38, 0x45, 0x57, 0x3f, 0xce, 0x26, 0x6b, 0x1, 0xb9, 0xa, 0x93, 0xc4, 0x82, 0x8b, 0x36, 0x29, 0xe9, 0x72, 0xf5, 0x6d, 0x10, 0x6d, 0xb6, 0x5d, 0xb8, 0x3e, 0x19, 0xb3, 0x55, 0x46, 0x13, 0x7d, 0xf2, 0xa9, 0x5d, 0x2b, 0xb9, 0xbe, 0xe1, 0x39, 0x2d, 0xd6, 0x98, 0x18, 0x25, 0xab, 0xe5, 0xb5, 0x29, 0x5c, 0x64, 0xb2, 0x43, 0x43, 0xca, 0xd7, 0xbe, 0x6b, 0x75, 0x8c, 0x3c, 0x4f, 0xb2, 0x2a, 0xc5, 0xa7, 0x40, 0xd7, 0xd5, 0x92, 0x7a, 0xe7, 0x57, 0x5, 0xbb, 0xe7, 0xa2, 0x92, 0xd9, 0x5a, 0x8b, 0x37, 0xb7, 0x3e, 0x77, 0xfe, 0xe6, 0x97, 0xbe, 0x4f, 0x2e, 0x14, 0x79, 0x3e, 0x70, 0xc9, 0x7a, 0x16, 0xcb, 0x1d, 0x26, 0xa, 0xd7, 0x9f, 0x6, 0x28, 0x30, 0xb0, 0x6a, 0x6a, 0x25, 0x4a, 0xaf, 0x28, 0xa0, 0xba, 0x99, 0x2b, 0xc1, 0xf3, 0xd2, 0xa2, 0x76, 0x23, 0x20, 0xd8, 0xe8, 0x4c, 0xdd, 0x5a, 0x5a, 0x24, 0xb7, 0x84, 0x96, 0x65, 0xc1, 0x6f, 0x2a, 0xe7, 0xaf, 0x6f, 0x5b, 0x8a, 0x4f, 0x7d, 0x3a, 0x9b, 0xca, 0x6e, 0x74, 0x81, 0x47, 0xa7, 0xeb, 0x92, 0x5d, 0x3b, 0x92, 0xd4, 0x90, 0x40, 0x6e, 0x33, 0x6d, 0x25, 0x3c, 0x8f, 0xae, 0x9b, 0x2f, 0xfd, 0xb, 0x89, 0xc5, 0x29, 0xad, 0xec, 0xaf, 0xae, 0x84, 0x7b, 0x86, 0x28, 0x5c, 0xf, 0x4b, 0xe2, 0x50, 0xdf, 0xf1, 0x9e, 0xe5, 0xe5, 0xc, 0xfe, 0x77, 0xcc, 0x0, 0x4d, 0x3b, 0xd9, 0xb5, 0x64, 0x21, 0x53, 0x8d, 0x3b, 0x10, 0x3b, 0x7c, 0x37, 0xed, 0x10, 0xcf, 0x3f, 0xfc, 0x65, 0x78, 0x3e, 0xdd, 0x16, 0xca, 0xef, 0x7d, 0xd4, 0x50, 0x7f, 0x6c, 0x32, 0x1d, 0x8c, 0xeb, 0xf5, 0xca, 0x36, 0xb7, 0x69, 0x82, 0x94, 0xdf, 0xde, 0xea, 0xc7, 0xc1, 0xe8, 0xc3, 0x8e, 0x4d, 0xa6, 0xa3, 0x8f, 0xc3, 0xb3, 0xd9, 0xc5, 0x55, 0x8c, 0xe2, 0xd2, 0xd4, 0xa, 0x72, 0xc, 0x26, 0xa7, 0xef, 0x87, 0x67, 0x57, 0xdd, 0x86, 0xc1, 0x6, 0x9d, 0x97, 0xf, 0x9f, 0xef, 0xb2, 0x72, 0x68, 0xb0, 0xf3, 0xa, 0xb6, 0xed, 0x92, 0xc9, 0xb0, 0xe8, 0xbc, 0xde, 0xa8, 0xc1, 0xb6, 0xf5, 0x86, 0x9f, 0x77, 0x58, 0x6f, 0xd8, 0x60, 0xb7, 0xe9, 0x77, 0xd8, 0x9d, 0x68, 0x3e, 0x83, 0xf3, 0xd3, 0xe1, 0x87, 0xd9, 0x78, 0xf8, 0x1f, 0x57, 0xc3, 0xc9, 0x2e, 0xeb, 0x80, 0x76, 0x9b, 0xbe, 0x57, 0x53, 0x19, 0x6f, 0xdf, 0x1e, 0xfc, 0xec, 0xc7, 0xd1, 0x78, 0xfb, 0x47, 0xdb, 0xc7, 0x6c, 0xba, 0x5a, 0x9d, 0x17, 0xd8, 0xda, 0x78, 0x53, 0x23, 0xdd, 0xaf, 0x19, 0x66, 0xf8, 0xa7, 0xe9, 0x70, 0x7c, 0x3e, 0xf8, 0xd0, 0xd4, 0xd9, 0xe8, 0x7c, 0x34, 0x1d, 0xd, 0x36, 0x4e, 0x61, 0x87, 0xde, 0xb6, 0xd1, 0xc5, 0xa6, 0xb6, 0xdd, 0xf7, 0xe4, 0xe3, 0x0, 0xdc, 0x7a, 0xe3, 0xe1, 0xe9, 0xc5, 0xf8, 0x6c, 0x57, 0x46, 0x38, 0xfa, 0xe9, 0x7c, 0xb0, 0x33, 0x83, 0x1a, 0x8e, 0x3f, 0x8e, 0xce, 0x37, 0xef, 0x52, 0x23, 0x3, 0x3d, 0x9f, 0x8e, 0xce, 0xaf, 0x86, 0x67, 0xb3, 0xc1, 0x64, 0x76, 0x3e, 0x8c, 0xb3, 0xaa, 0xbc, 0xc6, 0x40, 0x90, 0xb3, 0xd3, 0xf7, 0xa3, 0xf, 0x67, 0x7b, 0x1e, 0xd2, 0x96, 0x1e, 0xb6, 0x1d, 0x4c, 0x6b, 0xc3, 0xad, 0x57, 0xa5, 0xb5, 0x65, 0x7, 0xa6, 0x72, 0xfc, 0xe9, 0x6e, 0xbf, 0x1b, 0xad, 0x4d, 0x3b, 0x70, 0xa9, 0xf6, 0xb6, 0x1d, 0x8, 0x4, 0x29, 0xef, 0xd0, 0xcb, 0xd8, 0xa1, 0x97, 0x43, 0x2e, 0xe1, 0xf6, 0xeb, 0x71, 0x75, 0x39, 0x19, 0x8e, 0xa7, 0xae, 0xed, 0x64, 0x38, 0x18, 0x9f, 0xbe, 0x9f, 0xd, 0xa6, 0xd3, 0xf1, 0xe8, 0xdd, 0xd5, 0x74, 0x18, 0x17, 0xad, 0xd9, 0x7c, 0x45, 0x74, 0xd, 0x9b, 0x96, 0x82, 0xac, 0xdd, 0xda, 0x36, 0xd7, 0x62, 0xed, 0xd4, 0x76, 0x3c, 0xfc, 0x3f, 0xc3, 0xd3, 0x3d, 0xdb, 0xee, 0x22, 0x24, 0x5c, 0x8e, 0x2f, 0x2e, 0x87, 0xe3, 0xe9, 0x68, 0x38, 0x99, 0x7d, 0xbc, 0x38, 0x3, 0xf1, 0xcd, 0x1e, 0xc3, 0x87, 0x38, 0x8d, 0xb2, 0xe9, 0x79, 0xdb, 0xb7, 0x83, 0x4d, 0x33, 0x68, 0x6f, 0x5, 0x89, 0x9b, 0x33, 0xd5, 0x60, 0x80, 0x54, 0xb1, 0x5d, 0xfe, 0xa8, 0x35, 0xd9, 0xc6, 0x37, 0xe2, 0x6, 0x1d, 0xb6, 0x33, 0x6e, 0xb2, 0x8d, 0xd0, 0x6b, 0x43, 0x6c, 0x65, 0xe, 0x71, 0x8b, 0xe, 0x3c, 0xa1, 0x79, 0x90, 0x3d, 0x9f, 0xf6, 0x8b, 0x4b, 0xf5, 0x7f, 0x13, 0x4d, 0x62, 0x3b, 0x2f, 0xcd, 0x3d, 0xd5, 0xbb, 0x6f, 0x66, 0xd4, 0xc3, 0x1e, 0x62, 0xfc, 0xe5, 0xe0, 0x6a, 0xb2, 0xeb, 0x55, 0x3a, 0xdf, 0xa3, 0x91, 0x3a, 0x94, 0xd9, 0xe4, 0xe7, 0xd1, 0xe5, 0xe5, 0xe8, 0xfc, 0xa7, 0xd9, 0x74, 0x3c, 0x38, 0x9f, 0x8c, 0xa6, 0x1d, 0x21, 0x95, 0xb7, 0xe1, 0x2, 0x87, 0x8a, 0x1f, 0xda, 0x6f, 0x31, 0x23, 0x8c, 0x14, 0xf6, 0xb7, 0xe0, 0x6a, 0xbb, 0xe5, 0xb2, 0x14, 0xc5, 0x1a, 0xb5, 0xb8, 0x0, 0xa5, 0x0, 0x7f, 0x33, 0x3a, 0xeb, 0x37, 0x28, 0x96, 0x63, 0xb4, 0x20, 0x8c, 0xd2, 0x7d, 0x95, 0xcb, 0xc2, 0x74, 0xf0, 0xa4, 0x5e, 0xee, 0x42, 0x2f, 0x4f, 0xea, 0xe5, 0x93, 0x7a, 0xf9, 0xa4, 0x5e, 0xee, 0xd0, 0xf8, 0x49, 0xbd, 0x7c, 0x52, 0x2f, 0x9f, 0xd4, 0xcb, 0x27, 0xf5, 0xf2, 0x49, 0xbd, 0x7c, 0x52, 0x2f, 0x9f, 0xd4, 0xcb, 0x6e, 0x43, 0x3c, 0xa9, 0x97, 0x4f, 0xea, 0xe5, 0x66, 0xf5, 0xb2, 0xae, 0xfe, 0xa1, 0x8a, 0xc9, 0xf3, 0x5d, 0x95, 0x4c, 0xad, 0x7, 0xd6, 0xd5, 0x4c, 0x93, 0x1a, 0xbf, 0x47, 0x40, 0xad, 0x6a, 0xdf, 0x41, 0xb1, 0x2c, 0xaa, 0x7c, 0xeb, 0x57, 0x1d, 0x62, 0x33, 0xa2, 0x68, 0x55, 0xf0, 0x36, 0x37, 0x14, 0x61, 0x21, 0x97, 0x5, 0x4d, 0xc, 0x7a, 0x9b, 0x5c, 0x31, 0x7a, 0x7, 0xf1, 0x2c, 0xa6, 0xa4, 0x4b, 0x51, 0xe5, 0x33, 0xe, 0x71, 0x99, 0x9e, 0x33, 0xbb, 0xaa, 0x78, 0xda, 0xd3, 0x5e, 0xdf, 0x8, 0xe5, 0x80, 0x4b, 0xb2, 0xc8, 0xc4, 0xd, 0xf4, 0xa6, 0xd3, 0xc8, 0x3c, 0x44, 0x98, 0x25, 0xcd, 0xd7, 0x2e, 0xa4, 0x96, 0x66, 0xaa, 0x2d, 0xce, 0x12, 0xa2, 0x40, 0x68, 0x4e, 0xd8, 0x72, 0x55, 0x7a, 0xc1, 0xfb, 0x45, 0x95, 0x13, 0x8e, 0x29, 0xa8, 0xe4, 0x81, 0x2, 0x4e, 0xa2, 0xa4, 0xf0, 0xed, 0xb3, 0x92, 0x16, 0xb, 0x5d, 0x76, 0x3c, 0xa3, 0xa5, 0x3a, 0x2b, 0xf5, 0xb1, 0x57, 0x42, 0x4b, 0xcd, 0xec, 0x59, 0xcb, 0xe9, 0x9d, 0xd2, 0x3c, 0x61, 0x99, 0x26, 0x17, 0x96, 0x82, 0xf1, 0x60, 0x60, 0xbc, 0xec, 0xbb, 0xc6, 0x37, 0xc1, 0x4e, 0xed, 0x1a, 0x7b, 0x1, 0xf5, 0x11, 0x6c, 0x86, 0x7d, 0xc1, 0xa8, 0xd4, 0xa0, 0x95, 0x9a, 0xf2, 0x0, 0x36, 0x1b, 0x66, 0x99, 0x41, 0xe4, 0xbd, 0xb3, 0x3b, 0x7c, 0x2e, 0x59, 0x91, 0xd3, 0x6c, 0x94, 0xf3, 0x92, 0x53, 0x33, 0xf9, 0xa3, 0x14, 0x22, 0x73, 0x25, 0xc8, 0xae, 0xf7, 0xd1, 0x41, 0xae, 0xf5, 0x3d, 0xd2, 0x19, 0xb, 0x66, 0xa2, 0xc1, 0x30, 0x8e, 0x66, 0xcc, 0xdd, 0xb3, 0xb8, 0xf4, 0xfe, 0x6a, 0xc9, 0x3, 0x95, 0x66, 0x27, 0x30, 0x44, 0x87, 0xe6, 0x3a, 0x76, 0x53, 0xb7, 0xef, 0xd7, 0x36, 0xa4, 0xf5, 0x8a, 0x92, 0xe, 0x69, 0x7d, 0x41, 0x43, 0x97, 0xf1, 0xc1, 0xf7, 0xcc, 0xbf, 0xe4, 0x69, 0x58, 0xcc, 0x8d, 0x88, 0xc2, 0xc7, 0xf5, 0x74, 0x2b, 0x83, 0xb8, 0x11, 0x5c, 0xf9, 0x26, 0x4a, 0x3d, 0x94, 0x44, 0x7d, 0x24, 0xa1, 0x53, 0x13, 0x39, 0xbb, 0x27, 0xe1, 0x28, 0x4a, 0xb9, 0x6e, 0xb1, 0xb8, 0x18, 0x12, 0x30, 0x71, 0xfe, 0x18, 0x6, 0x6, 0xc1, 0xee, 0x78, 0xa2, 0x1a, 0xc0, 0x59, 0x31, 0xa2, 0xff, 0xe5, 0x7a, 0x2f, 0x29, 0xcf, 0x64, 0xd7, 0xe3, 0xba, 0xa4, 0xeb, 0x4c, 0xd0, 0x54, 0x3e, 0x6f, 0xd9, 0xb0, 0x60, 0x79, 0x7b, 0xef, 0x58, 0xc1, 0x64, 0x95, 0x95, 0x7, 0x61, 0xe1, 0x85, 0x13, 0x6d, 0xd8, 0xc9, 0xe7, 0x13, 0x56, 0x70, 0x9a, 0xf1, 0xbf, 0x3, 0x7, 0x0, 0xc4, 0x69, 0x9d, 0xa2, 0x0, 0x37, 0x44, 0x87, 0x38, 0x3, 0x5a, 0x29, 0x67, 0xb8, 0xf1, 0x98, 0x16, 0x84, 0x91, 0xda, 0x31, 0xb3, 0x23, 0xf3, 0x2a, 0x4f, 0x20, 0x4b, 0xa7, 0xe, 0x4c, 0xf4, 0x28, 0xf, 0x3e, 0x67, 0xee, 0xd8, 0xc6, 0x1d, 0x5e, 0xbd, 0xda, 0x8c, 0x46, 0x73, 0xcb, 0x17, 0xe0, 0xa5, 0x90, 0x26, 0x52, 0x5b, 0x71, 0x8c, 0xa4, 0x10, 0x79, 0xcf, 0x4c, 0x25, 0x82, 0xe, 0xc6, 0x77, 0xa5, 0xed, 0x71, 0x8, 0xa0, 0x8e, 0x3b, 0xd2, 0x4b, 0x63, 0xa, 0xf3, 0x26, 0xea, 0xb0, 0x50, 0xa6, 0xf5, 0xc3, 0xb2, 0x33, 0x99, 0xf2, 0x25, 0x13, 0xd5, 0x97, 0x87, 0x2d, 0x33, 0x3, 0x8f, 0xab, 0xaf, 0x36, 0x64, 0xca, 0xe6, 0xb4, 0xca, 0xca, 0x4f, 0x1e, 0x7d, 0x7e, 0xad, 0xa1, 0x2b, 0xc9, 0x8a, 0x8f, 0xc7, 0x40, 0xe1, 0xbe, 0xf2, 0x3a, 0x6a, 0xbd, 0xe4, 0xf0, 0xd0, 0x5b, 0xbc, 0x6d, 0xfb, 0xe2, 0x8b, 0x5c, 0x27, 0x6, 0x87, 0xf, 0x5a, 0x13, 0x31, 0x96, 0x3c, 0xaf, 0x58, 0x3a, 0x90, 0xe7, 0xec, 0xe1, 0x30, 0x9e, 0x76, 0xf0, 0x7d, 0x3, 0xe, 0x54, 0xe5, 0x9e, 0xa0, 0xe0, 0x3, 0xb1, 0xfb, 0x97, 0xcf, 0x5e, 0x3b, 0x35, 0xf7, 0x13, 0x2a, 0x4f, 0x72, 0xf6, 0x50, 0x67, 0x4a, 0x91, 0xf7, 0xa4, 0xcb, 0x23, 0xad, 0xda, 0x3c, 0x3f, 0xea, 0xad, 0xe3, 0xf9, 0xaa, 0xea, 0xc, 0x82, 0x51, 0xe7, 0xe9, 0xdf, 0xe0, 0xee, 0x34, 0x94, 0xcc, 0x11, 0x95, 0xae, 0xdb, 0x29, 0x79, 0xbe, 0xc8, 0xbc, 0x37, 0xa1, 0xa8, 0xf2, 0x66, 0x40, 0xc1, 0xc7, 0x38, 0x59, 0x75, 0x9c, 0xcd, 0xb3, 0x7d, 0x74, 0x6f, 0xd7, 0xd, 0x4d, 0xee, 0xc4, 0x7c, 0x3e, 0x51, 0x24, 0x6f, 0x92, 0x3a, 0xbe, 0xf6, 0x5e, 0xc6, 0x35, 0x3e, 0xc4, 0x3, 0xc9, 0x4, 0x20, 0x66, 0x19, 0x60, 0x6d, 0xcc, 0x98, 0x7f, 0xa0, 0xbc, 0x24, 0x37, 0x6c, 0x2e, 0xa, 0x46, 0x14, 0x21, 0xa7, 0x55, 0xc6, 0xf5, 0x67, 0x88, 0xcd, 0x1d, 0x1c, 0x80, 0x83, 0x3c, 0x61, 0x11, 0xf9, 0xc0, 0x8f, 0x5, 0xcc, 0xc7, 0xf7, 0xb5, 0x60, 0x65, 0xb1, 0xc6, 0xfc, 0x7, 0x7c, 0x88, 0xa3, 0x4b, 0xf, 0x95, 0x88, 0x4d, 0xe6, 0x3f, 0xce, 0x69, 0x49, 0xd7, 0x84, 0xe5, 0x73, 0x51, 0x24, 0x8c, 0x48, 0xb1, 0x64, 0x64, 0xc9, 0x73, 0xbe, 0x8c, 0x15, 0x5, 0xa8, 0xce, 0x61, 0xb1, 0xcd, 0xf5, 0x5c, 0x24, 0xe6, 0xe3, 0x21, 0xe2, 0xcf, 0xaa, 0x10, 0x25, 0x3, 0x81, 0x87, 0xac, 0xaa, 0x62, 0x25, 0xfc, 0xbc, 0x68, 0x8e, 0xda, 0x91, 0x4b, 0x7c, 0x25, 0x2d, 0xde, 0x59, 0x63, 0xe5, 0xd7, 0x46, 0x7e, 0xa3, 0xcd, 0x5c, 0x8c, 0x37, 0x38, 0x6b, 0xdb, 0xdb, 0xb4, 0x0, 0x7c, 0xb7, 0x37, 0x18, 0xf, 0xa7, 0xe3, 0xd8, 0x0, 0xd8, 0xfe, 0xf5, 0xe9, 0xd8, 0x33, 0xe7, 0xed, 0x65, 0x2e, 0x21, 0x90, 0x32, 0x54, 0x15, 0xec, 0xa0, 0x87, 0x4f, 0x67, 0x2f, 0x75, 0xad, 0xe1, 0xe0, 0x87, 0xa5, 0x8f, 0xe6, 0x9e, 0xe1, 0xe0, 0xb9, 0x44, 0xfa, 0x21, 0x2b, 0x91, 0xf1, 0x64, 0xad, 0xb1, 0x9, 0xd0, 0xf2, 0x40, 0xad, 0xa0, 0x56, 0xa, 0xf3, 0x54, 0x5a, 0x55, 0xd1, 0x94, 0x1f, 0xc9, 0xa3, 0x94, 0x9a, 0x5b, 0x2a, 0x75, 0x4e, 0x54, 0x50, 0xf8, 0xc0, 0x62, 0x1e, 0xac, 0xc4, 0xaa, 0xca, 0xa8, 0xb9, 0xcc, 0x48, 0x95, 0x7a, 0x43, 0xfa, 0xe4, 0x5c, 0x3c, 0x90, 0x17, 0x30, 0x86, 0xab, 0x34, 0x73, 0xb3, 0xd6, 0x54, 0x1b, 0x8e, 0x3, 0x99, 0xcb, 0xe9, 0xdd, 0x4b, 0x7d, 0x87, 0x72, 0x9a, 0x19, 0x1e, 0xa2, 0xd3, 0x7f, 0xaf, 0x5b, 0x2d, 0xfb, 0xd7, 0x3a, 0x0, 0x3f, 0x67, 0xf, 0x33, 0x6b, 0x37, 0x99, 0xa1, 0x9d, 0xe5, 0x9a, 0x48, 0x16, 0x55, 0x9c, 0x38, 0xb5, 0x4a, 0xc0, 0xf8, 0x2b, 0x68, 0x24, 0xd, 0x46, 0x1, 0xad, 0x98, 0xd8, 0xcc, 0xb1, 0xa5, 0x0, 0x20, 0x82, 0x4, 0x40, 0x25, 0x6d, 0x12, 0xa6, 0xb5, 0xbd, 0xe8, 0x1c, 0x1d, 0x90, 0x68, 0xa0, 0xfd, 0xe4, 0xec, 0x67, 0x22, 0xab, 0x62, 0xae, 0xd3, 0x46, 0xb8, 0x81, 0xfe, 0xf, 0x37, 0xd4, 0x9c, 0xf5, 0x3d, 0xa7, 0x50, 0x7c, 0x82, 0xc8, 0x2a, 0xb9, 0x25, 0x54, 0x92, 0xeb, 0x9f, 0x58, 0xf9, 0xa1, 0x61, 0x1f, 0xbc, 0xe4, 0x84, 0x5b, 0x46, 0x53, 0x56, 0x74, 0x7d, 0xc1, 0xdf, 0xc3, 0xd7, 0x6e, 0x7, 0x96, 0x6c, 0xd9, 0x19, 0x1, 0xf5, 0x23, 0x5b, 0x7a, 0x70, 0x10, 0x98, 0x9d, 0x51, 0x97, 0xc6, 0xb6, 0xf5, 0x32, 0x89, 0xda, 0xf9, 0xa2, 0xc8, 0x2d, 0x2b, 0x78, 0xf9, 0xae, 0x2d, 0x9d, 0x67, 0xe7, 0xa4, 0x16, 0x93, 0x96, 0x62, 0x93, 0x5b, 0xd4, 0x3e, 0x7b, 0xd6, 0x3a, 0x1c, 0x4f, 0xba, 0xac, 0x13, 0x4f, 0xb4, 0x33, 0x97, 0xcc, 0x7e, 0xee, 0x27, 0xbc, 0x84, 0xa7, 0xa7, 0x3e, 0xa7, 0x52, 0xf2, 0x45, 0xe, 0xb9, 0x65, 0x45, 0x95, 0xb1, 0x3a, 0x58, 0xb, 0xcf, 0x53, 0xb6, 0x62, 0x79, 0x8a, 0xd0, 0xc, 0xf8, 0x39, 0xa1, 0x6e, 0x58, 0x9d, 0xc7, 0x15, 0xcc, 0x70, 0x43, 0xad, 0xae, 0xb, 0x2c, 0x66, 0x92, 0x4b, 0x9e, 0xb2, 0x42, 0x3f, 0x49, 0x5e, 0xd2, 0xd7, 0xfd, 0xeb, 0xfe, 0x77, 0xf1, 0x73, 0x90, 0xd5, 0x73, 0x5c, 0x76, 0x7d, 0x1e, 0xbc, 0x72, 0xf3, 0xef, 0x86, 0xef, 0x7, 0xbf, 0x8c, 0x76, 0x7a, 0x28, 0x9a, 0x5a, 0xf, 0xae, 0xa6, 0x17, 0xb3, 0xab, 0xcb, 0x9f, 0xc6, 0x83, 0xb3, 0xb8, 0x3a, 0x6f, 0xa7, 0xc1, 0x27, 0x43, 0x53, 0x6d, 0xd7, 0xfc, 0xfd, 0x30, 0x29, 0x22, 0x2c, 0xe3, 0x6c, 0xca, 0xef, 0x64, 0x6b, 0x92, 0xb2, 0x84, 0xa7, 0xcc, 0x4f, 0xff, 0x51, 0xfb, 0x7c, 0xa3, 0x37, 0xd2, 0x40, 0x7e, 0x1b, 0x91, 0x2, 0x24, 0x9, 0x4f, 0x49, 0x50, 0x97, 0x5b, 0x63, 0x3d, 0x54, 0x32, 0x46, 0x57, 0xfa, 0x51, 0x14, 0x84, 0x7d, 0xa6, 0xea, 0x86, 0xf7, 0x48, 0x72, 0x2b, 0x84, 0x4, 0x3, 0xfd, 0xa0, 0x2a, 0xc5, 0xd5, 0x6a, 0x51, 0xd0, 0x94, 0x29, 0x7d, 0x29, 0x96, 0x2c, 0x74, 0xe, 0x9d, 0x1a, 0x45, 0x13, 0xb2, 0x91, 0x6a, 0x56, 0x58, 0xee, 0xe9, 0xbe, 0xa9, 0x88, 0x95, 0x9e, 0x93, 0x49, 0x2e, 0x8b, 0x25, 0x9c, 0xc6, 0x6a, 0x19, 0x81, 0x46, 0x36, 0xd4, 0xc8, 0xe, 0x7b, 0x20, 0x33, 0x30, 0xd7, 0xc7, 0x8a, 0x17, 0xc7, 0x2a, 0xc6, 0xd8, 0x0, 0x36, 0xcc, 0x6c, 0xff, 0x98, 0xf0, 0x1c, 0xc2, 0x39, 0x86, 0xa, 0x1b, 0x7e, 0xb1, 0xca, 0x2a, 0x19, 0x37, 0x13, 0x55, 0x9c, 0xd, 0xfd, 0xa9, 0xa1, 0xa5, 0x12, 0xe7, 0x74, 0xa5, 0x6e, 0x3a, 0x2f, 0x59, 0x9c, 0xdc, 0xd6, 0xb1, 0x46, 0x63, 0x75, 0xe0, 0x9e, 0x7c, 0xf2, 0x14, 0x9e, 0x2d, 0xcb, 0x37, 0x8c, 0xcd, 0xd7, 0x91, 0x6a, 0x5b, 0x11, 0xfc, 0xb1, 0x61, 0x33, 0x36, 0x14, 0xee, 0xd, 0x7d, 0xb, 0x3b, 0x73, 0x71, 0x9e, 0xa7, 0x5c, 0xf1, 0x38, 0x5b, 0x5, 0xcd, 0xdb, 0x4f, 0xc8, 0x3c, 0x45, 0x9c, 0x69, 0x35, 0x88, 0x31, 0x24, 0x7, 0x12, 0xc3, 0x58, 0xed, 0xfa, 0xde, 0x85, 0x8f, 0xa3, 0xcc, 0x44, 0x84, 0x34, 0x3b, 0xe7, 0x59, 0x6d, 0x32, 0x4a, 0x35, 0xca, 0xa1, 0xe6, 0xe2, 0xe, 0xc7, 0x2c, 0xa, 0xbe, 0x50, 0xd2, 0xd2, 0x64, 0x5f, 0xd8, 0xb6, 0xb, 0xdd, 0x41, 0x13, 0xd, 0x77, 0xa4, 0x34, 0x35, 0xdb, 0xbd, 0xac, 0x1f, 0xb0, 0xb1, 0x64, 0x8c, 0xf6, 0xf, 0x9d, 0xb2, 0xe9, 0x3d, 0x5a, 0x8a, 0x50, 0x5c, 0x35, 0xd4, 0xc0, 0x25, 0x86, 0x3b, 0x84, 0xf, 0x32, 0x6b, 0xf8, 0x93, 0x83, 0x81, 0x81, 0x72, 0x9, 0x80, 0x44, 0x13, 0xe, 0xe0, 0x5c, 0x5c, 0x7d, 0x6f, 0x25, 0xda, 0xdb, 0xd9, 0x52, 0xc5, 0x33, 0x60, 0x47, 0xea, 0x87, 0xa6, 0x29, 0x47, 0x76, 0x7e, 0xd9, 0xc0, 0x9c, 0xc8, 0x16, 0xb1, 0x65, 0xec, 0xf, 0xd7, 0x55, 0x82, 0x1c, 0x5b, 0x3f, 0x6a, 0x80, 0x6e, 0xf5, 0x82, 0x2d, 0xde, 0x46, 0xde, 0xd7, 0x0, 0xbd, 0x5a, 0x4a, 0x91, 0x70, 0x5f, 0x4e, 0xf7, 0x3d, 0xb2, 0x71, 0xad, 0xc5, 0x73, 0x51, 0xb2, 0xb7, 0x64, 0x54, 0x9a, 0xfa, 0x66, 0xda, 0xd6, 0xeb, 0x1a, 0x48, 0x94, 0x5e, 0x81, 0xe8, 0x6a, 0xec, 0xdc, 0x66, 0x1d, 0xf7, 0x74, 0x2e, 0x32, 0xa6, 0xfc, 0xa2, 0xc3, 0x38, 0x1c, 0x28, 0xa1, 0x59, 0x26, 0x71, 0xee, 0x7c, 0x4e, 0x26, 0x7c, 0x91, 0xd3, 0xec, 0x13, 0x2f, 0x6f, 0x5b, 0x3a, 0xd6, 0xa5, 0x95, 0x69, 0x60, 0x24, 0x3, 0x31, 0x2c, 0x8f, 0x56, 0x44, 0xe2, 0x4, 0xe9, 0x4a, 0x3a, 0xe4, 0xaf, 0xcd, 0xd3, 0xf6, 0xa1, 0xdb, 0x94, 0xde, 0x74, 0x94, 0xa, 0x3e, 0xc1, 0x48, 0x97, 0xa6, 0xdb, 0xd6, 0x33, 0x1f, 0xb5, 0x2, 0x8f, 0x47, 0xcf, 0x12, 0xcc, 0x90, 0x28, 0xd2, 0xb, 0xca, 0xfd, 0x34, 0xc0, 0xe3, 0x52, 0x5d, 0xea, 0x95, 0x7d, 0x2e, 0xb, 0xda, 0x80, 0x6c, 0xde, 0xd0, 0x39, 0x22, 0x9d, 0x21, 0x80, 0xd0, 0x4a, 0xf1, 0x4, 0x31, 0x27, 0xbf, 0x70, 0xc9, 0x1, 0xb5, 0x62, 0xdd, 0x62, 0x5e, 0x45, 0x34, 0x96, 0xc3, 0xcc, 0xaa, 0x5f, 0x43, 0xa3, 0xde, 0xe2, 0x2a, 0xd2, 0x53, 0x20, 0x2f, 0xd8, 0x67, 0x0, 0xce, 0x60, 0x9f, 0x13, 0xb6, 0xd2, 0xbb, 0x52, 0x88, 0x87, 0x1c, 0x0, 0x70, 0x58, 0x51, 0x80, 0x7f, 0x19, 0x81, 0xe5, 0x3c, 0x27, 0x11, 0xe8, 0xe0, 0x93, 0x92, 0x96, 0x5b, 0x63, 0xd9, 0xc1, 0x5c, 0x1, 0x80, 0x9f, 0x9b, 0x82, 0xd9, 0xfd, 0xaf, 0x46, 0xe7, 0xb3, 0xcb, 0xf1, 0xc5, 0x4f, 0xe3, 0xe1, 0x24, 0xe, 0x2d, 0xf3, 0xbf, 0x3a, 0xbf, 0x38, 0x47, 0x53, 0xc8, 0xe0, 0xdd, 0x87, 0x21, 0x28, 0xca, 0x57, 0xe3, 0x58, 0x1a, 0xf6, 0xbf, 0x9f, 0x8e, 0x3e, 0xe, 0xeb, 0x71, 0x3d, 0xfe, 0x17, 0x1f, 0x7, 0x7f, 0x1a, 0x7d, 0xbc, 0xfa, 0x38, 0x1b, 0x4c, 0xa7, 0xc3, 0x8f, 0x97, 0xd3, 0xc9, 0x6c, 0x3c, 0x1c, 0x9c, 0xbe, 0xdf, 0x38, 0x55, 0xfc, 0xef, 0xcb, 0x8b, 0xf, 0xa3, 0xd3, 0x3f, 0xcf, 0xce, 0x2f, 0xa6, 0xb3, 0xc9, 0x70, 0xd3, 0x8, 0xa3, 0x73, 0xed, 0x13, 0x9f, 0xc, 0xc7, 0xbf, 0xc, 0xc7, 0xb3, 0xe1, 0x78, 0x7c, 0x31, 0xde, 0xf0, 0xfd, 0x86, 0xd0, 0xa2, 0x5d, 0xec, 0x37, 0x8f, 0xda, 0x2a, 0xfa, 0xe5, 0x3d, 0x7a, 0x4, 0x49, 0xb8, 0x58, 0xef, 0xe5, 0xda, 0x3b, 0x44, 0x66, 0x3f, 0x42, 0x38, 0x41, 0x5c, 0x5d, 0x70, 0x77, 0x87, 0xc7, 0x2e, 0x78, 0xb7, 0x1b, 0x44, 0xd4, 0x4c, 0x48, 0x76, 0x70, 0x2f, 0xdd, 0xa1, 0x89, 0xeb, 0x51, 0xc9, 0xdb, 0x61, 0x8a, 0x9b, 0xdb, 0xb4, 0x43, 0x16, 0x37, 0x7f, 0xdf, 0x16, 0x4a, 0xd7, 0xde, 0xa2, 0x31, 0x74, 0x6e, 0xc3, 0x0, 0xcd, 0x51, 0x89, 0xed, 0xd, 0x5a, 0x83, 0x8d, 0x37, 0x2d, 0x62, 0x63, 0x24, 0xfa, 0x86, 0xb1, 0x5a, 0x2, 0x20, 0xdb, 0x5b, 0xd4, 0x2, 0xfa, 0x76, 0x61, 0x4d, 0x5a, 0xa0, 0xfb, 0xc0, 0xf2, 0x45, 0x79, 0xbb, 0x95, 0xb4, 0x56, 0x54, 0x69, 0x61, 0xe7, 0x26, 0x12, 0xad, 0x3, 0xaf, 0xc0, 0x16, 0xc7, 0x8c, 0xef, 0x61, 0xbe, 0xa7, 0xfd, 0xa0, 0xcb, 0xf0, 0x98, 0xcc, 0x88, 0xb4, 0x2a, 0x5, 0x28, 0x2b, 0x97, 0xa0, 0x43, 0x74, 0xed, 0xd0, 0x6b, 0xb2, 0xc5, 0xc3, 0xda, 0x8a, 0x54, 0xce, 0xa6, 0x5, 0xcd, 0xb1, 0xdc, 0xcb, 0xa9, 0xa8, 0xf2, 0x86, 0x2a, 0x50, 0x51, 0x23, 0x4d, 0x32, 0x13, 0xfe, 0x77, 0xf6, 0x6e, 0x1d, 0x2d, 0xbe, 0xb1, 0xc1, 0x52, 0x28, 0xd, 0x37, 0x61, 0x79, 0xd9, 0x8e, 0x9a, 0x44, 0xf6, 0xaf, 0x5c, 0xe9, 0x77, 0xd7, 0x55, 0xc7, 0xf1, 0xc1, 0x83, 0x7c, 0xeb, 0x78, 0x88, 0x18, 0x44, 0xb0, 0xa, 0x1e, 0xc2, 0x64, 0xad, 0x56, 0x50, 0x2, 0x9d, 0x40, 0x30, 0x66, 0xe8, 0x7d, 0x73, 0x51, 0x3f, 0xa1, 0x4a, 0x50, 0xc3, 0xf6, 0x41, 0xd7, 0x86, 0xc3, 0x4f, 0x4d, 0x32, 0x46, 0x73, 0x96, 0x92, 0x6a, 0x15, 0x14, 0x9b, 0xe7, 0xf9, 0xe2, 0xe4, 0x3b, 0x32, 0xb8, 0x1c, 0xa1, 0xb6, 0xb9, 0x14, 0xf7, 0xaa, 0x87, 0xbf, 0xc0, 0xd7, 0xd5, 0xea, 0x84, 0x79, 0xe6, 0xbe, 0x93, 0x87, 0xfb, 0xbf, 0xd6, 0xaf, 0xc6, 0x99, 0x2e, 0x39, 0xfd, 0x8d, 0xbd, 0x9b, 0xd, 0x56, 0xae, 0xd4, 0x14, 0xc3, 0xe, 0xed, 0x3b, 0x29, 0x9f, 0x9b, 0x28, 0x5f, 0xe3, 0x3e, 0x84, 0x7, 0xf, 0xad, 0x3b, 0x4a, 0x80, 0xf1, 0x94, 0x86, 0x3a, 0xd4, 0xbb, 0xb7, 0xb9, 0x5c, 0xa2, 0x4e, 0xe9, 0xdc, 0x46, 0xb1, 0x15, 0x4, 0xca, 0xd9, 0x8b, 0xa0, 0x4, 0x48, 0x21, 0x44, 0x33, 0x8f, 0x3a, 0x5c, 0x15, 0xeb, 0x4a, 0x91, 0xa7, 0x9b, 0x4b, 0x42, 0xa9, 0x19, 0x36, 0x68, 0x50, 0xb5, 0x7d, 0x68, 0xfd, 0x32, 0xda, 0x70, 0xac, 0x1b, 0x1e, 0x17, 0xc, 0x7f, 0xd3, 0x27, 0x83, 0x30, 0xf4, 0x58, 0x8d, 0x8f, 0x3c, 0x3c, 0xd8, 0x40, 0x5e, 0x4a, 0x22, 0x1e, 0xf2, 0x70, 0xb0, 0x68, 0x32, 0xdf, 0x5, 0x9d, 0xc1, 0x25, 0xba, 0x85, 0xa8, 0xe0, 0xb8, 0x3f, 0xf5, 0x5b, 0x8b, 0x2d, 0x1f, 0x4e, 0x9f, 0xe2, 0x50, 0x51, 0x8b, 0x46, 0x63, 0x82, 0xf9, 0xa3, 0x8b, 0x61, 0x81, 0x85, 0x2a, 0xf9, 0x52, 0x68, 0x83, 0x17, 0x4b, 0xc1, 0xf2, 0x29, 0xa, 0x5b, 0x39, 0x3, 0xaa, 0x76, 0x63, 0xef, 0xb2, 0x47, 0x0, 0xa, 0xcd, 0x58, 0xb5, 0x25, 0xb9, 0x61, 0x30, 0x56, 0x38, 0xd8, 0x50, 0xff, 0x35, 0xda, 0x39, 0x42, 0x26, 0x9, 0xcb, 0x69, 0xc1, 0x5, 0x79, 0xe3, 0x59, 0x36, 0x3f, 0xbd, 0x31, 0x26, 0x85, 0xe4, 0x96, 0x67, 0xa9, 0x5b, 0xd8, 0xa7, 0xef, 0xd0, 0x1, 0xff, 0xe9, 0xbb, 0xb6, 0xf, 0xbe, 0xef, 0xc7, 0x23, 0x28, 0xda, 0xab, 0x9f, 0xb0, 0x98, 0x6b, 0xcd, 0xbb, 0x60, 0xcc, 0xdb, 0x4, 0x2e, 0xc9, 0xa7, 0x37, 0xb5, 0x2e, 0xec, 0x24, 0xbf, 0xdb, 0x71, 0x92, 0xb5, 0x3d, 0xfd, 0xc2, 0xf3, 0xfb, 0x3e, 0x9c, 0x5f, 0x7d, 0xf8, 0xef, 0xba, 0xf, 0xff, 0xe9, 0xd, 0x8e, 0x66, 0xc1, 0xda, 0xea, 0x5f, 0x7c, 0x7, 0x5f, 0xd4, 0xfb, 0xb4, 0xf3, 0xf9, 0x97, 0x1d, 0xf7, 0xcb, 0x98, 0x9, 0x59, 0xda, 0xc3, 0x4a, 0xec, 0x3c, 0x5f, 0x90, 0x4f, 0xdf, 0x7f, 0xc9, 0x2d, 0xfb, 0xdf, 0xe1, 0x14, 0x9b, 0x67, 0xf0, 0x85, 0xb7, 0xd, 0x5d, 0x84, 0x2c, 0x6d, 0x75, 0x87, 0xee, 0x1c, 0xe0, 0xee, 0x90, 0xe1, 0x4d, 0xdf, 0xba, 0x84, 0xc4, 0xe8, 0x4c, 0x47, 0xbd, 0xf8, 0x96, 0xdb, 0x3e, 0xb9, 0x54, 0x8b, 0x56, 0xef, 0x88, 0x71, 0x6d, 0x63, 0xdc, 0xed, 0x92, 0xd1, 0x5c, 0xd6, 0x1, 0x1, 0xd, 0xfe, 0x5f, 0xb8, 0x29, 0x4d, 0xfd, 0xe, 0x6a, 0xa3, 0x83, 0x8f, 0x36, 0x63, 0x9, 0x68, 0xba, 0x14, 0x41, 0x4, 0xd, 0x88, 0xba, 0xf3, 0x5a, 0xea, 0x86, 0xe0, 0x64, 0x1d, 0x57, 0x19, 0x8b, 0xac, 0x86, 0x36, 0x3e, 0xa2, 0x29, 0xaa, 0x47, 0x34, 0x18, 0x9f, 0x75, 0x30, 0x90, 0x8e, 0xcb, 0x68, 0x8d, 0x7, 0xa2, 0x3c, 0x93, 0xb6, 0x3e, 0xaf, 0x69, 0x12, 0xe, 0xd, 0x65, 0x2d, 0x7b, 0x9e, 0x23, 0xd8, 0x5f, 0x9c, 0xef, 0x21, 0x4a, 0x12, 0x51, 0xa4, 0x1a, 0x6a, 0xd3, 0x33, 0x6c, 0x7b, 0xbb, 0x8, 0xde, 0xe3, 0x88, 0xb2, 0xea, 0x1b, 0x96, 0xd0, 0x1c, 0xb, 0x1a, 0xe8, 0x8e, 0xb5, 0xb1, 0x74, 0xc9, 0xd3, 0x34, 0x63, 0x18, 0x5d, 0xe6, 0x2d, 0x75, 0x4e, 0x4e, 0x1d, 0x1a, 0xe9, 0x98, 0xe9, 0x6c, 0x20, 0xd8, 0x42, 0x84, 0xc6, 0x6, 0x40, 0xed, 0x94, 0x94, 0x22, 0x1c, 0x37, 0x3a, 0xb8, 0x6f, 0x2b, 0x91, 0x69, 0x27, 0xe7, 0xb1, 0x2e, 0x84, 0x75, 0xbc, 0xdb, 0x7e, 0xd1, 0x4c, 0x4e, 0xad, 0x6f, 0xf4, 0x95, 0x7e, 0x2a, 0x3d, 0xca, 0x1d, 0xcd, 0xd5, 0x5f, 0x25, 0x54, 0x8c, 0x32, 0x7, 0x3d, 0x83, 0x43, 0x99, 0xf1, 0xd4, 0xba, 0xfc, 0x35, 0xe4, 0xb2, 0xda, 0xbd, 0x9e, 0x71, 0xd3, 0x86, 0x7b, 0x27, 0xe6, 0xba, 0x3c, 0x49, 0x53, 0xe8, 0xc0, 0x37, 0xde, 0x67, 0xb8, 0x3, 0x7b, 0x59, 0xaf, 0x1a, 0x58, 0xe, 0x5e, 0x28, 0x1d, 0x34, 0x6b, 0x33, 0x63, 0xc, 0x61, 0x26, 0xb7, 0x94, 0xc7, 0x64, 0xe5, 0xaa, 0xaf, 0x22, 0xab, 0x65, 0x29, 0x44, 0xc5, 0xc0, 0xed, 0x4, 0x41, 0xb, 0xf0, 0x73, 0x8d, 0xd, 0x1d, 0xe9, 0xd7, 0x8b, 0x83, 0xc0, 0x7a, 0x3, 0x7a, 0x24, 0xac, 0xb0, 0xa3, 0x6, 0x9, 0xc7, 0x38, 0x21, 0x26, 0xae, 0x18, 0xc2, 0x8a, 0xe3, 0x3f, 0x5a, 0xd6, 0x3f, 0x66, 0x65, 0xb1, 0xde, 0xf0, 0x57, 0xc9, 0xca, 0x5a, 0xc7, 0x85, 0xc8, 0xc9, 0x44, 0x73, 0x9, 0xfb, 0x47, 0x77, 0x24, 0xc7, 0x77, 0x50, 0xfc, 0x12, 0xf4, 0xdd, 0x55, 0x46, 0x1e, 0xdc, 0x0, 0x48, 0xb2, 0xcf, 0xd1, 0x5b, 0xbc, 0x16, 0xda, 0xa7, 0xa0, 0x97, 0xa0, 0x68, 0x8, 0x8a, 0xae, 0xd8, 0x7b, 0x10, 0x1e, 0xe9, 0x92, 0x2f, 0x6e, 0xa3, 0x4d, 0xb9, 0x61, 0xae, 0xb1, 0x12, 0x18, 0xab, 0xdc, 0xfe, 0xb3, 0x47, 0x30, 0x28, 0x6, 0xce, 0x34, 0x27, 0xd7, 0x6e, 0x9f, 0x66, 0x4a, 0x76, 0xef, 0x9b, 0xf0, 0xa, 0xd, 0xd2, 0x1a, 0xff, 0xd9, 0xfb, 0xb7, 0xb8, 0x67, 0x45, 0xc1, 0x53, 0x76, 0x5d, 0x23, 0x27, 0x3f, 0x9e, 0xc3, 0x7b, 0x4b, 0xa0, 0x8a, 0x2c, 0xb0, 0x37, 0xf7, 0x1, 0x8c, 0x2, 0x2b, 0x88, 0xf8, 0xea, 0xbc, 0x2, 0x8, 0xe5, 0xc0, 0xa, 0xed, 0xe3, 0x1a, 0xef, 0x3, 0x56, 0x3d, 0xd5, 0x65, 0xf5, 0x4c, 0xed, 0x61, 0x56, 0x10, 0xd7, 0x21, 0xca, 0xf8, 0x2e, 0xc0, 0xac, 0x49, 0xb9, 0x6e, 0x88, 0x19, 0x5e, 0x15, 0x5c, 0x14, 0x51, 0xc2, 0xd6, 0xee, 0x61, 0x72, 0xba, 0x93, 0xf6, 0x4a, 0x45, 0xfa, 0x3, 0x1b, 0xd7, 0xef, 0x69, 0xcd, 0x98, 0x8c, 0xa6, 0x23, 0xed, 0xba, 0xdb, 0x35, 0x1a, 0x91, 0xfe, 0x25, 0xff, 0x3b, 0x9c, 0xc0, 0x8d, 0xea, 0xc2, 0x48, 0x72, 0x66, 0x8, 0xb2, 0xd2, 0xd1, 0x7c, 0x2e, 0xab, 0x15, 0xc, 0xa, 0x71, 0x86, 0x5d, 0x3d, 0x53, 0x4e, 0x4f, 0xae, 0x9b, 0x85, 0x26, 0xae, 0x27, 0xad, 0x1a, 0xa9, 0xa9, 0xec, 0x3b, 0x8d, 0xb6, 0x3b, 0xf9, 0x5e, 0x64, 0x20, 0xfa, 0xf0, 0xa4, 0x41, 0x6b, 0x6d, 0xca, 0x35, 0xf5, 0xe8, 0x1c, 0x5e, 0x5, 0x59, 0x16, 0x55, 0xa2, 0xa8, 0x14, 0x73, 0x7e, 0x8d, 0xb, 0xf0, 0xde, 0xba, 0x0, 0x7b, 0x5a, 0xf8, 0xac, 0xac, 0xd7, 0x80, 0x50, 0x92, 0xe9, 0x12, 0x4c, 0xb2, 0xba, 0x51, 0xaf, 0x16, 0xc4, 0x12, 0x35, 0xd4, 0xac, 0xc, 0x18, 0x8e, 0x6, 0xf1, 0xde, 0xd1, 0x91, 0xe0, 0xee, 0xea, 0x85, 0xbe, 0xaa, 0x7, 0x11, 0xe9, 0x2f, 0xb5, 0xee, 0xda, 0xfd, 0xb3, 0xc6, 0x40, 0x45, 0xef, 0x98, 0x24, 0xa6, 0xc6, 0x72, 0x82, 0x85, 0x19, 0xe1, 0x66, 0x79, 0x6c, 0xc1, 0x44, 0xc6, 0x21, 0x86, 0xbc, 0x2e, 0x25, 0x31, 0x39, 0xfb, 0xd9, 0x8, 0xa4, 0xae, 0xf4, 0xb9, 0xb3, 0x54, 0x7d, 0xed, 0xfb, 0x67, 0x16, 0x64, 0x78, 0x5e, 0xc8, 0xba, 0x9f, 0x4b, 0x3b, 0x8d, 0x78, 0x11, 0x5e, 0xc9, 0x49, 0xbe, 0x64, 0x93, 0x3b, 0xbe, 0x5a, 0xf1, 0x7c, 0x11, 0x26, 0x7c, 0xed, 0x35, 0xe5, 0x69, 0xad, 0xbb, 0xce, 0x31, 0xb6, 0x7c, 0xc9, 0x4e, 0xa4, 0x6e, 0xaa, 0x8, 0x73, 0xce, 0x17, 0xc6, 0xae, 0x65, 0x75, 0x87, 0xad, 0xc6, 0x9a, 0xd1, 0x1c, 0xde, 0x28, 0x6b, 0x87, 0x2c, 0x37, 0xf4, 0xaa, 0xdf, 0xb3, 0x6a, 0x95, 0x52, 0x3f, 0x5b, 0x47, 0x7, 0x14, 0xfc, 0x21, 0x96, 0x80, 0xd5, 0xe3, 0xc6, 0x75, 0x42, 0x72, 0xdc, 0xf, 0xbc, 0x81, 0xc5, 0x3d, 0x6b, 0xf3, 0xb7, 0xe9, 0x9b, 0x72, 0x85, 0x43, 0x1d, 0xe6, 0x66, 0xff, 0x76, 0xf7, 0x27, 0x3a, 0x31, 0xef, 0xb2, 0x18, 0x2, 0x24, 0xd5, 0x4a, 0x32, 0x70, 0x53, 0x72, 0x13, 0xff, 0x73, 0xef, 0x95, 0xb3, 0x32, 0x87, 0xb4, 0xc8, 0x45, 0x81, 0x46, 0xc4, 0x9c, 0x67, 0x50, 0x3, 0x61, 0x4e, 0xaa, 0x5c, 0xb2, 0x72, 0xd6, 0xf0, 0x90, 0xab, 0xfd, 0x2d, 0xb, 0xbf, 0xe, 0x2b, 0x7c, 0x5a, 0x9f, 0xf7, 0xce, 0x11, 0x66, 0x4d, 0xb, 0xd0, 0xf2, 0x71, 0xdb, 0xfc, 0x69, 0x59, 0x52, 0x25, 0xd3, 0x8d, 0x3b, 0xe3, 0xe3, 0x75, 0x8e, 0xb, 0x32, 0x5d, 0x1b, 0x8d, 0xb0, 0xa8, 0x72, 0x98, 0x5a, 0x83, 0x24, 0x26, 0x85, 0x4e, 0x24, 0x51, 0xcc, 0xfa, 0x6f, 0x15, 0x28, 0xc, 0xb6, 0x66, 0x0, 0x2f, 0x6f, 0x41, 0xde, 0xd, 0xf7, 0xdc, 0xb, 0xb2, 0x31, 0xda, 0x49, 0xca, 0xd2, 0x6a, 0xe5, 0x5b, 0x6c, 0xcd, 0xc, 0x5c, 0x8c, 0xf9, 0x29, 0xcd, 0xb2, 0x1b, 0x9a, 0x34, 0xd5, 0x66, 0x39, 0xb0, 0xbc, 0xa0, 0xe9, 0xb9, 0x95, 0xd8, 0xdc, 0x24, 0x20, 0xde, 0x8, 0x66, 0xb1, 0xc3, 0x1e, 0x79, 0x31, 0xcf, 0x7b, 0xe6, 0xae, 0x9b, 0x90, 0x5f, 0xc, 0xdf, 0x37, 0xbd, 0xd8, 0xa8, 0x70, 0x97, 0xc5, 0xce, 0xd, 0x2, 0x41, 0x10, 0xcd, 0x84, 0x72, 0x9b, 0x56, 0x5c, 0x9a, 0x48, 0xe9, 0xeb, 0x3c, 0x11, 0x11, 0xbd, 0x59, 0x89, 0x6d, 0xdb, 0x8d, 0x25, 0x63, 0xa6, 0x5, 0x7b, 0xaf, 0x10, 0xa2, 0x99, 0xf2, 0x1f, 0x80, 0x71, 0xfe, 0x67, 0x25, 0x31, 0xc2, 0x88, 0xd3, 0x4c, 0xd7, 0x5c, 0xdc, 0x78, 0xd1, 0x1f, 0xc3, 0xa3, 0xe3, 0xfb, 0xa8, 0x36, 0xbd, 0xd, 0xf, 0x54, 0x6a, 0xc9, 0x3f, 0xed, 0x3b, 0x37, 0x82, 0xdd, 0x8, 0xf3, 0x66, 0x4, 0x8d, 0x5a, 0x78, 0xff, 0x65, 0x1c, 0x8e, 0xd6, 0x91, 0xcf, 0xef, 0x4b, 0xb7, 0x5b, 0xa8, 0x15, 0x62, 0xcf, 0xd2, 0x16, 0x1d, 0x2f, 0xa, 0xa2, 0x4b, 0xf7, 0x9, 0x4d, 0x9d, 0xea, 0xad, 0x75, 0x66, 0xb8, 0x6, 0xe, 0xa6, 0xf6, 0x17, 0x87, 0xe8, 0x1a, 0xad, 0x4a, 0x65, 0x87, 0x2a, 0xd1, 0x4d, 0x79, 0xba, 0xe, 0x52, 0x44, 0xd, 0x68, 0x6c, 0x2d, 0xed, 0x6b, 0x6f, 0xc, 0xa7, 0xae, 0x9f, 0x66, 0x18, 0x71, 0xd3, 0x4d, 0x54, 0xc7, 0x25, 0x6f, 0xa2, 0x93, 0x3, 0x65, 0x83, 0x6f, 0x4b, 0x33, 0x5f, 0xf1, 0x90, 0x76, 0x41, 0xa8, 0x6d, 0x1c, 0xcf, 0xbe, 0x86, 0x7a, 0xb5, 0x1, 0xdb, 0xee, 0xb4, 0xde, 0xb0, 0x48, 0x97, 0x3d, 0x31, 0x58, 0x4, 0xcd, 0x75, 0xd4, 0xd8, 0x92, 0x16, 0x77, 0xb8, 0x1a, 0xda, 0x42, 0x12, 0xf1, 0x4d, 0xa8, 0xd1, 0x5, 0xc6, 0xd7, 0x1e, 0x4a, 0x19, 0x12, 0x7a, 0x39, 0xc4, 0x3c, 0xf1, 0x4a, 0x7d, 0x6c, 0xeb, 0x2f, 0x42, 0x77, 0xea, 0x19, 0x9e, 0xf3, 0xc2, 0x2b, 0xf5, 0x1a, 0xe7, 0x90, 0x1f, 0x3f, 0x35, 0xef, 0x93, 0x95, 0x5e, 0xa4, 0xb, 0x5, 0x55, 0xa, 0xad, 0x85, 0x14, 0xa0, 0x92, 0xd0, 0x62, 0x51, 0x2d, 0x59, 0x5e, 0xbe, 0x90, 0x2f, 0x8d, 0xa8, 0xa0, 0x67, 0x7c, 0x4b, 0xf3, 0x34, 0xf3, 0xd2, 0x18, 0x8f, 0x85, 0x6c, 0xf3, 0xca, 0xbb, 0x2e, 0x12, 0xed, 0x36, 0x4a, 0x17, 0x87, 0x41, 0x6d, 0x1f, 0xf5, 0xc, 0xbd, 0x9d, 0xf7, 0x27, 0x4e, 0xdb, 0xdb, 0x92, 0xa, 0xd, 0x5f, 0xeb, 0xb4, 0xe3, 0x7, 0x56, 0x30, 0xb2, 0xa2, 0x7e, 0x69, 0x44, 0xc9, 0xf2, 0x54, 0x57, 0x24, 0x74, 0x5b, 0x44, 0xa1, 0x34, 0xeb, 0x8a, 0xeb, 0xcf, 0x74, 0x75, 0xf0, 0xf0, 0x65, 0xd7, 0x29, 0xcc, 0xb6, 0xea, 0x58, 0x8b, 0x19, 0x4a, 0xbd, 0xae, 0x3f, 0xb1, 0x9c, 0x15, 0xb4, 0x64, 0x3e, 0xc4, 0xc5, 0xce, 0xa2, 0x7a, 0x8b, 0xed, 0x9b, 0x7b, 0xb9, 0x17, 0x2b, 0xf4, 0x1a, 0x79, 0xc5, 0x74, 0x69, 0xf6, 0x40, 0xd7, 0xd2, 0x33, 0xc4, 0xcf, 0x69, 0xe6, 0xe7, 0x5c, 0x75, 0x42, 0x4c, 0xfa, 0x82, 0xd1, 0xa, 0x60, 0x3e, 0xd5, 0x9b, 0x8e, 0x19, 0x21, 0x68, 0xb2, 0xa9, 0x73, 0x89, 0x20, 0x8b, 0x17, 0xf3, 0x18, 0x8f, 0xc0, 0x9, 0x1b, 0xb3, 0x5c, 0x63, 0xc6, 0x88, 0xec, 0xc7, 0xfc, 0xa1, 0x17, 0xd4, 0x86, 0xd5, 0x54, 0x50, 0xa, 0x2d, 0x98, 0x9b, 0xbc, 0xd6, 0xba, 0xea, 0x9c, 0x88, 0x2, 0x5c, 0x4d, 0x43, 0xd, 0x5a, 0x8e, 0xc2, 0xc1, 0x2, 0x49, 0x43, 0x31, 0xc8, 0x8c, 0xe7, 0x77, 0x6d, 0xc, 0x10, 0x23, 0x5f, 0x8f, 0x84, 0xfc, 0x74, 0x70, 0xe8, 0x29, 0x3a, 0x83, 0xcc, 0xdf, 0x6c, 0xdc, 0xde, 0x81, 0x9b, 0x3f, 0x8a, 0x92, 0x86, 0x75, 0x4d, 0xcf, 0x5b, 0x9e, 0xa5, 0x3a, 0x63, 0xd5, 0xc, 0x44, 0x44, 0x55, 0x98, 0xe0, 0x8d, 0x8c, 0xdf, 0x33, 0x49, 0x6a, 0xae, 0x93, 0xc9, 0xd9, 0xcf, 0xe8, 0xa8, 0xbc, 0x1a, 0x91, 0x52, 0x88, 0x4c, 0x7a, 0x29, 0x87, 0xe4, 0x1a, 0xdb, 0xce, 0xcc, 0x48, 0x33, 0xdb, 0xb3, 0xa9, 0x56, 0x77, 0x53, 0x39, 0x8c, 0x2, 0x25, 0xe3, 0x6f, 0x6e, 0x5, 0xf9, 0xda, 0x22, 0xcf, 0xd6, 0xfd, 0x6d, 0x5b, 0xd4, 0x39, 0xb4, 0xf1, 0x5b, 0x5d, 0xc8, 0xee, 0xe1, 0x43, 0x71, 0xb8, 0x4d, 0x9c, 0x7e, 0x11, 0xa8, 0x84, 0x51, 0x44, 0x43, 0x79, 0xcb, 0x24, 0x73, 0xc5, 0xec, 0x30, 0x26, 0x6, 0x3c, 0xc1, 0x75, 0x63, 0x56, 0xc8, 0x5b, 0x5b, 0x1b, 0x1a, 0x5b, 0x16, 0x8d, 0xc7, 0x12, 0x73, 0xaf, 0xde, 0x6f, 0x33, 0x3b, 0x1, 0x73, 0x80, 0x6a, 0xec, 0xe3, 0x2, 0xc4, 0x67, 0x79, 0x28, 0xca, 0x1e, 0x36, 0x73, 0x39, 0xd5, 0x30, 0x4b, 0x3f, 0x1, 0xdb, 0xec, 0x97, 0x85, 0xce, 0x8b, 0x76, 0xd8, 0xe9, 0x8e, 0x5f, 0x2, 0xea, 0xe6, 0xf8, 0x62, 0xca, 0xe4, 0xec, 0x67, 0xdc, 0x59, 0x4f, 0x4e, 0xc1, 0x5d, 0xf7, 0x64, 0x15, 0xc2, 0x4b, 0x5f, 0x5a, 0xb1, 0x59, 0x6e, 0x35, 0x24, 0xb3, 0x1a, 0x1b, 0xfb, 0xea, 0xd0, 0x58, 0x8d, 0x7e, 0x99, 0x26, 0xf2, 0xd7, 0xb8, 0x36, 0x2e, 0x87, 0xac, 0x60, 0x25, 0x94, 0x58, 0x45, 0xb1, 0x2, 0xbd, 0xad, 0x3a, 0xe2, 0xa8, 0x8e, 0x71, 0xf3, 0x84, 0x1e, 0x74, 0x6c, 0xf4, 0x20, 0x1b, 0xe5, 0x75, 0x58, 0x42, 0x4a, 0x6c, 0xb7, 0x44, 0x40, 0xd2, 0x38, 0x89, 0xdc, 0x85, 0x39, 0x42, 0xb6, 0x8c, 0x1d, 0xdb, 0xa4, 0xaa, 0xeb, 0xa4, 0x15, 0x8e, 0xfe, 0x5f, 0xc8, 0x63, 0x41, 0xd2, 0x1, 0xfb, 0x93, 0xe, 0x95, 0x8, 0x99, 0x60, 0x3d, 0x3e, 0xf1, 0x9, 0xd3, 0xa6, 0x2d, 0xf1, 0xc0, 0xee, 0xf7, 0x8f, 0xf5, 0x54, 0xbc, 0x9d, 0xb2, 0xee, 0xb6, 0x21, 0xae, 0xec, 0xc6, 0x1a, 0x4d, 0xb6, 0xf3, 0x51, 0x29, 0xd0, 0x14, 0x3e, 0xd7, 0x66, 0x60, 0x45, 0x8d, 0xd6, 0xe0, 0xd4, 0x26, 0x42, 0x9a, 0x54, 0x2e, 0x2a, 0xc9, 0x43, 0xc1, 0xcb, 0x92, 0xc5, 0x82, 0xd3, 0x20, 0xce, 0xfb, 0x46, 0x1b, 0xa0, 0x8c, 0x62, 0x1b, 0x10, 0xa5, 0xa6, 0x7, 0x82, 0x92, 0x71, 0xfd, 0x48, 0xef, 0x4d, 0x3d, 0xdc, 0xf8, 0x3c, 0x6a, 0x37, 0xc6, 0x44, 0xa0, 0xa9, 0x76, 0x56, 0xb6, 0x2b, 0x8, 0xb5, 0xf9, 0x62, 0x7b, 0x7d, 0xcf, 0x8a, 0xb5, 0x8b, 0xe6, 0x19, 0x29, 0x2d, 0xcb, 0x60, 0x6d, 0x41, 0x80, 0x8d, 0x9a, 0x71, 0x10, 0x54, 0xd3, 0xc3, 0xe8, 0x99, 0x1e, 0x46, 0xc4, 0xa8, 0x57, 0x60, 0x1c, 0x27, 0xca, 0x1b, 0x38, 0x2d, 0x25, 0xc8, 0xe8, 0x6a, 0xd8, 0x20, 0xca, 0x4, 0x41, 0x41, 0x90, 0xed, 0x76, 0x9, 0x0, 0x49, 0xdd, 0x33, 0x39, 0x6c, 0x13, 0x2f, 0x2b, 0xa4, 0x54, 0x2a, 0x6d, 0x83, 0xc3, 0x7f, 0x4b, 0xb5, 0x79, 0xa0, 0x21, 0x80, 0x67, 0x2e, 0xc9, 0x1b, 0x2d, 0x93, 0xbb, 0x82, 0xfe, 0x7c, 0xc9, 0x24, 0x79, 0x60, 0x18, 0xfc, 0x8c, 0x1c, 0xae, 0x14, 0x86, 0xb9, 0x85, 0xa2, 0x7d, 0xc3, 0x2d, 0xe, 0xb, 0xe4, 0xd7, 0x1e, 0xf9, 0xa3, 0xc2, 0x64, 0x28, 0x35, 0x8f, 0xde, 0x48, 0x91, 0xc1, 0xc4, 0x20, 0x15, 0xc0, 0x65, 0x37, 0xfa, 0xc0, 0x6, 0xda, 0xd0, 0xa2, 0x3e, 0x49, 0x49, 0x1d, 0x3, 0xc3, 0x10, 0x85, 0xb6, 0x28, 0x98, 0xc0, 0x76, 0x1d, 0x2f, 0x63, 0x1, 0x1, 0x3e, 0x3, 0x9d, 0xbc, 0x42, 0x7c, 0x2b, 0xe1, 0xa3, 0x5e, 0x75, 0x84, 0x91, 0x28, 0x44, 0x6e, 0xc2, 0xa8, 0xf6, 0xc8, 0xa2, 0xc, 0x95, 0x2a, 0x80, 0x4e, 0x53, 0x54, 0x88, 0x6f, 0x8f, 0x9, 0xe2, 0x4, 0xa0, 0x1, 0x58, 0x2f, 0x66, 0xa4, 0x90, 0x5b, 0xe6, 0x19, 0xb5, 0x80, 0xd8, 0x7d, 0xeb, 0xc5, 0x3b, 0xc4, 0xbc, 0xfb, 0xc6, 0x89, 0x20, 0x3f, 0x8a, 0xc2, 0xac, 0xc3, 0x4f, 0xaa, 0x8f, 0x73, 0x41, 0xe9, 0xd2, 0x44, 0xaa, 0xc0, 0x59, 0x9b, 0x4c, 0x10, 0x87, 0xd0, 0xc0, 0x4b, 0x1d, 0x42, 0x47, 0xc4, 0xbc, 0x41, 0x71, 0xf7, 0xfb, 0x7, 0xce, 0x69, 0x23, 0x5f, 0x4d, 0x71, 0xfa, 0x5c, 0xed, 0x9e, 0x56, 0x30, 0x15, 0x27, 0x86, 0x33, 0x5f, 0xb1, 0x2, 0xb2, 0xc, 0x54, 0xfb, 0x99, 0x69, 0xe2, 0x4e, 0xfc, 0x31, 0xa5, 0x89, 0x29, 0xe9, 0x65, 0x70, 0xc4, 0x54, 0xb1, 0xc3, 0x70, 0xb8, 0x9a, 0xf4, 0x2d, 0xed, 0xa8, 0x3e, 0xf0, 0xe2, 0xeb, 0x5e, 0x8e, 0xa0, 0x83, 0xc1, 0xcf, 0xa8, 0xf4, 0x42, 0x4f, 0x35, 0xb8, 0xd5, 0x82, 0x21, 0x38, 0x39, 0x2f, 0x6f, 0x75, 0xe3, 0x99, 0xed, 0x76, 0x6, 0xdd, 0xce, 0x78, 0xc0, 0xe6, 0xc3, 0x2e, 0x8d, 0xfa, 0x1a, 0x4f, 0x65, 0x2e, 0xa, 0xd, 0xa7, 0xef, 0xcc, 0x20, 0x35, 0x6e, 0xb9, 0x8f, 0x27, 0x20, 0x34, 0x24, 0x3e, 0xa8, 0x35, 0xbf, 0xe9, 0x7f, 0xe7, 0xe5, 0x3, 0x48, 0x51, 0x15, 0x9, 0x7b, 0x1c, 0xc9, 0x75, 0x91, 0x7d, 0x28, 0x2f, 0x59, 0x9e, 0x82, 0xca, 0x8, 0x30, 0x81, 0xf9, 0xba, 0xbc, 0x85, 0x48, 0x6, 0x38, 0x81, 0xf2, 0x96, 0x46, 0x10, 0x81, 0xf7, 0xac, 0xa0, 0xa0, 0x8e, 0x2, 0xde, 0xb0, 0xcd, 0xc6, 0x9b, 0x8b, 0xa2, 0x7e, 0xe9, 0xff, 0xa6, 0xd4, 0x65, 0x8d, 0xd0, 0xf1, 0xc0, 0xb4, 0x2e, 0x7, 0xda, 0xaa, 0x62, 0x8c, 0x1b, 0xc2, 0x92, 0xb7, 0x7, 0x15, 0x27, 0x8f, 0x3f, 0xb6, 0xc0, 0xb1, 0xc6, 0x90, 0xef, 0xa1, 0xc, 0x19, 0x26, 0xb8, 0x3d, 0x7e, 0x4b, 0xd5, 0xd7, 0x4b, 0x74, 0x3b, 0x72, 0xaa, 0xdb, 0x57, 0x4c, 0x76, 0xfb, 0x54, 0xf3, 0x54, 0xb7, 0xcd, 0x51, 0x5f, 0xa, 0xf5, 0x3b, 0x67, 0xa, 0xd, 0x43, 0xa4, 0xfd, 0x40, 0x7, 0xf8, 0x79, 0x4a, 0xa5, 0xeb, 0x9c, 0x77, 0x5, 0x61, 0xf5, 0x6f, 0xe0, 0x3c, 0xdb, 0xb6, 0x58, 0xbb, 0x72, 0xea, 0xdb, 0xac, 0x5b, 0x7f, 0x87, 0xf3, 0xfe, 0x1e, 0xf7, 0x6e, 0x4b, 0x2f, 0xbf, 0xc1, 0x6c, 0xbe, 0xc7, 0xb4, 0x45, 0x8f, 0x24, 0xa1, 0x50, 0x6f, 0x89, 0x3e, 0x87, 0x2e, 0x8b, 0x6a, 0xda, 0x9a, 0xdf, 0x40, 0x5a, 0xe2, 0x63, 0x3a, 0xfb, 0xc7, 0x90, 0x19, 0x79, 0x9c, 0xf3, 0x3f, 0x72, 0x3e, 0x59, 0x9c, 0x14, 0x13, 0x83, 0xe0, 0xd9, 0xbc, 0x40, 0xad, 0x22, 0xdf, 0x78, 0x78, 0xb3, 0xde, 0x53, 0x25, 0xa, 0x67, 0x56, 0x7d, 0x2c, 0x99, 0x77, 0x8f, 0x3a, 0xf4, 0xd8, 0xe5, 0x2e, 0xc6, 0xc2, 0x9b, 0x56, 0x51, 0x1b, 0x85, 0x38, 0xf8, 0x39, 0x55, 0x77, 0xbb, 0x60, 0x79, 0xf, 0xd4, 0x55, 0xd9, 0x33, 0x3e, 0x8b, 0x5e, 0xe0, 0xb4, 0x30, 0x46, 0x6c, 0x30, 0x14, 0x68, 0xa2, 0xd1, 0xa, 0x82, 0xd2, 0x7b, 0x9f, 0x4b, 0x37, 0x17, 0x3e, 0xd7, 0xd8, 0xab, 0x91, 0x7e, 0x93, 0x5b, 0xe4, 0x4, 0x1f, 0xb, 0xef, 0xb9, 0xc4, 0x44, 0x2, 0xf0, 0x52, 0x69, 0xa7, 0x9e, 0xf5, 0x5, 0xd9, 0x3e, 0xf5, 0xe6, 0xc7, 0x9e, 0xb9, 0x4b, 0x18, 0xe7, 0x53, 0x94, 0x87, 0x74, 0x1c, 0x8d, 0x31, 0x24, 0x65, 0x5e, 0xda, 0xfc, 0x30, 0xb4, 0xfc, 0x34, 0x7a, 0x1b, 0xd, 0xfd, 0x1a, 0x18, 0x3a, 0x9c, 0x9f, 0x3d, 0x15, 0x9c, 0x68, 0x8d, 0x8c, 0x4d, 0xb6, 0x93, 0x9e, 0x77, 0x9f, 0x8c, 0x72, 0x53, 0x13, 0x4a, 0x2, 0x16, 0x6e, 0x30, 0xe, 0x9c, 0x0, 0x2, 0x5e, 0xd2, 0xda, 0x8, 0x46, 0xcd, 0x6d, 0xcb, 0xb7, 0x94, 0xc6, 0x8e, 0x27, 0x50, 0xe6, 0x3b, 0xd5, 0x1a, 0x92, 0xa7, 0x1e, 0xab, 0x6b, 0xe8, 0x4e, 0xa4, 0xc5, 0xee, 0x5, 0x69, 0x32, 0x79, 0xb6, 0x36, 0x27, 0x1a, 0xcd, 0xd1, 0x40, 0x76, 0xe9, 0x91, 0x68, 0xfd, 0x88, 0xbd, 0xec, 0xdf, 0x7a, 0xbc, 0x76, 0x3d, 0x11, 0xec, 0x97, 0xf8, 0xfc, 0xcd, 0xde, 0x59, 0x16, 0x70, 0xe5, 0xf9, 0xe9, 0xa3, 0xc, 0xb9, 0xeb, 0xc7, 0x93, 0x1a, 0x66, 0xd9, 0x2d, 0x9e, 0x5b, 0x3, 0xa5, 0xee, 0xa9, 0x56, 0xd7, 0xa8, 0x7f, 0x7, 0xdd, 0x3a, 0x48, 0x62, 0xc, 0x8b, 0xb9, 0x20, 0x33, 0x45, 0x6a, 0x13, 0x9a, 0x2a, 0x8d, 0xf6, 0x8c, 0x86, 0xe, 0xa4, 0xbf, 0x1b, 0x2a, 0x99, 0x85, 0x81, 0x6e, 0x62, 0x30, 0x8a, 0xb2, 0xf4, 0xb7, 0x46, 0x1d, 0xf1, 0x39, 0x9, 0x38, 0xd2, 0xe0, 0xf7, 0xcf, 0xdd, 0x0, 0x9a, 0xb6, 0xa0, 0xfd, 0x6, 0x36, 0x41, 0x4b, 0xc7, 0x1e, 0x62, 0x8f, 0x86, 0x5, 0x83, 0xb3, 0x46, 0x95, 0x9b, 0xb5, 0x5b, 0x5e, 0x60, 0xaa, 0xf7, 0x66, 0x58, 0x54, 0x79, 0xaf, 0x61, 0x7e, 0x1e, 0x5a, 0x74, 0x6d, 0x96, 0xe1, 0xc0, 0x7a, 0xd8, 0x2f, 0x33, 0x69, 0x30, 0x4a, 0x42, 0xdc, 0x2, 0xc3, 0x30, 0x34, 0x98, 0xe2, 0xae, 0xdd, 0x80, 0x7b, 0x0, 0xfb, 0xc1, 0x8b, 0xac, 0x57, 0xca, 0x4d, 0x48, 0x28, 0xda, 0xf1, 0x35, 0x0, 0x1f, 0x9b, 0xcf, 0x59, 0x52, 0xf2, 0x7b, 0x96, 0xad, 0xcd, 0x26, 0x69, 0xa4, 0xef, 0xc0, 0x5e, 0xd, 0x3f, 0x62, 0xee, 0x17, 0x4, 0xa9, 0x75, 0x66, 0x13, 0xcd, 0x69, 0x4, 0xd1, 0xed, 0xcc, 0xa9, 0xda, 0x61, 0xf5, 0x82, 0xb3, 0xbe, 0xfa, 0xb7, 0xc7, 0x6d, 0x91, 0xc9, 0x36, 0xbc, 0x2e, 0x48, 0x3c, 0x0, 0x71, 0x49, 0xc9, 0x29, 0x3d, 0xf7, 0xbf, 0xc4, 0xf3, 0xd4, 0xd8, 0x5, 0x26, 0x6b, 0x22, 0x66, 0x4b, 0x3a, 0xc7, 0xd5, 0x4d, 0x4f, 0xcf, 0xea, 0x65, 0xbc, 0xb1, 0x9a, 0xe3, 0xfa, 0x19, 0x3a, 0xae, 0x11, 0x9f, 0xfb, 0x7d, 0x8a, 0xb9, 0x3b, 0x4, 0x40, 0x4e, 0x34, 0xe8, 0x3, 0x16, 0xd0, 0xb6, 0xfd, 0x81, 0x83, 0x9f, 0x8b, 0xc6, 0x41, 0x24, 0x5b, 0xd1, 0x82, 0x96, 0xea, 0x2c, 0x60, 0x87, 0x1b, 0x33, 0xfa, 0xdc, 0xe7, 0x70, 0x37, 0x5b, 0x88, 0xd, 0xd5, 0xf3, 0xd0, 0x16, 0xb8, 0xac, 0xca, 0xa, 0xc0, 0xde, 0xd9, 0xe7, 0x24, 0xab, 0x24, 0xbf, 0xd7, 0xf3, 0xb5, 0x3d, 0xce, 0x68, 0x55, 0x8a, 0x59, 0x85, 0xa0, 0xec, 0x98, 0x83, 0x1c, 0xd1, 0x9e, 0xc5, 0x18, 0x5e, 0xf7, 0x48, 0x43, 0x56, 0x53, 0xf, 0x64, 0x4, 0xc3, 0x75, 0xfc, 0x4, 0x3e, 0x3b, 0x8f, 0xb4, 0x2a, 0x20, 0x7e, 0x42, 0x54, 0xf0, 0x88, 0xa4, 0x2c, 0xe1, 0xaa, 0x17, 0xd9, 0x20, 0xb9, 0x7a, 0x8, 0xf1, 0x7, 0xe7, 0x95, 0x8f, 0x5a, 0x3a, 0x3d, 0xa, 0x37, 0xbd, 0x61, 0xb, 0x9e, 0xeb, 0x24, 0x25, 0x1f, 0xd6, 0xde, 0xf2, 0x4d, 0xf2, 0xe, 0xeb, 0xf3, 0xa4, 0x5c, 0xae, 0x68, 0x99, 0xdc, 0xea, 0x50, 0xf0, 0x70, 0x73, 0x1b, 0xd0, 0x39, 0x1a, 0x22, 0x24, 0xcd, 0xe3, 0x9a, 0xba, 0x37, 0xd4, 0x5c, 0x33, 0xb8, 0x69, 0xc6, 0xe3, 0x85, 0xf7, 0xe6, 0x55, 0x74, 0x99, 0x3c, 0x4e, 0x7, 0x92, 0xa3, 0x46, 0x1a, 0xc8, 0x17, 0x5a, 0xd4, 0xd6, 0x7b, 0x4f, 0x81, 0xda, 0x14, 0xf7, 0xb8, 0xa5, 0xab, 0x15, 0x53, 0x6b, 0x33, 0xc6, 0x24, 0x0, 0xd, 0x1, 0x53, 0xaa, 0x17, 0xa9, 0x55, 0x37, 0xb6, 0x82, 0xd1, 0xaa, 0x3e, 0xc7, 0xbe, 0x7, 0x9b, 0x10, 0xe2, 0x90, 0x0, 0xc3, 0x2, 0x33, 0xd4, 0x8d, 0xdb, 0x27, 0xed, 0x6f, 0xe4, 0xe5, 0x6d, 0x2c, 0x5d, 0x95, 0xb7, 0xc1, 0xcd, 0xa9, 0x8f, 0x4, 0x1c, 0xc3, 0xb7, 0x15, 0x37, 0x6d, 0xd8, 0x3c, 0x5a, 0xd2, 0x73, 0xd9, 0x26, 0xc3, 0xf5, 0xc9, 0x0, 0xe0, 0xef, 0x5b, 0x60, 0x54, 0x34, 0x4e, 0x80, 0x61, 0xa6, 0xae, 0x70, 0x2, 0x2, 0x0, 0x80, 0x7b, 0xe, 0x43, 0xaa, 0x4f, 0x14, 0xd, 0x85, 0xa3, 0x0, 0x4a, 0x81, 0x5a, 0x8d, 0x9f, 0xfa, 0x16, 0x74, 0x2f, 0xe3, 0xeb, 0x3d, 0xf2, 0xce, 0x9, 0x50, 0x35, 0x6a, 0x96, 0xb1, 0x8, 0x4, 0x2, 0x65, 0xfe, 0x40, 0x98, 0x93, 0x6f, 0xed, 0xdb, 0xd0, 0x44, 0xb4, 0xd0, 0xa2, 0xbe, 0x69, 0xd, 0xe3, 0x14, 0xea, 0xbe, 0x4, 0x6f, 0x96, 0xac, 0x7f, 0x5, 0xcf, 0xd2, 0x5b, 0x57, 0x94, 0xc4, 0x17, 0x32, 0x37, 0xbc, 0x49, 0xfe, 0xcc, 0xbc, 0x87, 0xa9, 0xe6, 0xd5, 0x23, 0xc6, 0x97, 0xae, 0xdf, 0x3, 0x4b, 0x19, 0x8d, 0x4b, 0xab, 0x3f, 0x48, 0xfd, 0xc6, 0x17, 0xa9, 0xb6, 0x5a, 0x12, 0xf4, 0xe7, 0x94, 0xda, 0x9a, 0xc0, 0x41, 0xf3, 0xe0, 0x4b, 0x78, 0xa8, 0xbc, 0x17, 0xaa, 0x59, 0x3c, 0x26, 0xc0, 0x84, 0xec, 0x8e, 0x6b, 0xfb, 0xaf, 0xbe, 0xc9, 0xfe, 0xdd, 0x7d, 0x19, 0xcb, 0x4, 0x96, 0x2f, 0x93, 0x5c, 0x94, 0x35, 0x6a, 0x38, 0xe9, 0xf8, 0x10, 0x5c, 0xbb, 0x97, 0x0, 0x1f, 0x58, 0x23, 0x70, 0xc7, 0xb0, 0x13, 0x27, 0x1, 0x58, 0x85, 0x5, 0xa7, 0x38, 0xa, 0xfb, 0xd7, 0x3, 0x4c, 0xce, 0x7e, 0x26, 0x7c, 0xb9, 0xca, 0x18, 0x68, 0xec, 0x90, 0x68, 0x4c, 0x52, 0x1, 0xf6, 0x63, 0x9e, 0x97, 0xac, 0xa0, 0x49, 0x69, 0x5e, 0x5b, 0xdb, 0xb9, 0x96, 0x4, 0x80, 0xb4, 0x34, 0xc8, 0x3a, 0xc6, 0xc2, 0x67, 0x6b, 0x72, 0xb3, 0x8e, 0xf7, 0x3a, 0x8c, 0xf5, 0x66, 0xb9, 0xac, 0xa, 0xcd, 0xb, 0xcc, 0xec, 0x74, 0x7c, 0x77, 0xce, 0xa4, 0x37, 0x3f, 0x46, 0x17, 0xac, 0xb0, 0xbe, 0x8c, 0x41, 0x92, 0xb0, 0xd5, 0x3e, 0x85, 0x20, 0x62, 0xc0, 0x12, 0xf3, 0xbd, 0xa9, 0x10, 0x1, 0x9, 0xa0, 0xb7, 0x4c, 0xfb, 0xbd, 0x30, 0x49, 0x1f, 0xfc, 0x4, 0xf2, 0x4e, 0x73, 0x45, 0x35, 0xf, 0x38, 0x43, 0x13, 0x8d, 0xb1, 0xa9, 0xe0, 0x9b, 0x6f, 0x3a, 0xa0, 0x79, 0x24, 0x63, 0x41, 0x57, 0x51, 0xf6, 0xe, 0xd5, 0xb, 0xb, 0xa3, 0xe2, 0x63, 0x31, 0x26, 0xc4, 0x4f, 0xb4, 0xf5, 0xb4, 0xf0, 0x64, 0xc, 0x9b, 0xfd, 0xe3, 0xf, 0xe4, 0x4d, 0xff, 0xbb, 0x7f, 0xed, 0xbf, 0x76, 0xad, 0x53, 0x96, 0x64, 0x3c, 0x67, 0xe9, 0x14, 0xea, 0x7c, 0x6b, 0xcd, 0x46, 0x5f, 0x96, 0x83, 0xde, 0xf9, 0xb3, 0xd, 0x1d, 0x77, 0xae, 0x68, 0x86, 0x34, 0x4a, 0xc3, 0xe7, 0x32, 0x2e, 0x80, 0xd5, 0xf3, 0x9, 0x68, 0x49, 0xd7, 0x68, 0xa2, 0xcb, 0x5, 0x54, 0x68, 0x4f, 0xcd, 0x99, 0xc5, 0xaf, 0x96, 0xe6, 0x61, 0x38, 0xbd, 0x76, 0x7d, 0xd8, 0xa4, 0x69, 0x62, 0x34, 0x96, 0x39, 0x7f, 0xb3, 0x6b, 0xb5, 0x17, 0x57, 0x8b, 0x6c, 0xe4, 0x5, 0xeb, 0x2f, 0xfa, 0x3d, 0x40, 0xd3, 0x46, 0x86, 0xc4, 0xf3, 0x85, 0x33, 0xf0, 0x94, 0xb7, 0xe4, 0x72, 0x74, 0x7e, 0x3e, 0x3c, 0xb3, 0x8c, 0xf0, 0x65, 0x60, 0x61, 0x2b, 0x58, 0x22, 0x8a, 0x54, 0xd6, 0x1f, 0x73, 0x5d, 0x8d, 0xdd, 0x9c, 0x27, 0xe6, 0xdd, 0x50, 0x69, 0xe7, 0x13, 0xbf, 0x4e, 0x53, 0x6b, 0x4a, 0x79, 0x28, 0x94, 0xfc, 0x50, 0x90, 0x25, 0x93, 0x92, 0x62, 0x0, 0x4d, 0x8a, 0x70, 0x3, 0x15, 0x97, 0xb7, 0xe4, 0x19, 0xbe, 0x1a, 0xa6, 0x9f, 0x67, 0xe4, 0x45, 0xce, 0x33, 0xd3, 0xe8, 0x25, 0x20, 0x56, 0x85, 0x3d, 0x3f, 0xb3, 0x5b, 0x40, 0x73, 0x1f, 0x69, 0x47, 0x4f, 0x51, 0x75, 0x20, 0xf2, 0x13, 0xaf, 0x13, 0x5c, 0xb6, 0xfa, 0x85, 0x63, 0xac, 0xb3, 0x36, 0xd, 0xe0, 0xaa, 0xc6, 0x33, 0xfc, 0x33, 0xd6, 0xac, 0x2b, 0x36, 0x9c, 0x29, 0xa6, 0x3, 0x2f, 0x4f, 0x9c, 0xae, 0x80, 0x2a, 0xb6, 0x8e, 0x41, 0x2f, 0xa0, 0x96, 0x51, 0x81, 0xbd, 0xaf, 0xa, 0xa6, 0xaf, 0xcb, 0xe4, 0xec, 0x67, 0xf9, 0x18, 0x32, 0x88, 0x63, 0x69, 0x17, 0x2b, 0x6a, 0x6d, 0x4c, 0x26, 0xde, 0x0, 0x5f, 0xd1, 0xd3, 0xa4, 0x84, 0xca, 0x64, 0x73, 0xd, 0x17, 0x43, 0x26, 0xf6, 0xe6, 0xdc, 0x30, 0x86, 0x96, 0x6c, 0xf6, 0x79, 0x95, 0xf1, 0x84, 0x97, 0xd9, 0xda, 0x42, 0x63, 0x85, 0xc5, 0x74, 0x5d, 0xda, 0xe, 0x98, 0x93, 0xc5, 0x8a, 0x2e, 0xa8, 0x3, 0x38, 0x6b, 0x52, 0x1f, 0x5f, 0x35, 0x19, 0x9d, 0xeb, 0x7e, 0xe2, 0x70, 0x81, 0x4b, 0xa8, 0x50, 0x69, 0xb3, 0xa2, 0xb1, 0xfc, 0x11, 0xce, 0x44, 0xcd, 0xb, 0x61, 0x2f, 0xda, 0x40, 0x31, 0x7a, 0x28, 0x8a, 0x87, 0x63, 0x98, 0xe0, 0xb3, 0x82, 0xcd, 0x35, 0x1a, 0x20, 0x6f, 0x9, 0xed, 0x6c, 0x80, 0xd6, 0xa8, 0xd5, 0x3b, 0x83, 0xa3, 0x65, 0xe9, 0x23, 0x41, 0xf0, 0xb5, 0x9, 0xd2, 0x12, 0xa7, 0x65, 0x2e, 0x4f, 0x7d, 0xe7, 0x35, 0xca, 0x83, 0x16, 0xbd, 0xc2, 0xa2, 0x82, 0x91, 0x94, 0x5b, 0x2, 0x12, 0x20, 0xea, 0x20, 0x6a, 0xaf, 0xb0, 0xdc, 0xa8, 0x98, 0xc7, 0x92, 0x6c, 0xb3, 0x45, 0xdb, 0xfc, 0xb5, 0x39, 0xb7, 0x15, 0xd3, 0xe8, 0xdc, 0xab, 0x69, 0xe3, 0x83, 0x62, 0x6c, 0x23, 0x68, 0x5d, 0x3b, 0xa1, 0x29, 0x2b, 0x96, 0x3c, 0x3f, 0x1c, 0xf8, 0x64, 0xbf, 0xf4, 0xe2, 0x2b, 0xe9, 0x92, 0x33, 0x6d, 0x8a, 0xa8, 0x97, 0x6f, 0x5c, 0xea, 0xd9, 0xf9, 0x2, 0xfb, 0x41, 0x95, 0xf8, 0xc9, 0x51, 0xb2, 0x4a, 0x9b, 0x3, 0x7e, 0xa3, 0xb9, 0xd6, 0xb7, 0xda, 0xe3, 0x63, 0xe, 0x82, 0xfc, 0xd0, 0x8d, 0xc7, 0x17, 0x63, 0x5f, 0x2c, 0x80, 0x7b, 0x5e, 0x28, 0x19, 0x5a, 0x87, 0x9a, 0xa2, 0x6a, 0x68, 0xa9, 0x1f, 0x64, 0x37, 0x25, 0x43, 0xa1, 0xf3, 0xa6, 0x5b, 0x48, 0x68, 0xca, 0x25, 0xbd, 0xc9, 0x58, 0xa, 0x7a, 0xe6, 0x3b, 0x51, 0xe5, 0x7, 0xcb, 0x94, 0xa8, 0xb3, 0x17, 0x10, 0xf4, 0x54, 0x9b, 0x9b, 0x19, 0xe, 0xf0, 0xe4, 0x97, 0xb4, 0xe4, 0x9, 0xd6, 0x1, 0xac, 0xe0, 0x91, 0xa6, 0xe4, 0x46, 0xcd, 0x80, 0xdc, 0x30, 0x4c, 0x76, 0x81, 0x18, 0xa2, 0xe8, 0x76, 0xbe, 0x38, 0x39, 0x21, 0x74, 0xc5, 0x4f, 0x32, 0x78, 0xd3, 0xde, 0x2a, 0x69, 0x99, 0xbd, 0x7d, 0xfb, 0xfa, 0xcd, 0xbf, 0xbc, 0x7e, 0xfb, 0x76, 0x55, 0xb0, 0x95, 0xc0, 0x73, 0x92, 0x3f, 0x98, 0xa1, 0xea, 0xca, 0xe, 0xe5, 0xab, 0x7e, 0xca, 0xee, 0x5f, 0xe5, 0xa2, 0x3c, 0x31, 0x76, 0xae, 0xf2, 0x2d, 0x79, 0x6, 0x1b, 0xfa, 0xcc, 0x40, 0xae, 0xea, 0xfa, 0x92, 0x50, 0x37, 0xcd, 0x66, 0xee, 0x12, 0xf5, 0xbe, 0x14, 0x60, 0xb9, 0x38, 0x39, 0x79, 0x69, 0xbb, 0x7e, 0xa0, 0x59, 0x76, 0x9a, 0x89, 0xe4, 0x6e, 0xdf, 0x83, 0x55, 0x1d, 0x9c, 0x24, 0xaa, 0x87, 0x8, 0xef, 0x21, 0x7c, 0xb, 0x1, 0xf, 0xdf, 0x48, 0x69, 0x5e, 0x4, 0xbe, 0x4e, 0xfe, 0xec, 0x76, 0xe8, 0x6d, 0x87, 0xd7, 0x96, 0x77, 0xef, 0xa9, 0x6, 0x28, 0x49, 0x6, 0xa7, 0x1a, 0x4e, 0x9, 0x1a, 0x36, 0xbd, 0xcd, 0x6e, 0x5e, 0x68, 0x57, 0xd1, 0xcb, 0x54, 0xe4, 0x9a, 0xde, 0x53, 0x0, 0x78, 0x13, 0x4d, 0xc4, 0x7c, 0x18, 0xc1, 0x4c, 0x6d, 0x4e, 0xf9, 0x6c, 0x49, 0xd7, 0x33, 0xe, 0x18, 0x2a, 0x46, 0x23, 0xcd, 0xc9, 0x7b, 0x64, 0xb5, 0x98, 0x48, 0xdb, 0x9c, 0xe8, 0x5c, 0x54, 0xcc, 0x83, 0xdb, 0x75, 0x2f, 0x62, 0x23, 0xbb, 0x48, 0x2f, 0xaa, 0xf2, 0x50, 0xbe, 0xfc, 0x54, 0x36, 0xe9, 0x37, 0x53, 0x36, 0xe9, 0xb1, 0x57, 0x26, 0xba, 0xca, 0x57, 0x8f, 0x17, 0x7, 0xa5, 0xca, 0xbf, 0x26, 0x12, 0xa, 0x8e, 0xf6, 0xad, 0xb1, 0x50, 0x3a, 0xae, 0xf9, 0x88, 0x68, 0x28, 0x66, 0xc4, 0x36, 0xa, 0x1, 0x49, 0xdf, 0x58, 0x93, 0xe, 0xa3, 0x93, 0x55, 0x21, 0x4a, 0x91, 0x88, 0x6c, 0x94, 0x4b, 0xb0, 0x10, 0xef, 0xb7, 0x83, 0x5c, 0xb7, 0xf6, 0xb6, 0x10, 0x55, 0x21, 0xdb, 0x3f, 0xae, 0xd8, 0xbe, 0x78, 0xcd, 0xd0, 0x72, 0x7a, 0x45, 0x1a, 0x12, 0xee, 0x23, 0xda, 0x1, 0x8e, 0x82, 0xea, 0x60, 0x6c, 0xa, 0x6e, 0x7e, 0x26, 0x25, 0xcf, 0x9e, 0xb5, 0x35, 0x3b, 0xc4, 0xe9, 0xeb, 0xb5, 0x92, 0x8c, 0xb0, 0xb2, 0x3e, 0x39, 0x67, 0x4c, 0x49, 0xd2, 0x6, 0x8a, 0xce, 0x21, 0xa1, 0x80, 0x22, 0x52, 0x30, 0x84, 0x3e, 0xd3, 0xa6, 0xf1, 0x8c, 0x23, 0xc2, 0xa6, 0xd2, 0x66, 0x6a, 0xb6, 0x5c, 0x33, 0x34, 0x0, 0xe1, 0x20, 0x58, 0x69, 0xc1, 0x56, 0x19, 0x5d, 0xb7, 0xee, 0xcd, 0x4, 0x2c, 0xff, 0x9, 0xcf, 0x17, 0x7, 0x14, 0x7c, 0x63, 0x6, 0x8a, 0xc2, 0x8, 0x4e, 0xe8, 0x4f, 0x48, 0xd8, 0xc6, 0xd, 0x6a, 0x9d, 0xd3, 0x41, 0xf6, 0x7, 0xdd, 0xc7, 0x2e, 0xf5, 0xe8, 0xcd, 0xae, 0x69, 0xd8, 0xd9, 0xa3, 0x1d, 0xec, 0xc6, 0x4b, 0x97, 0x2e, 0x79, 0x79, 0x4, 0x3d, 0xee, 0xcb, 0x6f, 0xd8, 0xd4, 0xdd, 0x41, 0xb3, 0x11, 0xf5, 0x62, 0xaa, 0xf5, 0x3b, 0x88, 0xbb, 0xb7, 0x4d, 0x8c, 0xb9, 0xba, 0x3c, 0x53, 0x2f, 0xf2, 0xe0, 0xec, 0xe3, 0x68, 0x3a, 0x1d, 0x9e, 0xcd, 0x86, 0xbf, 0xc, 0xcf, 0xa7, 0xb3, 0x8b, 0xf1, 0xe8, 0xa7, 0xd1, 0xf9, 0x6, 0xb9, 0x66, 0x63, 0xb3, 0xf1, 0x70, 0x70, 0x79, 0xf9, 0xe1, 0xcf, 0x3b, 0xd2, 0x31, 0x94, 0xb8, 0x5c, 0x65, 0x34, 0x37, 0x9, 0x5c, 0xe4, 0xe1, 0x76, 0xed, 0xad, 0xcc, 0x4f, 0x75, 0x55, 0x24, 0x5e, 0x83, 0x42, 0xee, 0x52, 0xe8, 0x1b, 0xcf, 0x3e, 0xac, 0xb1, 0xb8, 0xf7, 0xe1, 0x2f, 0x59, 0x49, 0xf, 0x3a, 0xf9, 0x8f, 0xac, 0xa4, 0x1b, 0x8f, 0xdd, 0x4, 0x1c, 0xd9, 0xfc, 0x7, 0xa5, 0x1b, 0x79, 0xb4, 0x4d, 0xbc, 0xbb, 0x7b, 0xc, 0xf6, 0x11, 0xa8, 0x1a, 0x4c, 0x77, 0x4d, 0xfd, 0x6a, 0x19, 0xf1, 0xe8, 0xa2, 0x2a, 0x13, 0xb1, 0x3c, 0xcc, 0x7a, 0x7f, 0x81, 0x7d, 0x6c, 0xdc, 0x9, 0x3d, 0xe, 0xa2, 0x54, 0xc3, 0x61, 0xc6, 0xb2, 0x84, 0xbe, 0x22, 0x6, 0x66, 0x62, 0xe3, 0xe5, 0x1f, 0xb3, 0xff, 0x4, 0x4b, 0xdc, 0xef, 0xe7, 0xc5, 0x2d, 0xf4, 0x8a, 0x9e, 0x5e, 0xdc, 0xfa, 0x8b, 0x1b, 0xed, 0xcd, 0xa3, 0x78, 0x71, 0xa3, 0x39, 0xfd, 0xae, 0x5e, 0x5c, 0xf2, 0x95, 0xa, 0x28, 0x83, 0xf1, 0x1e, 0xcb, 0x4f, 0xcf, 0xf5, 0x86, 0xb6, 0x5f, 0xfc, 0x5f, 0x1a, 0xab, 0x55, 0x74, 0xbc, 0xe9, 0xc6, 0x73, 0xb6, 0xed, 0x35, 0xfd, 0x65, 0x38, 0x9e, 0x8c, 0x2e, 0xce, 0x47, 0xe7, 0x3f, 0xcd, 0xde, 0xd, 0xdf, 0xf, 0x7e, 0x19, 0x6d, 0xc4, 0xe7, 0x68, 0xfa, 0x1a, 0x5d, 0x75, 0x1d, 0x3e, 0x1c, 0x5c, 0x4d, 0x2f, 0x66, 0x57, 0x97, 0x3f, 0x8d, 0x7, 0x67, 0x1d, 0x20, 0x36, 0x82, 0x7d, 0x7b, 0xe6, 0x85, 0x9c, 0x7b, 0x21, 0x2b, 0x68, 0x91, 0x65, 0x92, 0xdc, 0x22, 0x3e, 0x93, 0xf1, 0x80, 0x69, 0xc3, 0x4c, 0xa9, 0xae, 0x64, 0x9c, 0x3, 0x0, 0x76, 0x32, 0xbc, 0xb9, 0x50, 0xb5, 0xe4, 0xd7, 0xdc, 0x78, 0x25, 0xa3, 0x92, 0x1a, 0x51, 0xc4, 0x75, 0x73, 0x5a, 0x9e, 0x75, 0xec, 0xfd, 0x81, 0x78, 0xbb, 0x86, 0xed, 0x7e, 0xd, 0x3c, 0x7f, 0x7d, 0x32, 0x61, 0x4c, 0xa3, 0xb1, 0x2d, 0x11, 0x6f, 0x88, 0xe7, 0xe4, 0xda, 0x2d, 0xec, 0x9d, 0x2d, 0xb2, 0xa1, 0xce, 0x9, 0x54, 0xb7, 0xa5, 0x28, 0x10, 0xdc, 0x54, 0xbf, 0xa6, 0xa6, 0xa6, 0x60, 0xf9, 0x6b, 0x6e, 0xb7, 0x41, 0xf6, 0x7f, 0xcd, 0x7f, 0xcd, 0x75, 0x8c, 0xab, 0x73, 0x34, 0x88, 0x2, 0x82, 0x10, 0x99, 0x2b, 0xe3, 0xf2, 0x4f, 0xff, 0xa4, 0xa3, 0x26, 0xfe, 0xe9, 0x9f, 0xd4, 0x34, 0x78, 0xd1, 0x14, 0xb0, 0xf1, 0xdc, 0x8b, 0x6a, 0xf1, 0xe3, 0xfc, 0x7f, 0xcd, 0x1d, 0x24, 0xbf, 0x62, 0x71, 0xc6, 0xfd, 0xfb, 0x2, 0x6b, 0x7c, 0x3b, 0xeb, 0x63, 0xce, 0x1e, 0x42, 0xa8, 0xe, 0x9d, 0xf1, 0xef, 0x62, 0x97, 0xb4, 0xa7, 0x31, 0x8a, 0xc1, 0xfe, 0x35, 0x6f, 0xb, 0xc5, 0xda, 0x10, 0x5e, 0xf2, 0x5c, 0x7a, 0xfd, 0xbe, 0xdc, 0x1c, 0xb3, 0xf5, 0x6b, 0x1c, 0xb0, 0x55, 0x2b, 0x2, 0xe5, 0x5, 0x2c, 0x9a, 0xa5, 0xbe, 0x10, 0x85, 0xf9, 0xab, 0x9, 0xcf, 0x6a, 0x88, 0xc9, 0x3a, 0xd1, 0x31, 0x59, 0x6a, 0x11, 0xde, 0xfc, 0xb5, 0xcf, 0x2c, 0xa1, 0x78, 0xdd, 0xbd, 0x30, 0x9b, 0xfe, 0x4b, 0x1d, 0xa5, 0xe5, 0xf2, 0x71, 0x75, 0x7f, 0xbc, 0x68, 0x5c, 0x80, 0xde, 0xa1, 0x6, 0xff, 0xbb, 0x3a, 0xc, 0x7b, 0x32, 0xb5, 0xea, 0x5a, 0xe0, 0xc8, 0xd3, 0x6f, 0x73, 0xb0, 0xde, 0xd0, 0x83, 0x28, 0x72, 0xef, 0x3d, 0xeb, 0xff, 0x9a, 0xab, 0xb1, 0xce, 0x45, 0xa9, 0x99, 0xe8, 0xb5, 0x2b, 0xff, 0xc2, 0x6d, 0x96, 0x45, 0xca, 0x72, 0x72, 0xb3, 0x6e, 0xe, 0xaf, 0x31, 0xe1, 0x52, 0x19, 0x78, 0xf7, 0x2c, 0x42, 0x7f, 0x5e, 0xf6, 0x9f, 0x6d, 0x33, 0x90, 0xb9, 0xed, 0x3b, 0x30, 0xba, 0xc2, 0x74, 0xb3, 0xcb, 0x13, 0xa3, 0xdf, 0xf3, 0x74, 0x63, 0xf9, 0x97, 0x8c, 0x36, 0x17, 0x35, 0x6b, 0xae, 0x8f, 0x40, 0x3e, 0x56, 0xb2, 0x5e, 0x87, 0xc7, 0x72, 0x98, 0x79, 0xb4, 0xb9, 0x92, 0x95, 0xfd, 0xa6, 0x9a, 0x40, 0xb9, 0x88, 0x86, 0xd4, 0xd1, 0xbc, 0x19, 0xa6, 0x7c, 0x61, 0x4, 0x61, 0x38, 0x4c, 0xc3, 0x3c, 0x1, 0x56, 0xdb, 0x2e, 0xe6, 0x66, 0x1d, 0xc7, 0x26, 0xe8, 0xf3, 0x27, 0x57, 0xb5, 0xdf, 0xa1, 0xfb, 0x5b, 0x96, 0x90, 0xf9, 0xc1, 0xe2, 0xb0, 0x1c, 0x1a, 0xdc, 0x5a, 0x98, 0x36, 0xc6, 0x77, 0xda, 0x4a, 0x5c, 0x25, 0x0, 0x91, 0xdf, 0xb2, 0x82, 0xf5, 0x50, 0x82, 0x62, 0xa4, 0x80, 0xfa, 0x3e, 0xf, 0x74, 0xd, 0xe4, 0x8, 0xb9, 0xb5, 0x1c, 0xc2, 0xd1, 0x7c, 0xfe, 0x1a, 0x8e, 0xe3, 0x66, 0x55, 0xff, 0x32, 0xac, 0x6d, 0x4, 0xd1, 0x57, 0xd2, 0xba, 0xe5, 0xbd, 0x4d, 0x8e, 0x10, 0x82, 0xe0, 0xc7, 0x23, 0x75, 0xb7, 0x90, 0xc3, 0x89, 0x3d, 0x1c, 0xa4, 0x96, 0x2a, 0x52, 0x8f, 0xf3, 0xf0, 0xa2, 0xd7, 0xee, 0xf7, 0xcb, 0x20, 0xda, 0x6d, 0x90, 0x74, 0x53, 0xc2, 0xd2, 0x17, 0x4f, 0x3, 0x79, 0x36, 0xd5, 0x1, 0x5, 0xcd, 0x81, 0x45, 0x7, 0x5f, 0xbd, 0x5f, 0x73, 0xa5, 0xa0, 0xd3, 0x3d, 0x2f, 0x53, 0x90, 0x4a, 0xe4, 0x3f, 0xe3, 0xbf, 0xe6, 0x61, 0xf9, 0xb9, 0x3c, 0x8d, 0xee, 0xb0, 0x27, 0x7, 0xf4, 0xdc, 0xb4, 0xb7, 0xcc, 0x36, 0xbc, 0x9b, 0xbf, 0x2, 0xb9, 0x51, 0xc3, 0x90, 0x4c, 0x32, 0x17, 0xd4, 0x4b, 0x1, 0x93, 0xb4, 0x57, 0xa8, 0xf0, 0xa6, 0x2a, 0xc9, 0x8c, 0xcb, 0x19, 0x20, 0x1, 0xa9, 0x5f, 0x78, 0x7b, 0x79, 0x4e, 0x75, 0xa9, 0x61, 0x53, 0x65, 0xef, 0x49, 0x56, 0x78, 0x92, 0x15, 0x8e, 0x2c, 0x2b, 0x4, 0xa2, 0x82, 0x7a, 0xd0, 0x1a, 0x98, 0x64, 0x3f, 0xb8, 0x20, 0x3a, 0xb6, 0xf, 0x62, 0xe8, 0x1b, 0xbf, 0x8e, 0x62, 0x7a, 0x7f, 0xd5, 0x73, 0xb3, 0xa9, 0x2a, 0xae, 0x8, 0xaa, 0x27, 0x50, 0x3c, 0x9a, 0xec, 0xd8, 0x4b, 0xf7, 0xb8, 0x57, 0x92, 0x15, 0x10, 0xc, 0x2b, 0x59, 0x19, 0x3c, 0x58, 0x27, 0x72, 0xc5, 0x12, 0x3e, 0xe7, 0x89, 0x7f, 0x93, 0xed, 0xfa, 0x31, 0xe0, 0xcc, 0x2d, 0x97, 0xde, 0xc5, 0x35, 0x56, 0xe3, 0x5c, 0x9b, 0xc9, 0xd9, 0xcf, 0x10, 0xaf, 0xef, 0xb3, 0xa2, 0x17, 0x7e, 0xad, 0xbe, 0x6b, 0xbc, 0x75, 0x7e, 0xce, 0x10, 0x1e, 0xc3, 0xcb, 0x3e, 0x19, 0x44, 0xd1, 0xe3, 0xf6, 0xa3, 0x84, 0xe6, 0xc6, 0xab, 0xd, 0xad, 0x6d, 0x46, 0x25, 0xd, 0xaf, 0x6e, 0x4f, 0x5d, 0xbb, 0x7, 0x96, 0x65, 0x0, 0xa7, 0xaa, 0x88, 0xf5, 0x81, 0x16, 0xa9, 0x4, 0x97, 0x24, 0xcd, 0xb2, 0xc6, 0x24, 0x92, 0xeb, 0xcd, 0x61, 0x69, 0xd7, 0x64, 0x70, 0x39, 0x8a, 0x5e, 0xd0, 0x28, 0xef, 0x49, 0xd7, 0x4c, 0xd, 0x9c, 0xfc, 0xde, 0xb5, 0x5c, 0xc7, 0xb1, 0x57, 0xbd, 0xf6, 0xc0, 0xab, 0x5e, 0x38, 0x90, 0x17, 0xbf, 0xe7, 0x27, 0x22, 0xfb, 0x58, 0x5c, 0xb2, 0xe9, 0x15, 0x75, 0x31, 0x3f, 0x47, 0x12, 0x5e, 0x5d, 0x87, 0x5d, 0x89, 0x2f, 0xca, 0x19, 0xd6, 0xc1, 0x28, 0xb2, 0xf6, 0xa2, 0x95, 0xb6, 0x67, 0x7d, 0xc9, 0xa9, 0x53, 0x2e, 0xbd, 0x15, 0xf5, 0xc9, 0x69, 0x9c, 0x5b, 0x60, 0x3, 0x5c, 0x44, 0x6e, 0xeb, 0x11, 0xb8, 0x8a, 0xa0, 0xae, 0x5f, 0xf9, 0x36, 0x90, 0x2d, 0x4f, 0xfe, 0x48, 0xbc, 0x72, 0x93, 0xcd, 0xbf, 0x8f, 0xc8, 0x30, 0x6f, 0x99, 0x14, 0x3c, 0xd1, 0x41, 0xf, 0xfe, 0xfb, 0x5c, 0x13, 0xed, 0x30, 0xba, 0x29, 0xa1, 0x37, 0x19, 0x4, 0x80, 0xb8, 0x67, 0xaf, 0x29, 0xd0, 0xb8, 0x9, 0x9a, 0x86, 0x86, 0xa0, 0x3a, 0xc4, 0xb7, 0x63, 0x38, 0xf6, 0x8f, 0xf6, 0x3f, 0xa9, 0xef, 0x46, 0x94, 0x74, 0x63, 0x1, 0xee, 0x7c, 0x6a, 0xd, 0x87, 0xd2, 0x9, 0xd5, 0xde, 0xe, 0x9a, 0xd7, 0xc4, 0x4f, 0xfb, 0x69, 0xca, 0x12, 0xe2, 0xf5, 0xec, 0x20, 0xf3, 0x59, 0x38, 0x84, 0xdf, 0x46, 0x7a, 0x5b, 0xb, 0xf1, 0xa8, 0x65, 0x58, 0xbb, 0xce, 0xa3, 0x81, 0xb0, 0x13, 0xd, 0x8b, 0x1d, 0x6c, 0x42, 0x98, 0x76, 0x5d, 0x25, 0x77, 0x26, 0xda, 0xe6, 0x86, 0x26, 0x77, 0x99, 0x58, 0x2c, 0xe0, 0x9, 0x2d, 0xf9, 0x3d, 0x38, 0xf6, 0x8b, 0x28, 0x67, 0x48, 0x49, 0x49, 0x42, 0x46, 0xfc, 0x1, 0xfe, 0xe2, 0x5, 0xa2, 0x62, 0xb1, 0x64, 0x87, 0xdb, 0xb0, 0x65, 0x53, 0xfa, 0x64, 0x20, 0x89, 0x14, 0x28, 0x11, 0x50, 0xb2, 0x12, 0x59, 0xc6, 0x8a, 0x86, 0x38, 0x6d, 0x78, 0xb5, 0xc2, 0x7d, 0xa1, 0xf7, 0x94, 0x67, 0x86, 0x5a, 0x14, 0x9f, 0x55, 0xe2, 0x8d, 0x19, 0xb2, 0xd7, 0x80, 0xd2, 0x18, 0xb2, 0x20, 0x7d, 0x8e, 0xd1, 0x30, 0xd1, 0xa1, 0x86, 0x83, 0x6, 0xd8, 0xcc, 0x7e, 0xf8, 0x69, 0x1d, 0xee, 0x6b, 0x10, 0x68, 0xa7, 0xae, 0x57, 0xc5, 0xaa, 0x21, 0x9d, 0x4, 0xaa, 0xe4, 0x29, 0xf5, 0x2b, 0x63, 0xd8, 0x81, 0xae, 0x43, 0x69, 0xaa, 0xbb, 0x16, 0x36, 0x60, 0xa4, 0x5, 0xb1, 0x18, 0x7e, 0x2e, 0x8c, 0x59, 0xd8, 0xb4, 0xb, 0x45, 0xc, 0x23, 0xa8, 0x4a, 0x23, 0xd, 0xb8, 0x99, 0x80, 0x98, 0x5, 0x51, 0xf8, 0xfe, 0x85, 0xad, 0xb1, 0x7f, 0x7f, 0xea, 0xb6, 0x33, 0x93, 0xad, 0xeb, 0x91, 0x61, 0xa0, 0x90, 0x45, 0xb2, 0x36, 0x16, 0xbd, 0x82, 0x57, 0xc0, 0xc4, 0x3e, 0xaf, 0xea, 0xe9, 0x77, 0x46, 0x54, 0x31, 0xf2, 0x9f, 0x27, 0x46, 0x15, 0x4c, 0xae, 0x44, 0x2e, 0xe3, 0x3d, 0xbe, 0xd4, 0x6b, 0xd6, 0x14, 0xcb, 0x99, 0x74, 0x28, 0xed, 0x78, 0xba, 0x10, 0x4e, 0x8f, 0x40, 0xa6, 0xd2, 0x84, 0xdb, 0xfb, 0x37, 0xb7, 0xef, 0x36, 0xd0, 0x5b, 0x68, 0xac, 0xce, 0x7a, 0x3a, 0xc7, 0xaa, 0x65, 0x48, 0x1d, 0x92, 0xe, 0xb2, 0x1e, 0x0, 0x3b, 0xea, 0x51, 0xcd, 0xbe, 0xab, 0x89, 0xb4, 0xde, 0xd4, 0x58, 0x19, 0xd4, 0x3c, 0x72, 0xe6, 0xcd, 0x33, 0x96, 0x9e, 0x8e, 0xfe, 0x82, 0xfd, 0x12, 0xf7, 0xfb, 0x8d, 0x1e, 0xb2, 0xe6, 0xac, 0xc0, 0x17, 0x68, 0xa6, 0xc0, 0x0, 0x7a, 0x3, 0xe6, 0xdf, 0x94, 0x15, 0x8a, 0x5, 0x82, 0xb, 0x13, 0x7b, 0xf5, 0x12, 0xde, 0xc5, 0xcd, 0x4f, 0x61, 0x1b, 0xbd, 0x7f, 0xb9, 0x77, 0x31, 0xc8, 0x28, 0xfd, 0x47, 0x7f, 0x1f, 0x23, 0x8, 0x87, 0xcd, 0xdf, 0x44, 0x17, 0x73, 0xf3, 0xcb, 0xd8, 0x9e, 0xa7, 0xfb, 0x1b, 0x7a, 0x29, 0x6d, 0x9a, 0xf3, 0x7e, 0xcf, 0xa4, 0xdb, 0xb9, 0x3, 0x9f, 0xcb, 0x6e, 0x67, 0x4c, 0x3d, 0x5, 0x7f, 0x97, 0xb7, 0xd2, 0x26, 0x82, 0x3d, 0xea, 0x87, 0xd2, 0x5e, 0xdb, 0xfd, 0x5f, 0x49, 0xfb, 0x28, 0x6a, 0x83, 0x54, 0x83, 0xd9, 0xaf, 0xe5, 0xb9, 0xac, 0xf, 0xfa, 0x3b, 0x7f, 0x2e, 0x6b, 0x77, 0xb5, 0x60, 0xf7, 0x90, 0xda, 0x7b, 0xe, 0x70, 0xe2, 0x7, 0x46, 0x1f, 0x7c, 0x14, 0xb9, 0x28, 0x45, 0xce, 0x13, 0x92, 0x88, 0x2a, 0x2f, 0xa1, 0x36, 0x16, 0xe4, 0x50, 0x99, 0xe0, 0x8f, 0x4c, 0x31, 0xc1, 0xb2, 0x96, 0x57, 0xbc, 0x43, 0x91, 0x65, 0x48, 0xfe, 0x9b, 0x23, 0x7d, 0x66, 0x2c, 0x67, 0x52, 0x82, 0x27, 0x14, 0x3c, 0xc9, 0x16, 0x60, 0x5a, 0x87, 0x1a, 0x61, 0x25, 0x7d, 0x83, 0xe4, 0x0, 0x4a, 0x7c, 0x0, 0xed, 0x0, 0xac, 0x43, 0x33, 0x7d, 0x56, 0xd4, 0xa, 0x88, 0xe6, 0x49, 0x1, 0x69, 0xcd, 0x6, 0x96, 0xb5, 0x31, 0x68, 0x54, 0x2d, 0x85, 0x49, 0x7c, 0x7a, 0x43, 0x79, 0xc4, 0x51, 0x36, 0xbe, 0xb3, 0x1a, 0xa3, 0x21, 0x22, 0x37, 0xd7, 0xb1, 0xab, 0x85, 0xd6, 0xdc, 0x8f, 0x7f, 0x9, 0x36, 0xde, 0x4a, 0x4, 0x15, 0x31, 0xc8, 0x54, 0xb0, 0x48, 0x28, 0x4c, 0x56, 0xf2, 0xe4, 0x6e, 0xad, 0x7f, 0x21, 0x59, 0x9e, 0x12, 0xaa, 0xd, 0xc3, 0x62, 0x4e, 0x5e, 0xbb, 0x23, 0xd0, 0x38, 0x6e, 0x5c, 0x13, 0xa5, 0x64, 0xba, 0x9, 0xa6, 0x75, 0x87, 0x43, 0xcd, 0xa9, 0x61, 0x0, 0x85, 0xb8, 0xc9, 0xd8, 0x12, 0x6b, 0xb7, 0x27, 0x22, 0x97, 0x5c, 0x96, 0xf0, 0x4c, 0x4, 0x50, 0x1a, 0xb4, 0x24, 0xb4, 0xe0, 0x92, 0x49, 0x7c, 0x5a, 0x20, 0x26, 0xa3, 0xa2, 0x19, 0xb1, 0xd, 0x92, 0xb5, 0x39, 0xc3, 0x3a, 0x97, 0x37, 0x70, 0x16, 0x9a, 0x3, 0xa0, 0x55, 0xb6, 0x44, 0xa9, 0xa2, 0x5e, 0x72, 0x4, 0x52, 0xfc, 0x75, 0x82, 0x64, 0xdd, 0xcb, 0xbc, 0x6b, 0xf5, 0x8e, 0xdd, 0xe2, 0x4, 0xba, 0xb4, 0x6e, 0x9, 0x7, 0xe8, 0x3c, 0xf8, 0x64, 0x38, 0x1b, 0xf, 0x3e, 0x5e, 0xaa, 0x5f, 0xea, 0xbf, 0x1f, 0x76, 0x75, 0x87, 0x1e, 0xee, 0x5e, 0xd3, 0x4b, 0x1e, 0x95, 0x7, 0xc3, 0x50, 0x6d, 0x59, 0x65, 0xba, 0xe, 0x4c, 0x64, 0x5c, 0xda, 0x80, 0x88, 0xa2, 0xd3, 0x22, 0x7d, 0x90, 0x30, 0xc3, 0xbf, 0xa3, 0xe7, 0x10, 0x8d, 0x84, 0x26, 0xfd, 0x12, 0xfd, 0x21, 0x4b, 0x9a, 0xc7, 0x42, 0xdc, 0x85, 0xc5, 0x11, 0x98, 0x6b, 0xe7, 0x5, 0x37, 0x79, 0xb1, 0xbe, 0xd7, 0xa1, 0xa8, 0x72, 0xfb, 0x78, 0xc4, 0x1f, 0xd0, 0x7c, 0x6d, 0x4b, 0x5, 0x79, 0xdf, 0x37, 0x48, 0x8b, 0xba, 0xe0, 0x0, 0x38, 0xed, 0x10, 0xb7, 0x8f, 0xa0, 0xe1, 0x7b, 0x5e, 0x95, 0x55, 0xc1, 0xe2, 0x7d, 0x68, 0xc6, 0xfb, 0x19, 0xe5, 0x5e, 0x42, 0x63, 0xc1, 0x32, 0xa6, 0xed, 0xde, 0xda, 0xe6, 0x7d, 0x22, 0xf2, 0x93, 0x53, 0x7a, 0xde, 0x73, 0xae, 0x2, 0x78, 0xb2, 0x3, 0xf0, 0x8a, 0x3a, 0x49, 0x83, 0xf, 0xc5, 0xb3, 0x9c, 0xf7, 0x62, 0x2f, 0x65, 0x2e, 0xf2, 0x13, 0xf5, 0x1c, 0xac, 0x49, 0x1b, 0xca, 0xe, 0x78, 0x88, 0xca, 0x30, 0xc2, 0xab, 0x8e, 0x43, 0x16, 0xe, 0xd3, 0x27, 0x13, 0x1, 0x1b, 0x6f, 0xe0, 0x95, 0x78, 0xc6, 0xcb, 0x48, 0xb0, 0x1, 0xb9, 0x38, 0xc4, 0xde, 0x30, 0x1c, 0x5a, 0x1f, 0xa9, 0x97, 0x91, 0x65, 0x9e, 0x48, 0x9b, 0x3a, 0xd5, 0x23, 0x77, 0xb9, 0x81, 0x60, 0xa6, 0x79, 0x10, 0x68, 0x82, 0xec, 0xcb, 0x88, 0x2f, 0xec, 0x6f, 0x15, 0xbf, 0x57, 0x8f, 0x42, 0xc4, 0xa4, 0x4a, 0xb1, 0x6d, 0xef, 0x7c, 0xc, 0x10, 0x2d, 0x32, 0xdf, 0x44, 0x9e, 0x2, 0x9f, 0xf8, 0xfd, 0xe5, 0x6f, 0x76, 0xe9, 0xb7, 0xdd, 0xb8, 0xf7, 0x2, 0x84, 0x11, 0xc4, 0xd2, 0x69, 0x0, 0xce, 0xd6, 0xef, 0x81, 0x67, 0x1e, 0xc7, 0x44, 0x31, 0xe0, 0x78, 0x49, 0x95, 0xd1, 0x62, 0xf3, 0x4b, 0x19, 0xdc, 0x66, 0xdf, 0x3b, 0x5, 0xe1, 0x34, 0x10, 0x11, 0xe4, 0x3e, 0xc0, 0x67, 0x12, 0x1c, 0xd2, 0xba, 0x80, 0x86, 0xf6, 0xc7, 0x20, 0x4d, 0x87, 0xf1, 0x59, 0x97, 0x36, 0xda, 0xea, 0xa3, 0x48, 0xe1, 0x7a, 0x1e, 0xa9, 0x36, 0x22, 0x95, 0x77, 0x61, 0x98, 0xef, 0x7e, 0x71, 0x7e, 0xd7, 0xa6, 0x54, 0xd2, 0x6c, 0x3a, 0x98, 0xfc, 0x3c, 0x3b, 0xbd, 0xf8, 0x78, 0xf9, 0x61, 0x38, 0x1d, 0x9e, 0x5d, 0x9b, 0xa0, 0x64, 0xd, 0xbd, 0x84, 0x5e, 0xcf, 0x25, 0x94, 0x91, 0xa0, 0x92, 0x14, 0x6c, 0x25, 0xa, 0x13, 0x9e, 0x6d, 0xfb, 0x37, 0xf5, 0xc9, 0x3f, 0x46, 0x15, 0x23, 0xf6, 0x8, 0x1c, 0x5e, 0xee, 0x82, 0x61, 0x5, 0x65, 0xc2, 0xb5, 0x33, 0x2a, 0x20, 0xbe, 0x25, 0x5b, 0xa, 0x87, 0x5e, 0x66, 0x53, 0x8a, 0x11, 0x9a, 0x8, 0xbd, 0x7a, 0x1a, 0xa6, 0xc8, 0x68, 0x44, 0x4b, 0x56, 0x2c, 0xe2, 0x65, 0xe1, 0x86, 0x82, 0xfb, 0xb, 0x51, 0x1e, 0xa0, 0xdf, 0xbe, 0x51, 0xd9, 0xc0, 0x6f, 0xf3, 0x40, 0x75, 0x4d, 0xb8, 0x94, 0xa9, 0x23, 0xd1, 0xdd, 0xf6, 0x20, 0xda, 0x1, 0x50, 0xfc, 0x5f, 0x21, 0x2f, 0xd1, 0xf9, 0xc7, 0xe, 0xf7, 0x35, 0x1c, 0x5, 0xf8, 0xb2, 0x76, 0x4b, 0xe2, 0x6d, 0x35, 0x4c, 0xfa, 0x8e, 0xad, 0x75, 0x1a, 0x22, 0x8e, 0x90, 0x6e, 0xa5, 0xb3, 0xcf, 0x6, 0xf1, 0xe1, 0x30, 0x8a, 0xcb, 0xd9, 0xc3, 0xb4, 0xa9, 0x8e, 0x5f, 0x17, 0xa, 0x3b, 0x7, 0x1f, 0xb4, 0x6f, 0x47, 0xc8, 0xd9, 0x83, 0x5f, 0x9e, 0xe5, 0x1b, 0xd5, 0x64, 0xdb, 0x38, 0xaf, 0x6f, 0x57, 0xd7, 0x6e, 0xe3, 0xb4, 0xbe, 0x75, 0x19, 0xc1, 0xfa, 0xe4, 0xbe, 0xce, 0x75, 0x8f, 0xc7, 0x6d, 0xfc, 0xa3, 0x12, 0x49, 0x1e, 0x40, 0xab, 0x7, 0xe3, 0x25, 0x78, 0xc6, 0x1, 0x2f, 0x79, 0x95, 0xd1, 0x4, 0x1d, 0x7c, 0x5d, 0xd0, 0x28, 0xdc, 0x25, 0x9, 0x2e, 0xd7, 0x7f, 0x54, 0xac, 0x58, 0xef, 0x78, 0x6d, 0xfe, 0xa6, 0xda, 0xc4, 0x15, 0x6c, 0x3b, 0xa7, 0x6b, 0xeb, 0x81, 0x4f, 0x68, 0x55, 0xde, 0x8a, 0xe2, 0xc4, 0xd4, 0x73, 0xd0, 0xa5, 0x58, 0xb8, 0xd3, 0x7d, 0x60, 0x98, 0x3e, 0x99, 0xae, 0x57, 0xda, 0xa3, 0x40, 0x6d, 0x86, 0x0, 0xd8, 0x21, 0xfb, 0xe1, 0x84, 0x6, 0xc5, 0x42, 0x1e, 0x6, 0x26, 0xbb, 0xb5, 0x98, 0xa6, 0x57, 0xe9, 0xdb, 0xd5, 0xca, 0x4, 0x6c, 0x1d, 0xcd, 0x62, 0x2d, 0x1b, 0xd6, 0x12, 0x2e, 0x4c, 0xcc, 0x14, 0xfb, 0x76, 0xf3, 0x7d, 0x74, 0x5, 0xb8, 0xd5, 0xfe, 0x46, 0x1b, 0x7f, 0xbc, 0xfa, 0xdb, 0xd1, 0x1e, 0x32, 0x72, 0x5b, 0x96, 0x2b, 0xf9, 0xf6, 0xd5, 0xab, 0x54, 0x24, 0xb2, 0x6f, 0x3a, 0xee, 0x73, 0x1, 0xbf, 0x78, 0x95, 0x88, 0x3c, 0x61, 0xab, 0x52, 0xbe, 0x52, 0xd3, 0xe0, 0x4c, 0xbe, 0xa, 0xe8, 0x75, 0xec, 0xd5, 0xdf, 0xea, 0x48, 0xae, 0x68, 0x70, 0xdd, 0x7, 0x5e, 0x40, 0xd, 0xa6, 0x61, 0xe4, 0x75, 0x4d, 0xd1, 0x6e, 0xc8, 0x10, 0x4a, 0x5f, 0x39, 0x4a, 0x5, 0x16, 0x35, 0x81, 0xc9, 0x8a, 0x25, 0xad, 0xe7, 0xc, 0x33, 0x34, 0x31, 0x14, 0x21, 0x7a, 0x8, 0x2e, 0x3b, 0x7d, 0xb7, 0x1e, 0xed, 0x99, 0x85, 0x1c, 0xb, 0x23, 0x51, 0x42, 0x32, 0x4d, 0x4a, 0xa1, 0x43, 0xb2, 0xf4, 0x50, 0xa8, 0xa, 0x56, 0x59, 0xf4, 0xf0, 0x7f, 0x39, 0xd8, 0x89, 0x11, 0xf8, 0x29, 0x6f, 0x58, 0xe9, 0xd9, 0x97, 0xb4, 0x18, 0x5d, 0xda, 0xe2, 0xf7, 0xf, 0x74, 0xdd, 0x23, 0xf, 0x4c, 0xdb, 0x5c, 0x33, 0x29, 0x10, 0xbd, 0x48, 0x9b, 0xfe, 0x66, 0x37, 0xeb, 0x10, 0x8f, 0x62, 0xf3, 0x94, 0xbf, 0x7b, 0xfb, 0x16, 0x60, 0x25, 0x40, 0x9d, 0x3d, 0x81, 0x2a, 0x50, 0xbb, 0x4f, 0x7b, 0x2, 0xd1, 0x68, 0x52, 0x9, 0xf8, 0xf7, 0xac, 0x4f, 0x6, 0x59, 0xa6, 0xcb, 0x25, 0x9, 0x64, 0xdb, 0x44, 0x8a, 0x4a, 0x29, 0x42, 0x49, 0x56, 0x2d, 0xe5, 0x3a, 0x98, 0x9d, 0x7f, 0x40, 0xfb, 0x10, 0xb3, 0xf7, 0x9b, 0xc6, 0xeb, 0xe9, 0x13, 0x9e, 0xfe, 0xcb, 0xd, 0x58, 0x99, 0xd4, 0xb1, 0xea, 0xc3, 0xc6, 0x60, 0x18, 0xf, 0xe7, 0x5e, 0xe9, 0xcc, 0x4e, 0x29, 0xd2, 0xd8, 0xd4, 0xb6, 0x42, 0x56, 0xbf, 0x76, 0x7f, 0x7, 0x89, 0x3f, 0xff, 0x8e, 0xb7, 0xd8, 0x38, 0x3, 0x2e, 0x69, 0x25, 0x77, 0x2e, 0x9d, 0xee, 0x46, 0x9d, 0xe1, 0xff, 0xd, 0xfc, 0xde, 0x9e, 0xb7, 0xcc, 0xb0, 0xe9, 0xdb, 0x6e, 0xb3, 0x26, 0xff, 0xf5, 0x3f, 0xb5, 0x3e, 0x27, 0x1e, 0x53, 0xe8, 0x8c, 0x1f, 0x70, 0x84, 0x1c, 0x30, 0x7, 0xe6, 0x13, 0xf8, 0x9b, 0xd4, 0x81, 0x62, 0x54, 0x36, 0x60, 0x66, 0xe5, 0xfc, 0x6f, 0x15, 0x82, 0x4a, 0x6a, 0x8d, 0x2f, 0x3a, 0x3f, 0xfb, 0x73, 0xea, 0x62, 0xa1, 0xf4, 0xe3, 0xa1, 0x94, 0x4, 0x1d, 0x19, 0x4, 0xd8, 0x4f, 0xf7, 0x8c, 0xdc, 0x54, 0x92, 0x83, 0x41, 0x76, 0xc9, 0xa8, 0x52, 0x36, 0xfb, 0xb5, 0x63, 0x84, 0x32, 0x96, 0xfb, 0x1c, 0xa3, 0xda, 0xc6, 0xd9, 0xc0, 0xef, 0x5, 0x40, 0x86, 0xf8, 0x62, 0xe1, 0x3f, 0x87, 0xf7, 0x5c, 0x6a, 0xfb, 0x43, 0x20, 0xe0, 0xec, 0xb9, 0x8d, 0x63, 0xa6, 0x3e, 0x7, 0x5f, 0xd2, 0x2f, 0xb6, 0x63, 0x2d, 0x9f, 0x84, 0xbb, 0x3, 0x1, 0x6b, 0xf8, 0x7e, 0x7a, 0x58, 0x38, 0x73, 0x9e, 0x29, 0xe, 0xe5, 0xd5, 0x55, 0x89, 0x2f, 0x9, 0xd8, 0x9e, 0x9d, 0x3e, 0xa, 0xb7, 0xcd, 0xa0, 0xaa, 0xac, 0x56, 0x59, 0x3c, 0xc, 0x32, 0xbe, 0xe8, 0xa, 0x1a, 0xb4, 0x52, 0x67, 0xe, 0xa0, 0xaa, 0x3f, 0xc0, 0x3b, 0x22, 0x25, 0xee, 0x90, 0xfa, 0x3b, 0x6a, 0xbf, 0x22, 0x49, 0xaa, 0x42, 0xf6, 0xc8, 0xd, 0x2, 0x1d, 0xa3, 0xcf, 0x1, 0xbe, 0x21, 0xab, 0x82, 0x69, 0x7f, 0x2e, 0x24, 0x2b, 0xd2, 0xac, 0x8a, 0xf1, 0x71, 0x34, 0x69, 0xb9, 0x70, 0x27, 0x7, 0x55, 0xe9, 0x30, 0x17, 0x68, 0xc1, 0x88, 0xac, 0x56, 0xa8, 0x4d, 0xd7, 0x0, 0x4e, 0xad, 0xaa, 0xb4, 0x5e, 0xb1, 0xb6, 0xbf, 0x8d, 0xd2, 0xf8, 0x2f, 0x70, 0xe0, 0xd3, 0x1a, 0xd0, 0xf9, 0x9, 0xf1, 0x6b, 0xec, 0x96, 0x95, 0xc, 0xe8, 0x4d, 0xe4, 0xc7, 0x2f, 0xee, 0x56, 0xe7, 0x16, 0xad, 0x6f, 0x74, 0xfd, 0x53, 0xf0, 0x73, 0x62, 0x3c, 0x63, 0xee, 0x4c, 0x7b, 0x70, 0xe8, 0xe0, 0xc9, 0x87, 0x63, 0xd0, 0x95, 0x2d, 0x83, 0xc3, 0x58, 0x62, 0x18, 0xae, 0x87, 0x6d, 0x7a, 0xcc, 0x92, 0xac, 0xae, 0xbe, 0xab, 0x81, 0xec, 0xb5, 0xf3, 0x72, 0x68, 0xca, 0x6a, 0x82, 0x60, 0x8a, 0xb3, 0x53, 0x36, 0xc2, 0x6f, 0xa0, 0xbc, 0xdb, 0x1f, 0xcd, 0x2f, 0xd0, 0x44, 0xc0, 0x5d, 0x8f, 0x86, 0xbc, 0x11, 0x50, 0x12, 0xd6, 0xd1, 0x41, 0xba, 0xea, 0xca, 0x9, 0x76, 0x4e, 0x7, 0xd6, 0x9b, 0x7c, 0xe0, 0xe, 0x9a, 0xd9, 0x84, 0xa7, 0x46, 0xc9, 0xe4, 0x3f, 0x3e, 0x9c, 0x64, 0xfc, 0x8e, 0xe9, 0xde, 0xc, 0x43, 0x58, 0xd1, 0x82, 0x2e, 0x59, 0x59, 0x43, 0x69, 0xc5, 0xeb, 0x6d, 0xb8, 0x7, 0x1c, 0x3a, 0xa1, 0xb, 0xca, 0x73, 0x3f, 0xc6, 0x39, 0xa5, 0x25, 0xdd, 0x78, 0x27, 0xad, 0xfb, 0xbc, 0xed, 0x4e, 0xfa, 0x89, 0xb7, 0x1a, 0xf9, 0xaf, 0xbe, 0xb, 0x70, 0xbb, 0xcc, 0xba, 0x40, 0xe9, 0x23, 0x83, 0xdc, 0x2d, 0x54, 0xfd, 0xc6, 0x78, 0x1, 0x96, 0x14, 0xc1, 0xa7, 0xc0, 0xd, 0x0, 0x91, 0x22, 0xc0, 0x99, 0xdc, 0xc7, 0x67, 0x4a, 0xd7, 0x43, 0x4f, 0x67, 0xd, 0x3e, 0xd8, 0x7c, 0x34, 0x4a, 0x51, 0x4f, 0x74, 0x29, 0xcb, 0x66, 0x1d, 0xad, 0x4d, 0x6, 0xba, 0x94, 0x32, 0xb4, 0xd3, 0xc5, 0x90, 0xad, 0x9b, 0x75, 0x5b, 0x27, 0xba, 0x8a, 0xee, 0x48, 0x9, 0x7a, 0xf7, 0x34, 0xd3, 0xa9, 0xa9, 0x3a, 0x3a, 0xa0, 0xa5, 0x6a, 0xad, 0x57, 0x7b, 0xb6, 0xeb, 0x30, 0x1e, 0x9d, 0x96, 0x95, 0xc4, 0x51, 0x24, 0xfc, 0x77, 0xad, 0xa9, 0xb9, 0x32, 0x3a, 0x98, 0xe6, 0x99, 0x29, 0x3b, 0x9c, 0x3e, 0xeb, 0x91, 0x67, 0xba, 0x84, 0xb8, 0xfa, 0x4f, 0x90, 0x47, 0xd2, 0x67, 0xb5, 0xa1, 0x9c, 0x49, 0xb, 0x37, 0x84, 0xba, 0xab, 0xec, 0x25, 0x14, 0x84, 0x56, 0x7d, 0xeb, 0x60, 0xb1, 0x16, 0x7f, 0x4b, 0x3d, 0x5e, 0x49, 0xdd, 0x9a, 0xb, 0xb6, 0x81, 0xde, 0x35, 0x75, 0x45, 0xe1, 0xb0, 0x8, 0x5b, 0x2f, 0x8a, 0x1a, 0xec, 0xf9, 0x3f, 0x91, 0x1f, 0x7a, 0xe4, 0xff, 0xfa, 0xa1, 0x47, 0xfe, 0xd8, 0x23, 0x7f, 0xfc, 0xa1, 0x47, 0xfe, 0xad, 0x47, 0xfe, 0xed, 0x87, 0xda, 0x37, 0x83, 0xf3, 0xb3, 0x1e, 0xb9, 0x18, 0xf7, 0xc8, 0x8b, 0x97, 0xb5, 0xbf, 0xbd, 0x1b, 0x4e, 0x3f, 0xd, 0x87, 0xe7, 0xa4, 0xdf, 0xef, 0xab, 0xef, 0x6a, 0x52, 0xf8, 0x64, 0x3a, 0x18, 0x4f, 0x27, 0xb3, 0x4f, 0xa3, 0xe9, 0xfb, 0x26, 0x89, 0xd7, 0x2e, 0xc1, 0xbc, 0x7e, 0xb6, 0xe0, 0xb4, 0x65, 0xc3, 0xe8, 0x99, 0xcd, 0xdd, 0x96, 0x70, 0x69, 0x50, 0x1d, 0x4, 0x7a, 0x42, 0x42, 0x19, 0xb7, 0x6e, 0xc0, 0xde, 0xdb, 0x42, 0x69, 0x29, 0xed, 0x0, 0x3b, 0xb8, 0x13, 0x0, 0x23, 0x8b, 0xb8, 0x29, 0xf3, 0x6f, 0x2d, 0xe2, 0xc8, 0xdd, 0x31, 0xda, 0xa1, 0xc0, 0x28, 0x7, 0x28, 0xed, 0xea, 0xa6, 0x83, 0xd4, 0xf7, 0x45, 0x26, 0xa3, 0x8e, 0x69, 0x87, 0xa9, 0x1c, 0xab, 0xa4, 0xbd, 0xf6, 0xaf, 0x3c, 0xdc, 0x8a, 0x20, 0xc9, 0x4a, 0x8f, 0x6e, 0x7b, 0xb9, 0xe1, 0x39, 0x2d, 0xd6, 0xa7, 0xb7, 0x2c, 0xb9, 0x93, 0xa1, 0x93, 0x78, 0x8f, 0x67, 0xe2, 0x1d, 0x74, 0xe6, 0xb1, 0xb8, 0x8e, 0x93, 0x80, 0x1f, 0x3f, 0x9a, 0x71, 0x6c, 0x8c, 0x80, 0x88, 0x6, 0xbf, 0x31, 0xc9, 0xed, 0xc1, 0x2f, 0xfa, 0x7b, 0x84, 0x4, 0xb7, 0x7d, 0xca, 0x7, 0xbb, 0xa2, 0x58, 0x73, 0xd1, 0xb0, 0xf6, 0x55, 0x21, 0x12, 0x86, 0x5e, 0xd5, 0xc0, 0xcb, 0xc, 0xd6, 0xa4, 0x5a, 0x45, 0x8f, 0x6b, 0x28, 0x59, 0x37, 0xe3, 0xa9, 0xe, 0xe9, 0x9, 0xb7, 0x49, 0xab, 0x32, 0xea, 0xaa, 0x2a, 0x9d, 0xdf, 0x78, 0x1f, 0xae, 0xf1, 0x20, 0x67, 0x89, 0x3e, 0xc9, 0x6b, 0x13, 0x93, 0xa1, 0xc1, 0x83, 0x5, 0x42, 0xb, 0x39, 0x47, 0x33, 0x95, 0x8c, 0xbc, 0xe0, 0x25, 0xfc, 0x1d, 0x7a, 0x8a, 0xfd, 0x1a, 0xe, 0x4d, 0xbd, 0x14, 0x38, 0xc1, 0xe2, 0x9e, 0x85, 0x3e, 0xd0, 0x97, 0x7b, 0xa4, 0x40, 0x12, 0x3f, 0x6b, 0xc5, 0x77, 0x8d, 0x5f, 0x9b, 0x92, 0x62, 0xae, 0x53, 0x99, 0xde, 0x7d, 0xd4, 0x70, 0x33, 0x47, 0x31, 0x3b, 0x5, 0xc, 0xcc, 0xf4, 0xdc, 0x19, 0x8c, 0x9d, 0x96, 0x98, 0x6c, 0x3a, 0x39, 0xfb, 0x99, 0x3c, 0x70, 0x79, 0x8b, 0x31, 0x31, 0x8, 0x30, 0xd, 0x3e, 0x1f, 0x5e, 0x4a, 0x96, 0xcd, 0x11, 0x29, 0x5d, 0x5b, 0x10, 0x73, 0xc6, 0x52, 0x57, 0x2a, 0x60, 0x55, 0x30, 0x9d, 0x51, 0x98, 0xa, 0x26, 0xeb, 0xb1, 0x26, 0x18, 0xd9, 0x97, 0xad, 0x9, 0x5f, 0xae, 0xa0, 0xac, 0x80, 0x7d, 0xc7, 0xca, 0x0, 0xc9, 0x2, 0x64, 0x2b, 0x9e, 0x2f, 0x8e, 0xb2, 0x39, 0x1f, 0xff, 0x7f, 0xf6, 0xae, 0xa5, 0xb9, 0x6d, 0xe4, 0x8, 0xdf, 0xfd, 0x2b, 0x50, 0x3e, 0x44, 0xf2, 0x96, 0xc4, 0x5a, 0x3b, 0x37, 0xdf, 0x20, 0x12, 0x92, 0x51, 0x16, 0x1f, 0x1, 0x41, 0xcb, 0x4a, 0x2a, 0x5, 0x43, 0xe4, 0x90, 0x9a, 0x8, 0x4, 0x54, 0x18, 0xc0, 0x8a, 0xf6, 0xd7, 0xa7, 0xa6, 0xbb, 0xe7, 0x81, 0x1, 0x48, 0x89, 0xa4, 0x1c, 0xcb, 0x5b, 0xbb, 0xa7, 0xb5, 0x8, 0xcc, 0x7b, 0x1a, 0x33, 0xdd, 0x5f, 0x7f, 0x9f, 0x53, 0xd8, 0xc6, 0xf1, 0xb8, 0x2c, 0xe6, 0x69, 0xe6, 0xd5, 0x40, 0xbe, 0x1, 0xc, 0x40, 0x90, 0x90, 0x44, 0xb1, 0xec, 0x4e, 0x58, 0x9c, 0xc2, 0xf3, 0x69, 0x12, 0x6e, 0x88, 0x63, 0xcb, 0xa1, 0xba, 0x2f, 0x84, 0xac, 0xd5, 0xa, 0xa3, 0xff, 0xd4, 0xc4, 0xf0, 0x6d, 0x19, 0xe1, 0x64, 0xac, 0x7a, 0xde, 0xb0, 0x29, 0x1e, 0x4c, 0xce, 0x2, 0xa4, 0x12, 0x6c, 0xe5, 0x53, 0x3b, 0xd8, 0x4, 0x54, 0x5f, 0x21, 0xcd, 0xd, 0xa5, 0xa6, 0xa0, 0xc0, 0x49, 0x80, 0x1e, 0xc9, 0xb5, 0xdf, 0x61, 0x3a, 0xf8, 0x4c, 0x19, 0x62, 0xf8, 0x33, 0x7a, 0xf4, 0xba, 0x80, 0x63, 0xae, 0x4a, 0xcc, 0x37, 0x47, 0x96, 0xae, 0x67, 0x81, 0xeb, 0xb7, 0x6c, 0xd5, 0x5d, 0xac, 0xed, 0xf7, 0x9d, 0x81, 0x46, 0xbf, 0x6, 0x1, 0xc9, 0x66, 0x5, 0x4c, 0xd, 0x93, 0xb0, 0xe7, 0xc8, 0x4e, 0xdc, 0xed, 0x58, 0x2c, 0x6, 0x6a, 0xd6, 0x1, 0x67, 0x68, 0x4e, 0x84, 0x45, 0x25, 0xd0, 0x22, 0x18, 0x31, 0x67, 0xdb, 0xe7, 0x66, 0xf6, 0x9b, 0x65, 0xd3, 0xac, 0x65, 0xdb, 0x1a, 0x6a, 0x2f, 0x1b, 0x6d, 0x92, 0x9f, 0xc0, 0x7e, 0xa8, 0x8f, 0xef, 0x4b, 0xb, 0x63, 0xee, 0x98, 0x38, 0x6e, 0x76, 0x28, 0x79, 0xfd, 0xe4, 0xbe, 0x74, 0x32, 0x55, 0x75, 0x97, 0x9a, 0xe3, 0xa2, 0x28, 0x19, 0x9e, 0xb9, 0xdd, 0xda, 0x43, 0xb5, 0x41, 0x97, 0xe6, 0xb0, 0xc3, 0x8c, 0xe9, 0xf4, 0x28, 0x3d, 0xd8, 0xfb, 0x61, 0xdf, 0x95, 0xda, 0x83, 0xfa, 0x53, 0x7, 0x93, 0x78, 0x98, 0xad, 0x11, 0x91, 0xd, 0x7d, 0x35, 0x4, 0x6, 0xbf, 0xee, 0xaa, 0xdc, 0xb8, 0xc6, 0xb6, 0x9e, 0x84, 0x76, 0x8d, 0x3f, 0x16, 0x25, 0x9b, 0x9, 0xb6, 0x38, 0xcf, 0xd2, 0xd5, 0x7e, 0x8e, 0x48, 0x7c, 0x50, 0x1e, 0x8d, 0x56, 0x4e, 0x5e, 0x97, 0x32, 0x36, 0x35, 0xcf, 0xab, 0xbf, 0x7f, 0x78, 0xe6, 0x4, 0x85, 0x24, 0x98, 0xe2, 0x2d, 0x65, 0x8b, 0xf0, 0x68, 0xac, 0x2, 0xc1, 0x45, 0x49, 0x1f, 0xd6, 0xe9, 0xe0, 0xb3, 0x20, 0x92, 0x5, 0x7c, 0x6c, 0x2d, 0xa7, 0x7, 0x26, 0xee, 0xd1, 0xe0, 0x8e, 0xcc, 0xd, 0xdf, 0xf0, 0x6c, 0x39, 0x3b, 0x9c, 0xf4, 0xa3, 0x80, 0xd8, 0xcd, 0xb9, 0xfd, 0xff, 0x6, 0x34, 0xce, 0x50, 0xbe, 0xa2, 0x75, 0x90, 0x47, 0xa0, 0x55, 0xe, 0x31, 0xf6, 0x63, 0xfd, 0xd5, 0xaf, 0x8a, 0xc2, 0xbb, 0xe5, 0xab, 0x5b, 0xc5, 0x68, 0x42, 0x98, 0x81, 0x77, 0x28, 0x6, 0x2c, 0xdb, 0xb5, 0x4c, 0x79, 0xd6, 0x70, 0x69, 0xb8, 0x6e, 0x80, 0xe, 0x70, 0xb4, 0x53, 0xbb, 0xa9, 0xf9, 0x84, 0x84, 0xc5, 0x88, 0xad, 0x85, 0xe7, 0x5e, 0x8a, 0x32, 0xbb, 0x4b, 0x2, 0x97, 0xc2, 0x78, 0x28, 0xf4, 0x52, 0x59, 0xe7, 0x3d, 0xaf, 0x5f, 0x2c, 0x18, 0x92, 0xb7, 0xc0, 0xf, 0xad, 0xda, 0xe5, 0xa2, 0x87, 0x8a, 0x14, 0xea, 0x3f, 0x57, 0xfa, 0x24, 0x28, 0x47, 0x7c, 0x1e, 0x63, 0x12, 0xb7, 0x1c, 0x4d, 0xf2, 0xe8, 0xb, 0x51, 0xaf, 0x99, 0xf1, 0xc7, 0xa8, 0x66, 0x76, 0x93, 0xaa, 0x50, 0x5f, 0xe6, 0xba, 0x19, 0x84, 0x12, 0xc4, 0x3a, 0xe9, 0x10, 0xed, 0x2d, 0x39, 0xa1, 0x5e, 0xb1, 0x30, 0x52, 0x35, 0x73, 0x7b, 0x66, 0x46, 0xb5, 0x4a, 0xef, 0x5a, 0x82, 0x67, 0x80, 0x88, 0x2c, 0xd3, 0x7c, 0x7e, 0x6b, 0xdd, 0xcc, 0x2d, 0x42, 0x8, 0xe0, 0x19, 0x51, 0xac, 0x93, 0xd4, 0x6b, 0x17, 0xfb, 0x4a, 0x6b, 0x22, 0x2f, 0xf2, 0x53, 0x5c, 0x17, 0x16, 0x8a, 0x9e, 0x94, 0x3a, 0xaf, 0xce, 0x63, 0xd7, 0x57, 0xf4, 0x1b, 0x58, 0x16, 0x90, 0x19, 0x13, 0xde, 0xb2, 0x64, 0xe0, 0x5e, 0xac, 0x5, 0x8c, 0x1a, 0xcd, 0x9, 0xaf, 0x0, 0x21, 0x4a, 0xee, 0x99, 0x9e, 0x17, 0x52, 0x47, 0xe8, 0xf2, 0x91, 0xe6, 0x8f, 0xb2, 0xf0, 0xec, 0xf1, 0x14, 0x7a, 0x7b, 0x1c, 0x6, 0x1f, 0xdb, 0x97, 0xb, 0x23, 0xba, 0x98, 0x3d, 0xea, 0x13, 0xf9, 0x3b, 0xaa, 0x0, 0x5c, 0x41, 0xea, 0xd4, 0x4e, 0x99, 0xc, 0x57, 0xe7, 0xb1, 0xdb, 0x41, 0xd8, 0x3c, 0x78, 0xaf, 0x94, 0xd3, 0x2a, 0xd7, 0x6f, 0x91, 0xa1, 0x8, 0xd8, 0x77, 0x96, 0x23, 0x8a, 0xd5, 0xe2, 0x5, 0x25, 0x31, 0xb4, 0xa, 0x7a, 0x92, 0x22, 0x76, 0x58, 0xf0, 0x5, 0x38, 0x9f, 0xe0, 0x52, 0x59, 0x2c, 0xea, 0xb9, 0x7b, 0x52, 0xc9, 0x15, 0x72, 0x46, 0x1f, 0xbc, 0xd0, 0xbb, 0xfe, 0x48, 0x7b, 0xcd, 0x4e, 0x60, 0x83, 0x96, 0xd4, 0xfa, 0x62, 0xbd, 0x66, 0xf3, 0xdb, 0x34, 0xe7, 0x62, 0xed, 0xb6, 0x7b, 0x63, 0xdc, 0xfb, 0xfd, 0xc7, 0x8f, 0xcb, 0xa2, 0xbc, 0x1, 0x6, 0xa0, 0x53, 0x69, 0x8e, 0xf6, 0x8, 0x7b, 0xc7, 0x90, 0x41, 0x50, 0x32, 0xcc, 0xe, 0x6, 0xaf, 0x62, 0x7e, 0x54, 0x91, 0xa, 0x17, 0x5b, 0xa5, 0x40, 0x9f, 0xa2, 0xf0, 0x8b, 0x76, 0xd0, 0x3b, 0x4b, 0xf3, 0xd5, 0xab, 0x32, 0xa0, 0xe7, 0x2d, 0xbb, 0x29, 0x57, 0xa5, 0x6c, 0x66, 0xcf, 0x1b, 0x15, 0x3a, 0xd9, 0x6, 0x2, 0x36, 0x8b, 0x96, 0x86, 0x96, 0xf2, 0x22, 0x9b, 0xec, 0x3a, 0xf5, 0x76, 0x9d, 0xae, 0x5c, 0x82, 0xb, 0xb8, 0x9, 0xa6, 0x42, 0xb9, 0x46, 0x30, 0x63, 0xa8, 0x99, 0x66, 0x68, 0x27, 0x41, 0xaa, 0x52, 0xe4, 0xde, 0x53, 0x80, 0x71, 0x45, 0x42, 0x85, 0x80, 0x2b, 0x69, 0xd0, 0xaa, 0x56, 0x4e, 0x51, 0x9a, 0x95, 0x2c, 0x5d, 0x3c, 0x76, 0xac, 0x2a, 0xa4, 0xeb, 0xfb, 0x26, 0x57, 0x42, 0x22, 0x7b, 0x9c, 0x20, 0x15, 0x8c, 0xf8, 0xa6, 0x89, 0xf9, 0x7e, 0x8d, 0x45, 0x24, 0x16, 0x77, 0x2f, 0x70, 0x48, 0x1c, 0x59, 0xce, 0x74, 0x39, 0x6b, 0x60, 0xe2, 0x6c, 0xb7, 0x15, 0xa3, 0xc3, 0x8c, 0x52, 0x54, 0xab, 0x5, 0xa, 0x37, 0x8a, 0x62, 0xcd, 0x2a, 0xc8, 0x7d, 0x81, 0x38, 0xd0, 0x5b, 0x5, 0x7b, 0x3a, 0x5d, 0x15, 0x6f, 0x49, 0x6, 0xd1, 0xd9, 0xdf, 0xf4, 0xa2, 0xce, 0xc2, 0x95, 0x37, 0x1b, 0xd0, 0x0, 0x0, 0xd8, 0x89, 0xb7, 0x8a, 0x26, 0x7d, 0x2, 0x92, 0x51, 0x6d, 0xe4, 0xa8, 0x87, 0xc, 0x1, 0x73, 0x8c, 0xe2, 0x95, 0x3a, 0x1a, 0x91, 0xd0, 0x48, 0xb3, 0x1a, 0x9d, 0xdc, 0x43, 0xec, 0x4c, 0x7c, 0xcd, 0x8c, 0x1b, 0xc2, 0xa2, 0xb8, 0x81, 0xe5, 0x76, 0x5c, 0x94, 0xaa, 0xe4, 0xc2, 0x4e, 0x5c, 0x90, 0x5d, 0x6e, 0x69, 0xb3, 0x6d, 0x5a, 0x6, 0x1f, 0x3e, 0x7c, 0xfc, 0x28, 0x7b, 0x70, 0x2a, 0xea, 0xe5, 0x92, 0xff, 0x77, 0xf7, 0x25, 0x70, 0xc5, 0x8e, 0x4a, 0xe6, 0x15, 0x77, 0x6a, 0xf5, 0xc3, 0x70, 0x60, 0x61, 0x1e, 0xe2, 0x24, 0x9d, 0x79, 0x7f, 0x99, 0xcb, 0xd6, 0x97, 0x26, 0x87, 0xd1, 0x41, 0xb3, 0xff, 0xbe, 0xf7, 0xe1, 0xf7, 0xde, 0xef, 0x3b, 0x4f, 0xbc, 0x4a, 0xff, 0x7a, 0x85, 0x73, 0xef, 0x39, 0x87, 0xe6, 0xf3, 0x94, 0x67, 0x7f, 0x5, 0x3f, 0x7e, 0x54, 0xf0, 0x63, 0xee, 0x82, 0xa0, 0xba, 0x1c, 0x4a, 0xcd, 0x2a, 0xce, 0xfd, 0xf0, 0x32, 0x18, 0x24, 0x7d, 0x7f, 0x36, 0xdd, 0xa6, 0x7a, 0xb3, 0xf5, 0xa5, 0x4f, 0xfe, 0x68, 0x0, 0xff, 0x1e, 0xf, 0x87, 0x6e, 0xa8, 0x6d, 0xeb, 0xab, 0x67, 0xfe, 0x40, 0xf, 0x78, 0xe2, 0xf7, 0xe3, 0xf0, 0x4b, 0x18, 0x5f, 0x27, 0x7e, 0x1c, 0x47, 0xe1, 0xd9, 0x2c, 0xe, 0x5c, 0x51, 0x9d, 0x27, 0x4a, 0x22, 0xf1, 0x19, 0xa5, 0x45, 0x73, 0x70, 0x79, 0x30, 0xfa, 0xa0, 0xc6, 0x13, 0xed, 0x5d, 0x6, 0xb5, 0xe5, 0xb0, 0x42, 0xa2, 0xa0, 0x3f, 0x8e, 0x6, 0xc9, 0xd0, 0x8f, 0x3e, 0x1f, 0xd2, 0x14, 0x4a, 0x74, 0x49, 0xf4, 0x73, 0xc1, 0xd7, 0xa0, 0x3f, 0x8b, 0xc3, 0xf1, 0x68, 0xef, 0x32, 0xe5, 0x1f, 0x5e, 0xb2, 0x3c, 0x1a, 0xae, 0x17, 0x2c, 0xd1, 0x59, 0x14, 0xc1, 0x57, 0xd2, 0x35, 0x7a, 0xc9, 0x46, 0x3b, 0xd9, 0x98, 0xfb, 0x94, 0x63, 0xaf, 0xb5, 0xc1, 0x6c, 0x72, 0x19, 0xf6, 0x41, 0x85, 0x69, 0x87, 0xbd, 0x14, 0x5, 0xd3, 0x20, 0x4e, 0xa6, 0x71, 0xd8, 0xff, 0x7c, 0x8d, 0x3f, 0xff, 0x63, 0x16, 0xcc, 0xdc, 0xcc, 0xd1, 0x2d, 0x5, 0xe8, 0x9f, 0xe4, 0xff, 0x4, 0x91, 0xb5, 0xaf, 0xbb, 0x25, 0xab, 0x9e, 0xda, 0x3d, 0xe1, 0xc5, 0xb, 0x8f, 0x33, 0x8e, 0x51, 0xff, 0x53, 0x78, 0x39, 0x38, 0xb0, 0xb4, 0xf3, 0x71, 0xd4, 0xf, 0x92, 0xfe, 0xe5, 0x78, 0x1a, 0xec, 0x6e, 0xb4, 0xe4, 0x3f, 0xc6, 0x5f, 0x82, 0x68, 0xdf, 0xf7, 0xad, 0xc1, 0x9, 0x47, 0x93, 0x59, 0x9c, 0x4c, 0xc3, 0x7f, 0xee, 0x30, 0xb6, 0x38, 0xcf, 0xea, 0x81, 0xdd, 0xaa, 0x3d, 0xb, 0x47, 0x7e, 0x74, 0xbd, 0xc3, 0xaa, 0x6c, 0xd9, 0xe6, 0xfd, 0xd6, 0x26, 0x74, 0x39, 0xf0, 0xa3, 0xfe, 0xa7, 0xbd, 0xa6, 0x6b, 0x34, 0x1e, 0x25, 0x83, 0x20, 0xe, 0xa2, 0x61, 0x38, 0xa, 0xe5, 0xa, 0xef, 0x94, 0x23, 0x7b, 0xa2, 0xfe, 0xe1, 0x78, 0x10, 0x9e, 0x5f, 0x9b, 0xf5, 0x38, 0x89, 0xc6, 0x93, 0x20, 0x8a, 0xc3, 0x60, 0xba, 0x57, 0x9b, 0x26, 0xc1, 0x68, 0x10, 0x8e, 0x2e, 0x68, 0x39, 0xaa, 0x7, 0xa7, 0xc9, 0x65, 0x38, 0xc, 0xe3, 0x24, 0xf8, 0xda, 0xf, 0x82, 0xc1, 0x2e, 0x5f, 0x51, 0x55, 0x1e, 0x8d, 0xb4, 0x6c, 0xd6, 0xa1, 0x45, 0xe1, 0x22, 0x3b, 0xbc, 0x1c, 0xc7, 0x84, 0xee, 0x5b, 0x9c, 0x9c, 0x4, 0x12, 0x99, 0xe9, 0x30, 0xa, 0xc3, 0x60, 0x3a, 0xf5, 0x2f, 0x76, 0xd8, 0x7, 0xc6, 0x3c, 0x61, 0xa1, 0x7b, 0x9e, 0x3a, 0x46, 0xc1, 0xd7, 0xd9, 0x34, 0x91, 0x4b, 0xc1, 0xdf, 0xdb, 0x9c, 0xa8, 0x81, 0x72, 0xca, 0xda, 0x7f, 0xe4, 0x3b, 0x3e, 0x5c, 0x2f, 0xd1, 0xce, 0xf3, 0xc0, 0x8f, 0x67, 0x51, 0x90, 0xc, 0xc2, 0xa9, 0x7f, 0x76, 0xb9, 0x4b, 0x83, 0x2e, 0xa2, 0x49, 0x5f, 0x4d, 0x51, 0x12, 0x8f, 0xc7, 0xc9, 0xa5, 0x1f, 0xed, 0x32, 0x59, 0x13, 0xff, 0xfa, 0x72, 0xec, 0xf, 0xa6, 0x9d, 0xef, 0xee, 0x22, 0x10, 0xf8, 0xff, 0x12, 0xa1, 0xa0, 0x7a, 0x94, 0xd6, 0xae, 0x7e, 0x74, 0x5f, 0x78, 0x51, 0x3b, 0x83, 0x57, 0x53, 0x7a, 0x58, 0x32, 0xd9, 0x4b, 0xb8, 0x1d, 0x99, 0x73, 0x7e, 0x83, 0x24, 0xa1, 0xa1, 0x54, 0xa8, 0x49, 0x68, 0x54, 0x83, 0xba, 0x88, 0xa7, 0x2a, 0xa3, 0xf8, 0xa0, 0x92, 0xe7, 0x49, 0x28, 0x99, 0x7a, 0x67, 0x49, 0xa4, 0xb7, 0xd9, 0x18, 0x52, 0xe1, 0x1d, 0x51, 0x12, 0xfe, 0xa9, 0x2c, 0x85, 0xcf, 0xd9, 0x91, 0xa9, 0xe5, 0x26, 0x15, 0x6c, 0x2f, 0x85, 0xc6, 0xb8, 0x21, 0x4a, 0x2, 0x62, 0x8b, 0x6e, 0x6, 0x7d, 0xcf, 0x3b, 0x7, 0x95, 0x46, 0x20, 0x56, 0x6d, 0x29, 0x4a, 0xe7, 0xec, 0x61, 0x5f, 0x69, 0x48, 0x37, 0x4d, 0x5f, 0x89, 0x9c, 0x42, 0x36, 0x75, 0xd5, 0x21, 0x0, 0x49, 0xeb, 0xf0, 0xe, 0x2e, 0x77, 0x3f, 0xc4, 0x5f, 0xa0, 0x72, 0xce, 0x19, 0x81, 0xed, 0x15, 0xed, 0x1, 0xf9, 0xd2, 0x1f, 0x52, 0x8, 0x1c, 0xdc, 0x11, 0x24, 0x8, 0x1c, 0x8b, 0xeb, 0x3a, 0xab, 0xf8, 0xe9, 0x3c, 0xab, 0x5, 0xe6, 0x37, 0x1, 0x3b, 0x59, 0xd5, 0x22, 0x6f, 0x5b, 0xa8, 0x8, 0x8b, 0x60, 0x98, 0xa7, 0x4d, 0xa9, 0x94, 0x3a, 0xa2, 0x53, 0xb2, 0x79, 0xe5, 0xd4, 0x67, 0xcd, 0xef, 0x4b, 0x2, 0xdb, 0xec, 0x70, 0x6e, 0x6c, 0x31, 0xc8, 0xa8, 0x8c, 0x70, 0x6f, 0x9e, 0xb1, 0x34, 0x67, 0xb, 0xaf, 0xbe, 0x47, 0x57, 0xba, 0x9, 0xc8, 0x9d, 0x7e, 0xf0, 0xfc, 0x49, 0x88, 0x81, 0x98, 0x75, 0xf1, 0x5d, 0x96, 0xf0, 0x2f, 0x78, 0xba, 0xbe, 0x3f, 0xb5, 0x29, 0xa, 0x4e, 0x1f, 0xbe, 0xff, 0xbb, 0xd9, 0xff, 0x67, 0xef, 0x31, 0x5e, 0x9, 0xea, 0xae, 0xc7, 0x8d, 0x2b, 0xe4, 0x2f, 0x5c, 0xdc, 0xab, 0xc4, 0xc5, 0xfd, 0xe8, 0xe5, 0x63, 0x3b, 0xab, 0xa6, 0xd, 0x47, 0xd3, 0x1, 0x2, 0xe5, 0x1d, 0x5c, 0x2, 0x3b, 0xaf, 0x22, 0xd, 0xdf, 0xde, 0xfa, 0xdd, 0x6a, 0x20, 0xb9, 0xdd, 0x35, 0x1, 0xd6, 0x84, 0xe5, 0xf0, 0xb3, 0x9c, 0x32, 0x35, 0x97, 0x73, 0x35, 0x8e, 0xa9, 0x97, 0xcb, 0x8f, 0x6e, 0x86, 0xec, 0x6e, 0x40, 0x6, 0x5, 0xf, 0x37, 0x7d, 0x5d, 0x71, 0xd1, 0xcf, 0xa, 0xc1, 0x7e, 0x52, 0x52, 0xbe, 0x9b, 0xc2, 0x5c, 0x3c, 0x78, 0xc8, 0x4c, 0x69, 0xf6, 0xc6, 0x6d, 0x2a, 0x28, 0x3e, 0x26, 0xb7, 0x87, 0xe5, 0x36, 0x2b, 0xf2, 0x39, 0x23, 0xe, 0x3e, 0xa0, 0x3a, 0xa9, 0x54, 0x9a, 0x13, 0x47, 0x37, 0xa7, 0xf0, 0x8a, 0xba, 0x7a, 0x6e, 0xd8, 0xe2, 0x70, 0x75, 0xf4, 0xaa, 0xe8, 0x96, 0x46, 0xe7, 0x94, 0x74, 0xd0, 0xf4, 0x58, 0x53, 0xf8, 0xa8, 0x6d, 0x8a, 0xdb, 0xf1, 0xab, 0x66, 0x6a, 0xb5, 0x66, 0x25, 0xaf, 0xbc, 0xf7, 0x27, 0x20, 0x5, 0xb5, 0x4e, 0xf3, 0x47, 0x93, 0xa3, 0x80, 0xec, 0x7e, 0x98, 0xa0, 0xc7, 0x50, 0x89, 0x51, 0x1, 0x31, 0x3a, 0xc1, 0xc6, 0xea, 0x60, 0x66, 0x42, 0x63, 0x8d, 0x4d, 0x63, 0xb9, 0x43, 0xff, 0x2c, 0x2e, 0xde, 0x1f, 0x0, 0x2a, 0xbf, 0xe7, 0xf3, 0x3b, 0xb4, 0x58, 0xed, 0x21, 0xde, 0x5b, 0x30, 0xb9, 0x85, 0xb8, 0xb1, 0xcf, 0x74, 0xc6, 0xf0, 0x6a, 0xd6, 0xce, 0x8, 0xbc, 0xfa, 0x1d, 0xb3, 0x47, 0xfa, 0x73, 0x3d, 0x6f, 0xa8, 0xa8, 0xd9, 0xe8, 0x4, 0xe8, 0x3d, 0x48, 0x5b, 0xe1, 0xc4, 0xb, 0x58, 0x45, 0x6c, 0x5f, 0xf0, 0x52, 0xc2, 0x75, 0x94, 0xe0, 0xa9, 0xf2, 0xd, 0x29, 0xde, 0x6c, 0x16, 0xe, 0xec, 0xf8, 0x8, 0x5b, 0xd6, 0xe, 0xa7, 0x0, 0xcf, 0xf1, 0xe3, 0x92, 0x6e, 0x2e, 0x15, 0xf8, 0xa, 0x3c, 0x51, 0xcf, 0xe7, 0x4c, 0x9e, 0x94, 0xea, 0xca, 0x50, 0xfb, 0x2d, 0xa, 0x26, 0xf2, 0xa3, 0xca, 0x5b, 0x31, 0xc2, 0x6c, 0x29, 0xb2, 0x46, 0x7, 0x68, 0x2a, 0xa, 0xf3, 0xe, 0x9a, 0x45, 0x10, 0xb, 0x87, 0x88, 0x8c, 0x3a, 0x2a, 0x35, 0x86, 0x42, 0xfe, 0x5e, 0x97, 0x39, 0xd6, 0x2a, 0x84, 0x4e, 0x65, 0x33, 0x63, 0x81, 0xc9, 0x79, 0x6d, 0xee, 0x40, 0xf3, 0xc1, 0x3c, 0xb1, 0x28, 0x8, 0x79, 0x96, 0x19, 0xfe, 0x4e, 0x24, 0xd7, 0x21, 0xad, 0x44, 0x32, 0xee, 0x9a, 0x8d, 0xb0, 0xe7, 0x5d, 0xf1, 0xea, 0xb6, 0x9, 0x16, 0x38, 0x51, 0x8d, 0x74, 0x67, 0xa8, 0xa3, 0xc5, 0x3e, 0xc6, 0x76, 0xd5, 0xd8, 0xb1, 0xb2, 0x2c, 0x28, 0x5f, 0xd7, 0xb4, 0x6, 0x9e, 0x5f, 0x94, 0xc5, 0xbd, 0x9, 0x62, 0x99, 0x3d, 0x5a, 0xaf, 0x56, 0x4c, 0x54, 0xd, 0xe2, 0xac, 0xf6, 0x82, 0xbd, 0x29, 0xa, 0xf9, 0xb9, 0xdd, 0xb8, 0x51, 0xcb, 0x9a, 0x8, 0xb5, 0xec, 0x8f, 0x15, 0x7d, 0xd9, 0x5d, 0x3d, 0x2, 0x51, 0x14, 0x39, 0xc5, 0x9d, 0xa9, 0xf2, 0x44, 0x3d, 0x92, 0xa4, 0x22, 0xc9, 0xd9, 0x43, 0x82, 0x2, 0xe5, 0x14, 0x85, 0x7e, 0xb8, 0x7d, 0xdc, 0xde, 0xdc, 0x8, 0x9f, 0xde, 0xb, 0x3b, 0xd0, 0xe, 0xad, 0x40, 0x22, 0xea, 0xec, 0xe2, 0x2, 0x6e, 0xed, 0x8e, 0x4f, 0x38, 0xa, 0xfc, 0xe9, 0x78, 0xb3, 0xfc, 0xee, 0x33, 0x5e, 0xfd, 0x14, 0x4e, 0xe3, 0x71, 0x74, 0xd, 0xde, 0xc2, 0xd, 0x57, 0xf0, 0x67, 0x94, 0x22, 0x5f, 0x1c, 0xfa, 0xa3, 0x6b, 0x5d, 0x1c, 0xc8, 0xfc, 0x4e, 0xf7, 0x2e, 0x6, 0x7d, 0x2f, 0xcd, 0xf7, 0x37, 0x58, 0xaa, 0xd, 0x37, 0xfa, 0xa7, 0x41, 0x83, 0x38, 0xa7, 0xc7, 0xe2, 0x1d, 0x9, 0x86, 0x76, 0x4f, 0x3d, 0xa6, 0xc8, 0xd6, 0xec, 0x4, 0x23, 0x9c, 0x1e, 0x77, 0x77, 0xdc, 0x2c, 0xa7, 0xf0, 0xe7, 0x96, 0x2, 0x96, 0x69, 0x66, 0xf3, 0xb7, 0x22, 0x1, 0xed, 0x6, 0xdc, 0x63, 0x1f, 0x63, 0xa7, 0x3b, 0x2f, 0x79, 0xb7, 0x87, 0xb4, 0x3, 0xae, 0xc, 0x5d, 0x6d, 0x8c, 0xbc, 0xb7, 0x9b, 0xc1, 0x92, 0x6d, 0x75, 0x2, 0x79, 0x87, 0x21, 0x3e, 0x4f, 0x4b, 0xcd, 0xa6, 0x39, 0x0, 0xee, 0xed, 0x17, 0x9f, 0x77, 0x46, 0xa9, 0x9b, 0xe5, 0x91, 0xac, 0xca, 0x94, 0xff, 0xc1, 0xce, 0x1e, 0x2b, 0xd6, 0xb1, 0x63, 0x76, 0xfb, 0x30, 0x15, 0x55, 0x9a, 0x19, 0x7b, 0xca, 0xff, 0x0, 0x42, 0xb9, 0x1b, 0x59, 0xf2, 0x89, 0xce, 0x77, 0xb7, 0x49, 0xcd, 0x80, 0x7a, 0xae, 0x16, 0x64, 0x11, 0xe7, 0x7c, 0xc1, 0x28, 0x3f, 0xba, 0x68, 0xb6, 0xde, 0xb5, 0x18, 0x25, 0x5b, 0xa5, 0xe5, 0x22, 0x93, 0x86, 0x99, 0x3e, 0xc1, 0x34, 0xf9, 0x0, 0x18, 0x37, 0xba, 0x3c, 0xaa, 0x29, 0x78, 0x1e, 0x0, 0x6a, 0xda, 0x56, 0x0, 0xfe, 0x3f, 0x0, 0x7d, 0xd3, 0x57, 0x76, 0x75, 0xbc, 0x50, 0xc2, 0xbd, 0x20, 0xdc, 0xf6, 0xc0, 0xbc, 0x45, 0x21, 0xbf, 0x33, 0x3c, 0x9f, 0x67, 0xf5, 0x2, 0xe, 0x96, 0xd6, 0xdd, 0xb3, 0x49, 0xc2, 0xfc, 0xca, 0x6f, 0x98, 0x40, 0x3d, 0x0, 0x7, 0x5, 0x75, 0x3a, 0x92, 0xd7, 0x7, 0x23, 0xfa, 0xf4, 0x13, 0x2f, 0x69, 0xf2, 0x3f, 0xb8, 0xcd, 0x86, 0x8b, 0x88, 0xf8, 0xbc, 0xfb, 0x48, 0x27, 0x7c, 0xe0, 0xc2, 0x54, 0x2e, 0x16, 0x43, 0x60, 0xa4, 0xfd, 0x63, 0x5, 0x1d, 0x54, 0x1, 0xfd, 0x7, 0xe4, 0xb, 0xd8, 0x4, 0x2f, 0x1c, 0x68, 0x52, 0x71, 0x41, 0x99, 0xcd, 0x1a, 0xb6, 0xe8, 0xdc, 0xb1, 0x65, 0xb7, 0x4b, 0x6, 0xaf, 0xd1, 0xfd, 0xc3, 0xb0, 0xdc, 0xba, 0xe6, 0xea, 0x67, 0x5d, 0x7a, 0xe5, 0xb5, 0x6e, 0x31, 0xae, 0xab, 0x3f, 0xd5, 0x1, 0xfe, 0x15, 0x61, 0x34, 0x2a, 0xbc, 0x36, 0xbb, 0x3c, 0x69, 0x5d, 0x48, 0x8d, 0x38, 0x1c, 0x6, 0xe3, 0x59, 0x9c, 0xc4, 0xd7, 0x93, 0x6d, 0xd8, 0x8c, 0xc6, 0x63, 0x14, 0x48, 0x1e, 0x63, 0x74, 0x72, 0xeb, 0x93, 0x2a, 0x4, 0x12, 0x8f, 0xf1, 0xad, 0xe7, 0x3e, 0xfc, 0x64, 0xc9, 0x9f, 0x2, 0x3f, 0x8a, 0xcf, 0x2, 0x3f, 0xde, 0xc3, 0xc9, 0x6f, 0xf3, 0x7f, 0xec, 0x4a, 0xdb, 0xf8, 0x34, 0x8e, 0x6f, 0xd3, 0xde, 0x8f, 0x18, 0xb9, 0xca, 0xd0, 0x3f, 0x6e, 0x91, 0xce, 0x29, 0x34, 0xa7, 0x85, 0xae, 0x44, 0xc0, 0x24, 0x7e, 0x8a, 0x96, 0x3c, 0x67, 0x8e, 0xef, 0x5a, 0x13, 0xd3, 0x39, 0x84, 0xf5, 0x2a, 0x89, 0xc4, 0xd0, 0xd5, 0x99, 0xb, 0xf, 0x0, 0xc1, 0xc0, 0x1, 0x51, 0xb2, 0x25, 0x2b, 0x4b, 0x85, 0xf5, 0x76, 0x89, 0xec, 0xdf, 0xca, 0x42, 0xde, 0xbe, 0xa9, 0x8, 0xf0, 0x7a, 0x8a, 0x7d, 0xf6, 0xc6, 0x94, 0x46, 0x3f, 0xc5, 0x73, 0xfe, 0x9b, 0xcd, 0x5d, 0x75, 0x9e, 0x4, 0x3b, 0x81, 0xbd, 0x40, 0x91, 0xe8, 0x98, 0xf0, 0x87, 0x8, 0x55, 0x96, 0x97, 0x1, 0xa4, 0xa0, 0x42, 0xa4, 0x99, 0x40, 0x8b, 0x8, 0xb9, 0x95, 0xa, 0xea, 0xaf, 0xdf, 0x40, 0x9b, 0xa9, 0xfa, 0x2b, 0xed, 0x25, 0x2b, 0xe5, 0xf4, 0x7a, 0xe9, 0x62, 0xcd, 0x73, 0x2e, 0xaa, 0x12, 0x51, 0x98, 0xaa, 0xf7, 0x2, 0x41, 0x6f, 0x25, 0x5b, 0x71, 0x81, 0x29, 0x94, 0x80, 0xa7, 0x4f, 0xcb, 0xf9, 0xad, 0xa1, 0xa6, 0x0, 0x51, 0x91, 0xe, 0xd2, 0x21, 0x7f, 0x12, 0x1a, 0xba, 0x9c, 0x25, 0xcf, 0x98, 0x71, 0x62, 0xe5, 0x45, 0xa5, 0xdd, 0x89, 0x19, 0x72, 0x17, 0x99, 0x46, 0xf6, 0xb3, 0xa2, 0x96, 0xb7, 0x24, 0xc0, 0xa2, 0xf3, 0xea, 0x48, 0x50, 0x42, 0x26, 0xcf, 0xb1, 0xc7, 0xc6, 0xbc, 0x66, 0x7c, 0x4d, 0x42, 0x69, 0x6f, 0x8c, 0x4d, 0xe0, 0xab, 0x1c, 0x6e, 0xd0, 0x50, 0x3d, 0xde, 0xdf, 0x32, 0x96, 0x96, 0x28, 0x6b, 0x54, 0x19, 0x58, 0xbe, 0x8d, 0x41, 0xbd, 0x61, 0xd, 0x48, 0xf0, 0x3a, 0xe5, 0xb9, 0xe7, 0xdf, 0x6b, 0xa7, 0xbd, 0x77, 0x7c, 0xa5, 0x1, 0xd9, 0x7f, 0x53, 0xb4, 0x3, 0x9c, 0x89, 0x77, 0xde, 0xb2, 0x4c, 0xd7, 0x4c, 0x4e, 0x7e, 0xcf, 0x9a, 0x6a, 0xf5, 0xf0, 0xd3, 0x53, 0xed, 0x3c, 0xf9, 0x43, 0xa7, 0xda, 0x12, 0xf7, 0x6f, 0xbe, 0x66, 0xc0, 0xe6, 0x90, 0xda, 0xa0, 0x7b, 0x67, 0x50, 0xa1, 0x33, 0x41, 0x42, 0xe3, 0xc0, 0x38, 0xac, 0x84, 0x39, 0xe0, 0x26, 0xff, 0xd, 0xee, 0xa6, 0x2d, 0x16, 0xcb, 0x6f, 0x76, 0x8d, 0x4d, 0xf6, 0x2a, 0x8b, 0xe9, 0x58, 0x95, 0x1f, 0x17, 0xde, 0xa2, 0x94, 0xeb, 0xce, 0x12, 0xba, 0xd3, 0x71, 0x81, 0x9a, 0x90, 0xd3, 0xf6, 0x58, 0x60, 0x6a, 0x80, 0x96, 0xbf, 0x98, 0xdf, 0xca, 0x25, 0x5a, 0x67, 0x30, 0xcb, 0xf7, 0x45, 0x96, 0x61, 0x8a, 0x87, 0x9b, 0x50, 0x62, 0x75, 0x4f, 0x31, 0xe8, 0x6b, 0x37, 0xb, 0x5d, 0xbf, 0x31, 0xac, 0x5, 0xec, 0x4b, 0x8e, 0xbc, 0xb, 0x3c, 0xb4, 0xb8, 0xc3, 0x9a, 0x8d, 0xdb, 0x52, 0x1b, 0x8f, 0x63, 0xae, 0x94, 0x6, 0xd0, 0x37, 0xab, 0xdc, 0x73, 0xef, 0xe8, 0xa3, 0x63, 0xab, 0x19, 0xd0, 0x37, 0x7, 0x4, 0x53, 0x8, 0xa, 0xab, 0xd2, 0x1b, 0x2c, 0xa, 0x6d, 0xc5, 0xaa, 0x6d, 0xc6, 0x49, 0xb7, 0xad, 0xd1, 0x8b, 0x13, 0xfb, 0x44, 0x48, 0xac, 0xd0, 0x6a, 0x8e, 0x70, 0xb0, 0x99, 0x26, 0xfb, 0x3a, 0x12, 0x98, 0x68, 0x82, 0x83, 0xc6, 0x65, 0x13, 0xd, 0x17, 0xa6, 0x1e, 0x27, 0x2a, 0xfd, 0xc4, 0xb3, 0x72, 0x44, 0xa0, 0x99, 0xb6, 0x7e, 0x67, 0xa9, 0x42, 0x94, 0xbd, 0x37, 0xed, 0xc5, 0xed, 0x97, 0x37, 0xbc, 0x2a, 0xd3, 0xf2, 0xd1, 0xbb, 0x27, 0x6a, 0x61, 0x48, 0xa7, 0xe6, 0x39, 0x66, 0x75, 0xce, 0x8b, 0x5c, 0xda, 0x1a, 0x40, 0xab, 0xe3, 0xe7, 0x45, 0xee, 0x1f, 0xb0, 0xb4, 0x14, 0xb4, 0x30, 0x84, 0x1d, 0xf9, 0x7d, 0x5d, 0x19, 0xba, 0x1d, 0xbd, 0x32, 0x48, 0xdc, 0x50, 0xd4, 0x59, 0x25, 0xff, 0xb4, 0x66, 0xeb, 0xe2, 0xc4, 0x63, 0xd5, 0xbc, 0xf7, 0xe6, 0x7f, 0x1, 0x0, 0x0, 0xff, 0xff, 0x6a, 0xee, 0xa5, 0x7b, 0x24, 0x2e, 0xc, 0x0} diff --git a/api_next/temporalproto/openapi/payload_description.txt b/api_next/temporalproto/openapi/payload_description.txt new file mode 100644 index 00000000..f50e153a --- /dev/null +++ b/api_next/temporalproto/openapi/payload_description.txt @@ -0,0 +1,2 @@ +Arbitrary payload data in an unconstrained format. +This may be activity input parameters, a workflow result, a memo, etc. diff --git a/api_next/update/v1/message.go-helpers.pb.go b/api_next/update/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..af897699 --- /dev/null +++ b/api_next/update/v1/message.go-helpers.pb.go @@ -0,0 +1,339 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package update + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WaitPolicy to the protobuf v3 wire format +func (val *WaitPolicy) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WaitPolicy from the protobuf v3 wire format +func (val *WaitPolicy) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WaitPolicy) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WaitPolicy values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WaitPolicy) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WaitPolicy + switch t := that.(type) { + case *WaitPolicy: + that1 = t + case WaitPolicy: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateRef to the protobuf v3 wire format +func (val *UpdateRef) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateRef from the protobuf v3 wire format +func (val *UpdateRef) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateRef) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateRef values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateRef) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateRef + switch t := that.(type) { + case *UpdateRef: + that1 = t + case UpdateRef: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Outcome to the protobuf v3 wire format +func (val *Outcome) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Outcome from the protobuf v3 wire format +func (val *Outcome) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Outcome) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Outcome values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Outcome) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Outcome + switch t := that.(type) { + case *Outcome: + that1 = t + case Outcome: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Meta to the protobuf v3 wire format +func (val *Meta) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Meta from the protobuf v3 wire format +func (val *Meta) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Meta) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Meta values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Meta) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Meta + switch t := that.(type) { + case *Meta: + that1 = t + case Meta: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Input to the protobuf v3 wire format +func (val *Input) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Input from the protobuf v3 wire format +func (val *Input) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Input) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Input values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Input) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Input + switch t := that.(type) { + case *Input: + that1 = t + case Input: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Request to the protobuf v3 wire format +func (val *Request) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Request from the protobuf v3 wire format +func (val *Request) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Request) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Request values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Request) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Request + switch t := that.(type) { + case *Request: + that1 = t + case Request: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Rejection to the protobuf v3 wire format +func (val *Rejection) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Rejection from the protobuf v3 wire format +func (val *Rejection) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Rejection) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Rejection values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Rejection) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Rejection + switch t := that.(type) { + case *Rejection: + that1 = t + case Rejection: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Acceptance to the protobuf v3 wire format +func (val *Acceptance) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Acceptance from the protobuf v3 wire format +func (val *Acceptance) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Acceptance) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Acceptance values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Acceptance) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Acceptance + switch t := that.(type) { + case *Acceptance: + that1 = t + case Acceptance: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Response to the protobuf v3 wire format +func (val *Response) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Response from the protobuf v3 wire format +func (val *Response) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Response) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Response values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Response) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Response + switch t := that.(type) { + case *Response: + that1 = t + case Response: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/update/v1/message.pb.go b/api_next/update/v1/message.pb.go new file mode 100644 index 00000000..2f66a5fa --- /dev/null +++ b/api_next/update/v1/message.pb.go @@ -0,0 +1,686 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/update/v1/message.proto + +package update + +import ( + v11 "go.temporal.io/api/common/v1" + v1 "go.temporal.io/api/enums/v1" + v12 "go.temporal.io/api/failure/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// Specifies client's intent to wait for Update results. +type WaitPolicy struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Indicates the Update lifecycle stage that the Update must reach before + // API call is returned. + // NOTE: This field works together with API call timeout which is limited by + // server timeout (maximum wait time). If server timeout is expired before + // user specified timeout, API call returns even if specified stage is not reached. + LifecycleStage v1.UpdateWorkflowExecutionLifecycleStage `protobuf:"varint,1,opt,name=lifecycle_stage,json=lifecycleStage,proto3,enum=temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage" json:"lifecycle_stage,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WaitPolicy) Reset() { + *x = WaitPolicy{} + mi := &file_temporal_api_update_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WaitPolicy) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WaitPolicy) ProtoMessage() {} + +func (x *WaitPolicy) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_update_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WaitPolicy.ProtoReflect.Descriptor instead. +func (*WaitPolicy) Descriptor() ([]byte, []int) { + return file_temporal_api_update_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *WaitPolicy) GetLifecycleStage() v1.UpdateWorkflowExecutionLifecycleStage { + if x != nil { + return x.LifecycleStage + } + return v1.UpdateWorkflowExecutionLifecycleStage(0) +} + +// The data needed by a client to refer to a previously invoked Workflow Update. +type UpdateRef struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowExecution *v11.WorkflowExecution `protobuf:"bytes,1,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + UpdateId string `protobuf:"bytes,2,opt,name=update_id,json=updateId,proto3" json:"update_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateRef) Reset() { + *x = UpdateRef{} + mi := &file_temporal_api_update_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateRef) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateRef) ProtoMessage() {} + +func (x *UpdateRef) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_update_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateRef.ProtoReflect.Descriptor instead. +func (*UpdateRef) Descriptor() ([]byte, []int) { + return file_temporal_api_update_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *UpdateRef) GetWorkflowExecution() *v11.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *UpdateRef) GetUpdateId() string { + if x != nil { + return x.UpdateId + } + return "" +} + +// The outcome of a Workflow Update: success or failure. +type Outcome struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Value: + // + // *Outcome_Success + // *Outcome_Failure + Value isOutcome_Value `protobuf_oneof:"value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Outcome) Reset() { + *x = Outcome{} + mi := &file_temporal_api_update_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Outcome) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Outcome) ProtoMessage() {} + +func (x *Outcome) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_update_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Outcome.ProtoReflect.Descriptor instead. +func (*Outcome) Descriptor() ([]byte, []int) { + return file_temporal_api_update_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *Outcome) GetValue() isOutcome_Value { + if x != nil { + return x.Value + } + return nil +} + +func (x *Outcome) GetSuccess() *v11.Payloads { + if x != nil { + if x, ok := x.Value.(*Outcome_Success); ok { + return x.Success + } + } + return nil +} + +func (x *Outcome) GetFailure() *v12.Failure { + if x != nil { + if x, ok := x.Value.(*Outcome_Failure); ok { + return x.Failure + } + } + return nil +} + +type isOutcome_Value interface { + isOutcome_Value() +} + +type Outcome_Success struct { + Success *v11.Payloads `protobuf:"bytes,1,opt,name=success,proto3,oneof"` +} + +type Outcome_Failure struct { + Failure *v12.Failure `protobuf:"bytes,2,opt,name=failure,proto3,oneof"` +} + +func (*Outcome_Success) isOutcome_Value() {} + +func (*Outcome_Failure) isOutcome_Value() {} + +// Metadata about a Workflow Update. +type Meta struct { + state protoimpl.MessageState `protogen:"open.v1"` + // An ID with workflow-scoped uniqueness for this Update. + UpdateId string `protobuf:"bytes,1,opt,name=update_id,json=updateId,proto3" json:"update_id,omitempty"` + // A string identifying the agent that requested this Update. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Meta) Reset() { + *x = Meta{} + mi := &file_temporal_api_update_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Meta) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Meta) ProtoMessage() {} + +func (x *Meta) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_update_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Meta.ProtoReflect.Descriptor instead. +func (*Meta) Descriptor() ([]byte, []int) { + return file_temporal_api_update_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *Meta) GetUpdateId() string { + if x != nil { + return x.UpdateId + } + return "" +} + +func (x *Meta) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type Input struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Headers that are passed with the Update from the requesting entity. + // These can include things like auth or tracing tokens. + Header *v11.Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"` + // The name of the Update handler to invoke on the target Workflow. + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + // The arguments to pass to the named Update handler. + Args *v11.Payloads `protobuf:"bytes,3,opt,name=args,proto3" json:"args,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Input) Reset() { + *x = Input{} + mi := &file_temporal_api_update_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Input) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Input) ProtoMessage() {} + +func (x *Input) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_update_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Input.ProtoReflect.Descriptor instead. +func (*Input) Descriptor() ([]byte, []int) { + return file_temporal_api_update_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *Input) GetHeader() *v11.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *Input) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Input) GetArgs() *v11.Payloads { + if x != nil { + return x.Args + } + return nil +} + +// The client request that triggers a Workflow Update. +type Request struct { + state protoimpl.MessageState `protogen:"open.v1"` + Meta *Meta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` + Input *Input `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Request) Reset() { + *x = Request{} + mi := &file_temporal_api_update_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Request) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Request) ProtoMessage() {} + +func (x *Request) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_update_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Request.ProtoReflect.Descriptor instead. +func (*Request) Descriptor() ([]byte, []int) { + return file_temporal_api_update_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *Request) GetMeta() *Meta { + if x != nil { + return x.Meta + } + return nil +} + +func (x *Request) GetInput() *Input { + if x != nil { + return x.Input + } + return nil +} + +// An Update protocol message indicating that a Workflow Update has been rejected. +type Rejection struct { + state protoimpl.MessageState `protogen:"open.v1"` + RejectedRequestMessageId string `protobuf:"bytes,1,opt,name=rejected_request_message_id,json=rejectedRequestMessageId,proto3" json:"rejected_request_message_id,omitempty"` + RejectedRequestSequencingEventId int64 `protobuf:"varint,2,opt,name=rejected_request_sequencing_event_id,json=rejectedRequestSequencingEventId,proto3" json:"rejected_request_sequencing_event_id,omitempty"` + RejectedRequest *Request `protobuf:"bytes,3,opt,name=rejected_request,json=rejectedRequest,proto3" json:"rejected_request,omitempty"` + Failure *v12.Failure `protobuf:"bytes,4,opt,name=failure,proto3" json:"failure,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Rejection) Reset() { + *x = Rejection{} + mi := &file_temporal_api_update_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Rejection) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Rejection) ProtoMessage() {} + +func (x *Rejection) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_update_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Rejection.ProtoReflect.Descriptor instead. +func (*Rejection) Descriptor() ([]byte, []int) { + return file_temporal_api_update_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *Rejection) GetRejectedRequestMessageId() string { + if x != nil { + return x.RejectedRequestMessageId + } + return "" +} + +func (x *Rejection) GetRejectedRequestSequencingEventId() int64 { + if x != nil { + return x.RejectedRequestSequencingEventId + } + return 0 +} + +func (x *Rejection) GetRejectedRequest() *Request { + if x != nil { + return x.RejectedRequest + } + return nil +} + +func (x *Rejection) GetFailure() *v12.Failure { + if x != nil { + return x.Failure + } + return nil +} + +// An Update protocol message indicating that a Workflow Update has +// been accepted (i.e. passed the worker-side validation phase). +type Acceptance struct { + state protoimpl.MessageState `protogen:"open.v1"` + AcceptedRequestMessageId string `protobuf:"bytes,1,opt,name=accepted_request_message_id,json=acceptedRequestMessageId,proto3" json:"accepted_request_message_id,omitempty"` + AcceptedRequestSequencingEventId int64 `protobuf:"varint,2,opt,name=accepted_request_sequencing_event_id,json=acceptedRequestSequencingEventId,proto3" json:"accepted_request_sequencing_event_id,omitempty"` + AcceptedRequest *Request `protobuf:"bytes,3,opt,name=accepted_request,json=acceptedRequest,proto3" json:"accepted_request,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Acceptance) Reset() { + *x = Acceptance{} + mi := &file_temporal_api_update_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Acceptance) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Acceptance) ProtoMessage() {} + +func (x *Acceptance) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_update_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Acceptance.ProtoReflect.Descriptor instead. +func (*Acceptance) Descriptor() ([]byte, []int) { + return file_temporal_api_update_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *Acceptance) GetAcceptedRequestMessageId() string { + if x != nil { + return x.AcceptedRequestMessageId + } + return "" +} + +func (x *Acceptance) GetAcceptedRequestSequencingEventId() int64 { + if x != nil { + return x.AcceptedRequestSequencingEventId + } + return 0 +} + +func (x *Acceptance) GetAcceptedRequest() *Request { + if x != nil { + return x.AcceptedRequest + } + return nil +} + +// An Update protocol message indicating that a Workflow Update has +// completed with the contained outcome. +type Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + Meta *Meta `protobuf:"bytes,1,opt,name=meta,proto3" json:"meta,omitempty"` + Outcome *Outcome `protobuf:"bytes,2,opt,name=outcome,proto3" json:"outcome,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Response) Reset() { + *x = Response{} + mi := &file_temporal_api_update_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Response) ProtoMessage() {} + +func (x *Response) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_update_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Response.ProtoReflect.Descriptor instead. +func (*Response) Descriptor() ([]byte, []int) { + return file_temporal_api_update_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *Response) GetMeta() *Meta { + if x != nil { + return x.Meta + } + return nil +} + +func (x *Response) GetOutcome() *Outcome { + if x != nil { + return x.Outcome + } + return nil +} + +var File_temporal_api_update_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_update_v1_message_proto_rawDesc = "" + + "\n" + + "$temporal/api/update/v1/message.proto\x12\x16temporal.api.update.v1\x1a$temporal/api/common/v1/message.proto\x1a\"temporal/api/enums/v1/update.proto\x1a%temporal/api/failure/v1/message.proto\"s\n" + + "\n" + + "WaitPolicy\x12e\n" + + "\x0flifecycle_stage\x18\x01 \x01(\x0e2<.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStageR\x0elifecycleStage\"\x82\x01\n" + + "\tUpdateRef\x12X\n" + + "\x12workflow_execution\x18\x01 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12\x1b\n" + + "\tupdate_id\x18\x02 \x01(\tR\bupdateId\"\x8e\x01\n" + + "\aOutcome\x12<\n" + + "\asuccess\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsH\x00R\asuccess\x12<\n" + + "\afailure\x18\x02 \x01(\v2 .temporal.api.failure.v1.FailureH\x00R\afailureB\a\n" + + "\x05value\"?\n" + + "\x04Meta\x12\x1b\n" + + "\tupdate_id\x18\x01 \x01(\tR\bupdateId\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\"\x89\x01\n" + + "\x05Input\x126\n" + + "\x06header\x18\x01 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12\x12\n" + + "\x04name\x18\x02 \x01(\tR\x04name\x124\n" + + "\x04args\x18\x03 \x01(\v2 .temporal.api.common.v1.PayloadsR\x04args\"p\n" + + "\aRequest\x120\n" + + "\x04meta\x18\x01 \x01(\v2\x1c.temporal.api.update.v1.MetaR\x04meta\x123\n" + + "\x05input\x18\x02 \x01(\v2\x1d.temporal.api.update.v1.InputR\x05input\"\xa2\x02\n" + + "\tRejection\x12=\n" + + "\x1brejected_request_message_id\x18\x01 \x01(\tR\x18rejectedRequestMessageId\x12N\n" + + "$rejected_request_sequencing_event_id\x18\x02 \x01(\x03R rejectedRequestSequencingEventId\x12J\n" + + "\x10rejected_request\x18\x03 \x01(\v2\x1f.temporal.api.update.v1.RequestR\x0frejectedRequest\x12:\n" + + "\afailure\x18\x04 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\"\xe7\x01\n" + + "\n" + + "Acceptance\x12=\n" + + "\x1baccepted_request_message_id\x18\x01 \x01(\tR\x18acceptedRequestMessageId\x12N\n" + + "$accepted_request_sequencing_event_id\x18\x02 \x01(\x03R acceptedRequestSequencingEventId\x12J\n" + + "\x10accepted_request\x18\x03 \x01(\v2\x1f.temporal.api.update.v1.RequestR\x0facceptedRequest\"w\n" + + "\bResponse\x120\n" + + "\x04meta\x18\x01 \x01(\v2\x1c.temporal.api.update.v1.MetaR\x04meta\x129\n" + + "\aoutcome\x18\x02 \x01(\v2\x1f.temporal.api.update.v1.OutcomeR\aoutcomeB\x89\x01\n" + + "\x19io.temporal.api.update.v1B\fMessageProtoP\x01Z#go.temporal.io/api/update/v1;update\xaa\x02\x18Temporalio.Api.Update.V1\xea\x02\x1bTemporalio::Api::Update::V1b\x06proto3" + +var ( + file_temporal_api_update_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_update_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_update_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_update_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_update_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_update_v1_message_proto_rawDesc), len(file_temporal_api_update_v1_message_proto_rawDesc))) + }) + return file_temporal_api_update_v1_message_proto_rawDescData +} + +var file_temporal_api_update_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_temporal_api_update_v1_message_proto_goTypes = []any{ + (*WaitPolicy)(nil), // 0: temporal.api.update.v1.WaitPolicy + (*UpdateRef)(nil), // 1: temporal.api.update.v1.UpdateRef + (*Outcome)(nil), // 2: temporal.api.update.v1.Outcome + (*Meta)(nil), // 3: temporal.api.update.v1.Meta + (*Input)(nil), // 4: temporal.api.update.v1.Input + (*Request)(nil), // 5: temporal.api.update.v1.Request + (*Rejection)(nil), // 6: temporal.api.update.v1.Rejection + (*Acceptance)(nil), // 7: temporal.api.update.v1.Acceptance + (*Response)(nil), // 8: temporal.api.update.v1.Response + (v1.UpdateWorkflowExecutionLifecycleStage)(0), // 9: temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage + (*v11.WorkflowExecution)(nil), // 10: temporal.api.common.v1.WorkflowExecution + (*v11.Payloads)(nil), // 11: temporal.api.common.v1.Payloads + (*v12.Failure)(nil), // 12: temporal.api.failure.v1.Failure + (*v11.Header)(nil), // 13: temporal.api.common.v1.Header +} +var file_temporal_api_update_v1_message_proto_depIdxs = []int32{ + 9, // 0: temporal.api.update.v1.WaitPolicy.lifecycle_stage:type_name -> temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage + 10, // 1: temporal.api.update.v1.UpdateRef.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 11, // 2: temporal.api.update.v1.Outcome.success:type_name -> temporal.api.common.v1.Payloads + 12, // 3: temporal.api.update.v1.Outcome.failure:type_name -> temporal.api.failure.v1.Failure + 13, // 4: temporal.api.update.v1.Input.header:type_name -> temporal.api.common.v1.Header + 11, // 5: temporal.api.update.v1.Input.args:type_name -> temporal.api.common.v1.Payloads + 3, // 6: temporal.api.update.v1.Request.meta:type_name -> temporal.api.update.v1.Meta + 4, // 7: temporal.api.update.v1.Request.input:type_name -> temporal.api.update.v1.Input + 5, // 8: temporal.api.update.v1.Rejection.rejected_request:type_name -> temporal.api.update.v1.Request + 12, // 9: temporal.api.update.v1.Rejection.failure:type_name -> temporal.api.failure.v1.Failure + 5, // 10: temporal.api.update.v1.Acceptance.accepted_request:type_name -> temporal.api.update.v1.Request + 3, // 11: temporal.api.update.v1.Response.meta:type_name -> temporal.api.update.v1.Meta + 2, // 12: temporal.api.update.v1.Response.outcome:type_name -> temporal.api.update.v1.Outcome + 13, // [13:13] is the sub-list for method output_type + 13, // [13:13] is the sub-list for method input_type + 13, // [13:13] is the sub-list for extension type_name + 13, // [13:13] is the sub-list for extension extendee + 0, // [0:13] is the sub-list for field type_name +} + +func init() { file_temporal_api_update_v1_message_proto_init() } +func file_temporal_api_update_v1_message_proto_init() { + if File_temporal_api_update_v1_message_proto != nil { + return + } + file_temporal_api_update_v1_message_proto_msgTypes[2].OneofWrappers = []any{ + (*Outcome_Success)(nil), + (*Outcome_Failure)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_update_v1_message_proto_rawDesc), len(file_temporal_api_update_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_update_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_update_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_update_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_update_v1_message_proto = out.File + file_temporal_api_update_v1_message_proto_goTypes = nil + file_temporal_api_update_v1_message_proto_depIdxs = nil +} diff --git a/api_next/version/v1/message.go-helpers.pb.go b/api_next/version/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..ce858bf2 --- /dev/null +++ b/api_next/version/v1/message.go-helpers.pb.go @@ -0,0 +1,117 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package version + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type ReleaseInfo to the protobuf v3 wire format +func (val *ReleaseInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ReleaseInfo from the protobuf v3 wire format +func (val *ReleaseInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ReleaseInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ReleaseInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ReleaseInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ReleaseInfo + switch t := that.(type) { + case *ReleaseInfo: + that1 = t + case ReleaseInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Alert to the protobuf v3 wire format +func (val *Alert) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Alert from the protobuf v3 wire format +func (val *Alert) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Alert) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Alert values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Alert) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Alert + switch t := that.(type) { + case *Alert: + that1 = t + case Alert: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type VersionInfo to the protobuf v3 wire format +func (val *VersionInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type VersionInfo from the protobuf v3 wire format +func (val *VersionInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *VersionInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two VersionInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *VersionInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *VersionInfo + switch t := that.(type) { + case *VersionInfo: + that1 = t + case VersionInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/version/v1/message.pb.go b/api_next/version/v1/message.pb.go new file mode 100644 index 00000000..8ae5d2e2 --- /dev/null +++ b/api_next/version/v1/message.pb.go @@ -0,0 +1,293 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/version/v1/message.proto + +package version + +import ( + v1 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +// ReleaseInfo contains information about specific version of temporal. +type ReleaseInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + ReleaseTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=release_time,json=releaseTime,proto3" json:"release_time,omitempty"` + Notes string `protobuf:"bytes,3,opt,name=notes,proto3" json:"notes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ReleaseInfo) Reset() { + *x = ReleaseInfo{} + mi := &file_temporal_api_version_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ReleaseInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ReleaseInfo) ProtoMessage() {} + +func (x *ReleaseInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_version_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ReleaseInfo.ProtoReflect.Descriptor instead. +func (*ReleaseInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_version_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *ReleaseInfo) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *ReleaseInfo) GetReleaseTime() *timestamppb.Timestamp { + if x != nil { + return x.ReleaseTime + } + return nil +} + +func (x *ReleaseInfo) GetNotes() string { + if x != nil { + return x.Notes + } + return "" +} + +// Alert contains notification and severity. +type Alert struct { + state protoimpl.MessageState `protogen:"open.v1"` + Message string `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"` + Severity v1.Severity `protobuf:"varint,2,opt,name=severity,proto3,enum=temporal.api.enums.v1.Severity" json:"severity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Alert) Reset() { + *x = Alert{} + mi := &file_temporal_api_version_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Alert) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Alert) ProtoMessage() {} + +func (x *Alert) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_version_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Alert.ProtoReflect.Descriptor instead. +func (*Alert) Descriptor() ([]byte, []int) { + return file_temporal_api_version_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *Alert) GetMessage() string { + if x != nil { + return x.Message + } + return "" +} + +func (x *Alert) GetSeverity() v1.Severity { + if x != nil { + return x.Severity + } + return v1.Severity(0) +} + +// VersionInfo contains details about current and recommended release versions as well as alerts and upgrade instructions. +type VersionInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Current *ReleaseInfo `protobuf:"bytes,1,opt,name=current,proto3" json:"current,omitempty"` + Recommended *ReleaseInfo `protobuf:"bytes,2,opt,name=recommended,proto3" json:"recommended,omitempty"` + Instructions string `protobuf:"bytes,3,opt,name=instructions,proto3" json:"instructions,omitempty"` + Alerts []*Alert `protobuf:"bytes,4,rep,name=alerts,proto3" json:"alerts,omitempty"` + LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VersionInfo) Reset() { + *x = VersionInfo{} + mi := &file_temporal_api_version_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VersionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersionInfo) ProtoMessage() {} + +func (x *VersionInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_version_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersionInfo.ProtoReflect.Descriptor instead. +func (*VersionInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_version_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *VersionInfo) GetCurrent() *ReleaseInfo { + if x != nil { + return x.Current + } + return nil +} + +func (x *VersionInfo) GetRecommended() *ReleaseInfo { + if x != nil { + return x.Recommended + } + return nil +} + +func (x *VersionInfo) GetInstructions() string { + if x != nil { + return x.Instructions + } + return "" +} + +func (x *VersionInfo) GetAlerts() []*Alert { + if x != nil { + return x.Alerts + } + return nil +} + +func (x *VersionInfo) GetLastUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.LastUpdateTime + } + return nil +} + +var File_temporal_api_version_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_version_v1_message_proto_rawDesc = "" + + "\n" + + "%temporal/api/version/v1/message.proto\x12\x17temporal.api.version.v1\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\"temporal/api/enums/v1/common.proto\"|\n" + + "\vReleaseInfo\x12\x18\n" + + "\aversion\x18\x01 \x01(\tR\aversion\x12=\n" + + "\frelease_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\vreleaseTime\x12\x14\n" + + "\x05notes\x18\x03 \x01(\tR\x05notes\"^\n" + + "\x05Alert\x12\x18\n" + + "\amessage\x18\x01 \x01(\tR\amessage\x12;\n" + + "\bseverity\x18\x02 \x01(\x0e2\x1f.temporal.api.enums.v1.SeverityR\bseverity\"\xb7\x02\n" + + "\vVersionInfo\x12>\n" + + "\acurrent\x18\x01 \x01(\v2$.temporal.api.version.v1.ReleaseInfoR\acurrent\x12F\n" + + "\vrecommended\x18\x02 \x01(\v2$.temporal.api.version.v1.ReleaseInfoR\vrecommended\x12\"\n" + + "\finstructions\x18\x03 \x01(\tR\finstructions\x126\n" + + "\x06alerts\x18\x04 \x03(\v2\x1e.temporal.api.version.v1.AlertR\x06alerts\x12D\n" + + "\x10last_update_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x0elastUpdateTimeB\x8e\x01\n" + + "\x1aio.temporal.api.version.v1B\fMessageProtoP\x01Z%go.temporal.io/api/version/v1;version\xaa\x02\x19Temporalio.Api.Version.V1\xea\x02\x1cTemporalio::Api::Version::V1b\x06proto3" + +var ( + file_temporal_api_version_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_version_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_version_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_version_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_version_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_version_v1_message_proto_rawDesc), len(file_temporal_api_version_v1_message_proto_rawDesc))) + }) + return file_temporal_api_version_v1_message_proto_rawDescData +} + +var file_temporal_api_version_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 3) +var file_temporal_api_version_v1_message_proto_goTypes = []any{ + (*ReleaseInfo)(nil), // 0: temporal.api.version.v1.ReleaseInfo + (*Alert)(nil), // 1: temporal.api.version.v1.Alert + (*VersionInfo)(nil), // 2: temporal.api.version.v1.VersionInfo + (*timestamppb.Timestamp)(nil), // 3: google.protobuf.Timestamp + (v1.Severity)(0), // 4: temporal.api.enums.v1.Severity +} +var file_temporal_api_version_v1_message_proto_depIdxs = []int32{ + 3, // 0: temporal.api.version.v1.ReleaseInfo.release_time:type_name -> google.protobuf.Timestamp + 4, // 1: temporal.api.version.v1.Alert.severity:type_name -> temporal.api.enums.v1.Severity + 0, // 2: temporal.api.version.v1.VersionInfo.current:type_name -> temporal.api.version.v1.ReleaseInfo + 0, // 3: temporal.api.version.v1.VersionInfo.recommended:type_name -> temporal.api.version.v1.ReleaseInfo + 1, // 4: temporal.api.version.v1.VersionInfo.alerts:type_name -> temporal.api.version.v1.Alert + 3, // 5: temporal.api.version.v1.VersionInfo.last_update_time:type_name -> google.protobuf.Timestamp + 6, // [6:6] is the sub-list for method output_type + 6, // [6:6] is the sub-list for method input_type + 6, // [6:6] is the sub-list for extension type_name + 6, // [6:6] is the sub-list for extension extendee + 0, // [0:6] is the sub-list for field type_name +} + +func init() { file_temporal_api_version_v1_message_proto_init() } +func file_temporal_api_version_v1_message_proto_init() { + if File_temporal_api_version_v1_message_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_version_v1_message_proto_rawDesc), len(file_temporal_api_version_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 3, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_version_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_version_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_version_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_version_v1_message_proto = out.File + file_temporal_api_version_v1_message_proto_goTypes = nil + file_temporal_api_version_v1_message_proto_depIdxs = nil +} diff --git a/api_next/worker/v1/message.go-helpers.pb.go b/api_next/worker/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..063c290e --- /dev/null +++ b/api_next/worker/v1/message.go-helpers.pb.go @@ -0,0 +1,450 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package worker + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkerPollerInfo to the protobuf v3 wire format +func (val *WorkerPollerInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerPollerInfo from the protobuf v3 wire format +func (val *WorkerPollerInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerPollerInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerPollerInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerPollerInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerPollerInfo + switch t := that.(type) { + case *WorkerPollerInfo: + that1 = t + case WorkerPollerInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerSlotsInfo to the protobuf v3 wire format +func (val *WorkerSlotsInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerSlotsInfo from the protobuf v3 wire format +func (val *WorkerSlotsInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerSlotsInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerSlotsInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerSlotsInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerSlotsInfo + switch t := that.(type) { + case *WorkerSlotsInfo: + that1 = t + case WorkerSlotsInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerHostInfo to the protobuf v3 wire format +func (val *WorkerHostInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerHostInfo from the protobuf v3 wire format +func (val *WorkerHostInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerHostInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerHostInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerHostInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerHostInfo + switch t := that.(type) { + case *WorkerHostInfo: + that1 = t + case WorkerHostInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerHeartbeat to the protobuf v3 wire format +func (val *WorkerHeartbeat) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerHeartbeat from the protobuf v3 wire format +func (val *WorkerHeartbeat) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerHeartbeat) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerHeartbeat values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerHeartbeat) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerHeartbeat + switch t := that.(type) { + case *WorkerHeartbeat: + that1 = t + case WorkerHeartbeat: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerInfo to the protobuf v3 wire format +func (val *WorkerInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerInfo from the protobuf v3 wire format +func (val *WorkerInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerInfo + switch t := that.(type) { + case *WorkerInfo: + that1 = t + case WorkerInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerListInfo to the protobuf v3 wire format +func (val *WorkerListInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerListInfo from the protobuf v3 wire format +func (val *WorkerListInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerListInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerListInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerListInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerListInfo + switch t := that.(type) { + case *WorkerListInfo: + that1 = t + case WorkerListInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PluginInfo to the protobuf v3 wire format +func (val *PluginInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PluginInfo from the protobuf v3 wire format +func (val *PluginInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PluginInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PluginInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PluginInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PluginInfo + switch t := that.(type) { + case *PluginInfo: + that1 = t + case PluginInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StorageDriverInfo to the protobuf v3 wire format +func (val *StorageDriverInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StorageDriverInfo from the protobuf v3 wire format +func (val *StorageDriverInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StorageDriverInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StorageDriverInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StorageDriverInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StorageDriverInfo + switch t := that.(type) { + case *StorageDriverInfo: + that1 = t + case StorageDriverInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerCommand to the protobuf v3 wire format +func (val *WorkerCommand) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerCommand from the protobuf v3 wire format +func (val *WorkerCommand) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerCommand) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerCommand values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerCommand) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerCommand + switch t := that.(type) { + case *WorkerCommand: + that1 = t + case WorkerCommand: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CancelActivityCommand to the protobuf v3 wire format +func (val *CancelActivityCommand) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CancelActivityCommand from the protobuf v3 wire format +func (val *CancelActivityCommand) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CancelActivityCommand) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CancelActivityCommand values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CancelActivityCommand) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CancelActivityCommand + switch t := that.(type) { + case *CancelActivityCommand: + that1 = t + case CancelActivityCommand: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkerCommandResult to the protobuf v3 wire format +func (val *WorkerCommandResult) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkerCommandResult from the protobuf v3 wire format +func (val *WorkerCommandResult) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkerCommandResult) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkerCommandResult values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkerCommandResult) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkerCommandResult + switch t := that.(type) { + case *WorkerCommandResult: + that1 = t + case WorkerCommandResult: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CancelActivityResult to the protobuf v3 wire format +func (val *CancelActivityResult) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CancelActivityResult from the protobuf v3 wire format +func (val *CancelActivityResult) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CancelActivityResult) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CancelActivityResult values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CancelActivityResult) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CancelActivityResult + switch t := that.(type) { + case *CancelActivityResult: + that1 = t + case CancelActivityResult: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/worker/v1/message.pb.go b/api_next/worker/v1/message.pb.go new file mode 100644 index 00000000..d56f2fa6 --- /dev/null +++ b/api_next/worker/v1/message.pb.go @@ -0,0 +1,1235 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/worker/v1/message.proto + +package worker + +import ( + v1 "go.temporal.io/api/deployment/v1" + v11 "go.temporal.io/api/enums/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type WorkerPollerInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Number of polling RPCs that are currently in flight. + CurrentPollers int32 `protobuf:"varint,1,opt,name=current_pollers,json=currentPollers,proto3" json:"current_pollers,omitempty"` + LastSuccessfulPollTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=last_successful_poll_time,json=lastSuccessfulPollTime,proto3" json:"last_successful_poll_time,omitempty"` + // Set true if the number of concurrent pollers is auto-scaled + IsAutoscaling bool `protobuf:"varint,3,opt,name=is_autoscaling,json=isAutoscaling,proto3" json:"is_autoscaling,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerPollerInfo) Reset() { + *x = WorkerPollerInfo{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerPollerInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerPollerInfo) ProtoMessage() {} + +func (x *WorkerPollerInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerPollerInfo.ProtoReflect.Descriptor instead. +func (*WorkerPollerInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkerPollerInfo) GetCurrentPollers() int32 { + if x != nil { + return x.CurrentPollers + } + return 0 +} + +func (x *WorkerPollerInfo) GetLastSuccessfulPollTime() *timestamppb.Timestamp { + if x != nil { + return x.LastSuccessfulPollTime + } + return nil +} + +func (x *WorkerPollerInfo) GetIsAutoscaling() bool { + if x != nil { + return x.IsAutoscaling + } + return false +} + +type WorkerSlotsInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Number of slots available for the worker to specific tasks. + // May be -1 if the upper bound is not known. + CurrentAvailableSlots int32 `protobuf:"varint,1,opt,name=current_available_slots,json=currentAvailableSlots,proto3" json:"current_available_slots,omitempty"` + // Number of slots used by the worker for specific tasks. + CurrentUsedSlots int32 `protobuf:"varint,2,opt,name=current_used_slots,json=currentUsedSlots,proto3" json:"current_used_slots,omitempty"` + // Kind of the slot supplier, which is used to determine how the slots are allocated. + // Possible values: "Fixed | ResourceBased | Custom String" + SlotSupplierKind string `protobuf:"bytes,3,opt,name=slot_supplier_kind,json=slotSupplierKind,proto3" json:"slot_supplier_kind,omitempty"` + // Total number of tasks processed (completed both successfully and unsuccesfully, or any other way) + // by the worker since the worker started. This is a cumulative counter. + TotalProcessedTasks int32 `protobuf:"varint,4,opt,name=total_processed_tasks,json=totalProcessedTasks,proto3" json:"total_processed_tasks,omitempty"` + // Total number of failed tasks processed by the worker so far. + TotalFailedTasks int32 `protobuf:"varint,5,opt,name=total_failed_tasks,json=totalFailedTasks,proto3" json:"total_failed_tasks,omitempty"` + // Number of tasks processed in since the last heartbeat from the worker. + // This is a cumulative counter, and it is reset to 0 each time the worker sends a heartbeat. + // Contains both successful and failed tasks. + LastIntervalProcessedTasks int32 `protobuf:"varint,6,opt,name=last_interval_processed_tasks,json=lastIntervalProcessedTasks,proto3" json:"last_interval_processed_tasks,omitempty"` + // Number of failed tasks processed since the last heartbeat from the worker. + LastIntervalFailureTasks int32 `protobuf:"varint,7,opt,name=last_interval_failure_tasks,json=lastIntervalFailureTasks,proto3" json:"last_interval_failure_tasks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerSlotsInfo) Reset() { + *x = WorkerSlotsInfo{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerSlotsInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerSlotsInfo) ProtoMessage() {} + +func (x *WorkerSlotsInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerSlotsInfo.ProtoReflect.Descriptor instead. +func (*WorkerSlotsInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkerSlotsInfo) GetCurrentAvailableSlots() int32 { + if x != nil { + return x.CurrentAvailableSlots + } + return 0 +} + +func (x *WorkerSlotsInfo) GetCurrentUsedSlots() int32 { + if x != nil { + return x.CurrentUsedSlots + } + return 0 +} + +func (x *WorkerSlotsInfo) GetSlotSupplierKind() string { + if x != nil { + return x.SlotSupplierKind + } + return "" +} + +func (x *WorkerSlotsInfo) GetTotalProcessedTasks() int32 { + if x != nil { + return x.TotalProcessedTasks + } + return 0 +} + +func (x *WorkerSlotsInfo) GetTotalFailedTasks() int32 { + if x != nil { + return x.TotalFailedTasks + } + return 0 +} + +func (x *WorkerSlotsInfo) GetLastIntervalProcessedTasks() int32 { + if x != nil { + return x.LastIntervalProcessedTasks + } + return 0 +} + +func (x *WorkerSlotsInfo) GetLastIntervalFailureTasks() int32 { + if x != nil { + return x.LastIntervalFailureTasks + } + return 0 +} + +// Holds everything needed to identify the worker host/process context +type WorkerHostInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Worker host identifier. + HostName string `protobuf:"bytes,1,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` + // Worker grouping identifier. A key to group workers that share the same client+namespace+process. + // This will be used to build the worker command nexus task queue name: + // "temporal-sys/worker-commands/{worker_grouping_key}" + WorkerGroupingKey string `protobuf:"bytes,5,opt,name=worker_grouping_key,json=workerGroupingKey,proto3" json:"worker_grouping_key,omitempty"` + // Worker process identifier. This id only needs to be unique + // within one host (so using e.g. a unix pid would be appropriate). + ProcessId string `protobuf:"bytes,2,opt,name=process_id,json=processId,proto3" json:"process_id,omitempty"` + // System used CPU as a float in the range [0.0, 1.0] where 1.0 is defined as all + // cores on the host pegged. + CurrentHostCpuUsage float32 `protobuf:"fixed32,3,opt,name=current_host_cpu_usage,json=currentHostCpuUsage,proto3" json:"current_host_cpu_usage,omitempty"` + // System used memory as a float in the range [0.0, 1.0] where 1.0 is defined as + // all available memory on the host is used. + CurrentHostMemUsage float32 `protobuf:"fixed32,4,opt,name=current_host_mem_usage,json=currentHostMemUsage,proto3" json:"current_host_mem_usage,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerHostInfo) Reset() { + *x = WorkerHostInfo{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerHostInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerHostInfo) ProtoMessage() {} + +func (x *WorkerHostInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerHostInfo.ProtoReflect.Descriptor instead. +func (*WorkerHostInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *WorkerHostInfo) GetHostName() string { + if x != nil { + return x.HostName + } + return "" +} + +func (x *WorkerHostInfo) GetWorkerGroupingKey() string { + if x != nil { + return x.WorkerGroupingKey + } + return "" +} + +func (x *WorkerHostInfo) GetProcessId() string { + if x != nil { + return x.ProcessId + } + return "" +} + +func (x *WorkerHostInfo) GetCurrentHostCpuUsage() float32 { + if x != nil { + return x.CurrentHostCpuUsage + } + return 0 +} + +func (x *WorkerHostInfo) GetCurrentHostMemUsage() float32 { + if x != nil { + return x.CurrentHostMemUsage + } + return 0 +} + +// Worker info message, contains information about the worker and its current state. +// All information is provided by the worker itself. +// (-- api-linter: core::0140::prepositions=disabled +// +// aip.dev/not-precedent: Removing those words make names less clear. --) +type WorkerHeartbeat struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Worker identifier, should be unique for the namespace. + // It is distinct from worker identity, which is not necessarily namespace-unique. + WorkerInstanceKey string `protobuf:"bytes,1,opt,name=worker_instance_key,json=workerInstanceKey,proto3" json:"worker_instance_key,omitempty"` + // Worker identity, set by the client, may not be unique. + // Usually host_name+(user group name)+process_id, but can be overwritten by the user. + WorkerIdentity string `protobuf:"bytes,2,opt,name=worker_identity,json=workerIdentity,proto3" json:"worker_identity,omitempty"` + // Worker host information. + HostInfo *WorkerHostInfo `protobuf:"bytes,3,opt,name=host_info,json=hostInfo,proto3" json:"host_info,omitempty"` + // Task queue this worker is polling for tasks. + TaskQueue string `protobuf:"bytes,4,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + DeploymentVersion *v1.WorkerDeploymentVersion `protobuf:"bytes,5,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + SdkName string `protobuf:"bytes,6,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"` + SdkVersion string `protobuf:"bytes,7,opt,name=sdk_version,json=sdkVersion,proto3" json:"sdk_version,omitempty"` + // Worker status. Defined by SDK. + Status v11.WorkerStatus `protobuf:"varint,8,opt,name=status,proto3,enum=temporal.api.enums.v1.WorkerStatus" json:"status,omitempty"` + // Worker start time. + // It can be used to determine worker uptime. (current time - start time) + StartTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Timestamp of this heartbeat, coming from the worker. Worker should set it to "now". + // Note that this timestamp comes directly from the worker and is subject to workers' clock skew. + HeartbeatTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=heartbeat_time,json=heartbeatTime,proto3" json:"heartbeat_time,omitempty"` + // Elapsed time since the last heartbeat from the worker. + ElapsedSinceLastHeartbeat *durationpb.Duration `protobuf:"bytes,11,opt,name=elapsed_since_last_heartbeat,json=elapsedSinceLastHeartbeat,proto3" json:"elapsed_since_last_heartbeat,omitempty"` + WorkflowTaskSlotsInfo *WorkerSlotsInfo `protobuf:"bytes,12,opt,name=workflow_task_slots_info,json=workflowTaskSlotsInfo,proto3" json:"workflow_task_slots_info,omitempty"` + ActivityTaskSlotsInfo *WorkerSlotsInfo `protobuf:"bytes,13,opt,name=activity_task_slots_info,json=activityTaskSlotsInfo,proto3" json:"activity_task_slots_info,omitempty"` + NexusTaskSlotsInfo *WorkerSlotsInfo `protobuf:"bytes,14,opt,name=nexus_task_slots_info,json=nexusTaskSlotsInfo,proto3" json:"nexus_task_slots_info,omitempty"` + LocalActivitySlotsInfo *WorkerSlotsInfo `protobuf:"bytes,15,opt,name=local_activity_slots_info,json=localActivitySlotsInfo,proto3" json:"local_activity_slots_info,omitempty"` + WorkflowPollerInfo *WorkerPollerInfo `protobuf:"bytes,16,opt,name=workflow_poller_info,json=workflowPollerInfo,proto3" json:"workflow_poller_info,omitempty"` + WorkflowStickyPollerInfo *WorkerPollerInfo `protobuf:"bytes,17,opt,name=workflow_sticky_poller_info,json=workflowStickyPollerInfo,proto3" json:"workflow_sticky_poller_info,omitempty"` + ActivityPollerInfo *WorkerPollerInfo `protobuf:"bytes,18,opt,name=activity_poller_info,json=activityPollerInfo,proto3" json:"activity_poller_info,omitempty"` + NexusPollerInfo *WorkerPollerInfo `protobuf:"bytes,19,opt,name=nexus_poller_info,json=nexusPollerInfo,proto3" json:"nexus_poller_info,omitempty"` + // A Workflow Task found a cached Workflow Execution to run against. + TotalStickyCacheHit int32 `protobuf:"varint,20,opt,name=total_sticky_cache_hit,json=totalStickyCacheHit,proto3" json:"total_sticky_cache_hit,omitempty"` + // A Workflow Task did not find a cached Workflow execution to run against. + TotalStickyCacheMiss int32 `protobuf:"varint,21,opt,name=total_sticky_cache_miss,json=totalStickyCacheMiss,proto3" json:"total_sticky_cache_miss,omitempty"` + // Current cache size, expressed in number of Workflow Executions. + CurrentStickyCacheSize int32 `protobuf:"varint,22,opt,name=current_sticky_cache_size,json=currentStickyCacheSize,proto3" json:"current_sticky_cache_size,omitempty"` + // Plugins currently in use by this SDK. + Plugins []*PluginInfo `protobuf:"bytes,23,rep,name=plugins,proto3" json:"plugins,omitempty"` + // Storage drivers in use by this SDK. + Drivers []*StorageDriverInfo `protobuf:"bytes,24,rep,name=drivers,proto3" json:"drivers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerHeartbeat) Reset() { + *x = WorkerHeartbeat{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerHeartbeat) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerHeartbeat) ProtoMessage() {} + +func (x *WorkerHeartbeat) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerHeartbeat.ProtoReflect.Descriptor instead. +func (*WorkerHeartbeat) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *WorkerHeartbeat) GetWorkerInstanceKey() string { + if x != nil { + return x.WorkerInstanceKey + } + return "" +} + +func (x *WorkerHeartbeat) GetWorkerIdentity() string { + if x != nil { + return x.WorkerIdentity + } + return "" +} + +func (x *WorkerHeartbeat) GetHostInfo() *WorkerHostInfo { + if x != nil { + return x.HostInfo + } + return nil +} + +func (x *WorkerHeartbeat) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *WorkerHeartbeat) GetDeploymentVersion() *v1.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *WorkerHeartbeat) GetSdkName() string { + if x != nil { + return x.SdkName + } + return "" +} + +func (x *WorkerHeartbeat) GetSdkVersion() string { + if x != nil { + return x.SdkVersion + } + return "" +} + +func (x *WorkerHeartbeat) GetStatus() v11.WorkerStatus { + if x != nil { + return x.Status + } + return v11.WorkerStatus(0) +} + +func (x *WorkerHeartbeat) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *WorkerHeartbeat) GetHeartbeatTime() *timestamppb.Timestamp { + if x != nil { + return x.HeartbeatTime + } + return nil +} + +func (x *WorkerHeartbeat) GetElapsedSinceLastHeartbeat() *durationpb.Duration { + if x != nil { + return x.ElapsedSinceLastHeartbeat + } + return nil +} + +func (x *WorkerHeartbeat) GetWorkflowTaskSlotsInfo() *WorkerSlotsInfo { + if x != nil { + return x.WorkflowTaskSlotsInfo + } + return nil +} + +func (x *WorkerHeartbeat) GetActivityTaskSlotsInfo() *WorkerSlotsInfo { + if x != nil { + return x.ActivityTaskSlotsInfo + } + return nil +} + +func (x *WorkerHeartbeat) GetNexusTaskSlotsInfo() *WorkerSlotsInfo { + if x != nil { + return x.NexusTaskSlotsInfo + } + return nil +} + +func (x *WorkerHeartbeat) GetLocalActivitySlotsInfo() *WorkerSlotsInfo { + if x != nil { + return x.LocalActivitySlotsInfo + } + return nil +} + +func (x *WorkerHeartbeat) GetWorkflowPollerInfo() *WorkerPollerInfo { + if x != nil { + return x.WorkflowPollerInfo + } + return nil +} + +func (x *WorkerHeartbeat) GetWorkflowStickyPollerInfo() *WorkerPollerInfo { + if x != nil { + return x.WorkflowStickyPollerInfo + } + return nil +} + +func (x *WorkerHeartbeat) GetActivityPollerInfo() *WorkerPollerInfo { + if x != nil { + return x.ActivityPollerInfo + } + return nil +} + +func (x *WorkerHeartbeat) GetNexusPollerInfo() *WorkerPollerInfo { + if x != nil { + return x.NexusPollerInfo + } + return nil +} + +func (x *WorkerHeartbeat) GetTotalStickyCacheHit() int32 { + if x != nil { + return x.TotalStickyCacheHit + } + return 0 +} + +func (x *WorkerHeartbeat) GetTotalStickyCacheMiss() int32 { + if x != nil { + return x.TotalStickyCacheMiss + } + return 0 +} + +func (x *WorkerHeartbeat) GetCurrentStickyCacheSize() int32 { + if x != nil { + return x.CurrentStickyCacheSize + } + return 0 +} + +func (x *WorkerHeartbeat) GetPlugins() []*PluginInfo { + if x != nil { + return x.Plugins + } + return nil +} + +func (x *WorkerHeartbeat) GetDrivers() []*StorageDriverInfo { + if x != nil { + return x.Drivers + } + return nil +} + +// Detailed worker information. +type WorkerInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkerHeartbeat *WorkerHeartbeat `protobuf:"bytes,1,opt,name=worker_heartbeat,json=workerHeartbeat,proto3" json:"worker_heartbeat,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerInfo) Reset() { + *x = WorkerInfo{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerInfo) ProtoMessage() {} + +func (x *WorkerInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerInfo.ProtoReflect.Descriptor instead. +func (*WorkerInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{4} +} + +func (x *WorkerInfo) GetWorkerHeartbeat() *WorkerHeartbeat { + if x != nil { + return x.WorkerHeartbeat + } + return nil +} + +// Limited worker information returned in the list response. +// When adding fields here, ensure that it is also added to WorkerInfo (as it carries the full worker information). +type WorkerListInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Worker identifier, should be unique for the namespace. + // It is distinct from worker identity, which is not necessarily namespace-unique. + WorkerInstanceKey string `protobuf:"bytes,1,opt,name=worker_instance_key,json=workerInstanceKey,proto3" json:"worker_instance_key,omitempty"` + // Worker identity, set by the client, may not be unique. + // Usually host_name+(user group name)+process_id, but can be overwritten by the user. + WorkerIdentity string `protobuf:"bytes,2,opt,name=worker_identity,json=workerIdentity,proto3" json:"worker_identity,omitempty"` + // Task queue this worker is polling for tasks. + TaskQueue string `protobuf:"bytes,3,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + DeploymentVersion *v1.WorkerDeploymentVersion `protobuf:"bytes,4,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + SdkName string `protobuf:"bytes,5,opt,name=sdk_name,json=sdkName,proto3" json:"sdk_name,omitempty"` + SdkVersion string `protobuf:"bytes,6,opt,name=sdk_version,json=sdkVersion,proto3" json:"sdk_version,omitempty"` + // Worker status. Defined by SDK. + Status v11.WorkerStatus `protobuf:"varint,7,opt,name=status,proto3,enum=temporal.api.enums.v1.WorkerStatus" json:"status,omitempty"` + // Worker start time. + // It can be used to determine worker uptime. (current time - start time) + StartTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Worker host identifier. + HostName string `protobuf:"bytes,9,opt,name=host_name,json=hostName,proto3" json:"host_name,omitempty"` + // Worker grouping identifier. A key to group workers that share the same client+namespace+process. + // This will be used to build the worker command nexus task queue name: + // "temporal-sys/worker-commands/{worker_grouping_key}" + WorkerGroupingKey string `protobuf:"bytes,10,opt,name=worker_grouping_key,json=workerGroupingKey,proto3" json:"worker_grouping_key,omitempty"` + // Worker process identifier. This id only needs to be unique + // within one host (so using e.g. a unix pid would be appropriate). + ProcessId string `protobuf:"bytes,11,opt,name=process_id,json=processId,proto3" json:"process_id,omitempty"` + // Plugins currently in use by this SDK. + Plugins []*PluginInfo `protobuf:"bytes,12,rep,name=plugins,proto3" json:"plugins,omitempty"` + // Storage drivers in use by this SDK. + Drivers []*StorageDriverInfo `protobuf:"bytes,13,rep,name=drivers,proto3" json:"drivers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerListInfo) Reset() { + *x = WorkerListInfo{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerListInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerListInfo) ProtoMessage() {} + +func (x *WorkerListInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerListInfo.ProtoReflect.Descriptor instead. +func (*WorkerListInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *WorkerListInfo) GetWorkerInstanceKey() string { + if x != nil { + return x.WorkerInstanceKey + } + return "" +} + +func (x *WorkerListInfo) GetWorkerIdentity() string { + if x != nil { + return x.WorkerIdentity + } + return "" +} + +func (x *WorkerListInfo) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *WorkerListInfo) GetDeploymentVersion() *v1.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *WorkerListInfo) GetSdkName() string { + if x != nil { + return x.SdkName + } + return "" +} + +func (x *WorkerListInfo) GetSdkVersion() string { + if x != nil { + return x.SdkVersion + } + return "" +} + +func (x *WorkerListInfo) GetStatus() v11.WorkerStatus { + if x != nil { + return x.Status + } + return v11.WorkerStatus(0) +} + +func (x *WorkerListInfo) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *WorkerListInfo) GetHostName() string { + if x != nil { + return x.HostName + } + return "" +} + +func (x *WorkerListInfo) GetWorkerGroupingKey() string { + if x != nil { + return x.WorkerGroupingKey + } + return "" +} + +func (x *WorkerListInfo) GetProcessId() string { + if x != nil { + return x.ProcessId + } + return "" +} + +func (x *WorkerListInfo) GetPlugins() []*PluginInfo { + if x != nil { + return x.Plugins + } + return nil +} + +func (x *WorkerListInfo) GetDrivers() []*StorageDriverInfo { + if x != nil { + return x.Drivers + } + return nil +} + +type PluginInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The name of the plugin, required. + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // The version of the plugin, may be empty. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PluginInfo) Reset() { + *x = PluginInfo{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PluginInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PluginInfo) ProtoMessage() {} + +func (x *PluginInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PluginInfo.ProtoReflect.Descriptor instead. +func (*PluginInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *PluginInfo) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *PluginInfo) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +type StorageDriverInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The type of the driver, required. + Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StorageDriverInfo) Reset() { + *x = StorageDriverInfo{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StorageDriverInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StorageDriverInfo) ProtoMessage() {} + +func (x *StorageDriverInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StorageDriverInfo.ProtoReflect.Descriptor instead. +func (*StorageDriverInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *StorageDriverInfo) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +// A command sent from the server to a worker. +type WorkerCommand struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Type: + // + // *WorkerCommand_CancelActivity + Type isWorkerCommand_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerCommand) Reset() { + *x = WorkerCommand{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerCommand) ProtoMessage() {} + +func (x *WorkerCommand) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerCommand.ProtoReflect.Descriptor instead. +func (*WorkerCommand) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *WorkerCommand) GetType() isWorkerCommand_Type { + if x != nil { + return x.Type + } + return nil +} + +func (x *WorkerCommand) GetCancelActivity() *CancelActivityCommand { + if x != nil { + if x, ok := x.Type.(*WorkerCommand_CancelActivity); ok { + return x.CancelActivity + } + } + return nil +} + +type isWorkerCommand_Type interface { + isWorkerCommand_Type() +} + +type WorkerCommand_CancelActivity struct { + CancelActivity *CancelActivityCommand `protobuf:"bytes,1,opt,name=cancel_activity,json=cancelActivity,proto3,oneof"` +} + +func (*WorkerCommand_CancelActivity) isWorkerCommand_Type() {} + +// Cancel an activity if it is still running. Otherwise, do nothing. +type CancelActivityCommand struct { + state protoimpl.MessageState `protogen:"open.v1"` + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelActivityCommand) Reset() { + *x = CancelActivityCommand{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelActivityCommand) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelActivityCommand) ProtoMessage() {} + +func (x *CancelActivityCommand) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelActivityCommand.ProtoReflect.Descriptor instead. +func (*CancelActivityCommand) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *CancelActivityCommand) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +// The result of executing a WorkerCommand. +type WorkerCommandResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Type: + // + // *WorkerCommandResult_CancelActivity + Type isWorkerCommandResult_Type `protobuf_oneof:"type"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkerCommandResult) Reset() { + *x = WorkerCommandResult{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkerCommandResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkerCommandResult) ProtoMessage() {} + +func (x *WorkerCommandResult) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkerCommandResult.ProtoReflect.Descriptor instead. +func (*WorkerCommandResult) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *WorkerCommandResult) GetType() isWorkerCommandResult_Type { + if x != nil { + return x.Type + } + return nil +} + +func (x *WorkerCommandResult) GetCancelActivity() *CancelActivityResult { + if x != nil { + if x, ok := x.Type.(*WorkerCommandResult_CancelActivity); ok { + return x.CancelActivity + } + } + return nil +} + +type isWorkerCommandResult_Type interface { + isWorkerCommandResult_Type() +} + +type WorkerCommandResult_CancelActivity struct { + CancelActivity *CancelActivityResult `protobuf:"bytes,1,opt,name=cancel_activity,json=cancelActivity,proto3,oneof"` +} + +func (*WorkerCommandResult_CancelActivity) isWorkerCommandResult_Type() {} + +// Result of a CancelActivityCommand. +// Treat both successful cancellation and no-op (activity is no longer running) as success. +type CancelActivityResult struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CancelActivityResult) Reset() { + *x = CancelActivityResult{} + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CancelActivityResult) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CancelActivityResult) ProtoMessage() {} + +func (x *CancelActivityResult) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_worker_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CancelActivityResult.ProtoReflect.Descriptor instead. +func (*CancelActivityResult) Descriptor() ([]byte, []int) { + return file_temporal_api_worker_v1_message_proto_rawDescGZIP(), []int{11} +} + +var File_temporal_api_worker_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_worker_v1_message_proto_rawDesc = "" + + "\n" + + "$temporal/api/worker/v1/message.proto\x12\x16temporal.api.worker.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a(temporal/api/deployment/v1/message.proto\x1a\"temporal/api/enums/v1/common.proto\"\xb9\x01\n" + + "\x10WorkerPollerInfo\x12'\n" + + "\x0fcurrent_pollers\x18\x01 \x01(\x05R\x0ecurrentPollers\x12U\n" + + "\x19last_successful_poll_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x16lastSuccessfulPollTime\x12%\n" + + "\x0eis_autoscaling\x18\x03 \x01(\bR\risAutoscaling\"\x89\x03\n" + + "\x0fWorkerSlotsInfo\x126\n" + + "\x17current_available_slots\x18\x01 \x01(\x05R\x15currentAvailableSlots\x12,\n" + + "\x12current_used_slots\x18\x02 \x01(\x05R\x10currentUsedSlots\x12,\n" + + "\x12slot_supplier_kind\x18\x03 \x01(\tR\x10slotSupplierKind\x122\n" + + "\x15total_processed_tasks\x18\x04 \x01(\x05R\x13totalProcessedTasks\x12,\n" + + "\x12total_failed_tasks\x18\x05 \x01(\x05R\x10totalFailedTasks\x12A\n" + + "\x1dlast_interval_processed_tasks\x18\x06 \x01(\x05R\x1alastIntervalProcessedTasks\x12=\n" + + "\x1blast_interval_failure_tasks\x18\a \x01(\x05R\x18lastIntervalFailureTasks\"\xe6\x01\n" + + "\x0eWorkerHostInfo\x12\x1b\n" + + "\thost_name\x18\x01 \x01(\tR\bhostName\x12.\n" + + "\x13worker_grouping_key\x18\x05 \x01(\tR\x11workerGroupingKey\x12\x1d\n" + + "\n" + + "process_id\x18\x02 \x01(\tR\tprocessId\x123\n" + + "\x16current_host_cpu_usage\x18\x03 \x01(\x02R\x13currentHostCpuUsage\x123\n" + + "\x16current_host_mem_usage\x18\x04 \x01(\x02R\x13currentHostMemUsage\"\xaa\r\n" + + "\x0fWorkerHeartbeat\x12.\n" + + "\x13worker_instance_key\x18\x01 \x01(\tR\x11workerInstanceKey\x12'\n" + + "\x0fworker_identity\x18\x02 \x01(\tR\x0eworkerIdentity\x12C\n" + + "\thost_info\x18\x03 \x01(\v2&.temporal.api.worker.v1.WorkerHostInfoR\bhostInfo\x12\x1d\n" + + "\n" + + "task_queue\x18\x04 \x01(\tR\ttaskQueue\x12b\n" + + "\x12deployment_version\x18\x05 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12\x19\n" + + "\bsdk_name\x18\x06 \x01(\tR\asdkName\x12\x1f\n" + + "\vsdk_version\x18\a \x01(\tR\n" + + "sdkVersion\x12;\n" + + "\x06status\x18\b \x01(\x0e2#.temporal.api.enums.v1.WorkerStatusR\x06status\x129\n" + + "\n" + + "start_time\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x12A\n" + + "\x0eheartbeat_time\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\rheartbeatTime\x12Z\n" + + "\x1celapsed_since_last_heartbeat\x18\v \x01(\v2\x19.google.protobuf.DurationR\x19elapsedSinceLastHeartbeat\x12`\n" + + "\x18workflow_task_slots_info\x18\f \x01(\v2'.temporal.api.worker.v1.WorkerSlotsInfoR\x15workflowTaskSlotsInfo\x12`\n" + + "\x18activity_task_slots_info\x18\r \x01(\v2'.temporal.api.worker.v1.WorkerSlotsInfoR\x15activityTaskSlotsInfo\x12Z\n" + + "\x15nexus_task_slots_info\x18\x0e \x01(\v2'.temporal.api.worker.v1.WorkerSlotsInfoR\x12nexusTaskSlotsInfo\x12b\n" + + "\x19local_activity_slots_info\x18\x0f \x01(\v2'.temporal.api.worker.v1.WorkerSlotsInfoR\x16localActivitySlotsInfo\x12Z\n" + + "\x14workflow_poller_info\x18\x10 \x01(\v2(.temporal.api.worker.v1.WorkerPollerInfoR\x12workflowPollerInfo\x12g\n" + + "\x1bworkflow_sticky_poller_info\x18\x11 \x01(\v2(.temporal.api.worker.v1.WorkerPollerInfoR\x18workflowStickyPollerInfo\x12Z\n" + + "\x14activity_poller_info\x18\x12 \x01(\v2(.temporal.api.worker.v1.WorkerPollerInfoR\x12activityPollerInfo\x12T\n" + + "\x11nexus_poller_info\x18\x13 \x01(\v2(.temporal.api.worker.v1.WorkerPollerInfoR\x0fnexusPollerInfo\x123\n" + + "\x16total_sticky_cache_hit\x18\x14 \x01(\x05R\x13totalStickyCacheHit\x125\n" + + "\x17total_sticky_cache_miss\x18\x15 \x01(\x05R\x14totalStickyCacheMiss\x129\n" + + "\x19current_sticky_cache_size\x18\x16 \x01(\x05R\x16currentStickyCacheSize\x12<\n" + + "\aplugins\x18\x17 \x03(\v2\".temporal.api.worker.v1.PluginInfoR\aplugins\x12C\n" + + "\adrivers\x18\x18 \x03(\v2).temporal.api.worker.v1.StorageDriverInfoR\adrivers\"`\n" + + "\n" + + "WorkerInfo\x12R\n" + + "\x10worker_heartbeat\x18\x01 \x01(\v2'.temporal.api.worker.v1.WorkerHeartbeatR\x0fworkerHeartbeat\"\x8f\x05\n" + + "\x0eWorkerListInfo\x12.\n" + + "\x13worker_instance_key\x18\x01 \x01(\tR\x11workerInstanceKey\x12'\n" + + "\x0fworker_identity\x18\x02 \x01(\tR\x0eworkerIdentity\x12\x1d\n" + + "\n" + + "task_queue\x18\x03 \x01(\tR\ttaskQueue\x12b\n" + + "\x12deployment_version\x18\x04 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12\x19\n" + + "\bsdk_name\x18\x05 \x01(\tR\asdkName\x12\x1f\n" + + "\vsdk_version\x18\x06 \x01(\tR\n" + + "sdkVersion\x12;\n" + + "\x06status\x18\a \x01(\x0e2#.temporal.api.enums.v1.WorkerStatusR\x06status\x129\n" + + "\n" + + "start_time\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x12\x1b\n" + + "\thost_name\x18\t \x01(\tR\bhostName\x12.\n" + + "\x13worker_grouping_key\x18\n" + + " \x01(\tR\x11workerGroupingKey\x12\x1d\n" + + "\n" + + "process_id\x18\v \x01(\tR\tprocessId\x12<\n" + + "\aplugins\x18\f \x03(\v2\".temporal.api.worker.v1.PluginInfoR\aplugins\x12C\n" + + "\adrivers\x18\r \x03(\v2).temporal.api.worker.v1.StorageDriverInfoR\adrivers\":\n" + + "\n" + + "PluginInfo\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" + + "\aversion\x18\x02 \x01(\tR\aversion\"'\n" + + "\x11StorageDriverInfo\x12\x12\n" + + "\x04type\x18\x01 \x01(\tR\x04type\"q\n" + + "\rWorkerCommand\x12X\n" + + "\x0fcancel_activity\x18\x01 \x01(\v2-.temporal.api.worker.v1.CancelActivityCommandH\x00R\x0ecancelActivityB\x06\n" + + "\x04type\"6\n" + + "\x15CancelActivityCommand\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\"v\n" + + "\x13WorkerCommandResult\x12W\n" + + "\x0fcancel_activity\x18\x01 \x01(\v2,.temporal.api.worker.v1.CancelActivityResultH\x00R\x0ecancelActivityB\x06\n" + + "\x04type\"\x16\n" + + "\x14CancelActivityResultB\x89\x01\n" + + "\x19io.temporal.api.worker.v1B\fMessageProtoP\x01Z#go.temporal.io/api/worker/v1;worker\xaa\x02\x18Temporalio.Api.Worker.V1\xea\x02\x1bTemporalio::Api::Worker::V1b\x06proto3" + +var ( + file_temporal_api_worker_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_worker_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_worker_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_worker_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_worker_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_worker_v1_message_proto_rawDesc), len(file_temporal_api_worker_v1_message_proto_rawDesc))) + }) + return file_temporal_api_worker_v1_message_proto_rawDescData +} + +var file_temporal_api_worker_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 12) +var file_temporal_api_worker_v1_message_proto_goTypes = []any{ + (*WorkerPollerInfo)(nil), // 0: temporal.api.worker.v1.WorkerPollerInfo + (*WorkerSlotsInfo)(nil), // 1: temporal.api.worker.v1.WorkerSlotsInfo + (*WorkerHostInfo)(nil), // 2: temporal.api.worker.v1.WorkerHostInfo + (*WorkerHeartbeat)(nil), // 3: temporal.api.worker.v1.WorkerHeartbeat + (*WorkerInfo)(nil), // 4: temporal.api.worker.v1.WorkerInfo + (*WorkerListInfo)(nil), // 5: temporal.api.worker.v1.WorkerListInfo + (*PluginInfo)(nil), // 6: temporal.api.worker.v1.PluginInfo + (*StorageDriverInfo)(nil), // 7: temporal.api.worker.v1.StorageDriverInfo + (*WorkerCommand)(nil), // 8: temporal.api.worker.v1.WorkerCommand + (*CancelActivityCommand)(nil), // 9: temporal.api.worker.v1.CancelActivityCommand + (*WorkerCommandResult)(nil), // 10: temporal.api.worker.v1.WorkerCommandResult + (*CancelActivityResult)(nil), // 11: temporal.api.worker.v1.CancelActivityResult + (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp + (*v1.WorkerDeploymentVersion)(nil), // 13: temporal.api.deployment.v1.WorkerDeploymentVersion + (v11.WorkerStatus)(0), // 14: temporal.api.enums.v1.WorkerStatus + (*durationpb.Duration)(nil), // 15: google.protobuf.Duration +} +var file_temporal_api_worker_v1_message_proto_depIdxs = []int32{ + 12, // 0: temporal.api.worker.v1.WorkerPollerInfo.last_successful_poll_time:type_name -> google.protobuf.Timestamp + 2, // 1: temporal.api.worker.v1.WorkerHeartbeat.host_info:type_name -> temporal.api.worker.v1.WorkerHostInfo + 13, // 2: temporal.api.worker.v1.WorkerHeartbeat.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 14, // 3: temporal.api.worker.v1.WorkerHeartbeat.status:type_name -> temporal.api.enums.v1.WorkerStatus + 12, // 4: temporal.api.worker.v1.WorkerHeartbeat.start_time:type_name -> google.protobuf.Timestamp + 12, // 5: temporal.api.worker.v1.WorkerHeartbeat.heartbeat_time:type_name -> google.protobuf.Timestamp + 15, // 6: temporal.api.worker.v1.WorkerHeartbeat.elapsed_since_last_heartbeat:type_name -> google.protobuf.Duration + 1, // 7: temporal.api.worker.v1.WorkerHeartbeat.workflow_task_slots_info:type_name -> temporal.api.worker.v1.WorkerSlotsInfo + 1, // 8: temporal.api.worker.v1.WorkerHeartbeat.activity_task_slots_info:type_name -> temporal.api.worker.v1.WorkerSlotsInfo + 1, // 9: temporal.api.worker.v1.WorkerHeartbeat.nexus_task_slots_info:type_name -> temporal.api.worker.v1.WorkerSlotsInfo + 1, // 10: temporal.api.worker.v1.WorkerHeartbeat.local_activity_slots_info:type_name -> temporal.api.worker.v1.WorkerSlotsInfo + 0, // 11: temporal.api.worker.v1.WorkerHeartbeat.workflow_poller_info:type_name -> temporal.api.worker.v1.WorkerPollerInfo + 0, // 12: temporal.api.worker.v1.WorkerHeartbeat.workflow_sticky_poller_info:type_name -> temporal.api.worker.v1.WorkerPollerInfo + 0, // 13: temporal.api.worker.v1.WorkerHeartbeat.activity_poller_info:type_name -> temporal.api.worker.v1.WorkerPollerInfo + 0, // 14: temporal.api.worker.v1.WorkerHeartbeat.nexus_poller_info:type_name -> temporal.api.worker.v1.WorkerPollerInfo + 6, // 15: temporal.api.worker.v1.WorkerHeartbeat.plugins:type_name -> temporal.api.worker.v1.PluginInfo + 7, // 16: temporal.api.worker.v1.WorkerHeartbeat.drivers:type_name -> temporal.api.worker.v1.StorageDriverInfo + 3, // 17: temporal.api.worker.v1.WorkerInfo.worker_heartbeat:type_name -> temporal.api.worker.v1.WorkerHeartbeat + 13, // 18: temporal.api.worker.v1.WorkerListInfo.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 14, // 19: temporal.api.worker.v1.WorkerListInfo.status:type_name -> temporal.api.enums.v1.WorkerStatus + 12, // 20: temporal.api.worker.v1.WorkerListInfo.start_time:type_name -> google.protobuf.Timestamp + 6, // 21: temporal.api.worker.v1.WorkerListInfo.plugins:type_name -> temporal.api.worker.v1.PluginInfo + 7, // 22: temporal.api.worker.v1.WorkerListInfo.drivers:type_name -> temporal.api.worker.v1.StorageDriverInfo + 9, // 23: temporal.api.worker.v1.WorkerCommand.cancel_activity:type_name -> temporal.api.worker.v1.CancelActivityCommand + 11, // 24: temporal.api.worker.v1.WorkerCommandResult.cancel_activity:type_name -> temporal.api.worker.v1.CancelActivityResult + 25, // [25:25] is the sub-list for method output_type + 25, // [25:25] is the sub-list for method input_type + 25, // [25:25] is the sub-list for extension type_name + 25, // [25:25] is the sub-list for extension extendee + 0, // [0:25] is the sub-list for field type_name +} + +func init() { file_temporal_api_worker_v1_message_proto_init() } +func file_temporal_api_worker_v1_message_proto_init() { + if File_temporal_api_worker_v1_message_proto != nil { + return + } + file_temporal_api_worker_v1_message_proto_msgTypes[8].OneofWrappers = []any{ + (*WorkerCommand_CancelActivity)(nil), + } + file_temporal_api_worker_v1_message_proto_msgTypes[10].OneofWrappers = []any{ + (*WorkerCommandResult_CancelActivity)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_worker_v1_message_proto_rawDesc), len(file_temporal_api_worker_v1_message_proto_rawDesc)), + NumEnums: 0, + NumMessages: 12, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_worker_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_worker_v1_message_proto_depIdxs, + MessageInfos: file_temporal_api_worker_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_worker_v1_message_proto = out.File + file_temporal_api_worker_v1_message_proto_goTypes = nil + file_temporal_api_worker_v1_message_proto_depIdxs = nil +} diff --git a/api_next/workflow/v1/message.go-helpers.pb.go b/api_next/workflow/v1/message.go-helpers.pb.go new file mode 100644 index 00000000..e4073fa7 --- /dev/null +++ b/api_next/workflow/v1/message.go-helpers.pb.go @@ -0,0 +1,820 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package workflow + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type WorkflowExecutionInfo to the protobuf v3 wire format +func (val *WorkflowExecutionInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionInfo from the protobuf v3 wire format +func (val *WorkflowExecutionInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionInfo + switch t := that.(type) { + case *WorkflowExecutionInfo: + that1 = t + case WorkflowExecutionInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionExtendedInfo to the protobuf v3 wire format +func (val *WorkflowExecutionExtendedInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionExtendedInfo from the protobuf v3 wire format +func (val *WorkflowExecutionExtendedInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionExtendedInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionExtendedInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionExtendedInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionExtendedInfo + switch t := that.(type) { + case *WorkflowExecutionExtendedInfo: + that1 = t + case WorkflowExecutionExtendedInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionVersioningInfo to the protobuf v3 wire format +func (val *WorkflowExecutionVersioningInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionVersioningInfo from the protobuf v3 wire format +func (val *WorkflowExecutionVersioningInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionVersioningInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionVersioningInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionVersioningInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionVersioningInfo + switch t := that.(type) { + case *WorkflowExecutionVersioningInfo: + that1 = t + case WorkflowExecutionVersioningInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeploymentTransition to the protobuf v3 wire format +func (val *DeploymentTransition) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeploymentTransition from the protobuf v3 wire format +func (val *DeploymentTransition) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeploymentTransition) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeploymentTransition values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeploymentTransition) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeploymentTransition + switch t := that.(type) { + case *DeploymentTransition: + that1 = t + case DeploymentTransition: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeploymentVersionTransition to the protobuf v3 wire format +func (val *DeploymentVersionTransition) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeploymentVersionTransition from the protobuf v3 wire format +func (val *DeploymentVersionTransition) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeploymentVersionTransition) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeploymentVersionTransition values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeploymentVersionTransition) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeploymentVersionTransition + switch t := that.(type) { + case *DeploymentVersionTransition: + that1 = t + case DeploymentVersionTransition: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionConfig to the protobuf v3 wire format +func (val *WorkflowExecutionConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionConfig from the protobuf v3 wire format +func (val *WorkflowExecutionConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionConfig + switch t := that.(type) { + case *WorkflowExecutionConfig: + that1 = t + case WorkflowExecutionConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PendingActivityInfo to the protobuf v3 wire format +func (val *PendingActivityInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PendingActivityInfo from the protobuf v3 wire format +func (val *PendingActivityInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PendingActivityInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PendingActivityInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PendingActivityInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PendingActivityInfo + switch t := that.(type) { + case *PendingActivityInfo: + that1 = t + case PendingActivityInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PendingChildExecutionInfo to the protobuf v3 wire format +func (val *PendingChildExecutionInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PendingChildExecutionInfo from the protobuf v3 wire format +func (val *PendingChildExecutionInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PendingChildExecutionInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PendingChildExecutionInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PendingChildExecutionInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PendingChildExecutionInfo + switch t := that.(type) { + case *PendingChildExecutionInfo: + that1 = t + case PendingChildExecutionInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PendingWorkflowTaskInfo to the protobuf v3 wire format +func (val *PendingWorkflowTaskInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PendingWorkflowTaskInfo from the protobuf v3 wire format +func (val *PendingWorkflowTaskInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PendingWorkflowTaskInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PendingWorkflowTaskInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PendingWorkflowTaskInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PendingWorkflowTaskInfo + switch t := that.(type) { + case *PendingWorkflowTaskInfo: + that1 = t + case PendingWorkflowTaskInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetPoints to the protobuf v3 wire format +func (val *ResetPoints) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetPoints from the protobuf v3 wire format +func (val *ResetPoints) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetPoints) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetPoints values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetPoints) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetPoints + switch t := that.(type) { + case *ResetPoints: + that1 = t + case ResetPoints: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetPointInfo to the protobuf v3 wire format +func (val *ResetPointInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetPointInfo from the protobuf v3 wire format +func (val *ResetPointInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetPointInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetPointInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetPointInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetPointInfo + switch t := that.(type) { + case *ResetPointInfo: + that1 = t + case ResetPointInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NewWorkflowExecutionInfo to the protobuf v3 wire format +func (val *NewWorkflowExecutionInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NewWorkflowExecutionInfo from the protobuf v3 wire format +func (val *NewWorkflowExecutionInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NewWorkflowExecutionInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NewWorkflowExecutionInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NewWorkflowExecutionInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NewWorkflowExecutionInfo + switch t := that.(type) { + case *NewWorkflowExecutionInfo: + that1 = t + case NewWorkflowExecutionInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CallbackInfo to the protobuf v3 wire format +func (val *CallbackInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CallbackInfo from the protobuf v3 wire format +func (val *CallbackInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CallbackInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CallbackInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CallbackInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CallbackInfo + switch t := that.(type) { + case *CallbackInfo: + that1 = t + case CallbackInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PendingNexusOperationInfo to the protobuf v3 wire format +func (val *PendingNexusOperationInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PendingNexusOperationInfo from the protobuf v3 wire format +func (val *PendingNexusOperationInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PendingNexusOperationInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PendingNexusOperationInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PendingNexusOperationInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PendingNexusOperationInfo + switch t := that.(type) { + case *PendingNexusOperationInfo: + that1 = t + case PendingNexusOperationInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type NexusOperationCancellationInfo to the protobuf v3 wire format +func (val *NexusOperationCancellationInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type NexusOperationCancellationInfo from the protobuf v3 wire format +func (val *NexusOperationCancellationInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *NexusOperationCancellationInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two NexusOperationCancellationInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *NexusOperationCancellationInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *NexusOperationCancellationInfo + switch t := that.(type) { + case *NexusOperationCancellationInfo: + that1 = t + case NexusOperationCancellationInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionOptions to the protobuf v3 wire format +func (val *WorkflowExecutionOptions) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionOptions from the protobuf v3 wire format +func (val *WorkflowExecutionOptions) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionOptions) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionOptions values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionOptions) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionOptions + switch t := that.(type) { + case *WorkflowExecutionOptions: + that1 = t + case WorkflowExecutionOptions: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TimeSkippingConfig to the protobuf v3 wire format +func (val *TimeSkippingConfig) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TimeSkippingConfig from the protobuf v3 wire format +func (val *TimeSkippingConfig) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TimeSkippingConfig) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TimeSkippingConfig values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TimeSkippingConfig) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TimeSkippingConfig + switch t := that.(type) { + case *TimeSkippingConfig: + that1 = t + case TimeSkippingConfig: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type VersioningOverride to the protobuf v3 wire format +func (val *VersioningOverride) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type VersioningOverride from the protobuf v3 wire format +func (val *VersioningOverride) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *VersioningOverride) Size() int { + return proto.Size(val) +} + +// Equal returns whether two VersioningOverride values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *VersioningOverride) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *VersioningOverride + switch t := that.(type) { + case *VersioningOverride: + that1 = t + case VersioningOverride: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type OnConflictOptions to the protobuf v3 wire format +func (val *OnConflictOptions) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type OnConflictOptions from the protobuf v3 wire format +func (val *OnConflictOptions) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *OnConflictOptions) Size() int { + return proto.Size(val) +} + +// Equal returns whether two OnConflictOptions values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *OnConflictOptions) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *OnConflictOptions + switch t := that.(type) { + case *OnConflictOptions: + that1 = t + case OnConflictOptions: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestIdInfo to the protobuf v3 wire format +func (val *RequestIdInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestIdInfo from the protobuf v3 wire format +func (val *RequestIdInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestIdInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestIdInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestIdInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestIdInfo + switch t := that.(type) { + case *RequestIdInfo: + that1 = t + case RequestIdInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PostResetOperation to the protobuf v3 wire format +func (val *PostResetOperation) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PostResetOperation from the protobuf v3 wire format +func (val *PostResetOperation) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PostResetOperation) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PostResetOperation values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PostResetOperation) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PostResetOperation + switch t := that.(type) { + case *PostResetOperation: + that1 = t + case PostResetOperation: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type WorkflowExecutionPauseInfo to the protobuf v3 wire format +func (val *WorkflowExecutionPauseInfo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type WorkflowExecutionPauseInfo from the protobuf v3 wire format +func (val *WorkflowExecutionPauseInfo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *WorkflowExecutionPauseInfo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two WorkflowExecutionPauseInfo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *WorkflowExecutionPauseInfo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *WorkflowExecutionPauseInfo + switch t := that.(type) { + case *WorkflowExecutionPauseInfo: + that1 = t + case WorkflowExecutionPauseInfo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/workflow/v1/message.pb.go b/api_next/workflow/v1/message.pb.go new file mode 100644 index 00000000..f21eb4ff --- /dev/null +++ b/api_next/workflow/v1/message.pb.go @@ -0,0 +1,3753 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/workflow/v1/message.proto + +package workflow + +import ( + v16 "go.temporal.io/api/activity/v1" + v1 "go.temporal.io/api/common/v1" + v12 "go.temporal.io/api/deployment/v1" + v11 "go.temporal.io/api/enums/v1" + v15 "go.temporal.io/api/failure/v1" + v14 "go.temporal.io/api/sdk/v1" + v13 "go.temporal.io/api/taskqueue/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + emptypb "google.golang.org/protobuf/types/known/emptypb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type VersioningOverride_PinnedOverrideBehavior int32 + +const ( + VersioningOverride_PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED VersioningOverride_PinnedOverrideBehavior = // Unspecified. + 0 + VersioningOverride_PINNED_OVERRIDE_BEHAVIOR_PINNED VersioningOverride_PinnedOverrideBehavior = // Override workflow behavior to be Pinned. + 1 +) + +// Enum value maps for VersioningOverride_PinnedOverrideBehavior. +var ( + VersioningOverride_PinnedOverrideBehavior_name = map[int32]string{ + 0: "PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED", + 1: "PINNED_OVERRIDE_BEHAVIOR_PINNED", + } + VersioningOverride_PinnedOverrideBehavior_value = map[string]int32{ + "PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED": 0, + "PINNED_OVERRIDE_BEHAVIOR_PINNED": 1, + } +) + +func (x VersioningOverride_PinnedOverrideBehavior) Enum() *VersioningOverride_PinnedOverrideBehavior { + p := new(VersioningOverride_PinnedOverrideBehavior) + *p = x + return p +} + +func (x VersioningOverride_PinnedOverrideBehavior) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (VersioningOverride_PinnedOverrideBehavior) Descriptor() protoreflect.EnumDescriptor { + return file_temporal_api_workflow_v1_message_proto_enumTypes[0].Descriptor() +} + +func (VersioningOverride_PinnedOverrideBehavior) Type() protoreflect.EnumType { + return &file_temporal_api_workflow_v1_message_proto_enumTypes[0] +} + +func (x VersioningOverride_PinnedOverrideBehavior) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use VersioningOverride_PinnedOverrideBehavior.Descriptor instead. +func (VersioningOverride_PinnedOverrideBehavior) EnumDescriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{17, 0} +} + +// Hold basic information about a workflow execution. +// This structure is a part of visibility, and thus contain a limited subset of information. +type WorkflowExecutionInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Execution *v1.WorkflowExecution `protobuf:"bytes,1,opt,name=execution,proto3" json:"execution,omitempty"` + Type *v1.WorkflowType `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` + StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + CloseTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"` + Status v11.WorkflowExecutionStatus `protobuf:"varint,5,opt,name=status,proto3,enum=temporal.api.enums.v1.WorkflowExecutionStatus" json:"status,omitempty"` + HistoryLength int64 `protobuf:"varint,6,opt,name=history_length,json=historyLength,proto3" json:"history_length,omitempty"` + ParentNamespaceId string `protobuf:"bytes,7,opt,name=parent_namespace_id,json=parentNamespaceId,proto3" json:"parent_namespace_id,omitempty"` + ParentExecution *v1.WorkflowExecution `protobuf:"bytes,8,opt,name=parent_execution,json=parentExecution,proto3" json:"parent_execution,omitempty"` + ExecutionTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=execution_time,json=executionTime,proto3" json:"execution_time,omitempty"` + Memo *v1.Memo `protobuf:"bytes,10,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,11,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + AutoResetPoints *ResetPoints `protobuf:"bytes,12,opt,name=auto_reset_points,json=autoResetPoints,proto3" json:"auto_reset_points,omitempty"` + TaskQueue string `protobuf:"bytes,13,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + StateTransitionCount int64 `protobuf:"varint,14,opt,name=state_transition_count,json=stateTransitionCount,proto3" json:"state_transition_count,omitempty"` + HistorySizeBytes int64 `protobuf:"varint,15,opt,name=history_size_bytes,json=historySizeBytes,proto3" json:"history_size_bytes,omitempty"` + // If set, the most recent worker version stamp that appeared in a workflow task completion + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + MostRecentWorkerVersionStamp *v1.WorkerVersionStamp `protobuf:"bytes,16,opt,name=most_recent_worker_version_stamp,json=mostRecentWorkerVersionStamp,proto3" json:"most_recent_worker_version_stamp,omitempty"` + // Workflow execution duration is defined as difference between close time and execution time. + // This field is only populated if the workflow is closed. + ExecutionDuration *durationpb.Duration `protobuf:"bytes,17,opt,name=execution_duration,json=executionDuration,proto3" json:"execution_duration,omitempty"` + // Contains information about the root workflow execution. + // The root workflow execution is defined as follows: + // 1. A workflow without parent workflow is its own root workflow. + // 2. A workflow that has a parent workflow has the same root workflow as its parent workflow. + // Note: workflows continued as new or reseted may or may not have parents, check examples below. + // + // Examples: + // + // Scenario 1: Workflow W1 starts child workflow W2, and W2 starts child workflow W3. + // - The root workflow of all three workflows is W1. + // Scenario 2: Workflow W1 starts child workflow W2, and W2 continued as new W3. + // - The root workflow of all three workflows is W1. + // Scenario 3: Workflow W1 continued as new W2. + // - The root workflow of W1 is W1 and the root workflow of W2 is W2. + // Scenario 4: Workflow W1 starts child workflow W2, and W2 is reseted, creating W3 + // - The root workflow of all three workflows is W1. + // Scenario 5: Workflow W1 is reseted, creating W2. + // - The root workflow of W1 is W1 and the root workflow of W2 is W2. + RootExecution *v1.WorkflowExecution `protobuf:"bytes,18,opt,name=root_execution,json=rootExecution,proto3" json:"root_execution,omitempty"` + // The currently assigned build ID for this execution. Presence of this value means worker versioning is used + // for this execution. Assigned build ID is selected based on Worker Versioning Assignment Rules + // when the first workflow task of the execution is scheduled. If the first workflow task fails and is scheduled + // again, the assigned build ID may change according to the latest versioning rules. + // Assigned build ID can also change in the middle of a execution if Compatible Redirect Rules are applied to + // this execution. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + AssignedBuildId string `protobuf:"bytes,19,opt,name=assigned_build_id,json=assignedBuildId,proto3" json:"assigned_build_id,omitempty"` + // Build ID inherited from a previous/parent execution. If present, assigned_build_id will be set to this, instead + // of using the assignment rules. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + InheritedBuildId string `protobuf:"bytes,20,opt,name=inherited_build_id,json=inheritedBuildId,proto3" json:"inherited_build_id,omitempty"` + // The first run ID in the execution chain. + // Executions created via the following operations are considered to be in the same chain + // - ContinueAsNew + // - Workflow Retry + // - Workflow Reset + // - Cron Schedule + FirstRunId string `protobuf:"bytes,21,opt,name=first_run_id,json=firstRunId,proto3" json:"first_run_id,omitempty"` + // Absent value means the workflow execution is not versioned. When present, the execution might + // be versioned or unversioned, depending on `versioning_info.behavior` and `versioning_info.versioning_override`. + // Experimental. Versioning info is experimental and might change in the future. + VersioningInfo *WorkflowExecutionVersioningInfo `protobuf:"bytes,22,opt,name=versioning_info,json=versioningInfo,proto3" json:"versioning_info,omitempty"` + // The name of Worker Deployment that completed the most recent workflow task. + WorkerDeploymentName string `protobuf:"bytes,23,opt,name=worker_deployment_name,json=workerDeploymentName,proto3" json:"worker_deployment_name,omitempty"` + // Priority metadata + Priority *v1.Priority `protobuf:"bytes,24,opt,name=priority,proto3" json:"priority,omitempty"` + // Total size in bytes of all external payloads referenced in workflow history. + ExternalPayloadSizeBytes int64 `protobuf:"varint,25,opt,name=external_payload_size_bytes,json=externalPayloadSizeBytes,proto3" json:"external_payload_size_bytes,omitempty"` + // Count of external payloads referenced in workflow history. + ExternalPayloadCount int64 `protobuf:"varint,26,opt,name=external_payload_count,json=externalPayloadCount,proto3" json:"external_payload_count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionInfo) Reset() { + *x = WorkflowExecutionInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionInfo) ProtoMessage() {} + +func (x *WorkflowExecutionInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionInfo.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{0} +} + +func (x *WorkflowExecutionInfo) GetExecution() *v1.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *WorkflowExecutionInfo) GetType() *v1.WorkflowType { + if x != nil { + return x.Type + } + return nil +} + +func (x *WorkflowExecutionInfo) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *WorkflowExecutionInfo) GetCloseTime() *timestamppb.Timestamp { + if x != nil { + return x.CloseTime + } + return nil +} + +func (x *WorkflowExecutionInfo) GetStatus() v11.WorkflowExecutionStatus { + if x != nil { + return x.Status + } + return v11.WorkflowExecutionStatus(0) +} + +func (x *WorkflowExecutionInfo) GetHistoryLength() int64 { + if x != nil { + return x.HistoryLength + } + return 0 +} + +func (x *WorkflowExecutionInfo) GetParentNamespaceId() string { + if x != nil { + return x.ParentNamespaceId + } + return "" +} + +func (x *WorkflowExecutionInfo) GetParentExecution() *v1.WorkflowExecution { + if x != nil { + return x.ParentExecution + } + return nil +} + +func (x *WorkflowExecutionInfo) GetExecutionTime() *timestamppb.Timestamp { + if x != nil { + return x.ExecutionTime + } + return nil +} + +func (x *WorkflowExecutionInfo) GetMemo() *v1.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *WorkflowExecutionInfo) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *WorkflowExecutionInfo) GetAutoResetPoints() *ResetPoints { + if x != nil { + return x.AutoResetPoints + } + return nil +} + +func (x *WorkflowExecutionInfo) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *WorkflowExecutionInfo) GetStateTransitionCount() int64 { + if x != nil { + return x.StateTransitionCount + } + return 0 +} + +func (x *WorkflowExecutionInfo) GetHistorySizeBytes() int64 { + if x != nil { + return x.HistorySizeBytes + } + return 0 +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *WorkflowExecutionInfo) GetMostRecentWorkerVersionStamp() *v1.WorkerVersionStamp { + if x != nil { + return x.MostRecentWorkerVersionStamp + } + return nil +} + +func (x *WorkflowExecutionInfo) GetExecutionDuration() *durationpb.Duration { + if x != nil { + return x.ExecutionDuration + } + return nil +} + +func (x *WorkflowExecutionInfo) GetRootExecution() *v1.WorkflowExecution { + if x != nil { + return x.RootExecution + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *WorkflowExecutionInfo) GetAssignedBuildId() string { + if x != nil { + return x.AssignedBuildId + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *WorkflowExecutionInfo) GetInheritedBuildId() string { + if x != nil { + return x.InheritedBuildId + } + return "" +} + +func (x *WorkflowExecutionInfo) GetFirstRunId() string { + if x != nil { + return x.FirstRunId + } + return "" +} + +func (x *WorkflowExecutionInfo) GetVersioningInfo() *WorkflowExecutionVersioningInfo { + if x != nil { + return x.VersioningInfo + } + return nil +} + +func (x *WorkflowExecutionInfo) GetWorkerDeploymentName() string { + if x != nil { + return x.WorkerDeploymentName + } + return "" +} + +func (x *WorkflowExecutionInfo) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *WorkflowExecutionInfo) GetExternalPayloadSizeBytes() int64 { + if x != nil { + return x.ExternalPayloadSizeBytes + } + return 0 +} + +func (x *WorkflowExecutionInfo) GetExternalPayloadCount() int64 { + if x != nil { + return x.ExternalPayloadCount + } + return 0 +} + +// Holds all the extra information about workflow execution that is not part of Visibility. +type WorkflowExecutionExtendedInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Workflow execution expiration time is defined as workflow start time plus expiration timeout. + // Workflow start time may change after workflow reset. + ExecutionExpirationTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=execution_expiration_time,json=executionExpirationTime,proto3" json:"execution_expiration_time,omitempty"` + // Workflow run expiration time is defined as current workflow run start time plus workflow run timeout. + RunExpirationTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=run_expiration_time,json=runExpirationTime,proto3" json:"run_expiration_time,omitempty"` + // indicates if the workflow received a cancel request + CancelRequested bool `protobuf:"varint,3,opt,name=cancel_requested,json=cancelRequested,proto3" json:"cancel_requested,omitempty"` + // Last workflow reset time. Nil if the workflow was never reset. + LastResetTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_reset_time,json=lastResetTime,proto3" json:"last_reset_time,omitempty"` + // Original workflow start time. + OriginalStartTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=original_start_time,json=originalStartTime,proto3" json:"original_start_time,omitempty"` + // Reset Run ID points to the new run when this execution is reset. If the execution is reset multiple times, it points to the latest run. + ResetRunId string `protobuf:"bytes,6,opt,name=reset_run_id,json=resetRunId,proto3" json:"reset_run_id,omitempty"` + // Request ID information (eg: history event information associated with the request ID). + // Note: It only contains request IDs from StartWorkflowExecution requests, including indirect + // calls (eg: if SignalWithStartWorkflowExecution starts a new workflow, then the request ID is + // used in the StartWorkflowExecution request). + RequestIdInfos map[string]*RequestIdInfo `protobuf:"bytes,7,rep,name=request_id_infos,json=requestIdInfos,proto3" json:"request_id_infos,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Information about the workflow execution pause operation. + PauseInfo *WorkflowExecutionPauseInfo `protobuf:"bytes,8,opt,name=pause_info,json=pauseInfo,proto3" json:"pause_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionExtendedInfo) Reset() { + *x = WorkflowExecutionExtendedInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionExtendedInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionExtendedInfo) ProtoMessage() {} + +func (x *WorkflowExecutionExtendedInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionExtendedInfo.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionExtendedInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{1} +} + +func (x *WorkflowExecutionExtendedInfo) GetExecutionExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExecutionExpirationTime + } + return nil +} + +func (x *WorkflowExecutionExtendedInfo) GetRunExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.RunExpirationTime + } + return nil +} + +func (x *WorkflowExecutionExtendedInfo) GetCancelRequested() bool { + if x != nil { + return x.CancelRequested + } + return false +} + +func (x *WorkflowExecutionExtendedInfo) GetLastResetTime() *timestamppb.Timestamp { + if x != nil { + return x.LastResetTime + } + return nil +} + +func (x *WorkflowExecutionExtendedInfo) GetOriginalStartTime() *timestamppb.Timestamp { + if x != nil { + return x.OriginalStartTime + } + return nil +} + +func (x *WorkflowExecutionExtendedInfo) GetResetRunId() string { + if x != nil { + return x.ResetRunId + } + return "" +} + +func (x *WorkflowExecutionExtendedInfo) GetRequestIdInfos() map[string]*RequestIdInfo { + if x != nil { + return x.RequestIdInfos + } + return nil +} + +func (x *WorkflowExecutionExtendedInfo) GetPauseInfo() *WorkflowExecutionPauseInfo { + if x != nil { + return x.PauseInfo + } + return nil +} + +// Holds all the information about worker versioning for a particular workflow execution. +// Experimental. Versioning info is experimental and might change in the future. +type WorkflowExecutionVersioningInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Versioning behavior determines how the server should treat this execution when workers are + // upgraded. When present it means this workflow execution is versioned; UNSPECIFIED means + // unversioned. See the comments in `VersioningBehavior` enum for more info about different + // behaviors. + // + // Child workflows or CaN executions **inherit** their parent/previous run's effective Versioning + // Behavior and Version (except when the new execution runs on a task queue not belonging to the + // same deployment version as the parent/previous run's task queue). The first workflow task will + // be dispatched according to the inherited behavior (or to the current version of the task-queue's + // deployment in the case of AutoUpgrade.) After completion of their first workflow task the + // Deployment Version and Behavior of the execution will update according to configuration on the worker. + // + // Note that `behavior` is overridden by `versioning_override` if the latter is present. + Behavior v11.VersioningBehavior `protobuf:"varint,1,opt,name=behavior,proto3,enum=temporal.api.enums.v1.VersioningBehavior" json:"behavior,omitempty"` + // The worker deployment that completed the last workflow task of this workflow execution. Must + // be present if `behavior` is set. Absent value means no workflow task is completed, or the + // last workflow task was completed by an unversioned worker. Unversioned workers may still send + // a deployment value which will be stored here, so the right way to check if an execution is + // versioned if an execution is versioned or not is via the `behavior` field. + // Note that `deployment` is overridden by `versioning_override` if the latter is present. + // Deprecated. Use `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + Deployment *v12.Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Deprecated. Use `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + Version string `protobuf:"bytes,5,opt,name=version,proto3" json:"version,omitempty"` + // The Worker Deployment Version that completed the last workflow task of this workflow execution. + // An absent value means no workflow task is completed, or the workflow is unversioned. + // If present, and `behavior` is UNSPECIFIED, the last task of this workflow execution was completed + // by a worker that is not using versioning but _is_ passing Deployment Name and Build ID. + // + // Child workflows or CaN executions **inherit** their parent/previous run's effective Versioning + // Behavior and Version (except when the new execution runs on a task queue not belonging to the + // same deployment version as the parent/previous run's task queue). The first workflow task will + // be dispatched according to the inherited behavior (or to the current version of the task-queue's + // deployment in the case of AutoUpgrade.) After completion of their first workflow task the + // Deployment Version and Behavior of the execution will update according to configuration on the worker. + // + // Note that if `versioning_override.behavior` is PINNED then `versioning_override.pinned_version` + // will override this value. + DeploymentVersion *v12.WorkerDeploymentVersion `protobuf:"bytes,7,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + // Present if user has set an execution-specific versioning override. This override takes + // precedence over SDK-sent `behavior` (and `version` when override is PINNED). An + // override can be set when starting a new execution, as well as afterwards by calling the + // `UpdateWorkflowExecutionOptions` API. + // Pinned overrides are automatically inherited by child workflows, continue-as-new workflows, + // workflow retries, and cron workflows. + VersioningOverride *VersioningOverride `protobuf:"bytes,3,opt,name=versioning_override,json=versioningOverride,proto3" json:"versioning_override,omitempty"` + // When present, indicates the workflow is transitioning to a different deployment. Can + // indicate one of the following transitions: unversioned -> versioned, versioned -> versioned + // on a different deployment, or versioned -> unversioned. + // Not applicable to workflows with PINNED behavior. + // When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically + // start a transition to the task queue's current deployment if the task queue's current + // deployment is different from the workflow's deployment. + // If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those + // tasks will be redirected to the task queue's current deployment. As soon as a poller from + // that deployment is available to receive the task, the workflow will automatically start a + // transition to that deployment and continue execution there. + // A deployment transition can only exist while there is a pending or started workflow task. + // Once the pending workflow task completes on the transition's target deployment, the + // transition completes and the workflow's `deployment` and `behavior` fields are updated per + // the worker's task completion response. + // Pending activities will not start new attempts during a transition. Once the transition is + // completed, pending activities will start their next attempt on the new deployment. + // Deprecated. Use version_transition. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + DeploymentTransition *DeploymentTransition `protobuf:"bytes,4,opt,name=deployment_transition,json=deploymentTransition,proto3" json:"deployment_transition,omitempty"` + // When present, indicates the workflow is transitioning to a different deployment version + // (which may belong to the same deployment name or another). Can indicate one of the following + // transitions: unversioned -> versioned, versioned -> versioned + // on a different deployment version, or versioned -> unversioned. + // Not applicable to workflows with PINNED behavior. + // When a workflow with AUTO_UPGRADE behavior creates a new workflow task, it will automatically + // start a transition to the task queue's current version if the task queue's current version is + // different from the workflow's current deployment version. + // If the AUTO_UPGRADE workflow is stuck due to backlogged activity or workflow tasks, those + // tasks will be redirected to the task queue's current version. As soon as a poller from + // that deployment version is available to receive the task, the workflow will automatically + // start a transition to that version and continue execution there. + // A version transition can only exist while there is a pending or started workflow task. + // Once the pending workflow task completes on the transition's target version, the + // transition completes and the workflow's `behavior`, and `deployment_version` fields are updated per the + // worker's task completion response. + // Pending activities will not start new attempts during a transition. Once the transition is + // completed, pending activities will start their next attempt on the new version. + VersionTransition *DeploymentVersionTransition `protobuf:"bytes,6,opt,name=version_transition,json=versionTransition,proto3" json:"version_transition,omitempty"` + // Monotonic counter reflecting the latest routing decision for this workflow execution. + // Used for staleness detection between history and matching when dispatching tasks to workers. + // Incremented when a workflow execution routes to a new deployment version, which happens + // when a worker of the new deployment version completes a workflow task. + // Note: Pinned tasks and sticky tasks send a value of 0 for this field since these tasks do not + // face the problem of inconsistent dispatching that arises from eventual consistency between + // task queues and their partitions. + RevisionNumber int64 `protobuf:"varint,8,opt,name=revision_number,json=revisionNumber,proto3" json:"revision_number,omitempty"` + // Experimental. + // If this workflow is the result of a continue-as-new, this field is set to the initial_versioning_behavior + // specified in that command. + // Only used for the initial task of this run and the initial task of any retries of this run. + // Not passed to children or to future continue-as-new. + // + // Note: In the first release of Upgrade-on-CaN, when the only ContinueAsNewVersioningBehavior was AutoUpgrade, + // a non-empty InheritedAutoUpgradeInfo meant that the workflow should start as AutoUpgrade. So for compatibility + // with ContinueAsNew history commands generated during that time, know that an UNSPECIFIED value here is equivalent + // to ContinueAsNewVersioningBehaviorAutoUpgrade if the behavior of the workflow is AutoUpgrade. + ContinueAsNewInitialVersioningBehavior v11.ContinueAsNewVersioningBehavior `protobuf:"varint,9,opt,name=continue_as_new_initial_versioning_behavior,json=continueAsNewInitialVersioningBehavior,proto3,enum=temporal.api.enums.v1.ContinueAsNewVersioningBehavior" json:"continue_as_new_initial_versioning_behavior,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionVersioningInfo) Reset() { + *x = WorkflowExecutionVersioningInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionVersioningInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionVersioningInfo) ProtoMessage() {} + +func (x *WorkflowExecutionVersioningInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionVersioningInfo.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionVersioningInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{2} +} + +func (x *WorkflowExecutionVersioningInfo) GetBehavior() v11.VersioningBehavior { + if x != nil { + return x.Behavior + } + return v11.VersioningBehavior(0) +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *WorkflowExecutionVersioningInfo) GetDeployment() *v12.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *WorkflowExecutionVersioningInfo) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *WorkflowExecutionVersioningInfo) GetDeploymentVersion() *v12.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *WorkflowExecutionVersioningInfo) GetVersioningOverride() *VersioningOverride { + if x != nil { + return x.VersioningOverride + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *WorkflowExecutionVersioningInfo) GetDeploymentTransition() *DeploymentTransition { + if x != nil { + return x.DeploymentTransition + } + return nil +} + +func (x *WorkflowExecutionVersioningInfo) GetVersionTransition() *DeploymentVersionTransition { + if x != nil { + return x.VersionTransition + } + return nil +} + +func (x *WorkflowExecutionVersioningInfo) GetRevisionNumber() int64 { + if x != nil { + return x.RevisionNumber + } + return 0 +} + +func (x *WorkflowExecutionVersioningInfo) GetContinueAsNewInitialVersioningBehavior() v11.ContinueAsNewVersioningBehavior { + if x != nil { + return x.ContinueAsNewInitialVersioningBehavior + } + return v11.ContinueAsNewVersioningBehavior(0) +} + +// Holds information about ongoing transition of a workflow execution from one deployment to another. +// Deprecated. Use DeploymentVersionTransition. +type DeploymentTransition struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The target deployment of the transition. Null means a so-far-versioned workflow is + // transitioning to unversioned workers. + Deployment *v12.Deployment `protobuf:"bytes,1,opt,name=deployment,proto3" json:"deployment,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeploymentTransition) Reset() { + *x = DeploymentTransition{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeploymentTransition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentTransition) ProtoMessage() {} + +func (x *DeploymentTransition) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentTransition.ProtoReflect.Descriptor instead. +func (*DeploymentTransition) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{3} +} + +func (x *DeploymentTransition) GetDeployment() *v12.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +// Holds information about ongoing transition of a workflow execution from one worker +// deployment version to another. +// Experimental. Might change in the future. +type DeploymentVersionTransition struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated. Use `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"` + // The target Version of the transition. + // If nil, a so-far-versioned workflow is transitioning to unversioned workers. + DeploymentVersion *v12.WorkerDeploymentVersion `protobuf:"bytes,2,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeploymentVersionTransition) Reset() { + *x = DeploymentVersionTransition{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeploymentVersionTransition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeploymentVersionTransition) ProtoMessage() {} + +func (x *DeploymentVersionTransition) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeploymentVersionTransition.ProtoReflect.Descriptor instead. +func (*DeploymentVersionTransition) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{4} +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *DeploymentVersionTransition) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *DeploymentVersionTransition) GetDeploymentVersion() *v12.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +type WorkflowExecutionConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + TaskQueue *v13.TaskQueue `protobuf:"bytes,1,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + WorkflowExecutionTimeout *durationpb.Duration `protobuf:"bytes,2,opt,name=workflow_execution_timeout,json=workflowExecutionTimeout,proto3" json:"workflow_execution_timeout,omitempty"` + WorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,3,opt,name=workflow_run_timeout,json=workflowRunTimeout,proto3" json:"workflow_run_timeout,omitempty"` + DefaultWorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,4,opt,name=default_workflow_task_timeout,json=defaultWorkflowTaskTimeout,proto3" json:"default_workflow_task_timeout,omitempty"` + // User metadata provided on start workflow. + UserMetadata *v14.UserMetadata `protobuf:"bytes,5,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionConfig) Reset() { + *x = WorkflowExecutionConfig{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionConfig) ProtoMessage() {} + +func (x *WorkflowExecutionConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionConfig.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{5} +} + +func (x *WorkflowExecutionConfig) GetTaskQueue() *v13.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *WorkflowExecutionConfig) GetWorkflowExecutionTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowExecutionTimeout + } + return nil +} + +func (x *WorkflowExecutionConfig) GetWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowRunTimeout + } + return nil +} + +func (x *WorkflowExecutionConfig) GetDefaultWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.DefaultWorkflowTaskTimeout + } + return nil +} + +func (x *WorkflowExecutionConfig) GetUserMetadata() *v14.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +type PendingActivityInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActivityId string `protobuf:"bytes,1,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + ActivityType *v1.ActivityType `protobuf:"bytes,2,opt,name=activity_type,json=activityType,proto3" json:"activity_type,omitempty"` + State v11.PendingActivityState `protobuf:"varint,3,opt,name=state,proto3,enum=temporal.api.enums.v1.PendingActivityState" json:"state,omitempty"` + HeartbeatDetails *v1.Payloads `protobuf:"bytes,4,opt,name=heartbeat_details,json=heartbeatDetails,proto3" json:"heartbeat_details,omitempty"` + LastHeartbeatTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=last_heartbeat_time,json=lastHeartbeatTime,proto3" json:"last_heartbeat_time,omitempty"` + LastStartedTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_started_time,json=lastStartedTime,proto3" json:"last_started_time,omitempty"` + Attempt int32 `protobuf:"varint,7,opt,name=attempt,proto3" json:"attempt,omitempty"` + MaximumAttempts int32 `protobuf:"varint,8,opt,name=maximum_attempts,json=maximumAttempts,proto3" json:"maximum_attempts,omitempty"` + ScheduledTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=scheduled_time,json=scheduledTime,proto3" json:"scheduled_time,omitempty"` + ExpirationTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=expiration_time,json=expirationTime,proto3" json:"expiration_time,omitempty"` + LastFailure *v15.Failure `protobuf:"bytes,11,opt,name=last_failure,json=lastFailure,proto3" json:"last_failure,omitempty"` + LastWorkerIdentity string `protobuf:"bytes,12,opt,name=last_worker_identity,json=lastWorkerIdentity,proto3" json:"last_worker_identity,omitempty"` + // Absence of `assigned_build_id` generally means this task is on an "unversioned" task queue. + // In rare cases, it can also mean that the task queue is versioned but we failed to write activity's + // independently-assigned build ID to the database. This case heals automatically once the task is dispatched. + // Deprecated. This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Types that are valid to be assigned to AssignedBuildId: + // + // *PendingActivityInfo_UseWorkflowBuildId + // *PendingActivityInfo_LastIndependentlyAssignedBuildId + AssignedBuildId isPendingActivityInfo_AssignedBuildId `protobuf_oneof:"assigned_build_id"` + // Deprecated. The version stamp of the worker to whom this activity was most recently dispatched + // This field should be cleaned up when versioning-2 API is removed. [cleanup-experimental-wv] + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + LastWorkerVersionStamp *v1.WorkerVersionStamp `protobuf:"bytes,15,opt,name=last_worker_version_stamp,json=lastWorkerVersionStamp,proto3" json:"last_worker_version_stamp,omitempty"` + // The time activity will wait until the next retry. + // If activity is currently running it will be next retry interval if activity failed. + // If activity is currently waiting it will be current retry interval. + // If there will be no retry it will be null. + CurrentRetryInterval *durationpb.Duration `protobuf:"bytes,16,opt,name=current_retry_interval,json=currentRetryInterval,proto3" json:"current_retry_interval,omitempty"` + // The time when the last activity attempt was completed. If activity has not been completed yet then it will be null. + LastAttemptCompleteTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=last_attempt_complete_time,json=lastAttemptCompleteTime,proto3" json:"last_attempt_complete_time,omitempty"` + // Next time when activity will be scheduled. + // If activity is currently scheduled or started it will be null. + NextAttemptScheduleTime *timestamppb.Timestamp `protobuf:"bytes,18,opt,name=next_attempt_schedule_time,json=nextAttemptScheduleTime,proto3" json:"next_attempt_schedule_time,omitempty"` + // Indicates if activity is paused. + Paused bool `protobuf:"varint,19,opt,name=paused,proto3" json:"paused,omitempty"` + // The deployment this activity was dispatched to most recently. Present only if the activity + // was dispatched to a versioned worker. + // Deprecated. Use `last_deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + LastDeployment *v12.Deployment `protobuf:"bytes,20,opt,name=last_deployment,json=lastDeployment,proto3" json:"last_deployment,omitempty"` + // The Worker Deployment Version this activity was dispatched to most recently. + // Deprecated. Use `last_deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + LastWorkerDeploymentVersion string `protobuf:"bytes,21,opt,name=last_worker_deployment_version,json=lastWorkerDeploymentVersion,proto3" json:"last_worker_deployment_version,omitempty"` + // The Worker Deployment Version this activity was dispatched to most recently. + // If nil, the activity has not yet been dispatched or was last dispatched to an unversioned worker. + LastDeploymentVersion *v12.WorkerDeploymentVersion `protobuf:"bytes,25,opt,name=last_deployment_version,json=lastDeploymentVersion,proto3" json:"last_deployment_version,omitempty"` + // Priority metadata. If this message is not present, or any fields are not + // present, they inherit the values from the workflow. + Priority *v1.Priority `protobuf:"bytes,22,opt,name=priority,proto3" json:"priority,omitempty"` + PauseInfo *PendingActivityInfo_PauseInfo `protobuf:"bytes,23,opt,name=pause_info,json=pauseInfo,proto3" json:"pause_info,omitempty"` + // Current activity options. May be different from the one used to start the activity. + ActivityOptions *v16.ActivityOptions `protobuf:"bytes,24,opt,name=activity_options,json=activityOptions,proto3" json:"activity_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PendingActivityInfo) Reset() { + *x = PendingActivityInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PendingActivityInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingActivityInfo) ProtoMessage() {} + +func (x *PendingActivityInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PendingActivityInfo.ProtoReflect.Descriptor instead. +func (*PendingActivityInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{6} +} + +func (x *PendingActivityInfo) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *PendingActivityInfo) GetActivityType() *v1.ActivityType { + if x != nil { + return x.ActivityType + } + return nil +} + +func (x *PendingActivityInfo) GetState() v11.PendingActivityState { + if x != nil { + return x.State + } + return v11.PendingActivityState(0) +} + +func (x *PendingActivityInfo) GetHeartbeatDetails() *v1.Payloads { + if x != nil { + return x.HeartbeatDetails + } + return nil +} + +func (x *PendingActivityInfo) GetLastHeartbeatTime() *timestamppb.Timestamp { + if x != nil { + return x.LastHeartbeatTime + } + return nil +} + +func (x *PendingActivityInfo) GetLastStartedTime() *timestamppb.Timestamp { + if x != nil { + return x.LastStartedTime + } + return nil +} + +func (x *PendingActivityInfo) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *PendingActivityInfo) GetMaximumAttempts() int32 { + if x != nil { + return x.MaximumAttempts + } + return 0 +} + +func (x *PendingActivityInfo) GetScheduledTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledTime + } + return nil +} + +func (x *PendingActivityInfo) GetExpirationTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpirationTime + } + return nil +} + +func (x *PendingActivityInfo) GetLastFailure() *v15.Failure { + if x != nil { + return x.LastFailure + } + return nil +} + +func (x *PendingActivityInfo) GetLastWorkerIdentity() string { + if x != nil { + return x.LastWorkerIdentity + } + return "" +} + +func (x *PendingActivityInfo) GetAssignedBuildId() isPendingActivityInfo_AssignedBuildId { + if x != nil { + return x.AssignedBuildId + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *PendingActivityInfo) GetUseWorkflowBuildId() *emptypb.Empty { + if x != nil { + if x, ok := x.AssignedBuildId.(*PendingActivityInfo_UseWorkflowBuildId); ok { + return x.UseWorkflowBuildId + } + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *PendingActivityInfo) GetLastIndependentlyAssignedBuildId() string { + if x != nil { + if x, ok := x.AssignedBuildId.(*PendingActivityInfo_LastIndependentlyAssignedBuildId); ok { + return x.LastIndependentlyAssignedBuildId + } + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *PendingActivityInfo) GetLastWorkerVersionStamp() *v1.WorkerVersionStamp { + if x != nil { + return x.LastWorkerVersionStamp + } + return nil +} + +func (x *PendingActivityInfo) GetCurrentRetryInterval() *durationpb.Duration { + if x != nil { + return x.CurrentRetryInterval + } + return nil +} + +func (x *PendingActivityInfo) GetLastAttemptCompleteTime() *timestamppb.Timestamp { + if x != nil { + return x.LastAttemptCompleteTime + } + return nil +} + +func (x *PendingActivityInfo) GetNextAttemptScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.NextAttemptScheduleTime + } + return nil +} + +func (x *PendingActivityInfo) GetPaused() bool { + if x != nil { + return x.Paused + } + return false +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *PendingActivityInfo) GetLastDeployment() *v12.Deployment { + if x != nil { + return x.LastDeployment + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *PendingActivityInfo) GetLastWorkerDeploymentVersion() string { + if x != nil { + return x.LastWorkerDeploymentVersion + } + return "" +} + +func (x *PendingActivityInfo) GetLastDeploymentVersion() *v12.WorkerDeploymentVersion { + if x != nil { + return x.LastDeploymentVersion + } + return nil +} + +func (x *PendingActivityInfo) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *PendingActivityInfo) GetPauseInfo() *PendingActivityInfo_PauseInfo { + if x != nil { + return x.PauseInfo + } + return nil +} + +func (x *PendingActivityInfo) GetActivityOptions() *v16.ActivityOptions { + if x != nil { + return x.ActivityOptions + } + return nil +} + +type isPendingActivityInfo_AssignedBuildId interface { + isPendingActivityInfo_AssignedBuildId() +} + +type PendingActivityInfo_UseWorkflowBuildId struct { + // Deprecated. When present, it means this activity is assigned to the build ID of its workflow. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + UseWorkflowBuildId *emptypb.Empty `protobuf:"bytes,13,opt,name=use_workflow_build_id,json=useWorkflowBuildId,proto3,oneof"` +} + +type PendingActivityInfo_LastIndependentlyAssignedBuildId struct { + // Deprecated. This means the activity is independently versioned and not bound to the build ID of its workflow. + // The activity will use the build id in this field instead. + // If the task fails and is scheduled again, the assigned build ID may change according to the latest versioning + // rules. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + LastIndependentlyAssignedBuildId string `protobuf:"bytes,14,opt,name=last_independently_assigned_build_id,json=lastIndependentlyAssignedBuildId,proto3,oneof"` +} + +func (*PendingActivityInfo_UseWorkflowBuildId) isPendingActivityInfo_AssignedBuildId() {} + +func (*PendingActivityInfo_LastIndependentlyAssignedBuildId) isPendingActivityInfo_AssignedBuildId() { +} + +type PendingChildExecutionInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowId string `protobuf:"bytes,1,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + WorkflowTypeName string `protobuf:"bytes,3,opt,name=workflow_type_name,json=workflowTypeName,proto3" json:"workflow_type_name,omitempty"` + InitiatedId int64 `protobuf:"varint,4,opt,name=initiated_id,json=initiatedId,proto3" json:"initiated_id,omitempty"` + // Default: PARENT_CLOSE_POLICY_TERMINATE. + ParentClosePolicy v11.ParentClosePolicy `protobuf:"varint,5,opt,name=parent_close_policy,json=parentClosePolicy,proto3,enum=temporal.api.enums.v1.ParentClosePolicy" json:"parent_close_policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PendingChildExecutionInfo) Reset() { + *x = PendingChildExecutionInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PendingChildExecutionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingChildExecutionInfo) ProtoMessage() {} + +func (x *PendingChildExecutionInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PendingChildExecutionInfo.ProtoReflect.Descriptor instead. +func (*PendingChildExecutionInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{7} +} + +func (x *PendingChildExecutionInfo) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *PendingChildExecutionInfo) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *PendingChildExecutionInfo) GetWorkflowTypeName() string { + if x != nil { + return x.WorkflowTypeName + } + return "" +} + +func (x *PendingChildExecutionInfo) GetInitiatedId() int64 { + if x != nil { + return x.InitiatedId + } + return 0 +} + +func (x *PendingChildExecutionInfo) GetParentClosePolicy() v11.ParentClosePolicy { + if x != nil { + return x.ParentClosePolicy + } + return v11.ParentClosePolicy(0) +} + +type PendingWorkflowTaskInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + State v11.PendingWorkflowTaskState `protobuf:"varint,1,opt,name=state,proto3,enum=temporal.api.enums.v1.PendingWorkflowTaskState" json:"state,omitempty"` + ScheduledTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=scheduled_time,json=scheduledTime,proto3" json:"scheduled_time,omitempty"` + // original_scheduled_time is the scheduled time of the first workflow task during workflow task heartbeat. + // Heartbeat workflow task is done by RespondWorkflowTaskComplete with ForceCreateNewWorkflowTask == true and no command + // In this case, OriginalScheduledTime won't change. Then when current time - original_scheduled_time exceeds + // some threshold, the workflow task will be forced timeout. + OriginalScheduledTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=original_scheduled_time,json=originalScheduledTime,proto3" json:"original_scheduled_time,omitempty"` + StartedTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=started_time,json=startedTime,proto3" json:"started_time,omitempty"` + Attempt int32 `protobuf:"varint,5,opt,name=attempt,proto3" json:"attempt,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PendingWorkflowTaskInfo) Reset() { + *x = PendingWorkflowTaskInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PendingWorkflowTaskInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingWorkflowTaskInfo) ProtoMessage() {} + +func (x *PendingWorkflowTaskInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PendingWorkflowTaskInfo.ProtoReflect.Descriptor instead. +func (*PendingWorkflowTaskInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{8} +} + +func (x *PendingWorkflowTaskInfo) GetState() v11.PendingWorkflowTaskState { + if x != nil { + return x.State + } + return v11.PendingWorkflowTaskState(0) +} + +func (x *PendingWorkflowTaskInfo) GetScheduledTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledTime + } + return nil +} + +func (x *PendingWorkflowTaskInfo) GetOriginalScheduledTime() *timestamppb.Timestamp { + if x != nil { + return x.OriginalScheduledTime + } + return nil +} + +func (x *PendingWorkflowTaskInfo) GetStartedTime() *timestamppb.Timestamp { + if x != nil { + return x.StartedTime + } + return nil +} + +func (x *PendingWorkflowTaskInfo) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +type ResetPoints struct { + state protoimpl.MessageState `protogen:"open.v1"` + Points []*ResetPointInfo `protobuf:"bytes,1,rep,name=points,proto3" json:"points,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetPoints) Reset() { + *x = ResetPoints{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetPoints) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetPoints) ProtoMessage() {} + +func (x *ResetPoints) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetPoints.ProtoReflect.Descriptor instead. +func (*ResetPoints) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{9} +} + +func (x *ResetPoints) GetPoints() []*ResetPointInfo { + if x != nil { + return x.Points + } + return nil +} + +// ResetPointInfo records the workflow event id that is the first one processed by a given +// build id or binary checksum. A new reset point will be created if either build id or binary +// checksum changes (although in general only one or the other will be used at a time). +type ResetPointInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Worker build id. + BuildId string `protobuf:"bytes,7,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` + // Deprecated. A worker binary version identifier. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + BinaryChecksum string `protobuf:"bytes,1,opt,name=binary_checksum,json=binaryChecksum,proto3" json:"binary_checksum,omitempty"` + // The first run ID in the execution chain that was touched by this worker build. + RunId string `protobuf:"bytes,2,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Event ID of the first WorkflowTaskCompleted event processed by this worker build. + FirstWorkflowTaskCompletedId int64 `protobuf:"varint,3,opt,name=first_workflow_task_completed_id,json=firstWorkflowTaskCompletedId,proto3" json:"first_workflow_task_completed_id,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + // (-- api-linter: core::0214::resource-expiry=disabled + // + // aip.dev/not-precedent: TTL is not defined for ResetPointInfo. --) + // + // The time that the run is deleted due to retention. + ExpireTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=expire_time,json=expireTime,proto3" json:"expire_time,omitempty"` + // false if the reset point has pending childWFs/reqCancels/signalExternals. + Resettable bool `protobuf:"varint,6,opt,name=resettable,proto3" json:"resettable,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetPointInfo) Reset() { + *x = ResetPointInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetPointInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetPointInfo) ProtoMessage() {} + +func (x *ResetPointInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetPointInfo.ProtoReflect.Descriptor instead. +func (*ResetPointInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{10} +} + +func (x *ResetPointInfo) GetBuildId() string { + if x != nil { + return x.BuildId + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *ResetPointInfo) GetBinaryChecksum() string { + if x != nil { + return x.BinaryChecksum + } + return "" +} + +func (x *ResetPointInfo) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *ResetPointInfo) GetFirstWorkflowTaskCompletedId() int64 { + if x != nil { + return x.FirstWorkflowTaskCompletedId + } + return 0 +} + +func (x *ResetPointInfo) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ResetPointInfo) GetExpireTime() *timestamppb.Timestamp { + if x != nil { + return x.ExpireTime + } + return nil +} + +func (x *ResetPointInfo) GetResettable() bool { + if x != nil { + return x.Resettable + } + return false +} + +// NewWorkflowExecutionInfo is a shared message that encapsulates all the +// required arguments to starting a workflow in different contexts. +type NewWorkflowExecutionInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkflowId string `protobuf:"bytes,1,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + WorkflowType *v1.WorkflowType `protobuf:"bytes,2,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + TaskQueue *v13.TaskQueue `protobuf:"bytes,3,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Serialized arguments to the workflow. + Input *v1.Payloads `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` + // Total workflow execution timeout including retries and continue as new. + WorkflowExecutionTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=workflow_execution_timeout,json=workflowExecutionTimeout,proto3" json:"workflow_execution_timeout,omitempty"` + // Timeout of a single workflow run. + WorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,6,opt,name=workflow_run_timeout,json=workflowRunTimeout,proto3" json:"workflow_run_timeout,omitempty"` + // Timeout of a single workflow task. + WorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=workflow_task_timeout,json=workflowTaskTimeout,proto3" json:"workflow_task_timeout,omitempty"` + // Default: WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE. + WorkflowIdReusePolicy v11.WorkflowIdReusePolicy `protobuf:"varint,8,opt,name=workflow_id_reuse_policy,json=workflowIdReusePolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdReusePolicy" json:"workflow_id_reuse_policy,omitempty"` + // The retry policy for the workflow. Will never exceed `workflow_execution_timeout`. + RetryPolicy *v1.RetryPolicy `protobuf:"bytes,9,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/ + CronSchedule string `protobuf:"bytes,10,opt,name=cron_schedule,json=cronSchedule,proto3" json:"cron_schedule,omitempty"` + Memo *v1.Memo `protobuf:"bytes,11,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v1.SearchAttributes `protobuf:"bytes,12,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + Header *v1.Header `protobuf:"bytes,13,opt,name=header,proto3" json:"header,omitempty"` + // Metadata on the workflow if it is started. This is carried over to the WorkflowExecutionConfig + // for use by user interfaces to display the fixed as-of-start summary and details of the + // workflow. + UserMetadata *v14.UserMetadata `protobuf:"bytes,14,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + // If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion. + // To unset the override after the workflow is running, use UpdateWorkflowExecutionOptions. + VersioningOverride *VersioningOverride `protobuf:"bytes,15,opt,name=versioning_override,json=versioningOverride,proto3" json:"versioning_override,omitempty"` + // Priority metadata + Priority *v1.Priority `protobuf:"bytes,16,opt,name=priority,proto3" json:"priority,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NewWorkflowExecutionInfo) Reset() { + *x = NewWorkflowExecutionInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NewWorkflowExecutionInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NewWorkflowExecutionInfo) ProtoMessage() {} + +func (x *NewWorkflowExecutionInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NewWorkflowExecutionInfo.ProtoReflect.Descriptor instead. +func (*NewWorkflowExecutionInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{11} +} + +func (x *NewWorkflowExecutionInfo) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *NewWorkflowExecutionInfo) GetWorkflowType() *v1.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetTaskQueue() *v13.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetWorkflowExecutionTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowExecutionTimeout + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowRunTimeout + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowTaskTimeout + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetWorkflowIdReusePolicy() v11.WorkflowIdReusePolicy { + if x != nil { + return x.WorkflowIdReusePolicy + } + return v11.WorkflowIdReusePolicy(0) +} + +func (x *NewWorkflowExecutionInfo) GetRetryPolicy() *v1.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetCronSchedule() string { + if x != nil { + return x.CronSchedule + } + return "" +} + +func (x *NewWorkflowExecutionInfo) GetMemo() *v1.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetSearchAttributes() *v1.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetUserMetadata() *v14.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetVersioningOverride() *VersioningOverride { + if x != nil { + return x.VersioningOverride + } + return nil +} + +func (x *NewWorkflowExecutionInfo) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +// CallbackInfo contains the state of an attached workflow callback. +type CallbackInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Information on how this callback should be invoked (e.g. its URL and type). + Callback *v1.Callback `protobuf:"bytes,1,opt,name=callback,proto3" json:"callback,omitempty"` + // Trigger for this callback. + Trigger *CallbackInfo_Trigger `protobuf:"bytes,2,opt,name=trigger,proto3" json:"trigger,omitempty"` + // The time when the callback was registered. + RegistrationTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=registration_time,json=registrationTime,proto3" json:"registration_time,omitempty"` + State v11.CallbackState `protobuf:"varint,4,opt,name=state,proto3,enum=temporal.api.enums.v1.CallbackState" json:"state,omitempty"` + // The number of attempts made to deliver the callback. + // This number represents a minimum bound since the attempt is incremented after the callback request completes. + Attempt int32 `protobuf:"varint,5,opt,name=attempt,proto3" json:"attempt,omitempty"` + // The time when the last attempt completed. + LastAttemptCompleteTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=last_attempt_complete_time,json=lastAttemptCompleteTime,proto3" json:"last_attempt_complete_time,omitempty"` + // The last attempt's failure, if any. + LastAttemptFailure *v15.Failure `protobuf:"bytes,7,opt,name=last_attempt_failure,json=lastAttemptFailure,proto3" json:"last_attempt_failure,omitempty"` + // The time when the next attempt is scheduled. + NextAttemptScheduleTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=next_attempt_schedule_time,json=nextAttemptScheduleTime,proto3" json:"next_attempt_schedule_time,omitempty"` + // If the state is BLOCKED, blocked reason provides additional information. + BlockedReason string `protobuf:"bytes,9,opt,name=blocked_reason,json=blockedReason,proto3" json:"blocked_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallbackInfo) Reset() { + *x = CallbackInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallbackInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallbackInfo) ProtoMessage() {} + +func (x *CallbackInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallbackInfo.ProtoReflect.Descriptor instead. +func (*CallbackInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{12} +} + +func (x *CallbackInfo) GetCallback() *v1.Callback { + if x != nil { + return x.Callback + } + return nil +} + +func (x *CallbackInfo) GetTrigger() *CallbackInfo_Trigger { + if x != nil { + return x.Trigger + } + return nil +} + +func (x *CallbackInfo) GetRegistrationTime() *timestamppb.Timestamp { + if x != nil { + return x.RegistrationTime + } + return nil +} + +func (x *CallbackInfo) GetState() v11.CallbackState { + if x != nil { + return x.State + } + return v11.CallbackState(0) +} + +func (x *CallbackInfo) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *CallbackInfo) GetLastAttemptCompleteTime() *timestamppb.Timestamp { + if x != nil { + return x.LastAttemptCompleteTime + } + return nil +} + +func (x *CallbackInfo) GetLastAttemptFailure() *v15.Failure { + if x != nil { + return x.LastAttemptFailure + } + return nil +} + +func (x *CallbackInfo) GetNextAttemptScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.NextAttemptScheduleTime + } + return nil +} + +func (x *CallbackInfo) GetBlockedReason() string { + if x != nil { + return x.BlockedReason + } + return "" +} + +// PendingNexusOperationInfo contains the state of a pending Nexus operation. +type PendingNexusOperationInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Endpoint name. + // Resolved to a URL via the cluster's endpoint registry. + Endpoint string `protobuf:"bytes,1,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Service name. + Service string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"` + // Operation name. + Operation string `protobuf:"bytes,3,opt,name=operation,proto3" json:"operation,omitempty"` + // Operation ID. Only set for asynchronous operations after a successful StartOperation call. + // + // Deprecated. Renamed to operation_token. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + OperationId string `protobuf:"bytes,4,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Schedule-to-close timeout for this operation. + // This is the only timeout settable by a workflow. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,5,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // The time when the operation was scheduled. + ScheduledTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=scheduled_time,json=scheduledTime,proto3" json:"scheduled_time,omitempty"` + State v11.PendingNexusOperationState `protobuf:"varint,7,opt,name=state,proto3,enum=temporal.api.enums.v1.PendingNexusOperationState" json:"state,omitempty"` + // The number of attempts made to deliver the start operation request. + // This number is approximate, it is incremented when a task is added to the history queue. + // In practice, there could be more attempts if a task is executed but fails to commit, or less attempts if a task + // was never executed. + Attempt int32 `protobuf:"varint,8,opt,name=attempt,proto3" json:"attempt,omitempty"` + // The time when the last attempt completed. + LastAttemptCompleteTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=last_attempt_complete_time,json=lastAttemptCompleteTime,proto3" json:"last_attempt_complete_time,omitempty"` + // The last attempt's failure, if any. + LastAttemptFailure *v15.Failure `protobuf:"bytes,10,opt,name=last_attempt_failure,json=lastAttemptFailure,proto3" json:"last_attempt_failure,omitempty"` + // The time when the next attempt is scheduled. + NextAttemptScheduleTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=next_attempt_schedule_time,json=nextAttemptScheduleTime,proto3" json:"next_attempt_schedule_time,omitempty"` + CancellationInfo *NexusOperationCancellationInfo `protobuf:"bytes,12,opt,name=cancellation_info,json=cancellationInfo,proto3" json:"cancellation_info,omitempty"` + // The event ID of the NexusOperationScheduled event. Can be used to correlate an operation in the + // DescribeWorkflowExecution response with workflow history. + ScheduledEventId int64 `protobuf:"varint,13,opt,name=scheduled_event_id,json=scheduledEventId,proto3" json:"scheduled_event_id,omitempty"` + // If the state is BLOCKED, blocked reason provides additional information. + BlockedReason string `protobuf:"bytes,14,opt,name=blocked_reason,json=blockedReason,proto3" json:"blocked_reason,omitempty"` + // Operation token. Only set for asynchronous operations after a successful StartOperation call. + OperationToken string `protobuf:"bytes,15,opt,name=operation_token,json=operationToken,proto3" json:"operation_token,omitempty"` + // Schedule-to-start timeout for this operation. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,16,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Start-to-close timeout for this operation. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,17,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PendingNexusOperationInfo) Reset() { + *x = PendingNexusOperationInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PendingNexusOperationInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingNexusOperationInfo) ProtoMessage() {} + +func (x *PendingNexusOperationInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PendingNexusOperationInfo.ProtoReflect.Descriptor instead. +func (*PendingNexusOperationInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{13} +} + +func (x *PendingNexusOperationInfo) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *PendingNexusOperationInfo) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *PendingNexusOperationInfo) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *PendingNexusOperationInfo) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *PendingNexusOperationInfo) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *PendingNexusOperationInfo) GetScheduledTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledTime + } + return nil +} + +func (x *PendingNexusOperationInfo) GetState() v11.PendingNexusOperationState { + if x != nil { + return x.State + } + return v11.PendingNexusOperationState(0) +} + +func (x *PendingNexusOperationInfo) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *PendingNexusOperationInfo) GetLastAttemptCompleteTime() *timestamppb.Timestamp { + if x != nil { + return x.LastAttemptCompleteTime + } + return nil +} + +func (x *PendingNexusOperationInfo) GetLastAttemptFailure() *v15.Failure { + if x != nil { + return x.LastAttemptFailure + } + return nil +} + +func (x *PendingNexusOperationInfo) GetNextAttemptScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.NextAttemptScheduleTime + } + return nil +} + +func (x *PendingNexusOperationInfo) GetCancellationInfo() *NexusOperationCancellationInfo { + if x != nil { + return x.CancellationInfo + } + return nil +} + +func (x *PendingNexusOperationInfo) GetScheduledEventId() int64 { + if x != nil { + return x.ScheduledEventId + } + return 0 +} + +func (x *PendingNexusOperationInfo) GetBlockedReason() string { + if x != nil { + return x.BlockedReason + } + return "" +} + +func (x *PendingNexusOperationInfo) GetOperationToken() string { + if x != nil { + return x.OperationToken + } + return "" +} + +func (x *PendingNexusOperationInfo) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *PendingNexusOperationInfo) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +// NexusOperationCancellationInfo contains the state of a nexus operation cancellation. +type NexusOperationCancellationInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The time when cancellation was requested. + RequestedTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=requested_time,json=requestedTime,proto3" json:"requested_time,omitempty"` + State v11.NexusOperationCancellationState `protobuf:"varint,2,opt,name=state,proto3,enum=temporal.api.enums.v1.NexusOperationCancellationState" json:"state,omitempty"` + // The number of attempts made to deliver the cancel operation request. + // This number represents a minimum bound since the attempt is incremented after the request completes. + Attempt int32 `protobuf:"varint,3,opt,name=attempt,proto3" json:"attempt,omitempty"` + // The time when the last attempt completed. + LastAttemptCompleteTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=last_attempt_complete_time,json=lastAttemptCompleteTime,proto3" json:"last_attempt_complete_time,omitempty"` + // The last attempt's failure, if any. + LastAttemptFailure *v15.Failure `protobuf:"bytes,5,opt,name=last_attempt_failure,json=lastAttemptFailure,proto3" json:"last_attempt_failure,omitempty"` + // The time when the next attempt is scheduled. + NextAttemptScheduleTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=next_attempt_schedule_time,json=nextAttemptScheduleTime,proto3" json:"next_attempt_schedule_time,omitempty"` + // If the state is BLOCKED, blocked reason provides additional information. + BlockedReason string `protobuf:"bytes,7,opt,name=blocked_reason,json=blockedReason,proto3" json:"blocked_reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *NexusOperationCancellationInfo) Reset() { + *x = NexusOperationCancellationInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *NexusOperationCancellationInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NexusOperationCancellationInfo) ProtoMessage() {} + +func (x *NexusOperationCancellationInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NexusOperationCancellationInfo.ProtoReflect.Descriptor instead. +func (*NexusOperationCancellationInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{14} +} + +func (x *NexusOperationCancellationInfo) GetRequestedTime() *timestamppb.Timestamp { + if x != nil { + return x.RequestedTime + } + return nil +} + +func (x *NexusOperationCancellationInfo) GetState() v11.NexusOperationCancellationState { + if x != nil { + return x.State + } + return v11.NexusOperationCancellationState(0) +} + +func (x *NexusOperationCancellationInfo) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *NexusOperationCancellationInfo) GetLastAttemptCompleteTime() *timestamppb.Timestamp { + if x != nil { + return x.LastAttemptCompleteTime + } + return nil +} + +func (x *NexusOperationCancellationInfo) GetLastAttemptFailure() *v15.Failure { + if x != nil { + return x.LastAttemptFailure + } + return nil +} + +func (x *NexusOperationCancellationInfo) GetNextAttemptScheduleTime() *timestamppb.Timestamp { + if x != nil { + return x.NextAttemptScheduleTime + } + return nil +} + +func (x *NexusOperationCancellationInfo) GetBlockedReason() string { + if x != nil { + return x.BlockedReason + } + return "" +} + +type WorkflowExecutionOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion. + VersioningOverride *VersioningOverride `protobuf:"bytes,1,opt,name=versioning_override,json=versioningOverride,proto3" json:"versioning_override,omitempty"` + // If set, overrides the workflow's priority sent by the SDK. + Priority *v1.Priority `protobuf:"bytes,2,opt,name=priority,proto3" json:"priority,omitempty"` + // Time-skipping configuration for this workflow execution. + // If not set, the time-skipping configuration is not updated by this request; + // the existing configuration is preserved. + TimeSkippingConfig *TimeSkippingConfig `protobuf:"bytes,3,opt,name=time_skipping_config,json=timeSkippingConfig,proto3" json:"time_skipping_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionOptions) Reset() { + *x = WorkflowExecutionOptions{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionOptions) ProtoMessage() {} + +func (x *WorkflowExecutionOptions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionOptions.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionOptions) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{15} +} + +func (x *WorkflowExecutionOptions) GetVersioningOverride() *VersioningOverride { + if x != nil { + return x.VersioningOverride + } + return nil +} + +func (x *WorkflowExecutionOptions) GetPriority() *v1.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *WorkflowExecutionOptions) GetTimeSkippingConfig() *TimeSkippingConfig { + if x != nil { + return x.TimeSkippingConfig + } + return nil +} + +// Configuration for time skipping during a workflow execution. +// When enabled, virtual time advances automatically whenever there is no in-flight work. +// In-flight work includes activities, child workflows, Nexus operations, signal/cancel external workflow operations, +// and possibly other features added in the future. +// User timers are not classified as in-flight work and will be skipped over. +// When time advances, it skips to the earlier of the next user timer or the configured bound, if either exists. +// +// Propagation behavior of time skipping: +// The enabled flag, bound fields, and accumulated skipped duration are propagated to related executions as follows: +// (1) Child workflows and continue-as-new: both the configuration and the accumulated skipped duration are +// +// inherited from the current execution. The configured bound is shared between the inherited skipped +// duration and any additional duration skipped by the new run. +// +// (2) Retry and cron: the configuration and accumulated skipped duration are inherited as recorded when the +// +// current workflow started; the accumulated skipped duration of the current run is not propagated. +// +// (3) Reset: the new run retains the time-skipping configuration of the current execution. Because reset replays +// +// all events up to the reset point and re-applies any UpdateWorkflowExecutionOptions changes made after that +// point, the resulting run ends up with the same final time-skipping configuration as the previous run. +type TimeSkippingConfig struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Enables or disables time skipping for this workflow execution. + Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` + // Optional bound that limits the gap between the virtual time of this execution and wall-clock time. + // Once the bound is reached, time skipping is automatically disabled, + // but can be re-enabled by setting `enabled` to true via UpdateWorkflowExecutionOptions. + // This bound cannot be set to a value smaller than the execution's currently skipped duration. + // + // This is useful in testing scenarios where a workflow is expected to receive + // signals, updates, or other external events while timers are in progress. + // + // Types that are valid to be assigned to Bound: + // + // *TimeSkippingConfig_MaxSkippedDuration + // *TimeSkippingConfig_MaxElapsedDuration + Bound isTimeSkippingConfig_Bound `protobuf_oneof:"bound"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TimeSkippingConfig) Reset() { + *x = TimeSkippingConfig{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TimeSkippingConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TimeSkippingConfig) ProtoMessage() {} + +func (x *TimeSkippingConfig) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TimeSkippingConfig.ProtoReflect.Descriptor instead. +func (*TimeSkippingConfig) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{16} +} + +func (x *TimeSkippingConfig) GetEnabled() bool { + if x != nil { + return x.Enabled + } + return false +} + +func (x *TimeSkippingConfig) GetBound() isTimeSkippingConfig_Bound { + if x != nil { + return x.Bound + } + return nil +} + +func (x *TimeSkippingConfig) GetMaxSkippedDuration() *durationpb.Duration { + if x != nil { + if x, ok := x.Bound.(*TimeSkippingConfig_MaxSkippedDuration); ok { + return x.MaxSkippedDuration + } + } + return nil +} + +func (x *TimeSkippingConfig) GetMaxElapsedDuration() *durationpb.Duration { + if x != nil { + if x, ok := x.Bound.(*TimeSkippingConfig_MaxElapsedDuration); ok { + return x.MaxElapsedDuration + } + } + return nil +} + +type isTimeSkippingConfig_Bound interface { + isTimeSkippingConfig_Bound() +} + +type TimeSkippingConfig_MaxSkippedDuration struct { + // Maximum total virtual time that can be skipped. + MaxSkippedDuration *durationpb.Duration `protobuf:"bytes,4,opt,name=max_skipped_duration,json=maxSkippedDuration,proto3,oneof"` +} + +type TimeSkippingConfig_MaxElapsedDuration struct { + // Maximum elapsed time since time skipping was enabled. + // This includes both skipped time and real time elapsing. + // (-- api-linter: core::0142::time-field-names=disabled --) + MaxElapsedDuration *durationpb.Duration `protobuf:"bytes,5,opt,name=max_elapsed_duration,json=maxElapsedDuration,proto3,oneof"` +} + +func (*TimeSkippingConfig_MaxSkippedDuration) isTimeSkippingConfig_Bound() {} + +func (*TimeSkippingConfig_MaxElapsedDuration) isTimeSkippingConfig_Bound() {} + +// Used to override the versioning behavior (and pinned deployment version, if applicable) of a +// specific workflow execution. If set, this override takes precedence over worker-sent values. +// See `WorkflowExecutionInfo.VersioningInfo` for more information. +// +// To remove the override, call `UpdateWorkflowExecutionOptions` with a null +// `VersioningOverride`, and use the `update_mask` to indicate that it should be mutated. +// +// Pinned behavior overrides are automatically inherited by child workflows, workflow retries, continue-as-new +// workflows, and cron workflows. +type VersioningOverride struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Indicates whether to override the workflow to be AutoUpgrade or Pinned. + // + // Types that are valid to be assigned to Override: + // + // *VersioningOverride_Pinned + // *VersioningOverride_AutoUpgrade + Override isVersioningOverride_Override `protobuf_oneof:"override"` + // Required. + // Deprecated. Use `override`. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + Behavior v11.VersioningBehavior `protobuf:"varint,1,opt,name=behavior,proto3,enum=temporal.api.enums.v1.VersioningBehavior" json:"behavior,omitempty"` + // Required if behavior is `PINNED`. Must be null if behavior is `AUTO_UPGRADE`. + // Identifies the worker deployment to pin the workflow to. + // Deprecated. Use `override.pinned.version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + Deployment *v12.Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Required if behavior is `PINNED`. Must be absent if behavior is not `PINNED`. + // Identifies the worker deployment version to pin the workflow to, in the format + // ".". + // Deprecated. Use `override.pinned.version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. + PinnedVersion string `protobuf:"bytes,9,opt,name=pinned_version,json=pinnedVersion,proto3" json:"pinned_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VersioningOverride) Reset() { + *x = VersioningOverride{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VersioningOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersioningOverride) ProtoMessage() {} + +func (x *VersioningOverride) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersioningOverride.ProtoReflect.Descriptor instead. +func (*VersioningOverride) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{17} +} + +func (x *VersioningOverride) GetOverride() isVersioningOverride_Override { + if x != nil { + return x.Override + } + return nil +} + +func (x *VersioningOverride) GetPinned() *VersioningOverride_PinnedOverride { + if x != nil { + if x, ok := x.Override.(*VersioningOverride_Pinned); ok { + return x.Pinned + } + } + return nil +} + +func (x *VersioningOverride) GetAutoUpgrade() bool { + if x != nil { + if x, ok := x.Override.(*VersioningOverride_AutoUpgrade); ok { + return x.AutoUpgrade + } + } + return false +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *VersioningOverride) GetBehavior() v11.VersioningBehavior { + if x != nil { + return x.Behavior + } + return v11.VersioningBehavior(0) +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *VersioningOverride) GetDeployment() *v12.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflow/v1/message.proto. +func (x *VersioningOverride) GetPinnedVersion() string { + if x != nil { + return x.PinnedVersion + } + return "" +} + +type isVersioningOverride_Override interface { + isVersioningOverride_Override() +} + +type VersioningOverride_Pinned struct { + // Override the workflow to have Pinned behavior. + Pinned *VersioningOverride_PinnedOverride `protobuf:"bytes,3,opt,name=pinned,proto3,oneof"` +} + +type VersioningOverride_AutoUpgrade struct { + // Override the workflow to have AutoUpgrade behavior. + AutoUpgrade bool `protobuf:"varint,4,opt,name=auto_upgrade,json=autoUpgrade,proto3,oneof"` +} + +func (*VersioningOverride_Pinned) isVersioningOverride_Override() {} + +func (*VersioningOverride_AutoUpgrade) isVersioningOverride_Override() {} + +// When StartWorkflowExecution uses the conflict policy WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING and +// there is already an existing running workflow, OnConflictOptions defines actions to be taken on +// the existing running workflow. In this case, it will create a WorkflowExecutionOptionsUpdatedEvent +// history event in the running workflow with the changes requested in this object. +type OnConflictOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Attaches the request ID to the running workflow. + AttachRequestId bool `protobuf:"varint,1,opt,name=attach_request_id,json=attachRequestId,proto3" json:"attach_request_id,omitempty"` + // Attaches the completion callbacks to the running workflow. + AttachCompletionCallbacks bool `protobuf:"varint,2,opt,name=attach_completion_callbacks,json=attachCompletionCallbacks,proto3" json:"attach_completion_callbacks,omitempty"` + // Attaches the links to the WorkflowExecutionOptionsUpdatedEvent history event. + AttachLinks bool `protobuf:"varint,3,opt,name=attach_links,json=attachLinks,proto3" json:"attach_links,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *OnConflictOptions) Reset() { + *x = OnConflictOptions{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *OnConflictOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*OnConflictOptions) ProtoMessage() {} + +func (x *OnConflictOptions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use OnConflictOptions.ProtoReflect.Descriptor instead. +func (*OnConflictOptions) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{18} +} + +func (x *OnConflictOptions) GetAttachRequestId() bool { + if x != nil { + return x.AttachRequestId + } + return false +} + +func (x *OnConflictOptions) GetAttachCompletionCallbacks() bool { + if x != nil { + return x.AttachCompletionCallbacks + } + return false +} + +func (x *OnConflictOptions) GetAttachLinks() bool { + if x != nil { + return x.AttachLinks + } + return false +} + +// RequestIdInfo contains details of a request ID. +type RequestIdInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The event type of the history event generated by the request. + EventType v11.EventType `protobuf:"varint,1,opt,name=event_type,json=eventType,proto3,enum=temporal.api.enums.v1.EventType" json:"event_type,omitempty"` + // The event id of the history event generated by the request. It's possible the event ID is not + // known (unflushed buffered event). In this case, the value will be zero or a negative value, + // representing an invalid ID. + EventId int64 `protobuf:"varint,2,opt,name=event_id,json=eventId,proto3" json:"event_id,omitempty"` + // Indicate if the request is still buffered. If so, the event ID is not known and its value + // will be an invalid event ID. + Buffered bool `protobuf:"varint,3,opt,name=buffered,proto3" json:"buffered,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestIdInfo) Reset() { + *x = RequestIdInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestIdInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestIdInfo) ProtoMessage() {} + +func (x *RequestIdInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestIdInfo.ProtoReflect.Descriptor instead. +func (*RequestIdInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{19} +} + +func (x *RequestIdInfo) GetEventType() v11.EventType { + if x != nil { + return x.EventType + } + return v11.EventType(0) +} + +func (x *RequestIdInfo) GetEventId() int64 { + if x != nil { + return x.EventId + } + return 0 +} + +func (x *RequestIdInfo) GetBuffered() bool { + if x != nil { + return x.Buffered + } + return false +} + +// PostResetOperation represents an operation to be performed on the new workflow execution after a workflow reset. +type PostResetOperation struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Variant: + // + // *PostResetOperation_SignalWorkflow_ + // *PostResetOperation_UpdateWorkflowOptions_ + Variant isPostResetOperation_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PostResetOperation) Reset() { + *x = PostResetOperation{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PostResetOperation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostResetOperation) ProtoMessage() {} + +func (x *PostResetOperation) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostResetOperation.ProtoReflect.Descriptor instead. +func (*PostResetOperation) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{20} +} + +func (x *PostResetOperation) GetVariant() isPostResetOperation_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *PostResetOperation) GetSignalWorkflow() *PostResetOperation_SignalWorkflow { + if x != nil { + if x, ok := x.Variant.(*PostResetOperation_SignalWorkflow_); ok { + return x.SignalWorkflow + } + } + return nil +} + +func (x *PostResetOperation) GetUpdateWorkflowOptions() *PostResetOperation_UpdateWorkflowOptions { + if x != nil { + if x, ok := x.Variant.(*PostResetOperation_UpdateWorkflowOptions_); ok { + return x.UpdateWorkflowOptions + } + } + return nil +} + +type isPostResetOperation_Variant interface { + isPostResetOperation_Variant() +} + +type PostResetOperation_SignalWorkflow_ struct { + SignalWorkflow *PostResetOperation_SignalWorkflow `protobuf:"bytes,1,opt,name=signal_workflow,json=signalWorkflow,proto3,oneof"` +} + +type PostResetOperation_UpdateWorkflowOptions_ struct { + UpdateWorkflowOptions *PostResetOperation_UpdateWorkflowOptions `protobuf:"bytes,2,opt,name=update_workflow_options,json=updateWorkflowOptions,proto3,oneof"` +} + +func (*PostResetOperation_SignalWorkflow_) isPostResetOperation_Variant() {} + +func (*PostResetOperation_UpdateWorkflowOptions_) isPostResetOperation_Variant() {} + +// WorkflowExecutionPauseInfo contains the information about a workflow execution pause. +type WorkflowExecutionPauseInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the client who paused the workflow execution. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // The time when the workflow execution was paused. + PausedTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=paused_time,json=pausedTime,proto3" json:"paused_time,omitempty"` + // The reason for pausing the workflow execution. + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *WorkflowExecutionPauseInfo) Reset() { + *x = WorkflowExecutionPauseInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *WorkflowExecutionPauseInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*WorkflowExecutionPauseInfo) ProtoMessage() {} + +func (x *WorkflowExecutionPauseInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use WorkflowExecutionPauseInfo.ProtoReflect.Descriptor instead. +func (*WorkflowExecutionPauseInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{21} +} + +func (x *WorkflowExecutionPauseInfo) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *WorkflowExecutionPauseInfo) GetPausedTime() *timestamppb.Timestamp { + if x != nil { + return x.PausedTime + } + return nil +} + +func (x *WorkflowExecutionPauseInfo) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type PendingActivityInfo_PauseInfo struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The time when the activity was paused. + PauseTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=pause_time,json=pauseTime,proto3" json:"pause_time,omitempty"` + // Types that are valid to be assigned to PausedBy: + // + // *PendingActivityInfo_PauseInfo_Manual_ + // *PendingActivityInfo_PauseInfo_Rule_ + PausedBy isPendingActivityInfo_PauseInfo_PausedBy `protobuf_oneof:"paused_by"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PendingActivityInfo_PauseInfo) Reset() { + *x = PendingActivityInfo_PauseInfo{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PendingActivityInfo_PauseInfo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingActivityInfo_PauseInfo) ProtoMessage() {} + +func (x *PendingActivityInfo_PauseInfo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PendingActivityInfo_PauseInfo.ProtoReflect.Descriptor instead. +func (*PendingActivityInfo_PauseInfo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{6, 0} +} + +func (x *PendingActivityInfo_PauseInfo) GetPauseTime() *timestamppb.Timestamp { + if x != nil { + return x.PauseTime + } + return nil +} + +func (x *PendingActivityInfo_PauseInfo) GetPausedBy() isPendingActivityInfo_PauseInfo_PausedBy { + if x != nil { + return x.PausedBy + } + return nil +} + +func (x *PendingActivityInfo_PauseInfo) GetManual() *PendingActivityInfo_PauseInfo_Manual { + if x != nil { + if x, ok := x.PausedBy.(*PendingActivityInfo_PauseInfo_Manual_); ok { + return x.Manual + } + } + return nil +} + +func (x *PendingActivityInfo_PauseInfo) GetRule() *PendingActivityInfo_PauseInfo_Rule { + if x != nil { + if x, ok := x.PausedBy.(*PendingActivityInfo_PauseInfo_Rule_); ok { + return x.Rule + } + } + return nil +} + +type isPendingActivityInfo_PauseInfo_PausedBy interface { + isPendingActivityInfo_PauseInfo_PausedBy() +} + +type PendingActivityInfo_PauseInfo_Manual_ struct { + // activity was paused by the manual intervention + Manual *PendingActivityInfo_PauseInfo_Manual `protobuf:"bytes,2,opt,name=manual,proto3,oneof"` +} + +type PendingActivityInfo_PauseInfo_Rule_ struct { + // activity was paused by the rule + Rule *PendingActivityInfo_PauseInfo_Rule `protobuf:"bytes,4,opt,name=rule,proto3,oneof"` +} + +func (*PendingActivityInfo_PauseInfo_Manual_) isPendingActivityInfo_PauseInfo_PausedBy() {} + +func (*PendingActivityInfo_PauseInfo_Rule_) isPendingActivityInfo_PauseInfo_PausedBy() {} + +type PendingActivityInfo_PauseInfo_Manual struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The identity of the actor that paused the activity. + Identity string `protobuf:"bytes,1,opt,name=identity,proto3" json:"identity,omitempty"` + // Reason for pausing the activity. + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PendingActivityInfo_PauseInfo_Manual) Reset() { + *x = PendingActivityInfo_PauseInfo_Manual{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PendingActivityInfo_PauseInfo_Manual) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingActivityInfo_PauseInfo_Manual) ProtoMessage() {} + +func (x *PendingActivityInfo_PauseInfo_Manual) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PendingActivityInfo_PauseInfo_Manual.ProtoReflect.Descriptor instead. +func (*PendingActivityInfo_PauseInfo_Manual) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{6, 0, 0} +} + +func (x *PendingActivityInfo_PauseInfo_Manual) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PendingActivityInfo_PauseInfo_Manual) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type PendingActivityInfo_PauseInfo_Rule struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The rule that paused the activity. + RuleId string `protobuf:"bytes,1,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"` + // The identity of the actor that created the rule. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // Reason why rule was created. Populated from rule description. + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PendingActivityInfo_PauseInfo_Rule) Reset() { + *x = PendingActivityInfo_PauseInfo_Rule{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PendingActivityInfo_PauseInfo_Rule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PendingActivityInfo_PauseInfo_Rule) ProtoMessage() {} + +func (x *PendingActivityInfo_PauseInfo_Rule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PendingActivityInfo_PauseInfo_Rule.ProtoReflect.Descriptor instead. +func (*PendingActivityInfo_PauseInfo_Rule) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{6, 0, 1} +} + +func (x *PendingActivityInfo_PauseInfo_Rule) GetRuleId() string { + if x != nil { + return x.RuleId + } + return "" +} + +func (x *PendingActivityInfo_PauseInfo_Rule) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PendingActivityInfo_PauseInfo_Rule) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +// Trigger for when the workflow is closed. +type CallbackInfo_WorkflowClosed struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallbackInfo_WorkflowClosed) Reset() { + *x = CallbackInfo_WorkflowClosed{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallbackInfo_WorkflowClosed) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallbackInfo_WorkflowClosed) ProtoMessage() {} + +func (x *CallbackInfo_WorkflowClosed) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallbackInfo_WorkflowClosed.ProtoReflect.Descriptor instead. +func (*CallbackInfo_WorkflowClosed) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{12, 0} +} + +type CallbackInfo_Trigger struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Variant: + // + // *CallbackInfo_Trigger_WorkflowClosed + Variant isCallbackInfo_Trigger_Variant `protobuf_oneof:"variant"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CallbackInfo_Trigger) Reset() { + *x = CallbackInfo_Trigger{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CallbackInfo_Trigger) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CallbackInfo_Trigger) ProtoMessage() {} + +func (x *CallbackInfo_Trigger) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CallbackInfo_Trigger.ProtoReflect.Descriptor instead. +func (*CallbackInfo_Trigger) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{12, 1} +} + +func (x *CallbackInfo_Trigger) GetVariant() isCallbackInfo_Trigger_Variant { + if x != nil { + return x.Variant + } + return nil +} + +func (x *CallbackInfo_Trigger) GetWorkflowClosed() *CallbackInfo_WorkflowClosed { + if x != nil { + if x, ok := x.Variant.(*CallbackInfo_Trigger_WorkflowClosed); ok { + return x.WorkflowClosed + } + } + return nil +} + +type isCallbackInfo_Trigger_Variant interface { + isCallbackInfo_Trigger_Variant() +} + +type CallbackInfo_Trigger_WorkflowClosed struct { + WorkflowClosed *CallbackInfo_WorkflowClosed `protobuf:"bytes,1,opt,name=workflow_closed,json=workflowClosed,proto3,oneof"` +} + +func (*CallbackInfo_Trigger_WorkflowClosed) isCallbackInfo_Trigger_Variant() {} + +type VersioningOverride_PinnedOverride struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Defaults to PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED. + // See `PinnedOverrideBehavior` for details. + Behavior VersioningOverride_PinnedOverrideBehavior `protobuf:"varint,1,opt,name=behavior,proto3,enum=temporal.api.workflow.v1.VersioningOverride_PinnedOverrideBehavior" json:"behavior,omitempty"` + // Specifies the Worker Deployment Version to pin this workflow to. + // Required if the target workflow is not already pinned to a version. + // + // If omitted and the target workflow is already pinned, the effective + // pinned version will be the existing pinned version. + // + // If omitted and the target workflow is not pinned, the override request + // will be rejected with a PreconditionFailed error. + Version *v12.WorkerDeploymentVersion `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *VersioningOverride_PinnedOverride) Reset() { + *x = VersioningOverride_PinnedOverride{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *VersioningOverride_PinnedOverride) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*VersioningOverride_PinnedOverride) ProtoMessage() {} + +func (x *VersioningOverride_PinnedOverride) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use VersioningOverride_PinnedOverride.ProtoReflect.Descriptor instead. +func (*VersioningOverride_PinnedOverride) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{17, 0} +} + +func (x *VersioningOverride_PinnedOverride) GetBehavior() VersioningOverride_PinnedOverrideBehavior { + if x != nil { + return x.Behavior + } + return VersioningOverride_PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED +} + +func (x *VersioningOverride_PinnedOverride) GetVersion() *v12.WorkerDeploymentVersion { + if x != nil { + return x.Version + } + return nil +} + +// SignalWorkflow represents sending a signal after a workflow reset. +// Keep the parameter in sync with temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest. +type PostResetOperation_SignalWorkflow struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The workflow author-defined name of the signal to send to the workflow. + SignalName string `protobuf:"bytes,1,opt,name=signal_name,json=signalName,proto3" json:"signal_name,omitempty"` + // Serialized value(s) to provide with the signal. + Input *v1.Payloads `protobuf:"bytes,2,opt,name=input,proto3" json:"input,omitempty"` + // Headers that are passed with the signal to the processing workflow. + Header *v1.Header `protobuf:"bytes,3,opt,name=header,proto3" json:"header,omitempty"` + // Links to be associated with the WorkflowExecutionSignaled event. + Links []*v1.Link `protobuf:"bytes,4,rep,name=links,proto3" json:"links,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PostResetOperation_SignalWorkflow) Reset() { + *x = PostResetOperation_SignalWorkflow{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PostResetOperation_SignalWorkflow) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostResetOperation_SignalWorkflow) ProtoMessage() {} + +func (x *PostResetOperation_SignalWorkflow) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostResetOperation_SignalWorkflow.ProtoReflect.Descriptor instead. +func (*PostResetOperation_SignalWorkflow) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{20, 0} +} + +func (x *PostResetOperation_SignalWorkflow) GetSignalName() string { + if x != nil { + return x.SignalName + } + return "" +} + +func (x *PostResetOperation_SignalWorkflow) GetInput() *v1.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *PostResetOperation_SignalWorkflow) GetHeader() *v1.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *PostResetOperation_SignalWorkflow) GetLinks() []*v1.Link { + if x != nil { + return x.Links + } + return nil +} + +// UpdateWorkflowOptions represents updating workflow execution options after a workflow reset. +// Keep the parameters in sync with temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest. +type PostResetOperation_UpdateWorkflowOptions struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Update Workflow options that were originally specified via StartWorkflowExecution. Partial updates are accepted and controlled by update_mask. + WorkflowExecutionOptions *WorkflowExecutionOptions `protobuf:"bytes,1,opt,name=workflow_execution_options,json=workflowExecutionOptions,proto3" json:"workflow_execution_options,omitempty"` + // Controls which fields from `workflow_execution_options` will be applied. + // To unset a field, set it to null and use the update mask to indicate that it should be mutated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,2,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PostResetOperation_UpdateWorkflowOptions) Reset() { + *x = PostResetOperation_UpdateWorkflowOptions{} + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PostResetOperation_UpdateWorkflowOptions) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PostResetOperation_UpdateWorkflowOptions) ProtoMessage() {} + +func (x *PostResetOperation_UpdateWorkflowOptions) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflow_v1_message_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PostResetOperation_UpdateWorkflowOptions.ProtoReflect.Descriptor instead. +func (*PostResetOperation_UpdateWorkflowOptions) Descriptor() ([]byte, []int) { + return file_temporal_api_workflow_v1_message_proto_rawDescGZIP(), []int{20, 1} +} + +func (x *PostResetOperation_UpdateWorkflowOptions) GetWorkflowExecutionOptions() *WorkflowExecutionOptions { + if x != nil { + return x.WorkflowExecutionOptions + } + return nil +} + +func (x *PostResetOperation_UpdateWorkflowOptions) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +var File_temporal_api_workflow_v1_message_proto protoreflect.FileDescriptor + +const file_temporal_api_workflow_v1_message_proto_rawDesc = "" + + "\n" + + "&temporal/api/workflow/v1/message.proto\x12\x18temporal.api.workflow.v1\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a google/protobuf/field_mask.proto\x1a&temporal/api/activity/v1/message.proto\x1a\"temporal/api/enums/v1/common.proto\x1a&temporal/api/enums/v1/event_type.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a$temporal/api/common/v1/message.proto\x1a(temporal/api/deployment/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a'temporal/api/taskqueue/v1/message.proto\x1a'temporal/api/sdk/v1/user_metadata.proto\"\x8c\r\n" + + "\x15WorkflowExecutionInfo\x12G\n" + + "\texecution\x18\x01 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x128\n" + + "\x04type\x18\x02 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\x04type\x129\n" + + "\n" + + "start_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x129\n" + + "\n" + + "close_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcloseTime\x12F\n" + + "\x06status\x18\x05 \x01(\x0e2..temporal.api.enums.v1.WorkflowExecutionStatusR\x06status\x12%\n" + + "\x0ehistory_length\x18\x06 \x01(\x03R\rhistoryLength\x12.\n" + + "\x13parent_namespace_id\x18\a \x01(\tR\x11parentNamespaceId\x12T\n" + + "\x10parent_execution\x18\b \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x0fparentExecution\x12A\n" + + "\x0eexecution_time\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\rexecutionTime\x120\n" + + "\x04memo\x18\n" + + " \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\v \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12Q\n" + + "\x11auto_reset_points\x18\f \x01(\v2%.temporal.api.workflow.v1.ResetPointsR\x0fautoResetPoints\x12\x1d\n" + + "\n" + + "task_queue\x18\r \x01(\tR\ttaskQueue\x124\n" + + "\x16state_transition_count\x18\x0e \x01(\x03R\x14stateTransitionCount\x12,\n" + + "\x12history_size_bytes\x18\x0f \x01(\x03R\x10historySizeBytes\x12v\n" + + " most_recent_worker_version_stamp\x18\x10 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\x1cmostRecentWorkerVersionStamp\x12H\n" + + "\x12execution_duration\x18\x11 \x01(\v2\x19.google.protobuf.DurationR\x11executionDuration\x12P\n" + + "\x0eroot_execution\x18\x12 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\rrootExecution\x12.\n" + + "\x11assigned_build_id\x18\x13 \x01(\tB\x02\x18\x01R\x0fassignedBuildId\x120\n" + + "\x12inherited_build_id\x18\x14 \x01(\tB\x02\x18\x01R\x10inheritedBuildId\x12 \n" + + "\ffirst_run_id\x18\x15 \x01(\tR\n" + + "firstRunId\x12b\n" + + "\x0fversioning_info\x18\x16 \x01(\v29.temporal.api.workflow.v1.WorkflowExecutionVersioningInfoR\x0eversioningInfo\x124\n" + + "\x16worker_deployment_name\x18\x17 \x01(\tR\x14workerDeploymentName\x12<\n" + + "\bpriority\x18\x18 \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12=\n" + + "\x1bexternal_payload_size_bytes\x18\x19 \x01(\x03R\x18externalPayloadSizeBytes\x124\n" + + "\x16external_payload_count\x18\x1a \x01(\x03R\x14externalPayloadCount\"\xd8\x05\n" + + "\x1dWorkflowExecutionExtendedInfo\x12V\n" + + "\x19execution_expiration_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x17executionExpirationTime\x12J\n" + + "\x13run_expiration_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\x11runExpirationTime\x12)\n" + + "\x10cancel_requested\x18\x03 \x01(\bR\x0fcancelRequested\x12B\n" + + "\x0flast_reset_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\rlastResetTime\x12J\n" + + "\x13original_start_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x11originalStartTime\x12 \n" + + "\freset_run_id\x18\x06 \x01(\tR\n" + + "resetRunId\x12u\n" + + "\x10request_id_infos\x18\a \x03(\v2K.temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.RequestIdInfosEntryR\x0erequestIdInfos\x12S\n" + + "\n" + + "pause_info\x18\b \x01(\v24.temporal.api.workflow.v1.WorkflowExecutionPauseInfoR\tpauseInfo\x1aj\n" + + "\x13RequestIdInfosEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12=\n" + + "\x05value\x18\x02 \x01(\v2'.temporal.api.workflow.v1.RequestIdInfoR\x05value:\x028\x01\"\xa3\x06\n" + + "\x1fWorkflowExecutionVersioningInfo\x12E\n" + + "\bbehavior\x18\x01 \x01(\x0e2).temporal.api.enums.v1.VersioningBehaviorR\bbehavior\x12J\n" + + "\n" + + "deployment\x18\x02 \x01(\v2&.temporal.api.deployment.v1.DeploymentB\x02\x18\x01R\n" + + "deployment\x12\x1c\n" + + "\aversion\x18\x05 \x01(\tB\x02\x18\x01R\aversion\x12b\n" + + "\x12deployment_version\x18\a \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12]\n" + + "\x13versioning_override\x18\x03 \x01(\v2,.temporal.api.workflow.v1.VersioningOverrideR\x12versioningOverride\x12g\n" + + "\x15deployment_transition\x18\x04 \x01(\v2..temporal.api.workflow.v1.DeploymentTransitionB\x02\x18\x01R\x14deploymentTransition\x12d\n" + + "\x12version_transition\x18\x06 \x01(\v25.temporal.api.workflow.v1.DeploymentVersionTransitionR\x11versionTransition\x12'\n" + + "\x0frevision_number\x18\b \x01(\x03R\x0erevisionNumber\x12\x93\x01\n" + + "+continue_as_new_initial_versioning_behavior\x18\t \x01(\x0e26.temporal.api.enums.v1.ContinueAsNewVersioningBehaviorR&continueAsNewInitialVersioningBehavior\"^\n" + + "\x14DeploymentTransition\x12F\n" + + "\n" + + "deployment\x18\x01 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + + "deployment\"\x9f\x01\n" + + "\x1bDeploymentVersionTransition\x12\x1c\n" + + "\aversion\x18\x01 \x01(\tB\x02\x18\x01R\aversion\x12b\n" + + "\x12deployment_version\x18\x02 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\"\xaa\x03\n" + + "\x17WorkflowExecutionConfig\x12C\n" + + "\n" + + "task_queue\x18\x01 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x12W\n" + + "\x1aworkflow_execution_timeout\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x18workflowExecutionTimeout\x12K\n" + + "\x14workflow_run_timeout\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x12workflowRunTimeout\x12\\\n" + + "\x1ddefault_workflow_task_timeout\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x1adefaultWorkflowTaskTimeout\x12F\n" + + "\ruser_metadata\x18\x05 \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\"\xbb\x11\n" + + "\x13PendingActivityInfo\x12\x1f\n" + + "\vactivity_id\x18\x01 \x01(\tR\n" + + "activityId\x12I\n" + + "\ractivity_type\x18\x02 \x01(\v2$.temporal.api.common.v1.ActivityTypeR\factivityType\x12A\n" + + "\x05state\x18\x03 \x01(\x0e2+.temporal.api.enums.v1.PendingActivityStateR\x05state\x12M\n" + + "\x11heartbeat_details\x18\x04 \x01(\v2 .temporal.api.common.v1.PayloadsR\x10heartbeatDetails\x12J\n" + + "\x13last_heartbeat_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\x11lastHeartbeatTime\x12F\n" + + "\x11last_started_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x0flastStartedTime\x12\x18\n" + + "\aattempt\x18\a \x01(\x05R\aattempt\x12)\n" + + "\x10maximum_attempts\x18\b \x01(\x05R\x0fmaximumAttempts\x12A\n" + + "\x0escheduled_time\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\rscheduledTime\x12C\n" + + "\x0fexpiration_time\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\x0eexpirationTime\x12C\n" + + "\flast_failure\x18\v \x01(\v2 .temporal.api.failure.v1.FailureR\vlastFailure\x120\n" + + "\x14last_worker_identity\x18\f \x01(\tR\x12lastWorkerIdentity\x12O\n" + + "\x15use_workflow_build_id\x18\r \x01(\v2\x16.google.protobuf.EmptyB\x02\x18\x01H\x00R\x12useWorkflowBuildId\x12T\n" + + "$last_independently_assigned_build_id\x18\x0e \x01(\tB\x02\x18\x01H\x00R lastIndependentlyAssignedBuildId\x12i\n" + + "\x19last_worker_version_stamp\x18\x0f \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\x16lastWorkerVersionStamp\x12O\n" + + "\x16current_retry_interval\x18\x10 \x01(\v2\x19.google.protobuf.DurationR\x14currentRetryInterval\x12W\n" + + "\x1alast_attempt_complete_time\x18\x11 \x01(\v2\x1a.google.protobuf.TimestampR\x17lastAttemptCompleteTime\x12W\n" + + "\x1anext_attempt_schedule_time\x18\x12 \x01(\v2\x1a.google.protobuf.TimestampR\x17nextAttemptScheduleTime\x12\x16\n" + + "\x06paused\x18\x13 \x01(\bR\x06paused\x12S\n" + + "\x0flast_deployment\x18\x14 \x01(\v2&.temporal.api.deployment.v1.DeploymentB\x02\x18\x01R\x0elastDeployment\x12G\n" + + "\x1elast_worker_deployment_version\x18\x15 \x01(\tB\x02\x18\x01R\x1blastWorkerDeploymentVersion\x12k\n" + + "\x17last_deployment_version\x18\x19 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x15lastDeploymentVersion\x12<\n" + + "\bpriority\x18\x16 \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12V\n" + + "\n" + + "pause_info\x18\x17 \x01(\v27.temporal.api.workflow.v1.PendingActivityInfo.PauseInfoR\tpauseInfo\x12T\n" + + "\x10activity_options\x18\x18 \x01(\v2).temporal.api.activity.v1.ActivityOptionsR\x0factivityOptions\x1a\x94\x03\n" + + "\tPauseInfo\x129\n" + + "\n" + + "pause_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\tpauseTime\x12X\n" + + "\x06manual\x18\x02 \x01(\v2>.temporal.api.workflow.v1.PendingActivityInfo.PauseInfo.ManualH\x00R\x06manual\x12R\n" + + "\x04rule\x18\x04 \x01(\v2<.temporal.api.workflow.v1.PendingActivityInfo.PauseInfo.RuleH\x00R\x04rule\x1a<\n" + + "\x06Manual\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\x1aS\n" + + "\x04Rule\x12\x17\n" + + "\arule_id\x18\x01 \x01(\tR\x06ruleId\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reasonB\v\n" + + "\tpaused_byB\x13\n" + + "\x11assigned_build_id\"\xfe\x01\n" + + "\x19PendingChildExecutionInfo\x12\x1f\n" + + "\vworkflow_id\x18\x01 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x02 \x01(\tR\x05runId\x12,\n" + + "\x12workflow_type_name\x18\x03 \x01(\tR\x10workflowTypeName\x12!\n" + + "\finitiated_id\x18\x04 \x01(\x03R\vinitiatedId\x12X\n" + + "\x13parent_close_policy\x18\x05 \x01(\x0e2(.temporal.api.enums.v1.ParentClosePolicyR\x11parentClosePolicy\"\xd0\x02\n" + + "\x17PendingWorkflowTaskInfo\x12E\n" + + "\x05state\x18\x01 \x01(\x0e2/.temporal.api.enums.v1.PendingWorkflowTaskStateR\x05state\x12A\n" + + "\x0escheduled_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\rscheduledTime\x12R\n" + + "\x17original_scheduled_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x15originalScheduledTime\x12=\n" + + "\fstarted_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\vstartedTime\x12\x18\n" + + "\aattempt\x18\x05 \x01(\x05R\aattempt\"O\n" + + "\vResetPoints\x12@\n" + + "\x06points\x18\x01 \x03(\v2(.temporal.api.workflow.v1.ResetPointInfoR\x06points\"\xd1\x02\n" + + "\x0eResetPointInfo\x12\x19\n" + + "\bbuild_id\x18\a \x01(\tR\abuildId\x12+\n" + + "\x0fbinary_checksum\x18\x01 \x01(\tB\x02\x18\x01R\x0ebinaryChecksum\x12\x15\n" + + "\x06run_id\x18\x02 \x01(\tR\x05runId\x12F\n" + + " first_workflow_task_completed_id\x18\x03 \x01(\x03R\x1cfirstWorkflowTaskCompletedId\x12;\n" + + "\vcreate_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\x12;\n" + + "\vexpire_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "expireTime\x12\x1e\n" + + "\n" + + "resettable\x18\x06 \x01(\bR\n" + + "resettable\"\xf2\b\n" + + "\x18NewWorkflowExecutionInfo\x12\x1f\n" + + "\vworkflow_id\x18\x01 \x01(\tR\n" + + "workflowId\x12I\n" + + "\rworkflow_type\x18\x02 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12C\n" + + "\n" + + "task_queue\x18\x03 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x05input\x18\x04 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12W\n" + + "\x1aworkflow_execution_timeout\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\x18workflowExecutionTimeout\x12K\n" + + "\x14workflow_run_timeout\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x12workflowRunTimeout\x12M\n" + + "\x15workflow_task_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x13workflowTaskTimeout\x12e\n" + + "\x18workflow_id_reuse_policy\x18\b \x01(\x0e2,.temporal.api.enums.v1.WorkflowIdReusePolicyR\x15workflowIdReusePolicy\x12F\n" + + "\fretry_policy\x18\t \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12#\n" + + "\rcron_schedule\x18\n" + + " \x01(\tR\fcronSchedule\x120\n" + + "\x04memo\x18\v \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\f \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x126\n" + + "\x06header\x18\r \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12F\n" + + "\ruser_metadata\x18\x0e \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\x12]\n" + + "\x13versioning_override\x18\x0f \x01(\v2,.temporal.api.workflow.v1.VersioningOverrideR\x12versioningOverride\x12<\n" + + "\bpriority\x18\x10 \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\"\xec\x05\n" + + "\fCallbackInfo\x12<\n" + + "\bcallback\x18\x01 \x01(\v2 .temporal.api.common.v1.CallbackR\bcallback\x12H\n" + + "\atrigger\x18\x02 \x01(\v2..temporal.api.workflow.v1.CallbackInfo.TriggerR\atrigger\x12G\n" + + "\x11registration_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x10registrationTime\x12:\n" + + "\x05state\x18\x04 \x01(\x0e2$.temporal.api.enums.v1.CallbackStateR\x05state\x12\x18\n" + + "\aattempt\x18\x05 \x01(\x05R\aattempt\x12W\n" + + "\x1alast_attempt_complete_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x17lastAttemptCompleteTime\x12R\n" + + "\x14last_attempt_failure\x18\a \x01(\v2 .temporal.api.failure.v1.FailureR\x12lastAttemptFailure\x12W\n" + + "\x1anext_attempt_schedule_time\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\x17nextAttemptScheduleTime\x12%\n" + + "\x0eblocked_reason\x18\t \x01(\tR\rblockedReason\x1a\x10\n" + + "\x0eWorkflowClosed\x1av\n" + + "\aTrigger\x12`\n" + + "\x0fworkflow_closed\x18\x01 \x01(\v25.temporal.api.workflow.v1.CallbackInfo.WorkflowClosedH\x00R\x0eworkflowClosedB\t\n" + + "\avariant\"\xa3\b\n" + + "\x19PendingNexusOperationInfo\x12\x1a\n" + + "\bendpoint\x18\x01 \x01(\tR\bendpoint\x12\x18\n" + + "\aservice\x18\x02 \x01(\tR\aservice\x12\x1c\n" + + "\toperation\x18\x03 \x01(\tR\toperation\x12%\n" + + "\foperation_id\x18\x04 \x01(\tB\x02\x18\x01R\voperationId\x12T\n" + + "\x19schedule_to_close_timeout\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12A\n" + + "\x0escheduled_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\rscheduledTime\x12G\n" + + "\x05state\x18\a \x01(\x0e21.temporal.api.enums.v1.PendingNexusOperationStateR\x05state\x12\x18\n" + + "\aattempt\x18\b \x01(\x05R\aattempt\x12W\n" + + "\x1alast_attempt_complete_time\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\x17lastAttemptCompleteTime\x12R\n" + + "\x14last_attempt_failure\x18\n" + + " \x01(\v2 .temporal.api.failure.v1.FailureR\x12lastAttemptFailure\x12W\n" + + "\x1anext_attempt_schedule_time\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\x17nextAttemptScheduleTime\x12e\n" + + "\x11cancellation_info\x18\f \x01(\v28.temporal.api.workflow.v1.NexusOperationCancellationInfoR\x10cancellationInfo\x12,\n" + + "\x12scheduled_event_id\x18\r \x01(\x03R\x10scheduledEventId\x12%\n" + + "\x0eblocked_reason\x18\x0e \x01(\tR\rblockedReason\x12'\n" + + "\x0foperation_token\x18\x0f \x01(\tR\x0eoperationToken\x12T\n" + + "\x19schedule_to_start_timeout\x18\x10 \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\x11 \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\"\xf8\x03\n" + + "\x1eNexusOperationCancellationInfo\x12A\n" + + "\x0erequested_time\x18\x01 \x01(\v2\x1a.google.protobuf.TimestampR\rrequestedTime\x12L\n" + + "\x05state\x18\x02 \x01(\x0e26.temporal.api.enums.v1.NexusOperationCancellationStateR\x05state\x12\x18\n" + + "\aattempt\x18\x03 \x01(\x05R\aattempt\x12W\n" + + "\x1alast_attempt_complete_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\x17lastAttemptCompleteTime\x12R\n" + + "\x14last_attempt_failure\x18\x05 \x01(\v2 .temporal.api.failure.v1.FailureR\x12lastAttemptFailure\x12W\n" + + "\x1anext_attempt_schedule_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\x17nextAttemptScheduleTime\x12%\n" + + "\x0eblocked_reason\x18\a \x01(\tR\rblockedReason\"\x97\x02\n" + + "\x18WorkflowExecutionOptions\x12]\n" + + "\x13versioning_override\x18\x01 \x01(\v2,.temporal.api.workflow.v1.VersioningOverrideR\x12versioningOverride\x12<\n" + + "\bpriority\x18\x02 \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12^\n" + + "\x14time_skipping_config\x18\x03 \x01(\v2,.temporal.api.workflow.v1.TimeSkippingConfigR\x12timeSkippingConfig\"\x87\x02\n" + + "\x12TimeSkippingConfig\x12\x18\n" + + "\aenabled\x18\x01 \x01(\bR\aenabled\x12M\n" + + "\x14max_skipped_duration\x18\x04 \x01(\v2\x19.google.protobuf.DurationH\x00R\x12maxSkippedDuration\x12M\n" + + "\x14max_elapsed_duration\x18\x05 \x01(\v2\x19.google.protobuf.DurationH\x00R\x12maxElapsedDurationB\a\n" + + "\x05boundJ\x04\b\x02\x10\x03J\x04\b\x06\x10\aR\x13disable_propagationR\x0fmax_target_time\"\x8a\x05\n" + + "\x12VersioningOverride\x12U\n" + + "\x06pinned\x18\x03 \x01(\v2;.temporal.api.workflow.v1.VersioningOverride.PinnedOverrideH\x00R\x06pinned\x12#\n" + + "\fauto_upgrade\x18\x04 \x01(\bH\x00R\vautoUpgrade\x12I\n" + + "\bbehavior\x18\x01 \x01(\x0e2).temporal.api.enums.v1.VersioningBehaviorB\x02\x18\x01R\bbehavior\x12J\n" + + "\n" + + "deployment\x18\x02 \x01(\v2&.temporal.api.deployment.v1.DeploymentB\x02\x18\x01R\n" + + "deployment\x12)\n" + + "\x0epinned_version\x18\t \x01(\tB\x02\x18\x01R\rpinnedVersion\x1a\xc0\x01\n" + + "\x0ePinnedOverride\x12_\n" + + "\bbehavior\x18\x01 \x01(\x0e2C.temporal.api.workflow.v1.VersioningOverride.PinnedOverrideBehaviorR\bbehavior\x12M\n" + + "\aversion\x18\x02 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\aversion\"g\n" + + "\x16PinnedOverrideBehavior\x12(\n" + + "$PINNED_OVERRIDE_BEHAVIOR_UNSPECIFIED\x10\x00\x12#\n" + + "\x1fPINNED_OVERRIDE_BEHAVIOR_PINNED\x10\x01B\n" + + "\n" + + "\boverride\"\xa2\x01\n" + + "\x11OnConflictOptions\x12*\n" + + "\x11attach_request_id\x18\x01 \x01(\bR\x0fattachRequestId\x12>\n" + + "\x1battach_completion_callbacks\x18\x02 \x01(\bR\x19attachCompletionCallbacks\x12!\n" + + "\fattach_links\x18\x03 \x01(\bR\vattachLinks\"\x87\x01\n" + + "\rRequestIdInfo\x12?\n" + + "\n" + + "event_type\x18\x01 \x01(\x0e2 .temporal.api.enums.v1.EventTypeR\teventType\x12\x19\n" + + "\bevent_id\x18\x02 \x01(\x03R\aeventId\x12\x1a\n" + + "\bbuffered\x18\x03 \x01(\bR\bbuffered\"\xa6\x05\n" + + "\x12PostResetOperation\x12f\n" + + "\x0fsignal_workflow\x18\x01 \x01(\v2;.temporal.api.workflow.v1.PostResetOperation.SignalWorkflowH\x00R\x0esignalWorkflow\x12|\n" + + "\x17update_workflow_options\x18\x02 \x01(\v2B.temporal.api.workflow.v1.PostResetOperation.UpdateWorkflowOptionsH\x00R\x15updateWorkflowOptions\x1a\xd5\x01\n" + + "\x0eSignalWorkflow\x12\x1f\n" + + "\vsignal_name\x18\x01 \x01(\tR\n" + + "signalName\x126\n" + + "\x05input\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x126\n" + + "\x06header\x18\x03 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x122\n" + + "\x05links\x18\x04 \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\x1a\xc6\x01\n" + + "\x15UpdateWorkflowOptions\x12p\n" + + "\x1aworkflow_execution_options\x18\x01 \x01(\v22.temporal.api.workflow.v1.WorkflowExecutionOptionsR\x18workflowExecutionOptions\x12;\n" + + "\vupdate_mask\x18\x02 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" + + "updateMaskB\t\n" + + "\avariant\"\x8d\x01\n" + + "\x1aWorkflowExecutionPauseInfo\x12\x1a\n" + + "\bidentity\x18\x01 \x01(\tR\bidentity\x12;\n" + + "\vpaused_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "pausedTime\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reasonB\x93\x01\n" + + "\x1bio.temporal.api.workflow.v1B\fMessageProtoP\x01Z'go.temporal.io/api/workflow/v1;workflow\xaa\x02\x1aTemporalio.Api.Workflow.V1\xea\x02\x1dTemporalio::Api::Workflow::V1b\x06proto3" + +var ( + file_temporal_api_workflow_v1_message_proto_rawDescOnce sync.Once + file_temporal_api_workflow_v1_message_proto_rawDescData []byte +) + +func file_temporal_api_workflow_v1_message_proto_rawDescGZIP() []byte { + file_temporal_api_workflow_v1_message_proto_rawDescOnce.Do(func() { + file_temporal_api_workflow_v1_message_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_workflow_v1_message_proto_rawDesc), len(file_temporal_api_workflow_v1_message_proto_rawDesc))) + }) + return file_temporal_api_workflow_v1_message_proto_rawDescData +} + +var file_temporal_api_workflow_v1_message_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_temporal_api_workflow_v1_message_proto_msgTypes = make([]protoimpl.MessageInfo, 31) +var file_temporal_api_workflow_v1_message_proto_goTypes = []any{ + (VersioningOverride_PinnedOverrideBehavior)(0), // 0: temporal.api.workflow.v1.VersioningOverride.PinnedOverrideBehavior + (*WorkflowExecutionInfo)(nil), // 1: temporal.api.workflow.v1.WorkflowExecutionInfo + (*WorkflowExecutionExtendedInfo)(nil), // 2: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo + (*WorkflowExecutionVersioningInfo)(nil), // 3: temporal.api.workflow.v1.WorkflowExecutionVersioningInfo + (*DeploymentTransition)(nil), // 4: temporal.api.workflow.v1.DeploymentTransition + (*DeploymentVersionTransition)(nil), // 5: temporal.api.workflow.v1.DeploymentVersionTransition + (*WorkflowExecutionConfig)(nil), // 6: temporal.api.workflow.v1.WorkflowExecutionConfig + (*PendingActivityInfo)(nil), // 7: temporal.api.workflow.v1.PendingActivityInfo + (*PendingChildExecutionInfo)(nil), // 8: temporal.api.workflow.v1.PendingChildExecutionInfo + (*PendingWorkflowTaskInfo)(nil), // 9: temporal.api.workflow.v1.PendingWorkflowTaskInfo + (*ResetPoints)(nil), // 10: temporal.api.workflow.v1.ResetPoints + (*ResetPointInfo)(nil), // 11: temporal.api.workflow.v1.ResetPointInfo + (*NewWorkflowExecutionInfo)(nil), // 12: temporal.api.workflow.v1.NewWorkflowExecutionInfo + (*CallbackInfo)(nil), // 13: temporal.api.workflow.v1.CallbackInfo + (*PendingNexusOperationInfo)(nil), // 14: temporal.api.workflow.v1.PendingNexusOperationInfo + (*NexusOperationCancellationInfo)(nil), // 15: temporal.api.workflow.v1.NexusOperationCancellationInfo + (*WorkflowExecutionOptions)(nil), // 16: temporal.api.workflow.v1.WorkflowExecutionOptions + (*TimeSkippingConfig)(nil), // 17: temporal.api.workflow.v1.TimeSkippingConfig + (*VersioningOverride)(nil), // 18: temporal.api.workflow.v1.VersioningOverride + (*OnConflictOptions)(nil), // 19: temporal.api.workflow.v1.OnConflictOptions + (*RequestIdInfo)(nil), // 20: temporal.api.workflow.v1.RequestIdInfo + (*PostResetOperation)(nil), // 21: temporal.api.workflow.v1.PostResetOperation + (*WorkflowExecutionPauseInfo)(nil), // 22: temporal.api.workflow.v1.WorkflowExecutionPauseInfo + nil, // 23: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.RequestIdInfosEntry + (*PendingActivityInfo_PauseInfo)(nil), // 24: temporal.api.workflow.v1.PendingActivityInfo.PauseInfo + (*PendingActivityInfo_PauseInfo_Manual)(nil), // 25: temporal.api.workflow.v1.PendingActivityInfo.PauseInfo.Manual + (*PendingActivityInfo_PauseInfo_Rule)(nil), // 26: temporal.api.workflow.v1.PendingActivityInfo.PauseInfo.Rule + (*CallbackInfo_WorkflowClosed)(nil), // 27: temporal.api.workflow.v1.CallbackInfo.WorkflowClosed + (*CallbackInfo_Trigger)(nil), // 28: temporal.api.workflow.v1.CallbackInfo.Trigger + (*VersioningOverride_PinnedOverride)(nil), // 29: temporal.api.workflow.v1.VersioningOverride.PinnedOverride + (*PostResetOperation_SignalWorkflow)(nil), // 30: temporal.api.workflow.v1.PostResetOperation.SignalWorkflow + (*PostResetOperation_UpdateWorkflowOptions)(nil), // 31: temporal.api.workflow.v1.PostResetOperation.UpdateWorkflowOptions + (*v1.WorkflowExecution)(nil), // 32: temporal.api.common.v1.WorkflowExecution + (*v1.WorkflowType)(nil), // 33: temporal.api.common.v1.WorkflowType + (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp + (v11.WorkflowExecutionStatus)(0), // 35: temporal.api.enums.v1.WorkflowExecutionStatus + (*v1.Memo)(nil), // 36: temporal.api.common.v1.Memo + (*v1.SearchAttributes)(nil), // 37: temporal.api.common.v1.SearchAttributes + (*v1.WorkerVersionStamp)(nil), // 38: temporal.api.common.v1.WorkerVersionStamp + (*durationpb.Duration)(nil), // 39: google.protobuf.Duration + (*v1.Priority)(nil), // 40: temporal.api.common.v1.Priority + (v11.VersioningBehavior)(0), // 41: temporal.api.enums.v1.VersioningBehavior + (*v12.Deployment)(nil), // 42: temporal.api.deployment.v1.Deployment + (*v12.WorkerDeploymentVersion)(nil), // 43: temporal.api.deployment.v1.WorkerDeploymentVersion + (v11.ContinueAsNewVersioningBehavior)(0), // 44: temporal.api.enums.v1.ContinueAsNewVersioningBehavior + (*v13.TaskQueue)(nil), // 45: temporal.api.taskqueue.v1.TaskQueue + (*v14.UserMetadata)(nil), // 46: temporal.api.sdk.v1.UserMetadata + (*v1.ActivityType)(nil), // 47: temporal.api.common.v1.ActivityType + (v11.PendingActivityState)(0), // 48: temporal.api.enums.v1.PendingActivityState + (*v1.Payloads)(nil), // 49: temporal.api.common.v1.Payloads + (*v15.Failure)(nil), // 50: temporal.api.failure.v1.Failure + (*emptypb.Empty)(nil), // 51: google.protobuf.Empty + (*v16.ActivityOptions)(nil), // 52: temporal.api.activity.v1.ActivityOptions + (v11.ParentClosePolicy)(0), // 53: temporal.api.enums.v1.ParentClosePolicy + (v11.PendingWorkflowTaskState)(0), // 54: temporal.api.enums.v1.PendingWorkflowTaskState + (v11.WorkflowIdReusePolicy)(0), // 55: temporal.api.enums.v1.WorkflowIdReusePolicy + (*v1.RetryPolicy)(nil), // 56: temporal.api.common.v1.RetryPolicy + (*v1.Header)(nil), // 57: temporal.api.common.v1.Header + (*v1.Callback)(nil), // 58: temporal.api.common.v1.Callback + (v11.CallbackState)(0), // 59: temporal.api.enums.v1.CallbackState + (v11.PendingNexusOperationState)(0), // 60: temporal.api.enums.v1.PendingNexusOperationState + (v11.NexusOperationCancellationState)(0), // 61: temporal.api.enums.v1.NexusOperationCancellationState + (v11.EventType)(0), // 62: temporal.api.enums.v1.EventType + (*v1.Link)(nil), // 63: temporal.api.common.v1.Link + (*fieldmaskpb.FieldMask)(nil), // 64: google.protobuf.FieldMask +} +var file_temporal_api_workflow_v1_message_proto_depIdxs = []int32{ + 32, // 0: temporal.api.workflow.v1.WorkflowExecutionInfo.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 33, // 1: temporal.api.workflow.v1.WorkflowExecutionInfo.type:type_name -> temporal.api.common.v1.WorkflowType + 34, // 2: temporal.api.workflow.v1.WorkflowExecutionInfo.start_time:type_name -> google.protobuf.Timestamp + 34, // 3: temporal.api.workflow.v1.WorkflowExecutionInfo.close_time:type_name -> google.protobuf.Timestamp + 35, // 4: temporal.api.workflow.v1.WorkflowExecutionInfo.status:type_name -> temporal.api.enums.v1.WorkflowExecutionStatus + 32, // 5: temporal.api.workflow.v1.WorkflowExecutionInfo.parent_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 34, // 6: temporal.api.workflow.v1.WorkflowExecutionInfo.execution_time:type_name -> google.protobuf.Timestamp + 36, // 7: temporal.api.workflow.v1.WorkflowExecutionInfo.memo:type_name -> temporal.api.common.v1.Memo + 37, // 8: temporal.api.workflow.v1.WorkflowExecutionInfo.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 10, // 9: temporal.api.workflow.v1.WorkflowExecutionInfo.auto_reset_points:type_name -> temporal.api.workflow.v1.ResetPoints + 38, // 10: temporal.api.workflow.v1.WorkflowExecutionInfo.most_recent_worker_version_stamp:type_name -> temporal.api.common.v1.WorkerVersionStamp + 39, // 11: temporal.api.workflow.v1.WorkflowExecutionInfo.execution_duration:type_name -> google.protobuf.Duration + 32, // 12: temporal.api.workflow.v1.WorkflowExecutionInfo.root_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 3, // 13: temporal.api.workflow.v1.WorkflowExecutionInfo.versioning_info:type_name -> temporal.api.workflow.v1.WorkflowExecutionVersioningInfo + 40, // 14: temporal.api.workflow.v1.WorkflowExecutionInfo.priority:type_name -> temporal.api.common.v1.Priority + 34, // 15: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.execution_expiration_time:type_name -> google.protobuf.Timestamp + 34, // 16: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.run_expiration_time:type_name -> google.protobuf.Timestamp + 34, // 17: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.last_reset_time:type_name -> google.protobuf.Timestamp + 34, // 18: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.original_start_time:type_name -> google.protobuf.Timestamp + 23, // 19: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.request_id_infos:type_name -> temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.RequestIdInfosEntry + 22, // 20: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.pause_info:type_name -> temporal.api.workflow.v1.WorkflowExecutionPauseInfo + 41, // 21: temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.behavior:type_name -> temporal.api.enums.v1.VersioningBehavior + 42, // 22: temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.deployment:type_name -> temporal.api.deployment.v1.Deployment + 43, // 23: temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 18, // 24: temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.versioning_override:type_name -> temporal.api.workflow.v1.VersioningOverride + 4, // 25: temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.deployment_transition:type_name -> temporal.api.workflow.v1.DeploymentTransition + 5, // 26: temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.version_transition:type_name -> temporal.api.workflow.v1.DeploymentVersionTransition + 44, // 27: temporal.api.workflow.v1.WorkflowExecutionVersioningInfo.continue_as_new_initial_versioning_behavior:type_name -> temporal.api.enums.v1.ContinueAsNewVersioningBehavior + 42, // 28: temporal.api.workflow.v1.DeploymentTransition.deployment:type_name -> temporal.api.deployment.v1.Deployment + 43, // 29: temporal.api.workflow.v1.DeploymentVersionTransition.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 45, // 30: temporal.api.workflow.v1.WorkflowExecutionConfig.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 39, // 31: temporal.api.workflow.v1.WorkflowExecutionConfig.workflow_execution_timeout:type_name -> google.protobuf.Duration + 39, // 32: temporal.api.workflow.v1.WorkflowExecutionConfig.workflow_run_timeout:type_name -> google.protobuf.Duration + 39, // 33: temporal.api.workflow.v1.WorkflowExecutionConfig.default_workflow_task_timeout:type_name -> google.protobuf.Duration + 46, // 34: temporal.api.workflow.v1.WorkflowExecutionConfig.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 47, // 35: temporal.api.workflow.v1.PendingActivityInfo.activity_type:type_name -> temporal.api.common.v1.ActivityType + 48, // 36: temporal.api.workflow.v1.PendingActivityInfo.state:type_name -> temporal.api.enums.v1.PendingActivityState + 49, // 37: temporal.api.workflow.v1.PendingActivityInfo.heartbeat_details:type_name -> temporal.api.common.v1.Payloads + 34, // 38: temporal.api.workflow.v1.PendingActivityInfo.last_heartbeat_time:type_name -> google.protobuf.Timestamp + 34, // 39: temporal.api.workflow.v1.PendingActivityInfo.last_started_time:type_name -> google.protobuf.Timestamp + 34, // 40: temporal.api.workflow.v1.PendingActivityInfo.scheduled_time:type_name -> google.protobuf.Timestamp + 34, // 41: temporal.api.workflow.v1.PendingActivityInfo.expiration_time:type_name -> google.protobuf.Timestamp + 50, // 42: temporal.api.workflow.v1.PendingActivityInfo.last_failure:type_name -> temporal.api.failure.v1.Failure + 51, // 43: temporal.api.workflow.v1.PendingActivityInfo.use_workflow_build_id:type_name -> google.protobuf.Empty + 38, // 44: temporal.api.workflow.v1.PendingActivityInfo.last_worker_version_stamp:type_name -> temporal.api.common.v1.WorkerVersionStamp + 39, // 45: temporal.api.workflow.v1.PendingActivityInfo.current_retry_interval:type_name -> google.protobuf.Duration + 34, // 46: temporal.api.workflow.v1.PendingActivityInfo.last_attempt_complete_time:type_name -> google.protobuf.Timestamp + 34, // 47: temporal.api.workflow.v1.PendingActivityInfo.next_attempt_schedule_time:type_name -> google.protobuf.Timestamp + 42, // 48: temporal.api.workflow.v1.PendingActivityInfo.last_deployment:type_name -> temporal.api.deployment.v1.Deployment + 43, // 49: temporal.api.workflow.v1.PendingActivityInfo.last_deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 40, // 50: temporal.api.workflow.v1.PendingActivityInfo.priority:type_name -> temporal.api.common.v1.Priority + 24, // 51: temporal.api.workflow.v1.PendingActivityInfo.pause_info:type_name -> temporal.api.workflow.v1.PendingActivityInfo.PauseInfo + 52, // 52: temporal.api.workflow.v1.PendingActivityInfo.activity_options:type_name -> temporal.api.activity.v1.ActivityOptions + 53, // 53: temporal.api.workflow.v1.PendingChildExecutionInfo.parent_close_policy:type_name -> temporal.api.enums.v1.ParentClosePolicy + 54, // 54: temporal.api.workflow.v1.PendingWorkflowTaskInfo.state:type_name -> temporal.api.enums.v1.PendingWorkflowTaskState + 34, // 55: temporal.api.workflow.v1.PendingWorkflowTaskInfo.scheduled_time:type_name -> google.protobuf.Timestamp + 34, // 56: temporal.api.workflow.v1.PendingWorkflowTaskInfo.original_scheduled_time:type_name -> google.protobuf.Timestamp + 34, // 57: temporal.api.workflow.v1.PendingWorkflowTaskInfo.started_time:type_name -> google.protobuf.Timestamp + 11, // 58: temporal.api.workflow.v1.ResetPoints.points:type_name -> temporal.api.workflow.v1.ResetPointInfo + 34, // 59: temporal.api.workflow.v1.ResetPointInfo.create_time:type_name -> google.protobuf.Timestamp + 34, // 60: temporal.api.workflow.v1.ResetPointInfo.expire_time:type_name -> google.protobuf.Timestamp + 33, // 61: temporal.api.workflow.v1.NewWorkflowExecutionInfo.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 45, // 62: temporal.api.workflow.v1.NewWorkflowExecutionInfo.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 49, // 63: temporal.api.workflow.v1.NewWorkflowExecutionInfo.input:type_name -> temporal.api.common.v1.Payloads + 39, // 64: temporal.api.workflow.v1.NewWorkflowExecutionInfo.workflow_execution_timeout:type_name -> google.protobuf.Duration + 39, // 65: temporal.api.workflow.v1.NewWorkflowExecutionInfo.workflow_run_timeout:type_name -> google.protobuf.Duration + 39, // 66: temporal.api.workflow.v1.NewWorkflowExecutionInfo.workflow_task_timeout:type_name -> google.protobuf.Duration + 55, // 67: temporal.api.workflow.v1.NewWorkflowExecutionInfo.workflow_id_reuse_policy:type_name -> temporal.api.enums.v1.WorkflowIdReusePolicy + 56, // 68: temporal.api.workflow.v1.NewWorkflowExecutionInfo.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 36, // 69: temporal.api.workflow.v1.NewWorkflowExecutionInfo.memo:type_name -> temporal.api.common.v1.Memo + 37, // 70: temporal.api.workflow.v1.NewWorkflowExecutionInfo.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 57, // 71: temporal.api.workflow.v1.NewWorkflowExecutionInfo.header:type_name -> temporal.api.common.v1.Header + 46, // 72: temporal.api.workflow.v1.NewWorkflowExecutionInfo.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 18, // 73: temporal.api.workflow.v1.NewWorkflowExecutionInfo.versioning_override:type_name -> temporal.api.workflow.v1.VersioningOverride + 40, // 74: temporal.api.workflow.v1.NewWorkflowExecutionInfo.priority:type_name -> temporal.api.common.v1.Priority + 58, // 75: temporal.api.workflow.v1.CallbackInfo.callback:type_name -> temporal.api.common.v1.Callback + 28, // 76: temporal.api.workflow.v1.CallbackInfo.trigger:type_name -> temporal.api.workflow.v1.CallbackInfo.Trigger + 34, // 77: temporal.api.workflow.v1.CallbackInfo.registration_time:type_name -> google.protobuf.Timestamp + 59, // 78: temporal.api.workflow.v1.CallbackInfo.state:type_name -> temporal.api.enums.v1.CallbackState + 34, // 79: temporal.api.workflow.v1.CallbackInfo.last_attempt_complete_time:type_name -> google.protobuf.Timestamp + 50, // 80: temporal.api.workflow.v1.CallbackInfo.last_attempt_failure:type_name -> temporal.api.failure.v1.Failure + 34, // 81: temporal.api.workflow.v1.CallbackInfo.next_attempt_schedule_time:type_name -> google.protobuf.Timestamp + 39, // 82: temporal.api.workflow.v1.PendingNexusOperationInfo.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 34, // 83: temporal.api.workflow.v1.PendingNexusOperationInfo.scheduled_time:type_name -> google.protobuf.Timestamp + 60, // 84: temporal.api.workflow.v1.PendingNexusOperationInfo.state:type_name -> temporal.api.enums.v1.PendingNexusOperationState + 34, // 85: temporal.api.workflow.v1.PendingNexusOperationInfo.last_attempt_complete_time:type_name -> google.protobuf.Timestamp + 50, // 86: temporal.api.workflow.v1.PendingNexusOperationInfo.last_attempt_failure:type_name -> temporal.api.failure.v1.Failure + 34, // 87: temporal.api.workflow.v1.PendingNexusOperationInfo.next_attempt_schedule_time:type_name -> google.protobuf.Timestamp + 15, // 88: temporal.api.workflow.v1.PendingNexusOperationInfo.cancellation_info:type_name -> temporal.api.workflow.v1.NexusOperationCancellationInfo + 39, // 89: temporal.api.workflow.v1.PendingNexusOperationInfo.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 39, // 90: temporal.api.workflow.v1.PendingNexusOperationInfo.start_to_close_timeout:type_name -> google.protobuf.Duration + 34, // 91: temporal.api.workflow.v1.NexusOperationCancellationInfo.requested_time:type_name -> google.protobuf.Timestamp + 61, // 92: temporal.api.workflow.v1.NexusOperationCancellationInfo.state:type_name -> temporal.api.enums.v1.NexusOperationCancellationState + 34, // 93: temporal.api.workflow.v1.NexusOperationCancellationInfo.last_attempt_complete_time:type_name -> google.protobuf.Timestamp + 50, // 94: temporal.api.workflow.v1.NexusOperationCancellationInfo.last_attempt_failure:type_name -> temporal.api.failure.v1.Failure + 34, // 95: temporal.api.workflow.v1.NexusOperationCancellationInfo.next_attempt_schedule_time:type_name -> google.protobuf.Timestamp + 18, // 96: temporal.api.workflow.v1.WorkflowExecutionOptions.versioning_override:type_name -> temporal.api.workflow.v1.VersioningOverride + 40, // 97: temporal.api.workflow.v1.WorkflowExecutionOptions.priority:type_name -> temporal.api.common.v1.Priority + 17, // 98: temporal.api.workflow.v1.WorkflowExecutionOptions.time_skipping_config:type_name -> temporal.api.workflow.v1.TimeSkippingConfig + 39, // 99: temporal.api.workflow.v1.TimeSkippingConfig.max_skipped_duration:type_name -> google.protobuf.Duration + 39, // 100: temporal.api.workflow.v1.TimeSkippingConfig.max_elapsed_duration:type_name -> google.protobuf.Duration + 29, // 101: temporal.api.workflow.v1.VersioningOverride.pinned:type_name -> temporal.api.workflow.v1.VersioningOverride.PinnedOverride + 41, // 102: temporal.api.workflow.v1.VersioningOverride.behavior:type_name -> temporal.api.enums.v1.VersioningBehavior + 42, // 103: temporal.api.workflow.v1.VersioningOverride.deployment:type_name -> temporal.api.deployment.v1.Deployment + 62, // 104: temporal.api.workflow.v1.RequestIdInfo.event_type:type_name -> temporal.api.enums.v1.EventType + 30, // 105: temporal.api.workflow.v1.PostResetOperation.signal_workflow:type_name -> temporal.api.workflow.v1.PostResetOperation.SignalWorkflow + 31, // 106: temporal.api.workflow.v1.PostResetOperation.update_workflow_options:type_name -> temporal.api.workflow.v1.PostResetOperation.UpdateWorkflowOptions + 34, // 107: temporal.api.workflow.v1.WorkflowExecutionPauseInfo.paused_time:type_name -> google.protobuf.Timestamp + 20, // 108: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo.RequestIdInfosEntry.value:type_name -> temporal.api.workflow.v1.RequestIdInfo + 34, // 109: temporal.api.workflow.v1.PendingActivityInfo.PauseInfo.pause_time:type_name -> google.protobuf.Timestamp + 25, // 110: temporal.api.workflow.v1.PendingActivityInfo.PauseInfo.manual:type_name -> temporal.api.workflow.v1.PendingActivityInfo.PauseInfo.Manual + 26, // 111: temporal.api.workflow.v1.PendingActivityInfo.PauseInfo.rule:type_name -> temporal.api.workflow.v1.PendingActivityInfo.PauseInfo.Rule + 27, // 112: temporal.api.workflow.v1.CallbackInfo.Trigger.workflow_closed:type_name -> temporal.api.workflow.v1.CallbackInfo.WorkflowClosed + 0, // 113: temporal.api.workflow.v1.VersioningOverride.PinnedOverride.behavior:type_name -> temporal.api.workflow.v1.VersioningOverride.PinnedOverrideBehavior + 43, // 114: temporal.api.workflow.v1.VersioningOverride.PinnedOverride.version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 49, // 115: temporal.api.workflow.v1.PostResetOperation.SignalWorkflow.input:type_name -> temporal.api.common.v1.Payloads + 57, // 116: temporal.api.workflow.v1.PostResetOperation.SignalWorkflow.header:type_name -> temporal.api.common.v1.Header + 63, // 117: temporal.api.workflow.v1.PostResetOperation.SignalWorkflow.links:type_name -> temporal.api.common.v1.Link + 16, // 118: temporal.api.workflow.v1.PostResetOperation.UpdateWorkflowOptions.workflow_execution_options:type_name -> temporal.api.workflow.v1.WorkflowExecutionOptions + 64, // 119: temporal.api.workflow.v1.PostResetOperation.UpdateWorkflowOptions.update_mask:type_name -> google.protobuf.FieldMask + 120, // [120:120] is the sub-list for method output_type + 120, // [120:120] is the sub-list for method input_type + 120, // [120:120] is the sub-list for extension type_name + 120, // [120:120] is the sub-list for extension extendee + 0, // [0:120] is the sub-list for field type_name +} + +func init() { file_temporal_api_workflow_v1_message_proto_init() } +func file_temporal_api_workflow_v1_message_proto_init() { + if File_temporal_api_workflow_v1_message_proto != nil { + return + } + file_temporal_api_workflow_v1_message_proto_msgTypes[6].OneofWrappers = []any{ + (*PendingActivityInfo_UseWorkflowBuildId)(nil), + (*PendingActivityInfo_LastIndependentlyAssignedBuildId)(nil), + } + file_temporal_api_workflow_v1_message_proto_msgTypes[16].OneofWrappers = []any{ + (*TimeSkippingConfig_MaxSkippedDuration)(nil), + (*TimeSkippingConfig_MaxElapsedDuration)(nil), + } + file_temporal_api_workflow_v1_message_proto_msgTypes[17].OneofWrappers = []any{ + (*VersioningOverride_Pinned)(nil), + (*VersioningOverride_AutoUpgrade)(nil), + } + file_temporal_api_workflow_v1_message_proto_msgTypes[20].OneofWrappers = []any{ + (*PostResetOperation_SignalWorkflow_)(nil), + (*PostResetOperation_UpdateWorkflowOptions_)(nil), + } + file_temporal_api_workflow_v1_message_proto_msgTypes[23].OneofWrappers = []any{ + (*PendingActivityInfo_PauseInfo_Manual_)(nil), + (*PendingActivityInfo_PauseInfo_Rule_)(nil), + } + file_temporal_api_workflow_v1_message_proto_msgTypes[27].OneofWrappers = []any{ + (*CallbackInfo_Trigger_WorkflowClosed)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_workflow_v1_message_proto_rawDesc), len(file_temporal_api_workflow_v1_message_proto_rawDesc)), + NumEnums: 1, + NumMessages: 31, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_workflow_v1_message_proto_goTypes, + DependencyIndexes: file_temporal_api_workflow_v1_message_proto_depIdxs, + EnumInfos: file_temporal_api_workflow_v1_message_proto_enumTypes, + MessageInfos: file_temporal_api_workflow_v1_message_proto_msgTypes, + }.Build() + File_temporal_api_workflow_v1_message_proto = out.File + file_temporal_api_workflow_v1_message_proto_goTypes = nil + file_temporal_api_workflow_v1_message_proto_depIdxs = nil +} diff --git a/api_next/workflowservice/v1/request_response.go-helpers.pb.go b/api_next/workflowservice/v1/request_response.go-helpers.pb.go new file mode 100644 index 00000000..ba4f76ef --- /dev/null +++ b/api_next/workflowservice/v1/request_response.go-helpers.pb.go @@ -0,0 +1,9071 @@ +// Code generated by protoc-gen-go-helpers. DO NOT EDIT. +package workflowservice + +import ( + "google.golang.org/protobuf/proto" +) + +// Marshal an object of type RegisterNamespaceRequest to the protobuf v3 wire format +func (val *RegisterNamespaceRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RegisterNamespaceRequest from the protobuf v3 wire format +func (val *RegisterNamespaceRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RegisterNamespaceRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RegisterNamespaceRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RegisterNamespaceRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RegisterNamespaceRequest + switch t := that.(type) { + case *RegisterNamespaceRequest: + that1 = t + case RegisterNamespaceRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RegisterNamespaceResponse to the protobuf v3 wire format +func (val *RegisterNamespaceResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RegisterNamespaceResponse from the protobuf v3 wire format +func (val *RegisterNamespaceResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RegisterNamespaceResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RegisterNamespaceResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RegisterNamespaceResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RegisterNamespaceResponse + switch t := that.(type) { + case *RegisterNamespaceResponse: + that1 = t + case RegisterNamespaceResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListNamespacesRequest to the protobuf v3 wire format +func (val *ListNamespacesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListNamespacesRequest from the protobuf v3 wire format +func (val *ListNamespacesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListNamespacesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListNamespacesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListNamespacesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListNamespacesRequest + switch t := that.(type) { + case *ListNamespacesRequest: + that1 = t + case ListNamespacesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListNamespacesResponse to the protobuf v3 wire format +func (val *ListNamespacesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListNamespacesResponse from the protobuf v3 wire format +func (val *ListNamespacesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListNamespacesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListNamespacesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListNamespacesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListNamespacesResponse + switch t := that.(type) { + case *ListNamespacesResponse: + that1 = t + case ListNamespacesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeNamespaceRequest to the protobuf v3 wire format +func (val *DescribeNamespaceRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeNamespaceRequest from the protobuf v3 wire format +func (val *DescribeNamespaceRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeNamespaceRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeNamespaceRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeNamespaceRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeNamespaceRequest + switch t := that.(type) { + case *DescribeNamespaceRequest: + that1 = t + case DescribeNamespaceRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeNamespaceResponse to the protobuf v3 wire format +func (val *DescribeNamespaceResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeNamespaceResponse from the protobuf v3 wire format +func (val *DescribeNamespaceResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeNamespaceResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeNamespaceResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeNamespaceResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeNamespaceResponse + switch t := that.(type) { + case *DescribeNamespaceResponse: + that1 = t + case DescribeNamespaceResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateNamespaceRequest to the protobuf v3 wire format +func (val *UpdateNamespaceRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateNamespaceRequest from the protobuf v3 wire format +func (val *UpdateNamespaceRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateNamespaceRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateNamespaceRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateNamespaceRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateNamespaceRequest + switch t := that.(type) { + case *UpdateNamespaceRequest: + that1 = t + case UpdateNamespaceRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateNamespaceResponse to the protobuf v3 wire format +func (val *UpdateNamespaceResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateNamespaceResponse from the protobuf v3 wire format +func (val *UpdateNamespaceResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateNamespaceResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateNamespaceResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateNamespaceResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateNamespaceResponse + switch t := that.(type) { + case *UpdateNamespaceResponse: + that1 = t + case UpdateNamespaceResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeprecateNamespaceRequest to the protobuf v3 wire format +func (val *DeprecateNamespaceRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeprecateNamespaceRequest from the protobuf v3 wire format +func (val *DeprecateNamespaceRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeprecateNamespaceRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeprecateNamespaceRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeprecateNamespaceRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeprecateNamespaceRequest + switch t := that.(type) { + case *DeprecateNamespaceRequest: + that1 = t + case DeprecateNamespaceRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeprecateNamespaceResponse to the protobuf v3 wire format +func (val *DeprecateNamespaceResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeprecateNamespaceResponse from the protobuf v3 wire format +func (val *DeprecateNamespaceResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeprecateNamespaceResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeprecateNamespaceResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeprecateNamespaceResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeprecateNamespaceResponse + switch t := that.(type) { + case *DeprecateNamespaceResponse: + that1 = t + case DeprecateNamespaceResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartWorkflowExecutionRequest to the protobuf v3 wire format +func (val *StartWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartWorkflowExecutionRequest from the protobuf v3 wire format +func (val *StartWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartWorkflowExecutionRequest + switch t := that.(type) { + case *StartWorkflowExecutionRequest: + that1 = t + case StartWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartWorkflowExecutionResponse to the protobuf v3 wire format +func (val *StartWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartWorkflowExecutionResponse from the protobuf v3 wire format +func (val *StartWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartWorkflowExecutionResponse + switch t := that.(type) { + case *StartWorkflowExecutionResponse: + that1 = t + case StartWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkflowExecutionHistoryRequest to the protobuf v3 wire format +func (val *GetWorkflowExecutionHistoryRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkflowExecutionHistoryRequest from the protobuf v3 wire format +func (val *GetWorkflowExecutionHistoryRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkflowExecutionHistoryRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkflowExecutionHistoryRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkflowExecutionHistoryRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkflowExecutionHistoryRequest + switch t := that.(type) { + case *GetWorkflowExecutionHistoryRequest: + that1 = t + case GetWorkflowExecutionHistoryRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkflowExecutionHistoryResponse to the protobuf v3 wire format +func (val *GetWorkflowExecutionHistoryResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkflowExecutionHistoryResponse from the protobuf v3 wire format +func (val *GetWorkflowExecutionHistoryResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkflowExecutionHistoryResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkflowExecutionHistoryResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkflowExecutionHistoryResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkflowExecutionHistoryResponse + switch t := that.(type) { + case *GetWorkflowExecutionHistoryResponse: + that1 = t + case GetWorkflowExecutionHistoryResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkflowExecutionHistoryReverseRequest to the protobuf v3 wire format +func (val *GetWorkflowExecutionHistoryReverseRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkflowExecutionHistoryReverseRequest from the protobuf v3 wire format +func (val *GetWorkflowExecutionHistoryReverseRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkflowExecutionHistoryReverseRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkflowExecutionHistoryReverseRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkflowExecutionHistoryReverseRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkflowExecutionHistoryReverseRequest + switch t := that.(type) { + case *GetWorkflowExecutionHistoryReverseRequest: + that1 = t + case GetWorkflowExecutionHistoryReverseRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkflowExecutionHistoryReverseResponse to the protobuf v3 wire format +func (val *GetWorkflowExecutionHistoryReverseResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkflowExecutionHistoryReverseResponse from the protobuf v3 wire format +func (val *GetWorkflowExecutionHistoryReverseResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkflowExecutionHistoryReverseResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkflowExecutionHistoryReverseResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkflowExecutionHistoryReverseResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkflowExecutionHistoryReverseResponse + switch t := that.(type) { + case *GetWorkflowExecutionHistoryReverseResponse: + that1 = t + case GetWorkflowExecutionHistoryReverseResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollWorkflowTaskQueueRequest to the protobuf v3 wire format +func (val *PollWorkflowTaskQueueRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollWorkflowTaskQueueRequest from the protobuf v3 wire format +func (val *PollWorkflowTaskQueueRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollWorkflowTaskQueueRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollWorkflowTaskQueueRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollWorkflowTaskQueueRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollWorkflowTaskQueueRequest + switch t := that.(type) { + case *PollWorkflowTaskQueueRequest: + that1 = t + case PollWorkflowTaskQueueRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollWorkflowTaskQueueResponse to the protobuf v3 wire format +func (val *PollWorkflowTaskQueueResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollWorkflowTaskQueueResponse from the protobuf v3 wire format +func (val *PollWorkflowTaskQueueResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollWorkflowTaskQueueResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollWorkflowTaskQueueResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollWorkflowTaskQueueResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollWorkflowTaskQueueResponse + switch t := that.(type) { + case *PollWorkflowTaskQueueResponse: + that1 = t + case PollWorkflowTaskQueueResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondWorkflowTaskCompletedRequest to the protobuf v3 wire format +func (val *RespondWorkflowTaskCompletedRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondWorkflowTaskCompletedRequest from the protobuf v3 wire format +func (val *RespondWorkflowTaskCompletedRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondWorkflowTaskCompletedRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondWorkflowTaskCompletedRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondWorkflowTaskCompletedRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondWorkflowTaskCompletedRequest + switch t := that.(type) { + case *RespondWorkflowTaskCompletedRequest: + that1 = t + case RespondWorkflowTaskCompletedRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondWorkflowTaskCompletedResponse to the protobuf v3 wire format +func (val *RespondWorkflowTaskCompletedResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondWorkflowTaskCompletedResponse from the protobuf v3 wire format +func (val *RespondWorkflowTaskCompletedResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondWorkflowTaskCompletedResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondWorkflowTaskCompletedResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondWorkflowTaskCompletedResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondWorkflowTaskCompletedResponse + switch t := that.(type) { + case *RespondWorkflowTaskCompletedResponse: + that1 = t + case RespondWorkflowTaskCompletedResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondWorkflowTaskFailedRequest to the protobuf v3 wire format +func (val *RespondWorkflowTaskFailedRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondWorkflowTaskFailedRequest from the protobuf v3 wire format +func (val *RespondWorkflowTaskFailedRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondWorkflowTaskFailedRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondWorkflowTaskFailedRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondWorkflowTaskFailedRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondWorkflowTaskFailedRequest + switch t := that.(type) { + case *RespondWorkflowTaskFailedRequest: + that1 = t + case RespondWorkflowTaskFailedRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondWorkflowTaskFailedResponse to the protobuf v3 wire format +func (val *RespondWorkflowTaskFailedResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondWorkflowTaskFailedResponse from the protobuf v3 wire format +func (val *RespondWorkflowTaskFailedResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondWorkflowTaskFailedResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondWorkflowTaskFailedResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondWorkflowTaskFailedResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondWorkflowTaskFailedResponse + switch t := that.(type) { + case *RespondWorkflowTaskFailedResponse: + that1 = t + case RespondWorkflowTaskFailedResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollActivityTaskQueueRequest to the protobuf v3 wire format +func (val *PollActivityTaskQueueRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollActivityTaskQueueRequest from the protobuf v3 wire format +func (val *PollActivityTaskQueueRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollActivityTaskQueueRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollActivityTaskQueueRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollActivityTaskQueueRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollActivityTaskQueueRequest + switch t := that.(type) { + case *PollActivityTaskQueueRequest: + that1 = t + case PollActivityTaskQueueRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollActivityTaskQueueResponse to the protobuf v3 wire format +func (val *PollActivityTaskQueueResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollActivityTaskQueueResponse from the protobuf v3 wire format +func (val *PollActivityTaskQueueResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollActivityTaskQueueResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollActivityTaskQueueResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollActivityTaskQueueResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollActivityTaskQueueResponse + switch t := that.(type) { + case *PollActivityTaskQueueResponse: + that1 = t + case PollActivityTaskQueueResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RecordActivityTaskHeartbeatRequest to the protobuf v3 wire format +func (val *RecordActivityTaskHeartbeatRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RecordActivityTaskHeartbeatRequest from the protobuf v3 wire format +func (val *RecordActivityTaskHeartbeatRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RecordActivityTaskHeartbeatRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RecordActivityTaskHeartbeatRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RecordActivityTaskHeartbeatRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RecordActivityTaskHeartbeatRequest + switch t := that.(type) { + case *RecordActivityTaskHeartbeatRequest: + that1 = t + case RecordActivityTaskHeartbeatRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RecordActivityTaskHeartbeatResponse to the protobuf v3 wire format +func (val *RecordActivityTaskHeartbeatResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RecordActivityTaskHeartbeatResponse from the protobuf v3 wire format +func (val *RecordActivityTaskHeartbeatResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RecordActivityTaskHeartbeatResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RecordActivityTaskHeartbeatResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RecordActivityTaskHeartbeatResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RecordActivityTaskHeartbeatResponse + switch t := that.(type) { + case *RecordActivityTaskHeartbeatResponse: + that1 = t + case RecordActivityTaskHeartbeatResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RecordActivityTaskHeartbeatByIdRequest to the protobuf v3 wire format +func (val *RecordActivityTaskHeartbeatByIdRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RecordActivityTaskHeartbeatByIdRequest from the protobuf v3 wire format +func (val *RecordActivityTaskHeartbeatByIdRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RecordActivityTaskHeartbeatByIdRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RecordActivityTaskHeartbeatByIdRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RecordActivityTaskHeartbeatByIdRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RecordActivityTaskHeartbeatByIdRequest + switch t := that.(type) { + case *RecordActivityTaskHeartbeatByIdRequest: + that1 = t + case RecordActivityTaskHeartbeatByIdRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RecordActivityTaskHeartbeatByIdResponse to the protobuf v3 wire format +func (val *RecordActivityTaskHeartbeatByIdResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RecordActivityTaskHeartbeatByIdResponse from the protobuf v3 wire format +func (val *RecordActivityTaskHeartbeatByIdResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RecordActivityTaskHeartbeatByIdResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RecordActivityTaskHeartbeatByIdResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RecordActivityTaskHeartbeatByIdResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RecordActivityTaskHeartbeatByIdResponse + switch t := that.(type) { + case *RecordActivityTaskHeartbeatByIdResponse: + that1 = t + case RecordActivityTaskHeartbeatByIdResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskCompletedRequest to the protobuf v3 wire format +func (val *RespondActivityTaskCompletedRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskCompletedRequest from the protobuf v3 wire format +func (val *RespondActivityTaskCompletedRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskCompletedRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskCompletedRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskCompletedRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskCompletedRequest + switch t := that.(type) { + case *RespondActivityTaskCompletedRequest: + that1 = t + case RespondActivityTaskCompletedRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskCompletedResponse to the protobuf v3 wire format +func (val *RespondActivityTaskCompletedResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskCompletedResponse from the protobuf v3 wire format +func (val *RespondActivityTaskCompletedResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskCompletedResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskCompletedResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskCompletedResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskCompletedResponse + switch t := that.(type) { + case *RespondActivityTaskCompletedResponse: + that1 = t + case RespondActivityTaskCompletedResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskCompletedByIdRequest to the protobuf v3 wire format +func (val *RespondActivityTaskCompletedByIdRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskCompletedByIdRequest from the protobuf v3 wire format +func (val *RespondActivityTaskCompletedByIdRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskCompletedByIdRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskCompletedByIdRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskCompletedByIdRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskCompletedByIdRequest + switch t := that.(type) { + case *RespondActivityTaskCompletedByIdRequest: + that1 = t + case RespondActivityTaskCompletedByIdRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskCompletedByIdResponse to the protobuf v3 wire format +func (val *RespondActivityTaskCompletedByIdResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskCompletedByIdResponse from the protobuf v3 wire format +func (val *RespondActivityTaskCompletedByIdResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskCompletedByIdResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskCompletedByIdResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskCompletedByIdResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskCompletedByIdResponse + switch t := that.(type) { + case *RespondActivityTaskCompletedByIdResponse: + that1 = t + case RespondActivityTaskCompletedByIdResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskFailedRequest to the protobuf v3 wire format +func (val *RespondActivityTaskFailedRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskFailedRequest from the protobuf v3 wire format +func (val *RespondActivityTaskFailedRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskFailedRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskFailedRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskFailedRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskFailedRequest + switch t := that.(type) { + case *RespondActivityTaskFailedRequest: + that1 = t + case RespondActivityTaskFailedRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskFailedResponse to the protobuf v3 wire format +func (val *RespondActivityTaskFailedResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskFailedResponse from the protobuf v3 wire format +func (val *RespondActivityTaskFailedResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskFailedResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskFailedResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskFailedResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskFailedResponse + switch t := that.(type) { + case *RespondActivityTaskFailedResponse: + that1 = t + case RespondActivityTaskFailedResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskFailedByIdRequest to the protobuf v3 wire format +func (val *RespondActivityTaskFailedByIdRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskFailedByIdRequest from the protobuf v3 wire format +func (val *RespondActivityTaskFailedByIdRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskFailedByIdRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskFailedByIdRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskFailedByIdRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskFailedByIdRequest + switch t := that.(type) { + case *RespondActivityTaskFailedByIdRequest: + that1 = t + case RespondActivityTaskFailedByIdRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskFailedByIdResponse to the protobuf v3 wire format +func (val *RespondActivityTaskFailedByIdResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskFailedByIdResponse from the protobuf v3 wire format +func (val *RespondActivityTaskFailedByIdResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskFailedByIdResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskFailedByIdResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskFailedByIdResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskFailedByIdResponse + switch t := that.(type) { + case *RespondActivityTaskFailedByIdResponse: + that1 = t + case RespondActivityTaskFailedByIdResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskCanceledRequest to the protobuf v3 wire format +func (val *RespondActivityTaskCanceledRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskCanceledRequest from the protobuf v3 wire format +func (val *RespondActivityTaskCanceledRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskCanceledRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskCanceledRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskCanceledRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskCanceledRequest + switch t := that.(type) { + case *RespondActivityTaskCanceledRequest: + that1 = t + case RespondActivityTaskCanceledRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskCanceledResponse to the protobuf v3 wire format +func (val *RespondActivityTaskCanceledResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskCanceledResponse from the protobuf v3 wire format +func (val *RespondActivityTaskCanceledResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskCanceledResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskCanceledResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskCanceledResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskCanceledResponse + switch t := that.(type) { + case *RespondActivityTaskCanceledResponse: + that1 = t + case RespondActivityTaskCanceledResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskCanceledByIdRequest to the protobuf v3 wire format +func (val *RespondActivityTaskCanceledByIdRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskCanceledByIdRequest from the protobuf v3 wire format +func (val *RespondActivityTaskCanceledByIdRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskCanceledByIdRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskCanceledByIdRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskCanceledByIdRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskCanceledByIdRequest + switch t := that.(type) { + case *RespondActivityTaskCanceledByIdRequest: + that1 = t + case RespondActivityTaskCanceledByIdRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondActivityTaskCanceledByIdResponse to the protobuf v3 wire format +func (val *RespondActivityTaskCanceledByIdResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondActivityTaskCanceledByIdResponse from the protobuf v3 wire format +func (val *RespondActivityTaskCanceledByIdResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondActivityTaskCanceledByIdResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondActivityTaskCanceledByIdResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondActivityTaskCanceledByIdResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondActivityTaskCanceledByIdResponse + switch t := that.(type) { + case *RespondActivityTaskCanceledByIdResponse: + that1 = t + case RespondActivityTaskCanceledByIdResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelWorkflowExecutionRequest to the protobuf v3 wire format +func (val *RequestCancelWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelWorkflowExecutionRequest from the protobuf v3 wire format +func (val *RequestCancelWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelWorkflowExecutionRequest + switch t := that.(type) { + case *RequestCancelWorkflowExecutionRequest: + that1 = t + case RequestCancelWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelWorkflowExecutionResponse to the protobuf v3 wire format +func (val *RequestCancelWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelWorkflowExecutionResponse from the protobuf v3 wire format +func (val *RequestCancelWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelWorkflowExecutionResponse + switch t := that.(type) { + case *RequestCancelWorkflowExecutionResponse: + that1 = t + case RequestCancelWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SignalWorkflowExecutionRequest to the protobuf v3 wire format +func (val *SignalWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SignalWorkflowExecutionRequest from the protobuf v3 wire format +func (val *SignalWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SignalWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SignalWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SignalWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SignalWorkflowExecutionRequest + switch t := that.(type) { + case *SignalWorkflowExecutionRequest: + that1 = t + case SignalWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SignalWorkflowExecutionResponse to the protobuf v3 wire format +func (val *SignalWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SignalWorkflowExecutionResponse from the protobuf v3 wire format +func (val *SignalWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SignalWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SignalWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SignalWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SignalWorkflowExecutionResponse + switch t := that.(type) { + case *SignalWorkflowExecutionResponse: + that1 = t + case SignalWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SignalWithStartWorkflowExecutionRequest to the protobuf v3 wire format +func (val *SignalWithStartWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SignalWithStartWorkflowExecutionRequest from the protobuf v3 wire format +func (val *SignalWithStartWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SignalWithStartWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SignalWithStartWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SignalWithStartWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SignalWithStartWorkflowExecutionRequest + switch t := that.(type) { + case *SignalWithStartWorkflowExecutionRequest: + that1 = t + case SignalWithStartWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SignalWithStartWorkflowExecutionResponse to the protobuf v3 wire format +func (val *SignalWithStartWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SignalWithStartWorkflowExecutionResponse from the protobuf v3 wire format +func (val *SignalWithStartWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SignalWithStartWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SignalWithStartWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SignalWithStartWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SignalWithStartWorkflowExecutionResponse + switch t := that.(type) { + case *SignalWithStartWorkflowExecutionResponse: + that1 = t + case SignalWithStartWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetWorkflowExecutionRequest to the protobuf v3 wire format +func (val *ResetWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetWorkflowExecutionRequest from the protobuf v3 wire format +func (val *ResetWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetWorkflowExecutionRequest + switch t := that.(type) { + case *ResetWorkflowExecutionRequest: + that1 = t + case ResetWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetWorkflowExecutionResponse to the protobuf v3 wire format +func (val *ResetWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetWorkflowExecutionResponse from the protobuf v3 wire format +func (val *ResetWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetWorkflowExecutionResponse + switch t := that.(type) { + case *ResetWorkflowExecutionResponse: + that1 = t + case ResetWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TerminateWorkflowExecutionRequest to the protobuf v3 wire format +func (val *TerminateWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TerminateWorkflowExecutionRequest from the protobuf v3 wire format +func (val *TerminateWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TerminateWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TerminateWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TerminateWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TerminateWorkflowExecutionRequest + switch t := that.(type) { + case *TerminateWorkflowExecutionRequest: + that1 = t + case TerminateWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TerminateWorkflowExecutionResponse to the protobuf v3 wire format +func (val *TerminateWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TerminateWorkflowExecutionResponse from the protobuf v3 wire format +func (val *TerminateWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TerminateWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TerminateWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TerminateWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TerminateWorkflowExecutionResponse + switch t := that.(type) { + case *TerminateWorkflowExecutionResponse: + that1 = t + case TerminateWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteWorkflowExecutionRequest to the protobuf v3 wire format +func (val *DeleteWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteWorkflowExecutionRequest from the protobuf v3 wire format +func (val *DeleteWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteWorkflowExecutionRequest + switch t := that.(type) { + case *DeleteWorkflowExecutionRequest: + that1 = t + case DeleteWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteWorkflowExecutionResponse to the protobuf v3 wire format +func (val *DeleteWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteWorkflowExecutionResponse from the protobuf v3 wire format +func (val *DeleteWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteWorkflowExecutionResponse + switch t := that.(type) { + case *DeleteWorkflowExecutionResponse: + that1 = t + case DeleteWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListOpenWorkflowExecutionsRequest to the protobuf v3 wire format +func (val *ListOpenWorkflowExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListOpenWorkflowExecutionsRequest from the protobuf v3 wire format +func (val *ListOpenWorkflowExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListOpenWorkflowExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListOpenWorkflowExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListOpenWorkflowExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListOpenWorkflowExecutionsRequest + switch t := that.(type) { + case *ListOpenWorkflowExecutionsRequest: + that1 = t + case ListOpenWorkflowExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListOpenWorkflowExecutionsResponse to the protobuf v3 wire format +func (val *ListOpenWorkflowExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListOpenWorkflowExecutionsResponse from the protobuf v3 wire format +func (val *ListOpenWorkflowExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListOpenWorkflowExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListOpenWorkflowExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListOpenWorkflowExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListOpenWorkflowExecutionsResponse + switch t := that.(type) { + case *ListOpenWorkflowExecutionsResponse: + that1 = t + case ListOpenWorkflowExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListClosedWorkflowExecutionsRequest to the protobuf v3 wire format +func (val *ListClosedWorkflowExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListClosedWorkflowExecutionsRequest from the protobuf v3 wire format +func (val *ListClosedWorkflowExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListClosedWorkflowExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListClosedWorkflowExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListClosedWorkflowExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListClosedWorkflowExecutionsRequest + switch t := that.(type) { + case *ListClosedWorkflowExecutionsRequest: + that1 = t + case ListClosedWorkflowExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListClosedWorkflowExecutionsResponse to the protobuf v3 wire format +func (val *ListClosedWorkflowExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListClosedWorkflowExecutionsResponse from the protobuf v3 wire format +func (val *ListClosedWorkflowExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListClosedWorkflowExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListClosedWorkflowExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListClosedWorkflowExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListClosedWorkflowExecutionsResponse + switch t := that.(type) { + case *ListClosedWorkflowExecutionsResponse: + that1 = t + case ListClosedWorkflowExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListWorkflowExecutionsRequest to the protobuf v3 wire format +func (val *ListWorkflowExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListWorkflowExecutionsRequest from the protobuf v3 wire format +func (val *ListWorkflowExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListWorkflowExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListWorkflowExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListWorkflowExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListWorkflowExecutionsRequest + switch t := that.(type) { + case *ListWorkflowExecutionsRequest: + that1 = t + case ListWorkflowExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListWorkflowExecutionsResponse to the protobuf v3 wire format +func (val *ListWorkflowExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListWorkflowExecutionsResponse from the protobuf v3 wire format +func (val *ListWorkflowExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListWorkflowExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListWorkflowExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListWorkflowExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListWorkflowExecutionsResponse + switch t := that.(type) { + case *ListWorkflowExecutionsResponse: + that1 = t + case ListWorkflowExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListArchivedWorkflowExecutionsRequest to the protobuf v3 wire format +func (val *ListArchivedWorkflowExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListArchivedWorkflowExecutionsRequest from the protobuf v3 wire format +func (val *ListArchivedWorkflowExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListArchivedWorkflowExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListArchivedWorkflowExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListArchivedWorkflowExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListArchivedWorkflowExecutionsRequest + switch t := that.(type) { + case *ListArchivedWorkflowExecutionsRequest: + that1 = t + case ListArchivedWorkflowExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListArchivedWorkflowExecutionsResponse to the protobuf v3 wire format +func (val *ListArchivedWorkflowExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListArchivedWorkflowExecutionsResponse from the protobuf v3 wire format +func (val *ListArchivedWorkflowExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListArchivedWorkflowExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListArchivedWorkflowExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListArchivedWorkflowExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListArchivedWorkflowExecutionsResponse + switch t := that.(type) { + case *ListArchivedWorkflowExecutionsResponse: + that1 = t + case ListArchivedWorkflowExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScanWorkflowExecutionsRequest to the protobuf v3 wire format +func (val *ScanWorkflowExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScanWorkflowExecutionsRequest from the protobuf v3 wire format +func (val *ScanWorkflowExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScanWorkflowExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScanWorkflowExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScanWorkflowExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScanWorkflowExecutionsRequest + switch t := that.(type) { + case *ScanWorkflowExecutionsRequest: + that1 = t + case ScanWorkflowExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ScanWorkflowExecutionsResponse to the protobuf v3 wire format +func (val *ScanWorkflowExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ScanWorkflowExecutionsResponse from the protobuf v3 wire format +func (val *ScanWorkflowExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ScanWorkflowExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ScanWorkflowExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ScanWorkflowExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ScanWorkflowExecutionsResponse + switch t := that.(type) { + case *ScanWorkflowExecutionsResponse: + that1 = t + case ScanWorkflowExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CountWorkflowExecutionsRequest to the protobuf v3 wire format +func (val *CountWorkflowExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CountWorkflowExecutionsRequest from the protobuf v3 wire format +func (val *CountWorkflowExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CountWorkflowExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CountWorkflowExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CountWorkflowExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CountWorkflowExecutionsRequest + switch t := that.(type) { + case *CountWorkflowExecutionsRequest: + that1 = t + case CountWorkflowExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CountWorkflowExecutionsResponse to the protobuf v3 wire format +func (val *CountWorkflowExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CountWorkflowExecutionsResponse from the protobuf v3 wire format +func (val *CountWorkflowExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CountWorkflowExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CountWorkflowExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CountWorkflowExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CountWorkflowExecutionsResponse + switch t := that.(type) { + case *CountWorkflowExecutionsResponse: + that1 = t + case CountWorkflowExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetSearchAttributesRequest to the protobuf v3 wire format +func (val *GetSearchAttributesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetSearchAttributesRequest from the protobuf v3 wire format +func (val *GetSearchAttributesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetSearchAttributesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetSearchAttributesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetSearchAttributesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetSearchAttributesRequest + switch t := that.(type) { + case *GetSearchAttributesRequest: + that1 = t + case GetSearchAttributesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetSearchAttributesResponse to the protobuf v3 wire format +func (val *GetSearchAttributesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetSearchAttributesResponse from the protobuf v3 wire format +func (val *GetSearchAttributesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetSearchAttributesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetSearchAttributesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetSearchAttributesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetSearchAttributesResponse + switch t := that.(type) { + case *GetSearchAttributesResponse: + that1 = t + case GetSearchAttributesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondQueryTaskCompletedRequest to the protobuf v3 wire format +func (val *RespondQueryTaskCompletedRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondQueryTaskCompletedRequest from the protobuf v3 wire format +func (val *RespondQueryTaskCompletedRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondQueryTaskCompletedRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondQueryTaskCompletedRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondQueryTaskCompletedRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondQueryTaskCompletedRequest + switch t := that.(type) { + case *RespondQueryTaskCompletedRequest: + that1 = t + case RespondQueryTaskCompletedRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondQueryTaskCompletedResponse to the protobuf v3 wire format +func (val *RespondQueryTaskCompletedResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondQueryTaskCompletedResponse from the protobuf v3 wire format +func (val *RespondQueryTaskCompletedResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondQueryTaskCompletedResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondQueryTaskCompletedResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondQueryTaskCompletedResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondQueryTaskCompletedResponse + switch t := that.(type) { + case *RespondQueryTaskCompletedResponse: + that1 = t + case RespondQueryTaskCompletedResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetStickyTaskQueueRequest to the protobuf v3 wire format +func (val *ResetStickyTaskQueueRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetStickyTaskQueueRequest from the protobuf v3 wire format +func (val *ResetStickyTaskQueueRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetStickyTaskQueueRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetStickyTaskQueueRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetStickyTaskQueueRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetStickyTaskQueueRequest + switch t := that.(type) { + case *ResetStickyTaskQueueRequest: + that1 = t + case ResetStickyTaskQueueRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetStickyTaskQueueResponse to the protobuf v3 wire format +func (val *ResetStickyTaskQueueResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetStickyTaskQueueResponse from the protobuf v3 wire format +func (val *ResetStickyTaskQueueResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetStickyTaskQueueResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetStickyTaskQueueResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetStickyTaskQueueResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetStickyTaskQueueResponse + switch t := that.(type) { + case *ResetStickyTaskQueueResponse: + that1 = t + case ResetStickyTaskQueueResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ShutdownWorkerRequest to the protobuf v3 wire format +func (val *ShutdownWorkerRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ShutdownWorkerRequest from the protobuf v3 wire format +func (val *ShutdownWorkerRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ShutdownWorkerRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ShutdownWorkerRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ShutdownWorkerRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ShutdownWorkerRequest + switch t := that.(type) { + case *ShutdownWorkerRequest: + that1 = t + case ShutdownWorkerRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ShutdownWorkerResponse to the protobuf v3 wire format +func (val *ShutdownWorkerResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ShutdownWorkerResponse from the protobuf v3 wire format +func (val *ShutdownWorkerResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ShutdownWorkerResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ShutdownWorkerResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ShutdownWorkerResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ShutdownWorkerResponse + switch t := that.(type) { + case *ShutdownWorkerResponse: + that1 = t + case ShutdownWorkerResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type QueryWorkflowRequest to the protobuf v3 wire format +func (val *QueryWorkflowRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type QueryWorkflowRequest from the protobuf v3 wire format +func (val *QueryWorkflowRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *QueryWorkflowRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two QueryWorkflowRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *QueryWorkflowRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *QueryWorkflowRequest + switch t := that.(type) { + case *QueryWorkflowRequest: + that1 = t + case QueryWorkflowRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type QueryWorkflowResponse to the protobuf v3 wire format +func (val *QueryWorkflowResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type QueryWorkflowResponse from the protobuf v3 wire format +func (val *QueryWorkflowResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *QueryWorkflowResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two QueryWorkflowResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *QueryWorkflowResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *QueryWorkflowResponse + switch t := that.(type) { + case *QueryWorkflowResponse: + that1 = t + case QueryWorkflowResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkflowExecutionRequest to the protobuf v3 wire format +func (val *DescribeWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkflowExecutionRequest from the protobuf v3 wire format +func (val *DescribeWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkflowExecutionRequest + switch t := that.(type) { + case *DescribeWorkflowExecutionRequest: + that1 = t + case DescribeWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkflowExecutionResponse to the protobuf v3 wire format +func (val *DescribeWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkflowExecutionResponse from the protobuf v3 wire format +func (val *DescribeWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkflowExecutionResponse + switch t := that.(type) { + case *DescribeWorkflowExecutionResponse: + that1 = t + case DescribeWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeTaskQueueRequest to the protobuf v3 wire format +func (val *DescribeTaskQueueRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeTaskQueueRequest from the protobuf v3 wire format +func (val *DescribeTaskQueueRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeTaskQueueRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeTaskQueueRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeTaskQueueRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeTaskQueueRequest + switch t := that.(type) { + case *DescribeTaskQueueRequest: + that1 = t + case DescribeTaskQueueRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeTaskQueueResponse to the protobuf v3 wire format +func (val *DescribeTaskQueueResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeTaskQueueResponse from the protobuf v3 wire format +func (val *DescribeTaskQueueResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeTaskQueueResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeTaskQueueResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeTaskQueueResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeTaskQueueResponse + switch t := that.(type) { + case *DescribeTaskQueueResponse: + that1 = t + case DescribeTaskQueueResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetClusterInfoRequest to the protobuf v3 wire format +func (val *GetClusterInfoRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetClusterInfoRequest from the protobuf v3 wire format +func (val *GetClusterInfoRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetClusterInfoRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetClusterInfoRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetClusterInfoRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetClusterInfoRequest + switch t := that.(type) { + case *GetClusterInfoRequest: + that1 = t + case GetClusterInfoRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetClusterInfoResponse to the protobuf v3 wire format +func (val *GetClusterInfoResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetClusterInfoResponse from the protobuf v3 wire format +func (val *GetClusterInfoResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetClusterInfoResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetClusterInfoResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetClusterInfoResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetClusterInfoResponse + switch t := that.(type) { + case *GetClusterInfoResponse: + that1 = t + case GetClusterInfoResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetSystemInfoRequest to the protobuf v3 wire format +func (val *GetSystemInfoRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetSystemInfoRequest from the protobuf v3 wire format +func (val *GetSystemInfoRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetSystemInfoRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetSystemInfoRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetSystemInfoRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetSystemInfoRequest + switch t := that.(type) { + case *GetSystemInfoRequest: + that1 = t + case GetSystemInfoRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetSystemInfoResponse to the protobuf v3 wire format +func (val *GetSystemInfoResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetSystemInfoResponse from the protobuf v3 wire format +func (val *GetSystemInfoResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetSystemInfoResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetSystemInfoResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetSystemInfoResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetSystemInfoResponse + switch t := that.(type) { + case *GetSystemInfoResponse: + that1 = t + case GetSystemInfoResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListTaskQueuePartitionsRequest to the protobuf v3 wire format +func (val *ListTaskQueuePartitionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListTaskQueuePartitionsRequest from the protobuf v3 wire format +func (val *ListTaskQueuePartitionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListTaskQueuePartitionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListTaskQueuePartitionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListTaskQueuePartitionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListTaskQueuePartitionsRequest + switch t := that.(type) { + case *ListTaskQueuePartitionsRequest: + that1 = t + case ListTaskQueuePartitionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListTaskQueuePartitionsResponse to the protobuf v3 wire format +func (val *ListTaskQueuePartitionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListTaskQueuePartitionsResponse from the protobuf v3 wire format +func (val *ListTaskQueuePartitionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListTaskQueuePartitionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListTaskQueuePartitionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListTaskQueuePartitionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListTaskQueuePartitionsResponse + switch t := that.(type) { + case *ListTaskQueuePartitionsResponse: + that1 = t + case ListTaskQueuePartitionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateScheduleRequest to the protobuf v3 wire format +func (val *CreateScheduleRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateScheduleRequest from the protobuf v3 wire format +func (val *CreateScheduleRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateScheduleRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateScheduleRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateScheduleRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateScheduleRequest + switch t := that.(type) { + case *CreateScheduleRequest: + that1 = t + case CreateScheduleRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateScheduleResponse to the protobuf v3 wire format +func (val *CreateScheduleResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateScheduleResponse from the protobuf v3 wire format +func (val *CreateScheduleResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateScheduleResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateScheduleResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateScheduleResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateScheduleResponse + switch t := that.(type) { + case *CreateScheduleResponse: + that1 = t + case CreateScheduleResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeScheduleRequest to the protobuf v3 wire format +func (val *DescribeScheduleRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeScheduleRequest from the protobuf v3 wire format +func (val *DescribeScheduleRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeScheduleRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeScheduleRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeScheduleRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeScheduleRequest + switch t := that.(type) { + case *DescribeScheduleRequest: + that1 = t + case DescribeScheduleRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeScheduleResponse to the protobuf v3 wire format +func (val *DescribeScheduleResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeScheduleResponse from the protobuf v3 wire format +func (val *DescribeScheduleResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeScheduleResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeScheduleResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeScheduleResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeScheduleResponse + switch t := that.(type) { + case *DescribeScheduleResponse: + that1 = t + case DescribeScheduleResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateScheduleRequest to the protobuf v3 wire format +func (val *UpdateScheduleRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateScheduleRequest from the protobuf v3 wire format +func (val *UpdateScheduleRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateScheduleRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateScheduleRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateScheduleRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateScheduleRequest + switch t := that.(type) { + case *UpdateScheduleRequest: + that1 = t + case UpdateScheduleRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateScheduleResponse to the protobuf v3 wire format +func (val *UpdateScheduleResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateScheduleResponse from the protobuf v3 wire format +func (val *UpdateScheduleResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateScheduleResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateScheduleResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateScheduleResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateScheduleResponse + switch t := that.(type) { + case *UpdateScheduleResponse: + that1 = t + case UpdateScheduleResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PatchScheduleRequest to the protobuf v3 wire format +func (val *PatchScheduleRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PatchScheduleRequest from the protobuf v3 wire format +func (val *PatchScheduleRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PatchScheduleRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PatchScheduleRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PatchScheduleRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PatchScheduleRequest + switch t := that.(type) { + case *PatchScheduleRequest: + that1 = t + case PatchScheduleRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PatchScheduleResponse to the protobuf v3 wire format +func (val *PatchScheduleResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PatchScheduleResponse from the protobuf v3 wire format +func (val *PatchScheduleResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PatchScheduleResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PatchScheduleResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PatchScheduleResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PatchScheduleResponse + switch t := that.(type) { + case *PatchScheduleResponse: + that1 = t + case PatchScheduleResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListScheduleMatchingTimesRequest to the protobuf v3 wire format +func (val *ListScheduleMatchingTimesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListScheduleMatchingTimesRequest from the protobuf v3 wire format +func (val *ListScheduleMatchingTimesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListScheduleMatchingTimesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListScheduleMatchingTimesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListScheduleMatchingTimesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListScheduleMatchingTimesRequest + switch t := that.(type) { + case *ListScheduleMatchingTimesRequest: + that1 = t + case ListScheduleMatchingTimesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListScheduleMatchingTimesResponse to the protobuf v3 wire format +func (val *ListScheduleMatchingTimesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListScheduleMatchingTimesResponse from the protobuf v3 wire format +func (val *ListScheduleMatchingTimesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListScheduleMatchingTimesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListScheduleMatchingTimesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListScheduleMatchingTimesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListScheduleMatchingTimesResponse + switch t := that.(type) { + case *ListScheduleMatchingTimesResponse: + that1 = t + case ListScheduleMatchingTimesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteScheduleRequest to the protobuf v3 wire format +func (val *DeleteScheduleRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteScheduleRequest from the protobuf v3 wire format +func (val *DeleteScheduleRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteScheduleRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteScheduleRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteScheduleRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteScheduleRequest + switch t := that.(type) { + case *DeleteScheduleRequest: + that1 = t + case DeleteScheduleRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteScheduleResponse to the protobuf v3 wire format +func (val *DeleteScheduleResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteScheduleResponse from the protobuf v3 wire format +func (val *DeleteScheduleResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteScheduleResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteScheduleResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteScheduleResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteScheduleResponse + switch t := that.(type) { + case *DeleteScheduleResponse: + that1 = t + case DeleteScheduleResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListSchedulesRequest to the protobuf v3 wire format +func (val *ListSchedulesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListSchedulesRequest from the protobuf v3 wire format +func (val *ListSchedulesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListSchedulesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListSchedulesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListSchedulesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListSchedulesRequest + switch t := that.(type) { + case *ListSchedulesRequest: + that1 = t + case ListSchedulesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListSchedulesResponse to the protobuf v3 wire format +func (val *ListSchedulesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListSchedulesResponse from the protobuf v3 wire format +func (val *ListSchedulesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListSchedulesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListSchedulesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListSchedulesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListSchedulesResponse + switch t := that.(type) { + case *ListSchedulesResponse: + that1 = t + case ListSchedulesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CountSchedulesRequest to the protobuf v3 wire format +func (val *CountSchedulesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CountSchedulesRequest from the protobuf v3 wire format +func (val *CountSchedulesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CountSchedulesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CountSchedulesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CountSchedulesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CountSchedulesRequest + switch t := that.(type) { + case *CountSchedulesRequest: + that1 = t + case CountSchedulesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CountSchedulesResponse to the protobuf v3 wire format +func (val *CountSchedulesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CountSchedulesResponse from the protobuf v3 wire format +func (val *CountSchedulesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CountSchedulesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CountSchedulesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CountSchedulesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CountSchedulesResponse + switch t := that.(type) { + case *CountSchedulesResponse: + that1 = t + case CountSchedulesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerBuildIdCompatibilityRequest to the protobuf v3 wire format +func (val *UpdateWorkerBuildIdCompatibilityRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerBuildIdCompatibilityRequest from the protobuf v3 wire format +func (val *UpdateWorkerBuildIdCompatibilityRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerBuildIdCompatibilityRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerBuildIdCompatibilityRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerBuildIdCompatibilityRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerBuildIdCompatibilityRequest + switch t := that.(type) { + case *UpdateWorkerBuildIdCompatibilityRequest: + that1 = t + case UpdateWorkerBuildIdCompatibilityRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerBuildIdCompatibilityResponse to the protobuf v3 wire format +func (val *UpdateWorkerBuildIdCompatibilityResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerBuildIdCompatibilityResponse from the protobuf v3 wire format +func (val *UpdateWorkerBuildIdCompatibilityResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerBuildIdCompatibilityResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerBuildIdCompatibilityResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerBuildIdCompatibilityResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerBuildIdCompatibilityResponse + switch t := that.(type) { + case *UpdateWorkerBuildIdCompatibilityResponse: + that1 = t + case UpdateWorkerBuildIdCompatibilityResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkerBuildIdCompatibilityRequest to the protobuf v3 wire format +func (val *GetWorkerBuildIdCompatibilityRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkerBuildIdCompatibilityRequest from the protobuf v3 wire format +func (val *GetWorkerBuildIdCompatibilityRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkerBuildIdCompatibilityRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkerBuildIdCompatibilityRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkerBuildIdCompatibilityRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkerBuildIdCompatibilityRequest + switch t := that.(type) { + case *GetWorkerBuildIdCompatibilityRequest: + that1 = t + case GetWorkerBuildIdCompatibilityRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkerBuildIdCompatibilityResponse to the protobuf v3 wire format +func (val *GetWorkerBuildIdCompatibilityResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkerBuildIdCompatibilityResponse from the protobuf v3 wire format +func (val *GetWorkerBuildIdCompatibilityResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkerBuildIdCompatibilityResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkerBuildIdCompatibilityResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkerBuildIdCompatibilityResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkerBuildIdCompatibilityResponse + switch t := that.(type) { + case *GetWorkerBuildIdCompatibilityResponse: + that1 = t + case GetWorkerBuildIdCompatibilityResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerVersioningRulesRequest to the protobuf v3 wire format +func (val *UpdateWorkerVersioningRulesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerVersioningRulesRequest from the protobuf v3 wire format +func (val *UpdateWorkerVersioningRulesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerVersioningRulesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerVersioningRulesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerVersioningRulesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerVersioningRulesRequest + switch t := that.(type) { + case *UpdateWorkerVersioningRulesRequest: + that1 = t + case UpdateWorkerVersioningRulesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerVersioningRulesResponse to the protobuf v3 wire format +func (val *UpdateWorkerVersioningRulesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerVersioningRulesResponse from the protobuf v3 wire format +func (val *UpdateWorkerVersioningRulesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerVersioningRulesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerVersioningRulesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerVersioningRulesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerVersioningRulesResponse + switch t := that.(type) { + case *UpdateWorkerVersioningRulesResponse: + that1 = t + case UpdateWorkerVersioningRulesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkerVersioningRulesRequest to the protobuf v3 wire format +func (val *GetWorkerVersioningRulesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkerVersioningRulesRequest from the protobuf v3 wire format +func (val *GetWorkerVersioningRulesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkerVersioningRulesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkerVersioningRulesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkerVersioningRulesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkerVersioningRulesRequest + switch t := that.(type) { + case *GetWorkerVersioningRulesRequest: + that1 = t + case GetWorkerVersioningRulesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkerVersioningRulesResponse to the protobuf v3 wire format +func (val *GetWorkerVersioningRulesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkerVersioningRulesResponse from the protobuf v3 wire format +func (val *GetWorkerVersioningRulesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkerVersioningRulesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkerVersioningRulesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkerVersioningRulesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkerVersioningRulesResponse + switch t := that.(type) { + case *GetWorkerVersioningRulesResponse: + that1 = t + case GetWorkerVersioningRulesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkerTaskReachabilityRequest to the protobuf v3 wire format +func (val *GetWorkerTaskReachabilityRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkerTaskReachabilityRequest from the protobuf v3 wire format +func (val *GetWorkerTaskReachabilityRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkerTaskReachabilityRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkerTaskReachabilityRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkerTaskReachabilityRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkerTaskReachabilityRequest + switch t := that.(type) { + case *GetWorkerTaskReachabilityRequest: + that1 = t + case GetWorkerTaskReachabilityRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetWorkerTaskReachabilityResponse to the protobuf v3 wire format +func (val *GetWorkerTaskReachabilityResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetWorkerTaskReachabilityResponse from the protobuf v3 wire format +func (val *GetWorkerTaskReachabilityResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetWorkerTaskReachabilityResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetWorkerTaskReachabilityResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetWorkerTaskReachabilityResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetWorkerTaskReachabilityResponse + switch t := that.(type) { + case *GetWorkerTaskReachabilityResponse: + that1 = t + case GetWorkerTaskReachabilityResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkflowExecutionRequest to the protobuf v3 wire format +func (val *UpdateWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkflowExecutionRequest from the protobuf v3 wire format +func (val *UpdateWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkflowExecutionRequest + switch t := that.(type) { + case *UpdateWorkflowExecutionRequest: + that1 = t + case UpdateWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkflowExecutionResponse to the protobuf v3 wire format +func (val *UpdateWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkflowExecutionResponse from the protobuf v3 wire format +func (val *UpdateWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkflowExecutionResponse + switch t := that.(type) { + case *UpdateWorkflowExecutionResponse: + that1 = t + case UpdateWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartBatchOperationRequest to the protobuf v3 wire format +func (val *StartBatchOperationRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartBatchOperationRequest from the protobuf v3 wire format +func (val *StartBatchOperationRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartBatchOperationRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartBatchOperationRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartBatchOperationRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartBatchOperationRequest + switch t := that.(type) { + case *StartBatchOperationRequest: + that1 = t + case StartBatchOperationRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartBatchOperationResponse to the protobuf v3 wire format +func (val *StartBatchOperationResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartBatchOperationResponse from the protobuf v3 wire format +func (val *StartBatchOperationResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartBatchOperationResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartBatchOperationResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartBatchOperationResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartBatchOperationResponse + switch t := that.(type) { + case *StartBatchOperationResponse: + that1 = t + case StartBatchOperationResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StopBatchOperationRequest to the protobuf v3 wire format +func (val *StopBatchOperationRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StopBatchOperationRequest from the protobuf v3 wire format +func (val *StopBatchOperationRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StopBatchOperationRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StopBatchOperationRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StopBatchOperationRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StopBatchOperationRequest + switch t := that.(type) { + case *StopBatchOperationRequest: + that1 = t + case StopBatchOperationRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StopBatchOperationResponse to the protobuf v3 wire format +func (val *StopBatchOperationResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StopBatchOperationResponse from the protobuf v3 wire format +func (val *StopBatchOperationResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StopBatchOperationResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StopBatchOperationResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StopBatchOperationResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StopBatchOperationResponse + switch t := that.(type) { + case *StopBatchOperationResponse: + that1 = t + case StopBatchOperationResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeBatchOperationRequest to the protobuf v3 wire format +func (val *DescribeBatchOperationRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeBatchOperationRequest from the protobuf v3 wire format +func (val *DescribeBatchOperationRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeBatchOperationRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeBatchOperationRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeBatchOperationRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeBatchOperationRequest + switch t := that.(type) { + case *DescribeBatchOperationRequest: + that1 = t + case DescribeBatchOperationRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeBatchOperationResponse to the protobuf v3 wire format +func (val *DescribeBatchOperationResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeBatchOperationResponse from the protobuf v3 wire format +func (val *DescribeBatchOperationResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeBatchOperationResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeBatchOperationResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeBatchOperationResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeBatchOperationResponse + switch t := that.(type) { + case *DescribeBatchOperationResponse: + that1 = t + case DescribeBatchOperationResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListBatchOperationsRequest to the protobuf v3 wire format +func (val *ListBatchOperationsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListBatchOperationsRequest from the protobuf v3 wire format +func (val *ListBatchOperationsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListBatchOperationsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListBatchOperationsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListBatchOperationsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListBatchOperationsRequest + switch t := that.(type) { + case *ListBatchOperationsRequest: + that1 = t + case ListBatchOperationsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListBatchOperationsResponse to the protobuf v3 wire format +func (val *ListBatchOperationsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListBatchOperationsResponse from the protobuf v3 wire format +func (val *ListBatchOperationsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListBatchOperationsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListBatchOperationsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListBatchOperationsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListBatchOperationsResponse + switch t := that.(type) { + case *ListBatchOperationsResponse: + that1 = t + case ListBatchOperationsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollWorkflowExecutionUpdateRequest to the protobuf v3 wire format +func (val *PollWorkflowExecutionUpdateRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollWorkflowExecutionUpdateRequest from the protobuf v3 wire format +func (val *PollWorkflowExecutionUpdateRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollWorkflowExecutionUpdateRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollWorkflowExecutionUpdateRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollWorkflowExecutionUpdateRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollWorkflowExecutionUpdateRequest + switch t := that.(type) { + case *PollWorkflowExecutionUpdateRequest: + that1 = t + case PollWorkflowExecutionUpdateRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollWorkflowExecutionUpdateResponse to the protobuf v3 wire format +func (val *PollWorkflowExecutionUpdateResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollWorkflowExecutionUpdateResponse from the protobuf v3 wire format +func (val *PollWorkflowExecutionUpdateResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollWorkflowExecutionUpdateResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollWorkflowExecutionUpdateResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollWorkflowExecutionUpdateResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollWorkflowExecutionUpdateResponse + switch t := that.(type) { + case *PollWorkflowExecutionUpdateResponse: + that1 = t + case PollWorkflowExecutionUpdateResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollNexusTaskQueueRequest to the protobuf v3 wire format +func (val *PollNexusTaskQueueRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollNexusTaskQueueRequest from the protobuf v3 wire format +func (val *PollNexusTaskQueueRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollNexusTaskQueueRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollNexusTaskQueueRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollNexusTaskQueueRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollNexusTaskQueueRequest + switch t := that.(type) { + case *PollNexusTaskQueueRequest: + that1 = t + case PollNexusTaskQueueRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollNexusTaskQueueResponse to the protobuf v3 wire format +func (val *PollNexusTaskQueueResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollNexusTaskQueueResponse from the protobuf v3 wire format +func (val *PollNexusTaskQueueResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollNexusTaskQueueResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollNexusTaskQueueResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollNexusTaskQueueResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollNexusTaskQueueResponse + switch t := that.(type) { + case *PollNexusTaskQueueResponse: + that1 = t + case PollNexusTaskQueueResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondNexusTaskCompletedRequest to the protobuf v3 wire format +func (val *RespondNexusTaskCompletedRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondNexusTaskCompletedRequest from the protobuf v3 wire format +func (val *RespondNexusTaskCompletedRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondNexusTaskCompletedRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondNexusTaskCompletedRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondNexusTaskCompletedRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondNexusTaskCompletedRequest + switch t := that.(type) { + case *RespondNexusTaskCompletedRequest: + that1 = t + case RespondNexusTaskCompletedRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondNexusTaskCompletedResponse to the protobuf v3 wire format +func (val *RespondNexusTaskCompletedResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondNexusTaskCompletedResponse from the protobuf v3 wire format +func (val *RespondNexusTaskCompletedResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondNexusTaskCompletedResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondNexusTaskCompletedResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondNexusTaskCompletedResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondNexusTaskCompletedResponse + switch t := that.(type) { + case *RespondNexusTaskCompletedResponse: + that1 = t + case RespondNexusTaskCompletedResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondNexusTaskFailedRequest to the protobuf v3 wire format +func (val *RespondNexusTaskFailedRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondNexusTaskFailedRequest from the protobuf v3 wire format +func (val *RespondNexusTaskFailedRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondNexusTaskFailedRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondNexusTaskFailedRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondNexusTaskFailedRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondNexusTaskFailedRequest + switch t := that.(type) { + case *RespondNexusTaskFailedRequest: + that1 = t + case RespondNexusTaskFailedRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RespondNexusTaskFailedResponse to the protobuf v3 wire format +func (val *RespondNexusTaskFailedResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RespondNexusTaskFailedResponse from the protobuf v3 wire format +func (val *RespondNexusTaskFailedResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RespondNexusTaskFailedResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RespondNexusTaskFailedResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RespondNexusTaskFailedResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RespondNexusTaskFailedResponse + switch t := that.(type) { + case *RespondNexusTaskFailedResponse: + that1 = t + case RespondNexusTaskFailedResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ExecuteMultiOperationRequest to the protobuf v3 wire format +func (val *ExecuteMultiOperationRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ExecuteMultiOperationRequest from the protobuf v3 wire format +func (val *ExecuteMultiOperationRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ExecuteMultiOperationRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ExecuteMultiOperationRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ExecuteMultiOperationRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ExecuteMultiOperationRequest + switch t := that.(type) { + case *ExecuteMultiOperationRequest: + that1 = t + case ExecuteMultiOperationRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ExecuteMultiOperationResponse to the protobuf v3 wire format +func (val *ExecuteMultiOperationResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ExecuteMultiOperationResponse from the protobuf v3 wire format +func (val *ExecuteMultiOperationResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ExecuteMultiOperationResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ExecuteMultiOperationResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ExecuteMultiOperationResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ExecuteMultiOperationResponse + switch t := that.(type) { + case *ExecuteMultiOperationResponse: + that1 = t + case ExecuteMultiOperationResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateActivityOptionsRequest to the protobuf v3 wire format +func (val *UpdateActivityOptionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateActivityOptionsRequest from the protobuf v3 wire format +func (val *UpdateActivityOptionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateActivityOptionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateActivityOptionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateActivityOptionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateActivityOptionsRequest + switch t := that.(type) { + case *UpdateActivityOptionsRequest: + that1 = t + case UpdateActivityOptionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateActivityExecutionOptionsRequest to the protobuf v3 wire format +func (val *UpdateActivityExecutionOptionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateActivityExecutionOptionsRequest from the protobuf v3 wire format +func (val *UpdateActivityExecutionOptionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateActivityExecutionOptionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateActivityExecutionOptionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateActivityExecutionOptionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateActivityExecutionOptionsRequest + switch t := that.(type) { + case *UpdateActivityExecutionOptionsRequest: + that1 = t + case UpdateActivityExecutionOptionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateActivityOptionsResponse to the protobuf v3 wire format +func (val *UpdateActivityOptionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateActivityOptionsResponse from the protobuf v3 wire format +func (val *UpdateActivityOptionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateActivityOptionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateActivityOptionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateActivityOptionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateActivityOptionsResponse + switch t := that.(type) { + case *UpdateActivityOptionsResponse: + that1 = t + case UpdateActivityOptionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateActivityExecutionOptionsResponse to the protobuf v3 wire format +func (val *UpdateActivityExecutionOptionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateActivityExecutionOptionsResponse from the protobuf v3 wire format +func (val *UpdateActivityExecutionOptionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateActivityExecutionOptionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateActivityExecutionOptionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateActivityExecutionOptionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateActivityExecutionOptionsResponse + switch t := that.(type) { + case *UpdateActivityExecutionOptionsResponse: + that1 = t + case UpdateActivityExecutionOptionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PauseActivityRequest to the protobuf v3 wire format +func (val *PauseActivityRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PauseActivityRequest from the protobuf v3 wire format +func (val *PauseActivityRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PauseActivityRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PauseActivityRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PauseActivityRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PauseActivityRequest + switch t := that.(type) { + case *PauseActivityRequest: + that1 = t + case PauseActivityRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PauseActivityExecutionRequest to the protobuf v3 wire format +func (val *PauseActivityExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PauseActivityExecutionRequest from the protobuf v3 wire format +func (val *PauseActivityExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PauseActivityExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PauseActivityExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PauseActivityExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PauseActivityExecutionRequest + switch t := that.(type) { + case *PauseActivityExecutionRequest: + that1 = t + case PauseActivityExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PauseActivityResponse to the protobuf v3 wire format +func (val *PauseActivityResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PauseActivityResponse from the protobuf v3 wire format +func (val *PauseActivityResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PauseActivityResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PauseActivityResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PauseActivityResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PauseActivityResponse + switch t := that.(type) { + case *PauseActivityResponse: + that1 = t + case PauseActivityResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PauseActivityExecutionResponse to the protobuf v3 wire format +func (val *PauseActivityExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PauseActivityExecutionResponse from the protobuf v3 wire format +func (val *PauseActivityExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PauseActivityExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PauseActivityExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PauseActivityExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PauseActivityExecutionResponse + switch t := that.(type) { + case *PauseActivityExecutionResponse: + that1 = t + case PauseActivityExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UnpauseActivityRequest to the protobuf v3 wire format +func (val *UnpauseActivityRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UnpauseActivityRequest from the protobuf v3 wire format +func (val *UnpauseActivityRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UnpauseActivityRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UnpauseActivityRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UnpauseActivityRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UnpauseActivityRequest + switch t := that.(type) { + case *UnpauseActivityRequest: + that1 = t + case UnpauseActivityRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UnpauseActivityExecutionRequest to the protobuf v3 wire format +func (val *UnpauseActivityExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UnpauseActivityExecutionRequest from the protobuf v3 wire format +func (val *UnpauseActivityExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UnpauseActivityExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UnpauseActivityExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UnpauseActivityExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UnpauseActivityExecutionRequest + switch t := that.(type) { + case *UnpauseActivityExecutionRequest: + that1 = t + case UnpauseActivityExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UnpauseActivityResponse to the protobuf v3 wire format +func (val *UnpauseActivityResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UnpauseActivityResponse from the protobuf v3 wire format +func (val *UnpauseActivityResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UnpauseActivityResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UnpauseActivityResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UnpauseActivityResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UnpauseActivityResponse + switch t := that.(type) { + case *UnpauseActivityResponse: + that1 = t + case UnpauseActivityResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UnpauseActivityExecutionResponse to the protobuf v3 wire format +func (val *UnpauseActivityExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UnpauseActivityExecutionResponse from the protobuf v3 wire format +func (val *UnpauseActivityExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UnpauseActivityExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UnpauseActivityExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UnpauseActivityExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UnpauseActivityExecutionResponse + switch t := that.(type) { + case *UnpauseActivityExecutionResponse: + that1 = t + case UnpauseActivityExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetActivityRequest to the protobuf v3 wire format +func (val *ResetActivityRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetActivityRequest from the protobuf v3 wire format +func (val *ResetActivityRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetActivityRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetActivityRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetActivityRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetActivityRequest + switch t := that.(type) { + case *ResetActivityRequest: + that1 = t + case ResetActivityRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetActivityExecutionRequest to the protobuf v3 wire format +func (val *ResetActivityExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetActivityExecutionRequest from the protobuf v3 wire format +func (val *ResetActivityExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetActivityExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetActivityExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetActivityExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetActivityExecutionRequest + switch t := that.(type) { + case *ResetActivityExecutionRequest: + that1 = t + case ResetActivityExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetActivityResponse to the protobuf v3 wire format +func (val *ResetActivityResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetActivityResponse from the protobuf v3 wire format +func (val *ResetActivityResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetActivityResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetActivityResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetActivityResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetActivityResponse + switch t := that.(type) { + case *ResetActivityResponse: + that1 = t + case ResetActivityResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ResetActivityExecutionResponse to the protobuf v3 wire format +func (val *ResetActivityExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ResetActivityExecutionResponse from the protobuf v3 wire format +func (val *ResetActivityExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ResetActivityExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ResetActivityExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ResetActivityExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ResetActivityExecutionResponse + switch t := that.(type) { + case *ResetActivityExecutionResponse: + that1 = t + case ResetActivityExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkflowExecutionOptionsRequest to the protobuf v3 wire format +func (val *UpdateWorkflowExecutionOptionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkflowExecutionOptionsRequest from the protobuf v3 wire format +func (val *UpdateWorkflowExecutionOptionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkflowExecutionOptionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkflowExecutionOptionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkflowExecutionOptionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkflowExecutionOptionsRequest + switch t := that.(type) { + case *UpdateWorkflowExecutionOptionsRequest: + that1 = t + case UpdateWorkflowExecutionOptionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkflowExecutionOptionsResponse to the protobuf v3 wire format +func (val *UpdateWorkflowExecutionOptionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkflowExecutionOptionsResponse from the protobuf v3 wire format +func (val *UpdateWorkflowExecutionOptionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkflowExecutionOptionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkflowExecutionOptionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkflowExecutionOptionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkflowExecutionOptionsResponse + switch t := that.(type) { + case *UpdateWorkflowExecutionOptionsResponse: + that1 = t + case UpdateWorkflowExecutionOptionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeDeploymentRequest to the protobuf v3 wire format +func (val *DescribeDeploymentRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeDeploymentRequest from the protobuf v3 wire format +func (val *DescribeDeploymentRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeDeploymentRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeDeploymentRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeDeploymentRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeDeploymentRequest + switch t := that.(type) { + case *DescribeDeploymentRequest: + that1 = t + case DescribeDeploymentRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeDeploymentResponse to the protobuf v3 wire format +func (val *DescribeDeploymentResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeDeploymentResponse from the protobuf v3 wire format +func (val *DescribeDeploymentResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeDeploymentResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeDeploymentResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeDeploymentResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeDeploymentResponse + switch t := that.(type) { + case *DescribeDeploymentResponse: + that1 = t + case DescribeDeploymentResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkerDeploymentVersionRequest to the protobuf v3 wire format +func (val *DescribeWorkerDeploymentVersionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkerDeploymentVersionRequest from the protobuf v3 wire format +func (val *DescribeWorkerDeploymentVersionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkerDeploymentVersionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkerDeploymentVersionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkerDeploymentVersionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkerDeploymentVersionRequest + switch t := that.(type) { + case *DescribeWorkerDeploymentVersionRequest: + that1 = t + case DescribeWorkerDeploymentVersionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkerDeploymentVersionResponse to the protobuf v3 wire format +func (val *DescribeWorkerDeploymentVersionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkerDeploymentVersionResponse from the protobuf v3 wire format +func (val *DescribeWorkerDeploymentVersionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkerDeploymentVersionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkerDeploymentVersionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkerDeploymentVersionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkerDeploymentVersionResponse + switch t := that.(type) { + case *DescribeWorkerDeploymentVersionResponse: + that1 = t + case DescribeWorkerDeploymentVersionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkerDeploymentRequest to the protobuf v3 wire format +func (val *DescribeWorkerDeploymentRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkerDeploymentRequest from the protobuf v3 wire format +func (val *DescribeWorkerDeploymentRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkerDeploymentRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkerDeploymentRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkerDeploymentRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkerDeploymentRequest + switch t := that.(type) { + case *DescribeWorkerDeploymentRequest: + that1 = t + case DescribeWorkerDeploymentRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkerDeploymentResponse to the protobuf v3 wire format +func (val *DescribeWorkerDeploymentResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkerDeploymentResponse from the protobuf v3 wire format +func (val *DescribeWorkerDeploymentResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkerDeploymentResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkerDeploymentResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkerDeploymentResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkerDeploymentResponse + switch t := that.(type) { + case *DescribeWorkerDeploymentResponse: + that1 = t + case DescribeWorkerDeploymentResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListDeploymentsRequest to the protobuf v3 wire format +func (val *ListDeploymentsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListDeploymentsRequest from the protobuf v3 wire format +func (val *ListDeploymentsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListDeploymentsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListDeploymentsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListDeploymentsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListDeploymentsRequest + switch t := that.(type) { + case *ListDeploymentsRequest: + that1 = t + case ListDeploymentsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListDeploymentsResponse to the protobuf v3 wire format +func (val *ListDeploymentsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListDeploymentsResponse from the protobuf v3 wire format +func (val *ListDeploymentsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListDeploymentsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListDeploymentsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListDeploymentsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListDeploymentsResponse + switch t := that.(type) { + case *ListDeploymentsResponse: + that1 = t + case ListDeploymentsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SetCurrentDeploymentRequest to the protobuf v3 wire format +func (val *SetCurrentDeploymentRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SetCurrentDeploymentRequest from the protobuf v3 wire format +func (val *SetCurrentDeploymentRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SetCurrentDeploymentRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SetCurrentDeploymentRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SetCurrentDeploymentRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SetCurrentDeploymentRequest + switch t := that.(type) { + case *SetCurrentDeploymentRequest: + that1 = t + case SetCurrentDeploymentRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SetCurrentDeploymentResponse to the protobuf v3 wire format +func (val *SetCurrentDeploymentResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SetCurrentDeploymentResponse from the protobuf v3 wire format +func (val *SetCurrentDeploymentResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SetCurrentDeploymentResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SetCurrentDeploymentResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SetCurrentDeploymentResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SetCurrentDeploymentResponse + switch t := that.(type) { + case *SetCurrentDeploymentResponse: + that1 = t + case SetCurrentDeploymentResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SetWorkerDeploymentCurrentVersionRequest to the protobuf v3 wire format +func (val *SetWorkerDeploymentCurrentVersionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SetWorkerDeploymentCurrentVersionRequest from the protobuf v3 wire format +func (val *SetWorkerDeploymentCurrentVersionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SetWorkerDeploymentCurrentVersionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SetWorkerDeploymentCurrentVersionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SetWorkerDeploymentCurrentVersionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SetWorkerDeploymentCurrentVersionRequest + switch t := that.(type) { + case *SetWorkerDeploymentCurrentVersionRequest: + that1 = t + case SetWorkerDeploymentCurrentVersionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SetWorkerDeploymentCurrentVersionResponse to the protobuf v3 wire format +func (val *SetWorkerDeploymentCurrentVersionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SetWorkerDeploymentCurrentVersionResponse from the protobuf v3 wire format +func (val *SetWorkerDeploymentCurrentVersionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SetWorkerDeploymentCurrentVersionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SetWorkerDeploymentCurrentVersionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SetWorkerDeploymentCurrentVersionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SetWorkerDeploymentCurrentVersionResponse + switch t := that.(type) { + case *SetWorkerDeploymentCurrentVersionResponse: + that1 = t + case SetWorkerDeploymentCurrentVersionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SetWorkerDeploymentRampingVersionRequest to the protobuf v3 wire format +func (val *SetWorkerDeploymentRampingVersionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SetWorkerDeploymentRampingVersionRequest from the protobuf v3 wire format +func (val *SetWorkerDeploymentRampingVersionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SetWorkerDeploymentRampingVersionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SetWorkerDeploymentRampingVersionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SetWorkerDeploymentRampingVersionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SetWorkerDeploymentRampingVersionRequest + switch t := that.(type) { + case *SetWorkerDeploymentRampingVersionRequest: + that1 = t + case SetWorkerDeploymentRampingVersionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SetWorkerDeploymentRampingVersionResponse to the protobuf v3 wire format +func (val *SetWorkerDeploymentRampingVersionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SetWorkerDeploymentRampingVersionResponse from the protobuf v3 wire format +func (val *SetWorkerDeploymentRampingVersionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SetWorkerDeploymentRampingVersionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SetWorkerDeploymentRampingVersionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SetWorkerDeploymentRampingVersionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SetWorkerDeploymentRampingVersionResponse + switch t := that.(type) { + case *SetWorkerDeploymentRampingVersionResponse: + that1 = t + case SetWorkerDeploymentRampingVersionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateWorkerDeploymentRequest to the protobuf v3 wire format +func (val *CreateWorkerDeploymentRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateWorkerDeploymentRequest from the protobuf v3 wire format +func (val *CreateWorkerDeploymentRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateWorkerDeploymentRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateWorkerDeploymentRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateWorkerDeploymentRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateWorkerDeploymentRequest + switch t := that.(type) { + case *CreateWorkerDeploymentRequest: + that1 = t + case CreateWorkerDeploymentRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateWorkerDeploymentResponse to the protobuf v3 wire format +func (val *CreateWorkerDeploymentResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateWorkerDeploymentResponse from the protobuf v3 wire format +func (val *CreateWorkerDeploymentResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateWorkerDeploymentResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateWorkerDeploymentResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateWorkerDeploymentResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateWorkerDeploymentResponse + switch t := that.(type) { + case *CreateWorkerDeploymentResponse: + that1 = t + case CreateWorkerDeploymentResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListWorkerDeploymentsRequest to the protobuf v3 wire format +func (val *ListWorkerDeploymentsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListWorkerDeploymentsRequest from the protobuf v3 wire format +func (val *ListWorkerDeploymentsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListWorkerDeploymentsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListWorkerDeploymentsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListWorkerDeploymentsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListWorkerDeploymentsRequest + switch t := that.(type) { + case *ListWorkerDeploymentsRequest: + that1 = t + case ListWorkerDeploymentsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListWorkerDeploymentsResponse to the protobuf v3 wire format +func (val *ListWorkerDeploymentsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListWorkerDeploymentsResponse from the protobuf v3 wire format +func (val *ListWorkerDeploymentsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListWorkerDeploymentsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListWorkerDeploymentsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListWorkerDeploymentsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListWorkerDeploymentsResponse + switch t := that.(type) { + case *ListWorkerDeploymentsResponse: + that1 = t + case ListWorkerDeploymentsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateWorkerDeploymentVersionRequest to the protobuf v3 wire format +func (val *CreateWorkerDeploymentVersionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateWorkerDeploymentVersionRequest from the protobuf v3 wire format +func (val *CreateWorkerDeploymentVersionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateWorkerDeploymentVersionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateWorkerDeploymentVersionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateWorkerDeploymentVersionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateWorkerDeploymentVersionRequest + switch t := that.(type) { + case *CreateWorkerDeploymentVersionRequest: + that1 = t + case CreateWorkerDeploymentVersionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateWorkerDeploymentVersionResponse to the protobuf v3 wire format +func (val *CreateWorkerDeploymentVersionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateWorkerDeploymentVersionResponse from the protobuf v3 wire format +func (val *CreateWorkerDeploymentVersionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateWorkerDeploymentVersionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateWorkerDeploymentVersionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateWorkerDeploymentVersionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateWorkerDeploymentVersionResponse + switch t := that.(type) { + case *CreateWorkerDeploymentVersionResponse: + that1 = t + case CreateWorkerDeploymentVersionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteWorkerDeploymentVersionRequest to the protobuf v3 wire format +func (val *DeleteWorkerDeploymentVersionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteWorkerDeploymentVersionRequest from the protobuf v3 wire format +func (val *DeleteWorkerDeploymentVersionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteWorkerDeploymentVersionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteWorkerDeploymentVersionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteWorkerDeploymentVersionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteWorkerDeploymentVersionRequest + switch t := that.(type) { + case *DeleteWorkerDeploymentVersionRequest: + that1 = t + case DeleteWorkerDeploymentVersionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteWorkerDeploymentVersionResponse to the protobuf v3 wire format +func (val *DeleteWorkerDeploymentVersionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteWorkerDeploymentVersionResponse from the protobuf v3 wire format +func (val *DeleteWorkerDeploymentVersionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteWorkerDeploymentVersionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteWorkerDeploymentVersionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteWorkerDeploymentVersionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteWorkerDeploymentVersionResponse + switch t := that.(type) { + case *DeleteWorkerDeploymentVersionResponse: + that1 = t + case DeleteWorkerDeploymentVersionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteWorkerDeploymentRequest to the protobuf v3 wire format +func (val *DeleteWorkerDeploymentRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteWorkerDeploymentRequest from the protobuf v3 wire format +func (val *DeleteWorkerDeploymentRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteWorkerDeploymentRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteWorkerDeploymentRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteWorkerDeploymentRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteWorkerDeploymentRequest + switch t := that.(type) { + case *DeleteWorkerDeploymentRequest: + that1 = t + case DeleteWorkerDeploymentRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteWorkerDeploymentResponse to the protobuf v3 wire format +func (val *DeleteWorkerDeploymentResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteWorkerDeploymentResponse from the protobuf v3 wire format +func (val *DeleteWorkerDeploymentResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteWorkerDeploymentResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteWorkerDeploymentResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteWorkerDeploymentResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteWorkerDeploymentResponse + switch t := that.(type) { + case *DeleteWorkerDeploymentResponse: + that1 = t + case DeleteWorkerDeploymentResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerDeploymentVersionComputeConfigRequest to the protobuf v3 wire format +func (val *UpdateWorkerDeploymentVersionComputeConfigRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerDeploymentVersionComputeConfigRequest from the protobuf v3 wire format +func (val *UpdateWorkerDeploymentVersionComputeConfigRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerDeploymentVersionComputeConfigRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerDeploymentVersionComputeConfigRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerDeploymentVersionComputeConfigRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerDeploymentVersionComputeConfigRequest + switch t := that.(type) { + case *UpdateWorkerDeploymentVersionComputeConfigRequest: + that1 = t + case UpdateWorkerDeploymentVersionComputeConfigRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerDeploymentVersionComputeConfigResponse to the protobuf v3 wire format +func (val *UpdateWorkerDeploymentVersionComputeConfigResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerDeploymentVersionComputeConfigResponse from the protobuf v3 wire format +func (val *UpdateWorkerDeploymentVersionComputeConfigResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerDeploymentVersionComputeConfigResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerDeploymentVersionComputeConfigResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerDeploymentVersionComputeConfigResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerDeploymentVersionComputeConfigResponse + switch t := that.(type) { + case *UpdateWorkerDeploymentVersionComputeConfigResponse: + that1 = t + case UpdateWorkerDeploymentVersionComputeConfigResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ValidateWorkerDeploymentVersionComputeConfigRequest to the protobuf v3 wire format +func (val *ValidateWorkerDeploymentVersionComputeConfigRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ValidateWorkerDeploymentVersionComputeConfigRequest from the protobuf v3 wire format +func (val *ValidateWorkerDeploymentVersionComputeConfigRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ValidateWorkerDeploymentVersionComputeConfigRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ValidateWorkerDeploymentVersionComputeConfigRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ValidateWorkerDeploymentVersionComputeConfigRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ValidateWorkerDeploymentVersionComputeConfigRequest + switch t := that.(type) { + case *ValidateWorkerDeploymentVersionComputeConfigRequest: + that1 = t + case ValidateWorkerDeploymentVersionComputeConfigRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ValidateWorkerDeploymentVersionComputeConfigResponse to the protobuf v3 wire format +func (val *ValidateWorkerDeploymentVersionComputeConfigResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ValidateWorkerDeploymentVersionComputeConfigResponse from the protobuf v3 wire format +func (val *ValidateWorkerDeploymentVersionComputeConfigResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ValidateWorkerDeploymentVersionComputeConfigResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ValidateWorkerDeploymentVersionComputeConfigResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ValidateWorkerDeploymentVersionComputeConfigResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ValidateWorkerDeploymentVersionComputeConfigResponse + switch t := that.(type) { + case *ValidateWorkerDeploymentVersionComputeConfigResponse: + that1 = t + case ValidateWorkerDeploymentVersionComputeConfigResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerDeploymentVersionMetadataRequest to the protobuf v3 wire format +func (val *UpdateWorkerDeploymentVersionMetadataRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerDeploymentVersionMetadataRequest from the protobuf v3 wire format +func (val *UpdateWorkerDeploymentVersionMetadataRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerDeploymentVersionMetadataRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerDeploymentVersionMetadataRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerDeploymentVersionMetadataRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerDeploymentVersionMetadataRequest + switch t := that.(type) { + case *UpdateWorkerDeploymentVersionMetadataRequest: + that1 = t + case UpdateWorkerDeploymentVersionMetadataRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerDeploymentVersionMetadataResponse to the protobuf v3 wire format +func (val *UpdateWorkerDeploymentVersionMetadataResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerDeploymentVersionMetadataResponse from the protobuf v3 wire format +func (val *UpdateWorkerDeploymentVersionMetadataResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerDeploymentVersionMetadataResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerDeploymentVersionMetadataResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerDeploymentVersionMetadataResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerDeploymentVersionMetadataResponse + switch t := that.(type) { + case *UpdateWorkerDeploymentVersionMetadataResponse: + that1 = t + case UpdateWorkerDeploymentVersionMetadataResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SetWorkerDeploymentManagerRequest to the protobuf v3 wire format +func (val *SetWorkerDeploymentManagerRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SetWorkerDeploymentManagerRequest from the protobuf v3 wire format +func (val *SetWorkerDeploymentManagerRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SetWorkerDeploymentManagerRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SetWorkerDeploymentManagerRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SetWorkerDeploymentManagerRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SetWorkerDeploymentManagerRequest + switch t := that.(type) { + case *SetWorkerDeploymentManagerRequest: + that1 = t + case SetWorkerDeploymentManagerRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type SetWorkerDeploymentManagerResponse to the protobuf v3 wire format +func (val *SetWorkerDeploymentManagerResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type SetWorkerDeploymentManagerResponse from the protobuf v3 wire format +func (val *SetWorkerDeploymentManagerResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *SetWorkerDeploymentManagerResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two SetWorkerDeploymentManagerResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *SetWorkerDeploymentManagerResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *SetWorkerDeploymentManagerResponse + switch t := that.(type) { + case *SetWorkerDeploymentManagerResponse: + that1 = t + case SetWorkerDeploymentManagerResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetCurrentDeploymentRequest to the protobuf v3 wire format +func (val *GetCurrentDeploymentRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetCurrentDeploymentRequest from the protobuf v3 wire format +func (val *GetCurrentDeploymentRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetCurrentDeploymentRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetCurrentDeploymentRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetCurrentDeploymentRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetCurrentDeploymentRequest + switch t := that.(type) { + case *GetCurrentDeploymentRequest: + that1 = t + case GetCurrentDeploymentRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetCurrentDeploymentResponse to the protobuf v3 wire format +func (val *GetCurrentDeploymentResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetCurrentDeploymentResponse from the protobuf v3 wire format +func (val *GetCurrentDeploymentResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetCurrentDeploymentResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetCurrentDeploymentResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetCurrentDeploymentResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetCurrentDeploymentResponse + switch t := that.(type) { + case *GetCurrentDeploymentResponse: + that1 = t + case GetCurrentDeploymentResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetDeploymentReachabilityRequest to the protobuf v3 wire format +func (val *GetDeploymentReachabilityRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetDeploymentReachabilityRequest from the protobuf v3 wire format +func (val *GetDeploymentReachabilityRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetDeploymentReachabilityRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetDeploymentReachabilityRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetDeploymentReachabilityRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetDeploymentReachabilityRequest + switch t := that.(type) { + case *GetDeploymentReachabilityRequest: + that1 = t + case GetDeploymentReachabilityRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type GetDeploymentReachabilityResponse to the protobuf v3 wire format +func (val *GetDeploymentReachabilityResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type GetDeploymentReachabilityResponse from the protobuf v3 wire format +func (val *GetDeploymentReachabilityResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *GetDeploymentReachabilityResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two GetDeploymentReachabilityResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *GetDeploymentReachabilityResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *GetDeploymentReachabilityResponse + switch t := that.(type) { + case *GetDeploymentReachabilityResponse: + that1 = t + case GetDeploymentReachabilityResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateWorkflowRuleRequest to the protobuf v3 wire format +func (val *CreateWorkflowRuleRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateWorkflowRuleRequest from the protobuf v3 wire format +func (val *CreateWorkflowRuleRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateWorkflowRuleRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateWorkflowRuleRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateWorkflowRuleRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateWorkflowRuleRequest + switch t := that.(type) { + case *CreateWorkflowRuleRequest: + that1 = t + case CreateWorkflowRuleRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CreateWorkflowRuleResponse to the protobuf v3 wire format +func (val *CreateWorkflowRuleResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CreateWorkflowRuleResponse from the protobuf v3 wire format +func (val *CreateWorkflowRuleResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CreateWorkflowRuleResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CreateWorkflowRuleResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CreateWorkflowRuleResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CreateWorkflowRuleResponse + switch t := that.(type) { + case *CreateWorkflowRuleResponse: + that1 = t + case CreateWorkflowRuleResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkflowRuleRequest to the protobuf v3 wire format +func (val *DescribeWorkflowRuleRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkflowRuleRequest from the protobuf v3 wire format +func (val *DescribeWorkflowRuleRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkflowRuleRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkflowRuleRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkflowRuleRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkflowRuleRequest + switch t := that.(type) { + case *DescribeWorkflowRuleRequest: + that1 = t + case DescribeWorkflowRuleRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkflowRuleResponse to the protobuf v3 wire format +func (val *DescribeWorkflowRuleResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkflowRuleResponse from the protobuf v3 wire format +func (val *DescribeWorkflowRuleResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkflowRuleResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkflowRuleResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkflowRuleResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkflowRuleResponse + switch t := that.(type) { + case *DescribeWorkflowRuleResponse: + that1 = t + case DescribeWorkflowRuleResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteWorkflowRuleRequest to the protobuf v3 wire format +func (val *DeleteWorkflowRuleRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteWorkflowRuleRequest from the protobuf v3 wire format +func (val *DeleteWorkflowRuleRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteWorkflowRuleRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteWorkflowRuleRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteWorkflowRuleRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteWorkflowRuleRequest + switch t := that.(type) { + case *DeleteWorkflowRuleRequest: + that1 = t + case DeleteWorkflowRuleRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteWorkflowRuleResponse to the protobuf v3 wire format +func (val *DeleteWorkflowRuleResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteWorkflowRuleResponse from the protobuf v3 wire format +func (val *DeleteWorkflowRuleResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteWorkflowRuleResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteWorkflowRuleResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteWorkflowRuleResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteWorkflowRuleResponse + switch t := that.(type) { + case *DeleteWorkflowRuleResponse: + that1 = t + case DeleteWorkflowRuleResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListWorkflowRulesRequest to the protobuf v3 wire format +func (val *ListWorkflowRulesRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListWorkflowRulesRequest from the protobuf v3 wire format +func (val *ListWorkflowRulesRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListWorkflowRulesRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListWorkflowRulesRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListWorkflowRulesRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListWorkflowRulesRequest + switch t := that.(type) { + case *ListWorkflowRulesRequest: + that1 = t + case ListWorkflowRulesRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListWorkflowRulesResponse to the protobuf v3 wire format +func (val *ListWorkflowRulesResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListWorkflowRulesResponse from the protobuf v3 wire format +func (val *ListWorkflowRulesResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListWorkflowRulesResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListWorkflowRulesResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListWorkflowRulesResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListWorkflowRulesResponse + switch t := that.(type) { + case *ListWorkflowRulesResponse: + that1 = t + case ListWorkflowRulesResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TriggerWorkflowRuleRequest to the protobuf v3 wire format +func (val *TriggerWorkflowRuleRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TriggerWorkflowRuleRequest from the protobuf v3 wire format +func (val *TriggerWorkflowRuleRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TriggerWorkflowRuleRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TriggerWorkflowRuleRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TriggerWorkflowRuleRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TriggerWorkflowRuleRequest + switch t := that.(type) { + case *TriggerWorkflowRuleRequest: + that1 = t + case TriggerWorkflowRuleRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TriggerWorkflowRuleResponse to the protobuf v3 wire format +func (val *TriggerWorkflowRuleResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TriggerWorkflowRuleResponse from the protobuf v3 wire format +func (val *TriggerWorkflowRuleResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TriggerWorkflowRuleResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TriggerWorkflowRuleResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TriggerWorkflowRuleResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TriggerWorkflowRuleResponse + switch t := that.(type) { + case *TriggerWorkflowRuleResponse: + that1 = t + case TriggerWorkflowRuleResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RecordWorkerHeartbeatRequest to the protobuf v3 wire format +func (val *RecordWorkerHeartbeatRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RecordWorkerHeartbeatRequest from the protobuf v3 wire format +func (val *RecordWorkerHeartbeatRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RecordWorkerHeartbeatRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RecordWorkerHeartbeatRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RecordWorkerHeartbeatRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RecordWorkerHeartbeatRequest + switch t := that.(type) { + case *RecordWorkerHeartbeatRequest: + that1 = t + case RecordWorkerHeartbeatRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RecordWorkerHeartbeatResponse to the protobuf v3 wire format +func (val *RecordWorkerHeartbeatResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RecordWorkerHeartbeatResponse from the protobuf v3 wire format +func (val *RecordWorkerHeartbeatResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RecordWorkerHeartbeatResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RecordWorkerHeartbeatResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RecordWorkerHeartbeatResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RecordWorkerHeartbeatResponse + switch t := that.(type) { + case *RecordWorkerHeartbeatResponse: + that1 = t + case RecordWorkerHeartbeatResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListWorkersRequest to the protobuf v3 wire format +func (val *ListWorkersRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListWorkersRequest from the protobuf v3 wire format +func (val *ListWorkersRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListWorkersRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListWorkersRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListWorkersRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListWorkersRequest + switch t := that.(type) { + case *ListWorkersRequest: + that1 = t + case ListWorkersRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListWorkersResponse to the protobuf v3 wire format +func (val *ListWorkersResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListWorkersResponse from the protobuf v3 wire format +func (val *ListWorkersResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListWorkersResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListWorkersResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListWorkersResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListWorkersResponse + switch t := that.(type) { + case *ListWorkersResponse: + that1 = t + case ListWorkersResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateTaskQueueConfigRequest to the protobuf v3 wire format +func (val *UpdateTaskQueueConfigRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateTaskQueueConfigRequest from the protobuf v3 wire format +func (val *UpdateTaskQueueConfigRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateTaskQueueConfigRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateTaskQueueConfigRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateTaskQueueConfigRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateTaskQueueConfigRequest + switch t := that.(type) { + case *UpdateTaskQueueConfigRequest: + that1 = t + case UpdateTaskQueueConfigRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateTaskQueueConfigResponse to the protobuf v3 wire format +func (val *UpdateTaskQueueConfigResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateTaskQueueConfigResponse from the protobuf v3 wire format +func (val *UpdateTaskQueueConfigResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateTaskQueueConfigResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateTaskQueueConfigResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateTaskQueueConfigResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateTaskQueueConfigResponse + switch t := that.(type) { + case *UpdateTaskQueueConfigResponse: + that1 = t + case UpdateTaskQueueConfigResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type FetchWorkerConfigRequest to the protobuf v3 wire format +func (val *FetchWorkerConfigRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type FetchWorkerConfigRequest from the protobuf v3 wire format +func (val *FetchWorkerConfigRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *FetchWorkerConfigRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two FetchWorkerConfigRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *FetchWorkerConfigRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *FetchWorkerConfigRequest + switch t := that.(type) { + case *FetchWorkerConfigRequest: + that1 = t + case FetchWorkerConfigRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type FetchWorkerConfigResponse to the protobuf v3 wire format +func (val *FetchWorkerConfigResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type FetchWorkerConfigResponse from the protobuf v3 wire format +func (val *FetchWorkerConfigResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *FetchWorkerConfigResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two FetchWorkerConfigResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *FetchWorkerConfigResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *FetchWorkerConfigResponse + switch t := that.(type) { + case *FetchWorkerConfigResponse: + that1 = t + case FetchWorkerConfigResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerConfigRequest to the protobuf v3 wire format +func (val *UpdateWorkerConfigRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerConfigRequest from the protobuf v3 wire format +func (val *UpdateWorkerConfigRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerConfigRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerConfigRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerConfigRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerConfigRequest + switch t := that.(type) { + case *UpdateWorkerConfigRequest: + that1 = t + case UpdateWorkerConfigRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UpdateWorkerConfigResponse to the protobuf v3 wire format +func (val *UpdateWorkerConfigResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UpdateWorkerConfigResponse from the protobuf v3 wire format +func (val *UpdateWorkerConfigResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UpdateWorkerConfigResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UpdateWorkerConfigResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UpdateWorkerConfigResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UpdateWorkerConfigResponse + switch t := that.(type) { + case *UpdateWorkerConfigResponse: + that1 = t + case UpdateWorkerConfigResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkerRequest to the protobuf v3 wire format +func (val *DescribeWorkerRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkerRequest from the protobuf v3 wire format +func (val *DescribeWorkerRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkerRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkerRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkerRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkerRequest + switch t := that.(type) { + case *DescribeWorkerRequest: + that1 = t + case DescribeWorkerRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeWorkerResponse to the protobuf v3 wire format +func (val *DescribeWorkerResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeWorkerResponse from the protobuf v3 wire format +func (val *DescribeWorkerResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeWorkerResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeWorkerResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeWorkerResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeWorkerResponse + switch t := that.(type) { + case *DescribeWorkerResponse: + that1 = t + case DescribeWorkerResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PauseWorkflowExecutionRequest to the protobuf v3 wire format +func (val *PauseWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PauseWorkflowExecutionRequest from the protobuf v3 wire format +func (val *PauseWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PauseWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PauseWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PauseWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PauseWorkflowExecutionRequest + switch t := that.(type) { + case *PauseWorkflowExecutionRequest: + that1 = t + case PauseWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PauseWorkflowExecutionResponse to the protobuf v3 wire format +func (val *PauseWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PauseWorkflowExecutionResponse from the protobuf v3 wire format +func (val *PauseWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PauseWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PauseWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PauseWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PauseWorkflowExecutionResponse + switch t := that.(type) { + case *PauseWorkflowExecutionResponse: + that1 = t + case PauseWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UnpauseWorkflowExecutionRequest to the protobuf v3 wire format +func (val *UnpauseWorkflowExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UnpauseWorkflowExecutionRequest from the protobuf v3 wire format +func (val *UnpauseWorkflowExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UnpauseWorkflowExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UnpauseWorkflowExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UnpauseWorkflowExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UnpauseWorkflowExecutionRequest + switch t := that.(type) { + case *UnpauseWorkflowExecutionRequest: + that1 = t + case UnpauseWorkflowExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type UnpauseWorkflowExecutionResponse to the protobuf v3 wire format +func (val *UnpauseWorkflowExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type UnpauseWorkflowExecutionResponse from the protobuf v3 wire format +func (val *UnpauseWorkflowExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *UnpauseWorkflowExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two UnpauseWorkflowExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *UnpauseWorkflowExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *UnpauseWorkflowExecutionResponse + switch t := that.(type) { + case *UnpauseWorkflowExecutionResponse: + that1 = t + case UnpauseWorkflowExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartActivityExecutionRequest to the protobuf v3 wire format +func (val *StartActivityExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartActivityExecutionRequest from the protobuf v3 wire format +func (val *StartActivityExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartActivityExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartActivityExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartActivityExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartActivityExecutionRequest + switch t := that.(type) { + case *StartActivityExecutionRequest: + that1 = t + case StartActivityExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartActivityExecutionResponse to the protobuf v3 wire format +func (val *StartActivityExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartActivityExecutionResponse from the protobuf v3 wire format +func (val *StartActivityExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartActivityExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartActivityExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartActivityExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartActivityExecutionResponse + switch t := that.(type) { + case *StartActivityExecutionResponse: + that1 = t + case StartActivityExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeActivityExecutionRequest to the protobuf v3 wire format +func (val *DescribeActivityExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeActivityExecutionRequest from the protobuf v3 wire format +func (val *DescribeActivityExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeActivityExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeActivityExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeActivityExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeActivityExecutionRequest + switch t := that.(type) { + case *DescribeActivityExecutionRequest: + that1 = t + case DescribeActivityExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeActivityExecutionResponse to the protobuf v3 wire format +func (val *DescribeActivityExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeActivityExecutionResponse from the protobuf v3 wire format +func (val *DescribeActivityExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeActivityExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeActivityExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeActivityExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeActivityExecutionResponse + switch t := that.(type) { + case *DescribeActivityExecutionResponse: + that1 = t + case DescribeActivityExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollActivityExecutionRequest to the protobuf v3 wire format +func (val *PollActivityExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollActivityExecutionRequest from the protobuf v3 wire format +func (val *PollActivityExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollActivityExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollActivityExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollActivityExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollActivityExecutionRequest + switch t := that.(type) { + case *PollActivityExecutionRequest: + that1 = t + case PollActivityExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollActivityExecutionResponse to the protobuf v3 wire format +func (val *PollActivityExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollActivityExecutionResponse from the protobuf v3 wire format +func (val *PollActivityExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollActivityExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollActivityExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollActivityExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollActivityExecutionResponse + switch t := that.(type) { + case *PollActivityExecutionResponse: + that1 = t + case PollActivityExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListActivityExecutionsRequest to the protobuf v3 wire format +func (val *ListActivityExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListActivityExecutionsRequest from the protobuf v3 wire format +func (val *ListActivityExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListActivityExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListActivityExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListActivityExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListActivityExecutionsRequest + switch t := that.(type) { + case *ListActivityExecutionsRequest: + that1 = t + case ListActivityExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListActivityExecutionsResponse to the protobuf v3 wire format +func (val *ListActivityExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListActivityExecutionsResponse from the protobuf v3 wire format +func (val *ListActivityExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListActivityExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListActivityExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListActivityExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListActivityExecutionsResponse + switch t := that.(type) { + case *ListActivityExecutionsResponse: + that1 = t + case ListActivityExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartNexusOperationExecutionRequest to the protobuf v3 wire format +func (val *StartNexusOperationExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartNexusOperationExecutionRequest from the protobuf v3 wire format +func (val *StartNexusOperationExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartNexusOperationExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartNexusOperationExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartNexusOperationExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartNexusOperationExecutionRequest + switch t := that.(type) { + case *StartNexusOperationExecutionRequest: + that1 = t + case StartNexusOperationExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type StartNexusOperationExecutionResponse to the protobuf v3 wire format +func (val *StartNexusOperationExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type StartNexusOperationExecutionResponse from the protobuf v3 wire format +func (val *StartNexusOperationExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *StartNexusOperationExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two StartNexusOperationExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *StartNexusOperationExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *StartNexusOperationExecutionResponse + switch t := that.(type) { + case *StartNexusOperationExecutionResponse: + that1 = t + case StartNexusOperationExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeNexusOperationExecutionRequest to the protobuf v3 wire format +func (val *DescribeNexusOperationExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeNexusOperationExecutionRequest from the protobuf v3 wire format +func (val *DescribeNexusOperationExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeNexusOperationExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeNexusOperationExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeNexusOperationExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeNexusOperationExecutionRequest + switch t := that.(type) { + case *DescribeNexusOperationExecutionRequest: + that1 = t + case DescribeNexusOperationExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DescribeNexusOperationExecutionResponse to the protobuf v3 wire format +func (val *DescribeNexusOperationExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DescribeNexusOperationExecutionResponse from the protobuf v3 wire format +func (val *DescribeNexusOperationExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DescribeNexusOperationExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DescribeNexusOperationExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DescribeNexusOperationExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DescribeNexusOperationExecutionResponse + switch t := that.(type) { + case *DescribeNexusOperationExecutionResponse: + that1 = t + case DescribeNexusOperationExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollNexusOperationExecutionRequest to the protobuf v3 wire format +func (val *PollNexusOperationExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollNexusOperationExecutionRequest from the protobuf v3 wire format +func (val *PollNexusOperationExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollNexusOperationExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollNexusOperationExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollNexusOperationExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollNexusOperationExecutionRequest + switch t := that.(type) { + case *PollNexusOperationExecutionRequest: + that1 = t + case PollNexusOperationExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type PollNexusOperationExecutionResponse to the protobuf v3 wire format +func (val *PollNexusOperationExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type PollNexusOperationExecutionResponse from the protobuf v3 wire format +func (val *PollNexusOperationExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *PollNexusOperationExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two PollNexusOperationExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *PollNexusOperationExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *PollNexusOperationExecutionResponse + switch t := that.(type) { + case *PollNexusOperationExecutionResponse: + that1 = t + case PollNexusOperationExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListNexusOperationExecutionsRequest to the protobuf v3 wire format +func (val *ListNexusOperationExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListNexusOperationExecutionsRequest from the protobuf v3 wire format +func (val *ListNexusOperationExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListNexusOperationExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListNexusOperationExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListNexusOperationExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListNexusOperationExecutionsRequest + switch t := that.(type) { + case *ListNexusOperationExecutionsRequest: + that1 = t + case ListNexusOperationExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type ListNexusOperationExecutionsResponse to the protobuf v3 wire format +func (val *ListNexusOperationExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type ListNexusOperationExecutionsResponse from the protobuf v3 wire format +func (val *ListNexusOperationExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *ListNexusOperationExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two ListNexusOperationExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *ListNexusOperationExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *ListNexusOperationExecutionsResponse + switch t := that.(type) { + case *ListNexusOperationExecutionsResponse: + that1 = t + case ListNexusOperationExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CountActivityExecutionsRequest to the protobuf v3 wire format +func (val *CountActivityExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CountActivityExecutionsRequest from the protobuf v3 wire format +func (val *CountActivityExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CountActivityExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CountActivityExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CountActivityExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CountActivityExecutionsRequest + switch t := that.(type) { + case *CountActivityExecutionsRequest: + that1 = t + case CountActivityExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CountActivityExecutionsResponse to the protobuf v3 wire format +func (val *CountActivityExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CountActivityExecutionsResponse from the protobuf v3 wire format +func (val *CountActivityExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CountActivityExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CountActivityExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CountActivityExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CountActivityExecutionsResponse + switch t := that.(type) { + case *CountActivityExecutionsResponse: + that1 = t + case CountActivityExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CountNexusOperationExecutionsRequest to the protobuf v3 wire format +func (val *CountNexusOperationExecutionsRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CountNexusOperationExecutionsRequest from the protobuf v3 wire format +func (val *CountNexusOperationExecutionsRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CountNexusOperationExecutionsRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CountNexusOperationExecutionsRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CountNexusOperationExecutionsRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CountNexusOperationExecutionsRequest + switch t := that.(type) { + case *CountNexusOperationExecutionsRequest: + that1 = t + case CountNexusOperationExecutionsRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type CountNexusOperationExecutionsResponse to the protobuf v3 wire format +func (val *CountNexusOperationExecutionsResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type CountNexusOperationExecutionsResponse from the protobuf v3 wire format +func (val *CountNexusOperationExecutionsResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *CountNexusOperationExecutionsResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two CountNexusOperationExecutionsResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *CountNexusOperationExecutionsResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *CountNexusOperationExecutionsResponse + switch t := that.(type) { + case *CountNexusOperationExecutionsResponse: + that1 = t + case CountNexusOperationExecutionsResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelActivityExecutionRequest to the protobuf v3 wire format +func (val *RequestCancelActivityExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelActivityExecutionRequest from the protobuf v3 wire format +func (val *RequestCancelActivityExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelActivityExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelActivityExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelActivityExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelActivityExecutionRequest + switch t := that.(type) { + case *RequestCancelActivityExecutionRequest: + that1 = t + case RequestCancelActivityExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelActivityExecutionResponse to the protobuf v3 wire format +func (val *RequestCancelActivityExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelActivityExecutionResponse from the protobuf v3 wire format +func (val *RequestCancelActivityExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelActivityExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelActivityExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelActivityExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelActivityExecutionResponse + switch t := that.(type) { + case *RequestCancelActivityExecutionResponse: + that1 = t + case RequestCancelActivityExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TerminateActivityExecutionRequest to the protobuf v3 wire format +func (val *TerminateActivityExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TerminateActivityExecutionRequest from the protobuf v3 wire format +func (val *TerminateActivityExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TerminateActivityExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TerminateActivityExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TerminateActivityExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TerminateActivityExecutionRequest + switch t := that.(type) { + case *TerminateActivityExecutionRequest: + that1 = t + case TerminateActivityExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TerminateActivityExecutionResponse to the protobuf v3 wire format +func (val *TerminateActivityExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TerminateActivityExecutionResponse from the protobuf v3 wire format +func (val *TerminateActivityExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TerminateActivityExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TerminateActivityExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TerminateActivityExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TerminateActivityExecutionResponse + switch t := that.(type) { + case *TerminateActivityExecutionResponse: + that1 = t + case TerminateActivityExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteActivityExecutionRequest to the protobuf v3 wire format +func (val *DeleteActivityExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteActivityExecutionRequest from the protobuf v3 wire format +func (val *DeleteActivityExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteActivityExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteActivityExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteActivityExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteActivityExecutionRequest + switch t := that.(type) { + case *DeleteActivityExecutionRequest: + that1 = t + case DeleteActivityExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteActivityExecutionResponse to the protobuf v3 wire format +func (val *DeleteActivityExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteActivityExecutionResponse from the protobuf v3 wire format +func (val *DeleteActivityExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteActivityExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteActivityExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteActivityExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteActivityExecutionResponse + switch t := that.(type) { + case *DeleteActivityExecutionResponse: + that1 = t + case DeleteActivityExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelNexusOperationExecutionRequest to the protobuf v3 wire format +func (val *RequestCancelNexusOperationExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelNexusOperationExecutionRequest from the protobuf v3 wire format +func (val *RequestCancelNexusOperationExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelNexusOperationExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelNexusOperationExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelNexusOperationExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelNexusOperationExecutionRequest + switch t := that.(type) { + case *RequestCancelNexusOperationExecutionRequest: + that1 = t + case RequestCancelNexusOperationExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type RequestCancelNexusOperationExecutionResponse to the protobuf v3 wire format +func (val *RequestCancelNexusOperationExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type RequestCancelNexusOperationExecutionResponse from the protobuf v3 wire format +func (val *RequestCancelNexusOperationExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *RequestCancelNexusOperationExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two RequestCancelNexusOperationExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *RequestCancelNexusOperationExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *RequestCancelNexusOperationExecutionResponse + switch t := that.(type) { + case *RequestCancelNexusOperationExecutionResponse: + that1 = t + case RequestCancelNexusOperationExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TerminateNexusOperationExecutionRequest to the protobuf v3 wire format +func (val *TerminateNexusOperationExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TerminateNexusOperationExecutionRequest from the protobuf v3 wire format +func (val *TerminateNexusOperationExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TerminateNexusOperationExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TerminateNexusOperationExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TerminateNexusOperationExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TerminateNexusOperationExecutionRequest + switch t := that.(type) { + case *TerminateNexusOperationExecutionRequest: + that1 = t + case TerminateNexusOperationExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type TerminateNexusOperationExecutionResponse to the protobuf v3 wire format +func (val *TerminateNexusOperationExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type TerminateNexusOperationExecutionResponse from the protobuf v3 wire format +func (val *TerminateNexusOperationExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *TerminateNexusOperationExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two TerminateNexusOperationExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *TerminateNexusOperationExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *TerminateNexusOperationExecutionResponse + switch t := that.(type) { + case *TerminateNexusOperationExecutionResponse: + that1 = t + case TerminateNexusOperationExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteNexusOperationExecutionRequest to the protobuf v3 wire format +func (val *DeleteNexusOperationExecutionRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteNexusOperationExecutionRequest from the protobuf v3 wire format +func (val *DeleteNexusOperationExecutionRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteNexusOperationExecutionRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteNexusOperationExecutionRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteNexusOperationExecutionRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteNexusOperationExecutionRequest + switch t := that.(type) { + case *DeleteNexusOperationExecutionRequest: + that1 = t + case DeleteNexusOperationExecutionRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type DeleteNexusOperationExecutionResponse to the protobuf v3 wire format +func (val *DeleteNexusOperationExecutionResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type DeleteNexusOperationExecutionResponse from the protobuf v3 wire format +func (val *DeleteNexusOperationExecutionResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *DeleteNexusOperationExecutionResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two DeleteNexusOperationExecutionResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *DeleteNexusOperationExecutionResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *DeleteNexusOperationExecutionResponse + switch t := that.(type) { + case *DeleteNexusOperationExecutionResponse: + that1 = t + case DeleteNexusOperationExecutionResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type EchoRequest to the protobuf v3 wire format +func (val *EchoRequest) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type EchoRequest from the protobuf v3 wire format +func (val *EchoRequest) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *EchoRequest) Size() int { + return proto.Size(val) +} + +// Equal returns whether two EchoRequest values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *EchoRequest) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *EchoRequest + switch t := that.(type) { + case *EchoRequest: + that1 = t + case EchoRequest: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type EchoResponse to the protobuf v3 wire format +func (val *EchoResponse) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type EchoResponse from the protobuf v3 wire format +func (val *EchoResponse) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *EchoResponse) Size() int { + return proto.Size(val) +} + +// Equal returns whether two EchoResponse values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *EchoResponse) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *EchoResponse + switch t := that.(type) { + case *EchoResponse: + that1 = t + case EchoResponse: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} + +// Marshal an object of type Foo to the protobuf v3 wire format +func (val *Foo) Marshal() ([]byte, error) { + return proto.Marshal(val) +} + +// Unmarshal an object of type Foo from the protobuf v3 wire format +func (val *Foo) Unmarshal(buf []byte) error { + return proto.Unmarshal(buf, val) +} + +// Size returns the size of the object, in bytes, once serialized +func (val *Foo) Size() int { + return proto.Size(val) +} + +// Equal returns whether two Foo values are equivalent by recursively +// comparing the message's fields. +// For more information see the documentation for +// https://pkg.go.dev/google.golang.org/protobuf/proto#Equal +func (this *Foo) Equal(that interface{}) bool { + if that == nil { + return this == nil + } + + var that1 *Foo + switch t := that.(type) { + case *Foo: + that1 = t + case Foo: + that1 = &t + default: + return false + } + + return proto.Equal(this, that1) +} diff --git a/api_next/workflowservice/v1/request_response.pb.go b/api_next/workflowservice/v1/request_response.pb.go new file mode 100644 index 00000000..3a2c9e1c --- /dev/null +++ b/api_next/workflowservice/v1/request_response.pb.go @@ -0,0 +1,22821 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/workflowservice/v1/request_response.proto + +package workflowservice + +import ( + _ "go.temporal.io/api" + v120 "go.temporal.io/api/activity/v1" + v118 "go.temporal.io/api/batch/v1" + v112 "go.temporal.io/api/command/v1" + v13 "go.temporal.io/api/common/v1" + v121 "go.temporal.io/api/compute/v1" + v18 "go.temporal.io/api/deployment/v1" + v11 "go.temporal.io/api/enums/v1" + v15 "go.temporal.io/api/failure/v1" + v113 "go.temporal.io/api/filter/v1" + v19 "go.temporal.io/api/history/v1" + v12 "go.temporal.io/api/namespace/v1" + v119 "go.temporal.io/api/nexus/v1" + v111 "go.temporal.io/api/protocol/v1" + v110 "go.temporal.io/api/query/v1" + v1 "go.temporal.io/api/replication/v1" + v122 "go.temporal.io/api/rules/v1" + v116 "go.temporal.io/api/schedule/v1" + v16 "go.temporal.io/api/sdk/v1" + v14 "go.temporal.io/api/taskqueue/v1" + v117 "go.temporal.io/api/update/v1" + v115 "go.temporal.io/api/version/v1" + v114 "go.temporal.io/api/worker/v1" + v17 "go.temporal.io/api/workflow/v1" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + durationpb "google.golang.org/protobuf/types/known/durationpb" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + reflect "reflect" + sync "sync" + unsafe "unsafe" +) + +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) +) + +type RegisterNamespaceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"` + OwnerEmail string `protobuf:"bytes,3,opt,name=owner_email,json=ownerEmail,proto3" json:"owner_email,omitempty"` + WorkflowExecutionRetentionPeriod *durationpb.Duration `protobuf:"bytes,4,opt,name=workflow_execution_retention_period,json=workflowExecutionRetentionPeriod,proto3" json:"workflow_execution_retention_period,omitempty"` + Clusters []*v1.ClusterReplicationConfig `protobuf:"bytes,5,rep,name=clusters,proto3" json:"clusters,omitempty"` + ActiveClusterName string `protobuf:"bytes,6,opt,name=active_cluster_name,json=activeClusterName,proto3" json:"active_cluster_name,omitempty"` + // A key-value map for any customized purpose. + Data map[string]string `protobuf:"bytes,7,rep,name=data,proto3" json:"data,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + SecurityToken string `protobuf:"bytes,8,opt,name=security_token,json=securityToken,proto3" json:"security_token,omitempty"` + IsGlobalNamespace bool `protobuf:"varint,9,opt,name=is_global_namespace,json=isGlobalNamespace,proto3" json:"is_global_namespace,omitempty"` + // If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used. + HistoryArchivalState v11.ArchivalState `protobuf:"varint,10,opt,name=history_archival_state,json=historyArchivalState,proto3,enum=temporal.api.enums.v1.ArchivalState" json:"history_archival_state,omitempty"` + HistoryArchivalUri string `protobuf:"bytes,11,opt,name=history_archival_uri,json=historyArchivalUri,proto3" json:"history_archival_uri,omitempty"` + // If unspecified (ARCHIVAL_STATE_UNSPECIFIED) then default server configuration is used. + VisibilityArchivalState v11.ArchivalState `protobuf:"varint,12,opt,name=visibility_archival_state,json=visibilityArchivalState,proto3,enum=temporal.api.enums.v1.ArchivalState" json:"visibility_archival_state,omitempty"` + VisibilityArchivalUri string `protobuf:"bytes,13,opt,name=visibility_archival_uri,json=visibilityArchivalUri,proto3" json:"visibility_archival_uri,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterNamespaceRequest) Reset() { + *x = RegisterNamespaceRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterNamespaceRequest) ProtoMessage() {} + +func (x *RegisterNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[0] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterNamespaceRequest.ProtoReflect.Descriptor instead. +func (*RegisterNamespaceRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{0} +} + +func (x *RegisterNamespaceRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RegisterNamespaceRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +func (x *RegisterNamespaceRequest) GetOwnerEmail() string { + if x != nil { + return x.OwnerEmail + } + return "" +} + +func (x *RegisterNamespaceRequest) GetWorkflowExecutionRetentionPeriod() *durationpb.Duration { + if x != nil { + return x.WorkflowExecutionRetentionPeriod + } + return nil +} + +func (x *RegisterNamespaceRequest) GetClusters() []*v1.ClusterReplicationConfig { + if x != nil { + return x.Clusters + } + return nil +} + +func (x *RegisterNamespaceRequest) GetActiveClusterName() string { + if x != nil { + return x.ActiveClusterName + } + return "" +} + +func (x *RegisterNamespaceRequest) GetData() map[string]string { + if x != nil { + return x.Data + } + return nil +} + +func (x *RegisterNamespaceRequest) GetSecurityToken() string { + if x != nil { + return x.SecurityToken + } + return "" +} + +func (x *RegisterNamespaceRequest) GetIsGlobalNamespace() bool { + if x != nil { + return x.IsGlobalNamespace + } + return false +} + +func (x *RegisterNamespaceRequest) GetHistoryArchivalState() v11.ArchivalState { + if x != nil { + return x.HistoryArchivalState + } + return v11.ArchivalState(0) +} + +func (x *RegisterNamespaceRequest) GetHistoryArchivalUri() string { + if x != nil { + return x.HistoryArchivalUri + } + return "" +} + +func (x *RegisterNamespaceRequest) GetVisibilityArchivalState() v11.ArchivalState { + if x != nil { + return x.VisibilityArchivalState + } + return v11.ArchivalState(0) +} + +func (x *RegisterNamespaceRequest) GetVisibilityArchivalUri() string { + if x != nil { + return x.VisibilityArchivalUri + } + return "" +} + +type RegisterNamespaceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RegisterNamespaceResponse) Reset() { + *x = RegisterNamespaceResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RegisterNamespaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RegisterNamespaceResponse) ProtoMessage() {} + +func (x *RegisterNamespaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[1] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RegisterNamespaceResponse.ProtoReflect.Descriptor instead. +func (*RegisterNamespaceResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{1} +} + +type ListNamespacesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + NamespaceFilter *v12.NamespaceFilter `protobuf:"bytes,3,opt,name=namespace_filter,json=namespaceFilter,proto3" json:"namespace_filter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNamespacesRequest) Reset() { + *x = ListNamespacesRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNamespacesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNamespacesRequest) ProtoMessage() {} + +func (x *ListNamespacesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[2] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNamespacesRequest.ProtoReflect.Descriptor instead. +func (*ListNamespacesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{2} +} + +func (x *ListNamespacesRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNamespacesRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListNamespacesRequest) GetNamespaceFilter() *v12.NamespaceFilter { + if x != nil { + return x.NamespaceFilter + } + return nil +} + +type ListNamespacesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespaces []*DescribeNamespaceResponse `protobuf:"bytes,1,rep,name=namespaces,proto3" json:"namespaces,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNamespacesResponse) Reset() { + *x = ListNamespacesResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNamespacesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNamespacesResponse) ProtoMessage() {} + +func (x *ListNamespacesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[3] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNamespacesResponse.ProtoReflect.Descriptor instead. +func (*ListNamespacesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{3} +} + +func (x *ListNamespacesResponse) GetNamespaces() []*DescribeNamespaceResponse { + if x != nil { + return x.Namespaces + } + return nil +} + +func (x *ListNamespacesResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type DescribeNamespaceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` + // If true, the server may serve the response from an eventually-consistent + // source instead of reading through to persistence. Defaults to false, + // which preserves read-after-write consistency. SDKs should set this when + // fetching namespace capabilities on worker/client startup. + WeakConsistency bool `protobuf:"varint,3,opt,name=weak_consistency,json=weakConsistency,proto3" json:"weak_consistency,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeNamespaceRequest) Reset() { + *x = DescribeNamespaceRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeNamespaceRequest) ProtoMessage() {} + +func (x *DescribeNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[4] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeNamespaceRequest.ProtoReflect.Descriptor instead. +func (*DescribeNamespaceRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{4} +} + +func (x *DescribeNamespaceRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeNamespaceRequest) GetId() string { + if x != nil { + return x.Id + } + return "" +} + +func (x *DescribeNamespaceRequest) GetWeakConsistency() bool { + if x != nil { + return x.WeakConsistency + } + return false +} + +type DescribeNamespaceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + NamespaceInfo *v12.NamespaceInfo `protobuf:"bytes,1,opt,name=namespace_info,json=namespaceInfo,proto3" json:"namespace_info,omitempty"` + Config *v12.NamespaceConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + ReplicationConfig *v1.NamespaceReplicationConfig `protobuf:"bytes,3,opt,name=replication_config,json=replicationConfig,proto3" json:"replication_config,omitempty"` + FailoverVersion int64 `protobuf:"varint,4,opt,name=failover_version,json=failoverVersion,proto3" json:"failover_version,omitempty"` + IsGlobalNamespace bool `protobuf:"varint,5,opt,name=is_global_namespace,json=isGlobalNamespace,proto3" json:"is_global_namespace,omitempty"` + // Contains the historical state of failover_versions for the cluster, truncated to contain only the last N + // states to ensure that the list does not grow unbounded. + FailoverHistory []*v1.FailoverStatus `protobuf:"bytes,6,rep,name=failover_history,json=failoverHistory,proto3" json:"failover_history,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeNamespaceResponse) Reset() { + *x = DescribeNamespaceResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeNamespaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeNamespaceResponse) ProtoMessage() {} + +func (x *DescribeNamespaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[5] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeNamespaceResponse.ProtoReflect.Descriptor instead. +func (*DescribeNamespaceResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{5} +} + +func (x *DescribeNamespaceResponse) GetNamespaceInfo() *v12.NamespaceInfo { + if x != nil { + return x.NamespaceInfo + } + return nil +} + +func (x *DescribeNamespaceResponse) GetConfig() *v12.NamespaceConfig { + if x != nil { + return x.Config + } + return nil +} + +func (x *DescribeNamespaceResponse) GetReplicationConfig() *v1.NamespaceReplicationConfig { + if x != nil { + return x.ReplicationConfig + } + return nil +} + +func (x *DescribeNamespaceResponse) GetFailoverVersion() int64 { + if x != nil { + return x.FailoverVersion + } + return 0 +} + +func (x *DescribeNamespaceResponse) GetIsGlobalNamespace() bool { + if x != nil { + return x.IsGlobalNamespace + } + return false +} + +func (x *DescribeNamespaceResponse) GetFailoverHistory() []*v1.FailoverStatus { + if x != nil { + return x.FailoverHistory + } + return nil +} + +type UpdateNamespaceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + UpdateInfo *v12.UpdateNamespaceInfo `protobuf:"bytes,2,opt,name=update_info,json=updateInfo,proto3" json:"update_info,omitempty"` + Config *v12.NamespaceConfig `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"` + ReplicationConfig *v1.NamespaceReplicationConfig `protobuf:"bytes,4,opt,name=replication_config,json=replicationConfig,proto3" json:"replication_config,omitempty"` + SecurityToken string `protobuf:"bytes,5,opt,name=security_token,json=securityToken,proto3" json:"security_token,omitempty"` + DeleteBadBinary string `protobuf:"bytes,6,opt,name=delete_bad_binary,json=deleteBadBinary,proto3" json:"delete_bad_binary,omitempty"` + // promote local namespace to global namespace. Ignored if namespace is already global namespace. + PromoteNamespace bool `protobuf:"varint,7,opt,name=promote_namespace,json=promoteNamespace,proto3" json:"promote_namespace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNamespaceRequest) Reset() { + *x = UpdateNamespaceRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNamespaceRequest) ProtoMessage() {} + +func (x *UpdateNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[6] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNamespaceRequest.ProtoReflect.Descriptor instead. +func (*UpdateNamespaceRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{6} +} + +func (x *UpdateNamespaceRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateNamespaceRequest) GetUpdateInfo() *v12.UpdateNamespaceInfo { + if x != nil { + return x.UpdateInfo + } + return nil +} + +func (x *UpdateNamespaceRequest) GetConfig() *v12.NamespaceConfig { + if x != nil { + return x.Config + } + return nil +} + +func (x *UpdateNamespaceRequest) GetReplicationConfig() *v1.NamespaceReplicationConfig { + if x != nil { + return x.ReplicationConfig + } + return nil +} + +func (x *UpdateNamespaceRequest) GetSecurityToken() string { + if x != nil { + return x.SecurityToken + } + return "" +} + +func (x *UpdateNamespaceRequest) GetDeleteBadBinary() string { + if x != nil { + return x.DeleteBadBinary + } + return "" +} + +func (x *UpdateNamespaceRequest) GetPromoteNamespace() bool { + if x != nil { + return x.PromoteNamespace + } + return false +} + +type UpdateNamespaceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + NamespaceInfo *v12.NamespaceInfo `protobuf:"bytes,1,opt,name=namespace_info,json=namespaceInfo,proto3" json:"namespace_info,omitempty"` + Config *v12.NamespaceConfig `protobuf:"bytes,2,opt,name=config,proto3" json:"config,omitempty"` + ReplicationConfig *v1.NamespaceReplicationConfig `protobuf:"bytes,3,opt,name=replication_config,json=replicationConfig,proto3" json:"replication_config,omitempty"` + FailoverVersion int64 `protobuf:"varint,4,opt,name=failover_version,json=failoverVersion,proto3" json:"failover_version,omitempty"` + IsGlobalNamespace bool `protobuf:"varint,5,opt,name=is_global_namespace,json=isGlobalNamespace,proto3" json:"is_global_namespace,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateNamespaceResponse) Reset() { + *x = UpdateNamespaceResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateNamespaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateNamespaceResponse) ProtoMessage() {} + +func (x *UpdateNamespaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[7] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateNamespaceResponse.ProtoReflect.Descriptor instead. +func (*UpdateNamespaceResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{7} +} + +func (x *UpdateNamespaceResponse) GetNamespaceInfo() *v12.NamespaceInfo { + if x != nil { + return x.NamespaceInfo + } + return nil +} + +func (x *UpdateNamespaceResponse) GetConfig() *v12.NamespaceConfig { + if x != nil { + return x.Config + } + return nil +} + +func (x *UpdateNamespaceResponse) GetReplicationConfig() *v1.NamespaceReplicationConfig { + if x != nil { + return x.ReplicationConfig + } + return nil +} + +func (x *UpdateNamespaceResponse) GetFailoverVersion() int64 { + if x != nil { + return x.FailoverVersion + } + return 0 +} + +func (x *UpdateNamespaceResponse) GetIsGlobalNamespace() bool { + if x != nil { + return x.IsGlobalNamespace + } + return false +} + +// Deprecated. +type DeprecateNamespaceRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + SecurityToken string `protobuf:"bytes,2,opt,name=security_token,json=securityToken,proto3" json:"security_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeprecateNamespaceRequest) Reset() { + *x = DeprecateNamespaceRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeprecateNamespaceRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeprecateNamespaceRequest) ProtoMessage() {} + +func (x *DeprecateNamespaceRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[8] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeprecateNamespaceRequest.ProtoReflect.Descriptor instead. +func (*DeprecateNamespaceRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{8} +} + +func (x *DeprecateNamespaceRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DeprecateNamespaceRequest) GetSecurityToken() string { + if x != nil { + return x.SecurityToken + } + return "" +} + +// Deprecated. +type DeprecateNamespaceResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeprecateNamespaceResponse) Reset() { + *x = DeprecateNamespaceResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[9] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeprecateNamespaceResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeprecateNamespaceResponse) ProtoMessage() {} + +func (x *DeprecateNamespaceResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[9] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeprecateNamespaceResponse.ProtoReflect.Descriptor instead. +func (*DeprecateNamespaceResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{9} +} + +type StartWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + WorkflowType *v13.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + TaskQueue *v14.TaskQueue `protobuf:"bytes,4,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Serialized arguments to the workflow. These are passed as arguments to the workflow function. + Input *v13.Payloads `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"` + // Total workflow execution timeout including retries and continue as new. + WorkflowExecutionTimeout *durationpb.Duration `protobuf:"bytes,6,opt,name=workflow_execution_timeout,json=workflowExecutionTimeout,proto3" json:"workflow_execution_timeout,omitempty"` + // Timeout of a single workflow run. + WorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=workflow_run_timeout,json=workflowRunTimeout,proto3" json:"workflow_run_timeout,omitempty"` + // Timeout of a single workflow task. + WorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=workflow_task_timeout,json=workflowTaskTimeout,proto3" json:"workflow_task_timeout,omitempty"` + // The identity of the client who initiated this request + Identity string `protobuf:"bytes,9,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this start request. Typically UUIDv4. + RequestId string `protobuf:"bytes,10,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Defines whether to allow re-using the workflow id from a previously *closed* workflow. + // The default policy is WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE. + // + // See `workflow_id_conflict_policy` for handling a workflow id duplication with a *running* workflow. + WorkflowIdReusePolicy v11.WorkflowIdReusePolicy `protobuf:"varint,11,opt,name=workflow_id_reuse_policy,json=workflowIdReusePolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdReusePolicy" json:"workflow_id_reuse_policy,omitempty"` + // Defines how to resolve a workflow id conflict with a *running* workflow. + // The default policy is WORKFLOW_ID_CONFLICT_POLICY_FAIL. + // + // See `workflow_id_reuse_policy` for handling a workflow id duplication with a *closed* workflow. + WorkflowIdConflictPolicy v11.WorkflowIdConflictPolicy `protobuf:"varint,22,opt,name=workflow_id_conflict_policy,json=workflowIdConflictPolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdConflictPolicy" json:"workflow_id_conflict_policy,omitempty"` + // The retry policy for the workflow. Will never exceed `workflow_execution_timeout`. + RetryPolicy *v13.RetryPolicy `protobuf:"bytes,12,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/ + CronSchedule string `protobuf:"bytes,13,opt,name=cron_schedule,json=cronSchedule,proto3" json:"cron_schedule,omitempty"` + Memo *v13.Memo `protobuf:"bytes,14,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v13.SearchAttributes `protobuf:"bytes,15,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + Header *v13.Header `protobuf:"bytes,16,opt,name=header,proto3" json:"header,omitempty"` + // Request to get the first workflow task inline in the response bypassing matching service and worker polling. + // If set to `true` the caller is expected to have a worker available and capable of processing the task. + // The returned task will be marked as started and is expected to be completed by the specified + // `workflow_task_timeout`. + RequestEagerExecution bool `protobuf:"varint,17,opt,name=request_eager_execution,json=requestEagerExecution,proto3" json:"request_eager_execution,omitempty"` + // These values will be available as ContinuedFailure and LastCompletionResult in the + // WorkflowExecutionStarted event and through SDKs. The are currently only used by the + // server itself (for the schedules feature) and are not intended to be exposed in + // StartWorkflowExecution. + ContinuedFailure *v15.Failure `protobuf:"bytes,18,opt,name=continued_failure,json=continuedFailure,proto3" json:"continued_failure,omitempty"` + LastCompletionResult *v13.Payloads `protobuf:"bytes,19,opt,name=last_completion_result,json=lastCompletionResult,proto3" json:"last_completion_result,omitempty"` + // Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`. + // If the workflow gets a signal before the delay, a workflow task will be dispatched and the rest + // of the delay will be ignored. + WorkflowStartDelay *durationpb.Duration `protobuf:"bytes,20,opt,name=workflow_start_delay,json=workflowStartDelay,proto3" json:"workflow_start_delay,omitempty"` + // Callbacks to be called by the server when this workflow reaches a terminal state. + // If the workflow continues-as-new, these callbacks will be carried over to the new execution. + // Callback addresses must be whitelisted in the server's dynamic configuration. + CompletionCallbacks []*v13.Callback `protobuf:"bytes,21,rep,name=completion_callbacks,json=completionCallbacks,proto3" json:"completion_callbacks,omitempty"` + // Metadata on the workflow if it is started. This is carried over to the WorkflowExecutionInfo + // for use by user interfaces to display the fixed as-of-start summary and details of the + // workflow. + UserMetadata *v16.UserMetadata `protobuf:"bytes,23,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + // Links to be associated with the workflow. + Links []*v13.Link `protobuf:"bytes,24,rep,name=links,proto3" json:"links,omitempty"` + // If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion. + // To unset the override after the workflow is running, use UpdateWorkflowExecutionOptions. + VersioningOverride *v17.VersioningOverride `protobuf:"bytes,25,opt,name=versioning_override,json=versioningOverride,proto3" json:"versioning_override,omitempty"` + // Defines actions to be done to the existing running workflow when the conflict policy + // WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING is used. If not set (ie., nil value) or set to a + // empty object (ie., all options with default value), it won't do anything to the existing + // running workflow. If set, it will add a history event to the running workflow. + OnConflictOptions *v17.OnConflictOptions `protobuf:"bytes,26,opt,name=on_conflict_options,json=onConflictOptions,proto3" json:"on_conflict_options,omitempty"` + // Priority metadata + Priority *v13.Priority `protobuf:"bytes,27,opt,name=priority,proto3" json:"priority,omitempty"` + // Deployment Options of the worker who will process the eager task. Passed when `request_eager_execution=true`. + EagerWorkerDeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,28,opt,name=eager_worker_deployment_options,json=eagerWorkerDeploymentOptions,proto3" json:"eager_worker_deployment_options,omitempty"` + // Time-skipping configuration. If not set, time skipping is disabled. + TimeSkippingConfig *v17.TimeSkippingConfig `protobuf:"bytes,29,opt,name=time_skipping_config,json=timeSkippingConfig,proto3" json:"time_skipping_config,omitempty"` + // Experimental: example feature only. + Foo *Foo `protobuf:"bytes,30,opt,name=foo,proto3" json:"foo,omitempty"` + FooText string `protobuf:"bytes,31,opt,name=foo_text,json=fooText,proto3" json:"foo_text,omitempty"` + FooCount int64 `protobuf:"varint,32,opt,name=foo_count,json=fooCount,proto3" json:"foo_count,omitempty"` + FooEnabled bool `protobuf:"varint,33,opt,name=foo_enabled,json=fooEnabled,proto3" json:"foo_enabled,omitempty"` + FooPayload []byte `protobuf:"bytes,34,opt,name=foo_payload,json=fooPayload,proto3" json:"foo_payload,omitempty"` + FooTags []string `protobuf:"bytes,35,rep,name=foo_tags,json=fooTags,proto3" json:"foo_tags,omitempty"` + FooNumbers []int64 `protobuf:"varint,36,rep,packed,name=foo_numbers,json=fooNumbers,proto3" json:"foo_numbers,omitempty"` + FooById map[string]*Foo `protobuf:"bytes,37,rep,name=foo_by_id,json=fooById,proto3" json:"foo_by_id,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + FooCountsById map[string]int64 `protobuf:"bytes,38,rep,name=foo_counts_by_id,json=fooCountsById,proto3" json:"foo_counts_by_id,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"` + FooPolicy v11.WorkflowIdConflictPolicy `protobuf:"varint,39,opt,name=foo_policy,json=fooPolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdConflictPolicy" json:"foo_policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartWorkflowExecutionRequest) Reset() { + *x = StartWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[10] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartWorkflowExecutionRequest) ProtoMessage() {} + +func (x *StartWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[10] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*StartWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{10} +} + +func (x *StartWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *StartWorkflowExecutionRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *StartWorkflowExecutionRequest) GetWorkflowType() *v13.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetTaskQueue() *v14.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetInput() *v13.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetWorkflowExecutionTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowExecutionTimeout + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowRunTimeout + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowTaskTimeout + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *StartWorkflowExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *StartWorkflowExecutionRequest) GetWorkflowIdReusePolicy() v11.WorkflowIdReusePolicy { + if x != nil { + return x.WorkflowIdReusePolicy + } + return v11.WorkflowIdReusePolicy(0) +} + +func (x *StartWorkflowExecutionRequest) GetWorkflowIdConflictPolicy() v11.WorkflowIdConflictPolicy { + if x != nil { + return x.WorkflowIdConflictPolicy + } + return v11.WorkflowIdConflictPolicy(0) +} + +func (x *StartWorkflowExecutionRequest) GetRetryPolicy() *v13.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetCronSchedule() string { + if x != nil { + return x.CronSchedule + } + return "" +} + +func (x *StartWorkflowExecutionRequest) GetMemo() *v13.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetSearchAttributes() *v13.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetHeader() *v13.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetRequestEagerExecution() bool { + if x != nil { + return x.RequestEagerExecution + } + return false +} + +func (x *StartWorkflowExecutionRequest) GetContinuedFailure() *v15.Failure { + if x != nil { + return x.ContinuedFailure + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetLastCompletionResult() *v13.Payloads { + if x != nil { + return x.LastCompletionResult + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetWorkflowStartDelay() *durationpb.Duration { + if x != nil { + return x.WorkflowStartDelay + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetCompletionCallbacks() []*v13.Callback { + if x != nil { + return x.CompletionCallbacks + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetUserMetadata() *v16.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetLinks() []*v13.Link { + if x != nil { + return x.Links + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetVersioningOverride() *v17.VersioningOverride { + if x != nil { + return x.VersioningOverride + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetOnConflictOptions() *v17.OnConflictOptions { + if x != nil { + return x.OnConflictOptions + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetPriority() *v13.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetEagerWorkerDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.EagerWorkerDeploymentOptions + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetTimeSkippingConfig() *v17.TimeSkippingConfig { + if x != nil { + return x.TimeSkippingConfig + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetFoo() *Foo { + if x != nil { + return x.Foo + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetFooText() string { + if x != nil { + return x.FooText + } + return "" +} + +func (x *StartWorkflowExecutionRequest) GetFooCount() int64 { + if x != nil { + return x.FooCount + } + return 0 +} + +func (x *StartWorkflowExecutionRequest) GetFooEnabled() bool { + if x != nil { + return x.FooEnabled + } + return false +} + +func (x *StartWorkflowExecutionRequest) GetFooPayload() []byte { + if x != nil { + return x.FooPayload + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetFooTags() []string { + if x != nil { + return x.FooTags + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetFooNumbers() []int64 { + if x != nil { + return x.FooNumbers + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetFooById() map[string]*Foo { + if x != nil { + return x.FooById + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetFooCountsById() map[string]int64 { + if x != nil { + return x.FooCountsById + } + return nil +} + +func (x *StartWorkflowExecutionRequest) GetFooPolicy() v11.WorkflowIdConflictPolicy { + if x != nil { + return x.FooPolicy + } + return v11.WorkflowIdConflictPolicy(0) +} + +type StartWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run id of the workflow that was started - or used (via WorkflowIdConflictPolicy USE_EXISTING). + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // If true, a new workflow was started. + Started bool `protobuf:"varint,3,opt,name=started,proto3" json:"started,omitempty"` + // Current execution status of the workflow. Typically remains WORKFLOW_EXECUTION_STATUS_RUNNING + // unless a de-dupe occurs or in specific scenarios handled within the ExecuteMultiOperation (refer to its docs). + Status v11.WorkflowExecutionStatus `protobuf:"varint,5,opt,name=status,proto3,enum=temporal.api.enums.v1.WorkflowExecutionStatus" json:"status,omitempty"` + // When `request_eager_execution` is set on the `StartWorkflowExecutionRequest`, the server - if supported - will + // return the first workflow task to be eagerly executed. + // The caller is expected to have a worker available to process the task. + EagerWorkflowTask *PollWorkflowTaskQueueResponse `protobuf:"bytes,2,opt,name=eager_workflow_task,json=eagerWorkflowTask,proto3" json:"eager_workflow_task,omitempty"` + // Link to the workflow event. + Link *v13.Link `protobuf:"bytes,4,opt,name=link,proto3" json:"link,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartWorkflowExecutionResponse) Reset() { + *x = StartWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[11] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartWorkflowExecutionResponse) ProtoMessage() {} + +func (x *StartWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[11] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*StartWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{11} +} + +func (x *StartWorkflowExecutionResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *StartWorkflowExecutionResponse) GetStarted() bool { + if x != nil { + return x.Started + } + return false +} + +func (x *StartWorkflowExecutionResponse) GetStatus() v11.WorkflowExecutionStatus { + if x != nil { + return x.Status + } + return v11.WorkflowExecutionStatus(0) +} + +func (x *StartWorkflowExecutionResponse) GetEagerWorkflowTask() *PollWorkflowTaskQueueResponse { + if x != nil { + return x.EagerWorkflowTask + } + return nil +} + +func (x *StartWorkflowExecutionResponse) GetLink() *v13.Link { + if x != nil { + return x.Link + } + return nil +} + +type GetWorkflowExecutionHistoryRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + MaximumPageSize int32 `protobuf:"varint,3,opt,name=maximum_page_size,json=maximumPageSize,proto3" json:"maximum_page_size,omitempty"` + // If a `GetWorkflowExecutionHistoryResponse` or a `PollWorkflowTaskQueueResponse` had one of + // these, it should be passed here to fetch the next page. + NextPageToken []byte `protobuf:"bytes,4,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // If set to true, the RPC call will not resolve until there is a new event which matches + // the `history_event_filter_type`, or a timeout is hit. + WaitNewEvent bool `protobuf:"varint,5,opt,name=wait_new_event,json=waitNewEvent,proto3" json:"wait_new_event,omitempty"` + // Filter returned events such that they match the specified filter type. + // Default: HISTORY_EVENT_FILTER_TYPE_ALL_EVENT. + HistoryEventFilterType v11.HistoryEventFilterType `protobuf:"varint,6,opt,name=history_event_filter_type,json=historyEventFilterType,proto3,enum=temporal.api.enums.v1.HistoryEventFilterType" json:"history_event_filter_type,omitempty"` + SkipArchival bool `protobuf:"varint,7,opt,name=skip_archival,json=skipArchival,proto3" json:"skip_archival,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowExecutionHistoryRequest) Reset() { + *x = GetWorkflowExecutionHistoryRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[12] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowExecutionHistoryRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowExecutionHistoryRequest) ProtoMessage() {} + +func (x *GetWorkflowExecutionHistoryRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[12] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowExecutionHistoryRequest.ProtoReflect.Descriptor instead. +func (*GetWorkflowExecutionHistoryRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{12} +} + +func (x *GetWorkflowExecutionHistoryRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *GetWorkflowExecutionHistoryRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *GetWorkflowExecutionHistoryRequest) GetMaximumPageSize() int32 { + if x != nil { + return x.MaximumPageSize + } + return 0 +} + +func (x *GetWorkflowExecutionHistoryRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *GetWorkflowExecutionHistoryRequest) GetWaitNewEvent() bool { + if x != nil { + return x.WaitNewEvent + } + return false +} + +func (x *GetWorkflowExecutionHistoryRequest) GetHistoryEventFilterType() v11.HistoryEventFilterType { + if x != nil { + return x.HistoryEventFilterType + } + return v11.HistoryEventFilterType(0) +} + +func (x *GetWorkflowExecutionHistoryRequest) GetSkipArchival() bool { + if x != nil { + return x.SkipArchival + } + return false +} + +type GetWorkflowExecutionHistoryResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + History *v19.History `protobuf:"bytes,1,opt,name=history,proto3" json:"history,omitempty"` + // Raw history is an alternate representation of history that may be returned if configured on + // the frontend. This is not supported by all SDKs. Either this or `history` will be set. + RawHistory []*v13.DataBlob `protobuf:"bytes,2,rep,name=raw_history,json=rawHistory,proto3" json:"raw_history,omitempty"` + // Will be set if there are more history events than were included in this response + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Archived bool `protobuf:"varint,4,opt,name=archived,proto3" json:"archived,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowExecutionHistoryResponse) Reset() { + *x = GetWorkflowExecutionHistoryResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[13] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowExecutionHistoryResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowExecutionHistoryResponse) ProtoMessage() {} + +func (x *GetWorkflowExecutionHistoryResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[13] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowExecutionHistoryResponse.ProtoReflect.Descriptor instead. +func (*GetWorkflowExecutionHistoryResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{13} +} + +func (x *GetWorkflowExecutionHistoryResponse) GetHistory() *v19.History { + if x != nil { + return x.History + } + return nil +} + +func (x *GetWorkflowExecutionHistoryResponse) GetRawHistory() []*v13.DataBlob { + if x != nil { + return x.RawHistory + } + return nil +} + +func (x *GetWorkflowExecutionHistoryResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *GetWorkflowExecutionHistoryResponse) GetArchived() bool { + if x != nil { + return x.Archived + } + return false +} + +type GetWorkflowExecutionHistoryReverseRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + MaximumPageSize int32 `protobuf:"varint,3,opt,name=maximum_page_size,json=maximumPageSize,proto3" json:"maximum_page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,4,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowExecutionHistoryReverseRequest) Reset() { + *x = GetWorkflowExecutionHistoryReverseRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[14] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowExecutionHistoryReverseRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowExecutionHistoryReverseRequest) ProtoMessage() {} + +func (x *GetWorkflowExecutionHistoryReverseRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[14] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowExecutionHistoryReverseRequest.ProtoReflect.Descriptor instead. +func (*GetWorkflowExecutionHistoryReverseRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{14} +} + +func (x *GetWorkflowExecutionHistoryReverseRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *GetWorkflowExecutionHistoryReverseRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *GetWorkflowExecutionHistoryReverseRequest) GetMaximumPageSize() int32 { + if x != nil { + return x.MaximumPageSize + } + return 0 +} + +func (x *GetWorkflowExecutionHistoryReverseRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type GetWorkflowExecutionHistoryReverseResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + History *v19.History `protobuf:"bytes,1,opt,name=history,proto3" json:"history,omitempty"` + // Will be set if there are more history events than were included in this response + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkflowExecutionHistoryReverseResponse) Reset() { + *x = GetWorkflowExecutionHistoryReverseResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[15] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkflowExecutionHistoryReverseResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkflowExecutionHistoryReverseResponse) ProtoMessage() {} + +func (x *GetWorkflowExecutionHistoryReverseResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[15] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkflowExecutionHistoryReverseResponse.ProtoReflect.Descriptor instead. +func (*GetWorkflowExecutionHistoryReverseResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{15} +} + +func (x *GetWorkflowExecutionHistoryReverseResponse) GetHistory() *v19.History { + if x != nil { + return x.History + } + return nil +} + +func (x *GetWorkflowExecutionHistoryReverseResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type PollWorkflowTaskQueueRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + TaskQueue *v14.TaskQueue `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Unless this is the first poll, the client must pass one of the poller group IDs received in + // `poller_group_infos` of the last the PollWorkflowTaskQueueResponse according to the + // instructions. If not set, the poll is routed randomly which can cause it being blocked + // without receiving a task while the queue actually has tasks in another server location. + PollerGroupId string `protobuf:"bytes,10,opt,name=poller_group_id,json=pollerGroupId,proto3" json:"poller_group_id,omitempty"` + // The identity of the worker/client who is polling this task queue + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique key for this worker instance, used for tracking worker lifecycle. + // This is guaranteed to be unique, whereas identity is not guaranteed to be unique. + WorkerInstanceKey string `protobuf:"bytes,8,opt,name=worker_instance_key,json=workerInstanceKey,proto3" json:"worker_instance_key,omitempty"` + // A dedicated per-worker Nexus task queue on which the server sends control + // tasks (e.g. activity cancellation) to this specific worker instance. + WorkerControlTaskQueue string `protobuf:"bytes,9,opt,name=worker_control_task_queue,json=workerControlTaskQueue,proto3" json:"worker_control_task_queue,omitempty"` + // Deprecated. Use deployment_options instead. + // Each worker process should provide an ID unique to the specific set of code it is running + // "checksum" in this field name isn't very accurate, it should be though of as an id. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + BinaryChecksum string `protobuf:"bytes,4,opt,name=binary_checksum,json=binaryChecksum,proto3" json:"binary_checksum,omitempty"` + // Deprecated. Use deployment_options instead. + // Information about this worker's build identifier and if it is choosing to use the versioning + // feature. See the `WorkerVersionCapabilities` docstring for more. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + WorkerVersionCapabilities *v13.WorkerVersionCapabilities `protobuf:"bytes,5,opt,name=worker_version_capabilities,json=workerVersionCapabilities,proto3" json:"worker_version_capabilities,omitempty"` + // Worker deployment options that user has set in the worker. + DeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,6,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollWorkflowTaskQueueRequest) Reset() { + *x = PollWorkflowTaskQueueRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[16] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollWorkflowTaskQueueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollWorkflowTaskQueueRequest) ProtoMessage() {} + +func (x *PollWorkflowTaskQueueRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[16] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollWorkflowTaskQueueRequest.ProtoReflect.Descriptor instead. +func (*PollWorkflowTaskQueueRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{16} +} + +func (x *PollWorkflowTaskQueueRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PollWorkflowTaskQueueRequest) GetTaskQueue() *v14.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *PollWorkflowTaskQueueRequest) GetPollerGroupId() string { + if x != nil { + return x.PollerGroupId + } + return "" +} + +func (x *PollWorkflowTaskQueueRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PollWorkflowTaskQueueRequest) GetWorkerInstanceKey() string { + if x != nil { + return x.WorkerInstanceKey + } + return "" +} + +func (x *PollWorkflowTaskQueueRequest) GetWorkerControlTaskQueue() string { + if x != nil { + return x.WorkerControlTaskQueue + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *PollWorkflowTaskQueueRequest) GetBinaryChecksum() string { + if x != nil { + return x.BinaryChecksum + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *PollWorkflowTaskQueueRequest) GetWorkerVersionCapabilities() *v13.WorkerVersionCapabilities { + if x != nil { + return x.WorkerVersionCapabilities + } + return nil +} + +func (x *PollWorkflowTaskQueueRequest) GetDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +type PollWorkflowTaskQueueResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A unique identifier for this task + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + WorkflowType *v13.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // The last workflow task started event which was processed by some worker for this execution. + // Will be zero if no task has ever started. + PreviousStartedEventId int64 `protobuf:"varint,4,opt,name=previous_started_event_id,json=previousStartedEventId,proto3" json:"previous_started_event_id,omitempty"` + // The id of the most recent workflow task started event, which will have been generated as a + // result of this poll request being served. Will be zero if the task + // does not contain any events which would advance history (no new WFT started). + // Currently this can happen for queries. + StartedEventId int64 `protobuf:"varint,5,opt,name=started_event_id,json=startedEventId,proto3" json:"started_event_id,omitempty"` + // Starting at 1, the number of attempts to complete this task by any worker. + Attempt int32 `protobuf:"varint,6,opt,name=attempt,proto3" json:"attempt,omitempty"` + // A hint that there are more tasks already present in this task queue + // partition. Can be used to prioritize draining a sticky queue. + // + // Specifically, the returned number is the number of tasks remaining in + // the in-memory buffer for this partition, which is currently capped at + // 1000. Because sticky queues only have one partition, this number is + // more useful when draining them. Normal queues, typically having more than one + // partition, will return a number representing only some portion of the + // overall backlog. Subsequent RPCs may not hit the same partition as + // this call. + BacklogCountHint int64 `protobuf:"varint,7,opt,name=backlog_count_hint,json=backlogCountHint,proto3" json:"backlog_count_hint,omitempty"` + // The history for this workflow, which will either be complete or partial. Partial histories + // are sent to workers who have signaled that they are using a sticky queue when completing + // a workflow task. + History *v19.History `protobuf:"bytes,8,opt,name=history,proto3" json:"history,omitempty"` + // Will be set if there are more history events than were included in this response. Such events + // should be fetched via `GetWorkflowExecutionHistory`. + NextPageToken []byte `protobuf:"bytes,9,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Legacy queries appear in this field. The query must be responded to via + // `RespondQueryTaskCompleted`. If the workflow is already closed (queries are permitted on + // closed workflows) then the `history` field will be populated with the entire history. It + // may also be populated if this task originates on a non-sticky queue. + Query *v110.WorkflowQuery `protobuf:"bytes,10,opt,name=query,proto3" json:"query,omitempty"` + // The task queue this task originated from, which will always be the original non-sticky name + // for the queue, even if this response came from polling a sticky queue. + WorkflowExecutionTaskQueue *v14.TaskQueue `protobuf:"bytes,11,opt,name=workflow_execution_task_queue,json=workflowExecutionTaskQueue,proto3" json:"workflow_execution_task_queue,omitempty"` + // When this task was scheduled by the server + ScheduledTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=scheduled_time,json=scheduledTime,proto3" json:"scheduled_time,omitempty"` + // When the current workflow task started event was generated, meaning the current attempt. + StartedTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=started_time,json=startedTime,proto3" json:"started_time,omitempty"` + // Queries that should be executed after applying the history in this task. Responses should be + // attached to `RespondWorkflowTaskCompletedRequest::query_results` + Queries map[string]*v110.WorkflowQuery `protobuf:"bytes,14,rep,name=queries,proto3" json:"queries,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Protocol messages piggybacking on a WFT as a transport + Messages []*v111.Message `protobuf:"bytes,15,rep,name=messages,proto3" json:"messages,omitempty"` + // Server-advised information the SDK may use to adjust its poller count. + PollerScalingDecision *v14.PollerScalingDecision `protobuf:"bytes,16,opt,name=poller_scaling_decision,json=pollerScalingDecision,proto3" json:"poller_scaling_decision,omitempty"` + // This poller group ID identifies the owner of the workflow task awaiting for query response. + // Corresponding RespondQueryTaskCompleted should pass this value for proper routing. + PollerGroupId string `protobuf:"bytes,17,opt,name=poller_group_id,json=pollerGroupId,proto3" json:"poller_group_id,omitempty"` + // The weighted list of poller groups IDs that client should use for future polls to this task + // queue. Client is expected to: + // 1. Maintain minimum number of pollers no less than the number of groups. + // 2. Try to assign the next poll to a group without any pending polls, + // 3. If every group has some pending polls, assign the next poll to a group randomly + // according to the weights. + PollerGroupInfos []*v14.PollerGroupInfo `protobuf:"bytes,18,rep,name=poller_group_infos,json=pollerGroupInfos,proto3" json:"poller_group_infos,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollWorkflowTaskQueueResponse) Reset() { + *x = PollWorkflowTaskQueueResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[17] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollWorkflowTaskQueueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollWorkflowTaskQueueResponse) ProtoMessage() {} + +func (x *PollWorkflowTaskQueueResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[17] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollWorkflowTaskQueueResponse.ProtoReflect.Descriptor instead. +func (*PollWorkflowTaskQueueResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{17} +} + +func (x *PollWorkflowTaskQueueResponse) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetWorkflowExecution() *v13.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetWorkflowType() *v13.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetPreviousStartedEventId() int64 { + if x != nil { + return x.PreviousStartedEventId + } + return 0 +} + +func (x *PollWorkflowTaskQueueResponse) GetStartedEventId() int64 { + if x != nil { + return x.StartedEventId + } + return 0 +} + +func (x *PollWorkflowTaskQueueResponse) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *PollWorkflowTaskQueueResponse) GetBacklogCountHint() int64 { + if x != nil { + return x.BacklogCountHint + } + return 0 +} + +func (x *PollWorkflowTaskQueueResponse) GetHistory() *v19.History { + if x != nil { + return x.History + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetQuery() *v110.WorkflowQuery { + if x != nil { + return x.Query + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetWorkflowExecutionTaskQueue() *v14.TaskQueue { + if x != nil { + return x.WorkflowExecutionTaskQueue + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetScheduledTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledTime + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetStartedTime() *timestamppb.Timestamp { + if x != nil { + return x.StartedTime + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetQueries() map[string]*v110.WorkflowQuery { + if x != nil { + return x.Queries + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetMessages() []*v111.Message { + if x != nil { + return x.Messages + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetPollerScalingDecision() *v14.PollerScalingDecision { + if x != nil { + return x.PollerScalingDecision + } + return nil +} + +func (x *PollWorkflowTaskQueueResponse) GetPollerGroupId() string { + if x != nil { + return x.PollerGroupId + } + return "" +} + +func (x *PollWorkflowTaskQueueResponse) GetPollerGroupInfos() []*v14.PollerGroupInfo { + if x != nil { + return x.PollerGroupInfos + } + return nil +} + +type RespondWorkflowTaskCompletedRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The task token as received in `PollWorkflowTaskQueueResponse` + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // A list of commands generated when driving the workflow code in response to the new task + Commands []*v112.Command `protobuf:"bytes,2,rep,name=commands,proto3" json:"commands,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // May be set by workers to indicate that the worker desires future tasks to be provided with + // incremental history on a sticky queue. + StickyAttributes *v14.StickyExecutionAttributes `protobuf:"bytes,4,opt,name=sticky_attributes,json=stickyAttributes,proto3" json:"sticky_attributes,omitempty"` + // If set, the worker wishes to immediately receive the next workflow task as a response to + // this completion. This can save on polling round-trips. + ReturnNewWorkflowTask bool `protobuf:"varint,5,opt,name=return_new_workflow_task,json=returnNewWorkflowTask,proto3" json:"return_new_workflow_task,omitempty"` + // Can be used to *force* creation of a new workflow task, even if no commands have resolved or + // one would not otherwise have been generated. This is used when the worker knows it is doing + // something useful, but cannot complete it within the workflow task timeout. Local activities + // which run for longer than the task timeout being the prime example. + ForceCreateNewWorkflowTask bool `protobuf:"varint,6,opt,name=force_create_new_workflow_task,json=forceCreateNewWorkflowTask,proto3" json:"force_create_new_workflow_task,omitempty"` + // Deprecated. Use `deployment_options` instead. + // Worker process' unique binary id + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + BinaryChecksum string `protobuf:"bytes,7,opt,name=binary_checksum,json=binaryChecksum,proto3" json:"binary_checksum,omitempty"` + // Responses to the `queries` field in the task being responded to + QueryResults map[string]*v110.WorkflowQueryResult `protobuf:"bytes,8,rep,name=query_results,json=queryResults,proto3" json:"query_results,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + Namespace string `protobuf:"bytes,9,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Resource ID for routing. Contains the workflow ID from the original task. + ResourceId string `protobuf:"bytes,18,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + // Version info of the worker who processed this task. This message's `build_id` field should + // always be set by SDKs. Workers opting into versioning will also set the `use_versioning` + // field to true. See message docstrings for more. + // Deprecated. Use `deployment_options` and `versioning_behavior` instead. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + WorkerVersionStamp *v13.WorkerVersionStamp `protobuf:"bytes,10,opt,name=worker_version_stamp,json=workerVersionStamp,proto3" json:"worker_version_stamp,omitempty"` + // Protocol messages piggybacking on a WFT as a transport + Messages []*v111.Message `protobuf:"bytes,11,rep,name=messages,proto3" json:"messages,omitempty"` + // Data the SDK wishes to record for itself, but server need not interpret, and does not + // directly impact workflow state. + SdkMetadata *v16.WorkflowTaskCompletedMetadata `protobuf:"bytes,12,opt,name=sdk_metadata,json=sdkMetadata,proto3" json:"sdk_metadata,omitempty"` + // Local usage data collected for metering + MeteringMetadata *v13.MeteringMetadata `protobuf:"bytes,13,opt,name=metering_metadata,json=meteringMetadata,proto3" json:"metering_metadata,omitempty"` + // All capabilities the SDK supports. + Capabilities *RespondWorkflowTaskCompletedRequest_Capabilities `protobuf:"bytes,14,opt,name=capabilities,proto3" json:"capabilities,omitempty"` + // Deployment info of the worker that completed this task. Must be present if user has set + // `WorkerDeploymentOptions` regardless of versioning being enabled or not. + // Deprecated. Replaced with `deployment_options`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Deployment *v18.Deployment `protobuf:"bytes,15,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Versioning behavior of this workflow execution as set on the worker that completed this task. + // UNSPECIFIED means versioning is not enabled in the worker. + VersioningBehavior v11.VersioningBehavior `protobuf:"varint,16,opt,name=versioning_behavior,json=versioningBehavior,proto3,enum=temporal.api.enums.v1.VersioningBehavior" json:"versioning_behavior,omitempty"` + // Worker deployment options that user has set in the worker. + DeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,17,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + // A unique key for this worker instance, used for tracking worker lifecycle. + // This is guaranteed to be unique, whereas identity is not guaranteed to be unique. + WorkerInstanceKey string `protobuf:"bytes,19,opt,name=worker_instance_key,json=workerInstanceKey,proto3" json:"worker_instance_key,omitempty"` + // A dedicated per-worker Nexus task queue on which the server sends control + // tasks (e.g. activity cancellation) to this specific worker instance. + WorkerControlTaskQueue string `protobuf:"bytes,20,opt,name=worker_control_task_queue,json=workerControlTaskQueue,proto3" json:"worker_control_task_queue,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondWorkflowTaskCompletedRequest) Reset() { + *x = RespondWorkflowTaskCompletedRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[18] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondWorkflowTaskCompletedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondWorkflowTaskCompletedRequest) ProtoMessage() {} + +func (x *RespondWorkflowTaskCompletedRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[18] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondWorkflowTaskCompletedRequest.ProtoReflect.Descriptor instead. +func (*RespondWorkflowTaskCompletedRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{18} +} + +func (x *RespondWorkflowTaskCompletedRequest) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetCommands() []*v112.Command { + if x != nil { + return x.Commands + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RespondWorkflowTaskCompletedRequest) GetStickyAttributes() *v14.StickyExecutionAttributes { + if x != nil { + return x.StickyAttributes + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetReturnNewWorkflowTask() bool { + if x != nil { + return x.ReturnNewWorkflowTask + } + return false +} + +func (x *RespondWorkflowTaskCompletedRequest) GetForceCreateNewWorkflowTask() bool { + if x != nil { + return x.ForceCreateNewWorkflowTask + } + return false +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondWorkflowTaskCompletedRequest) GetBinaryChecksum() string { + if x != nil { + return x.BinaryChecksum + } + return "" +} + +func (x *RespondWorkflowTaskCompletedRequest) GetQueryResults() map[string]*v110.WorkflowQueryResult { + if x != nil { + return x.QueryResults + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondWorkflowTaskCompletedRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondWorkflowTaskCompletedRequest) GetWorkerVersionStamp() *v13.WorkerVersionStamp { + if x != nil { + return x.WorkerVersionStamp + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetMessages() []*v111.Message { + if x != nil { + return x.Messages + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetSdkMetadata() *v16.WorkflowTaskCompletedMetadata { + if x != nil { + return x.SdkMetadata + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetMeteringMetadata() *v13.MeteringMetadata { + if x != nil { + return x.MeteringMetadata + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetCapabilities() *RespondWorkflowTaskCompletedRequest_Capabilities { + if x != nil { + return x.Capabilities + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondWorkflowTaskCompletedRequest) GetDeployment() *v18.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetVersioningBehavior() v11.VersioningBehavior { + if x != nil { + return x.VersioningBehavior + } + return v11.VersioningBehavior(0) +} + +func (x *RespondWorkflowTaskCompletedRequest) GetDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +func (x *RespondWorkflowTaskCompletedRequest) GetWorkerInstanceKey() string { + if x != nil { + return x.WorkerInstanceKey + } + return "" +} + +func (x *RespondWorkflowTaskCompletedRequest) GetWorkerControlTaskQueue() string { + if x != nil { + return x.WorkerControlTaskQueue + } + return "" +} + +type RespondWorkflowTaskCompletedResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // See `RespondWorkflowTaskCompletedResponse::return_new_workflow_task` + WorkflowTask *PollWorkflowTaskQueueResponse `protobuf:"bytes,1,opt,name=workflow_task,json=workflowTask,proto3" json:"workflow_task,omitempty"` + // See `ScheduleActivityTaskCommandAttributes::request_eager_execution` + ActivityTasks []*PollActivityTaskQueueResponse `protobuf:"bytes,2,rep,name=activity_tasks,json=activityTasks,proto3" json:"activity_tasks,omitempty"` + // If non zero, indicates the server has discarded the workflow task that was being responded to. + // Will be the event ID of the last workflow task started event in the history before the new workflow task. + // Server is only expected to discard a workflow task if it could not have modified the workflow state. + ResetHistoryEventId int64 `protobuf:"varint,3,opt,name=reset_history_event_id,json=resetHistoryEventId,proto3" json:"reset_history_event_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondWorkflowTaskCompletedResponse) Reset() { + *x = RespondWorkflowTaskCompletedResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[19] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondWorkflowTaskCompletedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondWorkflowTaskCompletedResponse) ProtoMessage() {} + +func (x *RespondWorkflowTaskCompletedResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[19] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondWorkflowTaskCompletedResponse.ProtoReflect.Descriptor instead. +func (*RespondWorkflowTaskCompletedResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{19} +} + +func (x *RespondWorkflowTaskCompletedResponse) GetWorkflowTask() *PollWorkflowTaskQueueResponse { + if x != nil { + return x.WorkflowTask + } + return nil +} + +func (x *RespondWorkflowTaskCompletedResponse) GetActivityTasks() []*PollActivityTaskQueueResponse { + if x != nil { + return x.ActivityTasks + } + return nil +} + +func (x *RespondWorkflowTaskCompletedResponse) GetResetHistoryEventId() int64 { + if x != nil { + return x.ResetHistoryEventId + } + return 0 +} + +type RespondWorkflowTaskFailedRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The task token as received in `PollWorkflowTaskQueueResponse` + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // Why did the task fail? It's important to note that many of the variants in this enum cannot + // apply to worker responses. See the type's doc for more. + Cause v11.WorkflowTaskFailedCause `protobuf:"varint,2,opt,name=cause,proto3,enum=temporal.api.enums.v1.WorkflowTaskFailedCause" json:"cause,omitempty"` + // Failure details + Failure *v15.Failure `protobuf:"bytes,3,opt,name=failure,proto3" json:"failure,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // Deprecated. Use `deployment_options` instead. + // Worker process' unique binary id + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + BinaryChecksum string `protobuf:"bytes,5,opt,name=binary_checksum,json=binaryChecksum,proto3" json:"binary_checksum,omitempty"` + Namespace string `protobuf:"bytes,6,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Resource ID for routing. Contains the workflow ID from the original task. + ResourceId string `protobuf:"bytes,11,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + // Protocol messages piggybacking on a WFT as a transport + Messages []*v111.Message `protobuf:"bytes,7,rep,name=messages,proto3" json:"messages,omitempty"` + // Version info of the worker who processed this task. This message's `build_id` field should + // always be set by SDKs. Workers opting into versioning will also set the `use_versioning` + // field to true. See message docstrings for more. + // Deprecated. Use `deployment_options` instead. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + WorkerVersion *v13.WorkerVersionStamp `protobuf:"bytes,8,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + // Deployment info of the worker that completed this task. Must be present if user has set + // `WorkerDeploymentOptions` regardless of versioning being enabled or not. + // Deprecated. Replaced with `deployment_options`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Deployment *v18.Deployment `protobuf:"bytes,9,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Worker deployment options that user has set in the worker. + DeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,10,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondWorkflowTaskFailedRequest) Reset() { + *x = RespondWorkflowTaskFailedRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[20] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondWorkflowTaskFailedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondWorkflowTaskFailedRequest) ProtoMessage() {} + +func (x *RespondWorkflowTaskFailedRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[20] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondWorkflowTaskFailedRequest.ProtoReflect.Descriptor instead. +func (*RespondWorkflowTaskFailedRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{20} +} + +func (x *RespondWorkflowTaskFailedRequest) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *RespondWorkflowTaskFailedRequest) GetCause() v11.WorkflowTaskFailedCause { + if x != nil { + return x.Cause + } + return v11.WorkflowTaskFailedCause(0) +} + +func (x *RespondWorkflowTaskFailedRequest) GetFailure() *v15.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *RespondWorkflowTaskFailedRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondWorkflowTaskFailedRequest) GetBinaryChecksum() string { + if x != nil { + return x.BinaryChecksum + } + return "" +} + +func (x *RespondWorkflowTaskFailedRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondWorkflowTaskFailedRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +func (x *RespondWorkflowTaskFailedRequest) GetMessages() []*v111.Message { + if x != nil { + return x.Messages + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondWorkflowTaskFailedRequest) GetWorkerVersion() *v13.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondWorkflowTaskFailedRequest) GetDeployment() *v18.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *RespondWorkflowTaskFailedRequest) GetDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +type RespondWorkflowTaskFailedResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondWorkflowTaskFailedResponse) Reset() { + *x = RespondWorkflowTaskFailedResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[21] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondWorkflowTaskFailedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondWorkflowTaskFailedResponse) ProtoMessage() {} + +func (x *RespondWorkflowTaskFailedResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[21] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondWorkflowTaskFailedResponse.ProtoReflect.Descriptor instead. +func (*RespondWorkflowTaskFailedResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{21} +} + +type PollActivityTaskQueueRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + TaskQueue *v14.TaskQueue `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Unless this is the first poll, the client must pass one of the poller group IDs received in + // `poller_group_infos` of the last the PollActivityTaskQueueResponse according to the + // instructions. If not set, the poll is routed randomly which can cause it being blocked + // without receiving a task while the queue actually has tasks in another server location. + PollerGroupId string `protobuf:"bytes,10,opt,name=poller_group_id,json=pollerGroupId,proto3" json:"poller_group_id,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique key for this worker instance, used for tracking worker lifecycle. + // This is guaranteed to be unique, whereas identity is not guaranteed to be unique. + WorkerInstanceKey string `protobuf:"bytes,8,opt,name=worker_instance_key,json=workerInstanceKey,proto3" json:"worker_instance_key,omitempty"` + // A dedicated per-worker Nexus task queue on which the server sends control + // tasks (e.g. activity cancellation) to this specific worker instance. + WorkerControlTaskQueue string `protobuf:"bytes,9,opt,name=worker_control_task_queue,json=workerControlTaskQueue,proto3" json:"worker_control_task_queue,omitempty"` + TaskQueueMetadata *v14.TaskQueueMetadata `protobuf:"bytes,4,opt,name=task_queue_metadata,json=taskQueueMetadata,proto3" json:"task_queue_metadata,omitempty"` + // Information about this worker's build identifier and if it is choosing to use the versioning + // feature. See the `WorkerVersionCapabilities` docstring for more. + // Deprecated. Replaced by deployment_options. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + WorkerVersionCapabilities *v13.WorkerVersionCapabilities `protobuf:"bytes,5,opt,name=worker_version_capabilities,json=workerVersionCapabilities,proto3" json:"worker_version_capabilities,omitempty"` + // Worker deployment options that user has set in the worker. + DeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,6,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollActivityTaskQueueRequest) Reset() { + *x = PollActivityTaskQueueRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[22] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollActivityTaskQueueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollActivityTaskQueueRequest) ProtoMessage() {} + +func (x *PollActivityTaskQueueRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[22] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollActivityTaskQueueRequest.ProtoReflect.Descriptor instead. +func (*PollActivityTaskQueueRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{22} +} + +func (x *PollActivityTaskQueueRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PollActivityTaskQueueRequest) GetTaskQueue() *v14.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *PollActivityTaskQueueRequest) GetPollerGroupId() string { + if x != nil { + return x.PollerGroupId + } + return "" +} + +func (x *PollActivityTaskQueueRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PollActivityTaskQueueRequest) GetWorkerInstanceKey() string { + if x != nil { + return x.WorkerInstanceKey + } + return "" +} + +func (x *PollActivityTaskQueueRequest) GetWorkerControlTaskQueue() string { + if x != nil { + return x.WorkerControlTaskQueue + } + return "" +} + +func (x *PollActivityTaskQueueRequest) GetTaskQueueMetadata() *v14.TaskQueueMetadata { + if x != nil { + return x.TaskQueueMetadata + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *PollActivityTaskQueueRequest) GetWorkerVersionCapabilities() *v13.WorkerVersionCapabilities { + if x != nil { + return x.WorkerVersionCapabilities + } + return nil +} + +func (x *PollActivityTaskQueueRequest) GetDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +type PollActivityTaskQueueResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A unique identifier for this task + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // The namespace of the activity. If this is a workflow activity then this is the namespace of + // the workflow also. If this is a standalone activity then the name of this field is + // misleading, but retained for compatibility with workflow activities. + WorkflowNamespace string `protobuf:"bytes,2,opt,name=workflow_namespace,json=workflowNamespace,proto3" json:"workflow_namespace,omitempty"` + // Type of the requesting workflow (if this is a workflow activity). + WorkflowType *v13.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // Execution info of the requesting workflow (if this is a workflow activity) + WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,4,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + ActivityType *v13.ActivityType `protobuf:"bytes,5,opt,name=activity_type,json=activityType,proto3" json:"activity_type,omitempty"` + // The autogenerated or user specified identifier of this activity. Can be used to complete the + // activity via `RespondActivityTaskCompletedById`. May be re-used as long as the last usage + // has resolved, but unique IDs for every activity invocation is a good idea. + // Note that only a workflow activity ID may be autogenerated. + ActivityId string `protobuf:"bytes,6,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Headers specified by the scheduling workflow. Commonly used to propagate contextual info + // from the workflow to its activities. For example, tracing contexts. + Header *v13.Header `protobuf:"bytes,7,opt,name=header,proto3" json:"header,omitempty"` + // Arguments to the activity invocation + Input *v13.Payloads `protobuf:"bytes,8,opt,name=input,proto3" json:"input,omitempty"` + // Details of the last heartbeat that was recorded for this activity as of the time this task + // was delivered. + HeartbeatDetails *v13.Payloads `protobuf:"bytes,9,opt,name=heartbeat_details,json=heartbeatDetails,proto3" json:"heartbeat_details,omitempty"` + // When was this task first scheduled + ScheduledTime *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=scheduled_time,json=scheduledTime,proto3" json:"scheduled_time,omitempty"` + // When was this task attempt scheduled + CurrentAttemptScheduledTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=current_attempt_scheduled_time,json=currentAttemptScheduledTime,proto3" json:"current_attempt_scheduled_time,omitempty"` + // When was this task started (this attempt) + StartedTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=started_time,json=startedTime,proto3" json:"started_time,omitempty"` + // Starting at 1, the number of attempts to perform this activity + Attempt int32 `protobuf:"varint,13,opt,name=attempt,proto3" json:"attempt,omitempty"` + // First scheduled -> final result reported timeout + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,14,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Current attempt start -> final result reported timeout + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,15,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + // Window within which the activity must report a heartbeat, or be timed out. + HeartbeatTimeout *durationpb.Duration `protobuf:"bytes,16,opt,name=heartbeat_timeout,json=heartbeatTimeout,proto3" json:"heartbeat_timeout,omitempty"` + // This is the retry policy the service uses which may be different from the one provided + // (or not) during activity scheduling. The service can override the provided one if some + // values are not specified or exceed configured system limits. + RetryPolicy *v13.RetryPolicy `protobuf:"bytes,17,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // Server-advised information the SDK may use to adjust its poller count. + PollerScalingDecision *v14.PollerScalingDecision `protobuf:"bytes,18,opt,name=poller_scaling_decision,json=pollerScalingDecision,proto3" json:"poller_scaling_decision,omitempty"` + // Priority metadata + Priority *v13.Priority `protobuf:"bytes,19,opt,name=priority,proto3" json:"priority,omitempty"` + // The run ID of the activity execution, only set for standalone activities. + ActivityRunId string `protobuf:"bytes,20,opt,name=activity_run_id,json=activityRunId,proto3" json:"activity_run_id,omitempty"` + // The weighted list of poller groups IDs that client should use for future polls to this task + // queue. Client is expected to: + // 1. Maintain minimum number of pollers no less than the number of groups. + // 2. Try to assign the next poll to a group without any pending polls, + // 3. If every group has some pending polls, assign the next poll to a group randomly + // according to the weights. + PollerGroupInfos []*v14.PollerGroupInfo `protobuf:"bytes,21,rep,name=poller_group_infos,json=pollerGroupInfos,proto3" json:"poller_group_infos,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollActivityTaskQueueResponse) Reset() { + *x = PollActivityTaskQueueResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[23] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollActivityTaskQueueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollActivityTaskQueueResponse) ProtoMessage() {} + +func (x *PollActivityTaskQueueResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[23] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollActivityTaskQueueResponse.ProtoReflect.Descriptor instead. +func (*PollActivityTaskQueueResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{23} +} + +func (x *PollActivityTaskQueueResponse) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetWorkflowNamespace() string { + if x != nil { + return x.WorkflowNamespace + } + return "" +} + +func (x *PollActivityTaskQueueResponse) GetWorkflowType() *v13.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetWorkflowExecution() *v13.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetActivityType() *v13.ActivityType { + if x != nil { + return x.ActivityType + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *PollActivityTaskQueueResponse) GetHeader() *v13.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetInput() *v13.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetHeartbeatDetails() *v13.Payloads { + if x != nil { + return x.HeartbeatDetails + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetScheduledTime() *timestamppb.Timestamp { + if x != nil { + return x.ScheduledTime + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetCurrentAttemptScheduledTime() *timestamppb.Timestamp { + if x != nil { + return x.CurrentAttemptScheduledTime + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetStartedTime() *timestamppb.Timestamp { + if x != nil { + return x.StartedTime + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetAttempt() int32 { + if x != nil { + return x.Attempt + } + return 0 +} + +func (x *PollActivityTaskQueueResponse) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetHeartbeatTimeout() *durationpb.Duration { + if x != nil { + return x.HeartbeatTimeout + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetRetryPolicy() *v13.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetPollerScalingDecision() *v14.PollerScalingDecision { + if x != nil { + return x.PollerScalingDecision + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetPriority() *v13.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *PollActivityTaskQueueResponse) GetActivityRunId() string { + if x != nil { + return x.ActivityRunId + } + return "" +} + +func (x *PollActivityTaskQueueResponse) GetPollerGroupInfos() []*v14.PollerGroupInfo { + if x != nil { + return x.PollerGroupInfos + } + return nil +} + +type RecordActivityTaskHeartbeatRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The task token as received in `PollActivityTaskQueueResponse` + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // Arbitrary data, of which the most recent call is kept, to store for this activity + Details *v13.Payloads `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Resource ID for routing. Contains the workflow ID or activity ID for standalone activities. + ResourceId string `protobuf:"bytes,5,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecordActivityTaskHeartbeatRequest) Reset() { + *x = RecordActivityTaskHeartbeatRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[24] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecordActivityTaskHeartbeatRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordActivityTaskHeartbeatRequest) ProtoMessage() {} + +func (x *RecordActivityTaskHeartbeatRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[24] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordActivityTaskHeartbeatRequest.ProtoReflect.Descriptor instead. +func (*RecordActivityTaskHeartbeatRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{24} +} + +func (x *RecordActivityTaskHeartbeatRequest) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *RecordActivityTaskHeartbeatRequest) GetDetails() *v13.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *RecordActivityTaskHeartbeatRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RecordActivityTaskHeartbeatRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RecordActivityTaskHeartbeatRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +type RecordActivityTaskHeartbeatResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Will be set to true if the activity has been asked to cancel itself. The SDK should then + // notify the activity of cancellation if it is still running. + CancelRequested bool `protobuf:"varint,1,opt,name=cancel_requested,json=cancelRequested,proto3" json:"cancel_requested,omitempty"` + // Will be set to true if the activity is paused. + ActivityPaused bool `protobuf:"varint,2,opt,name=activity_paused,json=activityPaused,proto3" json:"activity_paused,omitempty"` + // Will be set to true if the activity was reset. + // Applies only to the current run. + ActivityReset bool `protobuf:"varint,3,opt,name=activity_reset,json=activityReset,proto3" json:"activity_reset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecordActivityTaskHeartbeatResponse) Reset() { + *x = RecordActivityTaskHeartbeatResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[25] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecordActivityTaskHeartbeatResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordActivityTaskHeartbeatResponse) ProtoMessage() {} + +func (x *RecordActivityTaskHeartbeatResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[25] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordActivityTaskHeartbeatResponse.ProtoReflect.Descriptor instead. +func (*RecordActivityTaskHeartbeatResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{25} +} + +func (x *RecordActivityTaskHeartbeatResponse) GetCancelRequested() bool { + if x != nil { + return x.CancelRequested + } + return false +} + +func (x *RecordActivityTaskHeartbeatResponse) GetActivityPaused() bool { + if x != nil { + return x.ActivityPaused + } + return false +} + +func (x *RecordActivityTaskHeartbeatResponse) GetActivityReset() bool { + if x != nil { + return x.ActivityReset + } + return false +} + +type RecordActivityTaskHeartbeatByIdRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Id of the workflow which scheduled this activity, leave empty to target a standalone activity + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // For a workflow activity - the run ID of the workflow which scheduled this activity. + // For a standalone activity - the run ID of the activity. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Id of the activity we're heartbeating + ActivityId string `protobuf:"bytes,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Arbitrary data, of which the most recent call is kept, to store for this activity + Details *v13.Payloads `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,6,opt,name=identity,proto3" json:"identity,omitempty"` + // Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities. + ResourceId string `protobuf:"bytes,7,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecordActivityTaskHeartbeatByIdRequest) Reset() { + *x = RecordActivityTaskHeartbeatByIdRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[26] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecordActivityTaskHeartbeatByIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordActivityTaskHeartbeatByIdRequest) ProtoMessage() {} + +func (x *RecordActivityTaskHeartbeatByIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[26] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordActivityTaskHeartbeatByIdRequest.ProtoReflect.Descriptor instead. +func (*RecordActivityTaskHeartbeatByIdRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{26} +} + +func (x *RecordActivityTaskHeartbeatByIdRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RecordActivityTaskHeartbeatByIdRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *RecordActivityTaskHeartbeatByIdRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *RecordActivityTaskHeartbeatByIdRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *RecordActivityTaskHeartbeatByIdRequest) GetDetails() *v13.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *RecordActivityTaskHeartbeatByIdRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RecordActivityTaskHeartbeatByIdRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +type RecordActivityTaskHeartbeatByIdResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Will be set to true if the activity has been asked to cancel itself. The SDK should then + // notify the activity of cancellation if it is still running. + CancelRequested bool `protobuf:"varint,1,opt,name=cancel_requested,json=cancelRequested,proto3" json:"cancel_requested,omitempty"` + // Will be set to true if the activity is paused. + ActivityPaused bool `protobuf:"varint,2,opt,name=activity_paused,json=activityPaused,proto3" json:"activity_paused,omitempty"` + // Will be set to true if the activity was reset. + // Applies only to the current run. + ActivityReset bool `protobuf:"varint,3,opt,name=activity_reset,json=activityReset,proto3" json:"activity_reset,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecordActivityTaskHeartbeatByIdResponse) Reset() { + *x = RecordActivityTaskHeartbeatByIdResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[27] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecordActivityTaskHeartbeatByIdResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordActivityTaskHeartbeatByIdResponse) ProtoMessage() {} + +func (x *RecordActivityTaskHeartbeatByIdResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[27] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordActivityTaskHeartbeatByIdResponse.ProtoReflect.Descriptor instead. +func (*RecordActivityTaskHeartbeatByIdResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{27} +} + +func (x *RecordActivityTaskHeartbeatByIdResponse) GetCancelRequested() bool { + if x != nil { + return x.CancelRequested + } + return false +} + +func (x *RecordActivityTaskHeartbeatByIdResponse) GetActivityPaused() bool { + if x != nil { + return x.ActivityPaused + } + return false +} + +func (x *RecordActivityTaskHeartbeatByIdResponse) GetActivityReset() bool { + if x != nil { + return x.ActivityReset + } + return false +} + +type RespondActivityTaskCompletedRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The task token as received in `PollActivityTaskQueueResponse` + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // The result of successfully executing the activity + Result *v13.Payloads `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Resource ID for routing. Contains the workflow ID or activity ID for standalone activities. + ResourceId string `protobuf:"bytes,8,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + // Version info of the worker who processed this task. This message's `build_id` field should + // always be set by SDKs. Workers opting into versioning will also set the `use_versioning` + // field to true. See message docstrings for more. + // Deprecated. Use `deployment_options` instead. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + WorkerVersion *v13.WorkerVersionStamp `protobuf:"bytes,5,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + // Deployment info of the worker that completed this task. Must be present if user has set + // `WorkerDeploymentOptions` regardless of versioning being enabled or not. + // Deprecated. Replaced with `deployment_options`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Deployment *v18.Deployment `protobuf:"bytes,6,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Worker deployment options that user has set in the worker. + DeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,7,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskCompletedRequest) Reset() { + *x = RespondActivityTaskCompletedRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[28] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskCompletedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskCompletedRequest) ProtoMessage() {} + +func (x *RespondActivityTaskCompletedRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[28] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskCompletedRequest.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskCompletedRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{28} +} + +func (x *RespondActivityTaskCompletedRequest) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *RespondActivityTaskCompletedRequest) GetResult() *v13.Payloads { + if x != nil { + return x.Result + } + return nil +} + +func (x *RespondActivityTaskCompletedRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RespondActivityTaskCompletedRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondActivityTaskCompletedRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondActivityTaskCompletedRequest) GetWorkerVersion() *v13.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondActivityTaskCompletedRequest) GetDeployment() *v18.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *RespondActivityTaskCompletedRequest) GetDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +type RespondActivityTaskCompletedResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskCompletedResponse) Reset() { + *x = RespondActivityTaskCompletedResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskCompletedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskCompletedResponse) ProtoMessage() {} + +func (x *RespondActivityTaskCompletedResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskCompletedResponse.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskCompletedResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{29} +} + +type RespondActivityTaskCompletedByIdRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Id of the workflow which scheduled this activity, leave empty to target a standalone activity + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // For a workflow activity - the run ID of the workflow which scheduled this activity. + // For a standalone activity - the run ID of the activity. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Id of the activity to complete + ActivityId string `protobuf:"bytes,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // The serialized result of activity execution + Result *v13.Payloads `protobuf:"bytes,5,opt,name=result,proto3" json:"result,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,6,opt,name=identity,proto3" json:"identity,omitempty"` + // Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities. + ResourceId string `protobuf:"bytes,7,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskCompletedByIdRequest) Reset() { + *x = RespondActivityTaskCompletedByIdRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskCompletedByIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskCompletedByIdRequest) ProtoMessage() {} + +func (x *RespondActivityTaskCompletedByIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskCompletedByIdRequest.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskCompletedByIdRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{30} +} + +func (x *RespondActivityTaskCompletedByIdRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondActivityTaskCompletedByIdRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *RespondActivityTaskCompletedByIdRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *RespondActivityTaskCompletedByIdRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *RespondActivityTaskCompletedByIdRequest) GetResult() *v13.Payloads { + if x != nil { + return x.Result + } + return nil +} + +func (x *RespondActivityTaskCompletedByIdRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RespondActivityTaskCompletedByIdRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +type RespondActivityTaskCompletedByIdResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskCompletedByIdResponse) Reset() { + *x = RespondActivityTaskCompletedByIdResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[31] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskCompletedByIdResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskCompletedByIdResponse) ProtoMessage() {} + +func (x *RespondActivityTaskCompletedByIdResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[31] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskCompletedByIdResponse.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskCompletedByIdResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{31} +} + +type RespondActivityTaskFailedRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The task token as received in `PollActivityTaskQueueResponse` + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // Detailed failure information + Failure *v15.Failure `protobuf:"bytes,2,opt,name=failure,proto3" json:"failure,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Resource ID for routing. Contains the workflow ID or activity ID for standalone activities. + ResourceId string `protobuf:"bytes,9,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + // Additional details to be stored as last activity heartbeat + LastHeartbeatDetails *v13.Payloads `protobuf:"bytes,5,opt,name=last_heartbeat_details,json=lastHeartbeatDetails,proto3" json:"last_heartbeat_details,omitempty"` + // Version info of the worker who processed this task. This message's `build_id` field should + // always be set by SDKs. Workers opting into versioning will also set the `use_versioning` + // field to true. See message docstrings for more. + // Deprecated. Use `deployment_options` instead. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + WorkerVersion *v13.WorkerVersionStamp `protobuf:"bytes,6,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + // Deployment info of the worker that completed this task. Must be present if user has set + // `WorkerDeploymentOptions` regardless of versioning being enabled or not. + // Deprecated. Replaced with `deployment_options`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Deployment *v18.Deployment `protobuf:"bytes,7,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Worker deployment options that user has set in the worker. + DeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,8,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskFailedRequest) Reset() { + *x = RespondActivityTaskFailedRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[32] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskFailedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskFailedRequest) ProtoMessage() {} + +func (x *RespondActivityTaskFailedRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[32] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskFailedRequest.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskFailedRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{32} +} + +func (x *RespondActivityTaskFailedRequest) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *RespondActivityTaskFailedRequest) GetFailure() *v15.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *RespondActivityTaskFailedRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RespondActivityTaskFailedRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondActivityTaskFailedRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +func (x *RespondActivityTaskFailedRequest) GetLastHeartbeatDetails() *v13.Payloads { + if x != nil { + return x.LastHeartbeatDetails + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondActivityTaskFailedRequest) GetWorkerVersion() *v13.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondActivityTaskFailedRequest) GetDeployment() *v18.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *RespondActivityTaskFailedRequest) GetDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +type RespondActivityTaskFailedResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Server validation failures could include + // last_heartbeat_details payload is too large, request failure is too large + Failures []*v15.Failure `protobuf:"bytes,1,rep,name=failures,proto3" json:"failures,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskFailedResponse) Reset() { + *x = RespondActivityTaskFailedResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[33] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskFailedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskFailedResponse) ProtoMessage() {} + +func (x *RespondActivityTaskFailedResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[33] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskFailedResponse.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskFailedResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{33} +} + +func (x *RespondActivityTaskFailedResponse) GetFailures() []*v15.Failure { + if x != nil { + return x.Failures + } + return nil +} + +type RespondActivityTaskFailedByIdRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Id of the workflow which scheduled this activity, leave empty to target a standalone activity + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // For a workflow activity - the run ID of the workflow which scheduled this activity. + // For a standalone activity - the run ID of the activity. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Id of the activity to fail + ActivityId string `protobuf:"bytes,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Detailed failure information + Failure *v15.Failure `protobuf:"bytes,5,opt,name=failure,proto3" json:"failure,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,6,opt,name=identity,proto3" json:"identity,omitempty"` + // Additional details to be stored as last activity heartbeat + LastHeartbeatDetails *v13.Payloads `protobuf:"bytes,7,opt,name=last_heartbeat_details,json=lastHeartbeatDetails,proto3" json:"last_heartbeat_details,omitempty"` + // Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities. + ResourceId string `protobuf:"bytes,8,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskFailedByIdRequest) Reset() { + *x = RespondActivityTaskFailedByIdRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[34] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskFailedByIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskFailedByIdRequest) ProtoMessage() {} + +func (x *RespondActivityTaskFailedByIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[34] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskFailedByIdRequest.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskFailedByIdRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{34} +} + +func (x *RespondActivityTaskFailedByIdRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondActivityTaskFailedByIdRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *RespondActivityTaskFailedByIdRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *RespondActivityTaskFailedByIdRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *RespondActivityTaskFailedByIdRequest) GetFailure() *v15.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *RespondActivityTaskFailedByIdRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RespondActivityTaskFailedByIdRequest) GetLastHeartbeatDetails() *v13.Payloads { + if x != nil { + return x.LastHeartbeatDetails + } + return nil +} + +func (x *RespondActivityTaskFailedByIdRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +type RespondActivityTaskFailedByIdResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Server validation failures could include + // last_heartbeat_details payload is too large, request failure is too large + Failures []*v15.Failure `protobuf:"bytes,1,rep,name=failures,proto3" json:"failures,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskFailedByIdResponse) Reset() { + *x = RespondActivityTaskFailedByIdResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[35] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskFailedByIdResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskFailedByIdResponse) ProtoMessage() {} + +func (x *RespondActivityTaskFailedByIdResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[35] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskFailedByIdResponse.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskFailedByIdResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{35} +} + +func (x *RespondActivityTaskFailedByIdResponse) GetFailures() []*v15.Failure { + if x != nil { + return x.Failures + } + return nil +} + +type RespondActivityTaskCanceledRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The task token as received in `PollActivityTaskQueueResponse` + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // Serialized additional information to attach to the cancellation + Details *v13.Payloads `protobuf:"bytes,2,opt,name=details,proto3" json:"details,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + Namespace string `protobuf:"bytes,4,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Resource ID for routing. Contains the workflow ID or activity ID for standalone activities. + ResourceId string `protobuf:"bytes,8,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + // Version info of the worker who processed this task. This message's `build_id` field should + // always be set by SDKs. Workers opting into versioning will also set the `use_versioning` + // field to true. See message docstrings for more. + // Deprecated. Use `deployment_options` instead. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + WorkerVersion *v13.WorkerVersionStamp `protobuf:"bytes,5,opt,name=worker_version,json=workerVersion,proto3" json:"worker_version,omitempty"` + // Deployment info of the worker that completed this task. Must be present if user has set + // `WorkerDeploymentOptions` regardless of versioning being enabled or not. + // Deprecated. Replaced with `deployment_options`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Deployment *v18.Deployment `protobuf:"bytes,6,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Worker deployment options that user has set in the worker. + DeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,7,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskCanceledRequest) Reset() { + *x = RespondActivityTaskCanceledRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[36] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskCanceledRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskCanceledRequest) ProtoMessage() {} + +func (x *RespondActivityTaskCanceledRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[36] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskCanceledRequest.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskCanceledRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{36} +} + +func (x *RespondActivityTaskCanceledRequest) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *RespondActivityTaskCanceledRequest) GetDetails() *v13.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *RespondActivityTaskCanceledRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RespondActivityTaskCanceledRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondActivityTaskCanceledRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondActivityTaskCanceledRequest) GetWorkerVersion() *v13.WorkerVersionStamp { + if x != nil { + return x.WorkerVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondActivityTaskCanceledRequest) GetDeployment() *v18.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *RespondActivityTaskCanceledRequest) GetDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +type RespondActivityTaskCanceledResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskCanceledResponse) Reset() { + *x = RespondActivityTaskCanceledResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[37] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskCanceledResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskCanceledResponse) ProtoMessage() {} + +func (x *RespondActivityTaskCanceledResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[37] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskCanceledResponse.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskCanceledResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{37} +} + +type RespondActivityTaskCanceledByIdRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Id of the workflow which scheduled this activity, leave empty to target a standalone activity + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // For a workflow activity - the run ID of the workflow which scheduled this activity. + // For a standalone activity - the run ID of the activity. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Id of the activity to confirm is cancelled + ActivityId string `protobuf:"bytes,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Serialized additional information to attach to the cancellation + Details *v13.Payloads `protobuf:"bytes,5,opt,name=details,proto3" json:"details,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,6,opt,name=identity,proto3" json:"identity,omitempty"` + // Worker deployment options that user has set in the worker. + DeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,7,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + // Resource ID for routing. Contains "workflow:workflow_id" or "activity:activity_id" for standalone activities. + ResourceId string `protobuf:"bytes,8,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskCanceledByIdRequest) Reset() { + *x = RespondActivityTaskCanceledByIdRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[38] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskCanceledByIdRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskCanceledByIdRequest) ProtoMessage() {} + +func (x *RespondActivityTaskCanceledByIdRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[38] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskCanceledByIdRequest.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskCanceledByIdRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{38} +} + +func (x *RespondActivityTaskCanceledByIdRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondActivityTaskCanceledByIdRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *RespondActivityTaskCanceledByIdRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *RespondActivityTaskCanceledByIdRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *RespondActivityTaskCanceledByIdRequest) GetDetails() *v13.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *RespondActivityTaskCanceledByIdRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RespondActivityTaskCanceledByIdRequest) GetDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +func (x *RespondActivityTaskCanceledByIdRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +type RespondActivityTaskCanceledByIdResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondActivityTaskCanceledByIdResponse) Reset() { + *x = RespondActivityTaskCanceledByIdResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[39] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondActivityTaskCanceledByIdResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondActivityTaskCanceledByIdResponse) ProtoMessage() {} + +func (x *RespondActivityTaskCanceledByIdResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[39] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondActivityTaskCanceledByIdResponse.ProtoReflect.Descriptor instead. +func (*RespondActivityTaskCanceledByIdResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{39} +} + +type RequestCancelWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // Used to de-dupe cancellation requests + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // If set, this call will error if the most recent (if no run id is set on + // `workflow_execution`), or specified (if it is) workflow execution is not part of the same + // execution chain as this id. + FirstExecutionRunId string `protobuf:"bytes,5,opt,name=first_execution_run_id,json=firstExecutionRunId,proto3" json:"first_execution_run_id,omitempty"` + // Reason for requesting the cancellation + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + // Links to be associated with the WorkflowExecutionCanceled event. + Links []*v13.Link `protobuf:"bytes,7,rep,name=links,proto3" json:"links,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelWorkflowExecutionRequest) Reset() { + *x = RequestCancelWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[40] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelWorkflowExecutionRequest) ProtoMessage() {} + +func (x *RequestCancelWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[40] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*RequestCancelWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{40} +} + +func (x *RequestCancelWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RequestCancelWorkflowExecutionRequest) GetWorkflowExecution() *v13.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *RequestCancelWorkflowExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RequestCancelWorkflowExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *RequestCancelWorkflowExecutionRequest) GetFirstExecutionRunId() string { + if x != nil { + return x.FirstExecutionRunId + } + return "" +} + +func (x *RequestCancelWorkflowExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *RequestCancelWorkflowExecutionRequest) GetLinks() []*v13.Link { + if x != nil { + return x.Links + } + return nil +} + +type RequestCancelWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelWorkflowExecutionResponse) Reset() { + *x = RequestCancelWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[41] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelWorkflowExecutionResponse) ProtoMessage() {} + +func (x *RequestCancelWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[41] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*RequestCancelWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{41} +} + +// Keep the parameters in sync with: +// - temporal.api.batch.v1.BatchOperationSignal. +// - temporal.api.workflow.v1.PostResetOperation.SignalWorkflow. +type SignalWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + // The workflow author-defined name of the signal to send to the workflow + SignalName string `protobuf:"bytes,3,opt,name=signal_name,json=signalName,proto3" json:"signal_name,omitempty"` + // Serialized value(s) to provide with the signal + Input *v13.Payloads `protobuf:"bytes,4,opt,name=input,proto3" json:"input,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // Used to de-dupe sent signals + RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Control string `protobuf:"bytes,7,opt,name=control,proto3" json:"control,omitempty"` + // Headers that are passed with the signal to the processing workflow. + // These can include things like auth or tracing tokens. + Header *v13.Header `protobuf:"bytes,8,opt,name=header,proto3" json:"header,omitempty"` + // Links to be associated with the WorkflowExecutionSignaled event. + Links []*v13.Link `protobuf:"bytes,10,rep,name=links,proto3" json:"links,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignalWorkflowExecutionRequest) Reset() { + *x = SignalWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[42] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignalWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignalWorkflowExecutionRequest) ProtoMessage() {} + +func (x *SignalWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[42] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignalWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*SignalWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{42} +} + +func (x *SignalWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *SignalWorkflowExecutionRequest) GetWorkflowExecution() *v13.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *SignalWorkflowExecutionRequest) GetSignalName() string { + if x != nil { + return x.SignalName + } + return "" +} + +func (x *SignalWorkflowExecutionRequest) GetInput() *v13.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *SignalWorkflowExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *SignalWorkflowExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SignalWorkflowExecutionRequest) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +func (x *SignalWorkflowExecutionRequest) GetHeader() *v13.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *SignalWorkflowExecutionRequest) GetLinks() []*v13.Link { + if x != nil { + return x.Links + } + return nil +} + +type SignalWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Link to be associated with the WorkflowExecutionSignaled event. + // Added on the response to propagate the backlink. + // Available from Temporal server 1.31 and up. + Link *v13.Link `protobuf:"bytes,1,opt,name=link,proto3" json:"link,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignalWorkflowExecutionResponse) Reset() { + *x = SignalWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[43] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignalWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignalWorkflowExecutionResponse) ProtoMessage() {} + +func (x *SignalWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[43] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignalWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*SignalWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{43} +} + +func (x *SignalWorkflowExecutionResponse) GetLink() *v13.Link { + if x != nil { + return x.Link + } + return nil +} + +type SignalWithStartWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + WorkflowType *v13.WorkflowType `protobuf:"bytes,3,opt,name=workflow_type,json=workflowType,proto3" json:"workflow_type,omitempty"` + // The task queue to start this workflow on, if it will be started + TaskQueue *v14.TaskQueue `protobuf:"bytes,4,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Serialized arguments to the workflow. These are passed as arguments to the workflow function. + Input *v13.Payloads `protobuf:"bytes,5,opt,name=input,proto3" json:"input,omitempty"` + // Total workflow execution timeout including retries and continue as new + WorkflowExecutionTimeout *durationpb.Duration `protobuf:"bytes,6,opt,name=workflow_execution_timeout,json=workflowExecutionTimeout,proto3" json:"workflow_execution_timeout,omitempty"` + // Timeout of a single workflow run + WorkflowRunTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=workflow_run_timeout,json=workflowRunTimeout,proto3" json:"workflow_run_timeout,omitempty"` + // Timeout of a single workflow task + WorkflowTaskTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=workflow_task_timeout,json=workflowTaskTimeout,proto3" json:"workflow_task_timeout,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,9,opt,name=identity,proto3" json:"identity,omitempty"` + // Used to de-dupe signal w/ start requests + RequestId string `protobuf:"bytes,10,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Defines whether to allow re-using the workflow id from a previously *closed* workflow. + // The default policy is WORKFLOW_ID_REUSE_POLICY_ALLOW_DUPLICATE. + // + // See `workflow_id_reuse_policy` for handling a workflow id duplication with a *running* workflow. + WorkflowIdReusePolicy v11.WorkflowIdReusePolicy `protobuf:"varint,11,opt,name=workflow_id_reuse_policy,json=workflowIdReusePolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdReusePolicy" json:"workflow_id_reuse_policy,omitempty"` + // Defines how to resolve a workflow id conflict with a *running* workflow. + // The default policy is WORKFLOW_ID_CONFLICT_POLICY_USE_EXISTING. + // Note that WORKFLOW_ID_CONFLICT_POLICY_FAIL is an invalid option. + // + // See `workflow_id_reuse_policy` for handling a workflow id duplication with a *closed* workflow. + WorkflowIdConflictPolicy v11.WorkflowIdConflictPolicy `protobuf:"varint,22,opt,name=workflow_id_conflict_policy,json=workflowIdConflictPolicy,proto3,enum=temporal.api.enums.v1.WorkflowIdConflictPolicy" json:"workflow_id_conflict_policy,omitempty"` + // The workflow author-defined name of the signal to send to the workflow + SignalName string `protobuf:"bytes,12,opt,name=signal_name,json=signalName,proto3" json:"signal_name,omitempty"` + // Serialized value(s) to provide with the signal + SignalInput *v13.Payloads `protobuf:"bytes,13,opt,name=signal_input,json=signalInput,proto3" json:"signal_input,omitempty"` + // Deprecated. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Control string `protobuf:"bytes,14,opt,name=control,proto3" json:"control,omitempty"` + // Retry policy for the workflow + RetryPolicy *v13.RetryPolicy `protobuf:"bytes,15,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // See https://docs.temporal.io/docs/content/what-is-a-temporal-cron-job/ + CronSchedule string `protobuf:"bytes,16,opt,name=cron_schedule,json=cronSchedule,proto3" json:"cron_schedule,omitempty"` + Memo *v13.Memo `protobuf:"bytes,17,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v13.SearchAttributes `protobuf:"bytes,18,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + Header *v13.Header `protobuf:"bytes,19,opt,name=header,proto3" json:"header,omitempty"` + // Time to wait before dispatching the first workflow task. Cannot be used with `cron_schedule`. + // Note that the signal will be delivered with the first workflow task. If the workflow gets + // another SignalWithStartWorkflow before the delay a workflow task will be dispatched immediately + // and the rest of the delay period will be ignored, even if that request also had a delay. + // Signal via SignalWorkflowExecution will not unblock the workflow. + WorkflowStartDelay *durationpb.Duration `protobuf:"bytes,20,opt,name=workflow_start_delay,json=workflowStartDelay,proto3" json:"workflow_start_delay,omitempty"` + // Metadata on the workflow if it is started. This is carried over to the WorkflowExecutionInfo + // for use by user interfaces to display the fixed as-of-start summary and details of the + // workflow. + UserMetadata *v16.UserMetadata `protobuf:"bytes,23,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + // Links to be associated with the WorkflowExecutionStarted and WorkflowExecutionSignaled events. + Links []*v13.Link `protobuf:"bytes,24,rep,name=links,proto3" json:"links,omitempty"` + // If set, takes precedence over the Versioning Behavior sent by the SDK on Workflow Task completion. + // To unset the override after the workflow is running, use UpdateWorkflowExecutionOptions. + VersioningOverride *v17.VersioningOverride `protobuf:"bytes,25,opt,name=versioning_override,json=versioningOverride,proto3" json:"versioning_override,omitempty"` + // Priority metadata + Priority *v13.Priority `protobuf:"bytes,26,opt,name=priority,proto3" json:"priority,omitempty"` + // Time-skipping configuration. If not set, time skipping is disabled. + TimeSkippingConfig *v17.TimeSkippingConfig `protobuf:"bytes,27,opt,name=time_skipping_config,json=timeSkippingConfig,proto3" json:"time_skipping_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignalWithStartWorkflowExecutionRequest) Reset() { + *x = SignalWithStartWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[44] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignalWithStartWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignalWithStartWorkflowExecutionRequest) ProtoMessage() {} + +func (x *SignalWithStartWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[44] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignalWithStartWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*SignalWithStartWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{44} +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetWorkflowType() *v13.WorkflowType { + if x != nil { + return x.WorkflowType + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetTaskQueue() *v14.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetInput() *v13.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetWorkflowExecutionTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowExecutionTimeout + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetWorkflowRunTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowRunTimeout + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetWorkflowTaskTimeout() *durationpb.Duration { + if x != nil { + return x.WorkflowTaskTimeout + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetWorkflowIdReusePolicy() v11.WorkflowIdReusePolicy { + if x != nil { + return x.WorkflowIdReusePolicy + } + return v11.WorkflowIdReusePolicy(0) +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetWorkflowIdConflictPolicy() v11.WorkflowIdConflictPolicy { + if x != nil { + return x.WorkflowIdConflictPolicy + } + return v11.WorkflowIdConflictPolicy(0) +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetSignalName() string { + if x != nil { + return x.SignalName + } + return "" +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetSignalInput() *v13.Payloads { + if x != nil { + return x.SignalInput + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SignalWithStartWorkflowExecutionRequest) GetControl() string { + if x != nil { + return x.Control + } + return "" +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetRetryPolicy() *v13.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetCronSchedule() string { + if x != nil { + return x.CronSchedule + } + return "" +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetMemo() *v13.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetSearchAttributes() *v13.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetHeader() *v13.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetWorkflowStartDelay() *durationpb.Duration { + if x != nil { + return x.WorkflowStartDelay + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetUserMetadata() *v16.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetLinks() []*v13.Link { + if x != nil { + return x.Links + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetVersioningOverride() *v17.VersioningOverride { + if x != nil { + return x.VersioningOverride + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetPriority() *v13.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *SignalWithStartWorkflowExecutionRequest) GetTimeSkippingConfig() *v17.TimeSkippingConfig { + if x != nil { + return x.TimeSkippingConfig + } + return nil +} + +type SignalWithStartWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run id of the workflow that was started - or just signaled, if it was already running. + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // If true, a new workflow was started. + Started bool `protobuf:"varint,2,opt,name=started,proto3" json:"started,omitempty"` + // Link to be associated with the WorkflowExecutionSignaled event. + // Added on the response to propagate the backlink. + // Available from Temporal server 1.31 and up. + SignalLink *v13.Link `protobuf:"bytes,3,opt,name=signal_link,json=signalLink,proto3" json:"signal_link,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SignalWithStartWorkflowExecutionResponse) Reset() { + *x = SignalWithStartWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[45] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SignalWithStartWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SignalWithStartWorkflowExecutionResponse) ProtoMessage() {} + +func (x *SignalWithStartWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[45] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SignalWithStartWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*SignalWithStartWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{45} +} + +func (x *SignalWithStartWorkflowExecutionResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *SignalWithStartWorkflowExecutionResponse) GetStarted() bool { + if x != nil { + return x.Started + } + return false +} + +func (x *SignalWithStartWorkflowExecutionResponse) GetSignalLink() *v13.Link { + if x != nil { + return x.SignalLink + } + return nil +} + +type ResetWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The workflow to reset. If this contains a run ID then the workflow will be reset back to the + // provided event ID in that run. Otherwise it will be reset to the provided event ID in the + // current run. In all cases the current run will be terminated and a new run started. + WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + // The id of a `WORKFLOW_TASK_COMPLETED`,`WORKFLOW_TASK_TIMED_OUT`, `WORKFLOW_TASK_FAILED`, or + // `WORKFLOW_TASK_STARTED` event to reset to. + WorkflowTaskFinishEventId int64 `protobuf:"varint,4,opt,name=workflow_task_finish_event_id,json=workflowTaskFinishEventId,proto3" json:"workflow_task_finish_event_id,omitempty"` + // Used to de-dupe reset requests + RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Deprecated. Use `options`. + // Default: RESET_REAPPLY_TYPE_SIGNAL + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + ResetReapplyType v11.ResetReapplyType `protobuf:"varint,6,opt,name=reset_reapply_type,json=resetReapplyType,proto3,enum=temporal.api.enums.v1.ResetReapplyType" json:"reset_reapply_type,omitempty"` + // Event types not to be reapplied + ResetReapplyExcludeTypes []v11.ResetReapplyExcludeType `protobuf:"varint,7,rep,packed,name=reset_reapply_exclude_types,json=resetReapplyExcludeTypes,proto3,enum=temporal.api.enums.v1.ResetReapplyExcludeType" json:"reset_reapply_exclude_types,omitempty"` + // Operations to perform after the workflow has been reset. These operations will be applied + // to the *new* run of the workflow execution in the order they are provided. + // All operations are applied to the workflow before the first new workflow task is generated + PostResetOperations []*v17.PostResetOperation `protobuf:"bytes,8,rep,name=post_reset_operations,json=postResetOperations,proto3" json:"post_reset_operations,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,9,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetWorkflowExecutionRequest) Reset() { + *x = ResetWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[46] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetWorkflowExecutionRequest) ProtoMessage() {} + +func (x *ResetWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[46] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*ResetWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{46} +} + +func (x *ResetWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ResetWorkflowExecutionRequest) GetWorkflowExecution() *v13.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *ResetWorkflowExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *ResetWorkflowExecutionRequest) GetWorkflowTaskFinishEventId() int64 { + if x != nil { + return x.WorkflowTaskFinishEventId + } + return 0 +} + +func (x *ResetWorkflowExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *ResetWorkflowExecutionRequest) GetResetReapplyType() v11.ResetReapplyType { + if x != nil { + return x.ResetReapplyType + } + return v11.ResetReapplyType(0) +} + +func (x *ResetWorkflowExecutionRequest) GetResetReapplyExcludeTypes() []v11.ResetReapplyExcludeType { + if x != nil { + return x.ResetReapplyExcludeTypes + } + return nil +} + +func (x *ResetWorkflowExecutionRequest) GetPostResetOperations() []*v17.PostResetOperation { + if x != nil { + return x.PostResetOperations + } + return nil +} + +func (x *ResetWorkflowExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type ResetWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetWorkflowExecutionResponse) Reset() { + *x = ResetWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[47] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetWorkflowExecutionResponse) ProtoMessage() {} + +func (x *ResetWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[47] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*ResetWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{47} +} + +func (x *ResetWorkflowExecutionResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +type TerminateWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + // Serialized additional information to attach to the termination event + Details *v13.Payloads `protobuf:"bytes,4,opt,name=details,proto3" json:"details,omitempty"` + // The identity of the worker/client + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // If set, this call will error if the most recent (if no run id is set on + // `workflow_execution`), or specified (if it is) workflow execution is not part of the same + // execution chain as this id. + FirstExecutionRunId string `protobuf:"bytes,6,opt,name=first_execution_run_id,json=firstExecutionRunId,proto3" json:"first_execution_run_id,omitempty"` + // Links to be associated with the WorkflowExecutionTerminated event. + Links []*v13.Link `protobuf:"bytes,7,rep,name=links,proto3" json:"links,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TerminateWorkflowExecutionRequest) Reset() { + *x = TerminateWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[48] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TerminateWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminateWorkflowExecutionRequest) ProtoMessage() {} + +func (x *TerminateWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[48] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TerminateWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*TerminateWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{48} +} + +func (x *TerminateWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *TerminateWorkflowExecutionRequest) GetWorkflowExecution() *v13.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *TerminateWorkflowExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *TerminateWorkflowExecutionRequest) GetDetails() *v13.Payloads { + if x != nil { + return x.Details + } + return nil +} + +func (x *TerminateWorkflowExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *TerminateWorkflowExecutionRequest) GetFirstExecutionRunId() string { + if x != nil { + return x.FirstExecutionRunId + } + return "" +} + +func (x *TerminateWorkflowExecutionRequest) GetLinks() []*v13.Link { + if x != nil { + return x.Links + } + return nil +} + +type TerminateWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TerminateWorkflowExecutionResponse) Reset() { + *x = TerminateWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[49] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TerminateWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminateWorkflowExecutionResponse) ProtoMessage() {} + +func (x *TerminateWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[49] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TerminateWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*TerminateWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{49} +} + +type DeleteWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Workflow Execution to delete. If run_id is not specified, the latest one is used. + WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkflowExecutionRequest) Reset() { + *x = DeleteWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[50] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkflowExecutionRequest) ProtoMessage() {} + +func (x *DeleteWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[50] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{50} +} + +func (x *DeleteWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DeleteWorkflowExecutionRequest) GetWorkflowExecution() *v13.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +type DeleteWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkflowExecutionResponse) Reset() { + *x = DeleteWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[51] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkflowExecutionResponse) ProtoMessage() {} + +func (x *DeleteWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[51] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*DeleteWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{51} +} + +type ListOpenWorkflowExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + MaximumPageSize int32 `protobuf:"varint,2,opt,name=maximum_page_size,json=maximumPageSize,proto3" json:"maximum_page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + StartTimeFilter *v113.StartTimeFilter `protobuf:"bytes,4,opt,name=start_time_filter,json=startTimeFilter,proto3" json:"start_time_filter,omitempty"` + // Types that are valid to be assigned to Filters: + // + // *ListOpenWorkflowExecutionsRequest_ExecutionFilter + // *ListOpenWorkflowExecutionsRequest_TypeFilter + Filters isListOpenWorkflowExecutionsRequest_Filters `protobuf_oneof:"filters"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListOpenWorkflowExecutionsRequest) Reset() { + *x = ListOpenWorkflowExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[52] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListOpenWorkflowExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOpenWorkflowExecutionsRequest) ProtoMessage() {} + +func (x *ListOpenWorkflowExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[52] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListOpenWorkflowExecutionsRequest.ProtoReflect.Descriptor instead. +func (*ListOpenWorkflowExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{52} +} + +func (x *ListOpenWorkflowExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListOpenWorkflowExecutionsRequest) GetMaximumPageSize() int32 { + if x != nil { + return x.MaximumPageSize + } + return 0 +} + +func (x *ListOpenWorkflowExecutionsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListOpenWorkflowExecutionsRequest) GetStartTimeFilter() *v113.StartTimeFilter { + if x != nil { + return x.StartTimeFilter + } + return nil +} + +func (x *ListOpenWorkflowExecutionsRequest) GetFilters() isListOpenWorkflowExecutionsRequest_Filters { + if x != nil { + return x.Filters + } + return nil +} + +func (x *ListOpenWorkflowExecutionsRequest) GetExecutionFilter() *v113.WorkflowExecutionFilter { + if x != nil { + if x, ok := x.Filters.(*ListOpenWorkflowExecutionsRequest_ExecutionFilter); ok { + return x.ExecutionFilter + } + } + return nil +} + +func (x *ListOpenWorkflowExecutionsRequest) GetTypeFilter() *v113.WorkflowTypeFilter { + if x != nil { + if x, ok := x.Filters.(*ListOpenWorkflowExecutionsRequest_TypeFilter); ok { + return x.TypeFilter + } + } + return nil +} + +type isListOpenWorkflowExecutionsRequest_Filters interface { + isListOpenWorkflowExecutionsRequest_Filters() +} + +type ListOpenWorkflowExecutionsRequest_ExecutionFilter struct { + ExecutionFilter *v113.WorkflowExecutionFilter `protobuf:"bytes,5,opt,name=execution_filter,json=executionFilter,proto3,oneof"` +} + +type ListOpenWorkflowExecutionsRequest_TypeFilter struct { + TypeFilter *v113.WorkflowTypeFilter `protobuf:"bytes,6,opt,name=type_filter,json=typeFilter,proto3,oneof"` +} + +func (*ListOpenWorkflowExecutionsRequest_ExecutionFilter) isListOpenWorkflowExecutionsRequest_Filters() { +} + +func (*ListOpenWorkflowExecutionsRequest_TypeFilter) isListOpenWorkflowExecutionsRequest_Filters() {} + +type ListOpenWorkflowExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Executions []*v17.WorkflowExecutionInfo `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListOpenWorkflowExecutionsResponse) Reset() { + *x = ListOpenWorkflowExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[53] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListOpenWorkflowExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListOpenWorkflowExecutionsResponse) ProtoMessage() {} + +func (x *ListOpenWorkflowExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[53] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListOpenWorkflowExecutionsResponse.ProtoReflect.Descriptor instead. +func (*ListOpenWorkflowExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{53} +} + +func (x *ListOpenWorkflowExecutionsResponse) GetExecutions() []*v17.WorkflowExecutionInfo { + if x != nil { + return x.Executions + } + return nil +} + +func (x *ListOpenWorkflowExecutionsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type ListClosedWorkflowExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + MaximumPageSize int32 `protobuf:"varint,2,opt,name=maximum_page_size,json=maximumPageSize,proto3" json:"maximum_page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + StartTimeFilter *v113.StartTimeFilter `protobuf:"bytes,4,opt,name=start_time_filter,json=startTimeFilter,proto3" json:"start_time_filter,omitempty"` + // Types that are valid to be assigned to Filters: + // + // *ListClosedWorkflowExecutionsRequest_ExecutionFilter + // *ListClosedWorkflowExecutionsRequest_TypeFilter + // *ListClosedWorkflowExecutionsRequest_StatusFilter + Filters isListClosedWorkflowExecutionsRequest_Filters `protobuf_oneof:"filters"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListClosedWorkflowExecutionsRequest) Reset() { + *x = ListClosedWorkflowExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[54] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListClosedWorkflowExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListClosedWorkflowExecutionsRequest) ProtoMessage() {} + +func (x *ListClosedWorkflowExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[54] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListClosedWorkflowExecutionsRequest.ProtoReflect.Descriptor instead. +func (*ListClosedWorkflowExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{54} +} + +func (x *ListClosedWorkflowExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListClosedWorkflowExecutionsRequest) GetMaximumPageSize() int32 { + if x != nil { + return x.MaximumPageSize + } + return 0 +} + +func (x *ListClosedWorkflowExecutionsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListClosedWorkflowExecutionsRequest) GetStartTimeFilter() *v113.StartTimeFilter { + if x != nil { + return x.StartTimeFilter + } + return nil +} + +func (x *ListClosedWorkflowExecutionsRequest) GetFilters() isListClosedWorkflowExecutionsRequest_Filters { + if x != nil { + return x.Filters + } + return nil +} + +func (x *ListClosedWorkflowExecutionsRequest) GetExecutionFilter() *v113.WorkflowExecutionFilter { + if x != nil { + if x, ok := x.Filters.(*ListClosedWorkflowExecutionsRequest_ExecutionFilter); ok { + return x.ExecutionFilter + } + } + return nil +} + +func (x *ListClosedWorkflowExecutionsRequest) GetTypeFilter() *v113.WorkflowTypeFilter { + if x != nil { + if x, ok := x.Filters.(*ListClosedWorkflowExecutionsRequest_TypeFilter); ok { + return x.TypeFilter + } + } + return nil +} + +func (x *ListClosedWorkflowExecutionsRequest) GetStatusFilter() *v113.StatusFilter { + if x != nil { + if x, ok := x.Filters.(*ListClosedWorkflowExecutionsRequest_StatusFilter); ok { + return x.StatusFilter + } + } + return nil +} + +type isListClosedWorkflowExecutionsRequest_Filters interface { + isListClosedWorkflowExecutionsRequest_Filters() +} + +type ListClosedWorkflowExecutionsRequest_ExecutionFilter struct { + ExecutionFilter *v113.WorkflowExecutionFilter `protobuf:"bytes,5,opt,name=execution_filter,json=executionFilter,proto3,oneof"` +} + +type ListClosedWorkflowExecutionsRequest_TypeFilter struct { + TypeFilter *v113.WorkflowTypeFilter `protobuf:"bytes,6,opt,name=type_filter,json=typeFilter,proto3,oneof"` +} + +type ListClosedWorkflowExecutionsRequest_StatusFilter struct { + StatusFilter *v113.StatusFilter `protobuf:"bytes,7,opt,name=status_filter,json=statusFilter,proto3,oneof"` +} + +func (*ListClosedWorkflowExecutionsRequest_ExecutionFilter) isListClosedWorkflowExecutionsRequest_Filters() { +} + +func (*ListClosedWorkflowExecutionsRequest_TypeFilter) isListClosedWorkflowExecutionsRequest_Filters() { +} + +func (*ListClosedWorkflowExecutionsRequest_StatusFilter) isListClosedWorkflowExecutionsRequest_Filters() { +} + +type ListClosedWorkflowExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Executions []*v17.WorkflowExecutionInfo `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListClosedWorkflowExecutionsResponse) Reset() { + *x = ListClosedWorkflowExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[55] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListClosedWorkflowExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListClosedWorkflowExecutionsResponse) ProtoMessage() {} + +func (x *ListClosedWorkflowExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[55] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListClosedWorkflowExecutionsResponse.ProtoReflect.Descriptor instead. +func (*ListClosedWorkflowExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{55} +} + +func (x *ListClosedWorkflowExecutionsResponse) GetExecutions() []*v17.WorkflowExecutionInfo { + if x != nil { + return x.Executions + } + return nil +} + +func (x *ListClosedWorkflowExecutionsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type ListWorkflowExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkflowExecutionsRequest) Reset() { + *x = ListWorkflowExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[56] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkflowExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkflowExecutionsRequest) ProtoMessage() {} + +func (x *ListWorkflowExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[56] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkflowExecutionsRequest.ProtoReflect.Descriptor instead. +func (*ListWorkflowExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{56} +} + +func (x *ListWorkflowExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListWorkflowExecutionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListWorkflowExecutionsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListWorkflowExecutionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type ListWorkflowExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Executions []*v17.WorkflowExecutionInfo `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkflowExecutionsResponse) Reset() { + *x = ListWorkflowExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[57] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkflowExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkflowExecutionsResponse) ProtoMessage() {} + +func (x *ListWorkflowExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[57] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkflowExecutionsResponse.ProtoReflect.Descriptor instead. +func (*ListWorkflowExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{57} +} + +func (x *ListWorkflowExecutionsResponse) GetExecutions() []*v17.WorkflowExecutionInfo { + if x != nil { + return x.Executions + } + return nil +} + +func (x *ListWorkflowExecutionsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type ListArchivedWorkflowExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListArchivedWorkflowExecutionsRequest) Reset() { + *x = ListArchivedWorkflowExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[58] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListArchivedWorkflowExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListArchivedWorkflowExecutionsRequest) ProtoMessage() {} + +func (x *ListArchivedWorkflowExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[58] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListArchivedWorkflowExecutionsRequest.ProtoReflect.Descriptor instead. +func (*ListArchivedWorkflowExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{58} +} + +func (x *ListArchivedWorkflowExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListArchivedWorkflowExecutionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListArchivedWorkflowExecutionsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListArchivedWorkflowExecutionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type ListArchivedWorkflowExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Executions []*v17.WorkflowExecutionInfo `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListArchivedWorkflowExecutionsResponse) Reset() { + *x = ListArchivedWorkflowExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[59] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListArchivedWorkflowExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListArchivedWorkflowExecutionsResponse) ProtoMessage() {} + +func (x *ListArchivedWorkflowExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[59] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListArchivedWorkflowExecutionsResponse.ProtoReflect.Descriptor instead. +func (*ListArchivedWorkflowExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{59} +} + +func (x *ListArchivedWorkflowExecutionsResponse) GetExecutions() []*v17.WorkflowExecutionInfo { + if x != nil { + return x.Executions + } + return nil +} + +func (x *ListArchivedWorkflowExecutionsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +// Deprecated: Use with `ListWorkflowExecutions`. +type ScanWorkflowExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScanWorkflowExecutionsRequest) Reset() { + *x = ScanWorkflowExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[60] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScanWorkflowExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScanWorkflowExecutionsRequest) ProtoMessage() {} + +func (x *ScanWorkflowExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[60] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScanWorkflowExecutionsRequest.ProtoReflect.Descriptor instead. +func (*ScanWorkflowExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{60} +} + +func (x *ScanWorkflowExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ScanWorkflowExecutionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ScanWorkflowExecutionsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ScanWorkflowExecutionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +// Deprecated: Use with `ListWorkflowExecutions`. +type ScanWorkflowExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Executions []*v17.WorkflowExecutionInfo `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ScanWorkflowExecutionsResponse) Reset() { + *x = ScanWorkflowExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[61] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ScanWorkflowExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ScanWorkflowExecutionsResponse) ProtoMessage() {} + +func (x *ScanWorkflowExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[61] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ScanWorkflowExecutionsResponse.ProtoReflect.Descriptor instead. +func (*ScanWorkflowExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{61} +} + +func (x *ScanWorkflowExecutionsResponse) GetExecutions() []*v17.WorkflowExecutionInfo { + if x != nil { + return x.Executions + } + return nil +} + +func (x *ScanWorkflowExecutionsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type CountWorkflowExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountWorkflowExecutionsRequest) Reset() { + *x = CountWorkflowExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[62] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountWorkflowExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountWorkflowExecutionsRequest) ProtoMessage() {} + +func (x *CountWorkflowExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[62] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountWorkflowExecutionsRequest.ProtoReflect.Descriptor instead. +func (*CountWorkflowExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{62} +} + +func (x *CountWorkflowExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *CountWorkflowExecutionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type CountWorkflowExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If `query` is not grouping by any field, the count is an approximate number + // of workflows that matches the query. + // If `query` is grouping by a field, the count is simply the sum of the counts + // of the groups returned in the response. This number can be smaller than the + // total number of workflows matching the query. + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + // `groups` contains the groups if the request is grouping by a field. + // The list might not be complete, and the counts of each group is approximate. + Groups []*CountWorkflowExecutionsResponse_AggregationGroup `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountWorkflowExecutionsResponse) Reset() { + *x = CountWorkflowExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[63] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountWorkflowExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountWorkflowExecutionsResponse) ProtoMessage() {} + +func (x *CountWorkflowExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[63] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountWorkflowExecutionsResponse.ProtoReflect.Descriptor instead. +func (*CountWorkflowExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{63} +} + +func (x *CountWorkflowExecutionsResponse) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *CountWorkflowExecutionsResponse) GetGroups() []*CountWorkflowExecutionsResponse_AggregationGroup { + if x != nil { + return x.Groups + } + return nil +} + +type GetSearchAttributesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSearchAttributesRequest) Reset() { + *x = GetSearchAttributesRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[64] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSearchAttributesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSearchAttributesRequest) ProtoMessage() {} + +func (x *GetSearchAttributesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[64] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSearchAttributesRequest.ProtoReflect.Descriptor instead. +func (*GetSearchAttributesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{64} +} + +type GetSearchAttributesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Keys map[string]v11.IndexedValueType `protobuf:"bytes,1,rep,name=keys,proto3" json:"keys,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=temporal.api.enums.v1.IndexedValueType"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSearchAttributesResponse) Reset() { + *x = GetSearchAttributesResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[65] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSearchAttributesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSearchAttributesResponse) ProtoMessage() {} + +func (x *GetSearchAttributesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[65] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSearchAttributesResponse.ProtoReflect.Descriptor instead. +func (*GetSearchAttributesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{65} +} + +func (x *GetSearchAttributesResponse) GetKeys() map[string]v11.IndexedValueType { + if x != nil { + return x.Keys + } + return nil +} + +type RespondQueryTaskCompletedRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + CompletedType v11.QueryResultType `protobuf:"varint,2,opt,name=completed_type,json=completedType,proto3,enum=temporal.api.enums.v1.QueryResultType" json:"completed_type,omitempty"` + // The result of the query. + // Mutually exclusive with `error_message` and `failure`. Set when the query succeeds. + QueryResult *v13.Payloads `protobuf:"bytes,3,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"` + // A plain error message that must be set if completed_type is QUERY_RESULT_TYPE_FAILED. + // SDKs should also fill in the more complete `failure` field to provide the full context and + // support encryption of failure information. + // `error_message` will be duplicated if the `failure` field is present to support callers + // that pre-date the addition of that field, regardless of whether or not a custom failure + // converter is used. + // Mutually exclusive with `query_result`. Set when the query fails. + ErrorMessage string `protobuf:"bytes,4,opt,name=error_message,json=errorMessage,proto3" json:"error_message,omitempty"` + Namespace string `protobuf:"bytes,6,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The full reason for this query failure. This field is newer than `error_message` and can be + // encoded by the SDK's failure converter to support E2E encryption of messages and stack + // traces. + // Mutually exclusive with `query_result`. Set when the query fails. + Failure *v15.Failure `protobuf:"bytes,7,opt,name=failure,proto3" json:"failure,omitempty"` + // Why did the task fail? It's important to note that many of the variants in this enum cannot + // apply to worker responses. See the type's doc for more. + Cause v11.WorkflowTaskFailedCause `protobuf:"varint,8,opt,name=cause,proto3,enum=temporal.api.enums.v1.WorkflowTaskFailedCause" json:"cause,omitempty"` + // Client must forward the poller_group_id received in PollWorkflowTaskQueueResponse for proper + // routing of the response. + PollerGroupId string `protobuf:"bytes,9,opt,name=poller_group_id,json=pollerGroupId,proto3" json:"poller_group_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondQueryTaskCompletedRequest) Reset() { + *x = RespondQueryTaskCompletedRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[66] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondQueryTaskCompletedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondQueryTaskCompletedRequest) ProtoMessage() {} + +func (x *RespondQueryTaskCompletedRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[66] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondQueryTaskCompletedRequest.ProtoReflect.Descriptor instead. +func (*RespondQueryTaskCompletedRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{66} +} + +func (x *RespondQueryTaskCompletedRequest) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *RespondQueryTaskCompletedRequest) GetCompletedType() v11.QueryResultType { + if x != nil { + return x.CompletedType + } + return v11.QueryResultType(0) +} + +func (x *RespondQueryTaskCompletedRequest) GetQueryResult() *v13.Payloads { + if x != nil { + return x.QueryResult + } + return nil +} + +func (x *RespondQueryTaskCompletedRequest) GetErrorMessage() string { + if x != nil { + return x.ErrorMessage + } + return "" +} + +func (x *RespondQueryTaskCompletedRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondQueryTaskCompletedRequest) GetFailure() *v15.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *RespondQueryTaskCompletedRequest) GetCause() v11.WorkflowTaskFailedCause { + if x != nil { + return x.Cause + } + return v11.WorkflowTaskFailedCause(0) +} + +func (x *RespondQueryTaskCompletedRequest) GetPollerGroupId() string { + if x != nil { + return x.PollerGroupId + } + return "" +} + +type RespondQueryTaskCompletedResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondQueryTaskCompletedResponse) Reset() { + *x = RespondQueryTaskCompletedResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[67] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondQueryTaskCompletedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondQueryTaskCompletedResponse) ProtoMessage() {} + +func (x *RespondQueryTaskCompletedResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[67] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondQueryTaskCompletedResponse.ProtoReflect.Descriptor instead. +func (*RespondQueryTaskCompletedResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{67} +} + +type ResetStickyTaskQueueRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetStickyTaskQueueRequest) Reset() { + *x = ResetStickyTaskQueueRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[68] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetStickyTaskQueueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetStickyTaskQueueRequest) ProtoMessage() {} + +func (x *ResetStickyTaskQueueRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[68] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetStickyTaskQueueRequest.ProtoReflect.Descriptor instead. +func (*ResetStickyTaskQueueRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{68} +} + +func (x *ResetStickyTaskQueueRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ResetStickyTaskQueueRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +type ResetStickyTaskQueueResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetStickyTaskQueueResponse) Reset() { + *x = ResetStickyTaskQueueResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[69] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetStickyTaskQueueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetStickyTaskQueueResponse) ProtoMessage() {} + +func (x *ResetStickyTaskQueueResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[69] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetStickyTaskQueueResponse.ProtoReflect.Descriptor instead. +func (*ResetStickyTaskQueueResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{69} +} + +type ShutdownWorkerRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // sticky_task_queue may not always be populated. We want to ensure all workers + // send a shutdown request to update worker state for heartbeating, as well + // as cancel pending poll calls early, instead of waiting for timeouts. + StickyTaskQueue string `protobuf:"bytes,2,opt,name=sticky_task_queue,json=stickyTaskQueue,proto3" json:"sticky_task_queue,omitempty"` + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + WorkerHeartbeat *v114.WorkerHeartbeat `protobuf:"bytes,5,opt,name=worker_heartbeat,json=workerHeartbeat,proto3" json:"worker_heartbeat,omitempty"` + // Technically this is also sent in the WorkerHeartbeat, but + // since worker heartbeating can be turned off, this needs + // to be a separate, top-level field. + WorkerInstanceKey string `protobuf:"bytes,6,opt,name=worker_instance_key,json=workerInstanceKey,proto3" json:"worker_instance_key,omitempty"` + // Task queue name the worker is polling on. This allows server to cancel + // all outstanding poll RPC calls from SDK. This avoids a race condition that + // can lead to tasks being lost. + TaskQueue string `protobuf:"bytes,7,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Task queue types that help server cancel outstanding poll RPC + // calls from SDK. This avoids a race condition that can lead to tasks being lost. + TaskQueueTypes []v11.TaskQueueType `protobuf:"varint,8,rep,packed,name=task_queue_types,json=taskQueueTypes,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_types,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ShutdownWorkerRequest) Reset() { + *x = ShutdownWorkerRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[70] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ShutdownWorkerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShutdownWorkerRequest) ProtoMessage() {} + +func (x *ShutdownWorkerRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[70] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ShutdownWorkerRequest.ProtoReflect.Descriptor instead. +func (*ShutdownWorkerRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{70} +} + +func (x *ShutdownWorkerRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ShutdownWorkerRequest) GetStickyTaskQueue() string { + if x != nil { + return x.StickyTaskQueue + } + return "" +} + +func (x *ShutdownWorkerRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *ShutdownWorkerRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *ShutdownWorkerRequest) GetWorkerHeartbeat() *v114.WorkerHeartbeat { + if x != nil { + return x.WorkerHeartbeat + } + return nil +} + +func (x *ShutdownWorkerRequest) GetWorkerInstanceKey() string { + if x != nil { + return x.WorkerInstanceKey + } + return "" +} + +func (x *ShutdownWorkerRequest) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *ShutdownWorkerRequest) GetTaskQueueTypes() []v11.TaskQueueType { + if x != nil { + return x.TaskQueueTypes + } + return nil +} + +type ShutdownWorkerResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ShutdownWorkerResponse) Reset() { + *x = ShutdownWorkerResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[71] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ShutdownWorkerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ShutdownWorkerResponse) ProtoMessage() {} + +func (x *ShutdownWorkerResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[71] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ShutdownWorkerResponse.ProtoReflect.Descriptor instead. +func (*ShutdownWorkerResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{71} +} + +type QueryWorkflowRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + Query *v110.WorkflowQuery `protobuf:"bytes,3,opt,name=query,proto3" json:"query,omitempty"` + // QueryRejectCondition can used to reject the query if workflow state does not satisfy condition. + // Default: QUERY_REJECT_CONDITION_NONE. + QueryRejectCondition v11.QueryRejectCondition `protobuf:"varint,4,opt,name=query_reject_condition,json=queryRejectCondition,proto3,enum=temporal.api.enums.v1.QueryRejectCondition" json:"query_reject_condition,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueryWorkflowRequest) Reset() { + *x = QueryWorkflowRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[72] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueryWorkflowRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryWorkflowRequest) ProtoMessage() {} + +func (x *QueryWorkflowRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[72] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryWorkflowRequest.ProtoReflect.Descriptor instead. +func (*QueryWorkflowRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{72} +} + +func (x *QueryWorkflowRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *QueryWorkflowRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *QueryWorkflowRequest) GetQuery() *v110.WorkflowQuery { + if x != nil { + return x.Query + } + return nil +} + +func (x *QueryWorkflowRequest) GetQueryRejectCondition() v11.QueryRejectCondition { + if x != nil { + return x.QueryRejectCondition + } + return v11.QueryRejectCondition(0) +} + +type QueryWorkflowResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + QueryResult *v13.Payloads `protobuf:"bytes,1,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"` + QueryRejected *v110.QueryRejected `protobuf:"bytes,2,opt,name=query_rejected,json=queryRejected,proto3" json:"query_rejected,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *QueryWorkflowResponse) Reset() { + *x = QueryWorkflowResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[73] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *QueryWorkflowResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*QueryWorkflowResponse) ProtoMessage() {} + +func (x *QueryWorkflowResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[73] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use QueryWorkflowResponse.ProtoReflect.Descriptor instead. +func (*QueryWorkflowResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{73} +} + +func (x *QueryWorkflowResponse) GetQueryResult() *v13.Payloads { + if x != nil { + return x.QueryResult + } + return nil +} + +func (x *QueryWorkflowResponse) GetQueryRejected() *v110.QueryRejected { + if x != nil { + return x.QueryRejected + } + return nil +} + +type DescribeWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkflowExecutionRequest) Reset() { + *x = DescribeWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[74] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkflowExecutionRequest) ProtoMessage() {} + +func (x *DescribeWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[74] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*DescribeWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{74} +} + +func (x *DescribeWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeWorkflowExecutionRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +type DescribeWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + ExecutionConfig *v17.WorkflowExecutionConfig `protobuf:"bytes,1,opt,name=execution_config,json=executionConfig,proto3" json:"execution_config,omitempty"` + WorkflowExecutionInfo *v17.WorkflowExecutionInfo `protobuf:"bytes,2,opt,name=workflow_execution_info,json=workflowExecutionInfo,proto3" json:"workflow_execution_info,omitempty"` + PendingActivities []*v17.PendingActivityInfo `protobuf:"bytes,3,rep,name=pending_activities,json=pendingActivities,proto3" json:"pending_activities,omitempty"` + PendingChildren []*v17.PendingChildExecutionInfo `protobuf:"bytes,4,rep,name=pending_children,json=pendingChildren,proto3" json:"pending_children,omitempty"` + PendingWorkflowTask *v17.PendingWorkflowTaskInfo `protobuf:"bytes,5,opt,name=pending_workflow_task,json=pendingWorkflowTask,proto3" json:"pending_workflow_task,omitempty"` + Callbacks []*v17.CallbackInfo `protobuf:"bytes,6,rep,name=callbacks,proto3" json:"callbacks,omitempty"` + PendingNexusOperations []*v17.PendingNexusOperationInfo `protobuf:"bytes,7,rep,name=pending_nexus_operations,json=pendingNexusOperations,proto3" json:"pending_nexus_operations,omitempty"` + WorkflowExtendedInfo *v17.WorkflowExecutionExtendedInfo `protobuf:"bytes,8,opt,name=workflow_extended_info,json=workflowExtendedInfo,proto3" json:"workflow_extended_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkflowExecutionResponse) Reset() { + *x = DescribeWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[75] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkflowExecutionResponse) ProtoMessage() {} + +func (x *DescribeWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[75] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*DescribeWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{75} +} + +func (x *DescribeWorkflowExecutionResponse) GetExecutionConfig() *v17.WorkflowExecutionConfig { + if x != nil { + return x.ExecutionConfig + } + return nil +} + +func (x *DescribeWorkflowExecutionResponse) GetWorkflowExecutionInfo() *v17.WorkflowExecutionInfo { + if x != nil { + return x.WorkflowExecutionInfo + } + return nil +} + +func (x *DescribeWorkflowExecutionResponse) GetPendingActivities() []*v17.PendingActivityInfo { + if x != nil { + return x.PendingActivities + } + return nil +} + +func (x *DescribeWorkflowExecutionResponse) GetPendingChildren() []*v17.PendingChildExecutionInfo { + if x != nil { + return x.PendingChildren + } + return nil +} + +func (x *DescribeWorkflowExecutionResponse) GetPendingWorkflowTask() *v17.PendingWorkflowTaskInfo { + if x != nil { + return x.PendingWorkflowTask + } + return nil +} + +func (x *DescribeWorkflowExecutionResponse) GetCallbacks() []*v17.CallbackInfo { + if x != nil { + return x.Callbacks + } + return nil +} + +func (x *DescribeWorkflowExecutionResponse) GetPendingNexusOperations() []*v17.PendingNexusOperationInfo { + if x != nil { + return x.PendingNexusOperations + } + return nil +} + +func (x *DescribeWorkflowExecutionResponse) GetWorkflowExtendedInfo() *v17.WorkflowExecutionExtendedInfo { + if x != nil { + return x.WorkflowExtendedInfo + } + return nil +} + +// (-- api-linter: core::0203::optional=disabled +// +// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --) +type DescribeTaskQueueRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Sticky queues are not supported in deprecated ENHANCED mode. + TaskQueue *v14.TaskQueue `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // If unspecified (TASK_QUEUE_TYPE_UNSPECIFIED), then default value (TASK_QUEUE_TYPE_WORKFLOW) will be used. + // Only supported in default mode (use `task_queue_types` in ENHANCED mode instead). + TaskQueueType v11.TaskQueueType `protobuf:"varint,3,opt,name=task_queue_type,json=taskQueueType,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_type,omitempty"` + // Report stats for the requested task queue type(s). + ReportStats bool `protobuf:"varint,8,opt,name=report_stats,json=reportStats,proto3" json:"report_stats,omitempty"` + // Report Task Queue Config + ReportConfig bool `protobuf:"varint,11,opt,name=report_config,json=reportConfig,proto3" json:"report_config,omitempty"` + // Deprecated, use `report_stats` instead. + // If true, the task queue status will be included in the response. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + IncludeTaskQueueStatus bool `protobuf:"varint,4,opt,name=include_task_queue_status,json=includeTaskQueueStatus,proto3" json:"include_task_queue_status,omitempty"` + // Deprecated. ENHANCED mode is also being deprecated. + // Select the API mode to use for this request: DEFAULT mode (if unset) or ENHANCED mode. + // Consult the documentation for each field to understand which mode it is supported in. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + ApiMode v11.DescribeTaskQueueMode `protobuf:"varint,5,opt,name=api_mode,json=apiMode,proto3,enum=temporal.api.enums.v1.DescribeTaskQueueMode" json:"api_mode,omitempty"` + // Deprecated (as part of the ENHANCED mode deprecation). + // Optional. If not provided, the result for the default Build ID will be returned. The default Build ID is the one + // mentioned in the first unconditional Assignment Rule. If there is no default Build ID, the result for the + // unversioned queue will be returned. + // (-- api-linter: core::0140::prepositions --) + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Versions *v14.TaskQueueVersionSelection `protobuf:"bytes,6,opt,name=versions,proto3" json:"versions,omitempty"` + // Deprecated (as part of the ENHANCED mode deprecation). + // Task queue types to report info about. If not specified, all types are considered. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + TaskQueueTypes []v11.TaskQueueType `protobuf:"varint,7,rep,packed,name=task_queue_types,json=taskQueueTypes,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_types,omitempty"` + // Deprecated (as part of the ENHANCED mode deprecation). + // Report list of pollers for requested task queue types and versions. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + ReportPollers bool `protobuf:"varint,9,opt,name=report_pollers,json=reportPollers,proto3" json:"report_pollers,omitempty"` + // Deprecated (as part of the ENHANCED mode deprecation). + // Report task reachability for the requested versions and all task types (task reachability is not reported + // per task type). + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + ReportTaskReachability bool `protobuf:"varint,10,opt,name=report_task_reachability,json=reportTaskReachability,proto3" json:"report_task_reachability,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeTaskQueueRequest) Reset() { + *x = DescribeTaskQueueRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[76] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeTaskQueueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeTaskQueueRequest) ProtoMessage() {} + +func (x *DescribeTaskQueueRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[76] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeTaskQueueRequest.ProtoReflect.Descriptor instead. +func (*DescribeTaskQueueRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{76} +} + +func (x *DescribeTaskQueueRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeTaskQueueRequest) GetTaskQueue() *v14.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *DescribeTaskQueueRequest) GetTaskQueueType() v11.TaskQueueType { + if x != nil { + return x.TaskQueueType + } + return v11.TaskQueueType(0) +} + +func (x *DescribeTaskQueueRequest) GetReportStats() bool { + if x != nil { + return x.ReportStats + } + return false +} + +func (x *DescribeTaskQueueRequest) GetReportConfig() bool { + if x != nil { + return x.ReportConfig + } + return false +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DescribeTaskQueueRequest) GetIncludeTaskQueueStatus() bool { + if x != nil { + return x.IncludeTaskQueueStatus + } + return false +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DescribeTaskQueueRequest) GetApiMode() v11.DescribeTaskQueueMode { + if x != nil { + return x.ApiMode + } + return v11.DescribeTaskQueueMode(0) +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DescribeTaskQueueRequest) GetVersions() *v14.TaskQueueVersionSelection { + if x != nil { + return x.Versions + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DescribeTaskQueueRequest) GetTaskQueueTypes() []v11.TaskQueueType { + if x != nil { + return x.TaskQueueTypes + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DescribeTaskQueueRequest) GetReportPollers() bool { + if x != nil { + return x.ReportPollers + } + return false +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DescribeTaskQueueRequest) GetReportTaskReachability() bool { + if x != nil { + return x.ReportTaskReachability + } + return false +} + +type DescribeTaskQueueResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Pollers []*v14.PollerInfo `protobuf:"bytes,1,rep,name=pollers,proto3" json:"pollers,omitempty"` + // Statistics for the task queue. + // Only set if `report_stats` is set on the request. + Stats *v14.TaskQueueStats `protobuf:"bytes,5,opt,name=stats,proto3" json:"stats,omitempty"` + // Task queue stats breakdown by priority key. Only contains actively used priority keys. + // Only set if `report_stats` is set on the request. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "by" is used to clarify the keys and values. --) + StatsByPriorityKey map[int32]*v14.TaskQueueStats `protobuf:"bytes,8,rep,name=stats_by_priority_key,json=statsByPriorityKey,proto3" json:"stats_by_priority_key,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Specifies which Worker Deployment Version(s) Server routes this Task Queue's tasks to. + // When not present, it means the tasks are routed to Unversioned workers (workers with + // UNVERSIONED or unspecified WorkerVersioningMode.) + // Task Queue Versioning info is updated indirectly by calling SetWorkerDeploymentCurrentVersion + // and SetWorkerDeploymentRampingVersion on Worker Deployments. + // Note: This information is not relevant to Pinned workflow executions and their activities as + // they are always routed to their Pinned Deployment Version. However, new workflow executions + // are typically not Pinned until they complete their first task (unless they are started with + // a Pinned VersioningOverride or are Child Workflows of a Pinned parent). + VersioningInfo *v14.TaskQueueVersioningInfo `protobuf:"bytes,4,opt,name=versioning_info,json=versioningInfo,proto3" json:"versioning_info,omitempty"` + // Only populated if report_task_queue_config is set to true. + Config *v14.TaskQueueConfig `protobuf:"bytes,6,opt,name=config,proto3" json:"config,omitempty"` + EffectiveRateLimit *DescribeTaskQueueResponse_EffectiveRateLimit `protobuf:"bytes,7,opt,name=effective_rate_limit,json=effectiveRateLimit,proto3" json:"effective_rate_limit,omitempty"` + // Deprecated. + // Status of the task queue. Only populated when `include_task_queue_status` is set to true in the request. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + TaskQueueStatus *v14.TaskQueueStatus `protobuf:"bytes,2,opt,name=task_queue_status,json=taskQueueStatus,proto3" json:"task_queue_status,omitempty"` + // Deprecated. + // Only returned in ENHANCED mode. + // This map contains Task Queue information for each Build ID. Empty string as key value means unversioned. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + VersionsInfo map[string]*v14.TaskQueueVersionInfo `protobuf:"bytes,3,rep,name=versions_info,json=versionsInfo,proto3" json:"versions_info,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeTaskQueueResponse) Reset() { + *x = DescribeTaskQueueResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[77] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeTaskQueueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeTaskQueueResponse) ProtoMessage() {} + +func (x *DescribeTaskQueueResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[77] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeTaskQueueResponse.ProtoReflect.Descriptor instead. +func (*DescribeTaskQueueResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{77} +} + +func (x *DescribeTaskQueueResponse) GetPollers() []*v14.PollerInfo { + if x != nil { + return x.Pollers + } + return nil +} + +func (x *DescribeTaskQueueResponse) GetStats() *v14.TaskQueueStats { + if x != nil { + return x.Stats + } + return nil +} + +func (x *DescribeTaskQueueResponse) GetStatsByPriorityKey() map[int32]*v14.TaskQueueStats { + if x != nil { + return x.StatsByPriorityKey + } + return nil +} + +func (x *DescribeTaskQueueResponse) GetVersioningInfo() *v14.TaskQueueVersioningInfo { + if x != nil { + return x.VersioningInfo + } + return nil +} + +func (x *DescribeTaskQueueResponse) GetConfig() *v14.TaskQueueConfig { + if x != nil { + return x.Config + } + return nil +} + +func (x *DescribeTaskQueueResponse) GetEffectiveRateLimit() *DescribeTaskQueueResponse_EffectiveRateLimit { + if x != nil { + return x.EffectiveRateLimit + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DescribeTaskQueueResponse) GetTaskQueueStatus() *v14.TaskQueueStatus { + if x != nil { + return x.TaskQueueStatus + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DescribeTaskQueueResponse) GetVersionsInfo() map[string]*v14.TaskQueueVersionInfo { + if x != nil { + return x.VersionsInfo + } + return nil +} + +type GetClusterInfoRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetClusterInfoRequest) Reset() { + *x = GetClusterInfoRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[78] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetClusterInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetClusterInfoRequest) ProtoMessage() {} + +func (x *GetClusterInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[78] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetClusterInfoRequest.ProtoReflect.Descriptor instead. +func (*GetClusterInfoRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{78} +} + +// GetClusterInfoResponse contains information about Temporal cluster. +type GetClusterInfoResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Key is client name i.e "temporal-go", "temporal-java", or "temporal-cli". + // Value is ranges of supported versions of this client i.e ">1.1.1 <=1.4.0 || ^5.0.0". + SupportedClients map[string]string `protobuf:"bytes,1,rep,name=supported_clients,json=supportedClients,proto3" json:"supported_clients,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + ServerVersion string `protobuf:"bytes,2,opt,name=server_version,json=serverVersion,proto3" json:"server_version,omitempty"` + ClusterId string `protobuf:"bytes,3,opt,name=cluster_id,json=clusterId,proto3" json:"cluster_id,omitempty"` + VersionInfo *v115.VersionInfo `protobuf:"bytes,4,opt,name=version_info,json=versionInfo,proto3" json:"version_info,omitempty"` + ClusterName string `protobuf:"bytes,5,opt,name=cluster_name,json=clusterName,proto3" json:"cluster_name,omitempty"` + HistoryShardCount int32 `protobuf:"varint,6,opt,name=history_shard_count,json=historyShardCount,proto3" json:"history_shard_count,omitempty"` + PersistenceStore string `protobuf:"bytes,7,opt,name=persistence_store,json=persistenceStore,proto3" json:"persistence_store,omitempty"` + VisibilityStore string `protobuf:"bytes,8,opt,name=visibility_store,json=visibilityStore,proto3" json:"visibility_store,omitempty"` + InitialFailoverVersion int64 `protobuf:"varint,9,opt,name=initial_failover_version,json=initialFailoverVersion,proto3" json:"initial_failover_version,omitempty"` + FailoverVersionIncrement int64 `protobuf:"varint,10,opt,name=failover_version_increment,json=failoverVersionIncrement,proto3" json:"failover_version_increment,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetClusterInfoResponse) Reset() { + *x = GetClusterInfoResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[79] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetClusterInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetClusterInfoResponse) ProtoMessage() {} + +func (x *GetClusterInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[79] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetClusterInfoResponse.ProtoReflect.Descriptor instead. +func (*GetClusterInfoResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{79} +} + +func (x *GetClusterInfoResponse) GetSupportedClients() map[string]string { + if x != nil { + return x.SupportedClients + } + return nil +} + +func (x *GetClusterInfoResponse) GetServerVersion() string { + if x != nil { + return x.ServerVersion + } + return "" +} + +func (x *GetClusterInfoResponse) GetClusterId() string { + if x != nil { + return x.ClusterId + } + return "" +} + +func (x *GetClusterInfoResponse) GetVersionInfo() *v115.VersionInfo { + if x != nil { + return x.VersionInfo + } + return nil +} + +func (x *GetClusterInfoResponse) GetClusterName() string { + if x != nil { + return x.ClusterName + } + return "" +} + +func (x *GetClusterInfoResponse) GetHistoryShardCount() int32 { + if x != nil { + return x.HistoryShardCount + } + return 0 +} + +func (x *GetClusterInfoResponse) GetPersistenceStore() string { + if x != nil { + return x.PersistenceStore + } + return "" +} + +func (x *GetClusterInfoResponse) GetVisibilityStore() string { + if x != nil { + return x.VisibilityStore + } + return "" +} + +func (x *GetClusterInfoResponse) GetInitialFailoverVersion() int64 { + if x != nil { + return x.InitialFailoverVersion + } + return 0 +} + +func (x *GetClusterInfoResponse) GetFailoverVersionIncrement() int64 { + if x != nil { + return x.FailoverVersionIncrement + } + return 0 +} + +type GetSystemInfoRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSystemInfoRequest) Reset() { + *x = GetSystemInfoRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[80] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSystemInfoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSystemInfoRequest) ProtoMessage() {} + +func (x *GetSystemInfoRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[80] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSystemInfoRequest.ProtoReflect.Descriptor instead. +func (*GetSystemInfoRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{80} +} + +type GetSystemInfoResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Version of the server. + ServerVersion string `protobuf:"bytes,1,opt,name=server_version,json=serverVersion,proto3" json:"server_version,omitempty"` + // All capabilities the system supports. + Capabilities *GetSystemInfoResponse_Capabilities `protobuf:"bytes,2,opt,name=capabilities,proto3" json:"capabilities,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSystemInfoResponse) Reset() { + *x = GetSystemInfoResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[81] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSystemInfoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSystemInfoResponse) ProtoMessage() {} + +func (x *GetSystemInfoResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[81] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSystemInfoResponse.ProtoReflect.Descriptor instead. +func (*GetSystemInfoResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{81} +} + +func (x *GetSystemInfoResponse) GetServerVersion() string { + if x != nil { + return x.ServerVersion + } + return "" +} + +func (x *GetSystemInfoResponse) GetCapabilities() *GetSystemInfoResponse_Capabilities { + if x != nil { + return x.Capabilities + } + return nil +} + +type ListTaskQueuePartitionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + TaskQueue *v14.TaskQueue `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTaskQueuePartitionsRequest) Reset() { + *x = ListTaskQueuePartitionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[82] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTaskQueuePartitionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTaskQueuePartitionsRequest) ProtoMessage() {} + +func (x *ListTaskQueuePartitionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[82] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTaskQueuePartitionsRequest.ProtoReflect.Descriptor instead. +func (*ListTaskQueuePartitionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{82} +} + +func (x *ListTaskQueuePartitionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListTaskQueuePartitionsRequest) GetTaskQueue() *v14.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +type ListTaskQueuePartitionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + ActivityTaskQueuePartitions []*v14.TaskQueuePartitionMetadata `protobuf:"bytes,1,rep,name=activity_task_queue_partitions,json=activityTaskQueuePartitions,proto3" json:"activity_task_queue_partitions,omitempty"` + WorkflowTaskQueuePartitions []*v14.TaskQueuePartitionMetadata `protobuf:"bytes,2,rep,name=workflow_task_queue_partitions,json=workflowTaskQueuePartitions,proto3" json:"workflow_task_queue_partitions,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListTaskQueuePartitionsResponse) Reset() { + *x = ListTaskQueuePartitionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[83] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListTaskQueuePartitionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListTaskQueuePartitionsResponse) ProtoMessage() {} + +func (x *ListTaskQueuePartitionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[83] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListTaskQueuePartitionsResponse.ProtoReflect.Descriptor instead. +func (*ListTaskQueuePartitionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{83} +} + +func (x *ListTaskQueuePartitionsResponse) GetActivityTaskQueuePartitions() []*v14.TaskQueuePartitionMetadata { + if x != nil { + return x.ActivityTaskQueuePartitions + } + return nil +} + +func (x *ListTaskQueuePartitionsResponse) GetWorkflowTaskQueuePartitions() []*v14.TaskQueuePartitionMetadata { + if x != nil { + return x.WorkflowTaskQueuePartitions + } + return nil +} + +// (-- api-linter: core::0203::optional=disabled +// +// aip.dev/not-precedent: field_behavior annotation not available in our gogo fork --) +type CreateScheduleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace the schedule should be created in. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The id of the new schedule. + ScheduleId string `protobuf:"bytes,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"` + // The schedule spec, policies, action, and initial state. + Schedule *v116.Schedule `protobuf:"bytes,3,opt,name=schedule,proto3" json:"schedule,omitempty"` + // Optional initial patch (e.g. to run the action once immediately). + InitialPatch *v116.SchedulePatch `protobuf:"bytes,4,opt,name=initial_patch,json=initialPatch,proto3" json:"initial_patch,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this create request for idempotence. Typically UUIDv4. + RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Memo and search attributes to attach to the schedule itself. + Memo *v13.Memo `protobuf:"bytes,7,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v13.SearchAttributes `protobuf:"bytes,8,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateScheduleRequest) Reset() { + *x = CreateScheduleRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[84] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateScheduleRequest) ProtoMessage() {} + +func (x *CreateScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[84] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateScheduleRequest.ProtoReflect.Descriptor instead. +func (*CreateScheduleRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{84} +} + +func (x *CreateScheduleRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *CreateScheduleRequest) GetScheduleId() string { + if x != nil { + return x.ScheduleId + } + return "" +} + +func (x *CreateScheduleRequest) GetSchedule() *v116.Schedule { + if x != nil { + return x.Schedule + } + return nil +} + +func (x *CreateScheduleRequest) GetInitialPatch() *v116.SchedulePatch { + if x != nil { + return x.InitialPatch + } + return nil +} + +func (x *CreateScheduleRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *CreateScheduleRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *CreateScheduleRequest) GetMemo() *v13.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *CreateScheduleRequest) GetSearchAttributes() *v13.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +type CreateScheduleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + ConflictToken []byte `protobuf:"bytes,1,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateScheduleResponse) Reset() { + *x = CreateScheduleResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[85] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateScheduleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateScheduleResponse) ProtoMessage() {} + +func (x *CreateScheduleResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[85] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateScheduleResponse.ProtoReflect.Descriptor instead. +func (*CreateScheduleResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{85} +} + +func (x *CreateScheduleResponse) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +type DescribeScheduleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace of the schedule to describe. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The id of the schedule to describe. + ScheduleId string `protobuf:"bytes,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeScheduleRequest) Reset() { + *x = DescribeScheduleRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[86] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeScheduleRequest) ProtoMessage() {} + +func (x *DescribeScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[86] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeScheduleRequest.ProtoReflect.Descriptor instead. +func (*DescribeScheduleRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{86} +} + +func (x *DescribeScheduleRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeScheduleRequest) GetScheduleId() string { + if x != nil { + return x.ScheduleId + } + return "" +} + +type DescribeScheduleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The complete current schedule details. This may not match the schedule as + // created because: + // - some types of schedule specs may get compiled into others (e.g. + // CronString into StructuredCalendarSpec) + // - some unspecified fields may be replaced by defaults + // - some fields in the state are modified automatically + // - the schedule may have been modified by UpdateSchedule or PatchSchedule + Schedule *v116.Schedule `protobuf:"bytes,1,opt,name=schedule,proto3" json:"schedule,omitempty"` + // Extra schedule state info. + Info *v116.ScheduleInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + // The memo and search attributes that the schedule was created with. + Memo *v13.Memo `protobuf:"bytes,3,opt,name=memo,proto3" json:"memo,omitempty"` + SearchAttributes *v13.SearchAttributes `protobuf:"bytes,4,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // This value can be passed back to UpdateSchedule to ensure that the + // schedule was not modified between a Describe and an Update, which could + // lead to lost updates and other confusion. + ConflictToken []byte `protobuf:"bytes,5,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeScheduleResponse) Reset() { + *x = DescribeScheduleResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[87] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeScheduleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeScheduleResponse) ProtoMessage() {} + +func (x *DescribeScheduleResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[87] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeScheduleResponse.ProtoReflect.Descriptor instead. +func (*DescribeScheduleResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{87} +} + +func (x *DescribeScheduleResponse) GetSchedule() *v116.Schedule { + if x != nil { + return x.Schedule + } + return nil +} + +func (x *DescribeScheduleResponse) GetInfo() *v116.ScheduleInfo { + if x != nil { + return x.Info + } + return nil +} + +func (x *DescribeScheduleResponse) GetMemo() *v13.Memo { + if x != nil { + return x.Memo + } + return nil +} + +func (x *DescribeScheduleResponse) GetSearchAttributes() *v13.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *DescribeScheduleResponse) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +type UpdateScheduleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace of the schedule to update. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The id of the schedule to update. + ScheduleId string `protobuf:"bytes,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"` + // The new schedule. The four main fields of the schedule (spec, action, + // policies, state) are replaced completely by the values in this message. + Schedule *v116.Schedule `protobuf:"bytes,3,opt,name=schedule,proto3" json:"schedule,omitempty"` + // This can be the value of conflict_token from a DescribeScheduleResponse, + // which will cause this request to fail if the schedule has been modified + // between the Describe and this Update. + // If missing, the schedule will be updated unconditionally. + ConflictToken []byte `protobuf:"bytes,4,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this update request for idempotence. Typically UUIDv4. + RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Schedule search attributes to be updated. + // Do not set this field if you do not want to update the search attributes. + // A non-null empty object will set the search attributes to an empty map. + // Note: you cannot only update the search attributes with `UpdateScheduleRequest`, + // you must also set the `schedule` field; otherwise, it will unset the schedule. + SearchAttributes *v13.SearchAttributes `protobuf:"bytes,7,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // Schedule memo to replace. If set, replaces the entire memo. + // Do not set this field if you do not want to update the memo. + // A non-null empty object will clear the memo. + Memo *v13.Memo `protobuf:"bytes,8,opt,name=memo,proto3" json:"memo,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateScheduleRequest) Reset() { + *x = UpdateScheduleRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[88] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateScheduleRequest) ProtoMessage() {} + +func (x *UpdateScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[88] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateScheduleRequest.ProtoReflect.Descriptor instead. +func (*UpdateScheduleRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{88} +} + +func (x *UpdateScheduleRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateScheduleRequest) GetScheduleId() string { + if x != nil { + return x.ScheduleId + } + return "" +} + +func (x *UpdateScheduleRequest) GetSchedule() *v116.Schedule { + if x != nil { + return x.Schedule + } + return nil +} + +func (x *UpdateScheduleRequest) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +func (x *UpdateScheduleRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UpdateScheduleRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *UpdateScheduleRequest) GetSearchAttributes() *v13.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *UpdateScheduleRequest) GetMemo() *v13.Memo { + if x != nil { + return x.Memo + } + return nil +} + +type UpdateScheduleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateScheduleResponse) Reset() { + *x = UpdateScheduleResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[89] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateScheduleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateScheduleResponse) ProtoMessage() {} + +func (x *UpdateScheduleResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[89] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateScheduleResponse.ProtoReflect.Descriptor instead. +func (*UpdateScheduleResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{89} +} + +type PatchScheduleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace of the schedule to patch. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The id of the schedule to patch. + ScheduleId string `protobuf:"bytes,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"` + Patch *v116.SchedulePatch `protobuf:"bytes,3,opt,name=patch,proto3" json:"patch,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this update request for idempotence. Typically UUIDv4. + RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PatchScheduleRequest) Reset() { + *x = PatchScheduleRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[90] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PatchScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchScheduleRequest) ProtoMessage() {} + +func (x *PatchScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[90] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatchScheduleRequest.ProtoReflect.Descriptor instead. +func (*PatchScheduleRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{90} +} + +func (x *PatchScheduleRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PatchScheduleRequest) GetScheduleId() string { + if x != nil { + return x.ScheduleId + } + return "" +} + +func (x *PatchScheduleRequest) GetPatch() *v116.SchedulePatch { + if x != nil { + return x.Patch + } + return nil +} + +func (x *PatchScheduleRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PatchScheduleRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type PatchScheduleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PatchScheduleResponse) Reset() { + *x = PatchScheduleResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[91] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PatchScheduleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PatchScheduleResponse) ProtoMessage() {} + +func (x *PatchScheduleResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[91] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PatchScheduleResponse.ProtoReflect.Descriptor instead. +func (*PatchScheduleResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{91} +} + +type ListScheduleMatchingTimesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace of the schedule to query. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The id of the schedule to query. + ScheduleId string `protobuf:"bytes,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"` + // Time range to query. + StartTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + EndTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListScheduleMatchingTimesRequest) Reset() { + *x = ListScheduleMatchingTimesRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[92] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListScheduleMatchingTimesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListScheduleMatchingTimesRequest) ProtoMessage() {} + +func (x *ListScheduleMatchingTimesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[92] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListScheduleMatchingTimesRequest.ProtoReflect.Descriptor instead. +func (*ListScheduleMatchingTimesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{92} +} + +func (x *ListScheduleMatchingTimesRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListScheduleMatchingTimesRequest) GetScheduleId() string { + if x != nil { + return x.ScheduleId + } + return "" +} + +func (x *ListScheduleMatchingTimesRequest) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *ListScheduleMatchingTimesRequest) GetEndTime() *timestamppb.Timestamp { + if x != nil { + return x.EndTime + } + return nil +} + +type ListScheduleMatchingTimesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + StartTime []*timestamppb.Timestamp `protobuf:"bytes,1,rep,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListScheduleMatchingTimesResponse) Reset() { + *x = ListScheduleMatchingTimesResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[93] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListScheduleMatchingTimesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListScheduleMatchingTimesResponse) ProtoMessage() {} + +func (x *ListScheduleMatchingTimesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[93] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListScheduleMatchingTimesResponse.ProtoReflect.Descriptor instead. +func (*ListScheduleMatchingTimesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{93} +} + +func (x *ListScheduleMatchingTimesResponse) GetStartTime() []*timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +type DeleteScheduleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace of the schedule to delete. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The id of the schedule to delete. + ScheduleId string `protobuf:"bytes,2,opt,name=schedule_id,json=scheduleId,proto3" json:"schedule_id,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteScheduleRequest) Reset() { + *x = DeleteScheduleRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[94] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteScheduleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteScheduleRequest) ProtoMessage() {} + +func (x *DeleteScheduleRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[94] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteScheduleRequest.ProtoReflect.Descriptor instead. +func (*DeleteScheduleRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{94} +} + +func (x *DeleteScheduleRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DeleteScheduleRequest) GetScheduleId() string { + if x != nil { + return x.ScheduleId + } + return "" +} + +func (x *DeleteScheduleRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type DeleteScheduleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteScheduleResponse) Reset() { + *x = DeleteScheduleResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[95] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteScheduleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteScheduleResponse) ProtoMessage() {} + +func (x *DeleteScheduleResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[95] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteScheduleResponse.ProtoReflect.Descriptor instead. +func (*DeleteScheduleResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{95} +} + +type ListSchedulesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace to list schedules in. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // How many to return at once. + MaximumPageSize int32 `protobuf:"varint,2,opt,name=maximum_page_size,json=maximumPageSize,proto3" json:"maximum_page_size,omitempty"` + // Token to get the next page of results. + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Query to filter schedules. + Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListSchedulesRequest) Reset() { + *x = ListSchedulesRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[96] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListSchedulesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSchedulesRequest) ProtoMessage() {} + +func (x *ListSchedulesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[96] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListSchedulesRequest.ProtoReflect.Descriptor instead. +func (*ListSchedulesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{96} +} + +func (x *ListSchedulesRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListSchedulesRequest) GetMaximumPageSize() int32 { + if x != nil { + return x.MaximumPageSize + } + return 0 +} + +func (x *ListSchedulesRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListSchedulesRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type ListSchedulesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Schedules []*v116.ScheduleListEntry `protobuf:"bytes,1,rep,name=schedules,proto3" json:"schedules,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListSchedulesResponse) Reset() { + *x = ListSchedulesResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[97] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListSchedulesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListSchedulesResponse) ProtoMessage() {} + +func (x *ListSchedulesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[97] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListSchedulesResponse.ProtoReflect.Descriptor instead. +func (*ListSchedulesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{97} +} + +func (x *ListSchedulesResponse) GetSchedules() []*v116.ScheduleListEntry { + if x != nil { + return x.Schedules + } + return nil +} + +func (x *ListSchedulesResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type CountSchedulesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Visibility query, see https://docs.temporal.io/list-filter for the syntax. + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountSchedulesRequest) Reset() { + *x = CountSchedulesRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[98] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountSchedulesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountSchedulesRequest) ProtoMessage() {} + +func (x *CountSchedulesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[98] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountSchedulesRequest.ProtoReflect.Descriptor instead. +func (*CountSchedulesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{98} +} + +func (x *CountSchedulesRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *CountSchedulesRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type CountSchedulesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If `query` is not grouping by any field, the count is an approximate number + // of schedules that match the query. + // If `query` is grouping by a field, the count is simply the sum of the counts + // of the groups returned in the response. This number can be smaller than the + // total number of schedules matching the query. + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + // Contains the groups if the request is grouping by a field. + // The list might not be complete, and the counts of each group is approximate. + Groups []*CountSchedulesResponse_AggregationGroup `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountSchedulesResponse) Reset() { + *x = CountSchedulesResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[99] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountSchedulesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountSchedulesResponse) ProtoMessage() {} + +func (x *CountSchedulesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[99] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountSchedulesResponse.ProtoReflect.Descriptor instead. +func (*CountSchedulesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{99} +} + +func (x *CountSchedulesResponse) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *CountSchedulesResponse) GetGroups() []*CountSchedulesResponse_AggregationGroup { + if x != nil { + return x.Groups + } + return nil +} + +// [cleanup-wv-pre-release] +type UpdateWorkerBuildIdCompatibilityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Must be set, the task queue to apply changes to. Because all workers on a given task queue + // must have the same set of workflow & activity implementations, there is no reason to specify + // a task queue type here. + TaskQueue string `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Types that are valid to be assigned to Operation: + // + // *UpdateWorkerBuildIdCompatibilityRequest_AddNewBuildIdInNewDefaultSet + // *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleBuildId + // *UpdateWorkerBuildIdCompatibilityRequest_PromoteSetByBuildId + // *UpdateWorkerBuildIdCompatibilityRequest_PromoteBuildIdWithinSet + // *UpdateWorkerBuildIdCompatibilityRequest_MergeSets_ + Operation isUpdateWorkerBuildIdCompatibilityRequest_Operation `protobuf_oneof:"operation"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) Reset() { + *x = UpdateWorkerBuildIdCompatibilityRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[100] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerBuildIdCompatibilityRequest) ProtoMessage() {} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[100] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerBuildIdCompatibilityRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkerBuildIdCompatibilityRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{100} +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) GetOperation() isUpdateWorkerBuildIdCompatibilityRequest_Operation { + if x != nil { + return x.Operation + } + return nil +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) GetAddNewBuildIdInNewDefaultSet() string { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerBuildIdCompatibilityRequest_AddNewBuildIdInNewDefaultSet); ok { + return x.AddNewBuildIdInNewDefaultSet + } + } + return "" +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) GetAddNewCompatibleBuildId() *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleBuildId); ok { + return x.AddNewCompatibleBuildId + } + } + return nil +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) GetPromoteSetByBuildId() string { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerBuildIdCompatibilityRequest_PromoteSetByBuildId); ok { + return x.PromoteSetByBuildId + } + } + return "" +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) GetPromoteBuildIdWithinSet() string { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerBuildIdCompatibilityRequest_PromoteBuildIdWithinSet); ok { + return x.PromoteBuildIdWithinSet + } + } + return "" +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest) GetMergeSets() *UpdateWorkerBuildIdCompatibilityRequest_MergeSets { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerBuildIdCompatibilityRequest_MergeSets_); ok { + return x.MergeSets + } + } + return nil +} + +type isUpdateWorkerBuildIdCompatibilityRequest_Operation interface { + isUpdateWorkerBuildIdCompatibilityRequest_Operation() +} + +type UpdateWorkerBuildIdCompatibilityRequest_AddNewBuildIdInNewDefaultSet struct { + // A new build id. This operation will create a new set which will be the new overall + // default version for the queue, with this id as its only member. This new set is + // incompatible with all previous sets/versions. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: In makes perfect sense here. --) + AddNewBuildIdInNewDefaultSet string `protobuf:"bytes,3,opt,name=add_new_build_id_in_new_default_set,json=addNewBuildIdInNewDefaultSet,proto3,oneof"` +} + +type UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleBuildId struct { + // Adds a new id to an existing compatible set, see sub-message definition for more. + AddNewCompatibleBuildId *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion `protobuf:"bytes,4,opt,name=add_new_compatible_build_id,json=addNewCompatibleBuildId,proto3,oneof"` +} + +type UpdateWorkerBuildIdCompatibilityRequest_PromoteSetByBuildId struct { + // Promote an existing set to be the current default (if it isn't already) by targeting + // an existing build id within it. This field's value is the extant build id. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: Names are hard. --) + PromoteSetByBuildId string `protobuf:"bytes,5,opt,name=promote_set_by_build_id,json=promoteSetByBuildId,proto3,oneof"` +} + +type UpdateWorkerBuildIdCompatibilityRequest_PromoteBuildIdWithinSet struct { + // Promote an existing build id within some set to be the current default for that set. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: Within makes perfect sense here. --) + PromoteBuildIdWithinSet string `protobuf:"bytes,6,opt,name=promote_build_id_within_set,json=promoteBuildIdWithinSet,proto3,oneof"` +} + +type UpdateWorkerBuildIdCompatibilityRequest_MergeSets_ struct { + // Merge two existing sets together, thus declaring all build IDs in both sets compatible + // with one another. The primary set's default will become the default for the merged set. + // This is useful if you've accidentally declared a new ID as incompatible you meant to + // declare as compatible. The unusual case of incomplete replication during failover could + // also result in a split set, which this operation can repair. + MergeSets *UpdateWorkerBuildIdCompatibilityRequest_MergeSets `protobuf:"bytes,7,opt,name=merge_sets,json=mergeSets,proto3,oneof"` +} + +func (*UpdateWorkerBuildIdCompatibilityRequest_AddNewBuildIdInNewDefaultSet) isUpdateWorkerBuildIdCompatibilityRequest_Operation() { +} + +func (*UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleBuildId) isUpdateWorkerBuildIdCompatibilityRequest_Operation() { +} + +func (*UpdateWorkerBuildIdCompatibilityRequest_PromoteSetByBuildId) isUpdateWorkerBuildIdCompatibilityRequest_Operation() { +} + +func (*UpdateWorkerBuildIdCompatibilityRequest_PromoteBuildIdWithinSet) isUpdateWorkerBuildIdCompatibilityRequest_Operation() { +} + +func (*UpdateWorkerBuildIdCompatibilityRequest_MergeSets_) isUpdateWorkerBuildIdCompatibilityRequest_Operation() { +} + +// [cleanup-wv-pre-release] +type UpdateWorkerBuildIdCompatibilityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerBuildIdCompatibilityResponse) Reset() { + *x = UpdateWorkerBuildIdCompatibilityResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[101] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerBuildIdCompatibilityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerBuildIdCompatibilityResponse) ProtoMessage() {} + +func (x *UpdateWorkerBuildIdCompatibilityResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[101] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerBuildIdCompatibilityResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkerBuildIdCompatibilityResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{101} +} + +// [cleanup-wv-pre-release] +type GetWorkerBuildIdCompatibilityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Must be set, the task queue to interrogate about worker id compatibility. + TaskQueue string `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Limits how many compatible sets will be returned. Specify 1 to only return the current + // default major version set. 0 returns all sets. + MaxSets int32 `protobuf:"varint,3,opt,name=max_sets,json=maxSets,proto3" json:"max_sets,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkerBuildIdCompatibilityRequest) Reset() { + *x = GetWorkerBuildIdCompatibilityRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[102] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkerBuildIdCompatibilityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkerBuildIdCompatibilityRequest) ProtoMessage() {} + +func (x *GetWorkerBuildIdCompatibilityRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[102] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkerBuildIdCompatibilityRequest.ProtoReflect.Descriptor instead. +func (*GetWorkerBuildIdCompatibilityRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{102} +} + +func (x *GetWorkerBuildIdCompatibilityRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *GetWorkerBuildIdCompatibilityRequest) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *GetWorkerBuildIdCompatibilityRequest) GetMaxSets() int32 { + if x != nil { + return x.MaxSets + } + return 0 +} + +// [cleanup-wv-pre-release] +type GetWorkerBuildIdCompatibilityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Major version sets, in order from oldest to newest. The last element of the list will always + // be the current default major version. IE: New workflows will target the most recent version + // in that version set. + // + // There may be fewer sets returned than exist, if the request chose to limit this response. + MajorVersionSets []*v14.CompatibleVersionSet `protobuf:"bytes,1,rep,name=major_version_sets,json=majorVersionSets,proto3" json:"major_version_sets,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkerBuildIdCompatibilityResponse) Reset() { + *x = GetWorkerBuildIdCompatibilityResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[103] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkerBuildIdCompatibilityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkerBuildIdCompatibilityResponse) ProtoMessage() {} + +func (x *GetWorkerBuildIdCompatibilityResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[103] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkerBuildIdCompatibilityResponse.ProtoReflect.Descriptor instead. +func (*GetWorkerBuildIdCompatibilityResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{103} +} + +func (x *GetWorkerBuildIdCompatibilityResponse) GetMajorVersionSets() []*v14.CompatibleVersionSet { + if x != nil { + return x.MajorVersionSets + } + return nil +} + +// (-- api-linter: core::0134::request-mask-required=disabled +// +// aip.dev/not-precedent: UpdateNamespace RPC doesn't follow Google API format. --) +// +// (-- api-linter: core::0134::request-resource-required=disabled +// +// aip.dev/not-precedent: GetWorkerBuildIdCompatibilityRequest RPC doesn't follow Google API format. --) +// +// [cleanup-wv-pre-release] +type UpdateWorkerVersioningRulesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + TaskQueue string `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // A valid conflict_token can be taken from the previous + // ListWorkerVersioningRulesResponse or UpdateWorkerVersioningRulesResponse. + // An invalid token will cause this request to fail, ensuring that if the rules + // for this Task Queue have been modified between the previous and current + // operation, the request will fail instead of causing an unpredictable mutation. + ConflictToken []byte `protobuf:"bytes,3,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + // Types that are valid to be assigned to Operation: + // + // *UpdateWorkerVersioningRulesRequest_InsertAssignmentRule + // *UpdateWorkerVersioningRulesRequest_ReplaceAssignmentRule + // *UpdateWorkerVersioningRulesRequest_DeleteAssignmentRule + // *UpdateWorkerVersioningRulesRequest_AddCompatibleRedirectRule + // *UpdateWorkerVersioningRulesRequest_ReplaceCompatibleRedirectRule + // *UpdateWorkerVersioningRulesRequest_DeleteCompatibleRedirectRule + // *UpdateWorkerVersioningRulesRequest_CommitBuildId_ + Operation isUpdateWorkerVersioningRulesRequest_Operation `protobuf_oneof:"operation"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerVersioningRulesRequest) Reset() { + *x = UpdateWorkerVersioningRulesRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[104] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerVersioningRulesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerVersioningRulesRequest) ProtoMessage() {} + +func (x *UpdateWorkerVersioningRulesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[104] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerVersioningRulesRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkerVersioningRulesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{104} +} + +func (x *UpdateWorkerVersioningRulesRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateWorkerVersioningRulesRequest) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *UpdateWorkerVersioningRulesRequest) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +func (x *UpdateWorkerVersioningRulesRequest) GetOperation() isUpdateWorkerVersioningRulesRequest_Operation { + if x != nil { + return x.Operation + } + return nil +} + +func (x *UpdateWorkerVersioningRulesRequest) GetInsertAssignmentRule() *UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerVersioningRulesRequest_InsertAssignmentRule); ok { + return x.InsertAssignmentRule + } + } + return nil +} + +func (x *UpdateWorkerVersioningRulesRequest) GetReplaceAssignmentRule() *UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerVersioningRulesRequest_ReplaceAssignmentRule); ok { + return x.ReplaceAssignmentRule + } + } + return nil +} + +func (x *UpdateWorkerVersioningRulesRequest) GetDeleteAssignmentRule() *UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerVersioningRulesRequest_DeleteAssignmentRule); ok { + return x.DeleteAssignmentRule + } + } + return nil +} + +func (x *UpdateWorkerVersioningRulesRequest) GetAddCompatibleRedirectRule() *UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerVersioningRulesRequest_AddCompatibleRedirectRule); ok { + return x.AddCompatibleRedirectRule + } + } + return nil +} + +func (x *UpdateWorkerVersioningRulesRequest) GetReplaceCompatibleRedirectRule() *UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerVersioningRulesRequest_ReplaceCompatibleRedirectRule); ok { + return x.ReplaceCompatibleRedirectRule + } + } + return nil +} + +func (x *UpdateWorkerVersioningRulesRequest) GetDeleteCompatibleRedirectRule() *UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerVersioningRulesRequest_DeleteCompatibleRedirectRule); ok { + return x.DeleteCompatibleRedirectRule + } + } + return nil +} + +func (x *UpdateWorkerVersioningRulesRequest) GetCommitBuildId() *UpdateWorkerVersioningRulesRequest_CommitBuildId { + if x != nil { + if x, ok := x.Operation.(*UpdateWorkerVersioningRulesRequest_CommitBuildId_); ok { + return x.CommitBuildId + } + } + return nil +} + +type isUpdateWorkerVersioningRulesRequest_Operation interface { + isUpdateWorkerVersioningRulesRequest_Operation() +} + +type UpdateWorkerVersioningRulesRequest_InsertAssignmentRule struct { + InsertAssignmentRule *UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule `protobuf:"bytes,4,opt,name=insert_assignment_rule,json=insertAssignmentRule,proto3,oneof"` +} + +type UpdateWorkerVersioningRulesRequest_ReplaceAssignmentRule struct { + ReplaceAssignmentRule *UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule `protobuf:"bytes,5,opt,name=replace_assignment_rule,json=replaceAssignmentRule,proto3,oneof"` +} + +type UpdateWorkerVersioningRulesRequest_DeleteAssignmentRule struct { + DeleteAssignmentRule *UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule `protobuf:"bytes,6,opt,name=delete_assignment_rule,json=deleteAssignmentRule,proto3,oneof"` +} + +type UpdateWorkerVersioningRulesRequest_AddCompatibleRedirectRule struct { + AddCompatibleRedirectRule *UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule `protobuf:"bytes,7,opt,name=add_compatible_redirect_rule,json=addCompatibleRedirectRule,proto3,oneof"` +} + +type UpdateWorkerVersioningRulesRequest_ReplaceCompatibleRedirectRule struct { + ReplaceCompatibleRedirectRule *UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule `protobuf:"bytes,8,opt,name=replace_compatible_redirect_rule,json=replaceCompatibleRedirectRule,proto3,oneof"` +} + +type UpdateWorkerVersioningRulesRequest_DeleteCompatibleRedirectRule struct { + DeleteCompatibleRedirectRule *UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule `protobuf:"bytes,9,opt,name=delete_compatible_redirect_rule,json=deleteCompatibleRedirectRule,proto3,oneof"` +} + +type UpdateWorkerVersioningRulesRequest_CommitBuildId_ struct { + CommitBuildId *UpdateWorkerVersioningRulesRequest_CommitBuildId `protobuf:"bytes,10,opt,name=commit_build_id,json=commitBuildId,proto3,oneof"` +} + +func (*UpdateWorkerVersioningRulesRequest_InsertAssignmentRule) isUpdateWorkerVersioningRulesRequest_Operation() { +} + +func (*UpdateWorkerVersioningRulesRequest_ReplaceAssignmentRule) isUpdateWorkerVersioningRulesRequest_Operation() { +} + +func (*UpdateWorkerVersioningRulesRequest_DeleteAssignmentRule) isUpdateWorkerVersioningRulesRequest_Operation() { +} + +func (*UpdateWorkerVersioningRulesRequest_AddCompatibleRedirectRule) isUpdateWorkerVersioningRulesRequest_Operation() { +} + +func (*UpdateWorkerVersioningRulesRequest_ReplaceCompatibleRedirectRule) isUpdateWorkerVersioningRulesRequest_Operation() { +} + +func (*UpdateWorkerVersioningRulesRequest_DeleteCompatibleRedirectRule) isUpdateWorkerVersioningRulesRequest_Operation() { +} + +func (*UpdateWorkerVersioningRulesRequest_CommitBuildId_) isUpdateWorkerVersioningRulesRequest_Operation() { +} + +// [cleanup-wv-pre-release] +type UpdateWorkerVersioningRulesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AssignmentRules []*v14.TimestampedBuildIdAssignmentRule `protobuf:"bytes,1,rep,name=assignment_rules,json=assignmentRules,proto3" json:"assignment_rules,omitempty"` + CompatibleRedirectRules []*v14.TimestampedCompatibleBuildIdRedirectRule `protobuf:"bytes,2,rep,name=compatible_redirect_rules,json=compatibleRedirectRules,proto3" json:"compatible_redirect_rules,omitempty"` + // This value can be passed back to UpdateWorkerVersioningRulesRequest to + // ensure that the rules were not modified between the two updates, which + // could lead to lost updates and other confusion. + ConflictToken []byte `protobuf:"bytes,3,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerVersioningRulesResponse) Reset() { + *x = UpdateWorkerVersioningRulesResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[105] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerVersioningRulesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerVersioningRulesResponse) ProtoMessage() {} + +func (x *UpdateWorkerVersioningRulesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[105] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerVersioningRulesResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkerVersioningRulesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{105} +} + +func (x *UpdateWorkerVersioningRulesResponse) GetAssignmentRules() []*v14.TimestampedBuildIdAssignmentRule { + if x != nil { + return x.AssignmentRules + } + return nil +} + +func (x *UpdateWorkerVersioningRulesResponse) GetCompatibleRedirectRules() []*v14.TimestampedCompatibleBuildIdRedirectRule { + if x != nil { + return x.CompatibleRedirectRules + } + return nil +} + +func (x *UpdateWorkerVersioningRulesResponse) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +// [cleanup-wv-pre-release] +type GetWorkerVersioningRulesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + TaskQueue string `protobuf:"bytes,2,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkerVersioningRulesRequest) Reset() { + *x = GetWorkerVersioningRulesRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[106] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkerVersioningRulesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkerVersioningRulesRequest) ProtoMessage() {} + +func (x *GetWorkerVersioningRulesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[106] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkerVersioningRulesRequest.ProtoReflect.Descriptor instead. +func (*GetWorkerVersioningRulesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{106} +} + +func (x *GetWorkerVersioningRulesRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *GetWorkerVersioningRulesRequest) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +// [cleanup-wv-pre-release] +type GetWorkerVersioningRulesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + AssignmentRules []*v14.TimestampedBuildIdAssignmentRule `protobuf:"bytes,1,rep,name=assignment_rules,json=assignmentRules,proto3" json:"assignment_rules,omitempty"` + CompatibleRedirectRules []*v14.TimestampedCompatibleBuildIdRedirectRule `protobuf:"bytes,2,rep,name=compatible_redirect_rules,json=compatibleRedirectRules,proto3" json:"compatible_redirect_rules,omitempty"` + // This value can be passed back to UpdateWorkerVersioningRulesRequest to + // ensure that the rules were not modified between this List and the Update, + // which could lead to lost updates and other confusion. + ConflictToken []byte `protobuf:"bytes,3,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkerVersioningRulesResponse) Reset() { + *x = GetWorkerVersioningRulesResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[107] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkerVersioningRulesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkerVersioningRulesResponse) ProtoMessage() {} + +func (x *GetWorkerVersioningRulesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[107] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkerVersioningRulesResponse.ProtoReflect.Descriptor instead. +func (*GetWorkerVersioningRulesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{107} +} + +func (x *GetWorkerVersioningRulesResponse) GetAssignmentRules() []*v14.TimestampedBuildIdAssignmentRule { + if x != nil { + return x.AssignmentRules + } + return nil +} + +func (x *GetWorkerVersioningRulesResponse) GetCompatibleRedirectRules() []*v14.TimestampedCompatibleBuildIdRedirectRule { + if x != nil { + return x.CompatibleRedirectRules + } + return nil +} + +func (x *GetWorkerVersioningRulesResponse) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +// [cleanup-wv-pre-release] +// Deprecated. Use `DescribeTaskQueue`. +type GetWorkerTaskReachabilityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Build ids to retrieve reachability for. An empty string will be interpreted as an unversioned worker. + // The number of build ids that can be queried in a single API call is limited. + // Open source users can adjust this limit by setting the server's dynamic config value for + // `limit.reachabilityQueryBuildIds` with the caveat that this call can strain the visibility store. + BuildIds []string `protobuf:"bytes,2,rep,name=build_ids,json=buildIds,proto3" json:"build_ids,omitempty"` + // Task queues to retrieve reachability for. Leave this empty to query for all task queues associated with given + // build ids in the namespace. + // Must specify at least one task queue if querying for an unversioned worker. + // The number of task queues that the server will fetch reachability information for is limited. + // See the `GetWorkerTaskReachabilityResponse` documentation for more information. + TaskQueues []string `protobuf:"bytes,3,rep,name=task_queues,json=taskQueues,proto3" json:"task_queues,omitempty"` + // Type of reachability to query for. + // `TASK_REACHABILITY_NEW_WORKFLOWS` is always returned in the response. + // Use `TASK_REACHABILITY_EXISTING_WORKFLOWS` if your application needs to respond to queries on closed workflows. + // Otherwise, use `TASK_REACHABILITY_OPEN_WORKFLOWS`. Default is `TASK_REACHABILITY_EXISTING_WORKFLOWS` if left + // unspecified. + // See the TaskReachability docstring for information about each enum variant. + Reachability v11.TaskReachability `protobuf:"varint,4,opt,name=reachability,proto3,enum=temporal.api.enums.v1.TaskReachability" json:"reachability,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkerTaskReachabilityRequest) Reset() { + *x = GetWorkerTaskReachabilityRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[108] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkerTaskReachabilityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkerTaskReachabilityRequest) ProtoMessage() {} + +func (x *GetWorkerTaskReachabilityRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[108] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkerTaskReachabilityRequest.ProtoReflect.Descriptor instead. +func (*GetWorkerTaskReachabilityRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{108} +} + +func (x *GetWorkerTaskReachabilityRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *GetWorkerTaskReachabilityRequest) GetBuildIds() []string { + if x != nil { + return x.BuildIds + } + return nil +} + +func (x *GetWorkerTaskReachabilityRequest) GetTaskQueues() []string { + if x != nil { + return x.TaskQueues + } + return nil +} + +func (x *GetWorkerTaskReachabilityRequest) GetReachability() v11.TaskReachability { + if x != nil { + return x.Reachability + } + return v11.TaskReachability(0) +} + +// [cleanup-wv-pre-release] +// Deprecated. Use `DescribeTaskQueue`. +type GetWorkerTaskReachabilityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Task reachability, broken down by build id and then task queue. + // When requesting a large number of task queues or all task queues associated with the given build ids in a + // namespace, all task queues will be listed in the response but some of them may not contain reachability + // information due to a server enforced limit. When reaching the limit, task queues that reachability information + // could not be retrieved for will be marked with a single TASK_REACHABILITY_UNSPECIFIED entry. The caller may issue + // another call to get the reachability for those task queues. + // + // Open source users can adjust this limit by setting the server's dynamic config value for + // `limit.reachabilityTaskQueueScan` with the caveat that this call can strain the visibility store. + BuildIdReachability []*v14.BuildIdReachability `protobuf:"bytes,1,rep,name=build_id_reachability,json=buildIdReachability,proto3" json:"build_id_reachability,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetWorkerTaskReachabilityResponse) Reset() { + *x = GetWorkerTaskReachabilityResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[109] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetWorkerTaskReachabilityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetWorkerTaskReachabilityResponse) ProtoMessage() {} + +func (x *GetWorkerTaskReachabilityResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[109] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetWorkerTaskReachabilityResponse.ProtoReflect.Descriptor instead. +func (*GetWorkerTaskReachabilityResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{109} +} + +func (x *GetWorkerTaskReachabilityResponse) GetBuildIdReachability() []*v14.BuildIdReachability { + if x != nil { + return x.BuildIdReachability + } + return nil +} + +// (-- api-linter: core::0134=disabled +// +// aip.dev/not-precedent: Update RPCs don't follow Google API format. --) +type UpdateWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace name of the target Workflow. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The target Workflow Id and (optionally) a specific Run Id thereof. + // (-- api-linter: core::0203::optional=disabled + // + // aip.dev/not-precedent: false positive triggered by the word "optional" --) + WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + // If set, this call will error if the most recent (if no Run Id is set on + // `workflow_execution`), or specified (if it is) Workflow Execution is not + // part of the same execution chain as this Id. + FirstExecutionRunId string `protobuf:"bytes,3,opt,name=first_execution_run_id,json=firstExecutionRunId,proto3" json:"first_execution_run_id,omitempty"` + // Specifies client's intent to wait for Update results. + // NOTE: This field works together with API call timeout which is limited by + // server timeout (maximum wait time). If server timeout is expired before + // user specified timeout, API call returns even if specified stage is not reached. + // Actual reached stage will be included in the response. + WaitPolicy *v117.WaitPolicy `protobuf:"bytes,4,opt,name=wait_policy,json=waitPolicy,proto3" json:"wait_policy,omitempty"` + // The request information that will be delivered all the way down to the + // Workflow Execution. + Request *v117.Request `protobuf:"bytes,5,opt,name=request,proto3" json:"request,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkflowExecutionRequest) Reset() { + *x = UpdateWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[110] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkflowExecutionRequest) ProtoMessage() {} + +func (x *UpdateWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[110] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{110} +} + +func (x *UpdateWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateWorkflowExecutionRequest) GetWorkflowExecution() *v13.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *UpdateWorkflowExecutionRequest) GetFirstExecutionRunId() string { + if x != nil { + return x.FirstExecutionRunId + } + return "" +} + +func (x *UpdateWorkflowExecutionRequest) GetWaitPolicy() *v117.WaitPolicy { + if x != nil { + return x.WaitPolicy + } + return nil +} + +func (x *UpdateWorkflowExecutionRequest) GetRequest() *v117.Request { + if x != nil { + return x.Request + } + return nil +} + +type UpdateWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Enough information for subsequent poll calls if needed. Never null. + UpdateRef *v117.UpdateRef `protobuf:"bytes,1,opt,name=update_ref,json=updateRef,proto3" json:"update_ref,omitempty"` + // The outcome of the Update if and only if the Workflow Update + // has completed. If this response is being returned before the Update has + // completed then this field will not be set. + Outcome *v117.Outcome `protobuf:"bytes,2,opt,name=outcome,proto3" json:"outcome,omitempty"` + // The most advanced lifecycle stage that the Update is known to have + // reached, where lifecycle stages are ordered + // UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED < + // UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED < + // UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED < + // UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED. + // UNSPECIFIED will be returned if and only if the server's maximum wait + // time was reached before the Update reached the stage specified in the + // request WaitPolicy, and before the context deadline expired; clients may + // may then retry the call as needed. + Stage v11.UpdateWorkflowExecutionLifecycleStage `protobuf:"varint,3,opt,name=stage,proto3,enum=temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage" json:"stage,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkflowExecutionResponse) Reset() { + *x = UpdateWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[111] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkflowExecutionResponse) ProtoMessage() {} + +func (x *UpdateWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[111] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{111} +} + +func (x *UpdateWorkflowExecutionResponse) GetUpdateRef() *v117.UpdateRef { + if x != nil { + return x.UpdateRef + } + return nil +} + +func (x *UpdateWorkflowExecutionResponse) GetOutcome() *v117.Outcome { + if x != nil { + return x.Outcome + } + return nil +} + +func (x *UpdateWorkflowExecutionResponse) GetStage() v11.UpdateWorkflowExecutionLifecycleStage { + if x != nil { + return x.Stage + } + return v11.UpdateWorkflowExecutionLifecycleStage(0) +} + +type StartBatchOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace that contains the batch operation + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Visibility query defines the the group of workflow to apply the batch operation + // This field and `executions` are mutually exclusive + VisibilityQuery string `protobuf:"bytes,2,opt,name=visibility_query,json=visibilityQuery,proto3" json:"visibility_query,omitempty"` + // Job ID defines the unique ID for the batch job + JobId string `protobuf:"bytes,3,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // Reason to perform the batch operation + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` + // Executions to apply the batch operation + // This field and `visibility_query` are mutually exclusive + Executions []*v13.WorkflowExecution `protobuf:"bytes,5,rep,name=executions,proto3" json:"executions,omitempty"` + // Limit for the number of operations processed per second within this batch. + // Its purpose is to reduce the stress on the system caused by batch operations, which helps to prevent system + // overload and minimize potential delays in executing ongoing tasks for user workers. + // Note that when no explicit limit is provided, the server will operate according to its limit defined by the + // dynamic configuration key `worker.batcherRPS`. This also applies if the value in this field exceeds the + // server's configured limit. + MaxOperationsPerSecond float32 `protobuf:"fixed32,6,opt,name=max_operations_per_second,json=maxOperationsPerSecond,proto3" json:"max_operations_per_second,omitempty"` + // Operation input + // + // Types that are valid to be assigned to Operation: + // + // *StartBatchOperationRequest_TerminationOperation + // *StartBatchOperationRequest_SignalOperation + // *StartBatchOperationRequest_CancellationOperation + // *StartBatchOperationRequest_DeletionOperation + // *StartBatchOperationRequest_ResetOperation + // *StartBatchOperationRequest_UpdateWorkflowOptionsOperation + // *StartBatchOperationRequest_UnpauseActivitiesOperation + // *StartBatchOperationRequest_ResetActivitiesOperation + // *StartBatchOperationRequest_UpdateActivityOptionsOperation + Operation isStartBatchOperationRequest_Operation `protobuf_oneof:"operation"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartBatchOperationRequest) Reset() { + *x = StartBatchOperationRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[112] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartBatchOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartBatchOperationRequest) ProtoMessage() {} + +func (x *StartBatchOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[112] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartBatchOperationRequest.ProtoReflect.Descriptor instead. +func (*StartBatchOperationRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{112} +} + +func (x *StartBatchOperationRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *StartBatchOperationRequest) GetVisibilityQuery() string { + if x != nil { + return x.VisibilityQuery + } + return "" +} + +func (x *StartBatchOperationRequest) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + +func (x *StartBatchOperationRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *StartBatchOperationRequest) GetExecutions() []*v13.WorkflowExecution { + if x != nil { + return x.Executions + } + return nil +} + +func (x *StartBatchOperationRequest) GetMaxOperationsPerSecond() float32 { + if x != nil { + return x.MaxOperationsPerSecond + } + return 0 +} + +func (x *StartBatchOperationRequest) GetOperation() isStartBatchOperationRequest_Operation { + if x != nil { + return x.Operation + } + return nil +} + +func (x *StartBatchOperationRequest) GetTerminationOperation() *v118.BatchOperationTermination { + if x != nil { + if x, ok := x.Operation.(*StartBatchOperationRequest_TerminationOperation); ok { + return x.TerminationOperation + } + } + return nil +} + +func (x *StartBatchOperationRequest) GetSignalOperation() *v118.BatchOperationSignal { + if x != nil { + if x, ok := x.Operation.(*StartBatchOperationRequest_SignalOperation); ok { + return x.SignalOperation + } + } + return nil +} + +func (x *StartBatchOperationRequest) GetCancellationOperation() *v118.BatchOperationCancellation { + if x != nil { + if x, ok := x.Operation.(*StartBatchOperationRequest_CancellationOperation); ok { + return x.CancellationOperation + } + } + return nil +} + +func (x *StartBatchOperationRequest) GetDeletionOperation() *v118.BatchOperationDeletion { + if x != nil { + if x, ok := x.Operation.(*StartBatchOperationRequest_DeletionOperation); ok { + return x.DeletionOperation + } + } + return nil +} + +func (x *StartBatchOperationRequest) GetResetOperation() *v118.BatchOperationReset { + if x != nil { + if x, ok := x.Operation.(*StartBatchOperationRequest_ResetOperation); ok { + return x.ResetOperation + } + } + return nil +} + +func (x *StartBatchOperationRequest) GetUpdateWorkflowOptionsOperation() *v118.BatchOperationUpdateWorkflowExecutionOptions { + if x != nil { + if x, ok := x.Operation.(*StartBatchOperationRequest_UpdateWorkflowOptionsOperation); ok { + return x.UpdateWorkflowOptionsOperation + } + } + return nil +} + +func (x *StartBatchOperationRequest) GetUnpauseActivitiesOperation() *v118.BatchOperationUnpauseActivities { + if x != nil { + if x, ok := x.Operation.(*StartBatchOperationRequest_UnpauseActivitiesOperation); ok { + return x.UnpauseActivitiesOperation + } + } + return nil +} + +func (x *StartBatchOperationRequest) GetResetActivitiesOperation() *v118.BatchOperationResetActivities { + if x != nil { + if x, ok := x.Operation.(*StartBatchOperationRequest_ResetActivitiesOperation); ok { + return x.ResetActivitiesOperation + } + } + return nil +} + +func (x *StartBatchOperationRequest) GetUpdateActivityOptionsOperation() *v118.BatchOperationUpdateActivityOptions { + if x != nil { + if x, ok := x.Operation.(*StartBatchOperationRequest_UpdateActivityOptionsOperation); ok { + return x.UpdateActivityOptionsOperation + } + } + return nil +} + +type isStartBatchOperationRequest_Operation interface { + isStartBatchOperationRequest_Operation() +} + +type StartBatchOperationRequest_TerminationOperation struct { + TerminationOperation *v118.BatchOperationTermination `protobuf:"bytes,10,opt,name=termination_operation,json=terminationOperation,proto3,oneof"` +} + +type StartBatchOperationRequest_SignalOperation struct { + SignalOperation *v118.BatchOperationSignal `protobuf:"bytes,11,opt,name=signal_operation,json=signalOperation,proto3,oneof"` +} + +type StartBatchOperationRequest_CancellationOperation struct { + CancellationOperation *v118.BatchOperationCancellation `protobuf:"bytes,12,opt,name=cancellation_operation,json=cancellationOperation,proto3,oneof"` +} + +type StartBatchOperationRequest_DeletionOperation struct { + DeletionOperation *v118.BatchOperationDeletion `protobuf:"bytes,13,opt,name=deletion_operation,json=deletionOperation,proto3,oneof"` +} + +type StartBatchOperationRequest_ResetOperation struct { + ResetOperation *v118.BatchOperationReset `protobuf:"bytes,14,opt,name=reset_operation,json=resetOperation,proto3,oneof"` +} + +type StartBatchOperationRequest_UpdateWorkflowOptionsOperation struct { + UpdateWorkflowOptionsOperation *v118.BatchOperationUpdateWorkflowExecutionOptions `protobuf:"bytes,15,opt,name=update_workflow_options_operation,json=updateWorkflowOptionsOperation,proto3,oneof"` +} + +type StartBatchOperationRequest_UnpauseActivitiesOperation struct { + UnpauseActivitiesOperation *v118.BatchOperationUnpauseActivities `protobuf:"bytes,16,opt,name=unpause_activities_operation,json=unpauseActivitiesOperation,proto3,oneof"` +} + +type StartBatchOperationRequest_ResetActivitiesOperation struct { + ResetActivitiesOperation *v118.BatchOperationResetActivities `protobuf:"bytes,17,opt,name=reset_activities_operation,json=resetActivitiesOperation,proto3,oneof"` +} + +type StartBatchOperationRequest_UpdateActivityOptionsOperation struct { + UpdateActivityOptionsOperation *v118.BatchOperationUpdateActivityOptions `protobuf:"bytes,18,opt,name=update_activity_options_operation,json=updateActivityOptionsOperation,proto3,oneof"` +} + +func (*StartBatchOperationRequest_TerminationOperation) isStartBatchOperationRequest_Operation() {} + +func (*StartBatchOperationRequest_SignalOperation) isStartBatchOperationRequest_Operation() {} + +func (*StartBatchOperationRequest_CancellationOperation) isStartBatchOperationRequest_Operation() {} + +func (*StartBatchOperationRequest_DeletionOperation) isStartBatchOperationRequest_Operation() {} + +func (*StartBatchOperationRequest_ResetOperation) isStartBatchOperationRequest_Operation() {} + +func (*StartBatchOperationRequest_UpdateWorkflowOptionsOperation) isStartBatchOperationRequest_Operation() { +} + +func (*StartBatchOperationRequest_UnpauseActivitiesOperation) isStartBatchOperationRequest_Operation() { +} + +func (*StartBatchOperationRequest_ResetActivitiesOperation) isStartBatchOperationRequest_Operation() { +} + +func (*StartBatchOperationRequest_UpdateActivityOptionsOperation) isStartBatchOperationRequest_Operation() { +} + +type StartBatchOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartBatchOperationResponse) Reset() { + *x = StartBatchOperationResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[113] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartBatchOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartBatchOperationResponse) ProtoMessage() {} + +func (x *StartBatchOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[113] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartBatchOperationResponse.ProtoReflect.Descriptor instead. +func (*StartBatchOperationResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{113} +} + +type StopBatchOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace that contains the batch operation + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Batch job id + JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // Reason to stop a batch operation + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + // Identity of the operator + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StopBatchOperationRequest) Reset() { + *x = StopBatchOperationRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[114] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StopBatchOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopBatchOperationRequest) ProtoMessage() {} + +func (x *StopBatchOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[114] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopBatchOperationRequest.ProtoReflect.Descriptor instead. +func (*StopBatchOperationRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{114} +} + +func (x *StopBatchOperationRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *StopBatchOperationRequest) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + +func (x *StopBatchOperationRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *StopBatchOperationRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type StopBatchOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StopBatchOperationResponse) Reset() { + *x = StopBatchOperationResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[115] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StopBatchOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StopBatchOperationResponse) ProtoMessage() {} + +func (x *StopBatchOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[115] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StopBatchOperationResponse.ProtoReflect.Descriptor instead. +func (*StopBatchOperationResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{115} +} + +type DescribeBatchOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace that contains the batch operation + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Batch job id + JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeBatchOperationRequest) Reset() { + *x = DescribeBatchOperationRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[116] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeBatchOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeBatchOperationRequest) ProtoMessage() {} + +func (x *DescribeBatchOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[116] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeBatchOperationRequest.ProtoReflect.Descriptor instead. +func (*DescribeBatchOperationRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{116} +} + +func (x *DescribeBatchOperationRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeBatchOperationRequest) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + +type DescribeBatchOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Batch operation type + OperationType v11.BatchOperationType `protobuf:"varint,1,opt,name=operation_type,json=operationType,proto3,enum=temporal.api.enums.v1.BatchOperationType" json:"operation_type,omitempty"` + // Batch job ID + JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + // Batch operation state + State v11.BatchOperationState `protobuf:"varint,3,opt,name=state,proto3,enum=temporal.api.enums.v1.BatchOperationState" json:"state,omitempty"` + // Batch operation start time + StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` + // Batch operation close time + CloseTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=close_time,json=closeTime,proto3" json:"close_time,omitempty"` + // Total operation count + TotalOperationCount int64 `protobuf:"varint,6,opt,name=total_operation_count,json=totalOperationCount,proto3" json:"total_operation_count,omitempty"` + // Complete operation count + CompleteOperationCount int64 `protobuf:"varint,7,opt,name=complete_operation_count,json=completeOperationCount,proto3" json:"complete_operation_count,omitempty"` + // Failure operation count + FailureOperationCount int64 `protobuf:"varint,8,opt,name=failure_operation_count,json=failureOperationCount,proto3" json:"failure_operation_count,omitempty"` + // Identity indicates the operator identity + Identity string `protobuf:"bytes,9,opt,name=identity,proto3" json:"identity,omitempty"` + // Reason indicates the reason to stop a operation + Reason string `protobuf:"bytes,10,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeBatchOperationResponse) Reset() { + *x = DescribeBatchOperationResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[117] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeBatchOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeBatchOperationResponse) ProtoMessage() {} + +func (x *DescribeBatchOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[117] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeBatchOperationResponse.ProtoReflect.Descriptor instead. +func (*DescribeBatchOperationResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{117} +} + +func (x *DescribeBatchOperationResponse) GetOperationType() v11.BatchOperationType { + if x != nil { + return x.OperationType + } + return v11.BatchOperationType(0) +} + +func (x *DescribeBatchOperationResponse) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + +func (x *DescribeBatchOperationResponse) GetState() v11.BatchOperationState { + if x != nil { + return x.State + } + return v11.BatchOperationState(0) +} + +func (x *DescribeBatchOperationResponse) GetStartTime() *timestamppb.Timestamp { + if x != nil { + return x.StartTime + } + return nil +} + +func (x *DescribeBatchOperationResponse) GetCloseTime() *timestamppb.Timestamp { + if x != nil { + return x.CloseTime + } + return nil +} + +func (x *DescribeBatchOperationResponse) GetTotalOperationCount() int64 { + if x != nil { + return x.TotalOperationCount + } + return 0 +} + +func (x *DescribeBatchOperationResponse) GetCompleteOperationCount() int64 { + if x != nil { + return x.CompleteOperationCount + } + return 0 +} + +func (x *DescribeBatchOperationResponse) GetFailureOperationCount() int64 { + if x != nil { + return x.FailureOperationCount + } + return 0 +} + +func (x *DescribeBatchOperationResponse) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *DescribeBatchOperationResponse) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type ListBatchOperationsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace that contains the batch operation + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // List page size + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Next page token + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListBatchOperationsRequest) Reset() { + *x = ListBatchOperationsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[118] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListBatchOperationsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBatchOperationsRequest) ProtoMessage() {} + +func (x *ListBatchOperationsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[118] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListBatchOperationsRequest.ProtoReflect.Descriptor instead. +func (*ListBatchOperationsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{118} +} + +func (x *ListBatchOperationsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListBatchOperationsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListBatchOperationsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type ListBatchOperationsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // BatchOperationInfo contains the basic info about batch operation + OperationInfo []*v118.BatchOperationInfo `protobuf:"bytes,1,rep,name=operation_info,json=operationInfo,proto3" json:"operation_info,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListBatchOperationsResponse) Reset() { + *x = ListBatchOperationsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[119] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListBatchOperationsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListBatchOperationsResponse) ProtoMessage() {} + +func (x *ListBatchOperationsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[119] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListBatchOperationsResponse.ProtoReflect.Descriptor instead. +func (*ListBatchOperationsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{119} +} + +func (x *ListBatchOperationsResponse) GetOperationInfo() []*v118.BatchOperationInfo { + if x != nil { + return x.OperationInfo + } + return nil +} + +func (x *ListBatchOperationsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type PollWorkflowExecutionUpdateRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace of the Workflow Execution to which the Update was + // originally issued. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The Update reference returned in the initial UpdateWorkflowExecutionResponse. + UpdateRef *v117.UpdateRef `protobuf:"bytes,2,opt,name=update_ref,json=updateRef,proto3" json:"update_ref,omitempty"` + // The identity of the worker/client who is polling this Update outcome. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // Specifies client's intent to wait for Update results. + // Omit to request a non-blocking poll. + WaitPolicy *v117.WaitPolicy `protobuf:"bytes,4,opt,name=wait_policy,json=waitPolicy,proto3" json:"wait_policy,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollWorkflowExecutionUpdateRequest) Reset() { + *x = PollWorkflowExecutionUpdateRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[120] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollWorkflowExecutionUpdateRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollWorkflowExecutionUpdateRequest) ProtoMessage() {} + +func (x *PollWorkflowExecutionUpdateRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[120] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollWorkflowExecutionUpdateRequest.ProtoReflect.Descriptor instead. +func (*PollWorkflowExecutionUpdateRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{120} +} + +func (x *PollWorkflowExecutionUpdateRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PollWorkflowExecutionUpdateRequest) GetUpdateRef() *v117.UpdateRef { + if x != nil { + return x.UpdateRef + } + return nil +} + +func (x *PollWorkflowExecutionUpdateRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PollWorkflowExecutionUpdateRequest) GetWaitPolicy() *v117.WaitPolicy { + if x != nil { + return x.WaitPolicy + } + return nil +} + +type PollWorkflowExecutionUpdateResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The outcome of the update if and only if the update has completed. If + // this response is being returned before the update has completed (e.g. due + // to the specification of a wait policy that only waits on + // UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED) then this field will + // not be set. + Outcome *v117.Outcome `protobuf:"bytes,1,opt,name=outcome,proto3" json:"outcome,omitempty"` + // The most advanced lifecycle stage that the Update is known to have + // reached, where lifecycle stages are ordered + // UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_UNSPECIFIED < + // UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ADMITTED < + // UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_ACCEPTED < + // UPDATE_WORKFLOW_EXECUTION_LIFECYCLE_STAGE_COMPLETED. + // UNSPECIFIED will be returned if and only if the server's maximum wait + // time was reached before the Update reached the stage specified in the + // request WaitPolicy, and before the context deadline expired; clients may + // may then retry the call as needed. + Stage v11.UpdateWorkflowExecutionLifecycleStage `protobuf:"varint,2,opt,name=stage,proto3,enum=temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage" json:"stage,omitempty"` + // Sufficient information to address this Update. + UpdateRef *v117.UpdateRef `protobuf:"bytes,3,opt,name=update_ref,json=updateRef,proto3" json:"update_ref,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollWorkflowExecutionUpdateResponse) Reset() { + *x = PollWorkflowExecutionUpdateResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[121] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollWorkflowExecutionUpdateResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollWorkflowExecutionUpdateResponse) ProtoMessage() {} + +func (x *PollWorkflowExecutionUpdateResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[121] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollWorkflowExecutionUpdateResponse.ProtoReflect.Descriptor instead. +func (*PollWorkflowExecutionUpdateResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{121} +} + +func (x *PollWorkflowExecutionUpdateResponse) GetOutcome() *v117.Outcome { + if x != nil { + return x.Outcome + } + return nil +} + +func (x *PollWorkflowExecutionUpdateResponse) GetStage() v11.UpdateWorkflowExecutionLifecycleStage { + if x != nil { + return x.Stage + } + return v11.UpdateWorkflowExecutionLifecycleStage(0) +} + +func (x *PollWorkflowExecutionUpdateResponse) GetUpdateRef() *v117.UpdateRef { + if x != nil { + return x.UpdateRef + } + return nil +} + +type PollNexusTaskQueueRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + TaskQueue *v14.TaskQueue `protobuf:"bytes,3,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Unless this is the first poll, the client must pass one of the poller group IDs received in + // `poller_group_infos` of the last the PollNexusTaskQueueResponse according to the + // instructions. If not set, the poll is routed randomly which can cause it being blocked + // without receiving a task while the queue actually has tasks in another server location. + PollerGroupId string `protobuf:"bytes,9,opt,name=poller_group_id,json=pollerGroupId,proto3" json:"poller_group_id,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique key for this worker instance, used for tracking worker lifecycle. + // This is guaranteed to be unique, whereas identity is not guaranteed to be unique. + WorkerInstanceKey string `protobuf:"bytes,8,opt,name=worker_instance_key,json=workerInstanceKey,proto3" json:"worker_instance_key,omitempty"` + // Information about this worker's build identifier and if it is choosing to use the versioning + // feature. See the `WorkerVersionCapabilities` docstring for more. + // Deprecated. Replaced by deployment_options. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + WorkerVersionCapabilities *v13.WorkerVersionCapabilities `protobuf:"bytes,4,opt,name=worker_version_capabilities,json=workerVersionCapabilities,proto3" json:"worker_version_capabilities,omitempty"` + // Worker deployment options that user has set in the worker. + DeploymentOptions *v18.WorkerDeploymentOptions `protobuf:"bytes,6,opt,name=deployment_options,json=deploymentOptions,proto3" json:"deployment_options,omitempty"` + // Worker info to be sent to the server. + WorkerHeartbeat []*v114.WorkerHeartbeat `protobuf:"bytes,7,rep,name=worker_heartbeat,json=workerHeartbeat,proto3" json:"worker_heartbeat,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollNexusTaskQueueRequest) Reset() { + *x = PollNexusTaskQueueRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[122] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollNexusTaskQueueRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollNexusTaskQueueRequest) ProtoMessage() {} + +func (x *PollNexusTaskQueueRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[122] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollNexusTaskQueueRequest.ProtoReflect.Descriptor instead. +func (*PollNexusTaskQueueRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{122} +} + +func (x *PollNexusTaskQueueRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PollNexusTaskQueueRequest) GetTaskQueue() *v14.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *PollNexusTaskQueueRequest) GetPollerGroupId() string { + if x != nil { + return x.PollerGroupId + } + return "" +} + +func (x *PollNexusTaskQueueRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PollNexusTaskQueueRequest) GetWorkerInstanceKey() string { + if x != nil { + return x.WorkerInstanceKey + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *PollNexusTaskQueueRequest) GetWorkerVersionCapabilities() *v13.WorkerVersionCapabilities { + if x != nil { + return x.WorkerVersionCapabilities + } + return nil +} + +func (x *PollNexusTaskQueueRequest) GetDeploymentOptions() *v18.WorkerDeploymentOptions { + if x != nil { + return x.DeploymentOptions + } + return nil +} + +func (x *PollNexusTaskQueueRequest) GetWorkerHeartbeat() []*v114.WorkerHeartbeat { + if x != nil { + return x.WorkerHeartbeat + } + return nil +} + +type PollNexusTaskQueueResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // An opaque unique identifier for this task for correlating a completion request the embedded request. + TaskToken []byte `protobuf:"bytes,1,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // Embedded request as translated from the incoming frontend request. + Request *v119.Request `protobuf:"bytes,2,opt,name=request,proto3" json:"request,omitempty"` + // Server-advised information the SDK may use to adjust its poller count. + PollerScalingDecision *v14.PollerScalingDecision `protobuf:"bytes,3,opt,name=poller_scaling_decision,json=pollerScalingDecision,proto3" json:"poller_scaling_decision,omitempty"` + // This poller group ID identifies the owner of the nexus task awaiting for synchronous + // response. + // Corresponding `RespondNexusTaskCompleted` and `RespondNexusTaskFailed` calls should pass this + // value for proper response routing. + PollerGroupId string `protobuf:"bytes,4,opt,name=poller_group_id,json=pollerGroupId,proto3" json:"poller_group_id,omitempty"` + // The weighted list of poller groups IDs that client should use for future polls to this task + // queue. Client is expected to: + // 1. Maintain minimum number of pollers no less than the number of groups. + // 2. Try to assign the next poll to a group without any pending polls, + // 3. If every group has some pending polls, assign the next poll to a group randomly + // according to the weights. + PollerGroupInfos []*v14.PollerGroupInfo `protobuf:"bytes,5,rep,name=poller_group_infos,json=pollerGroupInfos,proto3" json:"poller_group_infos,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollNexusTaskQueueResponse) Reset() { + *x = PollNexusTaskQueueResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[123] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollNexusTaskQueueResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollNexusTaskQueueResponse) ProtoMessage() {} + +func (x *PollNexusTaskQueueResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[123] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollNexusTaskQueueResponse.ProtoReflect.Descriptor instead. +func (*PollNexusTaskQueueResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{123} +} + +func (x *PollNexusTaskQueueResponse) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *PollNexusTaskQueueResponse) GetRequest() *v119.Request { + if x != nil { + return x.Request + } + return nil +} + +func (x *PollNexusTaskQueueResponse) GetPollerScalingDecision() *v14.PollerScalingDecision { + if x != nil { + return x.PollerScalingDecision + } + return nil +} + +func (x *PollNexusTaskQueueResponse) GetPollerGroupId() string { + if x != nil { + return x.PollerGroupId + } + return "" +} + +func (x *PollNexusTaskQueueResponse) GetPollerGroupInfos() []*v14.PollerGroupInfo { + if x != nil { + return x.PollerGroupInfos + } + return nil +} + +type RespondNexusTaskCompletedRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this task as received via a poll response. + TaskToken []byte `protobuf:"bytes,3,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // Embedded response to be translated into a frontend response. + Response *v119.Response `protobuf:"bytes,4,opt,name=response,proto3" json:"response,omitempty"` + // Client must forward the poller_group_id received in PollNexusTaskQueueResponse for proper + // routing of the response. + PollerGroupId string `protobuf:"bytes,5,opt,name=poller_group_id,json=pollerGroupId,proto3" json:"poller_group_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondNexusTaskCompletedRequest) Reset() { + *x = RespondNexusTaskCompletedRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[124] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondNexusTaskCompletedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondNexusTaskCompletedRequest) ProtoMessage() {} + +func (x *RespondNexusTaskCompletedRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[124] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondNexusTaskCompletedRequest.ProtoReflect.Descriptor instead. +func (*RespondNexusTaskCompletedRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{124} +} + +func (x *RespondNexusTaskCompletedRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondNexusTaskCompletedRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RespondNexusTaskCompletedRequest) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +func (x *RespondNexusTaskCompletedRequest) GetResponse() *v119.Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *RespondNexusTaskCompletedRequest) GetPollerGroupId() string { + if x != nil { + return x.PollerGroupId + } + return "" +} + +type RespondNexusTaskCompletedResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondNexusTaskCompletedResponse) Reset() { + *x = RespondNexusTaskCompletedResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[125] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondNexusTaskCompletedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondNexusTaskCompletedResponse) ProtoMessage() {} + +func (x *RespondNexusTaskCompletedResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[125] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondNexusTaskCompletedResponse.ProtoReflect.Descriptor instead. +func (*RespondNexusTaskCompletedResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{125} +} + +type RespondNexusTaskFailedRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this task. + TaskToken []byte `protobuf:"bytes,3,opt,name=task_token,json=taskToken,proto3" json:"task_token,omitempty"` + // Deprecated. Use the failure field instead. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Error *v119.HandlerError `protobuf:"bytes,4,opt,name=error,proto3" json:"error,omitempty"` + // The error the handler failed with. Must contain a NexusHandlerFailureInfo object. + Failure *v15.Failure `protobuf:"bytes,5,opt,name=failure,proto3" json:"failure,omitempty"` + // Client must forward the poller_group_id received in PollNexusTaskQueueResponse for proper + // routing of the response. + PollerGroupId string `protobuf:"bytes,6,opt,name=poller_group_id,json=pollerGroupId,proto3" json:"poller_group_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondNexusTaskFailedRequest) Reset() { + *x = RespondNexusTaskFailedRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[126] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondNexusTaskFailedRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondNexusTaskFailedRequest) ProtoMessage() {} + +func (x *RespondNexusTaskFailedRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[126] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondNexusTaskFailedRequest.ProtoReflect.Descriptor instead. +func (*RespondNexusTaskFailedRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{126} +} + +func (x *RespondNexusTaskFailedRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RespondNexusTaskFailedRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RespondNexusTaskFailedRequest) GetTaskToken() []byte { + if x != nil { + return x.TaskToken + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *RespondNexusTaskFailedRequest) GetError() *v119.HandlerError { + if x != nil { + return x.Error + } + return nil +} + +func (x *RespondNexusTaskFailedRequest) GetFailure() *v15.Failure { + if x != nil { + return x.Failure + } + return nil +} + +func (x *RespondNexusTaskFailedRequest) GetPollerGroupId() string { + if x != nil { + return x.PollerGroupId + } + return "" +} + +type RespondNexusTaskFailedResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondNexusTaskFailedResponse) Reset() { + *x = RespondNexusTaskFailedResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[127] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondNexusTaskFailedResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondNexusTaskFailedResponse) ProtoMessage() {} + +func (x *RespondNexusTaskFailedResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[127] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondNexusTaskFailedResponse.ProtoReflect.Descriptor instead. +func (*RespondNexusTaskFailedResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{127} +} + +type ExecuteMultiOperationRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // List of operations to execute within a single workflow. + // + // Preconditions: + // - The list of operations must not be empty. + // - The workflow ids must match across operations. + // - The only valid list of operations at this time is [StartWorkflow, UpdateWorkflow], in this order. + // + // Note that additional operation-specific restrictions have to be considered. + Operations []*ExecuteMultiOperationRequest_Operation `protobuf:"bytes,2,rep,name=operations,proto3" json:"operations,omitempty"` + // Resource ID for routing. Should match operations[0].start_workflow.workflow_id + ResourceId string `protobuf:"bytes,3,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecuteMultiOperationRequest) Reset() { + *x = ExecuteMultiOperationRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[128] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteMultiOperationRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteMultiOperationRequest) ProtoMessage() {} + +func (x *ExecuteMultiOperationRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[128] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteMultiOperationRequest.ProtoReflect.Descriptor instead. +func (*ExecuteMultiOperationRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{128} +} + +func (x *ExecuteMultiOperationRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ExecuteMultiOperationRequest) GetOperations() []*ExecuteMultiOperationRequest_Operation { + if x != nil { + return x.Operations + } + return nil +} + +func (x *ExecuteMultiOperationRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +// IMPORTANT: For [StartWorkflow, UpdateWorkflow] combination ("Update-with-Start") when both +// 1. the workflow update for the requested update ID has already completed, and +// 2. the workflow for the requested workflow ID has already been closed, +// +// then you'll receive +// - an update response containing the update's outcome, and +// - a start response with a `status` field that reflects the workflow's current state. +type ExecuteMultiOperationResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Responses []*ExecuteMultiOperationResponse_Response `protobuf:"bytes,1,rep,name=responses,proto3" json:"responses,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecuteMultiOperationResponse) Reset() { + *x = ExecuteMultiOperationResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[129] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteMultiOperationResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteMultiOperationResponse) ProtoMessage() {} + +func (x *ExecuteMultiOperationResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[129] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteMultiOperationResponse.ProtoReflect.Descriptor instead. +func (*ExecuteMultiOperationResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{129} +} + +func (x *ExecuteMultiOperationResponse) GetResponses() []*ExecuteMultiOperationResponse_Response { + if x != nil { + return x.Responses + } + return nil +} + +// NOTE: keep in sync with temporal.api.batch.v1.BatchOperationUpdateActivityOptions +// Deprecated. Use `UpdateActivityExecutionOptionsRequest`. +type UpdateActivityOptionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Execution info of the workflow which scheduled this activity + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + // The identity of the client who initiated this request + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // Activity options. Partial updates are accepted and controlled by update_mask + ActivityOptions *v120.ActivityOptions `protobuf:"bytes,4,opt,name=activity_options,json=activityOptions,proto3" json:"activity_options,omitempty"` + // Controls which fields from `activity_options` will be applied + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // either activity id, activity type or update_all must be provided + // + // Types that are valid to be assigned to Activity: + // + // *UpdateActivityOptionsRequest_Id + // *UpdateActivityOptionsRequest_Type + // *UpdateActivityOptionsRequest_MatchAll + Activity isUpdateActivityOptionsRequest_Activity `protobuf_oneof:"activity"` + // If set, the activity options will be restored to the default. + // Default options are then options activity was created with. + // They are part of the first schedule event. + // This flag cannot be combined with any other option; if you supply + // restore_original together with other options, the request will be rejected. + RestoreOriginal bool `protobuf:"varint,8,opt,name=restore_original,json=restoreOriginal,proto3" json:"restore_original,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateActivityOptionsRequest) Reset() { + *x = UpdateActivityOptionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[130] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateActivityOptionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateActivityOptionsRequest) ProtoMessage() {} + +func (x *UpdateActivityOptionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[130] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateActivityOptionsRequest.ProtoReflect.Descriptor instead. +func (*UpdateActivityOptionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{130} +} + +func (x *UpdateActivityOptionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateActivityOptionsRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *UpdateActivityOptionsRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UpdateActivityOptionsRequest) GetActivityOptions() *v120.ActivityOptions { + if x != nil { + return x.ActivityOptions + } + return nil +} + +func (x *UpdateActivityOptionsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateActivityOptionsRequest) GetActivity() isUpdateActivityOptionsRequest_Activity { + if x != nil { + return x.Activity + } + return nil +} + +func (x *UpdateActivityOptionsRequest) GetId() string { + if x != nil { + if x, ok := x.Activity.(*UpdateActivityOptionsRequest_Id); ok { + return x.Id + } + } + return "" +} + +func (x *UpdateActivityOptionsRequest) GetType() string { + if x != nil { + if x, ok := x.Activity.(*UpdateActivityOptionsRequest_Type); ok { + return x.Type + } + } + return "" +} + +func (x *UpdateActivityOptionsRequest) GetMatchAll() bool { + if x != nil { + if x, ok := x.Activity.(*UpdateActivityOptionsRequest_MatchAll); ok { + return x.MatchAll + } + } + return false +} + +func (x *UpdateActivityOptionsRequest) GetRestoreOriginal() bool { + if x != nil { + return x.RestoreOriginal + } + return false +} + +type isUpdateActivityOptionsRequest_Activity interface { + isUpdateActivityOptionsRequest_Activity() +} + +type UpdateActivityOptionsRequest_Id struct { + // Only activity with this ID will be updated. + Id string `protobuf:"bytes,6,opt,name=id,proto3,oneof"` +} + +type UpdateActivityOptionsRequest_Type struct { + // Update all running activities of this type. + Type string `protobuf:"bytes,7,opt,name=type,proto3,oneof"` +} + +type UpdateActivityOptionsRequest_MatchAll struct { + // Update all running activities. + MatchAll bool `protobuf:"varint,9,opt,name=match_all,json=matchAll,proto3,oneof"` +} + +func (*UpdateActivityOptionsRequest_Id) isUpdateActivityOptionsRequest_Activity() {} + +func (*UpdateActivityOptionsRequest_Type) isUpdateActivityOptionsRequest_Activity() {} + +func (*UpdateActivityOptionsRequest_MatchAll) isUpdateActivityOptionsRequest_Activity() {} + +type UpdateActivityExecutionOptionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // If provided, targets a workflow activity for the given workflow ID. + // If empty, targets a standalone activity. + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // The ID of the activity to target. + ActivityId string `protobuf:"bytes,3,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Run ID of the workflow or standalone activity. + RunId string `protobuf:"bytes,4,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the client who initiated this request + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // Activity options. Partial updates are accepted and controlled by update_mask + ActivityOptions *v120.ActivityOptions `protobuf:"bytes,6,opt,name=activity_options,json=activityOptions,proto3" json:"activity_options,omitempty"` + // Controls which fields from `activity_options` will be applied + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // If set, the activity options will be restored to the default. + // Default options are then options activity was created with. + // They are part of the first schedule event. + // This flag cannot be combined with any other option; if you supply + // restore_original together with other options, the request will be rejected. + RestoreOriginal bool `protobuf:"varint,8,opt,name=restore_original,json=restoreOriginal,proto3" json:"restore_original,omitempty"` + // Resource ID for routing. Contains "workflow:{workflow_id}" for workflow activities or "activity:{activity_id}" for standalone activities. + ResourceId string `protobuf:"bytes,9,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateActivityExecutionOptionsRequest) Reset() { + *x = UpdateActivityExecutionOptionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[131] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateActivityExecutionOptionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateActivityExecutionOptionsRequest) ProtoMessage() {} + +func (x *UpdateActivityExecutionOptionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[131] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateActivityExecutionOptionsRequest.ProtoReflect.Descriptor instead. +func (*UpdateActivityExecutionOptionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{131} +} + +func (x *UpdateActivityExecutionOptionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateActivityExecutionOptionsRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *UpdateActivityExecutionOptionsRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *UpdateActivityExecutionOptionsRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *UpdateActivityExecutionOptionsRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UpdateActivityExecutionOptionsRequest) GetActivityOptions() *v120.ActivityOptions { + if x != nil { + return x.ActivityOptions + } + return nil +} + +func (x *UpdateActivityExecutionOptionsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateActivityExecutionOptionsRequest) GetRestoreOriginal() bool { + if x != nil { + return x.RestoreOriginal + } + return false +} + +func (x *UpdateActivityExecutionOptionsRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +// Deprecated. Use `UpdateActivityExecutionOptionsResponse`. +type UpdateActivityOptionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Activity options after an update + ActivityOptions *v120.ActivityOptions `protobuf:"bytes,1,opt,name=activity_options,json=activityOptions,proto3" json:"activity_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateActivityOptionsResponse) Reset() { + *x = UpdateActivityOptionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[132] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateActivityOptionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateActivityOptionsResponse) ProtoMessage() {} + +func (x *UpdateActivityOptionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[132] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateActivityOptionsResponse.ProtoReflect.Descriptor instead. +func (*UpdateActivityOptionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{132} +} + +func (x *UpdateActivityOptionsResponse) GetActivityOptions() *v120.ActivityOptions { + if x != nil { + return x.ActivityOptions + } + return nil +} + +type UpdateActivityExecutionOptionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Activity options after an update + ActivityOptions *v120.ActivityOptions `protobuf:"bytes,1,opt,name=activity_options,json=activityOptions,proto3" json:"activity_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateActivityExecutionOptionsResponse) Reset() { + *x = UpdateActivityExecutionOptionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[133] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateActivityExecutionOptionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateActivityExecutionOptionsResponse) ProtoMessage() {} + +func (x *UpdateActivityExecutionOptionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[133] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateActivityExecutionOptionsResponse.ProtoReflect.Descriptor instead. +func (*UpdateActivityExecutionOptionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{133} +} + +func (x *UpdateActivityExecutionOptionsResponse) GetActivityOptions() *v120.ActivityOptions { + if x != nil { + return x.ActivityOptions + } + return nil +} + +// Deprecated. Use `PauseActivityExecutionRequest`. +type PauseActivityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Execution info of the workflow which scheduled this activity + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // either activity id or activity type must be provided + // + // Types that are valid to be assigned to Activity: + // + // *PauseActivityRequest_Id + // *PauseActivityRequest_Type + Activity isPauseActivityRequest_Activity `protobuf_oneof:"activity"` + // Reason to pause the activity. + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + // Used to de-dupe pause requests. + RequestId string `protobuf:"bytes,7,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PauseActivityRequest) Reset() { + *x = PauseActivityRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[134] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PauseActivityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PauseActivityRequest) ProtoMessage() {} + +func (x *PauseActivityRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[134] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PauseActivityRequest.ProtoReflect.Descriptor instead. +func (*PauseActivityRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{134} +} + +func (x *PauseActivityRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PauseActivityRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *PauseActivityRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PauseActivityRequest) GetActivity() isPauseActivityRequest_Activity { + if x != nil { + return x.Activity + } + return nil +} + +func (x *PauseActivityRequest) GetId() string { + if x != nil { + if x, ok := x.Activity.(*PauseActivityRequest_Id); ok { + return x.Id + } + } + return "" +} + +func (x *PauseActivityRequest) GetType() string { + if x != nil { + if x, ok := x.Activity.(*PauseActivityRequest_Type); ok { + return x.Type + } + } + return "" +} + +func (x *PauseActivityRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *PauseActivityRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type isPauseActivityRequest_Activity interface { + isPauseActivityRequest_Activity() +} + +type PauseActivityRequest_Id struct { + // Only the activity with this ID will be paused. + Id string `protobuf:"bytes,4,opt,name=id,proto3,oneof"` +} + +type PauseActivityRequest_Type struct { + // Pause all running activities of this type. + // Note: Experimental - the behavior of pause by activity type might change in a future release. + Type string `protobuf:"bytes,5,opt,name=type,proto3,oneof"` +} + +func (*PauseActivityRequest_Id) isPauseActivityRequest_Activity() {} + +func (*PauseActivityRequest_Type) isPauseActivityRequest_Activity() {} + +type PauseActivityExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // If provided, pause a workflow activity (or activities) for the given workflow ID. + // If empty, targets a standalone activity. + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // The ID of the activity to target. + ActivityId string `protobuf:"bytes,3,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Run ID of the workflow or standalone activity. + RunId string `protobuf:"bytes,4,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // Reason to pause the activity. + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + // Resource ID for routing. Contains "workflow:{workflow_id}" for workflow activities or "activity:{activity_id}" for standalone activities. + ResourceId string `protobuf:"bytes,7,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + // Used to de-dupe pause requests. + RequestId string `protobuf:"bytes,8,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PauseActivityExecutionRequest) Reset() { + *x = PauseActivityExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[135] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PauseActivityExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PauseActivityExecutionRequest) ProtoMessage() {} + +func (x *PauseActivityExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[135] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PauseActivityExecutionRequest.ProtoReflect.Descriptor instead. +func (*PauseActivityExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{135} +} + +func (x *PauseActivityExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PauseActivityExecutionRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *PauseActivityExecutionRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *PauseActivityExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *PauseActivityExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PauseActivityExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *PauseActivityExecutionRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +func (x *PauseActivityExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Deprecated. Use `PauseActivityExecutionResponse`. +type PauseActivityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PauseActivityResponse) Reset() { + *x = PauseActivityResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[136] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PauseActivityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PauseActivityResponse) ProtoMessage() {} + +func (x *PauseActivityResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[136] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PauseActivityResponse.ProtoReflect.Descriptor instead. +func (*PauseActivityResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{136} +} + +type PauseActivityExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PauseActivityExecutionResponse) Reset() { + *x = PauseActivityExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[137] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PauseActivityExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PauseActivityExecutionResponse) ProtoMessage() {} + +func (x *PauseActivityExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[137] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PauseActivityExecutionResponse.ProtoReflect.Descriptor instead. +func (*PauseActivityExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{137} +} + +// Deprecated. Use `UnpauseActivityExecutionRequest`. +type UnpauseActivityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Execution info of the workflow which scheduled this activity + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // either activity id or activity type must be provided + // + // Types that are valid to be assigned to Activity: + // + // *UnpauseActivityRequest_Id + // *UnpauseActivityRequest_Type + // *UnpauseActivityRequest_UnpauseAll + Activity isUnpauseActivityRequest_Activity `protobuf_oneof:"activity"` + // Providing this flag will also reset the number of attempts. + ResetAttempts bool `protobuf:"varint,7,opt,name=reset_attempts,json=resetAttempts,proto3" json:"reset_attempts,omitempty"` + // Providing this flag will also reset the heartbeat details. + ResetHeartbeat bool `protobuf:"varint,8,opt,name=reset_heartbeat,json=resetHeartbeat,proto3" json:"reset_heartbeat,omitempty"` + // If set, the activity will start at a random time within the specified jitter duration. + Jitter *durationpb.Duration `protobuf:"bytes,9,opt,name=jitter,proto3" json:"jitter,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnpauseActivityRequest) Reset() { + *x = UnpauseActivityRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[138] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnpauseActivityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpauseActivityRequest) ProtoMessage() {} + +func (x *UnpauseActivityRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[138] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnpauseActivityRequest.ProtoReflect.Descriptor instead. +func (*UnpauseActivityRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{138} +} + +func (x *UnpauseActivityRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UnpauseActivityRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *UnpauseActivityRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UnpauseActivityRequest) GetActivity() isUnpauseActivityRequest_Activity { + if x != nil { + return x.Activity + } + return nil +} + +func (x *UnpauseActivityRequest) GetId() string { + if x != nil { + if x, ok := x.Activity.(*UnpauseActivityRequest_Id); ok { + return x.Id + } + } + return "" +} + +func (x *UnpauseActivityRequest) GetType() string { + if x != nil { + if x, ok := x.Activity.(*UnpauseActivityRequest_Type); ok { + return x.Type + } + } + return "" +} + +func (x *UnpauseActivityRequest) GetUnpauseAll() bool { + if x != nil { + if x, ok := x.Activity.(*UnpauseActivityRequest_UnpauseAll); ok { + return x.UnpauseAll + } + } + return false +} + +func (x *UnpauseActivityRequest) GetResetAttempts() bool { + if x != nil { + return x.ResetAttempts + } + return false +} + +func (x *UnpauseActivityRequest) GetResetHeartbeat() bool { + if x != nil { + return x.ResetHeartbeat + } + return false +} + +func (x *UnpauseActivityRequest) GetJitter() *durationpb.Duration { + if x != nil { + return x.Jitter + } + return nil +} + +type isUnpauseActivityRequest_Activity interface { + isUnpauseActivityRequest_Activity() +} + +type UnpauseActivityRequest_Id struct { + // Only the activity with this ID will be unpaused. + Id string `protobuf:"bytes,4,opt,name=id,proto3,oneof"` +} + +type UnpauseActivityRequest_Type struct { + // Unpause all running activities with of this type. + Type string `protobuf:"bytes,5,opt,name=type,proto3,oneof"` +} + +type UnpauseActivityRequest_UnpauseAll struct { + // Unpause all running activities. + UnpauseAll bool `protobuf:"varint,6,opt,name=unpause_all,json=unpauseAll,proto3,oneof"` +} + +func (*UnpauseActivityRequest_Id) isUnpauseActivityRequest_Activity() {} + +func (*UnpauseActivityRequest_Type) isUnpauseActivityRequest_Activity() {} + +func (*UnpauseActivityRequest_UnpauseAll) isUnpauseActivityRequest_Activity() {} + +type UnpauseActivityExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // If provided, targets a workflow activity for the given workflow ID. + // If empty, targets a standalone activity. + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // The ID of the activity to target. + ActivityId string `protobuf:"bytes,3,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Run ID of the workflow or standalone activity. + RunId string `protobuf:"bytes,4,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // Providing this flag will also reset the number of attempts. + ResetAttempts bool `protobuf:"varint,6,opt,name=reset_attempts,json=resetAttempts,proto3" json:"reset_attempts,omitempty"` + // Providing this flag will also reset the heartbeat details. + ResetHeartbeat bool `protobuf:"varint,7,opt,name=reset_heartbeat,json=resetHeartbeat,proto3" json:"reset_heartbeat,omitempty"` + // Reason to unpause the activity. + Reason string `protobuf:"bytes,8,opt,name=reason,proto3" json:"reason,omitempty"` + // If set, the activity will start at a random time within the specified jitter duration. + Jitter *durationpb.Duration `protobuf:"bytes,9,opt,name=jitter,proto3" json:"jitter,omitempty"` + // Resource ID for routing. Contains "workflow:{workflow_id}" for workflow activities or "activity:{activity_id}" for standalone activities. + ResourceId string `protobuf:"bytes,10,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnpauseActivityExecutionRequest) Reset() { + *x = UnpauseActivityExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[139] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnpauseActivityExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpauseActivityExecutionRequest) ProtoMessage() {} + +func (x *UnpauseActivityExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[139] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnpauseActivityExecutionRequest.ProtoReflect.Descriptor instead. +func (*UnpauseActivityExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{139} +} + +func (x *UnpauseActivityExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UnpauseActivityExecutionRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *UnpauseActivityExecutionRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *UnpauseActivityExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *UnpauseActivityExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UnpauseActivityExecutionRequest) GetResetAttempts() bool { + if x != nil { + return x.ResetAttempts + } + return false +} + +func (x *UnpauseActivityExecutionRequest) GetResetHeartbeat() bool { + if x != nil { + return x.ResetHeartbeat + } + return false +} + +func (x *UnpauseActivityExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *UnpauseActivityExecutionRequest) GetJitter() *durationpb.Duration { + if x != nil { + return x.Jitter + } + return nil +} + +func (x *UnpauseActivityExecutionRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +// Deprecated. Use `UnpauseActivityExecutionResponse`. +type UnpauseActivityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnpauseActivityResponse) Reset() { + *x = UnpauseActivityResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[140] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnpauseActivityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpauseActivityResponse) ProtoMessage() {} + +func (x *UnpauseActivityResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[140] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnpauseActivityResponse.ProtoReflect.Descriptor instead. +func (*UnpauseActivityResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{140} +} + +type UnpauseActivityExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnpauseActivityExecutionResponse) Reset() { + *x = UnpauseActivityExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[141] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnpauseActivityExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpauseActivityExecutionResponse) ProtoMessage() {} + +func (x *UnpauseActivityExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[141] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnpauseActivityExecutionResponse.ProtoReflect.Descriptor instead. +func (*UnpauseActivityExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{141} +} + +// NOTE: keep in sync with temporal.api.batch.v1.BatchOperationResetActivities +// Deprecated. Use `ResetActivityExecutionRequest`. +type ResetActivityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Execution info of the workflow which scheduled this activity + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // either activity id, activity type or update_all must be provided + // + // Types that are valid to be assigned to Activity: + // + // *ResetActivityRequest_Id + // *ResetActivityRequest_Type + // *ResetActivityRequest_MatchAll + Activity isResetActivityRequest_Activity `protobuf_oneof:"activity"` + // Indicates that activity should reset heartbeat details. + // This flag will be applied only to the new instance of the activity. + ResetHeartbeat bool `protobuf:"varint,6,opt,name=reset_heartbeat,json=resetHeartbeat,proto3" json:"reset_heartbeat,omitempty"` + // If activity is paused, it will remain paused after reset + KeepPaused bool `protobuf:"varint,7,opt,name=keep_paused,json=keepPaused,proto3" json:"keep_paused,omitempty"` + // If set, and activity is in backoff, the activity will start at a random time within the specified jitter duration. + // (unless it is paused and keep_paused is set) + Jitter *durationpb.Duration `protobuf:"bytes,8,opt,name=jitter,proto3" json:"jitter,omitempty"` + // If set, the activity options will be restored to the defaults. + // Default options are then options activity was created with. + // They are part of the first schedule event. + RestoreOriginalOptions bool `protobuf:"varint,9,opt,name=restore_original_options,json=restoreOriginalOptions,proto3" json:"restore_original_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetActivityRequest) Reset() { + *x = ResetActivityRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[142] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetActivityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetActivityRequest) ProtoMessage() {} + +func (x *ResetActivityRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[142] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetActivityRequest.ProtoReflect.Descriptor instead. +func (*ResetActivityRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{142} +} + +func (x *ResetActivityRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ResetActivityRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *ResetActivityRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *ResetActivityRequest) GetActivity() isResetActivityRequest_Activity { + if x != nil { + return x.Activity + } + return nil +} + +func (x *ResetActivityRequest) GetId() string { + if x != nil { + if x, ok := x.Activity.(*ResetActivityRequest_Id); ok { + return x.Id + } + } + return "" +} + +func (x *ResetActivityRequest) GetType() string { + if x != nil { + if x, ok := x.Activity.(*ResetActivityRequest_Type); ok { + return x.Type + } + } + return "" +} + +func (x *ResetActivityRequest) GetMatchAll() bool { + if x != nil { + if x, ok := x.Activity.(*ResetActivityRequest_MatchAll); ok { + return x.MatchAll + } + } + return false +} + +func (x *ResetActivityRequest) GetResetHeartbeat() bool { + if x != nil { + return x.ResetHeartbeat + } + return false +} + +func (x *ResetActivityRequest) GetKeepPaused() bool { + if x != nil { + return x.KeepPaused + } + return false +} + +func (x *ResetActivityRequest) GetJitter() *durationpb.Duration { + if x != nil { + return x.Jitter + } + return nil +} + +func (x *ResetActivityRequest) GetRestoreOriginalOptions() bool { + if x != nil { + return x.RestoreOriginalOptions + } + return false +} + +type isResetActivityRequest_Activity interface { + isResetActivityRequest_Activity() +} + +type ResetActivityRequest_Id struct { + // Only activity with this ID will be reset. + Id string `protobuf:"bytes,4,opt,name=id,proto3,oneof"` +} + +type ResetActivityRequest_Type struct { + // Reset all running activities with of this type. + Type string `protobuf:"bytes,5,opt,name=type,proto3,oneof"` +} + +type ResetActivityRequest_MatchAll struct { + // Reset all running activities. + MatchAll bool `protobuf:"varint,10,opt,name=match_all,json=matchAll,proto3,oneof"` +} + +func (*ResetActivityRequest_Id) isResetActivityRequest_Activity() {} + +func (*ResetActivityRequest_Type) isResetActivityRequest_Activity() {} + +func (*ResetActivityRequest_MatchAll) isResetActivityRequest_Activity() {} + +type ResetActivityExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow which scheduled this activity. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // If provided, targets a workflow activity for the given workflow ID. + // If empty, targets a standalone activity. + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // The ID of the activity to target. + ActivityId string `protobuf:"bytes,3,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Run ID of the workflow or standalone activity. + RunId string `protobuf:"bytes,4,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // Indicates that activity should reset heartbeat details. + // This flag will be applied only to the new instance of the activity. + ResetHeartbeat bool `protobuf:"varint,6,opt,name=reset_heartbeat,json=resetHeartbeat,proto3" json:"reset_heartbeat,omitempty"` + // If activity is paused, it will remain paused after reset + KeepPaused bool `protobuf:"varint,7,opt,name=keep_paused,json=keepPaused,proto3" json:"keep_paused,omitempty"` + // If set, and activity is in backoff, the activity will start at a random time within the specified jitter duration. + // (unless it is paused and keep_paused is set) + Jitter *durationpb.Duration `protobuf:"bytes,8,opt,name=jitter,proto3" json:"jitter,omitempty"` + // If set, the activity options will be restored to the defaults. + // Default options are then options activity was created with. + // They are part of the first schedule event. + RestoreOriginalOptions bool `protobuf:"varint,9,opt,name=restore_original_options,json=restoreOriginalOptions,proto3" json:"restore_original_options,omitempty"` + // Resource ID for routing. Contains "workflow:{workflow_id}" for workflow activities or "activity:{activity_id}" for standalone activities. + ResourceId string `protobuf:"bytes,10,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetActivityExecutionRequest) Reset() { + *x = ResetActivityExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[143] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetActivityExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetActivityExecutionRequest) ProtoMessage() {} + +func (x *ResetActivityExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[143] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetActivityExecutionRequest.ProtoReflect.Descriptor instead. +func (*ResetActivityExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{143} +} + +func (x *ResetActivityExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ResetActivityExecutionRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *ResetActivityExecutionRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *ResetActivityExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *ResetActivityExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *ResetActivityExecutionRequest) GetResetHeartbeat() bool { + if x != nil { + return x.ResetHeartbeat + } + return false +} + +func (x *ResetActivityExecutionRequest) GetKeepPaused() bool { + if x != nil { + return x.KeepPaused + } + return false +} + +func (x *ResetActivityExecutionRequest) GetJitter() *durationpb.Duration { + if x != nil { + return x.Jitter + } + return nil +} + +func (x *ResetActivityExecutionRequest) GetRestoreOriginalOptions() bool { + if x != nil { + return x.RestoreOriginalOptions + } + return false +} + +func (x *ResetActivityExecutionRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +// Deprecated. Use `ResetActivityExecutionRequest`. +type ResetActivityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetActivityResponse) Reset() { + *x = ResetActivityResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[144] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetActivityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetActivityResponse) ProtoMessage() {} + +func (x *ResetActivityResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[144] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetActivityResponse.ProtoReflect.Descriptor instead. +func (*ResetActivityResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{144} +} + +type ResetActivityExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ResetActivityExecutionResponse) Reset() { + *x = ResetActivityExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[145] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ResetActivityExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResetActivityExecutionResponse) ProtoMessage() {} + +func (x *ResetActivityExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[145] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResetActivityExecutionResponse.ProtoReflect.Descriptor instead. +func (*ResetActivityExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{145} +} + +// Keep the parameters in sync with: +// - temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions. +// - temporal.api.workflow.v1.PostResetOperation.UpdateWorkflowOptions. +type UpdateWorkflowExecutionOptionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The namespace name of the target Workflow. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The target Workflow Id and (optionally) a specific Run Id thereof. + // (-- api-linter: core::0203::optional=disabled + // + // aip.dev/not-precedent: false positive triggered by the word "optional" --) + WorkflowExecution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=workflow_execution,json=workflowExecution,proto3" json:"workflow_execution,omitempty"` + // Workflow Execution options. Partial updates are accepted and controlled by update_mask. + WorkflowExecutionOptions *v17.WorkflowExecutionOptions `protobuf:"bytes,3,opt,name=workflow_execution_options,json=workflowExecutionOptions,proto3" json:"workflow_execution_options,omitempty"` + // Controls which fields from `workflow_execution_options` will be applied. + // To unset a field, set it to null and use the update mask to indicate that it should be mutated. + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,4,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkflowExecutionOptionsRequest) Reset() { + *x = UpdateWorkflowExecutionOptionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[146] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkflowExecutionOptionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkflowExecutionOptionsRequest) ProtoMessage() {} + +func (x *UpdateWorkflowExecutionOptionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[146] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkflowExecutionOptionsRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkflowExecutionOptionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{146} +} + +func (x *UpdateWorkflowExecutionOptionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateWorkflowExecutionOptionsRequest) GetWorkflowExecution() *v13.WorkflowExecution { + if x != nil { + return x.WorkflowExecution + } + return nil +} + +func (x *UpdateWorkflowExecutionOptionsRequest) GetWorkflowExecutionOptions() *v17.WorkflowExecutionOptions { + if x != nil { + return x.WorkflowExecutionOptions + } + return nil +} + +func (x *UpdateWorkflowExecutionOptionsRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateWorkflowExecutionOptionsRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type UpdateWorkflowExecutionOptionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Workflow Execution options after update. + WorkflowExecutionOptions *v17.WorkflowExecutionOptions `protobuf:"bytes,1,opt,name=workflow_execution_options,json=workflowExecutionOptions,proto3" json:"workflow_execution_options,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkflowExecutionOptionsResponse) Reset() { + *x = UpdateWorkflowExecutionOptionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[147] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkflowExecutionOptionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkflowExecutionOptionsResponse) ProtoMessage() {} + +func (x *UpdateWorkflowExecutionOptionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[147] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkflowExecutionOptionsResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkflowExecutionOptionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{147} +} + +func (x *UpdateWorkflowExecutionOptionsResponse) GetWorkflowExecutionOptions() *v17.WorkflowExecutionOptions { + if x != nil { + return x.WorkflowExecutionOptions + } + return nil +} + +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type DescribeDeploymentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Deployment *v18.Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeDeploymentRequest) Reset() { + *x = DescribeDeploymentRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[148] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeDeploymentRequest) ProtoMessage() {} + +func (x *DescribeDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[148] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeDeploymentRequest.ProtoReflect.Descriptor instead. +func (*DescribeDeploymentRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{148} +} + +func (x *DescribeDeploymentRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeDeploymentRequest) GetDeployment() *v18.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type DescribeDeploymentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + DeploymentInfo *v18.DeploymentInfo `protobuf:"bytes,1,opt,name=deployment_info,json=deploymentInfo,proto3" json:"deployment_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeDeploymentResponse) Reset() { + *x = DescribeDeploymentResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[149] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeDeploymentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeDeploymentResponse) ProtoMessage() {} + +func (x *DescribeDeploymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[149] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeDeploymentResponse.ProtoReflect.Descriptor instead. +func (*DescribeDeploymentResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{149} +} + +func (x *DescribeDeploymentResponse) GetDeploymentInfo() *v18.DeploymentInfo { + if x != nil { + return x.DeploymentInfo + } + return nil +} + +type DescribeWorkerDeploymentVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Deprecated. Use `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // Required. + DeploymentVersion *v18.WorkerDeploymentVersion `protobuf:"bytes,3,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + // Report stats for task queues which have been polled by this version. + ReportTaskQueueStats bool `protobuf:"varint,4,opt,name=report_task_queue_stats,json=reportTaskQueueStats,proto3" json:"report_task_queue_stats,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkerDeploymentVersionRequest) Reset() { + *x = DescribeWorkerDeploymentVersionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[150] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkerDeploymentVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkerDeploymentVersionRequest) ProtoMessage() {} + +func (x *DescribeWorkerDeploymentVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[150] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkerDeploymentVersionRequest.ProtoReflect.Descriptor instead. +func (*DescribeWorkerDeploymentVersionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{150} +} + +func (x *DescribeWorkerDeploymentVersionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DescribeWorkerDeploymentVersionRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *DescribeWorkerDeploymentVersionRequest) GetDeploymentVersion() *v18.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *DescribeWorkerDeploymentVersionRequest) GetReportTaskQueueStats() bool { + if x != nil { + return x.ReportTaskQueueStats + } + return false +} + +type DescribeWorkerDeploymentVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkerDeploymentVersionInfo *v18.WorkerDeploymentVersionInfo `protobuf:"bytes,1,opt,name=worker_deployment_version_info,json=workerDeploymentVersionInfo,proto3" json:"worker_deployment_version_info,omitempty"` + // All the Task Queues that have ever polled from this Deployment version. + VersionTaskQueues []*DescribeWorkerDeploymentVersionResponse_VersionTaskQueue `protobuf:"bytes,2,rep,name=version_task_queues,json=versionTaskQueues,proto3" json:"version_task_queues,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkerDeploymentVersionResponse) Reset() { + *x = DescribeWorkerDeploymentVersionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[151] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkerDeploymentVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkerDeploymentVersionResponse) ProtoMessage() {} + +func (x *DescribeWorkerDeploymentVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[151] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkerDeploymentVersionResponse.ProtoReflect.Descriptor instead. +func (*DescribeWorkerDeploymentVersionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{151} +} + +func (x *DescribeWorkerDeploymentVersionResponse) GetWorkerDeploymentVersionInfo() *v18.WorkerDeploymentVersionInfo { + if x != nil { + return x.WorkerDeploymentVersionInfo + } + return nil +} + +func (x *DescribeWorkerDeploymentVersionResponse) GetVersionTaskQueues() []*DescribeWorkerDeploymentVersionResponse_VersionTaskQueue { + if x != nil { + return x.VersionTaskQueues + } + return nil +} + +type DescribeWorkerDeploymentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + DeploymentName string `protobuf:"bytes,2,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkerDeploymentRequest) Reset() { + *x = DescribeWorkerDeploymentRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[152] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkerDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkerDeploymentRequest) ProtoMessage() {} + +func (x *DescribeWorkerDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[152] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkerDeploymentRequest.ProtoReflect.Descriptor instead. +func (*DescribeWorkerDeploymentRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{152} +} + +func (x *DescribeWorkerDeploymentRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeWorkerDeploymentRequest) GetDeploymentName() string { + if x != nil { + return x.DeploymentName + } + return "" +} + +type DescribeWorkerDeploymentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // This value is returned so that it can be optionally passed to APIs + // that write to the Worker Deployment state to ensure that the state + // did not change between this read and a future write. + ConflictToken []byte `protobuf:"bytes,1,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + WorkerDeploymentInfo *v18.WorkerDeploymentInfo `protobuf:"bytes,2,opt,name=worker_deployment_info,json=workerDeploymentInfo,proto3" json:"worker_deployment_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkerDeploymentResponse) Reset() { + *x = DescribeWorkerDeploymentResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[153] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkerDeploymentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkerDeploymentResponse) ProtoMessage() {} + +func (x *DescribeWorkerDeploymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[153] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkerDeploymentResponse.ProtoReflect.Descriptor instead. +func (*DescribeWorkerDeploymentResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{153} +} + +func (x *DescribeWorkerDeploymentResponse) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +func (x *DescribeWorkerDeploymentResponse) GetWorkerDeploymentInfo() *v18.WorkerDeploymentInfo { + if x != nil { + return x.WorkerDeploymentInfo + } + return nil +} + +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type ListDeploymentsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Optional. Use to filter based on exact series name match. + SeriesName string `protobuf:"bytes,4,opt,name=series_name,json=seriesName,proto3" json:"series_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListDeploymentsRequest) Reset() { + *x = ListDeploymentsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[154] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListDeploymentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentsRequest) ProtoMessage() {} + +func (x *ListDeploymentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[154] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeploymentsRequest.ProtoReflect.Descriptor instead. +func (*ListDeploymentsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{154} +} + +func (x *ListDeploymentsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListDeploymentsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListDeploymentsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListDeploymentsRequest) GetSeriesName() string { + if x != nil { + return x.SeriesName + } + return "" +} + +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type ListDeploymentsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + NextPageToken []byte `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + Deployments []*v18.DeploymentListInfo `protobuf:"bytes,2,rep,name=deployments,proto3" json:"deployments,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListDeploymentsResponse) Reset() { + *x = ListDeploymentsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[155] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListDeploymentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListDeploymentsResponse) ProtoMessage() {} + +func (x *ListDeploymentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[155] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListDeploymentsResponse.ProtoReflect.Descriptor instead. +func (*ListDeploymentsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{155} +} + +func (x *ListDeploymentsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListDeploymentsResponse) GetDeployments() []*v18.DeploymentListInfo { + if x != nil { + return x.Deployments + } + return nil +} + +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type SetCurrentDeploymentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Deployment *v18.Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // Optional. Use to add or remove user-defined metadata entries. Metadata entries are exposed + // when describing a deployment. It is a good place for information such as operator name, + // links to internal deployment pipelines, etc. + UpdateMetadata *v18.UpdateDeploymentMetadata `protobuf:"bytes,4,opt,name=update_metadata,json=updateMetadata,proto3" json:"update_metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetCurrentDeploymentRequest) Reset() { + *x = SetCurrentDeploymentRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[156] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetCurrentDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetCurrentDeploymentRequest) ProtoMessage() {} + +func (x *SetCurrentDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[156] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetCurrentDeploymentRequest.ProtoReflect.Descriptor instead. +func (*SetCurrentDeploymentRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{156} +} + +func (x *SetCurrentDeploymentRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *SetCurrentDeploymentRequest) GetDeployment() *v18.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +func (x *SetCurrentDeploymentRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *SetCurrentDeploymentRequest) GetUpdateMetadata() *v18.UpdateDeploymentMetadata { + if x != nil { + return x.UpdateMetadata + } + return nil +} + +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type SetCurrentDeploymentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + CurrentDeploymentInfo *v18.DeploymentInfo `protobuf:"bytes,1,opt,name=current_deployment_info,json=currentDeploymentInfo,proto3" json:"current_deployment_info,omitempty"` + // Info of the deployment that was current before executing this operation. + PreviousDeploymentInfo *v18.DeploymentInfo `protobuf:"bytes,2,opt,name=previous_deployment_info,json=previousDeploymentInfo,proto3" json:"previous_deployment_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetCurrentDeploymentResponse) Reset() { + *x = SetCurrentDeploymentResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[157] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetCurrentDeploymentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetCurrentDeploymentResponse) ProtoMessage() {} + +func (x *SetCurrentDeploymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[157] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetCurrentDeploymentResponse.ProtoReflect.Descriptor instead. +func (*SetCurrentDeploymentResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{157} +} + +func (x *SetCurrentDeploymentResponse) GetCurrentDeploymentInfo() *v18.DeploymentInfo { + if x != nil { + return x.CurrentDeploymentInfo + } + return nil +} + +func (x *SetCurrentDeploymentResponse) GetPreviousDeploymentInfo() *v18.DeploymentInfo { + if x != nil { + return x.PreviousDeploymentInfo + } + return nil +} + +// Set/unset the Current Version of a Worker Deployment. +type SetWorkerDeploymentCurrentVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + DeploymentName string `protobuf:"bytes,2,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` + // Deprecated. Use `build_id`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // The build id of the Version that you want to set as Current. + // Pass an empty value to set the Current Version to nil. + // A nil Current Version represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.) + BuildId string `protobuf:"bytes,7,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` + // Optional. This can be the value of conflict_token from a Describe, or another Worker + // Deployment API. Passing a non-nil conflict token will cause this request to fail if the + // Deployment's configuration has been modified between the API call that generated the + // token and this one. + ConflictToken []byte `protobuf:"bytes,4,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // Optional. By default this request would be rejected if not all the expected Task Queues are + // being polled by the new Version, to protect against accidental removal of Task Queues, or + // worker health issues. Pass `true` here to bypass this protection. + // The set of expected Task Queues is the set of all the Task Queues that were ever poller by + // the existing Current Version of the Deployment, with the following exclusions: + // - Task Queues that are not used anymore (inferred by having empty backlog and a task + // add_rate of 0.) + // - Task Queues that are moved to another Worker Deployment (inferred by the Task Queue + // having a different Current Version than the Current Version of this deployment.) + // + // WARNING: Do not set this flag unless you are sure that the missing task queue pollers are not + // needed. If the request is unexpectedly rejected due to missing pollers, then that means the + // pollers have not reached to the server yet. Only set this if you expect those pollers to + // never arrive. + IgnoreMissingTaskQueues bool `protobuf:"varint,6,opt,name=ignore_missing_task_queues,json=ignoreMissingTaskQueues,proto3" json:"ignore_missing_task_queues,omitempty"` + // Optional. By default this request will be rejected if no pollers have been seen for the proposed + // Current Version, in order to protect users from routing tasks to pollers that do not exist, leading + // to possible timeouts. Pass `true` here to bypass this protection. + AllowNoPollers bool `protobuf:"varint,9,opt,name=allow_no_pollers,json=allowNoPollers,proto3" json:"allow_no_pollers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkerDeploymentCurrentVersionRequest) Reset() { + *x = SetWorkerDeploymentCurrentVersionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[158] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkerDeploymentCurrentVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkerDeploymentCurrentVersionRequest) ProtoMessage() {} + +func (x *SetWorkerDeploymentCurrentVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[158] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkerDeploymentCurrentVersionRequest.ProtoReflect.Descriptor instead. +func (*SetWorkerDeploymentCurrentVersionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{158} +} + +func (x *SetWorkerDeploymentCurrentVersionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *SetWorkerDeploymentCurrentVersionRequest) GetDeploymentName() string { + if x != nil { + return x.DeploymentName + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SetWorkerDeploymentCurrentVersionRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *SetWorkerDeploymentCurrentVersionRequest) GetBuildId() string { + if x != nil { + return x.BuildId + } + return "" +} + +func (x *SetWorkerDeploymentCurrentVersionRequest) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +func (x *SetWorkerDeploymentCurrentVersionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *SetWorkerDeploymentCurrentVersionRequest) GetIgnoreMissingTaskQueues() bool { + if x != nil { + return x.IgnoreMissingTaskQueues + } + return false +} + +func (x *SetWorkerDeploymentCurrentVersionRequest) GetAllowNoPollers() bool { + if x != nil { + return x.AllowNoPollers + } + return false +} + +type SetWorkerDeploymentCurrentVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // This value is returned so that it can be optionally passed to APIs + // that write to the Worker Deployment state to ensure that the state + // did not change between this API call and a future write. + ConflictToken []byte `protobuf:"bytes,1,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + // Deprecated. Use `previous_deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + PreviousVersion string `protobuf:"bytes,2,opt,name=previous_version,json=previousVersion,proto3" json:"previous_version,omitempty"` + // The version that was current before executing this operation. + // Deprecated in favor of idempotency of the API. Use `DescribeWorkerDeployment` to get the + // Current version info before calling this API. By passing the `conflict_token` got from the + // `DescribeWorkerDeployment` call to this API you can ensure there is no interfering changes + // between the two calls. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + PreviousDeploymentVersion *v18.WorkerDeploymentVersion `protobuf:"bytes,3,opt,name=previous_deployment_version,json=previousDeploymentVersion,proto3" json:"previous_deployment_version,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkerDeploymentCurrentVersionResponse) Reset() { + *x = SetWorkerDeploymentCurrentVersionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[159] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkerDeploymentCurrentVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkerDeploymentCurrentVersionResponse) ProtoMessage() {} + +func (x *SetWorkerDeploymentCurrentVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[159] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkerDeploymentCurrentVersionResponse.ProtoReflect.Descriptor instead. +func (*SetWorkerDeploymentCurrentVersionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{159} +} + +func (x *SetWorkerDeploymentCurrentVersionResponse) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SetWorkerDeploymentCurrentVersionResponse) GetPreviousVersion() string { + if x != nil { + return x.PreviousVersion + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SetWorkerDeploymentCurrentVersionResponse) GetPreviousDeploymentVersion() *v18.WorkerDeploymentVersion { + if x != nil { + return x.PreviousDeploymentVersion + } + return nil +} + +// Set/unset the Ramping Version of a Worker Deployment and its ramp percentage. +type SetWorkerDeploymentRampingVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + DeploymentName string `protobuf:"bytes,2,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` + // Deprecated. Use `build_id`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Version string `protobuf:"bytes,3,opt,name=version,proto3" json:"version,omitempty"` + // The build id of the Version that you want to ramp traffic to. + // Pass an empty value to set the Ramping Version to nil. + // A nil Ramping Version represents all the unversioned workers (those with `UNVERSIONED` (or unspecified) `WorkerVersioningMode`.) + BuildId string `protobuf:"bytes,8,opt,name=build_id,json=buildId,proto3" json:"build_id,omitempty"` + // Ramp percentage to set. Valid range: [0,100]. + Percentage float32 `protobuf:"fixed32,4,opt,name=percentage,proto3" json:"percentage,omitempty"` + // Optional. This can be the value of conflict_token from a Describe, or another Worker + // Deployment API. Passing a non-nil conflict token will cause this request to fail if the + // Deployment's configuration has been modified between the API call that generated the + // token and this one. + ConflictToken []byte `protobuf:"bytes,5,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,6,opt,name=identity,proto3" json:"identity,omitempty"` + // Optional. By default this request would be rejected if not all the expected Task Queues are + // being polled by the new Version, to protect against accidental removal of Task Queues, or + // worker health issues. Pass `true` here to bypass this protection. + // The set of expected Task Queues equals to all the Task Queues ever polled from the existing + // Current Version of the Deployment, with the following exclusions: + // - Task Queues that are not used anymore (inferred by having empty backlog and a task + // add_rate of 0.) + // - Task Queues that are moved to another Worker Deployment (inferred by the Task Queue + // having a different Current Version than the Current Version of this deployment.) + // + // WARNING: Do not set this flag unless you are sure that the missing task queue poller are not + // needed. If the request is unexpectedly rejected due to missing pollers, then that means the + // pollers have not reached to the server yet. Only set this if you expect those pollers to + // never arrive. + // Note: this check only happens when the ramping version is about to change, not every time + // that the percentage changes. Also note that the check is against the deployment's Current + // Version, not the previous Ramping Version. + IgnoreMissingTaskQueues bool `protobuf:"varint,7,opt,name=ignore_missing_task_queues,json=ignoreMissingTaskQueues,proto3" json:"ignore_missing_task_queues,omitempty"` + // Optional. By default this request will be rejected if no pollers have been seen for the proposed + // Current Version, in order to protect users from routing tasks to pollers that do not exist, leading + // to possible timeouts. Pass `true` here to bypass this protection. + AllowNoPollers bool `protobuf:"varint,10,opt,name=allow_no_pollers,json=allowNoPollers,proto3" json:"allow_no_pollers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkerDeploymentRampingVersionRequest) Reset() { + *x = SetWorkerDeploymentRampingVersionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[160] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkerDeploymentRampingVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkerDeploymentRampingVersionRequest) ProtoMessage() {} + +func (x *SetWorkerDeploymentRampingVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[160] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkerDeploymentRampingVersionRequest.ProtoReflect.Descriptor instead. +func (*SetWorkerDeploymentRampingVersionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{160} +} + +func (x *SetWorkerDeploymentRampingVersionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *SetWorkerDeploymentRampingVersionRequest) GetDeploymentName() string { + if x != nil { + return x.DeploymentName + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SetWorkerDeploymentRampingVersionRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *SetWorkerDeploymentRampingVersionRequest) GetBuildId() string { + if x != nil { + return x.BuildId + } + return "" +} + +func (x *SetWorkerDeploymentRampingVersionRequest) GetPercentage() float32 { + if x != nil { + return x.Percentage + } + return 0 +} + +func (x *SetWorkerDeploymentRampingVersionRequest) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +func (x *SetWorkerDeploymentRampingVersionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *SetWorkerDeploymentRampingVersionRequest) GetIgnoreMissingTaskQueues() bool { + if x != nil { + return x.IgnoreMissingTaskQueues + } + return false +} + +func (x *SetWorkerDeploymentRampingVersionRequest) GetAllowNoPollers() bool { + if x != nil { + return x.AllowNoPollers + } + return false +} + +type SetWorkerDeploymentRampingVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // This value is returned so that it can be optionally passed to APIs + // that write to the Worker Deployment state to ensure that the state + // did not change between this API call and a future write. + ConflictToken []byte `protobuf:"bytes,1,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + // Deprecated. Use `previous_deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + PreviousVersion string `protobuf:"bytes,2,opt,name=previous_version,json=previousVersion,proto3" json:"previous_version,omitempty"` + // The version that was ramping before executing this operation. + // Deprecated in favor of idempotency of the API. Use `DescribeWorkerDeployment` to get the + // Ramping version info before calling this API. By passing the `conflict_token` got from the + // `DescribeWorkerDeployment` call to this API you can ensure there is no interfering changes + // between the two calls. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + PreviousDeploymentVersion *v18.WorkerDeploymentVersion `protobuf:"bytes,4,opt,name=previous_deployment_version,json=previousDeploymentVersion,proto3" json:"previous_deployment_version,omitempty"` + // The ramping version percentage before executing this operation. + // Deprecated in favor of idempotency of the API. Use `DescribeWorkerDeployment` to get the + // Ramping version info before calling this API. By passing the `conflict_token` got from the + // `DescribeWorkerDeployment` call to this API you can ensure there is no interfering changes + // between the two calls. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + PreviousPercentage float32 `protobuf:"fixed32,3,opt,name=previous_percentage,json=previousPercentage,proto3" json:"previous_percentage,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkerDeploymentRampingVersionResponse) Reset() { + *x = SetWorkerDeploymentRampingVersionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[161] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkerDeploymentRampingVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkerDeploymentRampingVersionResponse) ProtoMessage() {} + +func (x *SetWorkerDeploymentRampingVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[161] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkerDeploymentRampingVersionResponse.ProtoReflect.Descriptor instead. +func (*SetWorkerDeploymentRampingVersionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{161} +} + +func (x *SetWorkerDeploymentRampingVersionResponse) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SetWorkerDeploymentRampingVersionResponse) GetPreviousVersion() string { + if x != nil { + return x.PreviousVersion + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SetWorkerDeploymentRampingVersionResponse) GetPreviousDeploymentVersion() *v18.WorkerDeploymentVersion { + if x != nil { + return x.PreviousDeploymentVersion + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SetWorkerDeploymentRampingVersionResponse) GetPreviousPercentage() float32 { + if x != nil { + return x.PreviousPercentage + } + return 0 +} + +// Creates a new WorkerDeployment. +type CreateWorkerDeploymentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The name of the Worker Deployment to create. If a Worker Deployment with + // this name already exists, an error will be returned. + DeploymentName string `protobuf:"bytes,2,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this create request for idempotence. Typically UUIDv4. + RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkerDeploymentRequest) Reset() { + *x = CreateWorkerDeploymentRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[162] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkerDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkerDeploymentRequest) ProtoMessage() {} + +func (x *CreateWorkerDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[162] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkerDeploymentRequest.ProtoReflect.Descriptor instead. +func (*CreateWorkerDeploymentRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{162} +} + +func (x *CreateWorkerDeploymentRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *CreateWorkerDeploymentRequest) GetDeploymentName() string { + if x != nil { + return x.DeploymentName + } + return "" +} + +func (x *CreateWorkerDeploymentRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *CreateWorkerDeploymentRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type CreateWorkerDeploymentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // This value is returned so that it can be optionally passed to APIs that + // write to the WorkerDeployment state to ensure that the state did not + // change between this API call and a future write. + ConflictToken []byte `protobuf:"bytes,1,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkerDeploymentResponse) Reset() { + *x = CreateWorkerDeploymentResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[163] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkerDeploymentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkerDeploymentResponse) ProtoMessage() {} + +func (x *CreateWorkerDeploymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[163] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkerDeploymentResponse.ProtoReflect.Descriptor instead. +func (*CreateWorkerDeploymentResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{163} +} + +func (x *CreateWorkerDeploymentResponse) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +type ListWorkerDeploymentsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkerDeploymentsRequest) Reset() { + *x = ListWorkerDeploymentsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[164] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkerDeploymentsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkerDeploymentsRequest) ProtoMessage() {} + +func (x *ListWorkerDeploymentsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[164] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkerDeploymentsRequest.ProtoReflect.Descriptor instead. +func (*ListWorkerDeploymentsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{164} +} + +func (x *ListWorkerDeploymentsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListWorkerDeploymentsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListWorkerDeploymentsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type ListWorkerDeploymentsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + NextPageToken []byte `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // The list of worker deployments. + WorkerDeployments []*ListWorkerDeploymentsResponse_WorkerDeploymentSummary `protobuf:"bytes,2,rep,name=worker_deployments,json=workerDeployments,proto3" json:"worker_deployments,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkerDeploymentsResponse) Reset() { + *x = ListWorkerDeploymentsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[165] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkerDeploymentsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkerDeploymentsResponse) ProtoMessage() {} + +func (x *ListWorkerDeploymentsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[165] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkerDeploymentsResponse.ProtoReflect.Descriptor instead. +func (*ListWorkerDeploymentsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{165} +} + +func (x *ListWorkerDeploymentsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListWorkerDeploymentsResponse) GetWorkerDeployments() []*ListWorkerDeploymentsResponse_WorkerDeploymentSummary { + if x != nil { + return x.WorkerDeployments + } + return nil +} + +// Creates a new WorkerDeploymentVersion. +type CreateWorkerDeploymentVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Required. + DeploymentVersion *v18.WorkerDeploymentVersion `protobuf:"bytes,2,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + // Optional. Contains the new worker compute configuration for the Worker + // Deployment. Used for worker scale management. + ComputeConfig *v121.ComputeConfig `protobuf:"bytes,4,opt,name=compute_config,json=computeConfig,proto3" json:"compute_config,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this create request for idempotence. Typically UUIDv4. + // If a second request with the same ID is recieved, it is considered a successful no-op. + // Retrying with a different request ID for the same deployment name + build ID is an error. + RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkerDeploymentVersionRequest) Reset() { + *x = CreateWorkerDeploymentVersionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[166] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkerDeploymentVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkerDeploymentVersionRequest) ProtoMessage() {} + +func (x *CreateWorkerDeploymentVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[166] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkerDeploymentVersionRequest.ProtoReflect.Descriptor instead. +func (*CreateWorkerDeploymentVersionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{166} +} + +func (x *CreateWorkerDeploymentVersionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *CreateWorkerDeploymentVersionRequest) GetDeploymentVersion() *v18.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *CreateWorkerDeploymentVersionRequest) GetComputeConfig() *v121.ComputeConfig { + if x != nil { + return x.ComputeConfig + } + return nil +} + +func (x *CreateWorkerDeploymentVersionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *CreateWorkerDeploymentVersionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type CreateWorkerDeploymentVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkerDeploymentVersionResponse) Reset() { + *x = CreateWorkerDeploymentVersionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[167] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkerDeploymentVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkerDeploymentVersionResponse) ProtoMessage() {} + +func (x *CreateWorkerDeploymentVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[167] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkerDeploymentVersionResponse.ProtoReflect.Descriptor instead. +func (*CreateWorkerDeploymentVersionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{167} +} + +// Used for manual deletion of Versions. User can delete a Version only when all the +// following conditions are met: +// - It is not the Current or Ramping Version of its Deployment. +// - It has no active pollers (none of the task queues in the Version have pollers) +// - It is not draining (see WorkerDeploymentVersionInfo.drainage_info). This condition +// can be skipped by passing `skip-drainage=true`. +type DeleteWorkerDeploymentVersionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Deprecated. Use `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // Required. + DeploymentVersion *v18.WorkerDeploymentVersion `protobuf:"bytes,5,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + // Pass to force deletion even if the Version is draining. In this case the open pinned + // workflows will be stuck until manually moved to another version by UpdateWorkflowExecutionOptions. + SkipDrainage bool `protobuf:"varint,3,opt,name=skip_drainage,json=skipDrainage,proto3" json:"skip_drainage,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkerDeploymentVersionRequest) Reset() { + *x = DeleteWorkerDeploymentVersionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[168] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkerDeploymentVersionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkerDeploymentVersionRequest) ProtoMessage() {} + +func (x *DeleteWorkerDeploymentVersionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[168] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkerDeploymentVersionRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkerDeploymentVersionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{168} +} + +func (x *DeleteWorkerDeploymentVersionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *DeleteWorkerDeploymentVersionRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *DeleteWorkerDeploymentVersionRequest) GetDeploymentVersion() *v18.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *DeleteWorkerDeploymentVersionRequest) GetSkipDrainage() bool { + if x != nil { + return x.SkipDrainage + } + return false +} + +func (x *DeleteWorkerDeploymentVersionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type DeleteWorkerDeploymentVersionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkerDeploymentVersionResponse) Reset() { + *x = DeleteWorkerDeploymentVersionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[169] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkerDeploymentVersionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkerDeploymentVersionResponse) ProtoMessage() {} + +func (x *DeleteWorkerDeploymentVersionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[169] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkerDeploymentVersionResponse.ProtoReflect.Descriptor instead. +func (*DeleteWorkerDeploymentVersionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{169} +} + +// Deletes records of (an old) Deployment. A deployment can only be deleted if +// it has no Version in it. +type DeleteWorkerDeploymentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + DeploymentName string `protobuf:"bytes,2,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkerDeploymentRequest) Reset() { + *x = DeleteWorkerDeploymentRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[170] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkerDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkerDeploymentRequest) ProtoMessage() {} + +func (x *DeleteWorkerDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[170] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkerDeploymentRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkerDeploymentRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{170} +} + +func (x *DeleteWorkerDeploymentRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DeleteWorkerDeploymentRequest) GetDeploymentName() string { + if x != nil { + return x.DeploymentName + } + return "" +} + +func (x *DeleteWorkerDeploymentRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type DeleteWorkerDeploymentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkerDeploymentResponse) Reset() { + *x = DeleteWorkerDeploymentResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[171] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkerDeploymentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkerDeploymentResponse) ProtoMessage() {} + +func (x *DeleteWorkerDeploymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[171] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkerDeploymentResponse.ProtoReflect.Descriptor instead. +func (*DeleteWorkerDeploymentResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{171} +} + +// Used to update the compute config of a Worker Deployment Version. +type UpdateWorkerDeploymentVersionComputeConfigRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Required. + DeploymentVersion *v18.WorkerDeploymentVersion `protobuf:"bytes,2,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + // Optional. Contains the compute config scaling groups to add or update for the Worker + // Deployment. + ComputeConfigScalingGroups map[string]*v121.ComputeConfigScalingGroupUpdate `protobuf:"bytes,6,rep,name=compute_config_scaling_groups,json=computeConfigScalingGroups,proto3" json:"compute_config_scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Optional. Contains the compute config scaling groups to remove from the Worker Deployment. + RemoveComputeConfigScalingGroups []string `protobuf:"bytes,7,rep,name=remove_compute_config_scaling_groups,json=removeComputeConfigScalingGroups,proto3" json:"remove_compute_config_scaling_groups,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this create request for idempotence. Typically UUIDv4. + // If a second request with the same ID is recieved, it is considered a successful no-op. + // Retrying with a different request ID for the same deployment name + build ID is an error. + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigRequest) Reset() { + *x = UpdateWorkerDeploymentVersionComputeConfigRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[172] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerDeploymentVersionComputeConfigRequest) ProtoMessage() {} + +func (x *UpdateWorkerDeploymentVersionComputeConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[172] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerDeploymentVersionComputeConfigRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkerDeploymentVersionComputeConfigRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{172} +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigRequest) GetDeploymentVersion() *v18.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigRequest) GetComputeConfigScalingGroups() map[string]*v121.ComputeConfigScalingGroupUpdate { + if x != nil { + return x.ComputeConfigScalingGroups + } + return nil +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigRequest) GetRemoveComputeConfigScalingGroups() []string { + if x != nil { + return x.RemoveComputeConfigScalingGroups + } + return nil +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +type UpdateWorkerDeploymentVersionComputeConfigResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigResponse) Reset() { + *x = UpdateWorkerDeploymentVersionComputeConfigResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[173] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerDeploymentVersionComputeConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerDeploymentVersionComputeConfigResponse) ProtoMessage() {} + +func (x *UpdateWorkerDeploymentVersionComputeConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[173] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerDeploymentVersionComputeConfigResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkerDeploymentVersionComputeConfigResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{173} +} + +// Used to validate the compute config without attaching it to a Worker Deployment Version. +type ValidateWorkerDeploymentVersionComputeConfigRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Required. + DeploymentVersion *v18.WorkerDeploymentVersion `protobuf:"bytes,2,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + // Optional. Contains the compute config scaling groups to add or update for the Worker + // Deployment. + ComputeConfigScalingGroups map[string]*v121.ComputeConfigScalingGroupUpdate `protobuf:"bytes,6,rep,name=compute_config_scaling_groups,json=computeConfigScalingGroups,proto3" json:"compute_config_scaling_groups,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Optional. Contains the compute config scaling groups to remove from the Worker Deployment. + RemoveComputeConfigScalingGroups []string `protobuf:"bytes,7,rep,name=remove_compute_config_scaling_groups,json=removeComputeConfigScalingGroups,proto3" json:"remove_compute_config_scaling_groups,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ValidateWorkerDeploymentVersionComputeConfigRequest) Reset() { + *x = ValidateWorkerDeploymentVersionComputeConfigRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[174] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ValidateWorkerDeploymentVersionComputeConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidateWorkerDeploymentVersionComputeConfigRequest) ProtoMessage() {} + +func (x *ValidateWorkerDeploymentVersionComputeConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[174] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidateWorkerDeploymentVersionComputeConfigRequest.ProtoReflect.Descriptor instead. +func (*ValidateWorkerDeploymentVersionComputeConfigRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{174} +} + +func (x *ValidateWorkerDeploymentVersionComputeConfigRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ValidateWorkerDeploymentVersionComputeConfigRequest) GetDeploymentVersion() *v18.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *ValidateWorkerDeploymentVersionComputeConfigRequest) GetComputeConfigScalingGroups() map[string]*v121.ComputeConfigScalingGroupUpdate { + if x != nil { + return x.ComputeConfigScalingGroups + } + return nil +} + +func (x *ValidateWorkerDeploymentVersionComputeConfigRequest) GetRemoveComputeConfigScalingGroups() []string { + if x != nil { + return x.RemoveComputeConfigScalingGroups + } + return nil +} + +func (x *ValidateWorkerDeploymentVersionComputeConfigRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type ValidateWorkerDeploymentVersionComputeConfigResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ValidateWorkerDeploymentVersionComputeConfigResponse) Reset() { + *x = ValidateWorkerDeploymentVersionComputeConfigResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[175] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ValidateWorkerDeploymentVersionComputeConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ValidateWorkerDeploymentVersionComputeConfigResponse) ProtoMessage() {} + +func (x *ValidateWorkerDeploymentVersionComputeConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[175] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ValidateWorkerDeploymentVersionComputeConfigResponse.ProtoReflect.Descriptor instead. +func (*ValidateWorkerDeploymentVersionComputeConfigResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{175} +} + +// Used to update the user-defined metadata of a Worker Deployment Version. +type UpdateWorkerDeploymentVersionMetadataRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Deprecated. Use `deployment_version`. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"` + // Required. + DeploymentVersion *v18.WorkerDeploymentVersion `protobuf:"bytes,5,opt,name=deployment_version,json=deploymentVersion,proto3" json:"deployment_version,omitempty"` + UpsertEntries map[string]*v13.Payload `protobuf:"bytes,3,rep,name=upsert_entries,json=upsertEntries,proto3" json:"upsert_entries,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // List of keys to remove from the metadata. + RemoveEntries []string `protobuf:"bytes,4,rep,name=remove_entries,json=removeEntries,proto3" json:"remove_entries,omitempty"` + // Optional. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,6,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerDeploymentVersionMetadataRequest) Reset() { + *x = UpdateWorkerDeploymentVersionMetadataRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[176] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerDeploymentVersionMetadataRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerDeploymentVersionMetadataRequest) ProtoMessage() {} + +func (x *UpdateWorkerDeploymentVersionMetadataRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[176] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerDeploymentVersionMetadataRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkerDeploymentVersionMetadataRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{176} +} + +func (x *UpdateWorkerDeploymentVersionMetadataRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *UpdateWorkerDeploymentVersionMetadataRequest) GetVersion() string { + if x != nil { + return x.Version + } + return "" +} + +func (x *UpdateWorkerDeploymentVersionMetadataRequest) GetDeploymentVersion() *v18.WorkerDeploymentVersion { + if x != nil { + return x.DeploymentVersion + } + return nil +} + +func (x *UpdateWorkerDeploymentVersionMetadataRequest) GetUpsertEntries() map[string]*v13.Payload { + if x != nil { + return x.UpsertEntries + } + return nil +} + +func (x *UpdateWorkerDeploymentVersionMetadataRequest) GetRemoveEntries() []string { + if x != nil { + return x.RemoveEntries + } + return nil +} + +func (x *UpdateWorkerDeploymentVersionMetadataRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type UpdateWorkerDeploymentVersionMetadataResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Full metadata after performing the update. + Metadata *v18.VersionMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerDeploymentVersionMetadataResponse) Reset() { + *x = UpdateWorkerDeploymentVersionMetadataResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[177] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerDeploymentVersionMetadataResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerDeploymentVersionMetadataResponse) ProtoMessage() {} + +func (x *UpdateWorkerDeploymentVersionMetadataResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[177] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerDeploymentVersionMetadataResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkerDeploymentVersionMetadataResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{177} +} + +func (x *UpdateWorkerDeploymentVersionMetadataResponse) GetMetadata() *v18.VersionMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +// Update the ManagerIdentity of a Worker Deployment. +type SetWorkerDeploymentManagerRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + DeploymentName string `protobuf:"bytes,2,opt,name=deployment_name,json=deploymentName,proto3" json:"deployment_name,omitempty"` + // Types that are valid to be assigned to NewManagerIdentity: + // + // *SetWorkerDeploymentManagerRequest_ManagerIdentity + // *SetWorkerDeploymentManagerRequest_Self + NewManagerIdentity isSetWorkerDeploymentManagerRequest_NewManagerIdentity `protobuf_oneof:"new_manager_identity"` + // Optional. This can be the value of conflict_token from a Describe, or another Worker + // Deployment API. Passing a non-nil conflict token will cause this request to fail if the + // Deployment's configuration has been modified between the API call that generated the + // token and this one. + ConflictToken []byte `protobuf:"bytes,5,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + // Required. The identity of the client who initiated this request. + Identity string `protobuf:"bytes,6,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkerDeploymentManagerRequest) Reset() { + *x = SetWorkerDeploymentManagerRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[178] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkerDeploymentManagerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkerDeploymentManagerRequest) ProtoMessage() {} + +func (x *SetWorkerDeploymentManagerRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[178] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkerDeploymentManagerRequest.ProtoReflect.Descriptor instead. +func (*SetWorkerDeploymentManagerRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{178} +} + +func (x *SetWorkerDeploymentManagerRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *SetWorkerDeploymentManagerRequest) GetDeploymentName() string { + if x != nil { + return x.DeploymentName + } + return "" +} + +func (x *SetWorkerDeploymentManagerRequest) GetNewManagerIdentity() isSetWorkerDeploymentManagerRequest_NewManagerIdentity { + if x != nil { + return x.NewManagerIdentity + } + return nil +} + +func (x *SetWorkerDeploymentManagerRequest) GetManagerIdentity() string { + if x != nil { + if x, ok := x.NewManagerIdentity.(*SetWorkerDeploymentManagerRequest_ManagerIdentity); ok { + return x.ManagerIdentity + } + } + return "" +} + +func (x *SetWorkerDeploymentManagerRequest) GetSelf() bool { + if x != nil { + if x, ok := x.NewManagerIdentity.(*SetWorkerDeploymentManagerRequest_Self); ok { + return x.Self + } + } + return false +} + +func (x *SetWorkerDeploymentManagerRequest) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +func (x *SetWorkerDeploymentManagerRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type isSetWorkerDeploymentManagerRequest_NewManagerIdentity interface { + isSetWorkerDeploymentManagerRequest_NewManagerIdentity() +} + +type SetWorkerDeploymentManagerRequest_ManagerIdentity struct { + // Arbitrary value for `manager_identity`. + // Empty will unset the field. + ManagerIdentity string `protobuf:"bytes,3,opt,name=manager_identity,json=managerIdentity,proto3,oneof"` +} + +type SetWorkerDeploymentManagerRequest_Self struct { + // True will set `manager_identity` to `identity`. + Self bool `protobuf:"varint,4,opt,name=self,proto3,oneof"` +} + +func (*SetWorkerDeploymentManagerRequest_ManagerIdentity) isSetWorkerDeploymentManagerRequest_NewManagerIdentity() { +} + +func (*SetWorkerDeploymentManagerRequest_Self) isSetWorkerDeploymentManagerRequest_NewManagerIdentity() { +} + +type SetWorkerDeploymentManagerResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // This value is returned so that it can be optionally passed to APIs + // that write to the Worker Deployment state to ensure that the state + // did not change between this API call and a future write. + ConflictToken []byte `protobuf:"bytes,1,opt,name=conflict_token,json=conflictToken,proto3" json:"conflict_token,omitempty"` + // What the `manager_identity` field was before this change. + // Deprecated in favor of idempotency of the API. Use `DescribeWorkerDeployment` to get the + // manager identity before calling this API. By passing the `conflict_token` got from the + // `DescribeWorkerDeployment` call to this API you can ensure there is no interfering changes + // between the two calls. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + PreviousManagerIdentity string `protobuf:"bytes,2,opt,name=previous_manager_identity,json=previousManagerIdentity,proto3" json:"previous_manager_identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *SetWorkerDeploymentManagerResponse) Reset() { + *x = SetWorkerDeploymentManagerResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[179] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *SetWorkerDeploymentManagerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*SetWorkerDeploymentManagerResponse) ProtoMessage() {} + +func (x *SetWorkerDeploymentManagerResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[179] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use SetWorkerDeploymentManagerResponse.ProtoReflect.Descriptor instead. +func (*SetWorkerDeploymentManagerResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{179} +} + +func (x *SetWorkerDeploymentManagerResponse) GetConflictToken() []byte { + if x != nil { + return x.ConflictToken + } + return nil +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *SetWorkerDeploymentManagerResponse) GetPreviousManagerIdentity() string { + if x != nil { + return x.PreviousManagerIdentity + } + return "" +} + +// Returns the Current Deployment of a deployment series. +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type GetCurrentDeploymentRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + SeriesName string `protobuf:"bytes,2,opt,name=series_name,json=seriesName,proto3" json:"series_name,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetCurrentDeploymentRequest) Reset() { + *x = GetCurrentDeploymentRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[180] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetCurrentDeploymentRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCurrentDeploymentRequest) ProtoMessage() {} + +func (x *GetCurrentDeploymentRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[180] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetCurrentDeploymentRequest.ProtoReflect.Descriptor instead. +func (*GetCurrentDeploymentRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{180} +} + +func (x *GetCurrentDeploymentRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *GetCurrentDeploymentRequest) GetSeriesName() string { + if x != nil { + return x.SeriesName + } + return "" +} + +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type GetCurrentDeploymentResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + CurrentDeploymentInfo *v18.DeploymentInfo `protobuf:"bytes,1,opt,name=current_deployment_info,json=currentDeploymentInfo,proto3" json:"current_deployment_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetCurrentDeploymentResponse) Reset() { + *x = GetCurrentDeploymentResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[181] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetCurrentDeploymentResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetCurrentDeploymentResponse) ProtoMessage() {} + +func (x *GetCurrentDeploymentResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[181] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetCurrentDeploymentResponse.ProtoReflect.Descriptor instead. +func (*GetCurrentDeploymentResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{181} +} + +func (x *GetCurrentDeploymentResponse) GetCurrentDeploymentInfo() *v18.DeploymentInfo { + if x != nil { + return x.CurrentDeploymentInfo + } + return nil +} + +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type GetDeploymentReachabilityRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Deployment *v18.Deployment `protobuf:"bytes,2,opt,name=deployment,proto3" json:"deployment,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDeploymentReachabilityRequest) Reset() { + *x = GetDeploymentReachabilityRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[182] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDeploymentReachabilityRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDeploymentReachabilityRequest) ProtoMessage() {} + +func (x *GetDeploymentReachabilityRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[182] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDeploymentReachabilityRequest.ProtoReflect.Descriptor instead. +func (*GetDeploymentReachabilityRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{182} +} + +func (x *GetDeploymentReachabilityRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *GetDeploymentReachabilityRequest) GetDeployment() *v18.Deployment { + if x != nil { + return x.Deployment + } + return nil +} + +// [cleanup-wv-pre-release] Pre-release deployment APIs, clean up later +type GetDeploymentReachabilityResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + DeploymentInfo *v18.DeploymentInfo `protobuf:"bytes,1,opt,name=deployment_info,json=deploymentInfo,proto3" json:"deployment_info,omitempty"` + Reachability v11.DeploymentReachability `protobuf:"varint,2,opt,name=reachability,proto3,enum=temporal.api.enums.v1.DeploymentReachability" json:"reachability,omitempty"` + // Reachability level might come from server cache. This timestamp specifies when the value + // was actually calculated. + LastUpdateTime *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=last_update_time,json=lastUpdateTime,proto3" json:"last_update_time,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetDeploymentReachabilityResponse) Reset() { + *x = GetDeploymentReachabilityResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[183] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetDeploymentReachabilityResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetDeploymentReachabilityResponse) ProtoMessage() {} + +func (x *GetDeploymentReachabilityResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[183] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetDeploymentReachabilityResponse.ProtoReflect.Descriptor instead. +func (*GetDeploymentReachabilityResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{183} +} + +func (x *GetDeploymentReachabilityResponse) GetDeploymentInfo() *v18.DeploymentInfo { + if x != nil { + return x.DeploymentInfo + } + return nil +} + +func (x *GetDeploymentReachabilityResponse) GetReachability() v11.DeploymentReachability { + if x != nil { + return x.Reachability + } + return v11.DeploymentReachability(0) +} + +func (x *GetDeploymentReachabilityResponse) GetLastUpdateTime() *timestamppb.Timestamp { + if x != nil { + return x.LastUpdateTime + } + return nil +} + +type CreateWorkflowRuleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The rule specification . + Spec *v122.WorkflowRuleSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` + // If true, the rule will be applied to the currently running workflows via batch job. + // If not set , the rule will only be applied when triggering condition is satisfied. + // visibility_query in the rule will be used to select the workflows to apply the rule to. + ForceScan bool `protobuf:"varint,3,opt,name=force_scan,json=forceScan,proto3" json:"force_scan,omitempty"` + // Used to de-dupe requests. Typically should be UUID. + RequestId string `protobuf:"bytes,4,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Identity of the actor who created the rule. Will be stored with the rule. + Identity string `protobuf:"bytes,5,opt,name=identity,proto3" json:"identity,omitempty"` + // Rule description.Will be stored with the rule. + Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkflowRuleRequest) Reset() { + *x = CreateWorkflowRuleRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[184] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkflowRuleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkflowRuleRequest) ProtoMessage() {} + +func (x *CreateWorkflowRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[184] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkflowRuleRequest.ProtoReflect.Descriptor instead. +func (*CreateWorkflowRuleRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{184} +} + +func (x *CreateWorkflowRuleRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *CreateWorkflowRuleRequest) GetSpec() *v122.WorkflowRuleSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *CreateWorkflowRuleRequest) GetForceScan() bool { + if x != nil { + return x.ForceScan + } + return false +} + +func (x *CreateWorkflowRuleRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *CreateWorkflowRuleRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *CreateWorkflowRuleRequest) GetDescription() string { + if x != nil { + return x.Description + } + return "" +} + +type CreateWorkflowRuleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Created rule. + Rule *v122.WorkflowRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` + // Batch Job ID if force-scan flag was provided. Otherwise empty. + JobId string `protobuf:"bytes,2,opt,name=job_id,json=jobId,proto3" json:"job_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CreateWorkflowRuleResponse) Reset() { + *x = CreateWorkflowRuleResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[185] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CreateWorkflowRuleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CreateWorkflowRuleResponse) ProtoMessage() {} + +func (x *CreateWorkflowRuleResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[185] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CreateWorkflowRuleResponse.ProtoReflect.Descriptor instead. +func (*CreateWorkflowRuleResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{185} +} + +func (x *CreateWorkflowRuleResponse) GetRule() *v122.WorkflowRule { + if x != nil { + return x.Rule + } + return nil +} + +func (x *CreateWorkflowRuleResponse) GetJobId() string { + if x != nil { + return x.JobId + } + return "" +} + +type DescribeWorkflowRuleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // User-specified ID of the rule to read. Unique within the namespace. + RuleId string `protobuf:"bytes,2,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkflowRuleRequest) Reset() { + *x = DescribeWorkflowRuleRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[186] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkflowRuleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkflowRuleRequest) ProtoMessage() {} + +func (x *DescribeWorkflowRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[186] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkflowRuleRequest.ProtoReflect.Descriptor instead. +func (*DescribeWorkflowRuleRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{186} +} + +func (x *DescribeWorkflowRuleRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeWorkflowRuleRequest) GetRuleId() string { + if x != nil { + return x.RuleId + } + return "" +} + +type DescribeWorkflowRuleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The rule that was read. + Rule *v122.WorkflowRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkflowRuleResponse) Reset() { + *x = DescribeWorkflowRuleResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[187] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkflowRuleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkflowRuleResponse) ProtoMessage() {} + +func (x *DescribeWorkflowRuleResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[187] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkflowRuleResponse.ProtoReflect.Descriptor instead. +func (*DescribeWorkflowRuleResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{187} +} + +func (x *DescribeWorkflowRuleResponse) GetRule() *v122.WorkflowRule { + if x != nil { + return x.Rule + } + return nil +} + +type DeleteWorkflowRuleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // ID of the rule to delete. Unique within the namespace. + RuleId string `protobuf:"bytes,2,opt,name=rule_id,json=ruleId,proto3" json:"rule_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkflowRuleRequest) Reset() { + *x = DeleteWorkflowRuleRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[188] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkflowRuleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkflowRuleRequest) ProtoMessage() {} + +func (x *DeleteWorkflowRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[188] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkflowRuleRequest.ProtoReflect.Descriptor instead. +func (*DeleteWorkflowRuleRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{188} +} + +func (x *DeleteWorkflowRuleRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DeleteWorkflowRuleRequest) GetRuleId() string { + if x != nil { + return x.RuleId + } + return "" +} + +type DeleteWorkflowRuleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteWorkflowRuleResponse) Reset() { + *x = DeleteWorkflowRuleResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[189] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteWorkflowRuleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteWorkflowRuleResponse) ProtoMessage() {} + +func (x *DeleteWorkflowRuleResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[189] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteWorkflowRuleResponse.ProtoReflect.Descriptor instead. +func (*DeleteWorkflowRuleResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{189} +} + +type ListWorkflowRulesRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkflowRulesRequest) Reset() { + *x = ListWorkflowRulesRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[190] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkflowRulesRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkflowRulesRequest) ProtoMessage() {} + +func (x *ListWorkflowRulesRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[190] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkflowRulesRequest.ProtoReflect.Descriptor instead. +func (*ListWorkflowRulesRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{190} +} + +func (x *ListWorkflowRulesRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListWorkflowRulesRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type ListWorkflowRulesResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rules []*v122.WorkflowRule `protobuf:"bytes,1,rep,name=rules,proto3" json:"rules,omitempty"` + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkflowRulesResponse) Reset() { + *x = ListWorkflowRulesResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[191] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkflowRulesResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkflowRulesResponse) ProtoMessage() {} + +func (x *ListWorkflowRulesResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[191] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkflowRulesResponse.ProtoReflect.Descriptor instead. +func (*ListWorkflowRulesResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{191} +} + +func (x *ListWorkflowRulesResponse) GetRules() []*v122.WorkflowRule { + if x != nil { + return x.Rules + } + return nil +} + +func (x *ListWorkflowRulesResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type TriggerWorkflowRuleRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Execution info of the workflow which scheduled this activity + Execution *v13.WorkflowExecution `protobuf:"bytes,2,opt,name=execution,proto3" json:"execution,omitempty"` + // Either provide id of existing rule, or rule specification + // + // Types that are valid to be assigned to Rule: + // + // *TriggerWorkflowRuleRequest_Id + // *TriggerWorkflowRuleRequest_Spec + Rule isTriggerWorkflowRuleRequest_Rule `protobuf_oneof:"rule"` + // The identity of the client who initiated this request + Identity string `protobuf:"bytes,3,opt,name=identity,proto3" json:"identity,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TriggerWorkflowRuleRequest) Reset() { + *x = TriggerWorkflowRuleRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[192] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TriggerWorkflowRuleRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerWorkflowRuleRequest) ProtoMessage() {} + +func (x *TriggerWorkflowRuleRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[192] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerWorkflowRuleRequest.ProtoReflect.Descriptor instead. +func (*TriggerWorkflowRuleRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{192} +} + +func (x *TriggerWorkflowRuleRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *TriggerWorkflowRuleRequest) GetExecution() *v13.WorkflowExecution { + if x != nil { + return x.Execution + } + return nil +} + +func (x *TriggerWorkflowRuleRequest) GetRule() isTriggerWorkflowRuleRequest_Rule { + if x != nil { + return x.Rule + } + return nil +} + +func (x *TriggerWorkflowRuleRequest) GetId() string { + if x != nil { + if x, ok := x.Rule.(*TriggerWorkflowRuleRequest_Id); ok { + return x.Id + } + } + return "" +} + +func (x *TriggerWorkflowRuleRequest) GetSpec() *v122.WorkflowRuleSpec { + if x != nil { + if x, ok := x.Rule.(*TriggerWorkflowRuleRequest_Spec); ok { + return x.Spec + } + } + return nil +} + +func (x *TriggerWorkflowRuleRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +type isTriggerWorkflowRuleRequest_Rule interface { + isTriggerWorkflowRuleRequest_Rule() +} + +type TriggerWorkflowRuleRequest_Id struct { + Id string `protobuf:"bytes,4,opt,name=id,proto3,oneof"` +} + +type TriggerWorkflowRuleRequest_Spec struct { + // Note: Rule ID and expiration date are not used in the trigger request. + Spec *v122.WorkflowRuleSpec `protobuf:"bytes,5,opt,name=spec,proto3,oneof"` +} + +func (*TriggerWorkflowRuleRequest_Id) isTriggerWorkflowRuleRequest_Rule() {} + +func (*TriggerWorkflowRuleRequest_Spec) isTriggerWorkflowRuleRequest_Rule() {} + +type TriggerWorkflowRuleResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // True is the rule was applied, based on the rule conditions (predicate/visibility_query). + Applied bool `protobuf:"varint,1,opt,name=applied,proto3" json:"applied,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TriggerWorkflowRuleResponse) Reset() { + *x = TriggerWorkflowRuleResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[193] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TriggerWorkflowRuleResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerWorkflowRuleResponse) ProtoMessage() {} + +func (x *TriggerWorkflowRuleResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[193] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerWorkflowRuleResponse.ProtoReflect.Descriptor instead. +func (*TriggerWorkflowRuleResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{193} +} + +func (x *TriggerWorkflowRuleResponse) GetApplied() bool { + if x != nil { + return x.Applied + } + return false +} + +type RecordWorkerHeartbeatRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace this worker belongs to. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + WorkerHeartbeat []*v114.WorkerHeartbeat `protobuf:"bytes,3,rep,name=worker_heartbeat,json=workerHeartbeat,proto3" json:"worker_heartbeat,omitempty"` + // Resource ID for routing. Contains the worker grouping key. + ResourceId string `protobuf:"bytes,4,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecordWorkerHeartbeatRequest) Reset() { + *x = RecordWorkerHeartbeatRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[194] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecordWorkerHeartbeatRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordWorkerHeartbeatRequest) ProtoMessage() {} + +func (x *RecordWorkerHeartbeatRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[194] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordWorkerHeartbeatRequest.ProtoReflect.Descriptor instead. +func (*RecordWorkerHeartbeatRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{194} +} + +func (x *RecordWorkerHeartbeatRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RecordWorkerHeartbeatRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RecordWorkerHeartbeatRequest) GetWorkerHeartbeat() []*v114.WorkerHeartbeat { + if x != nil { + return x.WorkerHeartbeat + } + return nil +} + +func (x *RecordWorkerHeartbeatRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +type RecordWorkerHeartbeatResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RecordWorkerHeartbeatResponse) Reset() { + *x = RecordWorkerHeartbeatResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[195] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RecordWorkerHeartbeatResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RecordWorkerHeartbeatResponse) ProtoMessage() {} + +func (x *RecordWorkerHeartbeatResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[195] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RecordWorkerHeartbeatResponse.ProtoReflect.Descriptor instead. +func (*RecordWorkerHeartbeatResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{195} +} + +type ListWorkersRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // `query` in ListWorkers is used to filter workers based on worker attributes. + // Supported attributes: + // * WorkerInstanceKey + // * WorkerIdentity + // * HostName + // * TaskQueue + // * DeploymentName + // * BuildId + // * SdkName + // * SdkVersion + // * StartTime + // * Status + Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` + // When true, the response will include system workers that are created implicitly + // by the server and not by the user. By default, system workers are excluded. + IncludeSystemWorkers bool `protobuf:"varint,5,opt,name=include_system_workers,json=includeSystemWorkers,proto3" json:"include_system_workers,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkersRequest) Reset() { + *x = ListWorkersRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[196] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkersRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkersRequest) ProtoMessage() {} + +func (x *ListWorkersRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[196] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkersRequest.ProtoReflect.Descriptor instead. +func (*ListWorkersRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{196} +} + +func (x *ListWorkersRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListWorkersRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListWorkersRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListWorkersRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +func (x *ListWorkersRequest) GetIncludeSystemWorkers() bool { + if x != nil { + return x.IncludeSystemWorkers + } + return false +} + +type ListWorkersResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Deprecated: Use workers instead. This field returns full WorkerInfo which + // includes expensive runtime metrics. We will stop populating this field in the future. + // + // Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. + WorkersInfo []*v114.WorkerInfo `protobuf:"bytes,1,rep,name=workers_info,json=workersInfo,proto3" json:"workers_info,omitempty"` + // Limited worker information. + Workers []*v114.WorkerListInfo `protobuf:"bytes,3,rep,name=workers,proto3" json:"workers,omitempty"` + // Next page token + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkersResponse) Reset() { + *x = ListWorkersResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[197] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkersResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkersResponse) ProtoMessage() {} + +func (x *ListWorkersResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[197] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkersResponse.ProtoReflect.Descriptor instead. +func (*ListWorkersResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{197} +} + +// Deprecated: Marked as deprecated in temporal/api/workflowservice/v1/request_response.proto. +func (x *ListWorkersResponse) GetWorkersInfo() []*v114.WorkerInfo { + if x != nil { + return x.WorkersInfo + } + return nil +} + +func (x *ListWorkersResponse) GetWorkers() []*v114.WorkerListInfo { + if x != nil { + return x.Workers + } + return nil +} + +func (x *ListWorkersResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type UpdateTaskQueueConfigRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // Selects the task queue to update. + TaskQueue string `protobuf:"bytes,3,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + TaskQueueType v11.TaskQueueType `protobuf:"varint,4,opt,name=task_queue_type,json=taskQueueType,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"task_queue_type,omitempty"` + // Update to queue-wide rate limit. + // If not set, this configuration is unchanged. + // NOTE: A limit set by the worker is overriden; and restored again when reset. + // If the `rate_limit` field in the `RateLimitUpdate` is missing, remove the existing rate limit. + UpdateQueueRateLimit *UpdateTaskQueueConfigRequest_RateLimitUpdate `protobuf:"bytes,5,opt,name=update_queue_rate_limit,json=updateQueueRateLimit,proto3" json:"update_queue_rate_limit,omitempty"` + // Update to the default fairness key rate limit. + // If not set, this configuration is unchanged. + // If the `rate_limit` field in the `RateLimitUpdate` is missing, remove the existing rate limit. + UpdateFairnessKeyRateLimitDefault *UpdateTaskQueueConfigRequest_RateLimitUpdate `protobuf:"bytes,6,opt,name=update_fairness_key_rate_limit_default,json=updateFairnessKeyRateLimitDefault,proto3" json:"update_fairness_key_rate_limit_default,omitempty"` + // If set, overrides the fairness weight for each specified fairness key. + // Fairness keys not listed in this map will keep their existing overrides (if any). + SetFairnessWeightOverrides map[string]float32 `protobuf:"bytes,7,rep,name=set_fairness_weight_overrides,json=setFairnessWeightOverrides,proto3" json:"set_fairness_weight_overrides,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"fixed32,2,opt,name=value"` + // If set, removes any existing fairness weight overrides for each specified fairness key. + // Fairness weights for corresponding keys fall back to the values set during task creation (if any), + // or to the default weight of 1.0. + UnsetFairnessWeightOverrides []string `protobuf:"bytes,8,rep,name=unset_fairness_weight_overrides,json=unsetFairnessWeightOverrides,proto3" json:"unset_fairness_weight_overrides,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateTaskQueueConfigRequest) Reset() { + *x = UpdateTaskQueueConfigRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[198] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateTaskQueueConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTaskQueueConfigRequest) ProtoMessage() {} + +func (x *UpdateTaskQueueConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[198] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateTaskQueueConfigRequest.ProtoReflect.Descriptor instead. +func (*UpdateTaskQueueConfigRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{198} +} + +func (x *UpdateTaskQueueConfigRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateTaskQueueConfigRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UpdateTaskQueueConfigRequest) GetTaskQueue() string { + if x != nil { + return x.TaskQueue + } + return "" +} + +func (x *UpdateTaskQueueConfigRequest) GetTaskQueueType() v11.TaskQueueType { + if x != nil { + return x.TaskQueueType + } + return v11.TaskQueueType(0) +} + +func (x *UpdateTaskQueueConfigRequest) GetUpdateQueueRateLimit() *UpdateTaskQueueConfigRequest_RateLimitUpdate { + if x != nil { + return x.UpdateQueueRateLimit + } + return nil +} + +func (x *UpdateTaskQueueConfigRequest) GetUpdateFairnessKeyRateLimitDefault() *UpdateTaskQueueConfigRequest_RateLimitUpdate { + if x != nil { + return x.UpdateFairnessKeyRateLimitDefault + } + return nil +} + +func (x *UpdateTaskQueueConfigRequest) GetSetFairnessWeightOverrides() map[string]float32 { + if x != nil { + return x.SetFairnessWeightOverrides + } + return nil +} + +func (x *UpdateTaskQueueConfigRequest) GetUnsetFairnessWeightOverrides() []string { + if x != nil { + return x.UnsetFairnessWeightOverrides + } + return nil +} + +type UpdateTaskQueueConfigResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Config *v14.TaskQueueConfig `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateTaskQueueConfigResponse) Reset() { + *x = UpdateTaskQueueConfigResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[199] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateTaskQueueConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTaskQueueConfigResponse) ProtoMessage() {} + +func (x *UpdateTaskQueueConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[199] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateTaskQueueConfigResponse.ProtoReflect.Descriptor instead. +func (*UpdateTaskQueueConfigResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{199} +} + +func (x *UpdateTaskQueueConfigResponse) GetConfig() *v14.TaskQueueConfig { + if x != nil { + return x.Config + } + return nil +} + +type FetchWorkerConfigRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace this worker belongs to. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // Reason for sending worker command, can be used for audit purpose. + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + // Defines which workers should receive this command. + // only single worker is supported at this time. + Selector *v13.WorkerSelector `protobuf:"bytes,6,opt,name=selector,proto3" json:"selector,omitempty"` + // Resource ID for routing. Contains the worker grouping key. + ResourceId string `protobuf:"bytes,7,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FetchWorkerConfigRequest) Reset() { + *x = FetchWorkerConfigRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[200] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FetchWorkerConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchWorkerConfigRequest) ProtoMessage() {} + +func (x *FetchWorkerConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[200] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FetchWorkerConfigRequest.ProtoReflect.Descriptor instead. +func (*FetchWorkerConfigRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{200} +} + +func (x *FetchWorkerConfigRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *FetchWorkerConfigRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *FetchWorkerConfigRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *FetchWorkerConfigRequest) GetSelector() *v13.WorkerSelector { + if x != nil { + return x.Selector + } + return nil +} + +func (x *FetchWorkerConfigRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +type FetchWorkerConfigResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The worker configuration. + WorkerConfig *v16.WorkerConfig `protobuf:"bytes,1,opt,name=worker_config,json=workerConfig,proto3" json:"worker_config,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *FetchWorkerConfigResponse) Reset() { + *x = FetchWorkerConfigResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[201] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *FetchWorkerConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*FetchWorkerConfigResponse) ProtoMessage() {} + +func (x *FetchWorkerConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[201] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use FetchWorkerConfigResponse.ProtoReflect.Descriptor instead. +func (*FetchWorkerConfigResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{201} +} + +func (x *FetchWorkerConfigResponse) GetWorkerConfig() *v16.WorkerConfig { + if x != nil { + return x.WorkerConfig + } + return nil +} + +type UpdateWorkerConfigRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace this worker belongs to. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // Reason for sending worker command, can be used for audit purpose. + Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` + // Partial updates are accepted and controlled by update_mask. + // The worker configuration to set. + WorkerConfig *v16.WorkerConfig `protobuf:"bytes,4,opt,name=worker_config,json=workerConfig,proto3" json:"worker_config,omitempty"` + // Controls which fields from `worker_config` will be applied + UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` + // Defines which workers should receive this command. + Selector *v13.WorkerSelector `protobuf:"bytes,6,opt,name=selector,proto3" json:"selector,omitempty"` + // Resource ID for routing. Contains the worker grouping key. + ResourceId string `protobuf:"bytes,7,opt,name=resource_id,json=resourceId,proto3" json:"resource_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerConfigRequest) Reset() { + *x = UpdateWorkerConfigRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[202] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerConfigRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerConfigRequest) ProtoMessage() {} + +func (x *UpdateWorkerConfigRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[202] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerConfigRequest.ProtoReflect.Descriptor instead. +func (*UpdateWorkerConfigRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{202} +} + +func (x *UpdateWorkerConfigRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UpdateWorkerConfigRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UpdateWorkerConfigRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *UpdateWorkerConfigRequest) GetWorkerConfig() *v16.WorkerConfig { + if x != nil { + return x.WorkerConfig + } + return nil +} + +func (x *UpdateWorkerConfigRequest) GetUpdateMask() *fieldmaskpb.FieldMask { + if x != nil { + return x.UpdateMask + } + return nil +} + +func (x *UpdateWorkerConfigRequest) GetSelector() *v13.WorkerSelector { + if x != nil { + return x.Selector + } + return nil +} + +func (x *UpdateWorkerConfigRequest) GetResourceId() string { + if x != nil { + return x.ResourceId + } + return "" +} + +type UpdateWorkerConfigResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Response: + // + // *UpdateWorkerConfigResponse_WorkerConfig + Response isUpdateWorkerConfigResponse_Response `protobuf_oneof:"response"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerConfigResponse) Reset() { + *x = UpdateWorkerConfigResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[203] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerConfigResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerConfigResponse) ProtoMessage() {} + +func (x *UpdateWorkerConfigResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[203] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerConfigResponse.ProtoReflect.Descriptor instead. +func (*UpdateWorkerConfigResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{203} +} + +func (x *UpdateWorkerConfigResponse) GetResponse() isUpdateWorkerConfigResponse_Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *UpdateWorkerConfigResponse) GetWorkerConfig() *v16.WorkerConfig { + if x != nil { + if x, ok := x.Response.(*UpdateWorkerConfigResponse_WorkerConfig); ok { + return x.WorkerConfig + } + } + return nil +} + +type isUpdateWorkerConfigResponse_Response interface { + isUpdateWorkerConfigResponse_Response() +} + +type UpdateWorkerConfigResponse_WorkerConfig struct { + // The worker configuration. Will be returned if the command was sent to a single worker. + WorkerConfig *v16.WorkerConfig `protobuf:"bytes,1,opt,name=worker_config,json=workerConfig,proto3,oneof"` +} + +func (*UpdateWorkerConfigResponse_WorkerConfig) isUpdateWorkerConfigResponse_Response() {} + +type DescribeWorkerRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace this worker belongs to. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Worker instance key to describe. + WorkerInstanceKey string `protobuf:"bytes,2,opt,name=worker_instance_key,json=workerInstanceKey,proto3" json:"worker_instance_key,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkerRequest) Reset() { + *x = DescribeWorkerRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[204] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkerRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkerRequest) ProtoMessage() {} + +func (x *DescribeWorkerRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[204] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkerRequest.ProtoReflect.Descriptor instead. +func (*DescribeWorkerRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{204} +} + +func (x *DescribeWorkerRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeWorkerRequest) GetWorkerInstanceKey() string { + if x != nil { + return x.WorkerInstanceKey + } + return "" +} + +type DescribeWorkerResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + WorkerInfo *v114.WorkerInfo `protobuf:"bytes,1,opt,name=worker_info,json=workerInfo,proto3" json:"worker_info,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkerResponse) Reset() { + *x = DescribeWorkerResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[205] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkerResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkerResponse) ProtoMessage() {} + +func (x *DescribeWorkerResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[205] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkerResponse.ProtoReflect.Descriptor instead. +func (*DescribeWorkerResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{205} +} + +func (x *DescribeWorkerResponse) GetWorkerInfo() *v114.WorkerInfo { + if x != nil { + return x.WorkerInfo + } + return nil +} + +// Request to pause a workflow execution. +type PauseWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow to pause. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // ID of the workflow execution to be paused. Required. + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // Run ID of the workflow execution to be paused. Optional. If not provided, the current run of the workflow will be paused. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // Reason to pause the workflow execution. + Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"` + // A unique identifier for this pause request for idempotence. Typically UUIDv4. + RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PauseWorkflowExecutionRequest) Reset() { + *x = PauseWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[206] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PauseWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PauseWorkflowExecutionRequest) ProtoMessage() {} + +func (x *PauseWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[206] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PauseWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*PauseWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{206} +} + +func (x *PauseWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PauseWorkflowExecutionRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *PauseWorkflowExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *PauseWorkflowExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *PauseWorkflowExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *PauseWorkflowExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Response to a successful PauseWorkflowExecution request. +type PauseWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PauseWorkflowExecutionResponse) Reset() { + *x = PauseWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[207] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PauseWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PauseWorkflowExecutionResponse) ProtoMessage() {} + +func (x *PauseWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[207] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PauseWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*PauseWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{207} +} + +type UnpauseWorkflowExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Namespace of the workflow to unpause. + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // ID of the workflow execution to be paused. Required. + WorkflowId string `protobuf:"bytes,2,opt,name=workflow_id,json=workflowId,proto3" json:"workflow_id,omitempty"` + // Run ID of the workflow execution to be paused. Optional. If not provided, the current run of the workflow will be paused. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // Reason to unpause the workflow execution. + Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"` + // A unique identifier for this unpause request for idempotence. Typically UUIDv4. + RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnpauseWorkflowExecutionRequest) Reset() { + *x = UnpauseWorkflowExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[208] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnpauseWorkflowExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpauseWorkflowExecutionRequest) ProtoMessage() {} + +func (x *UnpauseWorkflowExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[208] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnpauseWorkflowExecutionRequest.ProtoReflect.Descriptor instead. +func (*UnpauseWorkflowExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{208} +} + +func (x *UnpauseWorkflowExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *UnpauseWorkflowExecutionRequest) GetWorkflowId() string { + if x != nil { + return x.WorkflowId + } + return "" +} + +func (x *UnpauseWorkflowExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *UnpauseWorkflowExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *UnpauseWorkflowExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +func (x *UnpauseWorkflowExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +// Response to a successful UnpauseWorkflowExecution request. +type UnpauseWorkflowExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UnpauseWorkflowExecutionResponse) Reset() { + *x = UnpauseWorkflowExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[209] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UnpauseWorkflowExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UnpauseWorkflowExecutionResponse) ProtoMessage() {} + +func (x *UnpauseWorkflowExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[209] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UnpauseWorkflowExecutionResponse.ProtoReflect.Descriptor instead. +func (*UnpauseWorkflowExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{209} +} + +type StartActivityExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The identity of the client who initiated this request + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this start request. Typically UUIDv4. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Identifier for this activity. Required. This identifier should be meaningful in the user's + // own system. It must be unique among activities in the same namespace, subject to the rules + // imposed by id_reuse_policy and id_conflict_policy. + ActivityId string `protobuf:"bytes,4,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // The type of the activity, a string that corresponds to a registered activity on a worker. + ActivityType *v13.ActivityType `protobuf:"bytes,5,opt,name=activity_type,json=activityType,proto3" json:"activity_type,omitempty"` + // Task queue to schedule this activity on. + TaskQueue *v14.TaskQueue `protobuf:"bytes,6,opt,name=task_queue,json=taskQueue,proto3" json:"task_queue,omitempty"` + // Indicates how long the caller is willing to wait for an activity completion. Limits how long + // retries will be attempted. Either this or `start_to_close_timeout` must be specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,7,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Limits time an activity task can stay in a task queue before a worker picks it up. This + // timeout is always non retryable, as all a retry would achieve is to put it back into the same + // queue. Defaults to `schedule_to_close_timeout` if not specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Maximum time an activity is allowed to execute after being picked up by a worker. This + // timeout is always retryable. Either this or `schedule_to_close_timeout` must be + // specified. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,9,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + // Maximum permitted time between successful worker heartbeats. + HeartbeatTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=heartbeat_timeout,json=heartbeatTimeout,proto3" json:"heartbeat_timeout,omitempty"` + // The retry policy for the activity. Will never exceed `schedule_to_close_timeout`. + RetryPolicy *v13.RetryPolicy `protobuf:"bytes,11,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"` + // Serialized arguments to the activity. These are passed as arguments to the activity function. + Input *v13.Payloads `protobuf:"bytes,12,opt,name=input,proto3" json:"input,omitempty"` + // Defines whether to allow re-using the activity id from a previously *closed* activity. + // The default policy is ACTIVITY_ID_REUSE_POLICY_ALLOW_DUPLICATE. + IdReusePolicy v11.ActivityIdReusePolicy `protobuf:"varint,13,opt,name=id_reuse_policy,json=idReusePolicy,proto3,enum=temporal.api.enums.v1.ActivityIdReusePolicy" json:"id_reuse_policy,omitempty"` + // Defines how to resolve an activity id conflict with a *running* activity. + // The default policy is ACTIVITY_ID_CONFLICT_POLICY_FAIL. + IdConflictPolicy v11.ActivityIdConflictPolicy `protobuf:"varint,14,opt,name=id_conflict_policy,json=idConflictPolicy,proto3,enum=temporal.api.enums.v1.ActivityIdConflictPolicy" json:"id_conflict_policy,omitempty"` + // Search attributes for indexing. + SearchAttributes *v13.SearchAttributes `protobuf:"bytes,15,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // Header for context propagation and tracing purposes. + Header *v13.Header `protobuf:"bytes,16,opt,name=header,proto3" json:"header,omitempty"` + // Metadata for use by user interfaces to display the fixed as-of-start summary and details of the activity. + UserMetadata *v16.UserMetadata `protobuf:"bytes,17,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + // Priority metadata. + Priority *v13.Priority `protobuf:"bytes,18,opt,name=priority,proto3" json:"priority,omitempty"` + // Callbacks to be called by the server when this activity reaches a terminal state. + // Callback addresses must be whitelisted in the server's dynamic configuration. + CompletionCallbacks []*v13.Callback `protobuf:"bytes,19,rep,name=completion_callbacks,json=completionCallbacks,proto3" json:"completion_callbacks,omitempty"` + // Links to be associated with the activity. Callbacks may also have associated links; + // links already included with a callback should not be duplicated here. + Links []*v13.Link `protobuf:"bytes,20,rep,name=links,proto3" json:"links,omitempty"` + // Options for handling conflicts when using ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING. + OnConflictOptions *v13.OnConflictOptions `protobuf:"bytes,21,opt,name=on_conflict_options,json=onConflictOptions,proto3" json:"on_conflict_options,omitempty"` + // Time to wait before dispatching the first activity task. This delay is not applied to retry attempts. + StartDelay *durationpb.Duration `protobuf:"bytes,22,opt,name=start_delay,json=startDelay,proto3" json:"start_delay,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartActivityExecutionRequest) Reset() { + *x = StartActivityExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[210] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartActivityExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartActivityExecutionRequest) ProtoMessage() {} + +func (x *StartActivityExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[210] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartActivityExecutionRequest.ProtoReflect.Descriptor instead. +func (*StartActivityExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{210} +} + +func (x *StartActivityExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *StartActivityExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *StartActivityExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *StartActivityExecutionRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *StartActivityExecutionRequest) GetActivityType() *v13.ActivityType { + if x != nil { + return x.ActivityType + } + return nil +} + +func (x *StartActivityExecutionRequest) GetTaskQueue() *v14.TaskQueue { + if x != nil { + return x.TaskQueue + } + return nil +} + +func (x *StartActivityExecutionRequest) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *StartActivityExecutionRequest) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *StartActivityExecutionRequest) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +func (x *StartActivityExecutionRequest) GetHeartbeatTimeout() *durationpb.Duration { + if x != nil { + return x.HeartbeatTimeout + } + return nil +} + +func (x *StartActivityExecutionRequest) GetRetryPolicy() *v13.RetryPolicy { + if x != nil { + return x.RetryPolicy + } + return nil +} + +func (x *StartActivityExecutionRequest) GetInput() *v13.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *StartActivityExecutionRequest) GetIdReusePolicy() v11.ActivityIdReusePolicy { + if x != nil { + return x.IdReusePolicy + } + return v11.ActivityIdReusePolicy(0) +} + +func (x *StartActivityExecutionRequest) GetIdConflictPolicy() v11.ActivityIdConflictPolicy { + if x != nil { + return x.IdConflictPolicy + } + return v11.ActivityIdConflictPolicy(0) +} + +func (x *StartActivityExecutionRequest) GetSearchAttributes() *v13.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *StartActivityExecutionRequest) GetHeader() *v13.Header { + if x != nil { + return x.Header + } + return nil +} + +func (x *StartActivityExecutionRequest) GetUserMetadata() *v16.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +func (x *StartActivityExecutionRequest) GetPriority() *v13.Priority { + if x != nil { + return x.Priority + } + return nil +} + +func (x *StartActivityExecutionRequest) GetCompletionCallbacks() []*v13.Callback { + if x != nil { + return x.CompletionCallbacks + } + return nil +} + +func (x *StartActivityExecutionRequest) GetLinks() []*v13.Link { + if x != nil { + return x.Links + } + return nil +} + +func (x *StartActivityExecutionRequest) GetOnConflictOptions() *v13.OnConflictOptions { + if x != nil { + return x.OnConflictOptions + } + return nil +} + +func (x *StartActivityExecutionRequest) GetStartDelay() *durationpb.Duration { + if x != nil { + return x.StartDelay + } + return nil +} + +type StartActivityExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run ID of the activity that was started - or used (via ACTIVITY_ID_CONFLICT_POLICY_USE_EXISTING). + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // If true, a new activity was started. + Started bool `protobuf:"varint,2,opt,name=started,proto3" json:"started,omitempty"` + // Link to the started activity. + Link *v13.Link `protobuf:"bytes,3,opt,name=link,proto3" json:"link,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartActivityExecutionResponse) Reset() { + *x = StartActivityExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[211] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartActivityExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartActivityExecutionResponse) ProtoMessage() {} + +func (x *StartActivityExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[211] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartActivityExecutionResponse.ProtoReflect.Descriptor instead. +func (*StartActivityExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{211} +} + +func (x *StartActivityExecutionResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *StartActivityExecutionResponse) GetStarted() bool { + if x != nil { + return x.Started + } + return false +} + +func (x *StartActivityExecutionResponse) GetLink() *v13.Link { + if x != nil { + return x.Link + } + return nil +} + +type DescribeActivityExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + ActivityId string `protobuf:"bytes,2,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Activity run ID. If empty the request targets the latest run. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Include the input field in the response. + IncludeInput bool `protobuf:"varint,4,opt,name=include_input,json=includeInput,proto3" json:"include_input,omitempty"` + // Include the outcome (result/failure) in the response if the activity has completed. + IncludeOutcome bool `protobuf:"varint,5,opt,name=include_outcome,json=includeOutcome,proto3" json:"include_outcome,omitempty"` + // Token from a previous DescribeActivityExecutionResponse. If present, long-poll until activity + // state changes from the state encoded in this token. If absent, return current state immediately. + // If present, run_id must also be present. + // Note that activity state may change multiple times between requests, therefore it is not + // guaranteed that a client making a sequence of long-poll requests will see a complete + // sequence of state changes. + LongPollToken []byte `protobuf:"bytes,6,opt,name=long_poll_token,json=longPollToken,proto3" json:"long_poll_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeActivityExecutionRequest) Reset() { + *x = DescribeActivityExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[212] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeActivityExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeActivityExecutionRequest) ProtoMessage() {} + +func (x *DescribeActivityExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[212] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeActivityExecutionRequest.ProtoReflect.Descriptor instead. +func (*DescribeActivityExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{212} +} + +func (x *DescribeActivityExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeActivityExecutionRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *DescribeActivityExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *DescribeActivityExecutionRequest) GetIncludeInput() bool { + if x != nil { + return x.IncludeInput + } + return false +} + +func (x *DescribeActivityExecutionRequest) GetIncludeOutcome() bool { + if x != nil { + return x.IncludeOutcome + } + return false +} + +func (x *DescribeActivityExecutionRequest) GetLongPollToken() []byte { + if x != nil { + return x.LongPollToken + } + return nil +} + +type DescribeActivityExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run ID of the activity, useful when run_id was not specified in the request. + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Information about the activity execution. + Info *v120.ActivityExecutionInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + // Serialized activity input, passed as arguments to the activity function. + // Only set if include_input was true in the request. + Input *v13.Payloads `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` + // Only set if the activity is completed and include_outcome was true in the request. + Outcome *v120.ActivityExecutionOutcome `protobuf:"bytes,4,opt,name=outcome,proto3" json:"outcome,omitempty"` + // Token for follow-on long-poll requests. Absent only if the activity is complete. + LongPollToken []byte `protobuf:"bytes,5,opt,name=long_poll_token,json=longPollToken,proto3" json:"long_poll_token,omitempty"` + // Callbacks attached to this activity execution and their current state. + Callbacks []*v120.CallbackInfo `protobuf:"bytes,6,rep,name=callbacks,proto3" json:"callbacks,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeActivityExecutionResponse) Reset() { + *x = DescribeActivityExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[213] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeActivityExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeActivityExecutionResponse) ProtoMessage() {} + +func (x *DescribeActivityExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[213] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeActivityExecutionResponse.ProtoReflect.Descriptor instead. +func (*DescribeActivityExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{213} +} + +func (x *DescribeActivityExecutionResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *DescribeActivityExecutionResponse) GetInfo() *v120.ActivityExecutionInfo { + if x != nil { + return x.Info + } + return nil +} + +func (x *DescribeActivityExecutionResponse) GetInput() *v13.Payloads { + if x != nil { + return x.Input + } + return nil +} + +func (x *DescribeActivityExecutionResponse) GetOutcome() *v120.ActivityExecutionOutcome { + if x != nil { + return x.Outcome + } + return nil +} + +func (x *DescribeActivityExecutionResponse) GetLongPollToken() []byte { + if x != nil { + return x.LongPollToken + } + return nil +} + +func (x *DescribeActivityExecutionResponse) GetCallbacks() []*v120.CallbackInfo { + if x != nil { + return x.Callbacks + } + return nil +} + +type PollActivityExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + ActivityId string `protobuf:"bytes,2,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Activity run ID. If empty the request targets the latest run. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollActivityExecutionRequest) Reset() { + *x = PollActivityExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[214] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollActivityExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollActivityExecutionRequest) ProtoMessage() {} + +func (x *PollActivityExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[214] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollActivityExecutionRequest.ProtoReflect.Descriptor instead. +func (*PollActivityExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{214} +} + +func (x *PollActivityExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PollActivityExecutionRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *PollActivityExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +type PollActivityExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run ID of the activity, useful when run_id was not specified in the request. + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + Outcome *v120.ActivityExecutionOutcome `protobuf:"bytes,2,opt,name=outcome,proto3" json:"outcome,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollActivityExecutionResponse) Reset() { + *x = PollActivityExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[215] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollActivityExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollActivityExecutionResponse) ProtoMessage() {} + +func (x *PollActivityExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[215] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollActivityExecutionResponse.ProtoReflect.Descriptor instead. +func (*PollActivityExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{215} +} + +func (x *PollActivityExecutionResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *PollActivityExecutionResponse) GetOutcome() *v120.ActivityExecutionOutcome { + if x != nil { + return x.Outcome + } + return nil +} + +type ListActivityExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Max number of executions to return per page. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Token returned in ListActivityExecutionsResponse. + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Visibility query, see https://docs.temporal.io/list-filter for the syntax. + Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListActivityExecutionsRequest) Reset() { + *x = ListActivityExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[216] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListActivityExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListActivityExecutionsRequest) ProtoMessage() {} + +func (x *ListActivityExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[216] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListActivityExecutionsRequest.ProtoReflect.Descriptor instead. +func (*ListActivityExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{216} +} + +func (x *ListActivityExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListActivityExecutionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListActivityExecutionsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListActivityExecutionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type ListActivityExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Executions []*v120.ActivityExecutionListInfo `protobuf:"bytes,1,rep,name=executions,proto3" json:"executions,omitempty"` + // Token to use to fetch the next page. If empty, there is no next page. + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListActivityExecutionsResponse) Reset() { + *x = ListActivityExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[217] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListActivityExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListActivityExecutionsResponse) ProtoMessage() {} + +func (x *ListActivityExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[217] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListActivityExecutionsResponse.ProtoReflect.Descriptor instead. +func (*ListActivityExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{217} +} + +func (x *ListActivityExecutionsResponse) GetExecutions() []*v120.ActivityExecutionListInfo { + if x != nil { + return x.Executions + } + return nil +} + +func (x *ListActivityExecutionsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type StartNexusOperationExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,2,opt,name=identity,proto3" json:"identity,omitempty"` + // A unique identifier for this caller-side start request. Typically UUIDv4. + // StartOperation requests sent to the handler will use a server-generated request ID. + RequestId string `protobuf:"bytes,3,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Identifier for this operation. This is a caller-side ID, distinct from any internal + // operation identifiers generated by the handler. Must be unique among operations in the + // same namespace, subject to the rules imposed by id_reuse_policy and id_conflict_policy. + OperationId string `protobuf:"bytes,4,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Endpoint name, resolved to a URL via the cluster's endpoint registry. + Endpoint string `protobuf:"bytes,5,opt,name=endpoint,proto3" json:"endpoint,omitempty"` + // Service name. + Service string `protobuf:"bytes,6,opt,name=service,proto3" json:"service,omitempty"` + // Operation name. + Operation string `protobuf:"bytes,7,opt,name=operation,proto3" json:"operation,omitempty"` + // Schedule-to-close timeout for this operation. + // Indicates how long the caller is willing to wait for operation completion. + // Calls are retried internally by the server. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToCloseTimeout *durationpb.Duration `protobuf:"bytes,8,opt,name=schedule_to_close_timeout,json=scheduleToCloseTimeout,proto3" json:"schedule_to_close_timeout,omitempty"` + // Schedule-to-start timeout for this operation. + // Indicates how long the caller is willing to wait for the operation to be started (or completed if synchronous) + // by the handler. + // If not set or zero, no schedule-to-start timeout is enforced. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + ScheduleToStartTimeout *durationpb.Duration `protobuf:"bytes,9,opt,name=schedule_to_start_timeout,json=scheduleToStartTimeout,proto3" json:"schedule_to_start_timeout,omitempty"` + // Start-to-close timeout for this operation. + // Indicates how long the caller is willing to wait for an asynchronous operation to complete after it has been + // started. Synchronous operations ignore this timeout. + // If not set or zero, no start-to-close timeout is enforced. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "to" is used to indicate interval. --) + StartToCloseTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=start_to_close_timeout,json=startToCloseTimeout,proto3" json:"start_to_close_timeout,omitempty"` + // Serialized input to the operation. Passed as the request payload. + Input *v13.Payload `protobuf:"bytes,11,opt,name=input,proto3" json:"input,omitempty"` + // Defines whether to allow re-using the operation id from a previously *closed* operation. + // The default policy is NEXUS_OPERATION_ID_REUSE_POLICY_ALLOW_DUPLICATE. + IdReusePolicy v11.NexusOperationIdReusePolicy `protobuf:"varint,12,opt,name=id_reuse_policy,json=idReusePolicy,proto3,enum=temporal.api.enums.v1.NexusOperationIdReusePolicy" json:"id_reuse_policy,omitempty"` + // Defines how to resolve an operation id conflict with a *running* operation. + // The default policy is NEXUS_OPERATION_ID_CONFLICT_POLICY_FAIL. + IdConflictPolicy v11.NexusOperationIdConflictPolicy `protobuf:"varint,13,opt,name=id_conflict_policy,json=idConflictPolicy,proto3,enum=temporal.api.enums.v1.NexusOperationIdConflictPolicy" json:"id_conflict_policy,omitempty"` + // Search attributes for indexing. + SearchAttributes *v13.SearchAttributes `protobuf:"bytes,14,opt,name=search_attributes,json=searchAttributes,proto3" json:"search_attributes,omitempty"` + // Header to attach to the Nexus request. + // Users are responsible for encrypting sensitive data in this header as it is stored in workflow history and + // transmitted to external services as-is. + // This is useful for propagating tracing information. + // Note these headers are not the same as Temporal headers on internal activities and child workflows, these are + // transmitted to Nexus operations that may be external and are not traditional payloads. + NexusHeader map[string]string `protobuf:"bytes,15,rep,name=nexus_header,json=nexusHeader,proto3" json:"nexus_header,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + // Metadata for use by user interfaces to display the fixed as-of-start summary and details of the operation. + UserMetadata *v16.UserMetadata `protobuf:"bytes,16,opt,name=user_metadata,json=userMetadata,proto3" json:"user_metadata,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartNexusOperationExecutionRequest) Reset() { + *x = StartNexusOperationExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[218] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartNexusOperationExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartNexusOperationExecutionRequest) ProtoMessage() {} + +func (x *StartNexusOperationExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[218] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartNexusOperationExecutionRequest.ProtoReflect.Descriptor instead. +func (*StartNexusOperationExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{218} +} + +func (x *StartNexusOperationExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *StartNexusOperationExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *StartNexusOperationExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *StartNexusOperationExecutionRequest) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *StartNexusOperationExecutionRequest) GetEndpoint() string { + if x != nil { + return x.Endpoint + } + return "" +} + +func (x *StartNexusOperationExecutionRequest) GetService() string { + if x != nil { + return x.Service + } + return "" +} + +func (x *StartNexusOperationExecutionRequest) GetOperation() string { + if x != nil { + return x.Operation + } + return "" +} + +func (x *StartNexusOperationExecutionRequest) GetScheduleToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToCloseTimeout + } + return nil +} + +func (x *StartNexusOperationExecutionRequest) GetScheduleToStartTimeout() *durationpb.Duration { + if x != nil { + return x.ScheduleToStartTimeout + } + return nil +} + +func (x *StartNexusOperationExecutionRequest) GetStartToCloseTimeout() *durationpb.Duration { + if x != nil { + return x.StartToCloseTimeout + } + return nil +} + +func (x *StartNexusOperationExecutionRequest) GetInput() *v13.Payload { + if x != nil { + return x.Input + } + return nil +} + +func (x *StartNexusOperationExecutionRequest) GetIdReusePolicy() v11.NexusOperationIdReusePolicy { + if x != nil { + return x.IdReusePolicy + } + return v11.NexusOperationIdReusePolicy(0) +} + +func (x *StartNexusOperationExecutionRequest) GetIdConflictPolicy() v11.NexusOperationIdConflictPolicy { + if x != nil { + return x.IdConflictPolicy + } + return v11.NexusOperationIdConflictPolicy(0) +} + +func (x *StartNexusOperationExecutionRequest) GetSearchAttributes() *v13.SearchAttributes { + if x != nil { + return x.SearchAttributes + } + return nil +} + +func (x *StartNexusOperationExecutionRequest) GetNexusHeader() map[string]string { + if x != nil { + return x.NexusHeader + } + return nil +} + +func (x *StartNexusOperationExecutionRequest) GetUserMetadata() *v16.UserMetadata { + if x != nil { + return x.UserMetadata + } + return nil +} + +type StartNexusOperationExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run ID of the operation that was started - or used (via NEXUS_OPERATION_ID_CONFLICT_POLICY_USE_EXISTING). + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // If true, a new operation was started. + Started bool `protobuf:"varint,2,opt,name=started,proto3" json:"started,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *StartNexusOperationExecutionResponse) Reset() { + *x = StartNexusOperationExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[219] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *StartNexusOperationExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*StartNexusOperationExecutionResponse) ProtoMessage() {} + +func (x *StartNexusOperationExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[219] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use StartNexusOperationExecutionResponse.ProtoReflect.Descriptor instead. +func (*StartNexusOperationExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{219} +} + +func (x *StartNexusOperationExecutionResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *StartNexusOperationExecutionResponse) GetStarted() bool { + if x != nil { + return x.Started + } + return false +} + +type DescribeNexusOperationExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Operation run ID. If empty the request targets the latest run. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Include the input field in the response. + IncludeInput bool `protobuf:"varint,4,opt,name=include_input,json=includeInput,proto3" json:"include_input,omitempty"` + // Include the outcome (result/failure) in the response if the operation has completed. + IncludeOutcome bool `protobuf:"varint,5,opt,name=include_outcome,json=includeOutcome,proto3" json:"include_outcome,omitempty"` + // Token from a previous DescribeNexusOperationExecutionResponse. If present, this RPC will long-poll until operation + // state changes from the state encoded in this token. If absent, return current state immediately. + // If present, run_id must also be present. + // Note that operation state may change multiple times between requests, therefore it is not + // guaranteed that a client making a sequence of long-poll requests will see a complete + // sequence of state changes. + LongPollToken []byte `protobuf:"bytes,6,opt,name=long_poll_token,json=longPollToken,proto3" json:"long_poll_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeNexusOperationExecutionRequest) Reset() { + *x = DescribeNexusOperationExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[220] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeNexusOperationExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeNexusOperationExecutionRequest) ProtoMessage() {} + +func (x *DescribeNexusOperationExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[220] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeNexusOperationExecutionRequest.ProtoReflect.Descriptor instead. +func (*DescribeNexusOperationExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{220} +} + +func (x *DescribeNexusOperationExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DescribeNexusOperationExecutionRequest) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *DescribeNexusOperationExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *DescribeNexusOperationExecutionRequest) GetIncludeInput() bool { + if x != nil { + return x.IncludeInput + } + return false +} + +func (x *DescribeNexusOperationExecutionRequest) GetIncludeOutcome() bool { + if x != nil { + return x.IncludeOutcome + } + return false +} + +func (x *DescribeNexusOperationExecutionRequest) GetLongPollToken() []byte { + if x != nil { + return x.LongPollToken + } + return nil +} + +type DescribeNexusOperationExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run ID of the operation, useful when run_id was not specified in the request. + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Information about the operation. + Info *v119.NexusOperationExecutionInfo `protobuf:"bytes,2,opt,name=info,proto3" json:"info,omitempty"` + // Serialized operation input, passed as the request payload. + // Only set if include_input was true in the request. + Input *v13.Payload `protobuf:"bytes,3,opt,name=input,proto3" json:"input,omitempty"` + // Only set if the operation is completed and include_outcome was true in the request. + // + // Types that are valid to be assigned to Outcome: + // + // *DescribeNexusOperationExecutionResponse_Result + // *DescribeNexusOperationExecutionResponse_Failure + Outcome isDescribeNexusOperationExecutionResponse_Outcome `protobuf_oneof:"outcome"` + // Token for follow-on long-poll requests. Absent only if the operation is complete. + LongPollToken []byte `protobuf:"bytes,6,opt,name=long_poll_token,json=longPollToken,proto3" json:"long_poll_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeNexusOperationExecutionResponse) Reset() { + *x = DescribeNexusOperationExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[221] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeNexusOperationExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeNexusOperationExecutionResponse) ProtoMessage() {} + +func (x *DescribeNexusOperationExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[221] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeNexusOperationExecutionResponse.ProtoReflect.Descriptor instead. +func (*DescribeNexusOperationExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{221} +} + +func (x *DescribeNexusOperationExecutionResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *DescribeNexusOperationExecutionResponse) GetInfo() *v119.NexusOperationExecutionInfo { + if x != nil { + return x.Info + } + return nil +} + +func (x *DescribeNexusOperationExecutionResponse) GetInput() *v13.Payload { + if x != nil { + return x.Input + } + return nil +} + +func (x *DescribeNexusOperationExecutionResponse) GetOutcome() isDescribeNexusOperationExecutionResponse_Outcome { + if x != nil { + return x.Outcome + } + return nil +} + +func (x *DescribeNexusOperationExecutionResponse) GetResult() *v13.Payload { + if x != nil { + if x, ok := x.Outcome.(*DescribeNexusOperationExecutionResponse_Result); ok { + return x.Result + } + } + return nil +} + +func (x *DescribeNexusOperationExecutionResponse) GetFailure() *v15.Failure { + if x != nil { + if x, ok := x.Outcome.(*DescribeNexusOperationExecutionResponse_Failure); ok { + return x.Failure + } + } + return nil +} + +func (x *DescribeNexusOperationExecutionResponse) GetLongPollToken() []byte { + if x != nil { + return x.LongPollToken + } + return nil +} + +type isDescribeNexusOperationExecutionResponse_Outcome interface { + isDescribeNexusOperationExecutionResponse_Outcome() +} + +type DescribeNexusOperationExecutionResponse_Result struct { + // The result if the operation completed successfully. + Result *v13.Payload `protobuf:"bytes,4,opt,name=result,proto3,oneof"` +} + +type DescribeNexusOperationExecutionResponse_Failure struct { + // The failure if the operation completed unsuccessfully. + Failure *v15.Failure `protobuf:"bytes,5,opt,name=failure,proto3,oneof"` +} + +func (*DescribeNexusOperationExecutionResponse_Result) isDescribeNexusOperationExecutionResponse_Outcome() { +} + +func (*DescribeNexusOperationExecutionResponse_Failure) isDescribeNexusOperationExecutionResponse_Outcome() { +} + +type PollNexusOperationExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Operation run ID. If empty the request targets the latest run. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // Stage to wait for. The operation may be in a more advanced stage when the poll is unblocked. + WaitStage v11.NexusOperationWaitStage `protobuf:"varint,4,opt,name=wait_stage,json=waitStage,proto3,enum=temporal.api.enums.v1.NexusOperationWaitStage" json:"wait_stage,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollNexusOperationExecutionRequest) Reset() { + *x = PollNexusOperationExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[222] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollNexusOperationExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollNexusOperationExecutionRequest) ProtoMessage() {} + +func (x *PollNexusOperationExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[222] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollNexusOperationExecutionRequest.ProtoReflect.Descriptor instead. +func (*PollNexusOperationExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{222} +} + +func (x *PollNexusOperationExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *PollNexusOperationExecutionRequest) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *PollNexusOperationExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *PollNexusOperationExecutionRequest) GetWaitStage() v11.NexusOperationWaitStage { + if x != nil { + return x.WaitStage + } + return v11.NexusOperationWaitStage(0) +} + +type PollNexusOperationExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The run ID of the operation, useful when run_id was not specified in the request. + RunId string `protobuf:"bytes,1,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The current stage of the operation. May be more advanced than the stage requested in the poll. + WaitStage v11.NexusOperationWaitStage `protobuf:"varint,2,opt,name=wait_stage,json=waitStage,proto3,enum=temporal.api.enums.v1.NexusOperationWaitStage" json:"wait_stage,omitempty"` + // Operation token. Only populated for asynchronous operations after a successful StartOperation call. + OperationToken string `protobuf:"bytes,3,opt,name=operation_token,json=operationToken,proto3" json:"operation_token,omitempty"` + // The operation outcome, available if the operation is in a closed state. + // + // Types that are valid to be assigned to Outcome: + // + // *PollNexusOperationExecutionResponse_Result + // *PollNexusOperationExecutionResponse_Failure + Outcome isPollNexusOperationExecutionResponse_Outcome `protobuf_oneof:"outcome"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *PollNexusOperationExecutionResponse) Reset() { + *x = PollNexusOperationExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[223] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *PollNexusOperationExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*PollNexusOperationExecutionResponse) ProtoMessage() {} + +func (x *PollNexusOperationExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[223] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use PollNexusOperationExecutionResponse.ProtoReflect.Descriptor instead. +func (*PollNexusOperationExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{223} +} + +func (x *PollNexusOperationExecutionResponse) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *PollNexusOperationExecutionResponse) GetWaitStage() v11.NexusOperationWaitStage { + if x != nil { + return x.WaitStage + } + return v11.NexusOperationWaitStage(0) +} + +func (x *PollNexusOperationExecutionResponse) GetOperationToken() string { + if x != nil { + return x.OperationToken + } + return "" +} + +func (x *PollNexusOperationExecutionResponse) GetOutcome() isPollNexusOperationExecutionResponse_Outcome { + if x != nil { + return x.Outcome + } + return nil +} + +func (x *PollNexusOperationExecutionResponse) GetResult() *v13.Payload { + if x != nil { + if x, ok := x.Outcome.(*PollNexusOperationExecutionResponse_Result); ok { + return x.Result + } + } + return nil +} + +func (x *PollNexusOperationExecutionResponse) GetFailure() *v15.Failure { + if x != nil { + if x, ok := x.Outcome.(*PollNexusOperationExecutionResponse_Failure); ok { + return x.Failure + } + } + return nil +} + +type isPollNexusOperationExecutionResponse_Outcome interface { + isPollNexusOperationExecutionResponse_Outcome() +} + +type PollNexusOperationExecutionResponse_Result struct { + // The result if the operation completed successfully. + Result *v13.Payload `protobuf:"bytes,4,opt,name=result,proto3,oneof"` +} + +type PollNexusOperationExecutionResponse_Failure struct { + // The failure if the operation completed unsuccessfully. + Failure *v15.Failure `protobuf:"bytes,5,opt,name=failure,proto3,oneof"` +} + +func (*PollNexusOperationExecutionResponse_Result) isPollNexusOperationExecutionResponse_Outcome() {} + +func (*PollNexusOperationExecutionResponse_Failure) isPollNexusOperationExecutionResponse_Outcome() {} + +type ListNexusOperationExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Max number of operations to return per page. + PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` + // Token returned in ListNexusOperationExecutionsResponse. + NextPageToken []byte `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + // Visibility query, see https://docs.temporal.io/list-filter for the syntax. + // Search attributes that are avaialble for Nexus operations include: + // - OperationId + // - RunId + // - Endpoint + // - Service + // - Operation + // - RequestId + // - StartTime + // - ExecutionTime + // - CloseTime + // - ExecutionStatus + // - ExecutionDuration + // - StateTransitionCount + Query string `protobuf:"bytes,4,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNexusOperationExecutionsRequest) Reset() { + *x = ListNexusOperationExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[224] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNexusOperationExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNexusOperationExecutionsRequest) ProtoMessage() {} + +func (x *ListNexusOperationExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[224] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNexusOperationExecutionsRequest.ProtoReflect.Descriptor instead. +func (*ListNexusOperationExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{224} +} + +func (x *ListNexusOperationExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *ListNexusOperationExecutionsRequest) GetPageSize() int32 { + if x != nil { + return x.PageSize + } + return 0 +} + +func (x *ListNexusOperationExecutionsRequest) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +func (x *ListNexusOperationExecutionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type ListNexusOperationExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Operations []*v119.NexusOperationExecutionListInfo `protobuf:"bytes,1,rep,name=operations,proto3" json:"operations,omitempty"` + // Token to use to fetch the next page. If empty, there is no next page. + NextPageToken []byte `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListNexusOperationExecutionsResponse) Reset() { + *x = ListNexusOperationExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[225] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListNexusOperationExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListNexusOperationExecutionsResponse) ProtoMessage() {} + +func (x *ListNexusOperationExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[225] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListNexusOperationExecutionsResponse.ProtoReflect.Descriptor instead. +func (*ListNexusOperationExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{225} +} + +func (x *ListNexusOperationExecutionsResponse) GetOperations() []*v119.NexusOperationExecutionListInfo { + if x != nil { + return x.Operations + } + return nil +} + +func (x *ListNexusOperationExecutionsResponse) GetNextPageToken() []byte { + if x != nil { + return x.NextPageToken + } + return nil +} + +type CountActivityExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Visibility query, see https://docs.temporal.io/list-filter for the syntax. + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountActivityExecutionsRequest) Reset() { + *x = CountActivityExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[226] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountActivityExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountActivityExecutionsRequest) ProtoMessage() {} + +func (x *CountActivityExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[226] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountActivityExecutionsRequest.ProtoReflect.Descriptor instead. +func (*CountActivityExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{226} +} + +func (x *CountActivityExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *CountActivityExecutionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type CountActivityExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If `query` is not grouping by any field, the count is an approximate number + // of activities that match the query. + // If `query` is grouping by a field, the count is simply the sum of the counts + // of the groups returned in the response. This number can be smaller than the + // total number of activities matching the query. + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + // Contains the groups if the request is grouping by a field. + // The list might not be complete, and the counts of each group is approximate. + Groups []*CountActivityExecutionsResponse_AggregationGroup `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountActivityExecutionsResponse) Reset() { + *x = CountActivityExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[227] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountActivityExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountActivityExecutionsResponse) ProtoMessage() {} + +func (x *CountActivityExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[227] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountActivityExecutionsResponse.ProtoReflect.Descriptor instead. +func (*CountActivityExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{227} +} + +func (x *CountActivityExecutionsResponse) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *CountActivityExecutionsResponse) GetGroups() []*CountActivityExecutionsResponse_AggregationGroup { + if x != nil { + return x.Groups + } + return nil +} + +type CountNexusOperationExecutionsRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + // Visibility query, see https://docs.temporal.io/list-filter for the syntax. + // See also ListNexusOperationExecutionsRequest for search attributes available for Nexus operations. + Query string `protobuf:"bytes,2,opt,name=query,proto3" json:"query,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountNexusOperationExecutionsRequest) Reset() { + *x = CountNexusOperationExecutionsRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[228] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountNexusOperationExecutionsRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountNexusOperationExecutionsRequest) ProtoMessage() {} + +func (x *CountNexusOperationExecutionsRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[228] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountNexusOperationExecutionsRequest.ProtoReflect.Descriptor instead. +func (*CountNexusOperationExecutionsRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{228} +} + +func (x *CountNexusOperationExecutionsRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *CountNexusOperationExecutionsRequest) GetQuery() string { + if x != nil { + return x.Query + } + return "" +} + +type CountNexusOperationExecutionsResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + // If `query` is not grouping by any field, the count is an approximate number + // of operations that match the query. + // If `query` is grouping by a field, the count is simply the sum of the counts + // of the groups returned in the response. This number can be smaller than the + // total number of operations matching the query. + Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"` + // Contains the groups if the request is grouping by a field. + // The list might not be complete, and the counts of each group is approximate. + Groups []*CountNexusOperationExecutionsResponse_AggregationGroup `protobuf:"bytes,2,rep,name=groups,proto3" json:"groups,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountNexusOperationExecutionsResponse) Reset() { + *x = CountNexusOperationExecutionsResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[229] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountNexusOperationExecutionsResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountNexusOperationExecutionsResponse) ProtoMessage() {} + +func (x *CountNexusOperationExecutionsResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[229] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountNexusOperationExecutionsResponse.ProtoReflect.Descriptor instead. +func (*CountNexusOperationExecutionsResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{229} +} + +func (x *CountNexusOperationExecutionsResponse) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +func (x *CountNexusOperationExecutionsResponse) GetGroups() []*CountNexusOperationExecutionsResponse_AggregationGroup { + if x != nil { + return x.Groups + } + return nil +} + +type RequestCancelActivityExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + ActivityId string `protobuf:"bytes,2,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Activity run ID, targets the latest run if run_id is empty. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the worker/client. + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // Used to de-dupe cancellation requests. + RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Reason for requesting the cancellation, recorded and available via the PollActivityExecution API. + // Not propagated to a worker if an activity attempt is currently running. + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelActivityExecutionRequest) Reset() { + *x = RequestCancelActivityExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[230] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelActivityExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelActivityExecutionRequest) ProtoMessage() {} + +func (x *RequestCancelActivityExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[230] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelActivityExecutionRequest.ProtoReflect.Descriptor instead. +func (*RequestCancelActivityExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{230} +} + +func (x *RequestCancelActivityExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RequestCancelActivityExecutionRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *RequestCancelActivityExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *RequestCancelActivityExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RequestCancelActivityExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *RequestCancelActivityExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type RequestCancelActivityExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelActivityExecutionResponse) Reset() { + *x = RequestCancelActivityExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[231] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelActivityExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelActivityExecutionResponse) ProtoMessage() {} + +func (x *RequestCancelActivityExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[231] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelActivityExecutionResponse.ProtoReflect.Descriptor instead. +func (*RequestCancelActivityExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{231} +} + +type TerminateActivityExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + ActivityId string `protobuf:"bytes,2,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Activity run ID, targets the latest run if run_id is empty. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the worker/client. + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // Used to de-dupe termination requests. + RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Reason for requesting the termination, recorded in in the activity's result failure outcome. + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TerminateActivityExecutionRequest) Reset() { + *x = TerminateActivityExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[232] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TerminateActivityExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminateActivityExecutionRequest) ProtoMessage() {} + +func (x *TerminateActivityExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[232] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TerminateActivityExecutionRequest.ProtoReflect.Descriptor instead. +func (*TerminateActivityExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{232} +} + +func (x *TerminateActivityExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *TerminateActivityExecutionRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *TerminateActivityExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *TerminateActivityExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *TerminateActivityExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *TerminateActivityExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type TerminateActivityExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TerminateActivityExecutionResponse) Reset() { + *x = TerminateActivityExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[233] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TerminateActivityExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminateActivityExecutionResponse) ProtoMessage() {} + +func (x *TerminateActivityExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[233] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TerminateActivityExecutionResponse.ProtoReflect.Descriptor instead. +func (*TerminateActivityExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{233} +} + +type DeleteActivityExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + ActivityId string `protobuf:"bytes,2,opt,name=activity_id,json=activityId,proto3" json:"activity_id,omitempty"` + // Activity run ID, targets the latest run if run_id is empty. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteActivityExecutionRequest) Reset() { + *x = DeleteActivityExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[234] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteActivityExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteActivityExecutionRequest) ProtoMessage() {} + +func (x *DeleteActivityExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[234] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteActivityExecutionRequest.ProtoReflect.Descriptor instead. +func (*DeleteActivityExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{234} +} + +func (x *DeleteActivityExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DeleteActivityExecutionRequest) GetActivityId() string { + if x != nil { + return x.ActivityId + } + return "" +} + +func (x *DeleteActivityExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +type DeleteActivityExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteActivityExecutionResponse) Reset() { + *x = DeleteActivityExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[235] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteActivityExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteActivityExecutionResponse) ProtoMessage() {} + +func (x *DeleteActivityExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[235] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteActivityExecutionResponse.ProtoReflect.Descriptor instead. +func (*DeleteActivityExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{235} +} + +type RequestCancelNexusOperationExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Operation run ID, targets the latest run if empty. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // Used to de-dupe cancellation requests. + RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Reason for requesting the cancellation, recorded and available via the DescribeNexusOperationExecution API. + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelNexusOperationExecutionRequest) Reset() { + *x = RequestCancelNexusOperationExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[236] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelNexusOperationExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelNexusOperationExecutionRequest) ProtoMessage() {} + +func (x *RequestCancelNexusOperationExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[236] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelNexusOperationExecutionRequest.ProtoReflect.Descriptor instead. +func (*RequestCancelNexusOperationExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{236} +} + +func (x *RequestCancelNexusOperationExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *RequestCancelNexusOperationExecutionRequest) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *RequestCancelNexusOperationExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *RequestCancelNexusOperationExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *RequestCancelNexusOperationExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *RequestCancelNexusOperationExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type RequestCancelNexusOperationExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RequestCancelNexusOperationExecutionResponse) Reset() { + *x = RequestCancelNexusOperationExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[237] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RequestCancelNexusOperationExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RequestCancelNexusOperationExecutionResponse) ProtoMessage() {} + +func (x *RequestCancelNexusOperationExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[237] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RequestCancelNexusOperationExecutionResponse.ProtoReflect.Descriptor instead. +func (*RequestCancelNexusOperationExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{237} +} + +type TerminateNexusOperationExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Operation run ID, targets the latest run if empty. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + // The identity of the client who initiated this request. + Identity string `protobuf:"bytes,4,opt,name=identity,proto3" json:"identity,omitempty"` + // Used to de-dupe termination requests. + RequestId string `protobuf:"bytes,5,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"` + // Reason for requesting the termination, recorded in the operation's result failure outcome. + Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TerminateNexusOperationExecutionRequest) Reset() { + *x = TerminateNexusOperationExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[238] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TerminateNexusOperationExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminateNexusOperationExecutionRequest) ProtoMessage() {} + +func (x *TerminateNexusOperationExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[238] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TerminateNexusOperationExecutionRequest.ProtoReflect.Descriptor instead. +func (*TerminateNexusOperationExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{238} +} + +func (x *TerminateNexusOperationExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *TerminateNexusOperationExecutionRequest) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *TerminateNexusOperationExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +func (x *TerminateNexusOperationExecutionRequest) GetIdentity() string { + if x != nil { + return x.Identity + } + return "" +} + +func (x *TerminateNexusOperationExecutionRequest) GetRequestId() string { + if x != nil { + return x.RequestId + } + return "" +} + +func (x *TerminateNexusOperationExecutionRequest) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type TerminateNexusOperationExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *TerminateNexusOperationExecutionResponse) Reset() { + *x = TerminateNexusOperationExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[239] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *TerminateNexusOperationExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TerminateNexusOperationExecutionResponse) ProtoMessage() {} + +func (x *TerminateNexusOperationExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[239] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TerminateNexusOperationExecutionResponse.ProtoReflect.Descriptor instead. +func (*TerminateNexusOperationExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{239} +} + +type DeleteNexusOperationExecutionRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + OperationId string `protobuf:"bytes,2,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"` + // Operation run ID, targets the latest run if empty. + RunId string `protobuf:"bytes,3,opt,name=run_id,json=runId,proto3" json:"run_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNexusOperationExecutionRequest) Reset() { + *x = DeleteNexusOperationExecutionRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[240] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNexusOperationExecutionRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNexusOperationExecutionRequest) ProtoMessage() {} + +func (x *DeleteNexusOperationExecutionRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[240] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNexusOperationExecutionRequest.ProtoReflect.Descriptor instead. +func (*DeleteNexusOperationExecutionRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{240} +} + +func (x *DeleteNexusOperationExecutionRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *DeleteNexusOperationExecutionRequest) GetOperationId() string { + if x != nil { + return x.OperationId + } + return "" +} + +func (x *DeleteNexusOperationExecutionRequest) GetRunId() string { + if x != nil { + return x.RunId + } + return "" +} + +type DeleteNexusOperationExecutionResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DeleteNexusOperationExecutionResponse) Reset() { + *x = DeleteNexusOperationExecutionResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[241] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DeleteNexusOperationExecutionResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DeleteNexusOperationExecutionResponse) ProtoMessage() {} + +func (x *DeleteNexusOperationExecutionResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[241] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DeleteNexusOperationExecutionResponse.ProtoReflect.Descriptor instead. +func (*DeleteNexusOperationExecutionResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{241} +} + +// Experimental: example feature only. +type EchoRequest struct { + state protoimpl.MessageState `protogen:"open.v1"` + Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` + Payload string `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EchoRequest) Reset() { + *x = EchoRequest{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[242] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EchoRequest) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EchoRequest) ProtoMessage() {} + +func (x *EchoRequest) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[242] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EchoRequest.ProtoReflect.Descriptor instead. +func (*EchoRequest) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{242} +} + +func (x *EchoRequest) GetNamespace() string { + if x != nil { + return x.Namespace + } + return "" +} + +func (x *EchoRequest) GetPayload() string { + if x != nil { + return x.Payload + } + return "" +} + +// Experimental: example feature only. +type EchoResponse struct { + state protoimpl.MessageState `protogen:"open.v1"` + Payload string `protobuf:"bytes,1,opt,name=payload,proto3" json:"payload,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *EchoResponse) Reset() { + *x = EchoResponse{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[243] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *EchoResponse) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*EchoResponse) ProtoMessage() {} + +func (x *EchoResponse) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[243] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use EchoResponse.ProtoReflect.Descriptor instead. +func (*EchoResponse) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{243} +} + +func (x *EchoResponse) GetPayload() string { + if x != nil { + return x.Payload + } + return "" +} + +// Experimental: example feature only. +type Foo struct { + state protoimpl.MessageState `protogen:"open.v1"` + Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *Foo) Reset() { + *x = Foo{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[244] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *Foo) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Foo) ProtoMessage() {} + +func (x *Foo) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[244] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Foo.ProtoReflect.Descriptor instead. +func (*Foo) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{244} +} + +func (x *Foo) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +// SDK capability details. +type RespondWorkflowTaskCompletedRequest_Capabilities struct { + state protoimpl.MessageState `protogen:"open.v1"` + // True if the SDK can handle speculative workflow task with command events. If true, the + // server may choose, at its discretion, to discard a speculative workflow task even if that + // speculative task included command events the SDK had not previously processed. + // + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "with" used to describe the workflow task. --) + DiscardSpeculativeWorkflowTaskWithEvents bool `protobuf:"varint,1,opt,name=discard_speculative_workflow_task_with_events,json=discardSpeculativeWorkflowTaskWithEvents,proto3" json:"discard_speculative_workflow_task_with_events,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RespondWorkflowTaskCompletedRequest_Capabilities) Reset() { + *x = RespondWorkflowTaskCompletedRequest_Capabilities{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[250] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RespondWorkflowTaskCompletedRequest_Capabilities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RespondWorkflowTaskCompletedRequest_Capabilities) ProtoMessage() {} + +func (x *RespondWorkflowTaskCompletedRequest_Capabilities) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[250] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RespondWorkflowTaskCompletedRequest_Capabilities.ProtoReflect.Descriptor instead. +func (*RespondWorkflowTaskCompletedRequest_Capabilities) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{18, 1} +} + +func (x *RespondWorkflowTaskCompletedRequest_Capabilities) GetDiscardSpeculativeWorkflowTaskWithEvents() bool { + if x != nil { + return x.DiscardSpeculativeWorkflowTaskWithEvents + } + return false +} + +type CountWorkflowExecutionsResponse_AggregationGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupValues []*v13.Payload `protobuf:"bytes,1,rep,name=group_values,json=groupValues,proto3" json:"group_values,omitempty"` + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountWorkflowExecutionsResponse_AggregationGroup) Reset() { + *x = CountWorkflowExecutionsResponse_AggregationGroup{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[251] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountWorkflowExecutionsResponse_AggregationGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountWorkflowExecutionsResponse_AggregationGroup) ProtoMessage() {} + +func (x *CountWorkflowExecutionsResponse_AggregationGroup) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[251] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountWorkflowExecutionsResponse_AggregationGroup.ProtoReflect.Descriptor instead. +func (*CountWorkflowExecutionsResponse_AggregationGroup) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{63, 0} +} + +func (x *CountWorkflowExecutionsResponse_AggregationGroup) GetGroupValues() []*v13.Payload { + if x != nil { + return x.GroupValues + } + return nil +} + +func (x *CountWorkflowExecutionsResponse_AggregationGroup) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +type DescribeTaskQueueResponse_EffectiveRateLimit struct { + state protoimpl.MessageState `protogen:"open.v1"` + // The effective rate limit for the task queue. + RequestsPerSecond float32 `protobuf:"fixed32,1,opt,name=requests_per_second,json=requestsPerSecond,proto3" json:"requests_per_second,omitempty"` + // Source of the RateLimit Configuration,which can be one of the following values: + // - SOURCE_API: The rate limit that is set via the TaskQueueConfig api. + // - SOURCE_WORKER: The rate limit is the value set using the workerOptions in TaskQueueActivitiesPerSecond. + // - SOURCE_SYSTEM: The rate limit is the default value set by the system + RateLimitSource v11.RateLimitSource `protobuf:"varint,2,opt,name=rate_limit_source,json=rateLimitSource,proto3,enum=temporal.api.enums.v1.RateLimitSource" json:"rate_limit_source,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeTaskQueueResponse_EffectiveRateLimit) Reset() { + *x = DescribeTaskQueueResponse_EffectiveRateLimit{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[254] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeTaskQueueResponse_EffectiveRateLimit) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeTaskQueueResponse_EffectiveRateLimit) ProtoMessage() {} + +func (x *DescribeTaskQueueResponse_EffectiveRateLimit) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[254] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeTaskQueueResponse_EffectiveRateLimit.ProtoReflect.Descriptor instead. +func (*DescribeTaskQueueResponse_EffectiveRateLimit) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{77, 1} +} + +func (x *DescribeTaskQueueResponse_EffectiveRateLimit) GetRequestsPerSecond() float32 { + if x != nil { + return x.RequestsPerSecond + } + return 0 +} + +func (x *DescribeTaskQueueResponse_EffectiveRateLimit) GetRateLimitSource() v11.RateLimitSource { + if x != nil { + return x.RateLimitSource + } + return v11.RateLimitSource(0) +} + +// System capability details. +type GetSystemInfoResponse_Capabilities struct { + state protoimpl.MessageState `protogen:"open.v1"` + // True if signal and query headers are supported. + SignalAndQueryHeader bool `protobuf:"varint,1,opt,name=signal_and_query_header,json=signalAndQueryHeader,proto3" json:"signal_and_query_header,omitempty"` + // True if internal errors are differentiated from other types of errors for purposes of + // retrying non-internal errors. + // + // When unset/false, clients retry all failures. When true, clients should only retry + // non-internal errors. + InternalErrorDifferentiation bool `protobuf:"varint,2,opt,name=internal_error_differentiation,json=internalErrorDifferentiation,proto3" json:"internal_error_differentiation,omitempty"` + // True if RespondActivityTaskFailed API supports including heartbeat details + ActivityFailureIncludeHeartbeat bool `protobuf:"varint,3,opt,name=activity_failure_include_heartbeat,json=activityFailureIncludeHeartbeat,proto3" json:"activity_failure_include_heartbeat,omitempty"` + // Supports scheduled workflow features. + SupportsSchedules bool `protobuf:"varint,4,opt,name=supports_schedules,json=supportsSchedules,proto3" json:"supports_schedules,omitempty"` + // True if server uses protos that include temporal.api.failure.v1.Failure.encoded_attributes + EncodedFailureAttributes bool `protobuf:"varint,5,opt,name=encoded_failure_attributes,json=encodedFailureAttributes,proto3" json:"encoded_failure_attributes,omitempty"` + // True if server supports dispatching Workflow and Activity tasks based on a worker's build_id + // (see: + // https://github.com/temporalio/proposals/blob/a123af3b559f43db16ea6dd31870bfb754c4dc5e/versioning/worker-versions.md) + BuildIdBasedVersioning bool `protobuf:"varint,6,opt,name=build_id_based_versioning,json=buildIdBasedVersioning,proto3" json:"build_id_based_versioning,omitempty"` + // True if server supports upserting workflow memo + UpsertMemo bool `protobuf:"varint,7,opt,name=upsert_memo,json=upsertMemo,proto3" json:"upsert_memo,omitempty"` + // True if server supports eager workflow task dispatching for the StartWorkflowExecution API + EagerWorkflowStart bool `protobuf:"varint,8,opt,name=eager_workflow_start,json=eagerWorkflowStart,proto3" json:"eager_workflow_start,omitempty"` + // True if the server knows about the sdk metadata field on WFT completions and will record + // it in history + SdkMetadata bool `protobuf:"varint,9,opt,name=sdk_metadata,json=sdkMetadata,proto3" json:"sdk_metadata,omitempty"` + // True if the server supports count group by execution status + // (-- api-linter: core::0140::prepositions=disabled --) + CountGroupByExecutionStatus bool `protobuf:"varint,10,opt,name=count_group_by_execution_status,json=countGroupByExecutionStatus,proto3" json:"count_group_by_execution_status,omitempty"` + // True if the server supports Nexus operations. + // This flag is dependent both on server version and for Nexus to be enabled via server configuration. + Nexus bool `protobuf:"varint,11,opt,name=nexus,proto3" json:"nexus,omitempty"` + // True if the server supports server-scaled deployments. + // This flag is dependent both on server version and for server-scaled deployments + // to be enabled via server configuration. + ServerScaledDeployments bool `protobuf:"varint,12,opt,name=server_scaled_deployments,json=serverScaledDeployments,proto3" json:"server_scaled_deployments,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *GetSystemInfoResponse_Capabilities) Reset() { + *x = GetSystemInfoResponse_Capabilities{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[257] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *GetSystemInfoResponse_Capabilities) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*GetSystemInfoResponse_Capabilities) ProtoMessage() {} + +func (x *GetSystemInfoResponse_Capabilities) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[257] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use GetSystemInfoResponse_Capabilities.ProtoReflect.Descriptor instead. +func (*GetSystemInfoResponse_Capabilities) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{81, 0} +} + +func (x *GetSystemInfoResponse_Capabilities) GetSignalAndQueryHeader() bool { + if x != nil { + return x.SignalAndQueryHeader + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetInternalErrorDifferentiation() bool { + if x != nil { + return x.InternalErrorDifferentiation + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetActivityFailureIncludeHeartbeat() bool { + if x != nil { + return x.ActivityFailureIncludeHeartbeat + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetSupportsSchedules() bool { + if x != nil { + return x.SupportsSchedules + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetEncodedFailureAttributes() bool { + if x != nil { + return x.EncodedFailureAttributes + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetBuildIdBasedVersioning() bool { + if x != nil { + return x.BuildIdBasedVersioning + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetUpsertMemo() bool { + if x != nil { + return x.UpsertMemo + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetEagerWorkflowStart() bool { + if x != nil { + return x.EagerWorkflowStart + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetSdkMetadata() bool { + if x != nil { + return x.SdkMetadata + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetCountGroupByExecutionStatus() bool { + if x != nil { + return x.CountGroupByExecutionStatus + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetNexus() bool { + if x != nil { + return x.Nexus + } + return false +} + +func (x *GetSystemInfoResponse_Capabilities) GetServerScaledDeployments() bool { + if x != nil { + return x.ServerScaledDeployments + } + return false +} + +type CountSchedulesResponse_AggregationGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupValues []*v13.Payload `protobuf:"bytes,1,rep,name=group_values,json=groupValues,proto3" json:"group_values,omitempty"` + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountSchedulesResponse_AggregationGroup) Reset() { + *x = CountSchedulesResponse_AggregationGroup{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[258] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountSchedulesResponse_AggregationGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountSchedulesResponse_AggregationGroup) ProtoMessage() {} + +func (x *CountSchedulesResponse_AggregationGroup) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[258] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountSchedulesResponse_AggregationGroup.ProtoReflect.Descriptor instead. +func (*CountSchedulesResponse_AggregationGroup) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{99, 0} +} + +func (x *CountSchedulesResponse_AggregationGroup) GetGroupValues() []*v13.Payload { + if x != nil { + return x.GroupValues + } + return nil +} + +func (x *CountSchedulesResponse_AggregationGroup) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +type UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A new id to be added to an existing compatible set. + NewBuildId string `protobuf:"bytes,1,opt,name=new_build_id,json=newBuildId,proto3" json:"new_build_id,omitempty"` + // A build id which must already exist in the version sets known by the task queue. The new + // id will be stored in the set containing this id, marking it as compatible with + // the versions within. + ExistingCompatibleBuildId string `protobuf:"bytes,2,opt,name=existing_compatible_build_id,json=existingCompatibleBuildId,proto3" json:"existing_compatible_build_id,omitempty"` + // When set, establishes the compatible set being targeted as the overall default for the + // queue. If a different set was the current default, the targeted set will replace it as + // the new default. + MakeSetDefault bool `protobuf:"varint,3,opt,name=make_set_default,json=makeSetDefault,proto3" json:"make_set_default,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion) Reset() { + *x = UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[259] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion) ProtoMessage() {} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[259] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion.ProtoReflect.Descriptor instead. +func (*UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{100, 0} +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion) GetNewBuildId() string { + if x != nil { + return x.NewBuildId + } + return "" +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion) GetExistingCompatibleBuildId() string { + if x != nil { + return x.ExistingCompatibleBuildId + } + return "" +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion) GetMakeSetDefault() bool { + if x != nil { + return x.MakeSetDefault + } + return false +} + +type UpdateWorkerBuildIdCompatibilityRequest_MergeSets struct { + state protoimpl.MessageState `protogen:"open.v1"` + // A build ID in the set whose default will become the merged set default + PrimarySetBuildId string `protobuf:"bytes,1,opt,name=primary_set_build_id,json=primarySetBuildId,proto3" json:"primary_set_build_id,omitempty"` + // A build ID in the set which will be merged into the primary set + SecondarySetBuildId string `protobuf:"bytes,2,opt,name=secondary_set_build_id,json=secondarySetBuildId,proto3" json:"secondary_set_build_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_MergeSets) Reset() { + *x = UpdateWorkerBuildIdCompatibilityRequest_MergeSets{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[260] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_MergeSets) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerBuildIdCompatibilityRequest_MergeSets) ProtoMessage() {} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_MergeSets) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[260] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerBuildIdCompatibilityRequest_MergeSets.ProtoReflect.Descriptor instead. +func (*UpdateWorkerBuildIdCompatibilityRequest_MergeSets) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{100, 1} +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_MergeSets) GetPrimarySetBuildId() string { + if x != nil { + return x.PrimarySetBuildId + } + return "" +} + +func (x *UpdateWorkerBuildIdCompatibilityRequest_MergeSets) GetSecondarySetBuildId() string { + if x != nil { + return x.SecondarySetBuildId + } + return "" +} + +// Inserts the rule to the list of assignment rules for this Task Queue. +// The rules are evaluated in order, starting from index 0. The first +// applicable rule will be applied and the rest will be ignored. +type UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Use this option to insert the rule in a particular index. By + // default, the new rule is inserted at the beginning of the list + // (index 0). If the given index is too larger the rule will be + // inserted at the end of the list. + RuleIndex int32 `protobuf:"varint,1,opt,name=rule_index,json=ruleIndex,proto3" json:"rule_index,omitempty"` + Rule *v14.BuildIdAssignmentRule `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule) Reset() { + *x = UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[261] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule) ProtoMessage() {} + +func (x *UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[261] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule.ProtoReflect.Descriptor instead. +func (*UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{104, 0} +} + +func (x *UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule) GetRuleIndex() int32 { + if x != nil { + return x.RuleIndex + } + return 0 +} + +func (x *UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule) GetRule() *v14.BuildIdAssignmentRule { + if x != nil { + return x.Rule + } + return nil +} + +// Replaces the assignment rule at a given index. +type UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + RuleIndex int32 `protobuf:"varint,1,opt,name=rule_index,json=ruleIndex,proto3" json:"rule_index,omitempty"` + Rule *v14.BuildIdAssignmentRule `protobuf:"bytes,2,opt,name=rule,proto3" json:"rule,omitempty"` + // By default presence of one unconditional rule is enforced, otherwise + // the replace operation will be rejected. Set `force` to true to + // bypass this validation. An unconditional assignment rule: + // - Has no hint filter + // - Has no ramp + Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule) Reset() { + *x = UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[262] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule) ProtoMessage() {} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[262] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule.ProtoReflect.Descriptor instead. +func (*UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{104, 1} +} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule) GetRuleIndex() int32 { + if x != nil { + return x.RuleIndex + } + return 0 +} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule) GetRule() *v14.BuildIdAssignmentRule { + if x != nil { + return x.Rule + } + return nil +} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +type UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + RuleIndex int32 `protobuf:"varint,1,opt,name=rule_index,json=ruleIndex,proto3" json:"rule_index,omitempty"` + // By default presence of one unconditional rule is enforced, otherwise + // the delete operation will be rejected. Set `force` to true to + // bypass this validation. An unconditional assignment rule: + // - Has no hint filter + // - Has no ramp + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule) Reset() { + *x = UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[263] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule) ProtoMessage() {} + +func (x *UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[263] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule.ProtoReflect.Descriptor instead. +func (*UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{104, 2} +} + +func (x *UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule) GetRuleIndex() int32 { + if x != nil { + return x.RuleIndex + } + return 0 +} + +func (x *UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +// Adds the rule to the list of redirect rules for this Task Queue. There +// can be at most one redirect rule for each distinct Source Build ID. +type UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rule *v14.CompatibleBuildIdRedirectRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule) Reset() { + *x = UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[264] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule) ProtoMessage() {} + +func (x *UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[264] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule.ProtoReflect.Descriptor instead. +func (*UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{104, 3} +} + +func (x *UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule) GetRule() *v14.CompatibleBuildIdRedirectRule { + if x != nil { + return x.Rule + } + return nil +} + +// Replaces the routing rule with the given source Build ID. +type UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + Rule *v14.CompatibleBuildIdRedirectRule `protobuf:"bytes,1,opt,name=rule,proto3" json:"rule,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule) Reset() { + *x = UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[265] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule) ProtoMessage() {} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[265] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule.ProtoReflect.Descriptor instead. +func (*UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{104, 4} +} + +func (x *UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule) GetRule() *v14.CompatibleBuildIdRedirectRule { + if x != nil { + return x.Rule + } + return nil +} + +type UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule struct { + state protoimpl.MessageState `protogen:"open.v1"` + SourceBuildId string `protobuf:"bytes,1,opt,name=source_build_id,json=sourceBuildId,proto3" json:"source_build_id,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule) Reset() { + *x = UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[266] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule) ProtoMessage() {} + +func (x *UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[266] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule.ProtoReflect.Descriptor instead. +func (*UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{104, 5} +} + +func (x *UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule) GetSourceBuildId() string { + if x != nil { + return x.SourceBuildId + } + return "" +} + +// This command is intended to be used to complete the rollout of a Build +// ID and cleanup unnecessary rules possibly created during a gradual +// rollout. Specifically, this command will make the following changes +// atomically: +// 1. Adds an assignment rule (with full ramp) for the target Build ID at +// the end of the list. +// 2. Removes all previously added assignment rules to the given target +// Build ID (if any). +// 3. Removes any fully-ramped assignment rule for other Build IDs. +type UpdateWorkerVersioningRulesRequest_CommitBuildId struct { + state protoimpl.MessageState `protogen:"open.v1"` + TargetBuildId string `protobuf:"bytes,1,opt,name=target_build_id,json=targetBuildId,proto3" json:"target_build_id,omitempty"` + // To prevent committing invalid Build IDs, we reject the request if no + // pollers has been seen recently for this Build ID. Use the `force` + // option to disable this validation. + Force bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateWorkerVersioningRulesRequest_CommitBuildId) Reset() { + *x = UpdateWorkerVersioningRulesRequest_CommitBuildId{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[267] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateWorkerVersioningRulesRequest_CommitBuildId) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateWorkerVersioningRulesRequest_CommitBuildId) ProtoMessage() {} + +func (x *UpdateWorkerVersioningRulesRequest_CommitBuildId) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[267] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateWorkerVersioningRulesRequest_CommitBuildId.ProtoReflect.Descriptor instead. +func (*UpdateWorkerVersioningRulesRequest_CommitBuildId) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{104, 6} +} + +func (x *UpdateWorkerVersioningRulesRequest_CommitBuildId) GetTargetBuildId() string { + if x != nil { + return x.TargetBuildId + } + return "" +} + +func (x *UpdateWorkerVersioningRulesRequest_CommitBuildId) GetForce() bool { + if x != nil { + return x.Force + } + return false +} + +type ExecuteMultiOperationRequest_Operation struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Operation: + // + // *ExecuteMultiOperationRequest_Operation_StartWorkflow + // *ExecuteMultiOperationRequest_Operation_UpdateWorkflow + Operation isExecuteMultiOperationRequest_Operation_Operation `protobuf_oneof:"operation"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecuteMultiOperationRequest_Operation) Reset() { + *x = ExecuteMultiOperationRequest_Operation{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[268] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteMultiOperationRequest_Operation) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteMultiOperationRequest_Operation) ProtoMessage() {} + +func (x *ExecuteMultiOperationRequest_Operation) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[268] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteMultiOperationRequest_Operation.ProtoReflect.Descriptor instead. +func (*ExecuteMultiOperationRequest_Operation) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{128, 0} +} + +func (x *ExecuteMultiOperationRequest_Operation) GetOperation() isExecuteMultiOperationRequest_Operation_Operation { + if x != nil { + return x.Operation + } + return nil +} + +func (x *ExecuteMultiOperationRequest_Operation) GetStartWorkflow() *StartWorkflowExecutionRequest { + if x != nil { + if x, ok := x.Operation.(*ExecuteMultiOperationRequest_Operation_StartWorkflow); ok { + return x.StartWorkflow + } + } + return nil +} + +func (x *ExecuteMultiOperationRequest_Operation) GetUpdateWorkflow() *UpdateWorkflowExecutionRequest { + if x != nil { + if x, ok := x.Operation.(*ExecuteMultiOperationRequest_Operation_UpdateWorkflow); ok { + return x.UpdateWorkflow + } + } + return nil +} + +type isExecuteMultiOperationRequest_Operation_Operation interface { + isExecuteMultiOperationRequest_Operation_Operation() +} + +type ExecuteMultiOperationRequest_Operation_StartWorkflow struct { + // Additional restrictions: + // - setting `cron_schedule` is invalid + // - setting `request_eager_execution` is invalid + // - setting `workflow_start_delay` is invalid + StartWorkflow *StartWorkflowExecutionRequest `protobuf:"bytes,1,opt,name=start_workflow,json=startWorkflow,proto3,oneof"` +} + +type ExecuteMultiOperationRequest_Operation_UpdateWorkflow struct { + // Additional restrictions: + // - setting `first_execution_run_id` is invalid + // - setting `workflow_execution.run_id` is invalid + UpdateWorkflow *UpdateWorkflowExecutionRequest `protobuf:"bytes,2,opt,name=update_workflow,json=updateWorkflow,proto3,oneof"` +} + +func (*ExecuteMultiOperationRequest_Operation_StartWorkflow) isExecuteMultiOperationRequest_Operation_Operation() { +} + +func (*ExecuteMultiOperationRequest_Operation_UpdateWorkflow) isExecuteMultiOperationRequest_Operation_Operation() { +} + +type ExecuteMultiOperationResponse_Response struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Types that are valid to be assigned to Response: + // + // *ExecuteMultiOperationResponse_Response_StartWorkflow + // *ExecuteMultiOperationResponse_Response_UpdateWorkflow + Response isExecuteMultiOperationResponse_Response_Response `protobuf_oneof:"response"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ExecuteMultiOperationResponse_Response) Reset() { + *x = ExecuteMultiOperationResponse_Response{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[269] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ExecuteMultiOperationResponse_Response) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ExecuteMultiOperationResponse_Response) ProtoMessage() {} + +func (x *ExecuteMultiOperationResponse_Response) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[269] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ExecuteMultiOperationResponse_Response.ProtoReflect.Descriptor instead. +func (*ExecuteMultiOperationResponse_Response) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{129, 0} +} + +func (x *ExecuteMultiOperationResponse_Response) GetResponse() isExecuteMultiOperationResponse_Response_Response { + if x != nil { + return x.Response + } + return nil +} + +func (x *ExecuteMultiOperationResponse_Response) GetStartWorkflow() *StartWorkflowExecutionResponse { + if x != nil { + if x, ok := x.Response.(*ExecuteMultiOperationResponse_Response_StartWorkflow); ok { + return x.StartWorkflow + } + } + return nil +} + +func (x *ExecuteMultiOperationResponse_Response) GetUpdateWorkflow() *UpdateWorkflowExecutionResponse { + if x != nil { + if x, ok := x.Response.(*ExecuteMultiOperationResponse_Response_UpdateWorkflow); ok { + return x.UpdateWorkflow + } + } + return nil +} + +type isExecuteMultiOperationResponse_Response_Response interface { + isExecuteMultiOperationResponse_Response_Response() +} + +type ExecuteMultiOperationResponse_Response_StartWorkflow struct { + StartWorkflow *StartWorkflowExecutionResponse `protobuf:"bytes,1,opt,name=start_workflow,json=startWorkflow,proto3,oneof"` +} + +type ExecuteMultiOperationResponse_Response_UpdateWorkflow struct { + UpdateWorkflow *UpdateWorkflowExecutionResponse `protobuf:"bytes,2,opt,name=update_workflow,json=updateWorkflow,proto3,oneof"` +} + +func (*ExecuteMultiOperationResponse_Response_StartWorkflow) isExecuteMultiOperationResponse_Response_Response() { +} + +func (*ExecuteMultiOperationResponse_Response_UpdateWorkflow) isExecuteMultiOperationResponse_Response_Response() { +} + +// (-- api-linter: core::0123::resource-annotation=disabled --) +type DescribeWorkerDeploymentVersionResponse_VersionTaskQueue struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + Type v11.TaskQueueType `protobuf:"varint,2,opt,name=type,proto3,enum=temporal.api.enums.v1.TaskQueueType" json:"type,omitempty"` + // Only set if `report_task_queue_stats` is set on the request. + Stats *v14.TaskQueueStats `protobuf:"bytes,3,opt,name=stats,proto3" json:"stats,omitempty"` + // Task queue stats breakdown by priority key. Only contains actively used priority keys. + // Only set if `report_task_queue_stats` is set to true in the request. + // (-- api-linter: core::0140::prepositions=disabled + // + // aip.dev/not-precedent: "by" is used to clarify the key. --) + StatsByPriorityKey map[int32]*v14.TaskQueueStats `protobuf:"bytes,4,rep,name=stats_by_priority_key,json=statsByPriorityKey,proto3" json:"stats_by_priority_key,omitempty" protobuf_key:"varint,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *DescribeWorkerDeploymentVersionResponse_VersionTaskQueue) Reset() { + *x = DescribeWorkerDeploymentVersionResponse_VersionTaskQueue{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[270] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *DescribeWorkerDeploymentVersionResponse_VersionTaskQueue) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*DescribeWorkerDeploymentVersionResponse_VersionTaskQueue) ProtoMessage() {} + +func (x *DescribeWorkerDeploymentVersionResponse_VersionTaskQueue) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[270] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use DescribeWorkerDeploymentVersionResponse_VersionTaskQueue.ProtoReflect.Descriptor instead. +func (*DescribeWorkerDeploymentVersionResponse_VersionTaskQueue) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{151, 0} +} + +func (x *DescribeWorkerDeploymentVersionResponse_VersionTaskQueue) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *DescribeWorkerDeploymentVersionResponse_VersionTaskQueue) GetType() v11.TaskQueueType { + if x != nil { + return x.Type + } + return v11.TaskQueueType(0) +} + +func (x *DescribeWorkerDeploymentVersionResponse_VersionTaskQueue) GetStats() *v14.TaskQueueStats { + if x != nil { + return x.Stats + } + return nil +} + +func (x *DescribeWorkerDeploymentVersionResponse_VersionTaskQueue) GetStatsByPriorityKey() map[int32]*v14.TaskQueueStats { + if x != nil { + return x.StatsByPriorityKey + } + return nil +} + +// (-- api-linter: core::0123::resource-annotation=disabled --) +// A subset of WorkerDeploymentInfo +type ListWorkerDeploymentsResponse_WorkerDeploymentSummary struct { + state protoimpl.MessageState `protogen:"open.v1"` + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + CreateTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` + RoutingConfig *v18.RoutingConfig `protobuf:"bytes,3,opt,name=routing_config,json=routingConfig,proto3" json:"routing_config,omitempty"` + // Summary of the version that was added most recently in the Worker Deployment. + LatestVersionSummary *v18.WorkerDeploymentInfo_WorkerDeploymentVersionSummary `protobuf:"bytes,4,opt,name=latest_version_summary,json=latestVersionSummary,proto3" json:"latest_version_summary,omitempty"` + // Summary of the current version of the Worker Deployment. + CurrentVersionSummary *v18.WorkerDeploymentInfo_WorkerDeploymentVersionSummary `protobuf:"bytes,5,opt,name=current_version_summary,json=currentVersionSummary,proto3" json:"current_version_summary,omitempty"` + // Summary of the ramping version of the Worker Deployment. + RampingVersionSummary *v18.WorkerDeploymentInfo_WorkerDeploymentVersionSummary `protobuf:"bytes,6,opt,name=ramping_version_summary,json=rampingVersionSummary,proto3" json:"ramping_version_summary,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *ListWorkerDeploymentsResponse_WorkerDeploymentSummary) Reset() { + *x = ListWorkerDeploymentsResponse_WorkerDeploymentSummary{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[272] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *ListWorkerDeploymentsResponse_WorkerDeploymentSummary) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ListWorkerDeploymentsResponse_WorkerDeploymentSummary) ProtoMessage() {} + +func (x *ListWorkerDeploymentsResponse_WorkerDeploymentSummary) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[272] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ListWorkerDeploymentsResponse_WorkerDeploymentSummary.ProtoReflect.Descriptor instead. +func (*ListWorkerDeploymentsResponse_WorkerDeploymentSummary) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{165, 0} +} + +func (x *ListWorkerDeploymentsResponse_WorkerDeploymentSummary) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *ListWorkerDeploymentsResponse_WorkerDeploymentSummary) GetCreateTime() *timestamppb.Timestamp { + if x != nil { + return x.CreateTime + } + return nil +} + +func (x *ListWorkerDeploymentsResponse_WorkerDeploymentSummary) GetRoutingConfig() *v18.RoutingConfig { + if x != nil { + return x.RoutingConfig + } + return nil +} + +func (x *ListWorkerDeploymentsResponse_WorkerDeploymentSummary) GetLatestVersionSummary() *v18.WorkerDeploymentInfo_WorkerDeploymentVersionSummary { + if x != nil { + return x.LatestVersionSummary + } + return nil +} + +func (x *ListWorkerDeploymentsResponse_WorkerDeploymentSummary) GetCurrentVersionSummary() *v18.WorkerDeploymentInfo_WorkerDeploymentVersionSummary { + if x != nil { + return x.CurrentVersionSummary + } + return nil +} + +func (x *ListWorkerDeploymentsResponse_WorkerDeploymentSummary) GetRampingVersionSummary() *v18.WorkerDeploymentInfo_WorkerDeploymentVersionSummary { + if x != nil { + return x.RampingVersionSummary + } + return nil +} + +type UpdateTaskQueueConfigRequest_RateLimitUpdate struct { + state protoimpl.MessageState `protogen:"open.v1"` + // Rate Limit to be updated + RateLimit *v14.RateLimit `protobuf:"bytes,1,opt,name=rate_limit,json=rateLimit,proto3" json:"rate_limit,omitempty"` + // Reason for why the rate limit was set. + Reason string `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *UpdateTaskQueueConfigRequest_RateLimitUpdate) Reset() { + *x = UpdateTaskQueueConfigRequest_RateLimitUpdate{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[276] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *UpdateTaskQueueConfigRequest_RateLimitUpdate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*UpdateTaskQueueConfigRequest_RateLimitUpdate) ProtoMessage() {} + +func (x *UpdateTaskQueueConfigRequest_RateLimitUpdate) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[276] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use UpdateTaskQueueConfigRequest_RateLimitUpdate.ProtoReflect.Descriptor instead. +func (*UpdateTaskQueueConfigRequest_RateLimitUpdate) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{198, 0} +} + +func (x *UpdateTaskQueueConfigRequest_RateLimitUpdate) GetRateLimit() *v14.RateLimit { + if x != nil { + return x.RateLimit + } + return nil +} + +func (x *UpdateTaskQueueConfigRequest_RateLimitUpdate) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type CountActivityExecutionsResponse_AggregationGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupValues []*v13.Payload `protobuf:"bytes,1,rep,name=group_values,json=groupValues,proto3" json:"group_values,omitempty"` + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountActivityExecutionsResponse_AggregationGroup) Reset() { + *x = CountActivityExecutionsResponse_AggregationGroup{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[279] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountActivityExecutionsResponse_AggregationGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountActivityExecutionsResponse_AggregationGroup) ProtoMessage() {} + +func (x *CountActivityExecutionsResponse_AggregationGroup) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[279] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountActivityExecutionsResponse_AggregationGroup.ProtoReflect.Descriptor instead. +func (*CountActivityExecutionsResponse_AggregationGroup) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{227, 0} +} + +func (x *CountActivityExecutionsResponse_AggregationGroup) GetGroupValues() []*v13.Payload { + if x != nil { + return x.GroupValues + } + return nil +} + +func (x *CountActivityExecutionsResponse_AggregationGroup) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +type CountNexusOperationExecutionsResponse_AggregationGroup struct { + state protoimpl.MessageState `protogen:"open.v1"` + GroupValues []*v13.Payload `protobuf:"bytes,1,rep,name=group_values,json=groupValues,proto3" json:"group_values,omitempty"` + Count int64 `protobuf:"varint,2,opt,name=count,proto3" json:"count,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *CountNexusOperationExecutionsResponse_AggregationGroup) Reset() { + *x = CountNexusOperationExecutionsResponse_AggregationGroup{} + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[280] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *CountNexusOperationExecutionsResponse_AggregationGroup) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*CountNexusOperationExecutionsResponse_AggregationGroup) ProtoMessage() {} + +func (x *CountNexusOperationExecutionsResponse_AggregationGroup) ProtoReflect() protoreflect.Message { + mi := &file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[280] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use CountNexusOperationExecutionsResponse_AggregationGroup.ProtoReflect.Descriptor instead. +func (*CountNexusOperationExecutionsResponse_AggregationGroup) Descriptor() ([]byte, []int) { + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP(), []int{229, 0} +} + +func (x *CountNexusOperationExecutionsResponse_AggregationGroup) GetGroupValues() []*v13.Payload { + if x != nil { + return x.GroupValues + } + return nil +} + +func (x *CountNexusOperationExecutionsResponse_AggregationGroup) GetCount() int64 { + if x != nil { + return x.Count + } + return 0 +} + +var File_temporal_api_workflowservice_v1_request_response_proto protoreflect.FileDescriptor + +const file_temporal_api_workflowservice_v1_request_response_proto_rawDesc = "" + + "\n" + + "6temporal/api/workflowservice/v1/request_response.proto\x12\x1ftemporal.api.workflowservice.v1\x1a+temporal/api/enums/v1/batch_operation.proto\x1a\"temporal/api/enums/v1/common.proto\x1a$temporal/api/enums/v1/workflow.proto\x1a%temporal/api/enums/v1/namespace.proto\x1a\x1ftemporal/api/experimental.proto\x1a(temporal/api/enums/v1/failed_cause.proto\x1a!temporal/api/enums/v1/query.proto\x1a!temporal/api/enums/v1/reset.proto\x1a&temporal/api/enums/v1/task_queue.proto\x1a&temporal/api/enums/v1/deployment.proto\x1a\"temporal/api/enums/v1/update.proto\x1a$temporal/api/enums/v1/activity.proto\x1a!temporal/api/enums/v1/nexus.proto\x1a&temporal/api/activity/v1/message.proto\x1a$temporal/api/common/v1/message.proto\x1a%temporal/api/history/v1/message.proto\x1a&temporal/api/workflow/v1/message.proto\x1a%temporal/api/command/v1/message.proto\x1a$temporal/api/compute/v1/config.proto\x1a(temporal/api/deployment/v1/message.proto\x1a%temporal/api/failure/v1/message.proto\x1a$temporal/api/filter/v1/message.proto\x1a&temporal/api/protocol/v1/message.proto\x1a'temporal/api/namespace/v1/message.proto\x1a#temporal/api/query/v1/message.proto\x1a)temporal/api/replication/v1/message.proto\x1a#temporal/api/rules/v1/message.proto\x1a'temporal/api/sdk/v1/worker_config.proto\x1a&temporal/api/schedule/v1/message.proto\x1a'temporal/api/taskqueue/v1/message.proto\x1a$temporal/api/update/v1/message.proto\x1a%temporal/api/version/v1/message.proto\x1a#temporal/api/batch/v1/message.proto\x1a0temporal/api/sdk/v1/task_complete_metadata.proto\x1a'temporal/api/sdk/v1/user_metadata.proto\x1a#temporal/api/nexus/v1/message.proto\x1a$temporal/api/worker/v1/message.proto\x1a\x1egoogle/protobuf/duration.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf9\x06\n" + + "\x18RegisterNamespaceRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12 \n" + + "\vdescription\x18\x02 \x01(\tR\vdescription\x12\x1f\n" + + "\vowner_email\x18\x03 \x01(\tR\n" + + "ownerEmail\x12h\n" + + "#workflow_execution_retention_period\x18\x04 \x01(\v2\x19.google.protobuf.DurationR workflowExecutionRetentionPeriod\x12Q\n" + + "\bclusters\x18\x05 \x03(\v25.temporal.api.replication.v1.ClusterReplicationConfigR\bclusters\x12.\n" + + "\x13active_cluster_name\x18\x06 \x01(\tR\x11activeClusterName\x12W\n" + + "\x04data\x18\a \x03(\v2C.temporal.api.workflowservice.v1.RegisterNamespaceRequest.DataEntryR\x04data\x12%\n" + + "\x0esecurity_token\x18\b \x01(\tR\rsecurityToken\x12.\n" + + "\x13is_global_namespace\x18\t \x01(\bR\x11isGlobalNamespace\x12Z\n" + + "\x16history_archival_state\x18\n" + + " \x01(\x0e2$.temporal.api.enums.v1.ArchivalStateR\x14historyArchivalState\x120\n" + + "\x14history_archival_uri\x18\v \x01(\tR\x12historyArchivalUri\x12`\n" + + "\x19visibility_archival_state\x18\f \x01(\x0e2$.temporal.api.enums.v1.ArchivalStateR\x17visibilityArchivalState\x126\n" + + "\x17visibility_archival_uri\x18\r \x01(\tR\x15visibilityArchivalUri\x1a7\n" + + "\tDataEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x1b\n" + + "\x19RegisterNamespaceResponse\"\xb3\x01\n" + + "\x15ListNamespacesRequest\x12\x1b\n" + + "\tpage_size\x18\x01 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\x12U\n" + + "\x10namespace_filter\x18\x03 \x01(\v2*.temporal.api.namespace.v1.NamespaceFilterR\x0fnamespaceFilter\"\x9c\x01\n" + + "\x16ListNamespacesResponse\x12Z\n" + + "\n" + + "namespaces\x18\x01 \x03(\v2:.temporal.api.workflowservice.v1.DescribeNamespaceResponseR\n" + + "namespaces\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"s\n" + + "\x18DescribeNamespaceRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x0e\n" + + "\x02id\x18\x02 \x01(\tR\x02id\x12)\n" + + "\x10weak_consistency\x18\x03 \x01(\bR\x0fweakConsistency\"\xcb\x03\n" + + "\x19DescribeNamespaceResponse\x12O\n" + + "\x0enamespace_info\x18\x01 \x01(\v2(.temporal.api.namespace.v1.NamespaceInfoR\rnamespaceInfo\x12B\n" + + "\x06config\x18\x02 \x01(\v2*.temporal.api.namespace.v1.NamespaceConfigR\x06config\x12f\n" + + "\x12replication_config\x18\x03 \x01(\v27.temporal.api.replication.v1.NamespaceReplicationConfigR\x11replicationConfig\x12)\n" + + "\x10failover_version\x18\x04 \x01(\x03R\x0ffailoverVersion\x12.\n" + + "\x13is_global_namespace\x18\x05 \x01(\bR\x11isGlobalNamespace\x12V\n" + + "\x10failover_history\x18\x06 \x03(\v2+.temporal.api.replication.v1.FailoverStatusR\x0ffailoverHistory\"\xb3\x03\n" + + "\x16UpdateNamespaceRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12O\n" + + "\vupdate_info\x18\x02 \x01(\v2..temporal.api.namespace.v1.UpdateNamespaceInfoR\n" + + "updateInfo\x12B\n" + + "\x06config\x18\x03 \x01(\v2*.temporal.api.namespace.v1.NamespaceConfigR\x06config\x12f\n" + + "\x12replication_config\x18\x04 \x01(\v27.temporal.api.replication.v1.NamespaceReplicationConfigR\x11replicationConfig\x12%\n" + + "\x0esecurity_token\x18\x05 \x01(\tR\rsecurityToken\x12*\n" + + "\x11delete_bad_binary\x18\x06 \x01(\tR\x0fdeleteBadBinary\x12+\n" + + "\x11promote_namespace\x18\a \x01(\bR\x10promoteNamespace\"\xf1\x02\n" + + "\x17UpdateNamespaceResponse\x12O\n" + + "\x0enamespace_info\x18\x01 \x01(\v2(.temporal.api.namespace.v1.NamespaceInfoR\rnamespaceInfo\x12B\n" + + "\x06config\x18\x02 \x01(\v2*.temporal.api.namespace.v1.NamespaceConfigR\x06config\x12f\n" + + "\x12replication_config\x18\x03 \x01(\v27.temporal.api.replication.v1.NamespaceReplicationConfigR\x11replicationConfig\x12)\n" + + "\x10failover_version\x18\x04 \x01(\x03R\x0ffailoverVersion\x12.\n" + + "\x13is_global_namespace\x18\x05 \x01(\bR\x11isGlobalNamespace\"`\n" + + "\x19DeprecateNamespaceRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12%\n" + + "\x0esecurity_token\x18\x02 \x01(\tR\rsecurityToken\"\x1c\n" + + "\x1aDeprecateNamespaceResponse\"\xf8\x16\n" + + "\x1dStartWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12C\n" + + "\n" + + "task_queue\x18\x04 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x05input\x18\x05 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12W\n" + + "\x1aworkflow_execution_timeout\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x18workflowExecutionTimeout\x12K\n" + + "\x14workflow_run_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x12workflowRunTimeout\x12M\n" + + "\x15workflow_task_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x13workflowTaskTimeout\x12\x1a\n" + + "\bidentity\x18\t \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\n" + + " \x01(\tR\trequestId\x12e\n" + + "\x18workflow_id_reuse_policy\x18\v \x01(\x0e2,.temporal.api.enums.v1.WorkflowIdReusePolicyR\x15workflowIdReusePolicy\x12n\n" + + "\x1bworkflow_id_conflict_policy\x18\x16 \x01(\x0e2/.temporal.api.enums.v1.WorkflowIdConflictPolicyR\x18workflowIdConflictPolicy\x12F\n" + + "\fretry_policy\x18\f \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12#\n" + + "\rcron_schedule\x18\r \x01(\tR\fcronSchedule\x120\n" + + "\x04memo\x18\x0e \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\x0f \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x126\n" + + "\x06header\x18\x10 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x126\n" + + "\x17request_eager_execution\x18\x11 \x01(\bR\x15requestEagerExecution\x12M\n" + + "\x11continued_failure\x18\x12 \x01(\v2 .temporal.api.failure.v1.FailureR\x10continuedFailure\x12V\n" + + "\x16last_completion_result\x18\x13 \x01(\v2 .temporal.api.common.v1.PayloadsR\x14lastCompletionResult\x12K\n" + + "\x14workflow_start_delay\x18\x14 \x01(\v2\x19.google.protobuf.DurationR\x12workflowStartDelay\x12S\n" + + "\x14completion_callbacks\x18\x15 \x03(\v2 .temporal.api.common.v1.CallbackR\x13completionCallbacks\x12F\n" + + "\ruser_metadata\x18\x17 \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\x122\n" + + "\x05links\x18\x18 \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\x12]\n" + + "\x13versioning_override\x18\x19 \x01(\v2,.temporal.api.workflow.v1.VersioningOverrideR\x12versioningOverride\x12[\n" + + "\x13on_conflict_options\x18\x1a \x01(\v2+.temporal.api.workflow.v1.OnConflictOptionsR\x11onConflictOptions\x12<\n" + + "\bpriority\x18\x1b \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12z\n" + + "\x1feager_worker_deployment_options\x18\x1c \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x1ceagerWorkerDeploymentOptions\x12^\n" + + "\x14time_skipping_config\x18\x1d \x01(\v2,.temporal.api.workflow.v1.TimeSkippingConfigR\x12timeSkippingConfig\x12C\n" + + "\x03foo\x18\x1e \x01(\v2$.temporal.api.workflowservice.v1.FooB\v\xca\xcc%\aexampleR\x03foo\x12&\n" + + "\bfoo_text\x18\x1f \x01(\tB\v\xca\xcc%\aexampleR\afooText\x12(\n" + + "\tfoo_count\x18 \x01(\x03B\v\xca\xcc%\aexampleR\bfooCount\x12,\n" + + "\vfoo_enabled\x18! \x01(\bB\v\xca\xcc%\aexampleR\n" + + "fooEnabled\x12,\n" + + "\vfoo_payload\x18\" \x01(\fB\v\xca\xcc%\aexampleR\n" + + "fooPayload\x12&\n" + + "\bfoo_tags\x18# \x03(\tB\v\xca\xcc%\aexampleR\afooTags\x12,\n" + + "\vfoo_numbers\x18$ \x03(\x03B\v\xca\xcc%\aexampleR\n" + + "fooNumbers\x12t\n" + + "\tfoo_by_id\x18% \x03(\v2K.temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.FooByIdEntryB\v\xca\xcc%\aexampleR\afooById\x12\x87\x01\n" + + "\x10foo_counts_by_id\x18& \x03(\v2Q.temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.FooCountsByIdEntryB\v\xca\xcc%\aexampleR\rfooCountsById\x12[\n" + + "\n" + + "foo_policy\x18' \x01(\x0e2/.temporal.api.enums.v1.WorkflowIdConflictPolicyB\v\xca\xcc%\aexampleR\tfooPolicy\x1a`\n" + + "\fFooByIdEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12:\n" + + "\x05value\x18\x02 \x01(\v2$.temporal.api.workflowservice.v1.FooR\x05value:\x028\x01\x1a@\n" + + "\x12FooCountsByIdEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\"\xbb\x02\n" + + "\x1eStartWorkflowExecutionResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x18\n" + + "\astarted\x18\x03 \x01(\bR\astarted\x12F\n" + + "\x06status\x18\x05 \x01(\x0e2..temporal.api.enums.v1.WorkflowExecutionStatusR\x06status\x12n\n" + + "\x13eager_workflow_task\x18\x02 \x01(\v2>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponseR\x11eagerWorkflowTask\x120\n" + + "\x04link\x18\x04 \x01(\v2\x1c.temporal.api.common.v1.LinkR\x04link\"\x94\x03\n" + + "\"GetWorkflowExecutionHistoryRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x12*\n" + + "\x11maximum_page_size\x18\x03 \x01(\x05R\x0fmaximumPageSize\x12&\n" + + "\x0fnext_page_token\x18\x04 \x01(\fR\rnextPageToken\x12$\n" + + "\x0ewait_new_event\x18\x05 \x01(\bR\fwaitNewEvent\x12h\n" + + "\x19history_event_filter_type\x18\x06 \x01(\x0e2-.temporal.api.enums.v1.HistoryEventFilterTypeR\x16historyEventFilterType\x12#\n" + + "\rskip_archival\x18\a \x01(\bR\fskipArchival\"\xe8\x01\n" + + "#GetWorkflowExecutionHistoryResponse\x12:\n" + + "\ahistory\x18\x01 \x01(\v2 .temporal.api.history.v1.HistoryR\ahistory\x12A\n" + + "\vraw_history\x18\x02 \x03(\v2 .temporal.api.common.v1.DataBlobR\n" + + "rawHistory\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12\x1a\n" + + "\barchived\x18\x04 \x01(\bR\barchived\"\xe6\x01\n" + + ")GetWorkflowExecutionHistoryReverseRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x12*\n" + + "\x11maximum_page_size\x18\x03 \x01(\x05R\x0fmaximumPageSize\x12&\n" + + "\x0fnext_page_token\x18\x04 \x01(\fR\rnextPageToken\"\x90\x01\n" + + "*GetWorkflowExecutionHistoryReverseResponse\x12:\n" + + "\ahistory\x18\x01 \x01(\v2 .temporal.api.history.v1.HistoryR\ahistory\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\"\xd0\x04\n" + + "\x1cPollWorkflowTaskQueueRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12C\n" + + "\n" + + "task_queue\x18\x02 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x12&\n" + + "\x0fpoller_group_id\x18\n" + + " \x01(\tR\rpollerGroupId\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12.\n" + + "\x13worker_instance_key\x18\b \x01(\tR\x11workerInstanceKey\x129\n" + + "\x19worker_control_task_queue\x18\t \x01(\tR\x16workerControlTaskQueue\x12+\n" + + "\x0fbinary_checksum\x18\x04 \x01(\tB\x02\x18\x01R\x0ebinaryChecksum\x12u\n" + + "\x1bworker_version_capabilities\x18\x05 \x01(\v21.temporal.api.common.v1.WorkerVersionCapabilitiesB\x02\x18\x01R\x19workerVersionCapabilities\x12b\n" + + "\x12deployment_options\x18\x06 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptionsJ\x04\b\a\x10\bR\x10worker_heartbeat\"\x8f\n" + + "\n" + + "\x1dPollWorkflowTaskQueueResponse\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x129\n" + + "\x19previous_started_event_id\x18\x04 \x01(\x03R\x16previousStartedEventId\x12(\n" + + "\x10started_event_id\x18\x05 \x01(\x03R\x0estartedEventId\x12\x18\n" + + "\aattempt\x18\x06 \x01(\x05R\aattempt\x12,\n" + + "\x12backlog_count_hint\x18\a \x01(\x03R\x10backlogCountHint\x12:\n" + + "\ahistory\x18\b \x01(\v2 .temporal.api.history.v1.HistoryR\ahistory\x12&\n" + + "\x0fnext_page_token\x18\t \x01(\fR\rnextPageToken\x12:\n" + + "\x05query\x18\n" + + " \x01(\v2$.temporal.api.query.v1.WorkflowQueryR\x05query\x12g\n" + + "\x1dworkflow_execution_task_queue\x18\v \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\x1aworkflowExecutionTaskQueue\x12A\n" + + "\x0escheduled_time\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\rscheduledTime\x12=\n" + + "\fstarted_time\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\vstartedTime\x12e\n" + + "\aqueries\x18\x0e \x03(\v2K.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.QueriesEntryR\aqueries\x12=\n" + + "\bmessages\x18\x0f \x03(\v2!.temporal.api.protocol.v1.MessageR\bmessages\x12h\n" + + "\x17poller_scaling_decision\x18\x10 \x01(\v20.temporal.api.taskqueue.v1.PollerScalingDecisionR\x15pollerScalingDecision\x12&\n" + + "\x0fpoller_group_id\x18\x11 \x01(\tR\rpollerGroupId\x12X\n" + + "\x12poller_group_infos\x18\x12 \x03(\v2*.temporal.api.taskqueue.v1.PollerGroupInfoR\x10pollerGroupInfos\x1a`\n" + + "\fQueriesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12:\n" + + "\x05value\x18\x02 \x01(\v2$.temporal.api.query.v1.WorkflowQueryR\x05value:\x028\x01\"\x82\r\n" + + "#RespondWorkflowTaskCompletedRequest\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x12<\n" + + "\bcommands\x18\x02 \x03(\v2 .temporal.api.command.v1.CommandR\bcommands\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12a\n" + + "\x11sticky_attributes\x18\x04 \x01(\v24.temporal.api.taskqueue.v1.StickyExecutionAttributesR\x10stickyAttributes\x127\n" + + "\x18return_new_workflow_task\x18\x05 \x01(\bR\x15returnNewWorkflowTask\x12B\n" + + "\x1eforce_create_new_workflow_task\x18\x06 \x01(\bR\x1aforceCreateNewWorkflowTask\x12+\n" + + "\x0fbinary_checksum\x18\a \x01(\tB\x02\x18\x01R\x0ebinaryChecksum\x12{\n" + + "\rquery_results\x18\b \x03(\v2V.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.QueryResultsEntryR\fqueryResults\x12\x1c\n" + + "\tnamespace\x18\t \x01(\tR\tnamespace\x12\x1f\n" + + "\vresource_id\x18\x12 \x01(\tR\n" + + "resourceId\x12`\n" + + "\x14worker_version_stamp\x18\n" + + " \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\x12workerVersionStamp\x12=\n" + + "\bmessages\x18\v \x03(\v2!.temporal.api.protocol.v1.MessageR\bmessages\x12U\n" + + "\fsdk_metadata\x18\f \x01(\v22.temporal.api.sdk.v1.WorkflowTaskCompletedMetadataR\vsdkMetadata\x12U\n" + + "\x11metering_metadata\x18\r \x01(\v2(.temporal.api.common.v1.MeteringMetadataR\x10meteringMetadata\x12u\n" + + "\fcapabilities\x18\x0e \x01(\v2Q.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.CapabilitiesR\fcapabilities\x12J\n" + + "\n" + + "deployment\x18\x0f \x01(\v2&.temporal.api.deployment.v1.DeploymentB\x02\x18\x01R\n" + + "deployment\x12Z\n" + + "\x13versioning_behavior\x18\x10 \x01(\x0e2).temporal.api.enums.v1.VersioningBehaviorR\x12versioningBehavior\x12b\n" + + "\x12deployment_options\x18\x11 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptions\x12.\n" + + "\x13worker_instance_key\x18\x13 \x01(\tR\x11workerInstanceKey\x129\n" + + "\x19worker_control_task_queue\x18\x14 \x01(\tR\x16workerControlTaskQueue\x1ak\n" + + "\x11QueryResultsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12@\n" + + "\x05value\x18\x02 \x01(\v2*.temporal.api.query.v1.WorkflowQueryResultR\x05value:\x028\x01\x1ao\n" + + "\fCapabilities\x12_\n" + + "-discard_speculative_workflow_task_with_events\x18\x01 \x01(\bR(discardSpeculativeWorkflowTaskWithEvents\"\xa7\x02\n" + + "$RespondWorkflowTaskCompletedResponse\x12c\n" + + "\rworkflow_task\x18\x01 \x01(\v2>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponseR\fworkflowTask\x12e\n" + + "\x0eactivity_tasks\x18\x02 \x03(\v2>.temporal.api.workflowservice.v1.PollActivityTaskQueueResponseR\ractivityTasks\x123\n" + + "\x16reset_history_event_id\x18\x03 \x01(\x03R\x13resetHistoryEventId\"\x91\x05\n" + + " RespondWorkflowTaskFailedRequest\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x12D\n" + + "\x05cause\x18\x02 \x01(\x0e2..temporal.api.enums.v1.WorkflowTaskFailedCauseR\x05cause\x12:\n" + + "\afailure\x18\x03 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12+\n" + + "\x0fbinary_checksum\x18\x05 \x01(\tB\x02\x18\x01R\x0ebinaryChecksum\x12\x1c\n" + + "\tnamespace\x18\x06 \x01(\tR\tnamespace\x12\x1f\n" + + "\vresource_id\x18\v \x01(\tR\n" + + "resourceId\x12=\n" + + "\bmessages\x18\a \x03(\v2!.temporal.api.protocol.v1.MessageR\bmessages\x12U\n" + + "\x0eworker_version\x18\b \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\x12J\n" + + "\n" + + "deployment\x18\t \x01(\v2&.temporal.api.deployment.v1.DeploymentB\x02\x18\x01R\n" + + "deployment\x12b\n" + + "\x12deployment_options\x18\n" + + " \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptions\"#\n" + + "!RespondWorkflowTaskFailedResponse\"\x81\x05\n" + + "\x1cPollActivityTaskQueueRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12C\n" + + "\n" + + "task_queue\x18\x02 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x12&\n" + + "\x0fpoller_group_id\x18\n" + + " \x01(\tR\rpollerGroupId\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12.\n" + + "\x13worker_instance_key\x18\b \x01(\tR\x11workerInstanceKey\x129\n" + + "\x19worker_control_task_queue\x18\t \x01(\tR\x16workerControlTaskQueue\x12\\\n" + + "\x13task_queue_metadata\x18\x04 \x01(\v2,.temporal.api.taskqueue.v1.TaskQueueMetadataR\x11taskQueueMetadata\x12u\n" + + "\x1bworker_version_capabilities\x18\x05 \x01(\v21.temporal.api.common.v1.WorkerVersionCapabilitiesB\x02\x18\x01R\x19workerVersionCapabilities\x12b\n" + + "\x12deployment_options\x18\x06 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptionsJ\x04\b\a\x10\bR\x10worker_heartbeat\"\x9a\v\n" + + "\x1dPollActivityTaskQueueResponse\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x12-\n" + + "\x12workflow_namespace\x18\x02 \x01(\tR\x11workflowNamespace\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12X\n" + + "\x12workflow_execution\x18\x04 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12I\n" + + "\ractivity_type\x18\x05 \x01(\v2$.temporal.api.common.v1.ActivityTypeR\factivityType\x12\x1f\n" + + "\vactivity_id\x18\x06 \x01(\tR\n" + + "activityId\x126\n" + + "\x06header\x18\a \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x126\n" + + "\x05input\x18\b \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12M\n" + + "\x11heartbeat_details\x18\t \x01(\v2 .temporal.api.common.v1.PayloadsR\x10heartbeatDetails\x12A\n" + + "\x0escheduled_time\x18\n" + + " \x01(\v2\x1a.google.protobuf.TimestampR\rscheduledTime\x12_\n" + + "\x1ecurrent_attempt_scheduled_time\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\x1bcurrentAttemptScheduledTime\x12=\n" + + "\fstarted_time\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\vstartedTime\x12\x18\n" + + "\aattempt\x18\r \x01(\x05R\aattempt\x12T\n" + + "\x19schedule_to_close_timeout\x18\x0e \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\x0f \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x12F\n" + + "\x11heartbeat_timeout\x18\x10 \x01(\v2\x19.google.protobuf.DurationR\x10heartbeatTimeout\x12F\n" + + "\fretry_policy\x18\x11 \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12h\n" + + "\x17poller_scaling_decision\x18\x12 \x01(\v20.temporal.api.taskqueue.v1.PollerScalingDecisionR\x15pollerScalingDecision\x12<\n" + + "\bpriority\x18\x13 \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12&\n" + + "\x0factivity_run_id\x18\x14 \x01(\tR\ractivityRunId\x12X\n" + + "\x12poller_group_infos\x18\x15 \x03(\v2*.temporal.api.taskqueue.v1.PollerGroupInfoR\x10pollerGroupInfos\"\xda\x01\n" + + "\"RecordActivityTaskHeartbeatRequest\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x12:\n" + + "\adetails\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x1c\n" + + "\tnamespace\x18\x04 \x01(\tR\tnamespace\x12\x1f\n" + + "\vresource_id\x18\x05 \x01(\tR\n" + + "resourceId\"\xa0\x01\n" + + "#RecordActivityTaskHeartbeatResponse\x12)\n" + + "\x10cancel_requested\x18\x01 \x01(\bR\x0fcancelRequested\x12'\n" + + "\x0factivity_paused\x18\x02 \x01(\bR\x0eactivityPaused\x12%\n" + + "\x0eactivity_reset\x18\x03 \x01(\bR\ractivityReset\"\x98\x02\n" + + "&RecordActivityTaskHeartbeatByIdRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1f\n" + + "\vactivity_id\x18\x04 \x01(\tR\n" + + "activityId\x12:\n" + + "\adetails\x18\x05 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12\x1a\n" + + "\bidentity\x18\x06 \x01(\tR\bidentity\x12\x1f\n" + + "\vresource_id\x18\a \x01(\tR\n" + + "resourceId\"\xa4\x01\n" + + "'RecordActivityTaskHeartbeatByIdResponse\x12)\n" + + "\x10cancel_requested\x18\x01 \x01(\bR\x0fcancelRequested\x12'\n" + + "\x0factivity_paused\x18\x02 \x01(\bR\x0eactivityPaused\x12%\n" + + "\x0eactivity_reset\x18\x03 \x01(\bR\ractivityReset\"\xe0\x03\n" + + "#RespondActivityTaskCompletedRequest\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x128\n" + + "\x06result\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\x06result\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x1c\n" + + "\tnamespace\x18\x04 \x01(\tR\tnamespace\x12\x1f\n" + + "\vresource_id\x18\b \x01(\tR\n" + + "resourceId\x12U\n" + + "\x0eworker_version\x18\x05 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\x12J\n" + + "\n" + + "deployment\x18\x06 \x01(\v2&.temporal.api.deployment.v1.DeploymentB\x02\x18\x01R\n" + + "deployment\x12b\n" + + "\x12deployment_options\x18\a \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptions\"&\n" + + "$RespondActivityTaskCompletedResponse\"\x97\x02\n" + + "'RespondActivityTaskCompletedByIdRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1f\n" + + "\vactivity_id\x18\x04 \x01(\tR\n" + + "activityId\x128\n" + + "\x06result\x18\x05 \x01(\v2 .temporal.api.common.v1.PayloadsR\x06result\x12\x1a\n" + + "\bidentity\x18\x06 \x01(\tR\bidentity\x12\x1f\n" + + "\vresource_id\x18\a \x01(\tR\n" + + "resourceId\"*\n" + + "(RespondActivityTaskCompletedByIdResponse\"\xb7\x04\n" + + " RespondActivityTaskFailedRequest\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x12:\n" + + "\afailure\x18\x02 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x1c\n" + + "\tnamespace\x18\x04 \x01(\tR\tnamespace\x12\x1f\n" + + "\vresource_id\x18\t \x01(\tR\n" + + "resourceId\x12V\n" + + "\x16last_heartbeat_details\x18\x05 \x01(\v2 .temporal.api.common.v1.PayloadsR\x14lastHeartbeatDetails\x12U\n" + + "\x0eworker_version\x18\x06 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\x12J\n" + + "\n" + + "deployment\x18\a \x01(\v2&.temporal.api.deployment.v1.DeploymentB\x02\x18\x01R\n" + + "deployment\x12b\n" + + "\x12deployment_options\x18\b \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptions\"a\n" + + "!RespondActivityTaskFailedResponse\x12<\n" + + "\bfailures\x18\x01 \x03(\v2 .temporal.api.failure.v1.FailureR\bfailures\"\xee\x02\n" + + "$RespondActivityTaskFailedByIdRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1f\n" + + "\vactivity_id\x18\x04 \x01(\tR\n" + + "activityId\x12:\n" + + "\afailure\x18\x05 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12\x1a\n" + + "\bidentity\x18\x06 \x01(\tR\bidentity\x12V\n" + + "\x16last_heartbeat_details\x18\a \x01(\v2 .temporal.api.common.v1.PayloadsR\x14lastHeartbeatDetails\x12\x1f\n" + + "\vresource_id\x18\b \x01(\tR\n" + + "resourceId\"e\n" + + "%RespondActivityTaskFailedByIdResponse\x12<\n" + + "\bfailures\x18\x01 \x03(\v2 .temporal.api.failure.v1.FailureR\bfailures\"\xe1\x03\n" + + "\"RespondActivityTaskCanceledRequest\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x12:\n" + + "\adetails\x18\x02 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x1c\n" + + "\tnamespace\x18\x04 \x01(\tR\tnamespace\x12\x1f\n" + + "\vresource_id\x18\b \x01(\tR\n" + + "resourceId\x12U\n" + + "\x0eworker_version\x18\x05 \x01(\v2*.temporal.api.common.v1.WorkerVersionStampB\x02\x18\x01R\rworkerVersion\x12J\n" + + "\n" + + "deployment\x18\x06 \x01(\v2&.temporal.api.deployment.v1.DeploymentB\x02\x18\x01R\n" + + "deployment\x12b\n" + + "\x12deployment_options\x18\a \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptions\"%\n" + + "#RespondActivityTaskCanceledResponse\"\xfc\x02\n" + + "&RespondActivityTaskCanceledByIdRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1f\n" + + "\vactivity_id\x18\x04 \x01(\tR\n" + + "activityId\x12:\n" + + "\adetails\x18\x05 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12\x1a\n" + + "\bidentity\x18\x06 \x01(\tR\bidentity\x12b\n" + + "\x12deployment_options\x18\a \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptions\x12\x1f\n" + + "\vresource_id\x18\b \x01(\tR\n" + + "resourceId\")\n" + + "'RespondActivityTaskCanceledByIdResponse\"\xdb\x02\n" + + "%RequestCancelWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x04 \x01(\tR\trequestId\x123\n" + + "\x16first_execution_run_id\x18\x05 \x01(\tR\x13firstExecutionRunId\x12\x16\n" + + "\x06reason\x18\x06 \x01(\tR\x06reason\x122\n" + + "\x05links\x18\a \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\"(\n" + + "&RequestCancelWorkflowExecutionResponse\"\xbc\x03\n" + + "\x1eSignalWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12\x1f\n" + + "\vsignal_name\x18\x03 \x01(\tR\n" + + "signalName\x126\n" + + "\x05input\x18\x04 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x06 \x01(\tR\trequestId\x12\x1c\n" + + "\acontrol\x18\a \x01(\tB\x02\x18\x01R\acontrol\x126\n" + + "\x06header\x18\b \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x122\n" + + "\x05links\x18\n" + + " \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05linksJ\x04\b\t\x10\n" + + "\"S\n" + + "\x1fSignalWorkflowExecutionResponse\x120\n" + + "\x04link\x18\x01 \x01(\v2\x1c.temporal.api.common.v1.LinkR\x04link\"\xb5\r\n" + + "'SignalWithStartWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12I\n" + + "\rworkflow_type\x18\x03 \x01(\v2$.temporal.api.common.v1.WorkflowTypeR\fworkflowType\x12C\n" + + "\n" + + "task_queue\x18\x04 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x126\n" + + "\x05input\x18\x05 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12W\n" + + "\x1aworkflow_execution_timeout\x18\x06 \x01(\v2\x19.google.protobuf.DurationR\x18workflowExecutionTimeout\x12K\n" + + "\x14workflow_run_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x12workflowRunTimeout\x12M\n" + + "\x15workflow_task_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x13workflowTaskTimeout\x12\x1a\n" + + "\bidentity\x18\t \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\n" + + " \x01(\tR\trequestId\x12e\n" + + "\x18workflow_id_reuse_policy\x18\v \x01(\x0e2,.temporal.api.enums.v1.WorkflowIdReusePolicyR\x15workflowIdReusePolicy\x12n\n" + + "\x1bworkflow_id_conflict_policy\x18\x16 \x01(\x0e2/.temporal.api.enums.v1.WorkflowIdConflictPolicyR\x18workflowIdConflictPolicy\x12\x1f\n" + + "\vsignal_name\x18\f \x01(\tR\n" + + "signalName\x12C\n" + + "\fsignal_input\x18\r \x01(\v2 .temporal.api.common.v1.PayloadsR\vsignalInput\x12\x1c\n" + + "\acontrol\x18\x0e \x01(\tB\x02\x18\x01R\acontrol\x12F\n" + + "\fretry_policy\x18\x0f \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x12#\n" + + "\rcron_schedule\x18\x10 \x01(\tR\fcronSchedule\x120\n" + + "\x04memo\x18\x11 \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\x12 \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x126\n" + + "\x06header\x18\x13 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12K\n" + + "\x14workflow_start_delay\x18\x14 \x01(\v2\x19.google.protobuf.DurationR\x12workflowStartDelay\x12F\n" + + "\ruser_metadata\x18\x17 \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\x122\n" + + "\x05links\x18\x18 \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\x12]\n" + + "\x13versioning_override\x18\x19 \x01(\v2,.temporal.api.workflow.v1.VersioningOverrideR\x12versioningOverride\x12<\n" + + "\bpriority\x18\x1a \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12^\n" + + "\x14time_skipping_config\x18\x1b \x01(\v2,.temporal.api.workflow.v1.TimeSkippingConfigR\x12timeSkippingConfigJ\x04\b\x15\x10\x16\"\x9a\x01\n" + + "(SignalWithStartWorkflowExecutionResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x18\n" + + "\astarted\x18\x02 \x01(\bR\astarted\x12=\n" + + "\vsignal_link\x18\x03 \x01(\v2\x1c.temporal.api.common.v1.LinkR\n" + + "signalLink\"\xd8\x04\n" + + "\x1dResetWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reason\x12@\n" + + "\x1dworkflow_task_finish_event_id\x18\x04 \x01(\x03R\x19workflowTaskFinishEventId\x12\x1d\n" + + "\n" + + "request_id\x18\x05 \x01(\tR\trequestId\x12Y\n" + + "\x12reset_reapply_type\x18\x06 \x01(\x0e2'.temporal.api.enums.v1.ResetReapplyTypeB\x02\x18\x01R\x10resetReapplyType\x12m\n" + + "\x1breset_reapply_exclude_types\x18\a \x03(\x0e2..temporal.api.enums.v1.ResetReapplyExcludeTypeR\x18resetReapplyExcludeTypes\x12`\n" + + "\x15post_reset_operations\x18\b \x03(\v2,.temporal.api.workflow.v1.PostResetOperationR\x13postResetOperations\x12\x1a\n" + + "\bidentity\x18\t \x01(\tR\bidentity\"7\n" + + "\x1eResetWorkflowExecutionResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\"\xf4\x02\n" + + "!TerminateWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reason\x12:\n" + + "\adetails\x18\x04 \x01(\v2 .temporal.api.common.v1.PayloadsR\adetails\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x123\n" + + "\x16first_execution_run_id\x18\x06 \x01(\tR\x13firstExecutionRunId\x122\n" + + "\x05links\x18\a \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\"$\n" + + "\"TerminateWorkflowExecutionResponse\"\x98\x01\n" + + "\x1eDeleteWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\"!\n" + + "\x1fDeleteWorkflowExecutionResponse\"\xa2\x03\n" + + "!ListOpenWorkflowExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12*\n" + + "\x11maximum_page_size\x18\x02 \x01(\x05R\x0fmaximumPageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12S\n" + + "\x11start_time_filter\x18\x04 \x01(\v2'.temporal.api.filter.v1.StartTimeFilterR\x0fstartTimeFilter\x12\\\n" + + "\x10execution_filter\x18\x05 \x01(\v2/.temporal.api.filter.v1.WorkflowExecutionFilterH\x00R\x0fexecutionFilter\x12M\n" + + "\vtype_filter\x18\x06 \x01(\v2*.temporal.api.filter.v1.WorkflowTypeFilterH\x00R\n" + + "typeFilterB\t\n" + + "\afilters\"\x9d\x01\n" + + "\"ListOpenWorkflowExecutionsResponse\x12O\n" + + "\n" + + "executions\x18\x01 \x03(\v2/.temporal.api.workflow.v1.WorkflowExecutionInfoR\n" + + "executions\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"\xf1\x03\n" + + "#ListClosedWorkflowExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12*\n" + + "\x11maximum_page_size\x18\x02 \x01(\x05R\x0fmaximumPageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12S\n" + + "\x11start_time_filter\x18\x04 \x01(\v2'.temporal.api.filter.v1.StartTimeFilterR\x0fstartTimeFilter\x12\\\n" + + "\x10execution_filter\x18\x05 \x01(\v2/.temporal.api.filter.v1.WorkflowExecutionFilterH\x00R\x0fexecutionFilter\x12M\n" + + "\vtype_filter\x18\x06 \x01(\v2*.temporal.api.filter.v1.WorkflowTypeFilterH\x00R\n" + + "typeFilter\x12K\n" + + "\rstatus_filter\x18\a \x01(\v2$.temporal.api.filter.v1.StatusFilterH\x00R\fstatusFilterB\t\n" + + "\afilters\"\x9f\x01\n" + + "$ListClosedWorkflowExecutionsResponse\x12O\n" + + "\n" + + "executions\x18\x01 \x03(\v2/.temporal.api.workflow.v1.WorkflowExecutionInfoR\n" + + "executions\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"\x98\x01\n" + + "\x1dListWorkflowExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12\x14\n" + + "\x05query\x18\x04 \x01(\tR\x05query\"\x99\x01\n" + + "\x1eListWorkflowExecutionsResponse\x12O\n" + + "\n" + + "executions\x18\x01 \x03(\v2/.temporal.api.workflow.v1.WorkflowExecutionInfoR\n" + + "executions\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"\xa0\x01\n" + + "%ListArchivedWorkflowExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12\x14\n" + + "\x05query\x18\x04 \x01(\tR\x05query\"\xa1\x01\n" + + "&ListArchivedWorkflowExecutionsResponse\x12O\n" + + "\n" + + "executions\x18\x01 \x03(\v2/.temporal.api.workflow.v1.WorkflowExecutionInfoR\n" + + "executions\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"\x98\x01\n" + + "\x1dScanWorkflowExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12\x14\n" + + "\x05query\x18\x04 \x01(\tR\x05query\"\x99\x01\n" + + "\x1eScanWorkflowExecutionsResponse\x12O\n" + + "\n" + + "executions\x18\x01 \x03(\v2/.temporal.api.workflow.v1.WorkflowExecutionInfoR\n" + + "executions\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"T\n" + + "\x1eCountWorkflowExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x14\n" + + "\x05query\x18\x02 \x01(\tR\x05query\"\x90\x02\n" + + "\x1fCountWorkflowExecutionsResponse\x12\x14\n" + + "\x05count\x18\x01 \x01(\x03R\x05count\x12i\n" + + "\x06groups\x18\x02 \x03(\v2Q.temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse.AggregationGroupR\x06groups\x1al\n" + + "\x10AggregationGroup\x12B\n" + + "\fgroup_values\x18\x01 \x03(\v2\x1f.temporal.api.common.v1.PayloadR\vgroupValues\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"\x1c\n" + + "\x1aGetSearchAttributesRequest\"\xdb\x01\n" + + "\x1bGetSearchAttributesResponse\x12Z\n" + + "\x04keys\x18\x01 \x03(\v2F.temporal.api.workflowservice.v1.GetSearchAttributesResponse.KeysEntryR\x04keys\x1a`\n" + + "\tKeysEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12=\n" + + "\x05value\x18\x02 \x01(\x0e2'.temporal.api.enums.v1.IndexedValueTypeR\x05value:\x028\x01\"\xc8\x03\n" + + " RespondQueryTaskCompletedRequest\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x12M\n" + + "\x0ecompleted_type\x18\x02 \x01(\x0e2&.temporal.api.enums.v1.QueryResultTypeR\rcompletedType\x12C\n" + + "\fquery_result\x18\x03 \x01(\v2 .temporal.api.common.v1.PayloadsR\vqueryResult\x12#\n" + + "\rerror_message\x18\x04 \x01(\tR\ferrorMessage\x12\x1c\n" + + "\tnamespace\x18\x06 \x01(\tR\tnamespace\x12:\n" + + "\afailure\x18\a \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12D\n" + + "\x05cause\x18\b \x01(\x0e2..temporal.api.enums.v1.WorkflowTaskFailedCauseR\x05cause\x12&\n" + + "\x0fpoller_group_id\x18\t \x01(\tR\rpollerGroupIdJ\x04\b\x05\x10\x06\"#\n" + + "!RespondQueryTaskCompletedResponse\"\x84\x01\n" + + "\x1bResetStickyTaskQueueRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\"\x1e\n" + + "\x1cResetStickyTaskQueueResponse\"\x88\x03\n" + + "\x15ShutdownWorkerRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12*\n" + + "\x11sticky_task_queue\x18\x02 \x01(\tR\x0fstickyTaskQueue\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x04 \x01(\tR\x06reason\x12R\n" + + "\x10worker_heartbeat\x18\x05 \x01(\v2'.temporal.api.worker.v1.WorkerHeartbeatR\x0fworkerHeartbeat\x12.\n" + + "\x13worker_instance_key\x18\x06 \x01(\tR\x11workerInstanceKey\x12\x1d\n" + + "\n" + + "task_queue\x18\a \x01(\tR\ttaskQueue\x12N\n" + + "\x10task_queue_types\x18\b \x03(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\x0etaskQueueTypes\"\x18\n" + + "\x16ShutdownWorkerResponse\"\x9c\x02\n" + + "\x14QueryWorkflowRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x12:\n" + + "\x05query\x18\x03 \x01(\v2$.temporal.api.query.v1.WorkflowQueryR\x05query\x12a\n" + + "\x16query_reject_condition\x18\x04 \x01(\x0e2+.temporal.api.enums.v1.QueryRejectConditionR\x14queryRejectCondition\"\xa9\x01\n" + + "\x15QueryWorkflowResponse\x12C\n" + + "\fquery_result\x18\x01 \x01(\v2 .temporal.api.common.v1.PayloadsR\vqueryResult\x12K\n" + + "\x0equery_rejected\x18\x02 \x01(\v2$.temporal.api.query.v1.QueryRejectedR\rqueryRejected\"\x89\x01\n" + + " DescribeWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\"\xb3\x06\n" + + "!DescribeWorkflowExecutionResponse\x12\\\n" + + "\x10execution_config\x18\x01 \x01(\v21.temporal.api.workflow.v1.WorkflowExecutionConfigR\x0fexecutionConfig\x12g\n" + + "\x17workflow_execution_info\x18\x02 \x01(\v2/.temporal.api.workflow.v1.WorkflowExecutionInfoR\x15workflowExecutionInfo\x12\\\n" + + "\x12pending_activities\x18\x03 \x03(\v2-.temporal.api.workflow.v1.PendingActivityInfoR\x11pendingActivities\x12^\n" + + "\x10pending_children\x18\x04 \x03(\v23.temporal.api.workflow.v1.PendingChildExecutionInfoR\x0fpendingChildren\x12e\n" + + "\x15pending_workflow_task\x18\x05 \x01(\v21.temporal.api.workflow.v1.PendingWorkflowTaskInfoR\x13pendingWorkflowTask\x12D\n" + + "\tcallbacks\x18\x06 \x03(\v2&.temporal.api.workflow.v1.CallbackInfoR\tcallbacks\x12m\n" + + "\x18pending_nexus_operations\x18\a \x03(\v23.temporal.api.workflow.v1.PendingNexusOperationInfoR\x16pendingNexusOperations\x12m\n" + + "\x16workflow_extended_info\x18\b \x01(\v27.temporal.api.workflow.v1.WorkflowExecutionExtendedInfoR\x14workflowExtendedInfo\"\xb2\x05\n" + + "\x18DescribeTaskQueueRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12C\n" + + "\n" + + "task_queue\x18\x02 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x12L\n" + + "\x0ftask_queue_type\x18\x03 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\rtaskQueueType\x12!\n" + + "\freport_stats\x18\b \x01(\bR\vreportStats\x12#\n" + + "\rreport_config\x18\v \x01(\bR\freportConfig\x12=\n" + + "\x19include_task_queue_status\x18\x04 \x01(\bB\x02\x18\x01R\x16includeTaskQueueStatus\x12K\n" + + "\bapi_mode\x18\x05 \x01(\x0e2,.temporal.api.enums.v1.DescribeTaskQueueModeB\x02\x18\x01R\aapiMode\x12T\n" + + "\bversions\x18\x06 \x01(\v24.temporal.api.taskqueue.v1.TaskQueueVersionSelectionB\x02\x18\x01R\bversions\x12R\n" + + "\x10task_queue_types\x18\a \x03(\x0e2$.temporal.api.enums.v1.TaskQueueTypeB\x02\x18\x01R\x0etaskQueueTypes\x12)\n" + + "\x0ereport_pollers\x18\t \x01(\bB\x02\x18\x01R\rreportPollers\x12<\n" + + "\x18report_task_reachability\x18\n" + + " \x01(\bB\x02\x18\x01R\x16reportTaskReachability\"\x99\t\n" + + "\x19DescribeTaskQueueResponse\x12?\n" + + "\apollers\x18\x01 \x03(\v2%.temporal.api.taskqueue.v1.PollerInfoR\apollers\x12?\n" + + "\x05stats\x18\x05 \x01(\v2).temporal.api.taskqueue.v1.TaskQueueStatsR\x05stats\x12\x85\x01\n" + + "\x15stats_by_priority_key\x18\b \x03(\v2R.temporal.api.workflowservice.v1.DescribeTaskQueueResponse.StatsByPriorityKeyEntryR\x12statsByPriorityKey\x12[\n" + + "\x0fversioning_info\x18\x04 \x01(\v22.temporal.api.taskqueue.v1.TaskQueueVersioningInfoR\x0eversioningInfo\x12B\n" + + "\x06config\x18\x06 \x01(\v2*.temporal.api.taskqueue.v1.TaskQueueConfigR\x06config\x12\x7f\n" + + "\x14effective_rate_limit\x18\a \x01(\v2M.temporal.api.workflowservice.v1.DescribeTaskQueueResponse.EffectiveRateLimitR\x12effectiveRateLimit\x12Z\n" + + "\x11task_queue_status\x18\x02 \x01(\v2*.temporal.api.taskqueue.v1.TaskQueueStatusB\x02\x18\x01R\x0ftaskQueueStatus\x12u\n" + + "\rversions_info\x18\x03 \x03(\v2L.temporal.api.workflowservice.v1.DescribeTaskQueueResponse.VersionsInfoEntryB\x02\x18\x01R\fversionsInfo\x1ap\n" + + "\x17StatsByPriorityKeyEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x05R\x03key\x12?\n" + + "\x05value\x18\x02 \x01(\v2).temporal.api.taskqueue.v1.TaskQueueStatsR\x05value:\x028\x01\x1a\x98\x01\n" + + "\x12EffectiveRateLimit\x12.\n" + + "\x13requests_per_second\x18\x01 \x01(\x02R\x11requestsPerSecond\x12R\n" + + "\x11rate_limit_source\x18\x02 \x01(\x0e2&.temporal.api.enums.v1.RateLimitSourceR\x0frateLimitSource\x1ap\n" + + "\x11VersionsInfoEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12E\n" + + "\x05value\x18\x02 \x01(\v2/.temporal.api.taskqueue.v1.TaskQueueVersionInfoR\x05value:\x028\x01\"\x17\n" + + "\x15GetClusterInfoRequest\"\x8b\x05\n" + + "\x16GetClusterInfoResponse\x12z\n" + + "\x11supported_clients\x18\x01 \x03(\v2M.temporal.api.workflowservice.v1.GetClusterInfoResponse.SupportedClientsEntryR\x10supportedClients\x12%\n" + + "\x0eserver_version\x18\x02 \x01(\tR\rserverVersion\x12\x1d\n" + + "\n" + + "cluster_id\x18\x03 \x01(\tR\tclusterId\x12G\n" + + "\fversion_info\x18\x04 \x01(\v2$.temporal.api.version.v1.VersionInfoR\vversionInfo\x12!\n" + + "\fcluster_name\x18\x05 \x01(\tR\vclusterName\x12.\n" + + "\x13history_shard_count\x18\x06 \x01(\x05R\x11historyShardCount\x12+\n" + + "\x11persistence_store\x18\a \x01(\tR\x10persistenceStore\x12)\n" + + "\x10visibility_store\x18\b \x01(\tR\x0fvisibilityStore\x128\n" + + "\x18initial_failover_version\x18\t \x01(\x03R\x16initialFailoverVersion\x12<\n" + + "\x1afailover_version_increment\x18\n" + + " \x01(\x03R\x18failoverVersionIncrement\x1aC\n" + + "\x15SupportedClientsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x16\n" + + "\x14GetSystemInfoRequest\"\xb8\x06\n" + + "\x15GetSystemInfoResponse\x12%\n" + + "\x0eserver_version\x18\x01 \x01(\tR\rserverVersion\x12g\n" + + "\fcapabilities\x18\x02 \x01(\v2C.temporal.api.workflowservice.v1.GetSystemInfoResponse.CapabilitiesR\fcapabilities\x1a\x8e\x05\n" + + "\fCapabilities\x125\n" + + "\x17signal_and_query_header\x18\x01 \x01(\bR\x14signalAndQueryHeader\x12D\n" + + "\x1einternal_error_differentiation\x18\x02 \x01(\bR\x1cinternalErrorDifferentiation\x12K\n" + + "\"activity_failure_include_heartbeat\x18\x03 \x01(\bR\x1factivityFailureIncludeHeartbeat\x12-\n" + + "\x12supports_schedules\x18\x04 \x01(\bR\x11supportsSchedules\x12<\n" + + "\x1aencoded_failure_attributes\x18\x05 \x01(\bR\x18encodedFailureAttributes\x129\n" + + "\x19build_id_based_versioning\x18\x06 \x01(\bR\x16buildIdBasedVersioning\x12\x1f\n" + + "\vupsert_memo\x18\a \x01(\bR\n" + + "upsertMemo\x120\n" + + "\x14eager_workflow_start\x18\b \x01(\bR\x12eagerWorkflowStart\x12!\n" + + "\fsdk_metadata\x18\t \x01(\bR\vsdkMetadata\x12D\n" + + "\x1fcount_group_by_execution_status\x18\n" + + " \x01(\bR\x1bcountGroupByExecutionStatus\x12\x14\n" + + "\x05nexus\x18\v \x01(\bR\x05nexus\x12:\n" + + "\x19server_scaled_deployments\x18\f \x01(\bR\x17serverScaledDeployments\"\x83\x01\n" + + "\x1eListTaskQueuePartitionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12C\n" + + "\n" + + "task_queue\x18\x02 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\"\x99\x02\n" + + "\x1fListTaskQueuePartitionsResponse\x12z\n" + + "\x1eactivity_task_queue_partitions\x18\x01 \x03(\v25.temporal.api.taskqueue.v1.TaskQueuePartitionMetadataR\x1bactivityTaskQueuePartitions\x12z\n" + + "\x1eworkflow_task_queue_partitions\x18\x02 \x03(\v25.temporal.api.taskqueue.v1.TaskQueuePartitionMetadataR\x1bworkflowTaskQueuePartitions\"\xa8\x03\n" + + "\x15CreateScheduleRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vschedule_id\x18\x02 \x01(\tR\n" + + "scheduleId\x12>\n" + + "\bschedule\x18\x03 \x01(\v2\".temporal.api.schedule.v1.ScheduleR\bschedule\x12L\n" + + "\rinitial_patch\x18\x04 \x01(\v2'.temporal.api.schedule.v1.SchedulePatchR\finitialPatch\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x06 \x01(\tR\trequestId\x120\n" + + "\x04memo\x18\a \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\b \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\"?\n" + + "\x16CreateScheduleResponse\x12%\n" + + "\x0econflict_token\x18\x01 \x01(\fR\rconflictToken\"X\n" + + "\x17DescribeScheduleRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vschedule_id\x18\x02 \x01(\tR\n" + + "scheduleId\"\xc6\x02\n" + + "\x18DescribeScheduleResponse\x12>\n" + + "\bschedule\x18\x01 \x01(\v2\".temporal.api.schedule.v1.ScheduleR\bschedule\x12:\n" + + "\x04info\x18\x02 \x01(\v2&.temporal.api.schedule.v1.ScheduleInfoR\x04info\x120\n" + + "\x04memo\x18\x03 \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\x12U\n" + + "\x11search_attributes\x18\x04 \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12%\n" + + "\x0econflict_token\x18\x05 \x01(\fR\rconflictToken\"\x81\x03\n" + + "\x15UpdateScheduleRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vschedule_id\x18\x02 \x01(\tR\n" + + "scheduleId\x12>\n" + + "\bschedule\x18\x03 \x01(\v2\".temporal.api.schedule.v1.ScheduleR\bschedule\x12%\n" + + "\x0econflict_token\x18\x04 \x01(\fR\rconflictToken\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x06 \x01(\tR\trequestId\x12U\n" + + "\x11search_attributes\x18\a \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x120\n" + + "\x04memo\x18\b \x01(\v2\x1c.temporal.api.common.v1.MemoR\x04memo\"\x18\n" + + "\x16UpdateScheduleResponse\"\xcf\x01\n" + + "\x14PatchScheduleRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vschedule_id\x18\x02 \x01(\tR\n" + + "scheduleId\x12=\n" + + "\x05patch\x18\x03 \x01(\v2'.temporal.api.schedule.v1.SchedulePatchR\x05patch\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x05 \x01(\tR\trequestId\"\x17\n" + + "\x15PatchScheduleResponse\"\xd3\x01\n" + + " ListScheduleMatchingTimesRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vschedule_id\x18\x02 \x01(\tR\n" + + "scheduleId\x129\n" + + "\n" + + "start_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x125\n" + + "\bend_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\aendTime\"^\n" + + "!ListScheduleMatchingTimesResponse\x129\n" + + "\n" + + "start_time\x18\x01 \x03(\v2\x1a.google.protobuf.TimestampR\tstartTime\"r\n" + + "\x15DeleteScheduleRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vschedule_id\x18\x02 \x01(\tR\n" + + "scheduleId\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\"\x18\n" + + "\x16DeleteScheduleResponse\"\x9e\x01\n" + + "\x14ListSchedulesRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12*\n" + + "\x11maximum_page_size\x18\x02 \x01(\x05R\x0fmaximumPageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12\x14\n" + + "\x05query\x18\x04 \x01(\tR\x05query\"\x8a\x01\n" + + "\x15ListSchedulesResponse\x12I\n" + + "\tschedules\x18\x01 \x03(\v2+.temporal.api.schedule.v1.ScheduleListEntryR\tschedules\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"K\n" + + "\x15CountSchedulesRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x14\n" + + "\x05query\x18\x02 \x01(\tR\x05query\"\xfe\x01\n" + + "\x16CountSchedulesResponse\x12\x14\n" + + "\x05count\x18\x01 \x01(\x03R\x05count\x12`\n" + + "\x06groups\x18\x02 \x03(\v2H.temporal.api.workflowservice.v1.CountSchedulesResponse.AggregationGroupR\x06groups\x1al\n" + + "\x10AggregationGroup\x12B\n" + + "\fgroup_values\x18\x01 \x03(\v2\x1f.temporal.api.common.v1.PayloadR\vgroupValues\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"\xec\x06\n" + + "'UpdateWorkerBuildIdCompatibilityRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1d\n" + + "\n" + + "task_queue\x18\x02 \x01(\tR\ttaskQueue\x12K\n" + + "#add_new_build_id_in_new_default_set\x18\x03 \x01(\tH\x00R\x1caddNewBuildIdInNewDefaultSet\x12\xa0\x01\n" + + "\x1badd_new_compatible_build_id\x18\x04 \x01(\v2`.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.AddNewCompatibleVersionH\x00R\x17addNewCompatibleBuildId\x126\n" + + "\x17promote_set_by_build_id\x18\x05 \x01(\tH\x00R\x13promoteSetByBuildId\x12>\n" + + "\x1bpromote_build_id_within_set\x18\x06 \x01(\tH\x00R\x17promoteBuildIdWithinSet\x12s\n" + + "\n" + + "merge_sets\x18\a \x01(\v2R.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.MergeSetsH\x00R\tmergeSets\x1a\xa6\x01\n" + + "\x17AddNewCompatibleVersion\x12 \n" + + "\fnew_build_id\x18\x01 \x01(\tR\n" + + "newBuildId\x12?\n" + + "\x1cexisting_compatible_build_id\x18\x02 \x01(\tR\x19existingCompatibleBuildId\x12(\n" + + "\x10make_set_default\x18\x03 \x01(\bR\x0emakeSetDefault\x1aq\n" + + "\tMergeSets\x12/\n" + + "\x14primary_set_build_id\x18\x01 \x01(\tR\x11primarySetBuildId\x123\n" + + "\x16secondary_set_build_id\x18\x02 \x01(\tR\x13secondarySetBuildIdB\v\n" + + "\toperation\"@\n" + + "(UpdateWorkerBuildIdCompatibilityResponseJ\x04\b\x01\x10\x02R\x0eversion_set_id\"~\n" + + "$GetWorkerBuildIdCompatibilityRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1d\n" + + "\n" + + "task_queue\x18\x02 \x01(\tR\ttaskQueue\x12\x19\n" + + "\bmax_sets\x18\x03 \x01(\x05R\amaxSets\"\x86\x01\n" + + "%GetWorkerBuildIdCompatibilityResponse\x12]\n" + + "\x12major_version_sets\x18\x01 \x03(\v2/.temporal.api.taskqueue.v1.CompatibleVersionSetR\x10majorVersionSets\"\xf1\x0f\n" + + "\"UpdateWorkerVersioningRulesRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1d\n" + + "\n" + + "task_queue\x18\x02 \x01(\tR\ttaskQueue\x12%\n" + + "\x0econflict_token\x18\x03 \x01(\fR\rconflictToken\x12\x97\x01\n" + + "\x16insert_assignment_rule\x18\x04 \x01(\v2_.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.InsertBuildIdAssignmentRuleH\x00R\x14insertAssignmentRule\x12\x9a\x01\n" + + "\x17replace_assignment_rule\x18\x05 \x01(\v2`.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceBuildIdAssignmentRuleH\x00R\x15replaceAssignmentRule\x12\x97\x01\n" + + "\x16delete_assignment_rule\x18\x06 \x01(\v2_.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteBuildIdAssignmentRuleH\x00R\x14deleteAssignmentRule\x12\xa7\x01\n" + + "\x1cadd_compatible_redirect_rule\x18\a \x01(\v2d.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.AddCompatibleBuildIdRedirectRuleH\x00R\x19addCompatibleRedirectRule\x12\xb3\x01\n" + + " replace_compatible_redirect_rule\x18\b \x01(\v2h.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceCompatibleBuildIdRedirectRuleH\x00R\x1dreplaceCompatibleRedirectRule\x12\xb0\x01\n" + + "\x1fdelete_compatible_redirect_rule\x18\t \x01(\v2g.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteCompatibleBuildIdRedirectRuleH\x00R\x1cdeleteCompatibleRedirectRule\x12{\n" + + "\x0fcommit_build_id\x18\n" + + " \x01(\v2Q.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.CommitBuildIdH\x00R\rcommitBuildId\x1a\x82\x01\n" + + "\x1bInsertBuildIdAssignmentRule\x12\x1d\n" + + "\n" + + "rule_index\x18\x01 \x01(\x05R\truleIndex\x12D\n" + + "\x04rule\x18\x02 \x01(\v20.temporal.api.taskqueue.v1.BuildIdAssignmentRuleR\x04rule\x1a\x99\x01\n" + + "\x1cReplaceBuildIdAssignmentRule\x12\x1d\n" + + "\n" + + "rule_index\x18\x01 \x01(\x05R\truleIndex\x12D\n" + + "\x04rule\x18\x02 \x01(\v20.temporal.api.taskqueue.v1.BuildIdAssignmentRuleR\x04rule\x12\x14\n" + + "\x05force\x18\x03 \x01(\bR\x05force\x1aR\n" + + "\x1bDeleteBuildIdAssignmentRule\x12\x1d\n" + + "\n" + + "rule_index\x18\x01 \x01(\x05R\truleIndex\x12\x14\n" + + "\x05force\x18\x02 \x01(\bR\x05force\x1ap\n" + + " AddCompatibleBuildIdRedirectRule\x12L\n" + + "\x04rule\x18\x01 \x01(\v28.temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRuleR\x04rule\x1at\n" + + "$ReplaceCompatibleBuildIdRedirectRule\x12L\n" + + "\x04rule\x18\x01 \x01(\v28.temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRuleR\x04rule\x1aM\n" + + "#DeleteCompatibleBuildIdRedirectRule\x12&\n" + + "\x0fsource_build_id\x18\x01 \x01(\tR\rsourceBuildId\x1aM\n" + + "\rCommitBuildId\x12&\n" + + "\x0ftarget_build_id\x18\x01 \x01(\tR\rtargetBuildId\x12\x14\n" + + "\x05force\x18\x02 \x01(\bR\x05forceB\v\n" + + "\toperation\"\xb5\x02\n" + + "#UpdateWorkerVersioningRulesResponse\x12f\n" + + "\x10assignment_rules\x18\x01 \x03(\v2;.temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRuleR\x0fassignmentRules\x12\x7f\n" + + "\x19compatible_redirect_rules\x18\x02 \x03(\v2C.temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRuleR\x17compatibleRedirectRules\x12%\n" + + "\x0econflict_token\x18\x03 \x01(\fR\rconflictToken\"^\n" + + "\x1fGetWorkerVersioningRulesRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1d\n" + + "\n" + + "task_queue\x18\x02 \x01(\tR\ttaskQueue\"\xb2\x02\n" + + " GetWorkerVersioningRulesResponse\x12f\n" + + "\x10assignment_rules\x18\x01 \x03(\v2;.temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRuleR\x0fassignmentRules\x12\x7f\n" + + "\x19compatible_redirect_rules\x18\x02 \x03(\v2C.temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRuleR\x17compatibleRedirectRules\x12%\n" + + "\x0econflict_token\x18\x03 \x01(\fR\rconflictToken\"\xcb\x01\n" + + " GetWorkerTaskReachabilityRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tbuild_ids\x18\x02 \x03(\tR\bbuildIds\x12\x1f\n" + + "\vtask_queues\x18\x03 \x03(\tR\n" + + "taskQueues\x12K\n" + + "\freachability\x18\x04 \x01(\x0e2'.temporal.api.enums.v1.TaskReachabilityR\freachability\"\x87\x01\n" + + "!GetWorkerTaskReachabilityResponse\x12b\n" + + "\x15build_id_reachability\x18\x01 \x03(\v2..temporal.api.taskqueue.v1.BuildIdReachabilityR\x13buildIdReachability\"\xcd\x02\n" + + "\x1eUpdateWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x123\n" + + "\x16first_execution_run_id\x18\x03 \x01(\tR\x13firstExecutionRunId\x12C\n" + + "\vwait_policy\x18\x04 \x01(\v2\".temporal.api.update.v1.WaitPolicyR\n" + + "waitPolicy\x129\n" + + "\arequest\x18\x05 \x01(\v2\x1f.temporal.api.update.v1.RequestR\arequest\"\xf2\x01\n" + + "\x1fUpdateWorkflowExecutionResponse\x12@\n" + + "\n" + + "update_ref\x18\x01 \x01(\v2!.temporal.api.update.v1.UpdateRefR\tupdateRef\x129\n" + + "\aoutcome\x18\x02 \x01(\v2\x1f.temporal.api.update.v1.OutcomeR\aoutcome\x12R\n" + + "\x05stage\x18\x03 \x01(\x0e2<.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStageR\x05stage\"\x9c\n" + + "\n" + + "\x1aStartBatchOperationRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12)\n" + + "\x10visibility_query\x18\x02 \x01(\tR\x0fvisibilityQuery\x12\x15\n" + + "\x06job_id\x18\x03 \x01(\tR\x05jobId\x12\x16\n" + + "\x06reason\x18\x04 \x01(\tR\x06reason\x12I\n" + + "\n" + + "executions\x18\x05 \x03(\v2).temporal.api.common.v1.WorkflowExecutionR\n" + + "executions\x129\n" + + "\x19max_operations_per_second\x18\x06 \x01(\x02R\x16maxOperationsPerSecond\x12g\n" + + "\x15termination_operation\x18\n" + + " \x01(\v20.temporal.api.batch.v1.BatchOperationTerminationH\x00R\x14terminationOperation\x12X\n" + + "\x10signal_operation\x18\v \x01(\v2+.temporal.api.batch.v1.BatchOperationSignalH\x00R\x0fsignalOperation\x12j\n" + + "\x16cancellation_operation\x18\f \x01(\v21.temporal.api.batch.v1.BatchOperationCancellationH\x00R\x15cancellationOperation\x12^\n" + + "\x12deletion_operation\x18\r \x01(\v2-.temporal.api.batch.v1.BatchOperationDeletionH\x00R\x11deletionOperation\x12U\n" + + "\x0freset_operation\x18\x0e \x01(\v2*.temporal.api.batch.v1.BatchOperationResetH\x00R\x0eresetOperation\x12\x90\x01\n" + + "!update_workflow_options_operation\x18\x0f \x01(\v2C.temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptionsH\x00R\x1eupdateWorkflowOptionsOperation\x12z\n" + + "\x1cunpause_activities_operation\x18\x10 \x01(\v26.temporal.api.batch.v1.BatchOperationUnpauseActivitiesH\x00R\x1aunpauseActivitiesOperation\x12t\n" + + "\x1areset_activities_operation\x18\x11 \x01(\v24.temporal.api.batch.v1.BatchOperationResetActivitiesH\x00R\x18resetActivitiesOperation\x12\x87\x01\n" + + "!update_activity_options_operation\x18\x12 \x01(\v2:.temporal.api.batch.v1.BatchOperationUpdateActivityOptionsH\x00R\x1eupdateActivityOptionsOperationB\v\n" + + "\toperation\"\x1d\n" + + "\x1bStartBatchOperationResponse\"\x84\x01\n" + + "\x19StopBatchOperationRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x15\n" + + "\x06job_id\x18\x02 \x01(\tR\x05jobId\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reason\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\"\x1c\n" + + "\x1aStopBatchOperationResponse\"T\n" + + "\x1dDescribeBatchOperationRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x15\n" + + "\x06job_id\x18\x02 \x01(\tR\x05jobId\"\x9b\x04\n" + + "\x1eDescribeBatchOperationResponse\x12P\n" + + "\x0eoperation_type\x18\x01 \x01(\x0e2).temporal.api.enums.v1.BatchOperationTypeR\roperationType\x12\x15\n" + + "\x06job_id\x18\x02 \x01(\tR\x05jobId\x12@\n" + + "\x05state\x18\x03 \x01(\x0e2*.temporal.api.enums.v1.BatchOperationStateR\x05state\x129\n" + + "\n" + + "start_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x129\n" + + "\n" + + "close_time\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcloseTime\x122\n" + + "\x15total_operation_count\x18\x06 \x01(\x03R\x13totalOperationCount\x128\n" + + "\x18complete_operation_count\x18\a \x01(\x03R\x16completeOperationCount\x126\n" + + "\x17failure_operation_count\x18\b \x01(\x03R\x15failureOperationCount\x12\x1a\n" + + "\bidentity\x18\t \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\n" + + " \x01(\tR\x06reason\"\x7f\n" + + "\x1aListBatchOperationsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\"\x97\x01\n" + + "\x1bListBatchOperationsResponse\x12P\n" + + "\x0eoperation_info\x18\x01 \x03(\v2).temporal.api.batch.v1.BatchOperationInfoR\roperationInfo\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"\xe5\x01\n" + + "\"PollWorkflowExecutionUpdateRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12@\n" + + "\n" + + "update_ref\x18\x02 \x01(\v2!.temporal.api.update.v1.UpdateRefR\tupdateRef\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12C\n" + + "\vwait_policy\x18\x04 \x01(\v2\".temporal.api.update.v1.WaitPolicyR\n" + + "waitPolicy\"\xf6\x01\n" + + "#PollWorkflowExecutionUpdateResponse\x129\n" + + "\aoutcome\x18\x01 \x01(\v2\x1f.temporal.api.update.v1.OutcomeR\aoutcome\x12R\n" + + "\x05stage\x18\x02 \x01(\x0e2<.temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStageR\x05stage\x12@\n" + + "\n" + + "update_ref\x18\x03 \x01(\v2!.temporal.api.update.v1.UpdateRefR\tupdateRef\"\xa1\x04\n" + + "\x19PollNexusTaskQueueRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12C\n" + + "\n" + + "task_queue\x18\x03 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x12&\n" + + "\x0fpoller_group_id\x18\t \x01(\tR\rpollerGroupId\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12.\n" + + "\x13worker_instance_key\x18\b \x01(\tR\x11workerInstanceKey\x12u\n" + + "\x1bworker_version_capabilities\x18\x04 \x01(\v21.temporal.api.common.v1.WorkerVersionCapabilitiesB\x02\x18\x01R\x19workerVersionCapabilities\x12b\n" + + "\x12deployment_options\x18\x06 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentOptionsR\x11deploymentOptions\x12R\n" + + "\x10worker_heartbeat\x18\a \x03(\v2'.temporal.api.worker.v1.WorkerHeartbeatR\x0fworkerHeartbeat\"\xe1\x02\n" + + "\x1aPollNexusTaskQueueResponse\x12\x1d\n" + + "\n" + + "task_token\x18\x01 \x01(\fR\ttaskToken\x128\n" + + "\arequest\x18\x02 \x01(\v2\x1e.temporal.api.nexus.v1.RequestR\arequest\x12h\n" + + "\x17poller_scaling_decision\x18\x03 \x01(\v20.temporal.api.taskqueue.v1.PollerScalingDecisionR\x15pollerScalingDecision\x12&\n" + + "\x0fpoller_group_id\x18\x04 \x01(\tR\rpollerGroupId\x12X\n" + + "\x12poller_group_infos\x18\x05 \x03(\v2*.temporal.api.taskqueue.v1.PollerGroupInfoR\x10pollerGroupInfos\"\xe0\x01\n" + + " RespondNexusTaskCompletedRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "task_token\x18\x03 \x01(\fR\ttaskToken\x12;\n" + + "\bresponse\x18\x04 \x01(\v2\x1f.temporal.api.nexus.v1.ResponseR\bresponse\x12&\n" + + "\x0fpoller_group_id\x18\x05 \x01(\tR\rpollerGroupId\"#\n" + + "!RespondNexusTaskCompletedResponse\"\x9b\x02\n" + + "\x1dRespondNexusTaskFailedRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "task_token\x18\x03 \x01(\fR\ttaskToken\x12=\n" + + "\x05error\x18\x04 \x01(\v2#.temporal.api.nexus.v1.HandlerErrorB\x02\x18\x01R\x05error\x12:\n" + + "\afailure\x18\x05 \x01(\v2 .temporal.api.failure.v1.FailureR\afailure\x12&\n" + + "\x0fpoller_group_id\x18\x06 \x01(\tR\rpollerGroupId\" \n" + + "\x1eRespondNexusTaskFailedResponse\"\xb6\x03\n" + + "\x1cExecuteMultiOperationRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12g\n" + + "\n" + + "operations\x18\x02 \x03(\v2G.temporal.api.workflowservice.v1.ExecuteMultiOperationRequest.OperationR\n" + + "operations\x12\x1f\n" + + "\vresource_id\x18\x03 \x01(\tR\n" + + "resourceId\x1a\xed\x01\n" + + "\tOperation\x12g\n" + + "\x0estart_workflow\x18\x01 \x01(\v2>.temporal.api.workflowservice.v1.StartWorkflowExecutionRequestH\x00R\rstartWorkflow\x12j\n" + + "\x0fupdate_workflow\x18\x02 \x01(\v2?.temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequestH\x00R\x0eupdateWorkflowB\v\n" + + "\toperation\"\xf6\x02\n" + + "\x1dExecuteMultiOperationResponse\x12e\n" + + "\tresponses\x18\x01 \x03(\v2G.temporal.api.workflowservice.v1.ExecuteMultiOperationResponse.ResponseR\tresponses\x1a\xed\x01\n" + + "\bResponse\x12h\n" + + "\x0estart_workflow\x18\x01 \x01(\v2?.temporal.api.workflowservice.v1.StartWorkflowExecutionResponseH\x00R\rstartWorkflow\x12k\n" + + "\x0fupdate_workflow\x18\x02 \x01(\v2@.temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponseH\x00R\x0eupdateWorkflowB\n" + + "\n" + + "\bresponse\"\xb2\x03\n" + + "\x1cUpdateActivityOptionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12T\n" + + "\x10activity_options\x18\x04 \x01(\v2).temporal.api.activity.v1.ActivityOptionsR\x0factivityOptions\x12;\n" + + "\vupdate_mask\x18\x05 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" + + "updateMask\x12\x10\n" + + "\x02id\x18\x06 \x01(\tH\x00R\x02id\x12\x14\n" + + "\x04type\x18\a \x01(\tH\x00R\x04type\x12\x1d\n" + + "\tmatch_all\x18\t \x01(\bH\x00R\bmatchAll\x12)\n" + + "\x10restore_original\x18\b \x01(\bR\x0frestoreOriginalB\n" + + "\n" + + "\bactivity\"\x99\x03\n" + + "%UpdateActivityExecutionOptionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x1f\n" + + "\vactivity_id\x18\x03 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x04 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12T\n" + + "\x10activity_options\x18\x06 \x01(\v2).temporal.api.activity.v1.ActivityOptionsR\x0factivityOptions\x12;\n" + + "\vupdate_mask\x18\a \x01(\v2\x1a.google.protobuf.FieldMaskR\n" + + "updateMask\x12)\n" + + "\x10restore_original\x18\b \x01(\bR\x0frestoreOriginal\x12\x1f\n" + + "\vresource_id\x18\t \x01(\tR\n" + + "resourceId\"u\n" + + "\x1dUpdateActivityOptionsResponse\x12T\n" + + "\x10activity_options\x18\x01 \x01(\v2).temporal.api.activity.v1.ActivityOptionsR\x0factivityOptions\"~\n" + + "&UpdateActivityExecutionOptionsResponse\x12T\n" + + "\x10activity_options\x18\x01 \x01(\v2).temporal.api.activity.v1.ActivityOptionsR\x0factivityOptions\"\x84\x02\n" + + "\x14PauseActivityRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x10\n" + + "\x02id\x18\x04 \x01(\tH\x00R\x02id\x12\x14\n" + + "\x04type\x18\x05 \x01(\tH\x00R\x04type\x12\x16\n" + + "\x06reason\x18\x06 \x01(\tR\x06reason\x12\x1d\n" + + "\n" + + "request_id\x18\a \x01(\tR\trequestIdB\n" + + "\n" + + "\bactivity\"\x8a\x02\n" + + "\x1dPauseActivityExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x1f\n" + + "\vactivity_id\x18\x03 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x04 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x06 \x01(\tR\x06reason\x12\x1f\n" + + "\vresource_id\x18\a \x01(\tR\n" + + "resourceId\x12\x1d\n" + + "\n" + + "request_id\x18\b \x01(\tR\trequestId\"\x17\n" + + "\x15PauseActivityResponse\" \n" + + "\x1ePauseActivityExecutionResponse\"\xf5\x02\n" + + "\x16UnpauseActivityRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x10\n" + + "\x02id\x18\x04 \x01(\tH\x00R\x02id\x12\x14\n" + + "\x04type\x18\x05 \x01(\tH\x00R\x04type\x12!\n" + + "\vunpause_all\x18\x06 \x01(\bH\x00R\n" + + "unpauseAll\x12%\n" + + "\x0ereset_attempts\x18\a \x01(\bR\rresetAttempts\x12'\n" + + "\x0freset_heartbeat\x18\b \x01(\bR\x0eresetHeartbeat\x121\n" + + "\x06jitter\x18\t \x01(\v2\x19.google.protobuf.DurationR\x06jitterB\n" + + "\n" + + "\bactivity\"\xf0\x02\n" + + "\x1fUnpauseActivityExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x1f\n" + + "\vactivity_id\x18\x03 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x04 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12%\n" + + "\x0ereset_attempts\x18\x06 \x01(\bR\rresetAttempts\x12'\n" + + "\x0freset_heartbeat\x18\a \x01(\bR\x0eresetHeartbeat\x12\x16\n" + + "\x06reason\x18\b \x01(\tR\x06reason\x121\n" + + "\x06jitter\x18\t \x01(\v2\x19.google.protobuf.DurationR\x06jitter\x12\x1f\n" + + "\vresource_id\x18\n" + + " \x01(\tR\n" + + "resourceId\"\x19\n" + + "\x17UnpauseActivityResponse\"\"\n" + + " UnpauseActivityExecutionResponse\"\xa3\x03\n" + + "\x14ResetActivityRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x10\n" + + "\x02id\x18\x04 \x01(\tH\x00R\x02id\x12\x14\n" + + "\x04type\x18\x05 \x01(\tH\x00R\x04type\x12\x1d\n" + + "\tmatch_all\x18\n" + + " \x01(\bH\x00R\bmatchAll\x12'\n" + + "\x0freset_heartbeat\x18\x06 \x01(\bR\x0eresetHeartbeat\x12\x1f\n" + + "\vkeep_paused\x18\a \x01(\bR\n" + + "keepPaused\x121\n" + + "\x06jitter\x18\b \x01(\v2\x19.google.protobuf.DurationR\x06jitter\x128\n" + + "\x18restore_original_options\x18\t \x01(\bR\x16restoreOriginalOptionsB\n" + + "\n" + + "\bactivity\"\x8a\x03\n" + + "\x1dResetActivityExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x1f\n" + + "\vactivity_id\x18\x03 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x04 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12'\n" + + "\x0freset_heartbeat\x18\x06 \x01(\bR\x0eresetHeartbeat\x12\x1f\n" + + "\vkeep_paused\x18\a \x01(\bR\n" + + "keepPaused\x121\n" + + "\x06jitter\x18\b \x01(\v2\x19.google.protobuf.DurationR\x06jitter\x128\n" + + "\x18restore_original_options\x18\t \x01(\bR\x16restoreOriginalOptions\x12\x1f\n" + + "\vresource_id\x18\n" + + " \x01(\tR\n" + + "resourceId\"\x17\n" + + "\x15ResetActivityResponse\" \n" + + "\x1eResetActivityExecutionResponse\"\xea\x02\n" + + "%UpdateWorkflowExecutionOptionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12X\n" + + "\x12workflow_execution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\x11workflowExecution\x12p\n" + + "\x1aworkflow_execution_options\x18\x03 \x01(\v22.temporal.api.workflow.v1.WorkflowExecutionOptionsR\x18workflowExecutionOptions\x12;\n" + + "\vupdate_mask\x18\x04 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" + + "updateMask\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\"\x9a\x01\n" + + "&UpdateWorkflowExecutionOptionsResponse\x12p\n" + + "\x1aworkflow_execution_options\x18\x01 \x01(\v22.temporal.api.workflow.v1.WorkflowExecutionOptionsR\x18workflowExecutionOptions\"\x81\x01\n" + + "\x19DescribeDeploymentRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12F\n" + + "\n" + + "deployment\x18\x02 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + + "deployment\"q\n" + + "\x1aDescribeDeploymentResponse\x12S\n" + + "\x0fdeployment_info\x18\x01 \x01(\v2*.temporal.api.deployment.v1.DeploymentInfoR\x0edeploymentInfo\"\xff\x01\n" + + "&DescribeWorkerDeploymentVersionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1c\n" + + "\aversion\x18\x02 \x01(\tB\x02\x18\x01R\aversion\x12b\n" + + "\x12deployment_version\x18\x03 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x125\n" + + "\x17report_task_queue_stats\x18\x04 \x01(\bR\x14reportTaskQueueStats\"\xf0\x05\n" + + "'DescribeWorkerDeploymentVersionResponse\x12|\n" + + "\x1eworker_deployment_version_info\x18\x01 \x01(\v27.temporal.api.deployment.v1.WorkerDeploymentVersionInfoR\x1bworkerDeploymentVersionInfo\x12\x89\x01\n" + + "\x13version_task_queues\x18\x02 \x03(\v2Y.temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueueR\x11versionTaskQueues\x1a\xba\x03\n" + + "\x10VersionTaskQueue\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x128\n" + + "\x04type\x18\x02 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\x04type\x12?\n" + + "\x05stats\x18\x03 \x01(\v2).temporal.api.taskqueue.v1.TaskQueueStatsR\x05stats\x12\xa4\x01\n" + + "\x15stats_by_priority_key\x18\x04 \x03(\v2q.temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue.StatsByPriorityKeyEntryR\x12statsByPriorityKey\x1ap\n" + + "\x17StatsByPriorityKeyEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\x05R\x03key\x12?\n" + + "\x05value\x18\x02 \x01(\v2).temporal.api.taskqueue.v1.TaskQueueStatsR\x05value:\x028\x01\"h\n" + + "\x1fDescribeWorkerDeploymentRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12'\n" + + "\x0fdeployment_name\x18\x02 \x01(\tR\x0edeploymentName\"\xb1\x01\n" + + " DescribeWorkerDeploymentResponse\x12%\n" + + "\x0econflict_token\x18\x01 \x01(\fR\rconflictToken\x12f\n" + + "\x16worker_deployment_info\x18\x02 \x01(\v20.temporal.api.deployment.v1.WorkerDeploymentInfoR\x14workerDeploymentInfo\"\x9c\x01\n" + + "\x16ListDeploymentsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12\x1f\n" + + "\vseries_name\x18\x04 \x01(\tR\n" + + "seriesName\"\x93\x01\n" + + "\x17ListDeploymentsResponse\x12&\n" + + "\x0fnext_page_token\x18\x01 \x01(\fR\rnextPageToken\x12P\n" + + "\vdeployments\x18\x02 \x03(\v2..temporal.api.deployment.v1.DeploymentListInfoR\vdeployments\"\xfe\x01\n" + + "\x1bSetCurrentDeploymentRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12F\n" + + "\n" + + "deployment\x18\x02 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + + "deployment\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12]\n" + + "\x0fupdate_metadata\x18\x04 \x01(\v24.temporal.api.deployment.v1.UpdateDeploymentMetadataR\x0eupdateMetadata\"\xe8\x01\n" + + "\x1cSetCurrentDeploymentResponse\x12b\n" + + "\x17current_deployment_info\x18\x01 \x01(\v2*.temporal.api.deployment.v1.DeploymentInfoR\x15currentDeploymentInfo\x12d\n" + + "\x18previous_deployment_info\x18\x02 \x01(\v2*.temporal.api.deployment.v1.DeploymentInfoR\x16previousDeploymentInfo\"\xd4\x02\n" + + "(SetWorkerDeploymentCurrentVersionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12'\n" + + "\x0fdeployment_name\x18\x02 \x01(\tR\x0edeploymentName\x12\x1c\n" + + "\aversion\x18\x03 \x01(\tB\x02\x18\x01R\aversion\x12\x19\n" + + "\bbuild_id\x18\a \x01(\tR\abuildId\x12%\n" + + "\x0econflict_token\x18\x04 \x01(\fR\rconflictToken\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12;\n" + + "\x1aignore_missing_task_queues\x18\x06 \x01(\bR\x17ignoreMissingTaskQueues\x12(\n" + + "\x10allow_no_pollers\x18\t \x01(\bR\x0eallowNoPollers\"\xfa\x01\n" + + ")SetWorkerDeploymentCurrentVersionResponse\x12%\n" + + "\x0econflict_token\x18\x01 \x01(\fR\rconflictToken\x12-\n" + + "\x10previous_version\x18\x02 \x01(\tB\x02\x18\x01R\x0fpreviousVersion\x12w\n" + + "\x1bprevious_deployment_version\x18\x03 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionB\x02\x18\x01R\x19previousDeploymentVersion\"\xf4\x02\n" + + "(SetWorkerDeploymentRampingVersionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12'\n" + + "\x0fdeployment_name\x18\x02 \x01(\tR\x0edeploymentName\x12\x1c\n" + + "\aversion\x18\x03 \x01(\tB\x02\x18\x01R\aversion\x12\x19\n" + + "\bbuild_id\x18\b \x01(\tR\abuildId\x12\x1e\n" + + "\n" + + "percentage\x18\x04 \x01(\x02R\n" + + "percentage\x12%\n" + + "\x0econflict_token\x18\x05 \x01(\fR\rconflictToken\x12\x1a\n" + + "\bidentity\x18\x06 \x01(\tR\bidentity\x12;\n" + + "\x1aignore_missing_task_queues\x18\a \x01(\bR\x17ignoreMissingTaskQueues\x12(\n" + + "\x10allow_no_pollers\x18\n" + + " \x01(\bR\x0eallowNoPollers\"\xaf\x02\n" + + ")SetWorkerDeploymentRampingVersionResponse\x12%\n" + + "\x0econflict_token\x18\x01 \x01(\fR\rconflictToken\x12-\n" + + "\x10previous_version\x18\x02 \x01(\tB\x02\x18\x01R\x0fpreviousVersion\x12w\n" + + "\x1bprevious_deployment_version\x18\x04 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionB\x02\x18\x01R\x19previousDeploymentVersion\x123\n" + + "\x13previous_percentage\x18\x03 \x01(\x02B\x02\x18\x01R\x12previousPercentage\"\xa1\x01\n" + + "\x1dCreateWorkerDeploymentRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12'\n" + + "\x0fdeployment_name\x18\x02 \x01(\tR\x0edeploymentName\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x05 \x01(\tR\trequestId\"G\n" + + "\x1eCreateWorkerDeploymentResponse\x12%\n" + + "\x0econflict_token\x18\x01 \x01(\fR\rconflictToken\"\x81\x01\n" + + "\x1cListWorkerDeploymentsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\"\xaa\x06\n" + + "\x1dListWorkerDeploymentsResponse\x12&\n" + + "\x0fnext_page_token\x18\x01 \x01(\fR\rnextPageToken\x12\x85\x01\n" + + "\x12worker_deployments\x18\x02 \x03(\v2V.temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse.WorkerDeploymentSummaryR\x11workerDeployments\x1a\xd8\x04\n" + + "\x17WorkerDeploymentSummary\x12\x12\n" + + "\x04name\x18\x01 \x01(\tR\x04name\x12;\n" + + "\vcreate_time\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\n" + + "createTime\x12P\n" + + "\x0erouting_config\x18\x03 \x01(\v2).temporal.api.deployment.v1.RoutingConfigR\rroutingConfig\x12\x85\x01\n" + + "\x16latest_version_summary\x18\x04 \x01(\v2O.temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummaryR\x14latestVersionSummary\x12\x87\x01\n" + + "\x17current_version_summary\x18\x05 \x01(\v2O.temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummaryR\x15currentVersionSummary\x12\x87\x01\n" + + "\x17ramping_version_summary\x18\x06 \x01(\v2O.temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummaryR\x15rampingVersionSummary\"\xb2\x02\n" + + "$CreateWorkerDeploymentVersionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12b\n" + + "\x12deployment_version\x18\x02 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12M\n" + + "\x0ecompute_config\x18\x04 \x01(\v2&.temporal.api.compute.v1.ComputeConfigR\rcomputeConfig\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x05 \x01(\tR\trequestId\"'\n" + + "%CreateWorkerDeploymentVersionResponse\"\x87\x02\n" + + "$DeleteWorkerDeploymentVersionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1c\n" + + "\aversion\x18\x02 \x01(\tB\x02\x18\x01R\aversion\x12b\n" + + "\x12deployment_version\x18\x05 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12#\n" + + "\rskip_drainage\x18\x03 \x01(\bR\fskipDrainage\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\"'\n" + + "%DeleteWorkerDeploymentVersionResponse\"\x82\x01\n" + + "\x1dDeleteWorkerDeploymentRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12'\n" + + "\x0fdeployment_name\x18\x02 \x01(\tR\x0edeploymentName\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\" \n" + + "\x1eDeleteWorkerDeploymentResponse\"\x82\x05\n" + + "1UpdateWorkerDeploymentVersionComputeConfigRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12b\n" + + "\x12deployment_version\x18\x02 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12\xb5\x01\n" + + "\x1dcompute_config_scaling_groups\x18\x06 \x03(\v2r.temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigRequest.ComputeConfigScalingGroupsEntryR\x1acomputeConfigScalingGroups\x12N\n" + + "$remove_compute_config_scaling_groups\x18\a \x03(\tR removeComputeConfigScalingGroups\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x04 \x01(\tR\trequestId\x1a\x87\x01\n" + + "\x1fComputeConfigScalingGroupsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12N\n" + + "\x05value\x18\x02 \x01(\v28.temporal.api.compute.v1.ComputeConfigScalingGroupUpdateR\x05value:\x028\x01\"4\n" + + "2UpdateWorkerDeploymentVersionComputeConfigResponse\"\xe7\x04\n" + + "3ValidateWorkerDeploymentVersionComputeConfigRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12b\n" + + "\x12deployment_version\x18\x02 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12\xb7\x01\n" + + "\x1dcompute_config_scaling_groups\x18\x06 \x03(\v2t.temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigRequest.ComputeConfigScalingGroupsEntryR\x1acomputeConfigScalingGroups\x12N\n" + + "$remove_compute_config_scaling_groups\x18\a \x03(\tR removeComputeConfigScalingGroups\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentity\x1a\x87\x01\n" + + "\x1fComputeConfigScalingGroupsEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12N\n" + + "\x05value\x18\x02 \x01(\v28.temporal.api.compute.v1.ComputeConfigScalingGroupUpdateR\x05value:\x028\x01\"6\n" + + "4ValidateWorkerDeploymentVersionComputeConfigResponse\"\xfe\x03\n" + + ",UpdateWorkerDeploymentVersionMetadataRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1c\n" + + "\aversion\x18\x02 \x01(\tB\x02\x18\x01R\aversion\x12b\n" + + "\x12deployment_version\x18\x05 \x01(\v23.temporal.api.deployment.v1.WorkerDeploymentVersionR\x11deploymentVersion\x12\x87\x01\n" + + "\x0eupsert_entries\x18\x03 \x03(\v2`.temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest.UpsertEntriesEntryR\rupsertEntries\x12%\n" + + "\x0eremove_entries\x18\x04 \x03(\tR\rremoveEntries\x12\x1a\n" + + "\bidentity\x18\x06 \x01(\tR\bidentity\x1aa\n" + + "\x12UpsertEntriesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x125\n" + + "\x05value\x18\x02 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05value:\x028\x01\"x\n" + + "-UpdateWorkerDeploymentVersionMetadataResponse\x12G\n" + + "\bmetadata\x18\x01 \x01(\v2+.temporal.api.deployment.v1.VersionMetadataR\bmetadata\"\x88\x02\n" + + "!SetWorkerDeploymentManagerRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12'\n" + + "\x0fdeployment_name\x18\x02 \x01(\tR\x0edeploymentName\x12+\n" + + "\x10manager_identity\x18\x03 \x01(\tH\x00R\x0fmanagerIdentity\x12\x14\n" + + "\x04self\x18\x04 \x01(\bH\x00R\x04self\x12%\n" + + "\x0econflict_token\x18\x05 \x01(\fR\rconflictToken\x12\x1a\n" + + "\bidentity\x18\x06 \x01(\tR\bidentityB\x16\n" + + "\x14new_manager_identity\"\x8b\x01\n" + + "\"SetWorkerDeploymentManagerResponse\x12%\n" + + "\x0econflict_token\x18\x01 \x01(\fR\rconflictToken\x12>\n" + + "\x19previous_manager_identity\x18\x02 \x01(\tB\x02\x18\x01R\x17previousManagerIdentity\"\\\n" + + "\x1bGetCurrentDeploymentRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vseries_name\x18\x02 \x01(\tR\n" + + "seriesName\"\x82\x01\n" + + "\x1cGetCurrentDeploymentResponse\x12b\n" + + "\x17current_deployment_info\x18\x01 \x01(\v2*.temporal.api.deployment.v1.DeploymentInfoR\x15currentDeploymentInfo\"\x88\x01\n" + + " GetDeploymentReachabilityRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12F\n" + + "\n" + + "deployment\x18\x02 \x01(\v2&.temporal.api.deployment.v1.DeploymentR\n" + + "deployment\"\x91\x02\n" + + "!GetDeploymentReachabilityResponse\x12S\n" + + "\x0fdeployment_info\x18\x01 \x01(\v2*.temporal.api.deployment.v1.DeploymentInfoR\x0edeploymentInfo\x12Q\n" + + "\freachability\x18\x02 \x01(\x0e2-.temporal.api.enums.v1.DeploymentReachabilityR\freachability\x12D\n" + + "\x10last_update_time\x18\x03 \x01(\v2\x1a.google.protobuf.TimestampR\x0elastUpdateTime\"\xf2\x01\n" + + "\x19CreateWorkflowRuleRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12;\n" + + "\x04spec\x18\x02 \x01(\v2'.temporal.api.rules.v1.WorkflowRuleSpecR\x04spec\x12\x1d\n" + + "\n" + + "force_scan\x18\x03 \x01(\bR\tforceScan\x12\x1d\n" + + "\n" + + "request_id\x18\x04 \x01(\tR\trequestId\x12\x1a\n" + + "\bidentity\x18\x05 \x01(\tR\bidentity\x12 \n" + + "\vdescription\x18\x06 \x01(\tR\vdescription\"l\n" + + "\x1aCreateWorkflowRuleResponse\x127\n" + + "\x04rule\x18\x01 \x01(\v2#.temporal.api.rules.v1.WorkflowRuleR\x04rule\x12\x15\n" + + "\x06job_id\x18\x02 \x01(\tR\x05jobId\"T\n" + + "\x1bDescribeWorkflowRuleRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x17\n" + + "\arule_id\x18\x02 \x01(\tR\x06ruleId\"W\n" + + "\x1cDescribeWorkflowRuleResponse\x127\n" + + "\x04rule\x18\x01 \x01(\v2#.temporal.api.rules.v1.WorkflowRuleR\x04rule\"R\n" + + "\x19DeleteWorkflowRuleRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x17\n" + + "\arule_id\x18\x02 \x01(\tR\x06ruleId\"\x1c\n" + + "\x1aDeleteWorkflowRuleResponse\"`\n" + + "\x18ListWorkflowRulesRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"~\n" + + "\x19ListWorkflowRulesResponse\x129\n" + + "\x05rules\x18\x01 \x03(\v2#.temporal.api.rules.v1.WorkflowRuleR\x05rules\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"\xf8\x01\n" + + "\x1aTriggerWorkflowRuleRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12G\n" + + "\texecution\x18\x02 \x01(\v2).temporal.api.common.v1.WorkflowExecutionR\texecution\x12\x10\n" + + "\x02id\x18\x04 \x01(\tH\x00R\x02id\x12=\n" + + "\x04spec\x18\x05 \x01(\v2'.temporal.api.rules.v1.WorkflowRuleSpecH\x00R\x04spec\x12\x1a\n" + + "\bidentity\x18\x03 \x01(\tR\bidentityB\x06\n" + + "\x04rule\"7\n" + + "\x1bTriggerWorkflowRuleResponse\x12\x18\n" + + "\aapplied\x18\x01 \x01(\bR\aapplied\"\xcd\x01\n" + + "\x1cRecordWorkerHeartbeatRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12R\n" + + "\x10worker_heartbeat\x18\x03 \x03(\v2'.temporal.api.worker.v1.WorkerHeartbeatR\x0fworkerHeartbeat\x12\x1f\n" + + "\vresource_id\x18\x04 \x01(\tR\n" + + "resourceId\"\x1f\n" + + "\x1dRecordWorkerHeartbeatResponse\"\xc3\x01\n" + + "\x12ListWorkersRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12\x14\n" + + "\x05query\x18\x04 \x01(\tR\x05query\x124\n" + + "\x16include_system_workers\x18\x05 \x01(\bR\x14includeSystemWorkers\"\xca\x01\n" + + "\x13ListWorkersResponse\x12I\n" + + "\fworkers_info\x18\x01 \x03(\v2\".temporal.api.worker.v1.WorkerInfoB\x02\x18\x01R\vworkersInfo\x12@\n" + + "\aworkers\x18\x03 \x03(\v2&.temporal.api.worker.v1.WorkerListInfoR\aworkers\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"\x98\a\n" + + "\x1cUpdateTaskQueueConfigRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "task_queue\x18\x03 \x01(\tR\ttaskQueue\x12L\n" + + "\x0ftask_queue_type\x18\x04 \x01(\x0e2$.temporal.api.enums.v1.TaskQueueTypeR\rtaskQueueType\x12\x84\x01\n" + + "\x17update_queue_rate_limit\x18\x05 \x01(\v2M.temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.RateLimitUpdateR\x14updateQueueRateLimit\x12\xa0\x01\n" + + "&update_fairness_key_rate_limit_default\x18\x06 \x01(\v2M.temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.RateLimitUpdateR!updateFairnessKeyRateLimitDefault\x12\xa0\x01\n" + + "\x1dset_fairness_weight_overrides\x18\a \x03(\v2].temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.SetFairnessWeightOverridesEntryR\x1asetFairnessWeightOverrides\x12E\n" + + "\x1funset_fairness_weight_overrides\x18\b \x03(\tR\x1cunsetFairnessWeightOverrides\x1an\n" + + "\x0fRateLimitUpdate\x12C\n" + + "\n" + + "rate_limit\x18\x01 \x01(\v2$.temporal.api.taskqueue.v1.RateLimitR\trateLimit\x12\x16\n" + + "\x06reason\x18\x02 \x01(\tR\x06reason\x1aM\n" + + "\x1fSetFairnessWeightOverridesEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\x02R\x05value:\x028\x01\"c\n" + + "\x1dUpdateTaskQueueConfigResponse\x12B\n" + + "\x06config\x18\x01 \x01(\v2*.temporal.api.taskqueue.v1.TaskQueueConfigR\x06config\"\xd1\x01\n" + + "\x18FetchWorkerConfigRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reason\x12B\n" + + "\bselector\x18\x06 \x01(\v2&.temporal.api.common.v1.WorkerSelectorR\bselector\x12\x1f\n" + + "\vresource_id\x18\a \x01(\tR\n" + + "resourceId\"c\n" + + "\x19FetchWorkerConfigResponse\x12F\n" + + "\rworker_config\x18\x01 \x01(\v2!.temporal.api.sdk.v1.WorkerConfigR\fworkerConfig\"\xd7\x02\n" + + "\x19UpdateWorkerConfigRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x03 \x01(\tR\x06reason\x12F\n" + + "\rworker_config\x18\x04 \x01(\v2!.temporal.api.sdk.v1.WorkerConfigR\fworkerConfig\x12;\n" + + "\vupdate_mask\x18\x05 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" + + "updateMask\x12B\n" + + "\bselector\x18\x06 \x01(\v2&.temporal.api.common.v1.WorkerSelectorR\bselector\x12\x1f\n" + + "\vresource_id\x18\a \x01(\tR\n" + + "resourceId\"r\n" + + "\x1aUpdateWorkerConfigResponse\x12H\n" + + "\rworker_config\x18\x01 \x01(\v2!.temporal.api.sdk.v1.WorkerConfigH\x00R\fworkerConfigB\n" + + "\n" + + "\bresponse\"e\n" + + "\x15DescribeWorkerRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12.\n" + + "\x13worker_instance_key\x18\x02 \x01(\tR\x11workerInstanceKey\"]\n" + + "\x16DescribeWorkerResponse\x12C\n" + + "\vworker_info\x18\x01 \x01(\v2\".temporal.api.worker.v1.WorkerInfoR\n" + + "workerInfo\"\xc8\x01\n" + + "\x1dPauseWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x05 \x01(\tR\x06reason\x12\x1d\n" + + "\n" + + "request_id\x18\x06 \x01(\tR\trequestId\" \n" + + "\x1ePauseWorkflowExecutionResponse\"\xca\x01\n" + + "\x1fUnpauseWorkflowExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vworkflow_id\x18\x02 \x01(\tR\n" + + "workflowId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12\x16\n" + + "\x06reason\x18\x05 \x01(\tR\x06reason\x12\x1d\n" + + "\n" + + "request_id\x18\x06 \x01(\tR\trequestId\"\"\n" + + " UnpauseWorkflowExecutionResponse\"\xd7\v\n" + + "\x1dStartActivityExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\x12\x1f\n" + + "\vactivity_id\x18\x04 \x01(\tR\n" + + "activityId\x12I\n" + + "\ractivity_type\x18\x05 \x01(\v2$.temporal.api.common.v1.ActivityTypeR\factivityType\x12C\n" + + "\n" + + "task_queue\x18\x06 \x01(\v2$.temporal.api.taskqueue.v1.TaskQueueR\ttaskQueue\x12T\n" + + "\x19schedule_to_close_timeout\x18\a \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12T\n" + + "\x19schedule_to_start_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\t \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x12F\n" + + "\x11heartbeat_timeout\x18\n" + + " \x01(\v2\x19.google.protobuf.DurationR\x10heartbeatTimeout\x12F\n" + + "\fretry_policy\x18\v \x01(\v2#.temporal.api.common.v1.RetryPolicyR\vretryPolicy\x126\n" + + "\x05input\x18\f \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12T\n" + + "\x0fid_reuse_policy\x18\r \x01(\x0e2,.temporal.api.enums.v1.ActivityIdReusePolicyR\ridReusePolicy\x12]\n" + + "\x12id_conflict_policy\x18\x0e \x01(\x0e2/.temporal.api.enums.v1.ActivityIdConflictPolicyR\x10idConflictPolicy\x12U\n" + + "\x11search_attributes\x18\x0f \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x126\n" + + "\x06header\x18\x10 \x01(\v2\x1e.temporal.api.common.v1.HeaderR\x06header\x12F\n" + + "\ruser_metadata\x18\x11 \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\x12<\n" + + "\bpriority\x18\x12 \x01(\v2 .temporal.api.common.v1.PriorityR\bpriority\x12S\n" + + "\x14completion_callbacks\x18\x13 \x03(\v2 .temporal.api.common.v1.CallbackR\x13completionCallbacks\x122\n" + + "\x05links\x18\x14 \x03(\v2\x1c.temporal.api.common.v1.LinkR\x05links\x12Y\n" + + "\x13on_conflict_options\x18\x15 \x01(\v2).temporal.api.common.v1.OnConflictOptionsR\x11onConflictOptions\x12:\n" + + "\vstart_delay\x18\x16 \x01(\v2\x19.google.protobuf.DurationR\n" + + "startDelay\"\x83\x01\n" + + "\x1eStartActivityExecutionResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x18\n" + + "\astarted\x18\x02 \x01(\bR\astarted\x120\n" + + "\x04link\x18\x03 \x01(\v2\x1c.temporal.api.common.v1.LinkR\x04link\"\xee\x01\n" + + " DescribeActivityExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vactivity_id\x18\x02 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12#\n" + + "\rinclude_input\x18\x04 \x01(\bR\fincludeInput\x12'\n" + + "\x0finclude_outcome\x18\x05 \x01(\bR\x0eincludeOutcome\x12&\n" + + "\x0flong_poll_token\x18\x06 \x01(\fR\rlongPollToken\"\xf3\x02\n" + + "!DescribeActivityExecutionResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12C\n" + + "\x04info\x18\x02 \x01(\v2/.temporal.api.activity.v1.ActivityExecutionInfoR\x04info\x126\n" + + "\x05input\x18\x03 \x01(\v2 .temporal.api.common.v1.PayloadsR\x05input\x12L\n" + + "\aoutcome\x18\x04 \x01(\v22.temporal.api.activity.v1.ActivityExecutionOutcomeR\aoutcome\x12&\n" + + "\x0flong_poll_token\x18\x05 \x01(\fR\rlongPollToken\x12D\n" + + "\tcallbacks\x18\x06 \x03(\v2&.temporal.api.activity.v1.CallbackInfoR\tcallbacks\"t\n" + + "\x1cPollActivityExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vactivity_id\x18\x02 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\"\x84\x01\n" + + "\x1dPollActivityExecutionResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12L\n" + + "\aoutcome\x18\x02 \x01(\v22.temporal.api.activity.v1.ActivityExecutionOutcomeR\aoutcome\"\x98\x01\n" + + "\x1dListActivityExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12\x14\n" + + "\x05query\x18\x04 \x01(\tR\x05query\"\x9d\x01\n" + + "\x1eListActivityExecutionsResponse\x12S\n" + + "\n" + + "executions\x18\x01 \x03(\v23.temporal.api.activity.v1.ActivityExecutionListInfoR\n" + + "executions\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"\xc2\b\n" + + "#StartNexusOperationExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1a\n" + + "\bidentity\x18\x02 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x03 \x01(\tR\trequestId\x12!\n" + + "\foperation_id\x18\x04 \x01(\tR\voperationId\x12\x1a\n" + + "\bendpoint\x18\x05 \x01(\tR\bendpoint\x12\x18\n" + + "\aservice\x18\x06 \x01(\tR\aservice\x12\x1c\n" + + "\toperation\x18\a \x01(\tR\toperation\x12T\n" + + "\x19schedule_to_close_timeout\x18\b \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToCloseTimeout\x12T\n" + + "\x19schedule_to_start_timeout\x18\t \x01(\v2\x19.google.protobuf.DurationR\x16scheduleToStartTimeout\x12N\n" + + "\x16start_to_close_timeout\x18\n" + + " \x01(\v2\x19.google.protobuf.DurationR\x13startToCloseTimeout\x125\n" + + "\x05input\x18\v \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05input\x12Z\n" + + "\x0fid_reuse_policy\x18\f \x01(\x0e22.temporal.api.enums.v1.NexusOperationIdReusePolicyR\ridReusePolicy\x12c\n" + + "\x12id_conflict_policy\x18\r \x01(\x0e25.temporal.api.enums.v1.NexusOperationIdConflictPolicyR\x10idConflictPolicy\x12U\n" + + "\x11search_attributes\x18\x0e \x01(\v2(.temporal.api.common.v1.SearchAttributesR\x10searchAttributes\x12x\n" + + "\fnexus_header\x18\x0f \x03(\v2U.temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.NexusHeaderEntryR\vnexusHeader\x12F\n" + + "\ruser_metadata\x18\x10 \x01(\v2!.temporal.api.sdk.v1.UserMetadataR\fuserMetadata\x1a>\n" + + "\x10NexusHeaderEntry\x12\x10\n" + + "\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" + + "\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"W\n" + + "$StartNexusOperationExecutionResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12\x18\n" + + "\astarted\x18\x02 \x01(\bR\astarted\"\xf6\x01\n" + + "&DescribeNexusOperationExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\foperation_id\x18\x02 \x01(\tR\voperationId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12#\n" + + "\rinclude_input\x18\x04 \x01(\bR\fincludeInput\x12'\n" + + "\x0finclude_outcome\x18\x05 \x01(\bR\x0eincludeOutcome\x12&\n" + + "\x0flong_poll_token\x18\x06 \x01(\fR\rlongPollToken\"\xeb\x02\n" + + "'DescribeNexusOperationExecutionResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12F\n" + + "\x04info\x18\x02 \x01(\v22.temporal.api.nexus.v1.NexusOperationExecutionInfoR\x04info\x125\n" + + "\x05input\x18\x03 \x01(\v2\x1f.temporal.api.common.v1.PayloadR\x05input\x129\n" + + "\x06result\x18\x04 \x01(\v2\x1f.temporal.api.common.v1.PayloadH\x00R\x06result\x12<\n" + + "\afailure\x18\x05 \x01(\v2 .temporal.api.failure.v1.FailureH\x00R\afailure\x12&\n" + + "\x0flong_poll_token\x18\x06 \x01(\fR\rlongPollTokenB\t\n" + + "\aoutcome\"\xcb\x01\n" + + "\"PollNexusOperationExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\foperation_id\x18\x02 \x01(\tR\voperationId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12M\n" + + "\n" + + "wait_stage\x18\x04 \x01(\x0e2..temporal.api.enums.v1.NexusOperationWaitStageR\twaitStage\"\xb8\x02\n" + + "#PollNexusOperationExecutionResponse\x12\x15\n" + + "\x06run_id\x18\x01 \x01(\tR\x05runId\x12M\n" + + "\n" + + "wait_stage\x18\x02 \x01(\x0e2..temporal.api.enums.v1.NexusOperationWaitStageR\twaitStage\x12'\n" + + "\x0foperation_token\x18\x03 \x01(\tR\x0eoperationToken\x129\n" + + "\x06result\x18\x04 \x01(\v2\x1f.temporal.api.common.v1.PayloadH\x00R\x06result\x12<\n" + + "\afailure\x18\x05 \x01(\v2 .temporal.api.failure.v1.FailureH\x00R\afailureB\t\n" + + "\aoutcome\"\x9e\x01\n" + + "#ListNexusOperationExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1b\n" + + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\x12&\n" + + "\x0fnext_page_token\x18\x03 \x01(\fR\rnextPageToken\x12\x14\n" + + "\x05query\x18\x04 \x01(\tR\x05query\"\xa6\x01\n" + + "$ListNexusOperationExecutionsResponse\x12V\n" + + "\n" + + "operations\x18\x01 \x03(\v26.temporal.api.nexus.v1.NexusOperationExecutionListInfoR\n" + + "operations\x12&\n" + + "\x0fnext_page_token\x18\x02 \x01(\fR\rnextPageToken\"T\n" + + "\x1eCountActivityExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x14\n" + + "\x05query\x18\x02 \x01(\tR\x05query\"\x90\x02\n" + + "\x1fCountActivityExecutionsResponse\x12\x14\n" + + "\x05count\x18\x01 \x01(\x03R\x05count\x12i\n" + + "\x06groups\x18\x02 \x03(\v2Q.temporal.api.workflowservice.v1.CountActivityExecutionsResponse.AggregationGroupR\x06groups\x1al\n" + + "\x10AggregationGroup\x12B\n" + + "\fgroup_values\x18\x01 \x03(\v2\x1f.temporal.api.common.v1.PayloadR\vgroupValues\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"Z\n" + + "$CountNexusOperationExecutionsRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x14\n" + + "\x05query\x18\x02 \x01(\tR\x05query\"\x9c\x02\n" + + "%CountNexusOperationExecutionsResponse\x12\x14\n" + + "\x05count\x18\x01 \x01(\x03R\x05count\x12o\n" + + "\x06groups\x18\x02 \x03(\v2W.temporal.api.workflowservice.v1.CountNexusOperationExecutionsResponse.AggregationGroupR\x06groups\x1al\n" + + "\x10AggregationGroup\x12B\n" + + "\fgroup_values\x18\x01 \x03(\v2\x1f.temporal.api.common.v1.PayloadR\vgroupValues\x12\x14\n" + + "\x05count\x18\x02 \x01(\x03R\x05count\"\xd0\x01\n" + + "%RequestCancelActivityExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vactivity_id\x18\x02 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x05 \x01(\tR\trequestId\x12\x16\n" + + "\x06reason\x18\x06 \x01(\tR\x06reason\"(\n" + + "&RequestCancelActivityExecutionResponse\"\xcc\x01\n" + + "!TerminateActivityExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vactivity_id\x18\x02 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x05 \x01(\tR\trequestId\x12\x16\n" + + "\x06reason\x18\x06 \x01(\tR\x06reason\"$\n" + + "\"TerminateActivityExecutionResponse\"v\n" + + "\x1eDeleteActivityExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x1f\n" + + "\vactivity_id\x18\x02 \x01(\tR\n" + + "activityId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\"!\n" + + "\x1fDeleteActivityExecutionResponse\"\xd8\x01\n" + + "+RequestCancelNexusOperationExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\foperation_id\x18\x02 \x01(\tR\voperationId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x05 \x01(\tR\trequestId\x12\x16\n" + + "\x06reason\x18\x06 \x01(\tR\x06reason\".\n" + + ",RequestCancelNexusOperationExecutionResponse\"\xd4\x01\n" + + "'TerminateNexusOperationExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\foperation_id\x18\x02 \x01(\tR\voperationId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\x12\x1a\n" + + "\bidentity\x18\x04 \x01(\tR\bidentity\x12\x1d\n" + + "\n" + + "request_id\x18\x05 \x01(\tR\trequestId\x12\x16\n" + + "\x06reason\x18\x06 \x01(\tR\x06reason\"*\n" + + "(TerminateNexusOperationExecutionResponse\"~\n" + + "$DeleteNexusOperationExecutionRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12!\n" + + "\foperation_id\x18\x02 \x01(\tR\voperationId\x12\x15\n" + + "\x06run_id\x18\x03 \x01(\tR\x05runId\"'\n" + + "%DeleteNexusOperationExecutionResponse\"R\n" + + "\vEchoRequest\x12\x1c\n" + + "\tnamespace\x18\x01 \x01(\tR\tnamespace\x12\x18\n" + + "\apayload\x18\x02 \x01(\tR\apayload:\v\xca\xcc%\aexample\"5\n" + + "\fEchoResponse\x12\x18\n" + + "\apayload\x18\x01 \x01(\tR\apayload:\v\xca\xcc%\aexample\"(\n" + + "\x03Foo\x12\x14\n" + + "\x05value\x18\x01 \x01(\tR\x05value:\v\xca\xcc%\aexampleB\xbe\x01\n" + + "\"io.temporal.api.workflowservice.v1B\x14RequestResponseProtoP\x01Z5go.temporal.io/api/workflowservice/v1;workflowservice\xaa\x02!Temporalio.Api.WorkflowService.V1\xea\x02$Temporalio::Api::WorkflowService::V1b\x06proto3" + +var ( + file_temporal_api_workflowservice_v1_request_response_proto_rawDescOnce sync.Once + file_temporal_api_workflowservice_v1_request_response_proto_rawDescData []byte +) + +func file_temporal_api_workflowservice_v1_request_response_proto_rawDescGZIP() []byte { + file_temporal_api_workflowservice_v1_request_response_proto_rawDescOnce.Do(func() { + file_temporal_api_workflowservice_v1_request_response_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_temporal_api_workflowservice_v1_request_response_proto_rawDesc), len(file_temporal_api_workflowservice_v1_request_response_proto_rawDesc))) + }) + return file_temporal_api_workflowservice_v1_request_response_proto_rawDescData +} + +var file_temporal_api_workflowservice_v1_request_response_proto_msgTypes = make([]protoimpl.MessageInfo, 281) +var file_temporal_api_workflowservice_v1_request_response_proto_goTypes = []any{ + (*RegisterNamespaceRequest)(nil), // 0: temporal.api.workflowservice.v1.RegisterNamespaceRequest + (*RegisterNamespaceResponse)(nil), // 1: temporal.api.workflowservice.v1.RegisterNamespaceResponse + (*ListNamespacesRequest)(nil), // 2: temporal.api.workflowservice.v1.ListNamespacesRequest + (*ListNamespacesResponse)(nil), // 3: temporal.api.workflowservice.v1.ListNamespacesResponse + (*DescribeNamespaceRequest)(nil), // 4: temporal.api.workflowservice.v1.DescribeNamespaceRequest + (*DescribeNamespaceResponse)(nil), // 5: temporal.api.workflowservice.v1.DescribeNamespaceResponse + (*UpdateNamespaceRequest)(nil), // 6: temporal.api.workflowservice.v1.UpdateNamespaceRequest + (*UpdateNamespaceResponse)(nil), // 7: temporal.api.workflowservice.v1.UpdateNamespaceResponse + (*DeprecateNamespaceRequest)(nil), // 8: temporal.api.workflowservice.v1.DeprecateNamespaceRequest + (*DeprecateNamespaceResponse)(nil), // 9: temporal.api.workflowservice.v1.DeprecateNamespaceResponse + (*StartWorkflowExecutionRequest)(nil), // 10: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest + (*StartWorkflowExecutionResponse)(nil), // 11: temporal.api.workflowservice.v1.StartWorkflowExecutionResponse + (*GetWorkflowExecutionHistoryRequest)(nil), // 12: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest + (*GetWorkflowExecutionHistoryResponse)(nil), // 13: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse + (*GetWorkflowExecutionHistoryReverseRequest)(nil), // 14: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseRequest + (*GetWorkflowExecutionHistoryReverseResponse)(nil), // 15: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseResponse + (*PollWorkflowTaskQueueRequest)(nil), // 16: temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest + (*PollWorkflowTaskQueueResponse)(nil), // 17: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse + (*RespondWorkflowTaskCompletedRequest)(nil), // 18: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest + (*RespondWorkflowTaskCompletedResponse)(nil), // 19: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse + (*RespondWorkflowTaskFailedRequest)(nil), // 20: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest + (*RespondWorkflowTaskFailedResponse)(nil), // 21: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedResponse + (*PollActivityTaskQueueRequest)(nil), // 22: temporal.api.workflowservice.v1.PollActivityTaskQueueRequest + (*PollActivityTaskQueueResponse)(nil), // 23: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse + (*RecordActivityTaskHeartbeatRequest)(nil), // 24: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatRequest + (*RecordActivityTaskHeartbeatResponse)(nil), // 25: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatResponse + (*RecordActivityTaskHeartbeatByIdRequest)(nil), // 26: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest + (*RecordActivityTaskHeartbeatByIdResponse)(nil), // 27: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdResponse + (*RespondActivityTaskCompletedRequest)(nil), // 28: temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest + (*RespondActivityTaskCompletedResponse)(nil), // 29: temporal.api.workflowservice.v1.RespondActivityTaskCompletedResponse + (*RespondActivityTaskCompletedByIdRequest)(nil), // 30: temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest + (*RespondActivityTaskCompletedByIdResponse)(nil), // 31: temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdResponse + (*RespondActivityTaskFailedRequest)(nil), // 32: temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest + (*RespondActivityTaskFailedResponse)(nil), // 33: temporal.api.workflowservice.v1.RespondActivityTaskFailedResponse + (*RespondActivityTaskFailedByIdRequest)(nil), // 34: temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest + (*RespondActivityTaskFailedByIdResponse)(nil), // 35: temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdResponse + (*RespondActivityTaskCanceledRequest)(nil), // 36: temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest + (*RespondActivityTaskCanceledResponse)(nil), // 37: temporal.api.workflowservice.v1.RespondActivityTaskCanceledResponse + (*RespondActivityTaskCanceledByIdRequest)(nil), // 38: temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest + (*RespondActivityTaskCanceledByIdResponse)(nil), // 39: temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdResponse + (*RequestCancelWorkflowExecutionRequest)(nil), // 40: temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest + (*RequestCancelWorkflowExecutionResponse)(nil), // 41: temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionResponse + (*SignalWorkflowExecutionRequest)(nil), // 42: temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest + (*SignalWorkflowExecutionResponse)(nil), // 43: temporal.api.workflowservice.v1.SignalWorkflowExecutionResponse + (*SignalWithStartWorkflowExecutionRequest)(nil), // 44: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest + (*SignalWithStartWorkflowExecutionResponse)(nil), // 45: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse + (*ResetWorkflowExecutionRequest)(nil), // 46: temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest + (*ResetWorkflowExecutionResponse)(nil), // 47: temporal.api.workflowservice.v1.ResetWorkflowExecutionResponse + (*TerminateWorkflowExecutionRequest)(nil), // 48: temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest + (*TerminateWorkflowExecutionResponse)(nil), // 49: temporal.api.workflowservice.v1.TerminateWorkflowExecutionResponse + (*DeleteWorkflowExecutionRequest)(nil), // 50: temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest + (*DeleteWorkflowExecutionResponse)(nil), // 51: temporal.api.workflowservice.v1.DeleteWorkflowExecutionResponse + (*ListOpenWorkflowExecutionsRequest)(nil), // 52: temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest + (*ListOpenWorkflowExecutionsResponse)(nil), // 53: temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsResponse + (*ListClosedWorkflowExecutionsRequest)(nil), // 54: temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest + (*ListClosedWorkflowExecutionsResponse)(nil), // 55: temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsResponse + (*ListWorkflowExecutionsRequest)(nil), // 56: temporal.api.workflowservice.v1.ListWorkflowExecutionsRequest + (*ListWorkflowExecutionsResponse)(nil), // 57: temporal.api.workflowservice.v1.ListWorkflowExecutionsResponse + (*ListArchivedWorkflowExecutionsRequest)(nil), // 58: temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsRequest + (*ListArchivedWorkflowExecutionsResponse)(nil), // 59: temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsResponse + (*ScanWorkflowExecutionsRequest)(nil), // 60: temporal.api.workflowservice.v1.ScanWorkflowExecutionsRequest + (*ScanWorkflowExecutionsResponse)(nil), // 61: temporal.api.workflowservice.v1.ScanWorkflowExecutionsResponse + (*CountWorkflowExecutionsRequest)(nil), // 62: temporal.api.workflowservice.v1.CountWorkflowExecutionsRequest + (*CountWorkflowExecutionsResponse)(nil), // 63: temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse + (*GetSearchAttributesRequest)(nil), // 64: temporal.api.workflowservice.v1.GetSearchAttributesRequest + (*GetSearchAttributesResponse)(nil), // 65: temporal.api.workflowservice.v1.GetSearchAttributesResponse + (*RespondQueryTaskCompletedRequest)(nil), // 66: temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest + (*RespondQueryTaskCompletedResponse)(nil), // 67: temporal.api.workflowservice.v1.RespondQueryTaskCompletedResponse + (*ResetStickyTaskQueueRequest)(nil), // 68: temporal.api.workflowservice.v1.ResetStickyTaskQueueRequest + (*ResetStickyTaskQueueResponse)(nil), // 69: temporal.api.workflowservice.v1.ResetStickyTaskQueueResponse + (*ShutdownWorkerRequest)(nil), // 70: temporal.api.workflowservice.v1.ShutdownWorkerRequest + (*ShutdownWorkerResponse)(nil), // 71: temporal.api.workflowservice.v1.ShutdownWorkerResponse + (*QueryWorkflowRequest)(nil), // 72: temporal.api.workflowservice.v1.QueryWorkflowRequest + (*QueryWorkflowResponse)(nil), // 73: temporal.api.workflowservice.v1.QueryWorkflowResponse + (*DescribeWorkflowExecutionRequest)(nil), // 74: temporal.api.workflowservice.v1.DescribeWorkflowExecutionRequest + (*DescribeWorkflowExecutionResponse)(nil), // 75: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse + (*DescribeTaskQueueRequest)(nil), // 76: temporal.api.workflowservice.v1.DescribeTaskQueueRequest + (*DescribeTaskQueueResponse)(nil), // 77: temporal.api.workflowservice.v1.DescribeTaskQueueResponse + (*GetClusterInfoRequest)(nil), // 78: temporal.api.workflowservice.v1.GetClusterInfoRequest + (*GetClusterInfoResponse)(nil), // 79: temporal.api.workflowservice.v1.GetClusterInfoResponse + (*GetSystemInfoRequest)(nil), // 80: temporal.api.workflowservice.v1.GetSystemInfoRequest + (*GetSystemInfoResponse)(nil), // 81: temporal.api.workflowservice.v1.GetSystemInfoResponse + (*ListTaskQueuePartitionsRequest)(nil), // 82: temporal.api.workflowservice.v1.ListTaskQueuePartitionsRequest + (*ListTaskQueuePartitionsResponse)(nil), // 83: temporal.api.workflowservice.v1.ListTaskQueuePartitionsResponse + (*CreateScheduleRequest)(nil), // 84: temporal.api.workflowservice.v1.CreateScheduleRequest + (*CreateScheduleResponse)(nil), // 85: temporal.api.workflowservice.v1.CreateScheduleResponse + (*DescribeScheduleRequest)(nil), // 86: temporal.api.workflowservice.v1.DescribeScheduleRequest + (*DescribeScheduleResponse)(nil), // 87: temporal.api.workflowservice.v1.DescribeScheduleResponse + (*UpdateScheduleRequest)(nil), // 88: temporal.api.workflowservice.v1.UpdateScheduleRequest + (*UpdateScheduleResponse)(nil), // 89: temporal.api.workflowservice.v1.UpdateScheduleResponse + (*PatchScheduleRequest)(nil), // 90: temporal.api.workflowservice.v1.PatchScheduleRequest + (*PatchScheduleResponse)(nil), // 91: temporal.api.workflowservice.v1.PatchScheduleResponse + (*ListScheduleMatchingTimesRequest)(nil), // 92: temporal.api.workflowservice.v1.ListScheduleMatchingTimesRequest + (*ListScheduleMatchingTimesResponse)(nil), // 93: temporal.api.workflowservice.v1.ListScheduleMatchingTimesResponse + (*DeleteScheduleRequest)(nil), // 94: temporal.api.workflowservice.v1.DeleteScheduleRequest + (*DeleteScheduleResponse)(nil), // 95: temporal.api.workflowservice.v1.DeleteScheduleResponse + (*ListSchedulesRequest)(nil), // 96: temporal.api.workflowservice.v1.ListSchedulesRequest + (*ListSchedulesResponse)(nil), // 97: temporal.api.workflowservice.v1.ListSchedulesResponse + (*CountSchedulesRequest)(nil), // 98: temporal.api.workflowservice.v1.CountSchedulesRequest + (*CountSchedulesResponse)(nil), // 99: temporal.api.workflowservice.v1.CountSchedulesResponse + (*UpdateWorkerBuildIdCompatibilityRequest)(nil), // 100: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest + (*UpdateWorkerBuildIdCompatibilityResponse)(nil), // 101: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityResponse + (*GetWorkerBuildIdCompatibilityRequest)(nil), // 102: temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest + (*GetWorkerBuildIdCompatibilityResponse)(nil), // 103: temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse + (*UpdateWorkerVersioningRulesRequest)(nil), // 104: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest + (*UpdateWorkerVersioningRulesResponse)(nil), // 105: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse + (*GetWorkerVersioningRulesRequest)(nil), // 106: temporal.api.workflowservice.v1.GetWorkerVersioningRulesRequest + (*GetWorkerVersioningRulesResponse)(nil), // 107: temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse + (*GetWorkerTaskReachabilityRequest)(nil), // 108: temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest + (*GetWorkerTaskReachabilityResponse)(nil), // 109: temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse + (*UpdateWorkflowExecutionRequest)(nil), // 110: temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest + (*UpdateWorkflowExecutionResponse)(nil), // 111: temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse + (*StartBatchOperationRequest)(nil), // 112: temporal.api.workflowservice.v1.StartBatchOperationRequest + (*StartBatchOperationResponse)(nil), // 113: temporal.api.workflowservice.v1.StartBatchOperationResponse + (*StopBatchOperationRequest)(nil), // 114: temporal.api.workflowservice.v1.StopBatchOperationRequest + (*StopBatchOperationResponse)(nil), // 115: temporal.api.workflowservice.v1.StopBatchOperationResponse + (*DescribeBatchOperationRequest)(nil), // 116: temporal.api.workflowservice.v1.DescribeBatchOperationRequest + (*DescribeBatchOperationResponse)(nil), // 117: temporal.api.workflowservice.v1.DescribeBatchOperationResponse + (*ListBatchOperationsRequest)(nil), // 118: temporal.api.workflowservice.v1.ListBatchOperationsRequest + (*ListBatchOperationsResponse)(nil), // 119: temporal.api.workflowservice.v1.ListBatchOperationsResponse + (*PollWorkflowExecutionUpdateRequest)(nil), // 120: temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest + (*PollWorkflowExecutionUpdateResponse)(nil), // 121: temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse + (*PollNexusTaskQueueRequest)(nil), // 122: temporal.api.workflowservice.v1.PollNexusTaskQueueRequest + (*PollNexusTaskQueueResponse)(nil), // 123: temporal.api.workflowservice.v1.PollNexusTaskQueueResponse + (*RespondNexusTaskCompletedRequest)(nil), // 124: temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest + (*RespondNexusTaskCompletedResponse)(nil), // 125: temporal.api.workflowservice.v1.RespondNexusTaskCompletedResponse + (*RespondNexusTaskFailedRequest)(nil), // 126: temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest + (*RespondNexusTaskFailedResponse)(nil), // 127: temporal.api.workflowservice.v1.RespondNexusTaskFailedResponse + (*ExecuteMultiOperationRequest)(nil), // 128: temporal.api.workflowservice.v1.ExecuteMultiOperationRequest + (*ExecuteMultiOperationResponse)(nil), // 129: temporal.api.workflowservice.v1.ExecuteMultiOperationResponse + (*UpdateActivityOptionsRequest)(nil), // 130: temporal.api.workflowservice.v1.UpdateActivityOptionsRequest + (*UpdateActivityExecutionOptionsRequest)(nil), // 131: temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsRequest + (*UpdateActivityOptionsResponse)(nil), // 132: temporal.api.workflowservice.v1.UpdateActivityOptionsResponse + (*UpdateActivityExecutionOptionsResponse)(nil), // 133: temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsResponse + (*PauseActivityRequest)(nil), // 134: temporal.api.workflowservice.v1.PauseActivityRequest + (*PauseActivityExecutionRequest)(nil), // 135: temporal.api.workflowservice.v1.PauseActivityExecutionRequest + (*PauseActivityResponse)(nil), // 136: temporal.api.workflowservice.v1.PauseActivityResponse + (*PauseActivityExecutionResponse)(nil), // 137: temporal.api.workflowservice.v1.PauseActivityExecutionResponse + (*UnpauseActivityRequest)(nil), // 138: temporal.api.workflowservice.v1.UnpauseActivityRequest + (*UnpauseActivityExecutionRequest)(nil), // 139: temporal.api.workflowservice.v1.UnpauseActivityExecutionRequest + (*UnpauseActivityResponse)(nil), // 140: temporal.api.workflowservice.v1.UnpauseActivityResponse + (*UnpauseActivityExecutionResponse)(nil), // 141: temporal.api.workflowservice.v1.UnpauseActivityExecutionResponse + (*ResetActivityRequest)(nil), // 142: temporal.api.workflowservice.v1.ResetActivityRequest + (*ResetActivityExecutionRequest)(nil), // 143: temporal.api.workflowservice.v1.ResetActivityExecutionRequest + (*ResetActivityResponse)(nil), // 144: temporal.api.workflowservice.v1.ResetActivityResponse + (*ResetActivityExecutionResponse)(nil), // 145: temporal.api.workflowservice.v1.ResetActivityExecutionResponse + (*UpdateWorkflowExecutionOptionsRequest)(nil), // 146: temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest + (*UpdateWorkflowExecutionOptionsResponse)(nil), // 147: temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsResponse + (*DescribeDeploymentRequest)(nil), // 148: temporal.api.workflowservice.v1.DescribeDeploymentRequest + (*DescribeDeploymentResponse)(nil), // 149: temporal.api.workflowservice.v1.DescribeDeploymentResponse + (*DescribeWorkerDeploymentVersionRequest)(nil), // 150: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionRequest + (*DescribeWorkerDeploymentVersionResponse)(nil), // 151: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse + (*DescribeWorkerDeploymentRequest)(nil), // 152: temporal.api.workflowservice.v1.DescribeWorkerDeploymentRequest + (*DescribeWorkerDeploymentResponse)(nil), // 153: temporal.api.workflowservice.v1.DescribeWorkerDeploymentResponse + (*ListDeploymentsRequest)(nil), // 154: temporal.api.workflowservice.v1.ListDeploymentsRequest + (*ListDeploymentsResponse)(nil), // 155: temporal.api.workflowservice.v1.ListDeploymentsResponse + (*SetCurrentDeploymentRequest)(nil), // 156: temporal.api.workflowservice.v1.SetCurrentDeploymentRequest + (*SetCurrentDeploymentResponse)(nil), // 157: temporal.api.workflowservice.v1.SetCurrentDeploymentResponse + (*SetWorkerDeploymentCurrentVersionRequest)(nil), // 158: temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionRequest + (*SetWorkerDeploymentCurrentVersionResponse)(nil), // 159: temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionResponse + (*SetWorkerDeploymentRampingVersionRequest)(nil), // 160: temporal.api.workflowservice.v1.SetWorkerDeploymentRampingVersionRequest + (*SetWorkerDeploymentRampingVersionResponse)(nil), // 161: temporal.api.workflowservice.v1.SetWorkerDeploymentRampingVersionResponse + (*CreateWorkerDeploymentRequest)(nil), // 162: temporal.api.workflowservice.v1.CreateWorkerDeploymentRequest + (*CreateWorkerDeploymentResponse)(nil), // 163: temporal.api.workflowservice.v1.CreateWorkerDeploymentResponse + (*ListWorkerDeploymentsRequest)(nil), // 164: temporal.api.workflowservice.v1.ListWorkerDeploymentsRequest + (*ListWorkerDeploymentsResponse)(nil), // 165: temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse + (*CreateWorkerDeploymentVersionRequest)(nil), // 166: temporal.api.workflowservice.v1.CreateWorkerDeploymentVersionRequest + (*CreateWorkerDeploymentVersionResponse)(nil), // 167: temporal.api.workflowservice.v1.CreateWorkerDeploymentVersionResponse + (*DeleteWorkerDeploymentVersionRequest)(nil), // 168: temporal.api.workflowservice.v1.DeleteWorkerDeploymentVersionRequest + (*DeleteWorkerDeploymentVersionResponse)(nil), // 169: temporal.api.workflowservice.v1.DeleteWorkerDeploymentVersionResponse + (*DeleteWorkerDeploymentRequest)(nil), // 170: temporal.api.workflowservice.v1.DeleteWorkerDeploymentRequest + (*DeleteWorkerDeploymentResponse)(nil), // 171: temporal.api.workflowservice.v1.DeleteWorkerDeploymentResponse + (*UpdateWorkerDeploymentVersionComputeConfigRequest)(nil), // 172: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigRequest + (*UpdateWorkerDeploymentVersionComputeConfigResponse)(nil), // 173: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigResponse + (*ValidateWorkerDeploymentVersionComputeConfigRequest)(nil), // 174: temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigRequest + (*ValidateWorkerDeploymentVersionComputeConfigResponse)(nil), // 175: temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigResponse + (*UpdateWorkerDeploymentVersionMetadataRequest)(nil), // 176: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest + (*UpdateWorkerDeploymentVersionMetadataResponse)(nil), // 177: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataResponse + (*SetWorkerDeploymentManagerRequest)(nil), // 178: temporal.api.workflowservice.v1.SetWorkerDeploymentManagerRequest + (*SetWorkerDeploymentManagerResponse)(nil), // 179: temporal.api.workflowservice.v1.SetWorkerDeploymentManagerResponse + (*GetCurrentDeploymentRequest)(nil), // 180: temporal.api.workflowservice.v1.GetCurrentDeploymentRequest + (*GetCurrentDeploymentResponse)(nil), // 181: temporal.api.workflowservice.v1.GetCurrentDeploymentResponse + (*GetDeploymentReachabilityRequest)(nil), // 182: temporal.api.workflowservice.v1.GetDeploymentReachabilityRequest + (*GetDeploymentReachabilityResponse)(nil), // 183: temporal.api.workflowservice.v1.GetDeploymentReachabilityResponse + (*CreateWorkflowRuleRequest)(nil), // 184: temporal.api.workflowservice.v1.CreateWorkflowRuleRequest + (*CreateWorkflowRuleResponse)(nil), // 185: temporal.api.workflowservice.v1.CreateWorkflowRuleResponse + (*DescribeWorkflowRuleRequest)(nil), // 186: temporal.api.workflowservice.v1.DescribeWorkflowRuleRequest + (*DescribeWorkflowRuleResponse)(nil), // 187: temporal.api.workflowservice.v1.DescribeWorkflowRuleResponse + (*DeleteWorkflowRuleRequest)(nil), // 188: temporal.api.workflowservice.v1.DeleteWorkflowRuleRequest + (*DeleteWorkflowRuleResponse)(nil), // 189: temporal.api.workflowservice.v1.DeleteWorkflowRuleResponse + (*ListWorkflowRulesRequest)(nil), // 190: temporal.api.workflowservice.v1.ListWorkflowRulesRequest + (*ListWorkflowRulesResponse)(nil), // 191: temporal.api.workflowservice.v1.ListWorkflowRulesResponse + (*TriggerWorkflowRuleRequest)(nil), // 192: temporal.api.workflowservice.v1.TriggerWorkflowRuleRequest + (*TriggerWorkflowRuleResponse)(nil), // 193: temporal.api.workflowservice.v1.TriggerWorkflowRuleResponse + (*RecordWorkerHeartbeatRequest)(nil), // 194: temporal.api.workflowservice.v1.RecordWorkerHeartbeatRequest + (*RecordWorkerHeartbeatResponse)(nil), // 195: temporal.api.workflowservice.v1.RecordWorkerHeartbeatResponse + (*ListWorkersRequest)(nil), // 196: temporal.api.workflowservice.v1.ListWorkersRequest + (*ListWorkersResponse)(nil), // 197: temporal.api.workflowservice.v1.ListWorkersResponse + (*UpdateTaskQueueConfigRequest)(nil), // 198: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest + (*UpdateTaskQueueConfigResponse)(nil), // 199: temporal.api.workflowservice.v1.UpdateTaskQueueConfigResponse + (*FetchWorkerConfigRequest)(nil), // 200: temporal.api.workflowservice.v1.FetchWorkerConfigRequest + (*FetchWorkerConfigResponse)(nil), // 201: temporal.api.workflowservice.v1.FetchWorkerConfigResponse + (*UpdateWorkerConfigRequest)(nil), // 202: temporal.api.workflowservice.v1.UpdateWorkerConfigRequest + (*UpdateWorkerConfigResponse)(nil), // 203: temporal.api.workflowservice.v1.UpdateWorkerConfigResponse + (*DescribeWorkerRequest)(nil), // 204: temporal.api.workflowservice.v1.DescribeWorkerRequest + (*DescribeWorkerResponse)(nil), // 205: temporal.api.workflowservice.v1.DescribeWorkerResponse + (*PauseWorkflowExecutionRequest)(nil), // 206: temporal.api.workflowservice.v1.PauseWorkflowExecutionRequest + (*PauseWorkflowExecutionResponse)(nil), // 207: temporal.api.workflowservice.v1.PauseWorkflowExecutionResponse + (*UnpauseWorkflowExecutionRequest)(nil), // 208: temporal.api.workflowservice.v1.UnpauseWorkflowExecutionRequest + (*UnpauseWorkflowExecutionResponse)(nil), // 209: temporal.api.workflowservice.v1.UnpauseWorkflowExecutionResponse + (*StartActivityExecutionRequest)(nil), // 210: temporal.api.workflowservice.v1.StartActivityExecutionRequest + (*StartActivityExecutionResponse)(nil), // 211: temporal.api.workflowservice.v1.StartActivityExecutionResponse + (*DescribeActivityExecutionRequest)(nil), // 212: temporal.api.workflowservice.v1.DescribeActivityExecutionRequest + (*DescribeActivityExecutionResponse)(nil), // 213: temporal.api.workflowservice.v1.DescribeActivityExecutionResponse + (*PollActivityExecutionRequest)(nil), // 214: temporal.api.workflowservice.v1.PollActivityExecutionRequest + (*PollActivityExecutionResponse)(nil), // 215: temporal.api.workflowservice.v1.PollActivityExecutionResponse + (*ListActivityExecutionsRequest)(nil), // 216: temporal.api.workflowservice.v1.ListActivityExecutionsRequest + (*ListActivityExecutionsResponse)(nil), // 217: temporal.api.workflowservice.v1.ListActivityExecutionsResponse + (*StartNexusOperationExecutionRequest)(nil), // 218: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest + (*StartNexusOperationExecutionResponse)(nil), // 219: temporal.api.workflowservice.v1.StartNexusOperationExecutionResponse + (*DescribeNexusOperationExecutionRequest)(nil), // 220: temporal.api.workflowservice.v1.DescribeNexusOperationExecutionRequest + (*DescribeNexusOperationExecutionResponse)(nil), // 221: temporal.api.workflowservice.v1.DescribeNexusOperationExecutionResponse + (*PollNexusOperationExecutionRequest)(nil), // 222: temporal.api.workflowservice.v1.PollNexusOperationExecutionRequest + (*PollNexusOperationExecutionResponse)(nil), // 223: temporal.api.workflowservice.v1.PollNexusOperationExecutionResponse + (*ListNexusOperationExecutionsRequest)(nil), // 224: temporal.api.workflowservice.v1.ListNexusOperationExecutionsRequest + (*ListNexusOperationExecutionsResponse)(nil), // 225: temporal.api.workflowservice.v1.ListNexusOperationExecutionsResponse + (*CountActivityExecutionsRequest)(nil), // 226: temporal.api.workflowservice.v1.CountActivityExecutionsRequest + (*CountActivityExecutionsResponse)(nil), // 227: temporal.api.workflowservice.v1.CountActivityExecutionsResponse + (*CountNexusOperationExecutionsRequest)(nil), // 228: temporal.api.workflowservice.v1.CountNexusOperationExecutionsRequest + (*CountNexusOperationExecutionsResponse)(nil), // 229: temporal.api.workflowservice.v1.CountNexusOperationExecutionsResponse + (*RequestCancelActivityExecutionRequest)(nil), // 230: temporal.api.workflowservice.v1.RequestCancelActivityExecutionRequest + (*RequestCancelActivityExecutionResponse)(nil), // 231: temporal.api.workflowservice.v1.RequestCancelActivityExecutionResponse + (*TerminateActivityExecutionRequest)(nil), // 232: temporal.api.workflowservice.v1.TerminateActivityExecutionRequest + (*TerminateActivityExecutionResponse)(nil), // 233: temporal.api.workflowservice.v1.TerminateActivityExecutionResponse + (*DeleteActivityExecutionRequest)(nil), // 234: temporal.api.workflowservice.v1.DeleteActivityExecutionRequest + (*DeleteActivityExecutionResponse)(nil), // 235: temporal.api.workflowservice.v1.DeleteActivityExecutionResponse + (*RequestCancelNexusOperationExecutionRequest)(nil), // 236: temporal.api.workflowservice.v1.RequestCancelNexusOperationExecutionRequest + (*RequestCancelNexusOperationExecutionResponse)(nil), // 237: temporal.api.workflowservice.v1.RequestCancelNexusOperationExecutionResponse + (*TerminateNexusOperationExecutionRequest)(nil), // 238: temporal.api.workflowservice.v1.TerminateNexusOperationExecutionRequest + (*TerminateNexusOperationExecutionResponse)(nil), // 239: temporal.api.workflowservice.v1.TerminateNexusOperationExecutionResponse + (*DeleteNexusOperationExecutionRequest)(nil), // 240: temporal.api.workflowservice.v1.DeleteNexusOperationExecutionRequest + (*DeleteNexusOperationExecutionResponse)(nil), // 241: temporal.api.workflowservice.v1.DeleteNexusOperationExecutionResponse + (*EchoRequest)(nil), // 242: temporal.api.workflowservice.v1.EchoRequest + (*EchoResponse)(nil), // 243: temporal.api.workflowservice.v1.EchoResponse + (*Foo)(nil), // 244: temporal.api.workflowservice.v1.Foo + nil, // 245: temporal.api.workflowservice.v1.RegisterNamespaceRequest.DataEntry + nil, // 246: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.FooByIdEntry + nil, // 247: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.FooCountsByIdEntry + nil, // 248: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.QueriesEntry + nil, // 249: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.QueryResultsEntry + (*RespondWorkflowTaskCompletedRequest_Capabilities)(nil), // 250: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.Capabilities + (*CountWorkflowExecutionsResponse_AggregationGroup)(nil), // 251: temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse.AggregationGroup + nil, // 252: temporal.api.workflowservice.v1.GetSearchAttributesResponse.KeysEntry + nil, // 253: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.StatsByPriorityKeyEntry + (*DescribeTaskQueueResponse_EffectiveRateLimit)(nil), // 254: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.EffectiveRateLimit + nil, // 255: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.VersionsInfoEntry + nil, // 256: temporal.api.workflowservice.v1.GetClusterInfoResponse.SupportedClientsEntry + (*GetSystemInfoResponse_Capabilities)(nil), // 257: temporal.api.workflowservice.v1.GetSystemInfoResponse.Capabilities + (*CountSchedulesResponse_AggregationGroup)(nil), // 258: temporal.api.workflowservice.v1.CountSchedulesResponse.AggregationGroup + (*UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleVersion)(nil), // 259: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.AddNewCompatibleVersion + (*UpdateWorkerBuildIdCompatibilityRequest_MergeSets)(nil), // 260: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.MergeSets + (*UpdateWorkerVersioningRulesRequest_InsertBuildIdAssignmentRule)(nil), // 261: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.InsertBuildIdAssignmentRule + (*UpdateWorkerVersioningRulesRequest_ReplaceBuildIdAssignmentRule)(nil), // 262: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceBuildIdAssignmentRule + (*UpdateWorkerVersioningRulesRequest_DeleteBuildIdAssignmentRule)(nil), // 263: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteBuildIdAssignmentRule + (*UpdateWorkerVersioningRulesRequest_AddCompatibleBuildIdRedirectRule)(nil), // 264: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.AddCompatibleBuildIdRedirectRule + (*UpdateWorkerVersioningRulesRequest_ReplaceCompatibleBuildIdRedirectRule)(nil), // 265: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceCompatibleBuildIdRedirectRule + (*UpdateWorkerVersioningRulesRequest_DeleteCompatibleBuildIdRedirectRule)(nil), // 266: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteCompatibleBuildIdRedirectRule + (*UpdateWorkerVersioningRulesRequest_CommitBuildId)(nil), // 267: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.CommitBuildId + (*ExecuteMultiOperationRequest_Operation)(nil), // 268: temporal.api.workflowservice.v1.ExecuteMultiOperationRequest.Operation + (*ExecuteMultiOperationResponse_Response)(nil), // 269: temporal.api.workflowservice.v1.ExecuteMultiOperationResponse.Response + (*DescribeWorkerDeploymentVersionResponse_VersionTaskQueue)(nil), // 270: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue + nil, // 271: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue.StatsByPriorityKeyEntry + (*ListWorkerDeploymentsResponse_WorkerDeploymentSummary)(nil), // 272: temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse.WorkerDeploymentSummary + nil, // 273: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigRequest.ComputeConfigScalingGroupsEntry + nil, // 274: temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigRequest.ComputeConfigScalingGroupsEntry + nil, // 275: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest.UpsertEntriesEntry + (*UpdateTaskQueueConfigRequest_RateLimitUpdate)(nil), // 276: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.RateLimitUpdate + nil, // 277: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.SetFairnessWeightOverridesEntry + nil, // 278: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.NexusHeaderEntry + (*CountActivityExecutionsResponse_AggregationGroup)(nil), // 279: temporal.api.workflowservice.v1.CountActivityExecutionsResponse.AggregationGroup + (*CountNexusOperationExecutionsResponse_AggregationGroup)(nil), // 280: temporal.api.workflowservice.v1.CountNexusOperationExecutionsResponse.AggregationGroup + (*durationpb.Duration)(nil), // 281: google.protobuf.Duration + (*v1.ClusterReplicationConfig)(nil), // 282: temporal.api.replication.v1.ClusterReplicationConfig + (v11.ArchivalState)(0), // 283: temporal.api.enums.v1.ArchivalState + (*v12.NamespaceFilter)(nil), // 284: temporal.api.namespace.v1.NamespaceFilter + (*v12.NamespaceInfo)(nil), // 285: temporal.api.namespace.v1.NamespaceInfo + (*v12.NamespaceConfig)(nil), // 286: temporal.api.namespace.v1.NamespaceConfig + (*v1.NamespaceReplicationConfig)(nil), // 287: temporal.api.replication.v1.NamespaceReplicationConfig + (*v1.FailoverStatus)(nil), // 288: temporal.api.replication.v1.FailoverStatus + (*v12.UpdateNamespaceInfo)(nil), // 289: temporal.api.namespace.v1.UpdateNamespaceInfo + (*v13.WorkflowType)(nil), // 290: temporal.api.common.v1.WorkflowType + (*v14.TaskQueue)(nil), // 291: temporal.api.taskqueue.v1.TaskQueue + (*v13.Payloads)(nil), // 292: temporal.api.common.v1.Payloads + (v11.WorkflowIdReusePolicy)(0), // 293: temporal.api.enums.v1.WorkflowIdReusePolicy + (v11.WorkflowIdConflictPolicy)(0), // 294: temporal.api.enums.v1.WorkflowIdConflictPolicy + (*v13.RetryPolicy)(nil), // 295: temporal.api.common.v1.RetryPolicy + (*v13.Memo)(nil), // 296: temporal.api.common.v1.Memo + (*v13.SearchAttributes)(nil), // 297: temporal.api.common.v1.SearchAttributes + (*v13.Header)(nil), // 298: temporal.api.common.v1.Header + (*v15.Failure)(nil), // 299: temporal.api.failure.v1.Failure + (*v13.Callback)(nil), // 300: temporal.api.common.v1.Callback + (*v16.UserMetadata)(nil), // 301: temporal.api.sdk.v1.UserMetadata + (*v13.Link)(nil), // 302: temporal.api.common.v1.Link + (*v17.VersioningOverride)(nil), // 303: temporal.api.workflow.v1.VersioningOverride + (*v17.OnConflictOptions)(nil), // 304: temporal.api.workflow.v1.OnConflictOptions + (*v13.Priority)(nil), // 305: temporal.api.common.v1.Priority + (*v18.WorkerDeploymentOptions)(nil), // 306: temporal.api.deployment.v1.WorkerDeploymentOptions + (*v17.TimeSkippingConfig)(nil), // 307: temporal.api.workflow.v1.TimeSkippingConfig + (v11.WorkflowExecutionStatus)(0), // 308: temporal.api.enums.v1.WorkflowExecutionStatus + (*v13.WorkflowExecution)(nil), // 309: temporal.api.common.v1.WorkflowExecution + (v11.HistoryEventFilterType)(0), // 310: temporal.api.enums.v1.HistoryEventFilterType + (*v19.History)(nil), // 311: temporal.api.history.v1.History + (*v13.DataBlob)(nil), // 312: temporal.api.common.v1.DataBlob + (*v13.WorkerVersionCapabilities)(nil), // 313: temporal.api.common.v1.WorkerVersionCapabilities + (*v110.WorkflowQuery)(nil), // 314: temporal.api.query.v1.WorkflowQuery + (*timestamppb.Timestamp)(nil), // 315: google.protobuf.Timestamp + (*v111.Message)(nil), // 316: temporal.api.protocol.v1.Message + (*v14.PollerScalingDecision)(nil), // 317: temporal.api.taskqueue.v1.PollerScalingDecision + (*v14.PollerGroupInfo)(nil), // 318: temporal.api.taskqueue.v1.PollerGroupInfo + (*v112.Command)(nil), // 319: temporal.api.command.v1.Command + (*v14.StickyExecutionAttributes)(nil), // 320: temporal.api.taskqueue.v1.StickyExecutionAttributes + (*v13.WorkerVersionStamp)(nil), // 321: temporal.api.common.v1.WorkerVersionStamp + (*v16.WorkflowTaskCompletedMetadata)(nil), // 322: temporal.api.sdk.v1.WorkflowTaskCompletedMetadata + (*v13.MeteringMetadata)(nil), // 323: temporal.api.common.v1.MeteringMetadata + (*v18.Deployment)(nil), // 324: temporal.api.deployment.v1.Deployment + (v11.VersioningBehavior)(0), // 325: temporal.api.enums.v1.VersioningBehavior + (v11.WorkflowTaskFailedCause)(0), // 326: temporal.api.enums.v1.WorkflowTaskFailedCause + (*v14.TaskQueueMetadata)(nil), // 327: temporal.api.taskqueue.v1.TaskQueueMetadata + (*v13.ActivityType)(nil), // 328: temporal.api.common.v1.ActivityType + (v11.ResetReapplyType)(0), // 329: temporal.api.enums.v1.ResetReapplyType + (v11.ResetReapplyExcludeType)(0), // 330: temporal.api.enums.v1.ResetReapplyExcludeType + (*v17.PostResetOperation)(nil), // 331: temporal.api.workflow.v1.PostResetOperation + (*v113.StartTimeFilter)(nil), // 332: temporal.api.filter.v1.StartTimeFilter + (*v113.WorkflowExecutionFilter)(nil), // 333: temporal.api.filter.v1.WorkflowExecutionFilter + (*v113.WorkflowTypeFilter)(nil), // 334: temporal.api.filter.v1.WorkflowTypeFilter + (*v17.WorkflowExecutionInfo)(nil), // 335: temporal.api.workflow.v1.WorkflowExecutionInfo + (*v113.StatusFilter)(nil), // 336: temporal.api.filter.v1.StatusFilter + (v11.QueryResultType)(0), // 337: temporal.api.enums.v1.QueryResultType + (*v114.WorkerHeartbeat)(nil), // 338: temporal.api.worker.v1.WorkerHeartbeat + (v11.TaskQueueType)(0), // 339: temporal.api.enums.v1.TaskQueueType + (v11.QueryRejectCondition)(0), // 340: temporal.api.enums.v1.QueryRejectCondition + (*v110.QueryRejected)(nil), // 341: temporal.api.query.v1.QueryRejected + (*v17.WorkflowExecutionConfig)(nil), // 342: temporal.api.workflow.v1.WorkflowExecutionConfig + (*v17.PendingActivityInfo)(nil), // 343: temporal.api.workflow.v1.PendingActivityInfo + (*v17.PendingChildExecutionInfo)(nil), // 344: temporal.api.workflow.v1.PendingChildExecutionInfo + (*v17.PendingWorkflowTaskInfo)(nil), // 345: temporal.api.workflow.v1.PendingWorkflowTaskInfo + (*v17.CallbackInfo)(nil), // 346: temporal.api.workflow.v1.CallbackInfo + (*v17.PendingNexusOperationInfo)(nil), // 347: temporal.api.workflow.v1.PendingNexusOperationInfo + (*v17.WorkflowExecutionExtendedInfo)(nil), // 348: temporal.api.workflow.v1.WorkflowExecutionExtendedInfo + (v11.DescribeTaskQueueMode)(0), // 349: temporal.api.enums.v1.DescribeTaskQueueMode + (*v14.TaskQueueVersionSelection)(nil), // 350: temporal.api.taskqueue.v1.TaskQueueVersionSelection + (*v14.PollerInfo)(nil), // 351: temporal.api.taskqueue.v1.PollerInfo + (*v14.TaskQueueStats)(nil), // 352: temporal.api.taskqueue.v1.TaskQueueStats + (*v14.TaskQueueVersioningInfo)(nil), // 353: temporal.api.taskqueue.v1.TaskQueueVersioningInfo + (*v14.TaskQueueConfig)(nil), // 354: temporal.api.taskqueue.v1.TaskQueueConfig + (*v14.TaskQueueStatus)(nil), // 355: temporal.api.taskqueue.v1.TaskQueueStatus + (*v115.VersionInfo)(nil), // 356: temporal.api.version.v1.VersionInfo + (*v14.TaskQueuePartitionMetadata)(nil), // 357: temporal.api.taskqueue.v1.TaskQueuePartitionMetadata + (*v116.Schedule)(nil), // 358: temporal.api.schedule.v1.Schedule + (*v116.SchedulePatch)(nil), // 359: temporal.api.schedule.v1.SchedulePatch + (*v116.ScheduleInfo)(nil), // 360: temporal.api.schedule.v1.ScheduleInfo + (*v116.ScheduleListEntry)(nil), // 361: temporal.api.schedule.v1.ScheduleListEntry + (*v14.CompatibleVersionSet)(nil), // 362: temporal.api.taskqueue.v1.CompatibleVersionSet + (*v14.TimestampedBuildIdAssignmentRule)(nil), // 363: temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRule + (*v14.TimestampedCompatibleBuildIdRedirectRule)(nil), // 364: temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRule + (v11.TaskReachability)(0), // 365: temporal.api.enums.v1.TaskReachability + (*v14.BuildIdReachability)(nil), // 366: temporal.api.taskqueue.v1.BuildIdReachability + (*v117.WaitPolicy)(nil), // 367: temporal.api.update.v1.WaitPolicy + (*v117.Request)(nil), // 368: temporal.api.update.v1.Request + (*v117.UpdateRef)(nil), // 369: temporal.api.update.v1.UpdateRef + (*v117.Outcome)(nil), // 370: temporal.api.update.v1.Outcome + (v11.UpdateWorkflowExecutionLifecycleStage)(0), // 371: temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage + (*v118.BatchOperationTermination)(nil), // 372: temporal.api.batch.v1.BatchOperationTermination + (*v118.BatchOperationSignal)(nil), // 373: temporal.api.batch.v1.BatchOperationSignal + (*v118.BatchOperationCancellation)(nil), // 374: temporal.api.batch.v1.BatchOperationCancellation + (*v118.BatchOperationDeletion)(nil), // 375: temporal.api.batch.v1.BatchOperationDeletion + (*v118.BatchOperationReset)(nil), // 376: temporal.api.batch.v1.BatchOperationReset + (*v118.BatchOperationUpdateWorkflowExecutionOptions)(nil), // 377: temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions + (*v118.BatchOperationUnpauseActivities)(nil), // 378: temporal.api.batch.v1.BatchOperationUnpauseActivities + (*v118.BatchOperationResetActivities)(nil), // 379: temporal.api.batch.v1.BatchOperationResetActivities + (*v118.BatchOperationUpdateActivityOptions)(nil), // 380: temporal.api.batch.v1.BatchOperationUpdateActivityOptions + (v11.BatchOperationType)(0), // 381: temporal.api.enums.v1.BatchOperationType + (v11.BatchOperationState)(0), // 382: temporal.api.enums.v1.BatchOperationState + (*v118.BatchOperationInfo)(nil), // 383: temporal.api.batch.v1.BatchOperationInfo + (*v119.Request)(nil), // 384: temporal.api.nexus.v1.Request + (*v119.Response)(nil), // 385: temporal.api.nexus.v1.Response + (*v119.HandlerError)(nil), // 386: temporal.api.nexus.v1.HandlerError + (*v120.ActivityOptions)(nil), // 387: temporal.api.activity.v1.ActivityOptions + (*fieldmaskpb.FieldMask)(nil), // 388: google.protobuf.FieldMask + (*v17.WorkflowExecutionOptions)(nil), // 389: temporal.api.workflow.v1.WorkflowExecutionOptions + (*v18.DeploymentInfo)(nil), // 390: temporal.api.deployment.v1.DeploymentInfo + (*v18.WorkerDeploymentVersion)(nil), // 391: temporal.api.deployment.v1.WorkerDeploymentVersion + (*v18.WorkerDeploymentVersionInfo)(nil), // 392: temporal.api.deployment.v1.WorkerDeploymentVersionInfo + (*v18.WorkerDeploymentInfo)(nil), // 393: temporal.api.deployment.v1.WorkerDeploymentInfo + (*v18.DeploymentListInfo)(nil), // 394: temporal.api.deployment.v1.DeploymentListInfo + (*v18.UpdateDeploymentMetadata)(nil), // 395: temporal.api.deployment.v1.UpdateDeploymentMetadata + (*v121.ComputeConfig)(nil), // 396: temporal.api.compute.v1.ComputeConfig + (*v18.VersionMetadata)(nil), // 397: temporal.api.deployment.v1.VersionMetadata + (v11.DeploymentReachability)(0), // 398: temporal.api.enums.v1.DeploymentReachability + (*v122.WorkflowRuleSpec)(nil), // 399: temporal.api.rules.v1.WorkflowRuleSpec + (*v122.WorkflowRule)(nil), // 400: temporal.api.rules.v1.WorkflowRule + (*v114.WorkerInfo)(nil), // 401: temporal.api.worker.v1.WorkerInfo + (*v114.WorkerListInfo)(nil), // 402: temporal.api.worker.v1.WorkerListInfo + (*v13.WorkerSelector)(nil), // 403: temporal.api.common.v1.WorkerSelector + (*v16.WorkerConfig)(nil), // 404: temporal.api.sdk.v1.WorkerConfig + (v11.ActivityIdReusePolicy)(0), // 405: temporal.api.enums.v1.ActivityIdReusePolicy + (v11.ActivityIdConflictPolicy)(0), // 406: temporal.api.enums.v1.ActivityIdConflictPolicy + (*v13.OnConflictOptions)(nil), // 407: temporal.api.common.v1.OnConflictOptions + (*v120.ActivityExecutionInfo)(nil), // 408: temporal.api.activity.v1.ActivityExecutionInfo + (*v120.ActivityExecutionOutcome)(nil), // 409: temporal.api.activity.v1.ActivityExecutionOutcome + (*v120.CallbackInfo)(nil), // 410: temporal.api.activity.v1.CallbackInfo + (*v120.ActivityExecutionListInfo)(nil), // 411: temporal.api.activity.v1.ActivityExecutionListInfo + (*v13.Payload)(nil), // 412: temporal.api.common.v1.Payload + (v11.NexusOperationIdReusePolicy)(0), // 413: temporal.api.enums.v1.NexusOperationIdReusePolicy + (v11.NexusOperationIdConflictPolicy)(0), // 414: temporal.api.enums.v1.NexusOperationIdConflictPolicy + (*v119.NexusOperationExecutionInfo)(nil), // 415: temporal.api.nexus.v1.NexusOperationExecutionInfo + (v11.NexusOperationWaitStage)(0), // 416: temporal.api.enums.v1.NexusOperationWaitStage + (*v119.NexusOperationExecutionListInfo)(nil), // 417: temporal.api.nexus.v1.NexusOperationExecutionListInfo + (*v110.WorkflowQueryResult)(nil), // 418: temporal.api.query.v1.WorkflowQueryResult + (v11.IndexedValueType)(0), // 419: temporal.api.enums.v1.IndexedValueType + (v11.RateLimitSource)(0), // 420: temporal.api.enums.v1.RateLimitSource + (*v14.TaskQueueVersionInfo)(nil), // 421: temporal.api.taskqueue.v1.TaskQueueVersionInfo + (*v14.BuildIdAssignmentRule)(nil), // 422: temporal.api.taskqueue.v1.BuildIdAssignmentRule + (*v14.CompatibleBuildIdRedirectRule)(nil), // 423: temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule + (*v18.RoutingConfig)(nil), // 424: temporal.api.deployment.v1.RoutingConfig + (*v18.WorkerDeploymentInfo_WorkerDeploymentVersionSummary)(nil), // 425: temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + (*v121.ComputeConfigScalingGroupUpdate)(nil), // 426: temporal.api.compute.v1.ComputeConfigScalingGroupUpdate + (*v14.RateLimit)(nil), // 427: temporal.api.taskqueue.v1.RateLimit +} +var file_temporal_api_workflowservice_v1_request_response_proto_depIdxs = []int32{ + 281, // 0: temporal.api.workflowservice.v1.RegisterNamespaceRequest.workflow_execution_retention_period:type_name -> google.protobuf.Duration + 282, // 1: temporal.api.workflowservice.v1.RegisterNamespaceRequest.clusters:type_name -> temporal.api.replication.v1.ClusterReplicationConfig + 245, // 2: temporal.api.workflowservice.v1.RegisterNamespaceRequest.data:type_name -> temporal.api.workflowservice.v1.RegisterNamespaceRequest.DataEntry + 283, // 3: temporal.api.workflowservice.v1.RegisterNamespaceRequest.history_archival_state:type_name -> temporal.api.enums.v1.ArchivalState + 283, // 4: temporal.api.workflowservice.v1.RegisterNamespaceRequest.visibility_archival_state:type_name -> temporal.api.enums.v1.ArchivalState + 284, // 5: temporal.api.workflowservice.v1.ListNamespacesRequest.namespace_filter:type_name -> temporal.api.namespace.v1.NamespaceFilter + 5, // 6: temporal.api.workflowservice.v1.ListNamespacesResponse.namespaces:type_name -> temporal.api.workflowservice.v1.DescribeNamespaceResponse + 285, // 7: temporal.api.workflowservice.v1.DescribeNamespaceResponse.namespace_info:type_name -> temporal.api.namespace.v1.NamespaceInfo + 286, // 8: temporal.api.workflowservice.v1.DescribeNamespaceResponse.config:type_name -> temporal.api.namespace.v1.NamespaceConfig + 287, // 9: temporal.api.workflowservice.v1.DescribeNamespaceResponse.replication_config:type_name -> temporal.api.replication.v1.NamespaceReplicationConfig + 288, // 10: temporal.api.workflowservice.v1.DescribeNamespaceResponse.failover_history:type_name -> temporal.api.replication.v1.FailoverStatus + 289, // 11: temporal.api.workflowservice.v1.UpdateNamespaceRequest.update_info:type_name -> temporal.api.namespace.v1.UpdateNamespaceInfo + 286, // 12: temporal.api.workflowservice.v1.UpdateNamespaceRequest.config:type_name -> temporal.api.namespace.v1.NamespaceConfig + 287, // 13: temporal.api.workflowservice.v1.UpdateNamespaceRequest.replication_config:type_name -> temporal.api.replication.v1.NamespaceReplicationConfig + 285, // 14: temporal.api.workflowservice.v1.UpdateNamespaceResponse.namespace_info:type_name -> temporal.api.namespace.v1.NamespaceInfo + 286, // 15: temporal.api.workflowservice.v1.UpdateNamespaceResponse.config:type_name -> temporal.api.namespace.v1.NamespaceConfig + 287, // 16: temporal.api.workflowservice.v1.UpdateNamespaceResponse.replication_config:type_name -> temporal.api.replication.v1.NamespaceReplicationConfig + 290, // 17: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 291, // 18: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 292, // 19: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.input:type_name -> temporal.api.common.v1.Payloads + 281, // 20: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.workflow_execution_timeout:type_name -> google.protobuf.Duration + 281, // 21: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.workflow_run_timeout:type_name -> google.protobuf.Duration + 281, // 22: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.workflow_task_timeout:type_name -> google.protobuf.Duration + 293, // 23: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.workflow_id_reuse_policy:type_name -> temporal.api.enums.v1.WorkflowIdReusePolicy + 294, // 24: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.workflow_id_conflict_policy:type_name -> temporal.api.enums.v1.WorkflowIdConflictPolicy + 295, // 25: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 296, // 26: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.memo:type_name -> temporal.api.common.v1.Memo + 297, // 27: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 298, // 28: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.header:type_name -> temporal.api.common.v1.Header + 299, // 29: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.continued_failure:type_name -> temporal.api.failure.v1.Failure + 292, // 30: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.last_completion_result:type_name -> temporal.api.common.v1.Payloads + 281, // 31: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.workflow_start_delay:type_name -> google.protobuf.Duration + 300, // 32: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.completion_callbacks:type_name -> temporal.api.common.v1.Callback + 301, // 33: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 302, // 34: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.links:type_name -> temporal.api.common.v1.Link + 303, // 35: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.versioning_override:type_name -> temporal.api.workflow.v1.VersioningOverride + 304, // 36: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.on_conflict_options:type_name -> temporal.api.workflow.v1.OnConflictOptions + 305, // 37: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.priority:type_name -> temporal.api.common.v1.Priority + 306, // 38: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.eager_worker_deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 307, // 39: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.time_skipping_config:type_name -> temporal.api.workflow.v1.TimeSkippingConfig + 244, // 40: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.foo:type_name -> temporal.api.workflowservice.v1.Foo + 246, // 41: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.foo_by_id:type_name -> temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.FooByIdEntry + 247, // 42: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.foo_counts_by_id:type_name -> temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.FooCountsByIdEntry + 294, // 43: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.foo_policy:type_name -> temporal.api.enums.v1.WorkflowIdConflictPolicy + 308, // 44: temporal.api.workflowservice.v1.StartWorkflowExecutionResponse.status:type_name -> temporal.api.enums.v1.WorkflowExecutionStatus + 17, // 45: temporal.api.workflowservice.v1.StartWorkflowExecutionResponse.eager_workflow_task:type_name -> temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse + 302, // 46: temporal.api.workflowservice.v1.StartWorkflowExecutionResponse.link:type_name -> temporal.api.common.v1.Link + 309, // 47: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 310, // 48: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest.history_event_filter_type:type_name -> temporal.api.enums.v1.HistoryEventFilterType + 311, // 49: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse.history:type_name -> temporal.api.history.v1.History + 312, // 50: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse.raw_history:type_name -> temporal.api.common.v1.DataBlob + 309, // 51: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 311, // 52: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseResponse.history:type_name -> temporal.api.history.v1.History + 291, // 53: temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 313, // 54: temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest.worker_version_capabilities:type_name -> temporal.api.common.v1.WorkerVersionCapabilities + 306, // 55: temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 309, // 56: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 290, // 57: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 311, // 58: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.history:type_name -> temporal.api.history.v1.History + 314, // 59: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.query:type_name -> temporal.api.query.v1.WorkflowQuery + 291, // 60: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.workflow_execution_task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 315, // 61: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.scheduled_time:type_name -> google.protobuf.Timestamp + 315, // 62: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.started_time:type_name -> google.protobuf.Timestamp + 248, // 63: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.queries:type_name -> temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.QueriesEntry + 316, // 64: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.messages:type_name -> temporal.api.protocol.v1.Message + 317, // 65: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.poller_scaling_decision:type_name -> temporal.api.taskqueue.v1.PollerScalingDecision + 318, // 66: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.poller_group_infos:type_name -> temporal.api.taskqueue.v1.PollerGroupInfo + 319, // 67: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.commands:type_name -> temporal.api.command.v1.Command + 320, // 68: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.sticky_attributes:type_name -> temporal.api.taskqueue.v1.StickyExecutionAttributes + 249, // 69: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.query_results:type_name -> temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.QueryResultsEntry + 321, // 70: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.worker_version_stamp:type_name -> temporal.api.common.v1.WorkerVersionStamp + 316, // 71: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.messages:type_name -> temporal.api.protocol.v1.Message + 322, // 72: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.sdk_metadata:type_name -> temporal.api.sdk.v1.WorkflowTaskCompletedMetadata + 323, // 73: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.metering_metadata:type_name -> temporal.api.common.v1.MeteringMetadata + 250, // 74: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.capabilities:type_name -> temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.Capabilities + 324, // 75: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment + 325, // 76: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.versioning_behavior:type_name -> temporal.api.enums.v1.VersioningBehavior + 306, // 77: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 17, // 78: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse.workflow_task:type_name -> temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse + 23, // 79: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse.activity_tasks:type_name -> temporal.api.workflowservice.v1.PollActivityTaskQueueResponse + 326, // 80: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest.cause:type_name -> temporal.api.enums.v1.WorkflowTaskFailedCause + 299, // 81: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest.failure:type_name -> temporal.api.failure.v1.Failure + 316, // 82: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest.messages:type_name -> temporal.api.protocol.v1.Message + 321, // 83: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 324, // 84: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment + 306, // 85: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 291, // 86: temporal.api.workflowservice.v1.PollActivityTaskQueueRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 327, // 87: temporal.api.workflowservice.v1.PollActivityTaskQueueRequest.task_queue_metadata:type_name -> temporal.api.taskqueue.v1.TaskQueueMetadata + 313, // 88: temporal.api.workflowservice.v1.PollActivityTaskQueueRequest.worker_version_capabilities:type_name -> temporal.api.common.v1.WorkerVersionCapabilities + 306, // 89: temporal.api.workflowservice.v1.PollActivityTaskQueueRequest.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 290, // 90: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 309, // 91: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 328, // 92: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.activity_type:type_name -> temporal.api.common.v1.ActivityType + 298, // 93: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.header:type_name -> temporal.api.common.v1.Header + 292, // 94: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.input:type_name -> temporal.api.common.v1.Payloads + 292, // 95: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.heartbeat_details:type_name -> temporal.api.common.v1.Payloads + 315, // 96: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.scheduled_time:type_name -> google.protobuf.Timestamp + 315, // 97: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.current_attempt_scheduled_time:type_name -> google.protobuf.Timestamp + 315, // 98: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.started_time:type_name -> google.protobuf.Timestamp + 281, // 99: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 281, // 100: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.start_to_close_timeout:type_name -> google.protobuf.Duration + 281, // 101: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.heartbeat_timeout:type_name -> google.protobuf.Duration + 295, // 102: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 317, // 103: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.poller_scaling_decision:type_name -> temporal.api.taskqueue.v1.PollerScalingDecision + 305, // 104: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.priority:type_name -> temporal.api.common.v1.Priority + 318, // 105: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse.poller_group_infos:type_name -> temporal.api.taskqueue.v1.PollerGroupInfo + 292, // 106: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatRequest.details:type_name -> temporal.api.common.v1.Payloads + 292, // 107: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest.details:type_name -> temporal.api.common.v1.Payloads + 292, // 108: temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest.result:type_name -> temporal.api.common.v1.Payloads + 321, // 109: temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 324, // 110: temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment + 306, // 111: temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 292, // 112: temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest.result:type_name -> temporal.api.common.v1.Payloads + 299, // 113: temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest.failure:type_name -> temporal.api.failure.v1.Failure + 292, // 114: temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest.last_heartbeat_details:type_name -> temporal.api.common.v1.Payloads + 321, // 115: temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 324, // 116: temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment + 306, // 117: temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 299, // 118: temporal.api.workflowservice.v1.RespondActivityTaskFailedResponse.failures:type_name -> temporal.api.failure.v1.Failure + 299, // 119: temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest.failure:type_name -> temporal.api.failure.v1.Failure + 292, // 120: temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest.last_heartbeat_details:type_name -> temporal.api.common.v1.Payloads + 299, // 121: temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdResponse.failures:type_name -> temporal.api.failure.v1.Failure + 292, // 122: temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest.details:type_name -> temporal.api.common.v1.Payloads + 321, // 123: temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest.worker_version:type_name -> temporal.api.common.v1.WorkerVersionStamp + 324, // 124: temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment + 306, // 125: temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 292, // 126: temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest.details:type_name -> temporal.api.common.v1.Payloads + 306, // 127: temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 309, // 128: temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 302, // 129: temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest.links:type_name -> temporal.api.common.v1.Link + 309, // 130: temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 292, // 131: temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.input:type_name -> temporal.api.common.v1.Payloads + 298, // 132: temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.header:type_name -> temporal.api.common.v1.Header + 302, // 133: temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest.links:type_name -> temporal.api.common.v1.Link + 302, // 134: temporal.api.workflowservice.v1.SignalWorkflowExecutionResponse.link:type_name -> temporal.api.common.v1.Link + 290, // 135: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.workflow_type:type_name -> temporal.api.common.v1.WorkflowType + 291, // 136: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 292, // 137: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.input:type_name -> temporal.api.common.v1.Payloads + 281, // 138: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.workflow_execution_timeout:type_name -> google.protobuf.Duration + 281, // 139: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.workflow_run_timeout:type_name -> google.protobuf.Duration + 281, // 140: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.workflow_task_timeout:type_name -> google.protobuf.Duration + 293, // 141: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.workflow_id_reuse_policy:type_name -> temporal.api.enums.v1.WorkflowIdReusePolicy + 294, // 142: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.workflow_id_conflict_policy:type_name -> temporal.api.enums.v1.WorkflowIdConflictPolicy + 292, // 143: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.signal_input:type_name -> temporal.api.common.v1.Payloads + 295, // 144: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 296, // 145: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.memo:type_name -> temporal.api.common.v1.Memo + 297, // 146: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 298, // 147: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.header:type_name -> temporal.api.common.v1.Header + 281, // 148: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.workflow_start_delay:type_name -> google.protobuf.Duration + 301, // 149: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 302, // 150: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.links:type_name -> temporal.api.common.v1.Link + 303, // 151: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.versioning_override:type_name -> temporal.api.workflow.v1.VersioningOverride + 305, // 152: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.priority:type_name -> temporal.api.common.v1.Priority + 307, // 153: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest.time_skipping_config:type_name -> temporal.api.workflow.v1.TimeSkippingConfig + 302, // 154: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse.signal_link:type_name -> temporal.api.common.v1.Link + 309, // 155: temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 329, // 156: temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest.reset_reapply_type:type_name -> temporal.api.enums.v1.ResetReapplyType + 330, // 157: temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest.reset_reapply_exclude_types:type_name -> temporal.api.enums.v1.ResetReapplyExcludeType + 331, // 158: temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest.post_reset_operations:type_name -> temporal.api.workflow.v1.PostResetOperation + 309, // 159: temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 292, // 160: temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest.details:type_name -> temporal.api.common.v1.Payloads + 302, // 161: temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest.links:type_name -> temporal.api.common.v1.Link + 309, // 162: temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 332, // 163: temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest.start_time_filter:type_name -> temporal.api.filter.v1.StartTimeFilter + 333, // 164: temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest.execution_filter:type_name -> temporal.api.filter.v1.WorkflowExecutionFilter + 334, // 165: temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest.type_filter:type_name -> temporal.api.filter.v1.WorkflowTypeFilter + 335, // 166: temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsResponse.executions:type_name -> temporal.api.workflow.v1.WorkflowExecutionInfo + 332, // 167: temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest.start_time_filter:type_name -> temporal.api.filter.v1.StartTimeFilter + 333, // 168: temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest.execution_filter:type_name -> temporal.api.filter.v1.WorkflowExecutionFilter + 334, // 169: temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest.type_filter:type_name -> temporal.api.filter.v1.WorkflowTypeFilter + 336, // 170: temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest.status_filter:type_name -> temporal.api.filter.v1.StatusFilter + 335, // 171: temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsResponse.executions:type_name -> temporal.api.workflow.v1.WorkflowExecutionInfo + 335, // 172: temporal.api.workflowservice.v1.ListWorkflowExecutionsResponse.executions:type_name -> temporal.api.workflow.v1.WorkflowExecutionInfo + 335, // 173: temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsResponse.executions:type_name -> temporal.api.workflow.v1.WorkflowExecutionInfo + 335, // 174: temporal.api.workflowservice.v1.ScanWorkflowExecutionsResponse.executions:type_name -> temporal.api.workflow.v1.WorkflowExecutionInfo + 251, // 175: temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse.groups:type_name -> temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse.AggregationGroup + 252, // 176: temporal.api.workflowservice.v1.GetSearchAttributesResponse.keys:type_name -> temporal.api.workflowservice.v1.GetSearchAttributesResponse.KeysEntry + 337, // 177: temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest.completed_type:type_name -> temporal.api.enums.v1.QueryResultType + 292, // 178: temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest.query_result:type_name -> temporal.api.common.v1.Payloads + 299, // 179: temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest.failure:type_name -> temporal.api.failure.v1.Failure + 326, // 180: temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest.cause:type_name -> temporal.api.enums.v1.WorkflowTaskFailedCause + 309, // 181: temporal.api.workflowservice.v1.ResetStickyTaskQueueRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 338, // 182: temporal.api.workflowservice.v1.ShutdownWorkerRequest.worker_heartbeat:type_name -> temporal.api.worker.v1.WorkerHeartbeat + 339, // 183: temporal.api.workflowservice.v1.ShutdownWorkerRequest.task_queue_types:type_name -> temporal.api.enums.v1.TaskQueueType + 309, // 184: temporal.api.workflowservice.v1.QueryWorkflowRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 314, // 185: temporal.api.workflowservice.v1.QueryWorkflowRequest.query:type_name -> temporal.api.query.v1.WorkflowQuery + 340, // 186: temporal.api.workflowservice.v1.QueryWorkflowRequest.query_reject_condition:type_name -> temporal.api.enums.v1.QueryRejectCondition + 292, // 187: temporal.api.workflowservice.v1.QueryWorkflowResponse.query_result:type_name -> temporal.api.common.v1.Payloads + 341, // 188: temporal.api.workflowservice.v1.QueryWorkflowResponse.query_rejected:type_name -> temporal.api.query.v1.QueryRejected + 309, // 189: temporal.api.workflowservice.v1.DescribeWorkflowExecutionRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 342, // 190: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse.execution_config:type_name -> temporal.api.workflow.v1.WorkflowExecutionConfig + 335, // 191: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse.workflow_execution_info:type_name -> temporal.api.workflow.v1.WorkflowExecutionInfo + 343, // 192: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse.pending_activities:type_name -> temporal.api.workflow.v1.PendingActivityInfo + 344, // 193: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse.pending_children:type_name -> temporal.api.workflow.v1.PendingChildExecutionInfo + 345, // 194: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse.pending_workflow_task:type_name -> temporal.api.workflow.v1.PendingWorkflowTaskInfo + 346, // 195: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse.callbacks:type_name -> temporal.api.workflow.v1.CallbackInfo + 347, // 196: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse.pending_nexus_operations:type_name -> temporal.api.workflow.v1.PendingNexusOperationInfo + 348, // 197: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse.workflow_extended_info:type_name -> temporal.api.workflow.v1.WorkflowExecutionExtendedInfo + 291, // 198: temporal.api.workflowservice.v1.DescribeTaskQueueRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 339, // 199: temporal.api.workflowservice.v1.DescribeTaskQueueRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType + 349, // 200: temporal.api.workflowservice.v1.DescribeTaskQueueRequest.api_mode:type_name -> temporal.api.enums.v1.DescribeTaskQueueMode + 350, // 201: temporal.api.workflowservice.v1.DescribeTaskQueueRequest.versions:type_name -> temporal.api.taskqueue.v1.TaskQueueVersionSelection + 339, // 202: temporal.api.workflowservice.v1.DescribeTaskQueueRequest.task_queue_types:type_name -> temporal.api.enums.v1.TaskQueueType + 351, // 203: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.pollers:type_name -> temporal.api.taskqueue.v1.PollerInfo + 352, // 204: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.stats:type_name -> temporal.api.taskqueue.v1.TaskQueueStats + 253, // 205: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.stats_by_priority_key:type_name -> temporal.api.workflowservice.v1.DescribeTaskQueueResponse.StatsByPriorityKeyEntry + 353, // 206: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.versioning_info:type_name -> temporal.api.taskqueue.v1.TaskQueueVersioningInfo + 354, // 207: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.config:type_name -> temporal.api.taskqueue.v1.TaskQueueConfig + 254, // 208: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.effective_rate_limit:type_name -> temporal.api.workflowservice.v1.DescribeTaskQueueResponse.EffectiveRateLimit + 355, // 209: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.task_queue_status:type_name -> temporal.api.taskqueue.v1.TaskQueueStatus + 255, // 210: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.versions_info:type_name -> temporal.api.workflowservice.v1.DescribeTaskQueueResponse.VersionsInfoEntry + 256, // 211: temporal.api.workflowservice.v1.GetClusterInfoResponse.supported_clients:type_name -> temporal.api.workflowservice.v1.GetClusterInfoResponse.SupportedClientsEntry + 356, // 212: temporal.api.workflowservice.v1.GetClusterInfoResponse.version_info:type_name -> temporal.api.version.v1.VersionInfo + 257, // 213: temporal.api.workflowservice.v1.GetSystemInfoResponse.capabilities:type_name -> temporal.api.workflowservice.v1.GetSystemInfoResponse.Capabilities + 291, // 214: temporal.api.workflowservice.v1.ListTaskQueuePartitionsRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 357, // 215: temporal.api.workflowservice.v1.ListTaskQueuePartitionsResponse.activity_task_queue_partitions:type_name -> temporal.api.taskqueue.v1.TaskQueuePartitionMetadata + 357, // 216: temporal.api.workflowservice.v1.ListTaskQueuePartitionsResponse.workflow_task_queue_partitions:type_name -> temporal.api.taskqueue.v1.TaskQueuePartitionMetadata + 358, // 217: temporal.api.workflowservice.v1.CreateScheduleRequest.schedule:type_name -> temporal.api.schedule.v1.Schedule + 359, // 218: temporal.api.workflowservice.v1.CreateScheduleRequest.initial_patch:type_name -> temporal.api.schedule.v1.SchedulePatch + 296, // 219: temporal.api.workflowservice.v1.CreateScheduleRequest.memo:type_name -> temporal.api.common.v1.Memo + 297, // 220: temporal.api.workflowservice.v1.CreateScheduleRequest.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 358, // 221: temporal.api.workflowservice.v1.DescribeScheduleResponse.schedule:type_name -> temporal.api.schedule.v1.Schedule + 360, // 222: temporal.api.workflowservice.v1.DescribeScheduleResponse.info:type_name -> temporal.api.schedule.v1.ScheduleInfo + 296, // 223: temporal.api.workflowservice.v1.DescribeScheduleResponse.memo:type_name -> temporal.api.common.v1.Memo + 297, // 224: temporal.api.workflowservice.v1.DescribeScheduleResponse.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 358, // 225: temporal.api.workflowservice.v1.UpdateScheduleRequest.schedule:type_name -> temporal.api.schedule.v1.Schedule + 297, // 226: temporal.api.workflowservice.v1.UpdateScheduleRequest.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 296, // 227: temporal.api.workflowservice.v1.UpdateScheduleRequest.memo:type_name -> temporal.api.common.v1.Memo + 359, // 228: temporal.api.workflowservice.v1.PatchScheduleRequest.patch:type_name -> temporal.api.schedule.v1.SchedulePatch + 315, // 229: temporal.api.workflowservice.v1.ListScheduleMatchingTimesRequest.start_time:type_name -> google.protobuf.Timestamp + 315, // 230: temporal.api.workflowservice.v1.ListScheduleMatchingTimesRequest.end_time:type_name -> google.protobuf.Timestamp + 315, // 231: temporal.api.workflowservice.v1.ListScheduleMatchingTimesResponse.start_time:type_name -> google.protobuf.Timestamp + 361, // 232: temporal.api.workflowservice.v1.ListSchedulesResponse.schedules:type_name -> temporal.api.schedule.v1.ScheduleListEntry + 258, // 233: temporal.api.workflowservice.v1.CountSchedulesResponse.groups:type_name -> temporal.api.workflowservice.v1.CountSchedulesResponse.AggregationGroup + 259, // 234: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.add_new_compatible_build_id:type_name -> temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.AddNewCompatibleVersion + 260, // 235: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.merge_sets:type_name -> temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest.MergeSets + 362, // 236: temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse.major_version_sets:type_name -> temporal.api.taskqueue.v1.CompatibleVersionSet + 261, // 237: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.insert_assignment_rule:type_name -> temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.InsertBuildIdAssignmentRule + 262, // 238: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.replace_assignment_rule:type_name -> temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceBuildIdAssignmentRule + 263, // 239: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.delete_assignment_rule:type_name -> temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteBuildIdAssignmentRule + 264, // 240: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.add_compatible_redirect_rule:type_name -> temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.AddCompatibleBuildIdRedirectRule + 265, // 241: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.replace_compatible_redirect_rule:type_name -> temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceCompatibleBuildIdRedirectRule + 266, // 242: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.delete_compatible_redirect_rule:type_name -> temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.DeleteCompatibleBuildIdRedirectRule + 267, // 243: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.commit_build_id:type_name -> temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.CommitBuildId + 363, // 244: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse.assignment_rules:type_name -> temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRule + 364, // 245: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse.compatible_redirect_rules:type_name -> temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRule + 363, // 246: temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse.assignment_rules:type_name -> temporal.api.taskqueue.v1.TimestampedBuildIdAssignmentRule + 364, // 247: temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse.compatible_redirect_rules:type_name -> temporal.api.taskqueue.v1.TimestampedCompatibleBuildIdRedirectRule + 365, // 248: temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest.reachability:type_name -> temporal.api.enums.v1.TaskReachability + 366, // 249: temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse.build_id_reachability:type_name -> temporal.api.taskqueue.v1.BuildIdReachability + 309, // 250: temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 367, // 251: temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest.wait_policy:type_name -> temporal.api.update.v1.WaitPolicy + 368, // 252: temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest.request:type_name -> temporal.api.update.v1.Request + 369, // 253: temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse.update_ref:type_name -> temporal.api.update.v1.UpdateRef + 370, // 254: temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse.outcome:type_name -> temporal.api.update.v1.Outcome + 371, // 255: temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse.stage:type_name -> temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage + 309, // 256: temporal.api.workflowservice.v1.StartBatchOperationRequest.executions:type_name -> temporal.api.common.v1.WorkflowExecution + 372, // 257: temporal.api.workflowservice.v1.StartBatchOperationRequest.termination_operation:type_name -> temporal.api.batch.v1.BatchOperationTermination + 373, // 258: temporal.api.workflowservice.v1.StartBatchOperationRequest.signal_operation:type_name -> temporal.api.batch.v1.BatchOperationSignal + 374, // 259: temporal.api.workflowservice.v1.StartBatchOperationRequest.cancellation_operation:type_name -> temporal.api.batch.v1.BatchOperationCancellation + 375, // 260: temporal.api.workflowservice.v1.StartBatchOperationRequest.deletion_operation:type_name -> temporal.api.batch.v1.BatchOperationDeletion + 376, // 261: temporal.api.workflowservice.v1.StartBatchOperationRequest.reset_operation:type_name -> temporal.api.batch.v1.BatchOperationReset + 377, // 262: temporal.api.workflowservice.v1.StartBatchOperationRequest.update_workflow_options_operation:type_name -> temporal.api.batch.v1.BatchOperationUpdateWorkflowExecutionOptions + 378, // 263: temporal.api.workflowservice.v1.StartBatchOperationRequest.unpause_activities_operation:type_name -> temporal.api.batch.v1.BatchOperationUnpauseActivities + 379, // 264: temporal.api.workflowservice.v1.StartBatchOperationRequest.reset_activities_operation:type_name -> temporal.api.batch.v1.BatchOperationResetActivities + 380, // 265: temporal.api.workflowservice.v1.StartBatchOperationRequest.update_activity_options_operation:type_name -> temporal.api.batch.v1.BatchOperationUpdateActivityOptions + 381, // 266: temporal.api.workflowservice.v1.DescribeBatchOperationResponse.operation_type:type_name -> temporal.api.enums.v1.BatchOperationType + 382, // 267: temporal.api.workflowservice.v1.DescribeBatchOperationResponse.state:type_name -> temporal.api.enums.v1.BatchOperationState + 315, // 268: temporal.api.workflowservice.v1.DescribeBatchOperationResponse.start_time:type_name -> google.protobuf.Timestamp + 315, // 269: temporal.api.workflowservice.v1.DescribeBatchOperationResponse.close_time:type_name -> google.protobuf.Timestamp + 383, // 270: temporal.api.workflowservice.v1.ListBatchOperationsResponse.operation_info:type_name -> temporal.api.batch.v1.BatchOperationInfo + 369, // 271: temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest.update_ref:type_name -> temporal.api.update.v1.UpdateRef + 367, // 272: temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest.wait_policy:type_name -> temporal.api.update.v1.WaitPolicy + 370, // 273: temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse.outcome:type_name -> temporal.api.update.v1.Outcome + 371, // 274: temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse.stage:type_name -> temporal.api.enums.v1.UpdateWorkflowExecutionLifecycleStage + 369, // 275: temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse.update_ref:type_name -> temporal.api.update.v1.UpdateRef + 291, // 276: temporal.api.workflowservice.v1.PollNexusTaskQueueRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 313, // 277: temporal.api.workflowservice.v1.PollNexusTaskQueueRequest.worker_version_capabilities:type_name -> temporal.api.common.v1.WorkerVersionCapabilities + 306, // 278: temporal.api.workflowservice.v1.PollNexusTaskQueueRequest.deployment_options:type_name -> temporal.api.deployment.v1.WorkerDeploymentOptions + 338, // 279: temporal.api.workflowservice.v1.PollNexusTaskQueueRequest.worker_heartbeat:type_name -> temporal.api.worker.v1.WorkerHeartbeat + 384, // 280: temporal.api.workflowservice.v1.PollNexusTaskQueueResponse.request:type_name -> temporal.api.nexus.v1.Request + 317, // 281: temporal.api.workflowservice.v1.PollNexusTaskQueueResponse.poller_scaling_decision:type_name -> temporal.api.taskqueue.v1.PollerScalingDecision + 318, // 282: temporal.api.workflowservice.v1.PollNexusTaskQueueResponse.poller_group_infos:type_name -> temporal.api.taskqueue.v1.PollerGroupInfo + 385, // 283: temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest.response:type_name -> temporal.api.nexus.v1.Response + 386, // 284: temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest.error:type_name -> temporal.api.nexus.v1.HandlerError + 299, // 285: temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest.failure:type_name -> temporal.api.failure.v1.Failure + 268, // 286: temporal.api.workflowservice.v1.ExecuteMultiOperationRequest.operations:type_name -> temporal.api.workflowservice.v1.ExecuteMultiOperationRequest.Operation + 269, // 287: temporal.api.workflowservice.v1.ExecuteMultiOperationResponse.responses:type_name -> temporal.api.workflowservice.v1.ExecuteMultiOperationResponse.Response + 309, // 288: temporal.api.workflowservice.v1.UpdateActivityOptionsRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 387, // 289: temporal.api.workflowservice.v1.UpdateActivityOptionsRequest.activity_options:type_name -> temporal.api.activity.v1.ActivityOptions + 388, // 290: temporal.api.workflowservice.v1.UpdateActivityOptionsRequest.update_mask:type_name -> google.protobuf.FieldMask + 387, // 291: temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsRequest.activity_options:type_name -> temporal.api.activity.v1.ActivityOptions + 388, // 292: temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsRequest.update_mask:type_name -> google.protobuf.FieldMask + 387, // 293: temporal.api.workflowservice.v1.UpdateActivityOptionsResponse.activity_options:type_name -> temporal.api.activity.v1.ActivityOptions + 387, // 294: temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsResponse.activity_options:type_name -> temporal.api.activity.v1.ActivityOptions + 309, // 295: temporal.api.workflowservice.v1.PauseActivityRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 309, // 296: temporal.api.workflowservice.v1.UnpauseActivityRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 281, // 297: temporal.api.workflowservice.v1.UnpauseActivityRequest.jitter:type_name -> google.protobuf.Duration + 281, // 298: temporal.api.workflowservice.v1.UnpauseActivityExecutionRequest.jitter:type_name -> google.protobuf.Duration + 309, // 299: temporal.api.workflowservice.v1.ResetActivityRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 281, // 300: temporal.api.workflowservice.v1.ResetActivityRequest.jitter:type_name -> google.protobuf.Duration + 281, // 301: temporal.api.workflowservice.v1.ResetActivityExecutionRequest.jitter:type_name -> google.protobuf.Duration + 309, // 302: temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest.workflow_execution:type_name -> temporal.api.common.v1.WorkflowExecution + 389, // 303: temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest.workflow_execution_options:type_name -> temporal.api.workflow.v1.WorkflowExecutionOptions + 388, // 304: temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest.update_mask:type_name -> google.protobuf.FieldMask + 389, // 305: temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsResponse.workflow_execution_options:type_name -> temporal.api.workflow.v1.WorkflowExecutionOptions + 324, // 306: temporal.api.workflowservice.v1.DescribeDeploymentRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment + 390, // 307: temporal.api.workflowservice.v1.DescribeDeploymentResponse.deployment_info:type_name -> temporal.api.deployment.v1.DeploymentInfo + 391, // 308: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionRequest.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 392, // 309: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.worker_deployment_version_info:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersionInfo + 270, // 310: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.version_task_queues:type_name -> temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue + 393, // 311: temporal.api.workflowservice.v1.DescribeWorkerDeploymentResponse.worker_deployment_info:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo + 394, // 312: temporal.api.workflowservice.v1.ListDeploymentsResponse.deployments:type_name -> temporal.api.deployment.v1.DeploymentListInfo + 324, // 313: temporal.api.workflowservice.v1.SetCurrentDeploymentRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment + 395, // 314: temporal.api.workflowservice.v1.SetCurrentDeploymentRequest.update_metadata:type_name -> temporal.api.deployment.v1.UpdateDeploymentMetadata + 390, // 315: temporal.api.workflowservice.v1.SetCurrentDeploymentResponse.current_deployment_info:type_name -> temporal.api.deployment.v1.DeploymentInfo + 390, // 316: temporal.api.workflowservice.v1.SetCurrentDeploymentResponse.previous_deployment_info:type_name -> temporal.api.deployment.v1.DeploymentInfo + 391, // 317: temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionResponse.previous_deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 391, // 318: temporal.api.workflowservice.v1.SetWorkerDeploymentRampingVersionResponse.previous_deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 272, // 319: temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse.worker_deployments:type_name -> temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse.WorkerDeploymentSummary + 391, // 320: temporal.api.workflowservice.v1.CreateWorkerDeploymentVersionRequest.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 396, // 321: temporal.api.workflowservice.v1.CreateWorkerDeploymentVersionRequest.compute_config:type_name -> temporal.api.compute.v1.ComputeConfig + 391, // 322: temporal.api.workflowservice.v1.DeleteWorkerDeploymentVersionRequest.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 391, // 323: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigRequest.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 273, // 324: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigRequest.compute_config_scaling_groups:type_name -> temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigRequest.ComputeConfigScalingGroupsEntry + 391, // 325: temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigRequest.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 274, // 326: temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigRequest.compute_config_scaling_groups:type_name -> temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigRequest.ComputeConfigScalingGroupsEntry + 391, // 327: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest.deployment_version:type_name -> temporal.api.deployment.v1.WorkerDeploymentVersion + 275, // 328: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest.upsert_entries:type_name -> temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest.UpsertEntriesEntry + 397, // 329: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataResponse.metadata:type_name -> temporal.api.deployment.v1.VersionMetadata + 390, // 330: temporal.api.workflowservice.v1.GetCurrentDeploymentResponse.current_deployment_info:type_name -> temporal.api.deployment.v1.DeploymentInfo + 324, // 331: temporal.api.workflowservice.v1.GetDeploymentReachabilityRequest.deployment:type_name -> temporal.api.deployment.v1.Deployment + 390, // 332: temporal.api.workflowservice.v1.GetDeploymentReachabilityResponse.deployment_info:type_name -> temporal.api.deployment.v1.DeploymentInfo + 398, // 333: temporal.api.workflowservice.v1.GetDeploymentReachabilityResponse.reachability:type_name -> temporal.api.enums.v1.DeploymentReachability + 315, // 334: temporal.api.workflowservice.v1.GetDeploymentReachabilityResponse.last_update_time:type_name -> google.protobuf.Timestamp + 399, // 335: temporal.api.workflowservice.v1.CreateWorkflowRuleRequest.spec:type_name -> temporal.api.rules.v1.WorkflowRuleSpec + 400, // 336: temporal.api.workflowservice.v1.CreateWorkflowRuleResponse.rule:type_name -> temporal.api.rules.v1.WorkflowRule + 400, // 337: temporal.api.workflowservice.v1.DescribeWorkflowRuleResponse.rule:type_name -> temporal.api.rules.v1.WorkflowRule + 400, // 338: temporal.api.workflowservice.v1.ListWorkflowRulesResponse.rules:type_name -> temporal.api.rules.v1.WorkflowRule + 309, // 339: temporal.api.workflowservice.v1.TriggerWorkflowRuleRequest.execution:type_name -> temporal.api.common.v1.WorkflowExecution + 399, // 340: temporal.api.workflowservice.v1.TriggerWorkflowRuleRequest.spec:type_name -> temporal.api.rules.v1.WorkflowRuleSpec + 338, // 341: temporal.api.workflowservice.v1.RecordWorkerHeartbeatRequest.worker_heartbeat:type_name -> temporal.api.worker.v1.WorkerHeartbeat + 401, // 342: temporal.api.workflowservice.v1.ListWorkersResponse.workers_info:type_name -> temporal.api.worker.v1.WorkerInfo + 402, // 343: temporal.api.workflowservice.v1.ListWorkersResponse.workers:type_name -> temporal.api.worker.v1.WorkerListInfo + 339, // 344: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.task_queue_type:type_name -> temporal.api.enums.v1.TaskQueueType + 276, // 345: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.update_queue_rate_limit:type_name -> temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.RateLimitUpdate + 276, // 346: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.update_fairness_key_rate_limit_default:type_name -> temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.RateLimitUpdate + 277, // 347: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.set_fairness_weight_overrides:type_name -> temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.SetFairnessWeightOverridesEntry + 354, // 348: temporal.api.workflowservice.v1.UpdateTaskQueueConfigResponse.config:type_name -> temporal.api.taskqueue.v1.TaskQueueConfig + 403, // 349: temporal.api.workflowservice.v1.FetchWorkerConfigRequest.selector:type_name -> temporal.api.common.v1.WorkerSelector + 404, // 350: temporal.api.workflowservice.v1.FetchWorkerConfigResponse.worker_config:type_name -> temporal.api.sdk.v1.WorkerConfig + 404, // 351: temporal.api.workflowservice.v1.UpdateWorkerConfigRequest.worker_config:type_name -> temporal.api.sdk.v1.WorkerConfig + 388, // 352: temporal.api.workflowservice.v1.UpdateWorkerConfigRequest.update_mask:type_name -> google.protobuf.FieldMask + 403, // 353: temporal.api.workflowservice.v1.UpdateWorkerConfigRequest.selector:type_name -> temporal.api.common.v1.WorkerSelector + 404, // 354: temporal.api.workflowservice.v1.UpdateWorkerConfigResponse.worker_config:type_name -> temporal.api.sdk.v1.WorkerConfig + 401, // 355: temporal.api.workflowservice.v1.DescribeWorkerResponse.worker_info:type_name -> temporal.api.worker.v1.WorkerInfo + 328, // 356: temporal.api.workflowservice.v1.StartActivityExecutionRequest.activity_type:type_name -> temporal.api.common.v1.ActivityType + 291, // 357: temporal.api.workflowservice.v1.StartActivityExecutionRequest.task_queue:type_name -> temporal.api.taskqueue.v1.TaskQueue + 281, // 358: temporal.api.workflowservice.v1.StartActivityExecutionRequest.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 281, // 359: temporal.api.workflowservice.v1.StartActivityExecutionRequest.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 281, // 360: temporal.api.workflowservice.v1.StartActivityExecutionRequest.start_to_close_timeout:type_name -> google.protobuf.Duration + 281, // 361: temporal.api.workflowservice.v1.StartActivityExecutionRequest.heartbeat_timeout:type_name -> google.protobuf.Duration + 295, // 362: temporal.api.workflowservice.v1.StartActivityExecutionRequest.retry_policy:type_name -> temporal.api.common.v1.RetryPolicy + 292, // 363: temporal.api.workflowservice.v1.StartActivityExecutionRequest.input:type_name -> temporal.api.common.v1.Payloads + 405, // 364: temporal.api.workflowservice.v1.StartActivityExecutionRequest.id_reuse_policy:type_name -> temporal.api.enums.v1.ActivityIdReusePolicy + 406, // 365: temporal.api.workflowservice.v1.StartActivityExecutionRequest.id_conflict_policy:type_name -> temporal.api.enums.v1.ActivityIdConflictPolicy + 297, // 366: temporal.api.workflowservice.v1.StartActivityExecutionRequest.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 298, // 367: temporal.api.workflowservice.v1.StartActivityExecutionRequest.header:type_name -> temporal.api.common.v1.Header + 301, // 368: temporal.api.workflowservice.v1.StartActivityExecutionRequest.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 305, // 369: temporal.api.workflowservice.v1.StartActivityExecutionRequest.priority:type_name -> temporal.api.common.v1.Priority + 300, // 370: temporal.api.workflowservice.v1.StartActivityExecutionRequest.completion_callbacks:type_name -> temporal.api.common.v1.Callback + 302, // 371: temporal.api.workflowservice.v1.StartActivityExecutionRequest.links:type_name -> temporal.api.common.v1.Link + 407, // 372: temporal.api.workflowservice.v1.StartActivityExecutionRequest.on_conflict_options:type_name -> temporal.api.common.v1.OnConflictOptions + 281, // 373: temporal.api.workflowservice.v1.StartActivityExecutionRequest.start_delay:type_name -> google.protobuf.Duration + 302, // 374: temporal.api.workflowservice.v1.StartActivityExecutionResponse.link:type_name -> temporal.api.common.v1.Link + 408, // 375: temporal.api.workflowservice.v1.DescribeActivityExecutionResponse.info:type_name -> temporal.api.activity.v1.ActivityExecutionInfo + 292, // 376: temporal.api.workflowservice.v1.DescribeActivityExecutionResponse.input:type_name -> temporal.api.common.v1.Payloads + 409, // 377: temporal.api.workflowservice.v1.DescribeActivityExecutionResponse.outcome:type_name -> temporal.api.activity.v1.ActivityExecutionOutcome + 410, // 378: temporal.api.workflowservice.v1.DescribeActivityExecutionResponse.callbacks:type_name -> temporal.api.activity.v1.CallbackInfo + 409, // 379: temporal.api.workflowservice.v1.PollActivityExecutionResponse.outcome:type_name -> temporal.api.activity.v1.ActivityExecutionOutcome + 411, // 380: temporal.api.workflowservice.v1.ListActivityExecutionsResponse.executions:type_name -> temporal.api.activity.v1.ActivityExecutionListInfo + 281, // 381: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.schedule_to_close_timeout:type_name -> google.protobuf.Duration + 281, // 382: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.schedule_to_start_timeout:type_name -> google.protobuf.Duration + 281, // 383: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.start_to_close_timeout:type_name -> google.protobuf.Duration + 412, // 384: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.input:type_name -> temporal.api.common.v1.Payload + 413, // 385: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.id_reuse_policy:type_name -> temporal.api.enums.v1.NexusOperationIdReusePolicy + 414, // 386: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.id_conflict_policy:type_name -> temporal.api.enums.v1.NexusOperationIdConflictPolicy + 297, // 387: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.search_attributes:type_name -> temporal.api.common.v1.SearchAttributes + 278, // 388: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.nexus_header:type_name -> temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.NexusHeaderEntry + 301, // 389: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest.user_metadata:type_name -> temporal.api.sdk.v1.UserMetadata + 415, // 390: temporal.api.workflowservice.v1.DescribeNexusOperationExecutionResponse.info:type_name -> temporal.api.nexus.v1.NexusOperationExecutionInfo + 412, // 391: temporal.api.workflowservice.v1.DescribeNexusOperationExecutionResponse.input:type_name -> temporal.api.common.v1.Payload + 412, // 392: temporal.api.workflowservice.v1.DescribeNexusOperationExecutionResponse.result:type_name -> temporal.api.common.v1.Payload + 299, // 393: temporal.api.workflowservice.v1.DescribeNexusOperationExecutionResponse.failure:type_name -> temporal.api.failure.v1.Failure + 416, // 394: temporal.api.workflowservice.v1.PollNexusOperationExecutionRequest.wait_stage:type_name -> temporal.api.enums.v1.NexusOperationWaitStage + 416, // 395: temporal.api.workflowservice.v1.PollNexusOperationExecutionResponse.wait_stage:type_name -> temporal.api.enums.v1.NexusOperationWaitStage + 412, // 396: temporal.api.workflowservice.v1.PollNexusOperationExecutionResponse.result:type_name -> temporal.api.common.v1.Payload + 299, // 397: temporal.api.workflowservice.v1.PollNexusOperationExecutionResponse.failure:type_name -> temporal.api.failure.v1.Failure + 417, // 398: temporal.api.workflowservice.v1.ListNexusOperationExecutionsResponse.operations:type_name -> temporal.api.nexus.v1.NexusOperationExecutionListInfo + 279, // 399: temporal.api.workflowservice.v1.CountActivityExecutionsResponse.groups:type_name -> temporal.api.workflowservice.v1.CountActivityExecutionsResponse.AggregationGroup + 280, // 400: temporal.api.workflowservice.v1.CountNexusOperationExecutionsResponse.groups:type_name -> temporal.api.workflowservice.v1.CountNexusOperationExecutionsResponse.AggregationGroup + 244, // 401: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest.FooByIdEntry.value:type_name -> temporal.api.workflowservice.v1.Foo + 314, // 402: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse.QueriesEntry.value:type_name -> temporal.api.query.v1.WorkflowQuery + 418, // 403: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest.QueryResultsEntry.value:type_name -> temporal.api.query.v1.WorkflowQueryResult + 412, // 404: temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse.AggregationGroup.group_values:type_name -> temporal.api.common.v1.Payload + 419, // 405: temporal.api.workflowservice.v1.GetSearchAttributesResponse.KeysEntry.value:type_name -> temporal.api.enums.v1.IndexedValueType + 352, // 406: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.StatsByPriorityKeyEntry.value:type_name -> temporal.api.taskqueue.v1.TaskQueueStats + 420, // 407: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.EffectiveRateLimit.rate_limit_source:type_name -> temporal.api.enums.v1.RateLimitSource + 421, // 408: temporal.api.workflowservice.v1.DescribeTaskQueueResponse.VersionsInfoEntry.value:type_name -> temporal.api.taskqueue.v1.TaskQueueVersionInfo + 412, // 409: temporal.api.workflowservice.v1.CountSchedulesResponse.AggregationGroup.group_values:type_name -> temporal.api.common.v1.Payload + 422, // 410: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.InsertBuildIdAssignmentRule.rule:type_name -> temporal.api.taskqueue.v1.BuildIdAssignmentRule + 422, // 411: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceBuildIdAssignmentRule.rule:type_name -> temporal.api.taskqueue.v1.BuildIdAssignmentRule + 423, // 412: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.AddCompatibleBuildIdRedirectRule.rule:type_name -> temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule + 423, // 413: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest.ReplaceCompatibleBuildIdRedirectRule.rule:type_name -> temporal.api.taskqueue.v1.CompatibleBuildIdRedirectRule + 10, // 414: temporal.api.workflowservice.v1.ExecuteMultiOperationRequest.Operation.start_workflow:type_name -> temporal.api.workflowservice.v1.StartWorkflowExecutionRequest + 110, // 415: temporal.api.workflowservice.v1.ExecuteMultiOperationRequest.Operation.update_workflow:type_name -> temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest + 11, // 416: temporal.api.workflowservice.v1.ExecuteMultiOperationResponse.Response.start_workflow:type_name -> temporal.api.workflowservice.v1.StartWorkflowExecutionResponse + 111, // 417: temporal.api.workflowservice.v1.ExecuteMultiOperationResponse.Response.update_workflow:type_name -> temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse + 339, // 418: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue.type:type_name -> temporal.api.enums.v1.TaskQueueType + 352, // 419: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue.stats:type_name -> temporal.api.taskqueue.v1.TaskQueueStats + 271, // 420: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue.stats_by_priority_key:type_name -> temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue.StatsByPriorityKeyEntry + 352, // 421: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse.VersionTaskQueue.StatsByPriorityKeyEntry.value:type_name -> temporal.api.taskqueue.v1.TaskQueueStats + 315, // 422: temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse.WorkerDeploymentSummary.create_time:type_name -> google.protobuf.Timestamp + 424, // 423: temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse.WorkerDeploymentSummary.routing_config:type_name -> temporal.api.deployment.v1.RoutingConfig + 425, // 424: temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse.WorkerDeploymentSummary.latest_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 425, // 425: temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse.WorkerDeploymentSummary.current_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 425, // 426: temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse.WorkerDeploymentSummary.ramping_version_summary:type_name -> temporal.api.deployment.v1.WorkerDeploymentInfo.WorkerDeploymentVersionSummary + 426, // 427: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigRequest.ComputeConfigScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroupUpdate + 426, // 428: temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigRequest.ComputeConfigScalingGroupsEntry.value:type_name -> temporal.api.compute.v1.ComputeConfigScalingGroupUpdate + 412, // 429: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest.UpsertEntriesEntry.value:type_name -> temporal.api.common.v1.Payload + 427, // 430: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest.RateLimitUpdate.rate_limit:type_name -> temporal.api.taskqueue.v1.RateLimit + 412, // 431: temporal.api.workflowservice.v1.CountActivityExecutionsResponse.AggregationGroup.group_values:type_name -> temporal.api.common.v1.Payload + 412, // 432: temporal.api.workflowservice.v1.CountNexusOperationExecutionsResponse.AggregationGroup.group_values:type_name -> temporal.api.common.v1.Payload + 433, // [433:433] is the sub-list for method output_type + 433, // [433:433] is the sub-list for method input_type + 433, // [433:433] is the sub-list for extension type_name + 433, // [433:433] is the sub-list for extension extendee + 0, // [0:433] is the sub-list for field type_name +} + +func init() { file_temporal_api_workflowservice_v1_request_response_proto_init() } +func file_temporal_api_workflowservice_v1_request_response_proto_init() { + if File_temporal_api_workflowservice_v1_request_response_proto != nil { + return + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[52].OneofWrappers = []any{ + (*ListOpenWorkflowExecutionsRequest_ExecutionFilter)(nil), + (*ListOpenWorkflowExecutionsRequest_TypeFilter)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[54].OneofWrappers = []any{ + (*ListClosedWorkflowExecutionsRequest_ExecutionFilter)(nil), + (*ListClosedWorkflowExecutionsRequest_TypeFilter)(nil), + (*ListClosedWorkflowExecutionsRequest_StatusFilter)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[100].OneofWrappers = []any{ + (*UpdateWorkerBuildIdCompatibilityRequest_AddNewBuildIdInNewDefaultSet)(nil), + (*UpdateWorkerBuildIdCompatibilityRequest_AddNewCompatibleBuildId)(nil), + (*UpdateWorkerBuildIdCompatibilityRequest_PromoteSetByBuildId)(nil), + (*UpdateWorkerBuildIdCompatibilityRequest_PromoteBuildIdWithinSet)(nil), + (*UpdateWorkerBuildIdCompatibilityRequest_MergeSets_)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[104].OneofWrappers = []any{ + (*UpdateWorkerVersioningRulesRequest_InsertAssignmentRule)(nil), + (*UpdateWorkerVersioningRulesRequest_ReplaceAssignmentRule)(nil), + (*UpdateWorkerVersioningRulesRequest_DeleteAssignmentRule)(nil), + (*UpdateWorkerVersioningRulesRequest_AddCompatibleRedirectRule)(nil), + (*UpdateWorkerVersioningRulesRequest_ReplaceCompatibleRedirectRule)(nil), + (*UpdateWorkerVersioningRulesRequest_DeleteCompatibleRedirectRule)(nil), + (*UpdateWorkerVersioningRulesRequest_CommitBuildId_)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[112].OneofWrappers = []any{ + (*StartBatchOperationRequest_TerminationOperation)(nil), + (*StartBatchOperationRequest_SignalOperation)(nil), + (*StartBatchOperationRequest_CancellationOperation)(nil), + (*StartBatchOperationRequest_DeletionOperation)(nil), + (*StartBatchOperationRequest_ResetOperation)(nil), + (*StartBatchOperationRequest_UpdateWorkflowOptionsOperation)(nil), + (*StartBatchOperationRequest_UnpauseActivitiesOperation)(nil), + (*StartBatchOperationRequest_ResetActivitiesOperation)(nil), + (*StartBatchOperationRequest_UpdateActivityOptionsOperation)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[130].OneofWrappers = []any{ + (*UpdateActivityOptionsRequest_Id)(nil), + (*UpdateActivityOptionsRequest_Type)(nil), + (*UpdateActivityOptionsRequest_MatchAll)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[134].OneofWrappers = []any{ + (*PauseActivityRequest_Id)(nil), + (*PauseActivityRequest_Type)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[138].OneofWrappers = []any{ + (*UnpauseActivityRequest_Id)(nil), + (*UnpauseActivityRequest_Type)(nil), + (*UnpauseActivityRequest_UnpauseAll)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[142].OneofWrappers = []any{ + (*ResetActivityRequest_Id)(nil), + (*ResetActivityRequest_Type)(nil), + (*ResetActivityRequest_MatchAll)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[178].OneofWrappers = []any{ + (*SetWorkerDeploymentManagerRequest_ManagerIdentity)(nil), + (*SetWorkerDeploymentManagerRequest_Self)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[192].OneofWrappers = []any{ + (*TriggerWorkflowRuleRequest_Id)(nil), + (*TriggerWorkflowRuleRequest_Spec)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[203].OneofWrappers = []any{ + (*UpdateWorkerConfigResponse_WorkerConfig)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[221].OneofWrappers = []any{ + (*DescribeNexusOperationExecutionResponse_Result)(nil), + (*DescribeNexusOperationExecutionResponse_Failure)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[223].OneofWrappers = []any{ + (*PollNexusOperationExecutionResponse_Result)(nil), + (*PollNexusOperationExecutionResponse_Failure)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[268].OneofWrappers = []any{ + (*ExecuteMultiOperationRequest_Operation_StartWorkflow)(nil), + (*ExecuteMultiOperationRequest_Operation_UpdateWorkflow)(nil), + } + file_temporal_api_workflowservice_v1_request_response_proto_msgTypes[269].OneofWrappers = []any{ + (*ExecuteMultiOperationResponse_Response_StartWorkflow)(nil), + (*ExecuteMultiOperationResponse_Response_UpdateWorkflow)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_workflowservice_v1_request_response_proto_rawDesc), len(file_temporal_api_workflowservice_v1_request_response_proto_rawDesc)), + NumEnums: 0, + NumMessages: 281, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_temporal_api_workflowservice_v1_request_response_proto_goTypes, + DependencyIndexes: file_temporal_api_workflowservice_v1_request_response_proto_depIdxs, + MessageInfos: file_temporal_api_workflowservice_v1_request_response_proto_msgTypes, + }.Build() + File_temporal_api_workflowservice_v1_request_response_proto = out.File + file_temporal_api_workflowservice_v1_request_response_proto_goTypes = nil + file_temporal_api_workflowservice_v1_request_response_proto_depIdxs = nil +} diff --git a/api_next/workflowservice/v1/service.pb.go b/api_next/workflowservice/v1/service.pb.go new file mode 100644 index 00000000..18e7b806 --- /dev/null +++ b/api_next/workflowservice/v1/service.pb.go @@ -0,0 +1,748 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// plugins: +// protoc-gen-go +// protoc +// source: temporal/api/workflowservice/v1/service.proto + +package workflowservice + +import ( + _ "go.temporal.io/api" + _ "go.temporal.io/api/protometa/v1" + _ "google.golang.org/genproto/googleapis/api/annotations" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + unsafe "unsafe" +) + +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) +) + +var File_temporal_api_workflowservice_v1_service_proto protoreflect.FileDescriptor + +const file_temporal_api_workflowservice_v1_service_proto_rawDesc = "" + + "\n" + + "-temporal/api/workflowservice/v1/service.proto\x12\x1ftemporal.api.workflowservice.v1\x1a6temporal/api/workflowservice/v1/request_response.proto\x1a\x1cgoogle/api/annotations.proto\x1a+temporal/api/protometa/v1/annotations.proto\x1a\x1ftemporal/api/experimental.proto2\xa2\xae\x02\n" + + "\x0fWorkflowService\x12\xc3\x01\n" + + "\x11RegisterNamespace\x129.temporal.api.workflowservice.v1.RegisterNamespaceRequest\x1a:.temporal.api.workflowservice.v1.RegisterNamespaceResponse\"7\x82\xd3\xe4\x93\x021:\x01*Z\x17:\x01*\"\x12/api/v1/namespaces\"\x13/cluster/namespaces\x12\xd5\x01\n" + + "\x11DescribeNamespace\x129.temporal.api.workflowservice.v1.DescribeNamespaceRequest\x1a:.temporal.api.workflowservice.v1.DescribeNamespaceResponse\"I\x82\xd3\xe4\x93\x02CZ \x12\x1e/api/v1/namespaces/{namespace}\x12\x1f/cluster/namespaces/{namespace}\x12\xb4\x01\n" + + "\x0eListNamespaces\x126.temporal.api.workflowservice.v1.ListNamespacesRequest\x1a7.temporal.api.workflowservice.v1.ListNamespacesResponse\"1\x82\xd3\xe4\x93\x02+Z\x14\x12\x12/api/v1/namespaces\x12\x13/cluster/namespaces\x12\xe3\x01\n" + + "\x0fUpdateNamespace\x127.temporal.api.workflowservice.v1.UpdateNamespaceRequest\x1a8.temporal.api.workflowservice.v1.UpdateNamespaceResponse\"]\x82\xd3\xe4\x93\x02W:\x01*Z*:\x01*\"%/api/v1/namespaces/{namespace}/update\"&/cluster/namespaces/{namespace}/update\x12\x8f\x01\n" + + "\x12DeprecateNamespace\x12:.temporal.api.workflowservice.v1.DeprecateNamespaceRequest\x1a;.temporal.api.workflowservice.v1.DeprecateNamespaceResponse\"\x00\x12p\n" + + "\x04Echo\x12,.temporal.api.workflowservice.v1.EchoRequest\x1a-.temporal.api.workflowservice.v1.EchoResponse\"\v\xca\xcc%\aexample\x12\xc6\x02\n" + + "\x16StartWorkflowExecution\x12>.temporal.api.workflowservice.v1.StartWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.StartWorkflowExecutionResponse\"\xaa\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12\x16workflow:{workflow_id}\x82\xd3\xe4\x93\x02q:\x01*Z;:\x01*\"6/api/v1/namespaces/{namespace}/workflows/{workflow_id}\"//namespaces/{namespace}/workflows/{workflow_id}\x12\xc2\x01\n" + + "\x15ExecuteMultiOperation\x12=.temporal.api.workflowservice.v1.ExecuteMultiOperationRequest\x1a>.temporal.api.workflowservice.v1.ExecuteMultiOperationResponse\"*\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x12\xfe\x02\n" + + "\x1bGetWorkflowExecutionHistory\x12C.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest\x1aD.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse\"\xd3\x01\x8a\x9d\xcc\x1b8\n" + + "\x14temporal-resource-id\x12 workflow:{execution.workflow_id}\x82\xd3\xe4\x93\x02\x8f\x01ZJ\x12H/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history\x12A/namespaces/{namespace}/workflows/{execution.workflow_id}/history\x12\xa3\x03\n" + + "\"GetWorkflowExecutionHistoryReverse\x12J.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseRequest\x1aK.temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseResponse\"\xe3\x01\x8a\x9d\xcc\x1b8\n" + + "\x14temporal-resource-id\x12 workflow:{execution.workflow_id}\x82\xd3\xe4\x93\x02\x9f\x01ZR\x12P/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse\x12I/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse\x12\xcd\x01\n" + + "\x15PollWorkflowTaskQueue\x12=.temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse\"5\x8a\x9d\xcc\x1b0\n" + + "\x14temporal-resource-id\x12\x18poller:{poller_group_id}\x12\xd7\x01\n" + + "\x1cRespondWorkflowTaskCompleted\x12D.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest\x1aE.temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse\"*\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x12\xce\x01\n" + + "\x19RespondWorkflowTaskFailed\x12A.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest\x1aB.temporal.api.workflowservice.v1.RespondWorkflowTaskFailedResponse\"*\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x12\xcd\x01\n" + + "\x15PollActivityTaskQueue\x12=.temporal.api.workflowservice.v1.PollActivityTaskQueueRequest\x1a>.temporal.api.workflowservice.v1.PollActivityTaskQueueResponse\"5\x8a\x9d\xcc\x1b0\n" + + "\x14temporal-resource-id\x12\x18poller:{poller_group_id}\x12\xc2\x02\n" + + "\x1bRecordActivityTaskHeartbeat\x12C.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatRequest\x1aD.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatResponse\"\x97\x01\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02g:\x01*Z6:\x01*\"1/api/v1/namespaces/{namespace}/activity-heartbeat\"*/namespaces/{namespace}/activity-heartbeat\x12\xa8\x04\n" + + "\x1fRecordActivityTaskHeartbeatById\x12G.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest\x1aH.temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdResponse\"\xf1\x02\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02\xc0\x02:\x01*ZF:\x01*\"A/api/v1/namespaces/{namespace}/activities/{activity_id}/heartbeatZW:\x01*\"R/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/heartbeatZ^:\x01*\"Y/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/heartbeat\":/namespaces/{namespace}/activities/{activity_id}/heartbeat\x12\xc3\x02\n" + + "\x1cRespondActivityTaskCompleted\x12D.temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest\x1aE.temporal.api.workflowservice.v1.RespondActivityTaskCompletedResponse\"\x95\x01\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02e:\x01*Z5:\x01*\"0/api/v1/namespaces/{namespace}/activity-complete\")/namespaces/{namespace}/activity-complete\x12\xa7\x04\n" + + " RespondActivityTaskCompletedById\x12H.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest\x1aI.temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdResponse\"\xed\x02\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02\xbc\x02:\x01*ZE:\x01*\"@/api/v1/namespaces/{namespace}/activities/{activity_id}/completeZV:\x01*\"Q/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/completeZ]:\x01*\"X/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/complete\"9/namespaces/{namespace}/activities/{activity_id}/complete\x12\xb2\x02\n" + + "\x19RespondActivityTaskFailed\x12A.temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest\x1aB.temporal.api.workflowservice.v1.RespondActivityTaskFailedResponse\"\x8d\x01\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02]:\x01*Z1:\x01*\",/api/v1/namespaces/{namespace}/activity-fail\"%/namespaces/{namespace}/activity-fail\x12\x8e\x04\n" + + "\x1dRespondActivityTaskFailedById\x12E.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest\x1aF.temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdResponse\"\xdd\x02\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02\xac\x02:\x01*ZA:\x01*\".temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.ResetWorkflowExecutionResponse\"\xf0\x01\x8a\x9d\xcc\x1bA\n" + + "\x14temporal-resource-id\x12)workflow:{workflow_execution.workflow_id}\x82\xd3\xe4\x93\x02\xa3\x01:\x01*ZT:\x01*\"O/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset\"H/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset\x12\xa0\x03\n" + + "\x1aTerminateWorkflowExecution\x12B.temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest\x1aC.temporal.api.workflowservice.v1.TerminateWorkflowExecutionResponse\"\xf8\x01\x8a\x9d\xcc\x1bA\n" + + "\x14temporal-resource-id\x12)workflow:{workflow_execution.workflow_id}\x82\xd3\xe4\x93\x02\xab\x01:\x01*ZX:\x01*\"S/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate\"L/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate\x12\xe4\x01\n" + + "\x17DeleteWorkflowExecution\x12?.temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest\x1a@.temporal.api.workflowservice.v1.DeleteWorkflowExecutionResponse\"F\x8a\x9d\xcc\x1bA\n" + + "\x14temporal-resource-id\x12)workflow:{workflow_execution.workflow_id}\x12\xa7\x01\n" + + "\x1aListOpenWorkflowExecutions\x12B.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest\x1aC.temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsResponse\"\x00\x12\xad\x01\n" + + "\x1cListClosedWorkflowExecutions\x12D.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest\x1aE.temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsResponse\"\x00\x12\xf0\x01\n" + + "\x16ListWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ListWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ListWorkflowExecutionsResponse\"U\x82\xd3\xe4\x93\x02OZ*\x12(/api/v1/namespaces/{namespace}/workflows\x12!/namespaces/{namespace}/workflows\x12\x9a\x02\n" + + "\x1eListArchivedWorkflowExecutions\x12F.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsRequest\x1aG.temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsResponse\"g\x82\xd3\xe4\x93\x02aZ3\x121/api/v1/namespaces/{namespace}/archived-workflows\x12*/namespaces/{namespace}/archived-workflows\x12\x9b\x01\n" + + "\x16ScanWorkflowExecutions\x12>.temporal.api.workflowservice.v1.ScanWorkflowExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ScanWorkflowExecutionsResponse\"\x00\x12\xfd\x01\n" + + "\x17CountWorkflowExecutions\x12?.temporal.api.workflowservice.v1.CountWorkflowExecutionsRequest\x1a@.temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse\"_\x82\xd3\xe4\x93\x02YZ/\x12-/api/v1/namespaces/{namespace}/workflow-count\x12&/namespaces/{namespace}/workflow-count\x12\x92\x01\n" + + "\x13GetSearchAttributes\x12;.temporal.api.workflowservice.v1.GetSearchAttributesRequest\x1a<.temporal.api.workflowservice.v1.GetSearchAttributesResponse\"\x00\x12\xd9\x01\n" + + "\x19RespondQueryTaskCompleted\x12A.temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest\x1aB.temporal.api.workflowservice.v1.RespondQueryTaskCompletedResponse\"5\x8a\x9d\xcc\x1b0\n" + + "\x14temporal-resource-id\x12\x18poller:{poller_group_id}\x12\xd2\x01\n" + + "\x14ResetStickyTaskQueue\x12<.temporal.api.workflowservice.v1.ResetStickyTaskQueueRequest\x1a=.temporal.api.workflowservice.v1.ResetStickyTaskQueueResponse\"=\x8a\x9d\xcc\x1b8\n" + + "\x14temporal-resource-id\x12 workflow:{execution.workflow_id}\x12\x83\x01\n" + + "\x0eShutdownWorker\x126.temporal.api.workflowservice.v1.ShutdownWorkerRequest\x1a7.temporal.api.workflowservice.v1.ShutdownWorkerResponse\"\x00\x12\xfc\x02\n" + + "\rQueryWorkflow\x125.temporal.api.workflowservice.v1.QueryWorkflowRequest\x1a6.temporal.api.workflowservice.v1.QueryWorkflowResponse\"\xfb\x01\x8a\x9d\xcc\x1b8\n" + + "\x14temporal-resource-id\x12 workflow:{execution.workflow_id}\x82\xd3\xe4\x93\x02\xb7\x01:\x01*Z^:\x01*\"Y/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}\"R/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}\x12\xe7\x02\n" + + "\x19DescribeWorkflowExecution\x12A.temporal.api.workflowservice.v1.DescribeWorkflowExecutionRequest\x1aB.temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse\"\xc2\x01\x8a\x9d\xcc\x1b8\n" + + "\x14temporal-resource-id\x12 workflow:{execution.workflow_id}\x82\xd3\xe4\x93\x02\x7fZB\x12@/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}\x129/namespaces/{namespace}/workflows/{execution.workflow_id}\x12\xc2\x02\n" + + "\x11DescribeTaskQueue\x129.temporal.api.workflowservice.v1.DescribeTaskQueueRequest\x1a:.temporal.api.workflowservice.v1.DescribeTaskQueueResponse\"\xb5\x01\x8a\x9d\xcc\x1b3\n" + + "\x14temporal-resource-id\x12\x1btaskqueue:{task_queue.name}\x82\xd3\xe4\x93\x02wZ>\x12/namespaces/{namespace}/schedules/{schedule_id}/matching-times\x12\xa8\x02\n" + + "\x0eDeleteSchedule\x126.temporal.api.workflowservice.v1.DeleteScheduleRequest\x1a7.temporal.api.workflowservice.v1.DeleteScheduleResponse\"\xa4\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12\x16schedule:{schedule_id}\x82\xd3\xe4\x93\x02kZ8*6/api/v1/namespaces/{namespace}/schedules/{schedule_id}*//namespaces/{namespace}/schedules/{schedule_id}\x12\xd5\x01\n" + + "\rListSchedules\x125.temporal.api.workflowservice.v1.ListSchedulesRequest\x1a6.temporal.api.workflowservice.v1.ListSchedulesResponse\"U\x82\xd3\xe4\x93\x02OZ*\x12(/api/v1/namespaces/{namespace}/schedules\x12!/namespaces/{namespace}/schedules\x12\xe2\x01\n" + + "\x0eCountSchedules\x126.temporal.api.workflowservice.v1.CountSchedulesRequest\x1a7.temporal.api.workflowservice.v1.CountSchedulesResponse\"_\x82\xd3\xe4\x93\x02YZ/\x12-/api/v1/namespaces/{namespace}/schedule-count\x12&/namespaces/{namespace}/schedule-count\x12\xb9\x01\n" + + " UpdateWorkerBuildIdCompatibility\x12H.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest\x1aI.temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityResponse\"\x00\x12\xe1\x02\n" + + "\x1dGetWorkerBuildIdCompatibility\x12E.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest\x1aF.temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse\"\xb0\x01\x82\xd3\xe4\x93\x02\xa9\x01ZW\x12U/api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility\x12N/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility\x12\xaa\x01\n" + + "\x1bUpdateWorkerVersioningRules\x12C.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest\x1aD.temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse\"\x00\x12\xc6\x02\n" + + "\x18GetWorkerVersioningRules\x12@.temporal.api.workflowservice.v1.GetWorkerVersioningRulesRequest\x1aA.temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse\"\xa4\x01\x82\xd3\xe4\x93\x02\x9d\x01ZQ\x12O/api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rules\x12H/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rules\x12\x97\x02\n" + + "\x19GetWorkerTaskReachability\x12A.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest\x1aB.temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse\"s\x82\xd3\xe4\x93\x02mZ9\x127/api/v1/namespaces/{namespace}/worker-task-reachability\x120/namespaces/{namespace}/worker-task-reachability\x12\xc8\x02\n" + + "\x12DescribeDeployment\x12:.temporal.api.workflowservice.v1.DescribeDeploymentRequest\x1a;.temporal.api.workflowservice.v1.DescribeDeploymentResponse\"\xb8\x01\x82\xd3\xe4\x93\x02\xb1\x01Z[\x12Y/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}\x12R/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}\x12\x81\x04\n" + + "\x1fDescribeWorkerDeploymentVersion\x12G.temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionRequest\x1aH.temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse\"\xca\x02\x8a\x9d\xcc\x1bG\n" + + "\x14temporal-resource-id\x12/deployment:{deployment_version.deployment_name}\x82\xd3\xe4\x93\x02\xf7\x01Z~\x12|/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}\x12u/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}\x12\xdf\x01\n" + + "\x0fListDeployments\x127.temporal.api.workflowservice.v1.ListDeploymentsRequest\x1a8.temporal.api.workflowservice.v1.ListDeploymentsResponse\"Y\x82\xd3\xe4\x93\x02SZ,\x12*/api/v1/namespaces/{namespace}/deployments\x12#/namespaces/{namespace}/deployments\x12\xf7\x02\n" + + "\x19GetDeploymentReachability\x12A.temporal.api.workflowservice.v1.GetDeploymentReachabilityRequest\x1aB.temporal.api.workflowservice.v1.GetDeploymentReachabilityResponse\"\xd2\x01\x82\xd3\xe4\x93\x02\xcb\x01Zh\x12f/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability\x12_/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability\x12\x99\x02\n" + + "\x14GetCurrentDeployment\x12<.temporal.api.workflowservice.v1.GetCurrentDeploymentRequest\x1a=.temporal.api.workflowservice.v1.GetCurrentDeploymentResponse\"\x83\x01\x82\xd3\xe4\x93\x02}ZA\x12?/api/v1/namespaces/{namespace}/current-deployment/{series_name}\x128/namespaces/{namespace}/current-deployment/{series_name}\x12\xb6\x02\n" + + "\x14SetCurrentDeployment\x12<.temporal.api.workflowservice.v1.SetCurrentDeploymentRequest\x1a=.temporal.api.workflowservice.v1.SetCurrentDeploymentResponse\"\xa0\x01\x82\xd3\xe4\x93\x02\x99\x01:\x01*ZO:\x01*\"J/api/v1/namespaces/{namespace}/current-deployment/{deployment.series_name}\"C/namespaces/{namespace}/current-deployment/{deployment.series_name}\x12\xb0\x03\n" + + "!SetWorkerDeploymentCurrentVersion\x12I.temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionRequest\x1aJ.temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionResponse\"\xf3\x01\x8a\x9d\xcc\x1b4\n" + + "\x14temporal-resource-id\x12\x1cdeployment:{deployment_name}\x82\xd3\xe4\x93\x02\xb3\x01:\x01*Z\\:\x01*\"W/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}/set-current-version\"P/namespaces/{namespace}/worker-deployments/{deployment_name}/set-current-version\x12\xe7\x02\n" + + "\x18DescribeWorkerDeployment\x12@.temporal.api.workflowservice.v1.DescribeWorkerDeploymentRequest\x1aA.temporal.api.workflowservice.v1.DescribeWorkerDeploymentResponse\"\xc5\x01\x8a\x9d\xcc\x1b4\n" + + "\x14temporal-resource-id\x12\x1cdeployment:{deployment_name}\x82\xd3\xe4\x93\x02\x85\x01ZE\x12C/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}\x12.temporal.api.workflowservice.v1.DeleteWorkerDeploymentRequest\x1a?.temporal.api.workflowservice.v1.DeleteWorkerDeploymentResponse\"\xc5\x01\x8a\x9d\xcc\x1b4\n" + + "\x14temporal-resource-id\x12\x1cdeployment:{deployment_name}\x82\xd3\xe4\x93\x02\x85\x01ZE*C/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}*.temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse\"g\x82\xd3\xe4\x93\x02aZ3\x121/api/v1/namespaces/{namespace}/worker-deployments\x12*/namespaces/{namespace}/worker-deployments\x12\xae\x02\n" + + "\x16CreateWorkerDeployment\x12>.temporal.api.workflowservice.v1.CreateWorkerDeploymentRequest\x1a?.temporal.api.workflowservice.v1.CreateWorkerDeploymentResponse\"\x92\x01\x82\xd3\xe4\x93\x02\x8b\x01:\x01*ZH:\x01*\"C/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}\".temporal.api.workflowservice.v1.DescribeBatchOperationRequest\x1a?.temporal.api.workflowservice.v1.DescribeBatchOperationResponse\"\xa0\x01\x8a\x9d\xcc\x1b&\n" + + "\x14temporal-resource-id\x12\x0ebatch:{job_id}\x82\xd3\xe4\x93\x02oZ:\x128/api/v1/namespaces/{namespace}/batch-operations/{job_id}\x121/namespaces/{namespace}/batch-operations/{job_id}\x12\xf5\x01\n" + + "\x13ListBatchOperations\x12;.temporal.api.workflowservice.v1.ListBatchOperationsRequest\x1a<.temporal.api.workflowservice.v1.ListBatchOperationsResponse\"c\x82\xd3\xe4\x93\x02]Z1\x12//api/v1/namespaces/{namespace}/batch-operations\x12(/namespaces/{namespace}/batch-operations\x12\xc4\x01\n" + + "\x12PollNexusTaskQueue\x12:.temporal.api.workflowservice.v1.PollNexusTaskQueueRequest\x1a;.temporal.api.workflowservice.v1.PollNexusTaskQueueResponse\"5\x8a\x9d\xcc\x1b0\n" + + "\x14temporal-resource-id\x12\x18poller:{poller_group_id}\x12\xd9\x01\n" + + "\x19RespondNexusTaskCompleted\x12A.temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest\x1aB.temporal.api.workflowservice.v1.RespondNexusTaskCompletedResponse\"5\x8a\x9d\xcc\x1b0\n" + + "\x14temporal-resource-id\x12\x18poller:{poller_group_id}\x12\xd0\x01\n" + + "\x16RespondNexusTaskFailed\x12>.temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest\x1a?.temporal.api.workflowservice.v1.RespondNexusTaskFailedResponse\"5\x8a\x9d\xcc\x1b0\n" + + "\x14temporal-resource-id\x12\x18poller:{poller_group_id}\x12\xe8\x02\n" + + "\x15UpdateActivityOptions\x12=.temporal.api.workflowservice.v1.UpdateActivityOptionsRequest\x1a>.temporal.api.workflowservice.v1.UpdateActivityOptionsResponse\"\xcf\x01\x8a\x9d\xcc\x1b8\n" + + "\x14temporal-resource-id\x12 workflow:{execution.workflow_id}\x82\xd3\xe4\x93\x02\x8b\x01:\x01*ZH:\x01*\"C/api/v1/namespaces/{namespace}/activities-deprecated/update-options\".temporal.api.workflowservice.v1.RecordWorkerHeartbeatResponse\"\x95\x01\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02e:\x01*Z5:\x01*\"0/api/v1/namespaces/{namespace}/workers/heartbeat\")/namespaces/{namespace}/workers/heartbeat\x12\xcb\x01\n" + + "\vListWorkers\x123.temporal.api.workflowservice.v1.ListWorkersRequest\x1a4.temporal.api.workflowservice.v1.ListWorkersResponse\"Q\x82\xd3\xe4\x93\x02KZ(\x12&/api/v1/namespaces/{namespace}/workers\x12\x1f/namespaces/{namespace}/workers\x12\xe2\x02\n" + + "\x15UpdateTaskQueueConfig\x12=.temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest\x1a>.temporal.api.workflowservice.v1.UpdateTaskQueueConfigResponse\"\xc9\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12\x16taskqueue:{task_queue}\x82\xd3\xe4\x93\x02\x8f\x01:\x01*ZJ:\x01*\"E/api/v1/namespaces/{namespace}/task-queues/{task_queue}/update-config\">/namespaces/{namespace}/task-queues/{task_queue}/update-config\x12\xa8\x02\n" + + "\x11FetchWorkerConfig\x129.temporal.api.workflowservice.v1.FetchWorkerConfigRequest\x1a:.temporal.api.workflowservice.v1.FetchWorkerConfigResponse\"\x9b\x01\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02k:\x01*Z8:\x01*\"3/api/v1/namespaces/{namespace}/workers/fetch-config\",/namespaces/{namespace}/workers/fetch-config\x12\xad\x02\n" + + "\x12UpdateWorkerConfig\x12:.temporal.api.workflowservice.v1.UpdateWorkerConfigRequest\x1a;.temporal.api.workflowservice.v1.UpdateWorkerConfigResponse\"\x9d\x01\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02m:\x01*Z9:\x01*\"4/api/v1/namespaces/{namespace}/workers/update-config\"-/namespaces/{namespace}/workers/update-config\x12\xcd\x02\n" + + "\x0eDescribeWorker\x126.temporal.api.workflowservice.v1.DescribeWorkerRequest\x1a7.temporal.api.workflowservice.v1.DescribeWorkerResponse\"\xc9\x01\x8a\x9d\xcc\x1b4\n" + + "\x14temporal-resource-id\x12\x1cworker:{worker_instance_key}\x82\xd3\xe4\x93\x02\x89\x01ZG\x12E/api/v1/namespaces/{namespace}/workers/describe/{worker_instance_key}\x12>/namespaces/{namespace}/workers/describe/{worker_instance_key}\x12\xd2\x02\n" + + "\x16PauseWorkflowExecution\x12>.temporal.api.workflowservice.v1.PauseWorkflowExecutionRequest\x1a?.temporal.api.workflowservice.v1.PauseWorkflowExecutionResponse\"\xb6\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12\x16workflow:{workflow_id}\x82\xd3\xe4\x93\x02}:\x01*ZA:\x01*\"/api/v1/namespaces/{namespace}/workflows/{workflow_id}/unpause\"7/namespaces/{namespace}/workflows/{workflow_id}/unpause\x12\xc8\x02\n" + + "\x16StartActivityExecution\x12>.temporal.api.workflowservice.v1.StartActivityExecutionRequest\x1a?.temporal.api.workflowservice.v1.StartActivityExecutionResponse\"\xac\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12\x16activity:{activity_id}\x82\xd3\xe4\x93\x02s:\x01*Z<:\x01*\"7/api/v1/namespaces/{namespace}/activities/{activity_id}\"0/namespaces/{namespace}/activities/{activity_id}\x12\xb6\x02\n" + + "\x1cStartNexusOperationExecution\x12D.temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest\x1aE.temporal.api.workflowservice.v1.StartNexusOperationExecutionResponse\"\x88\x01\x82\xd3\xe4\x93\x02\x81\x01:\x01*ZC:\x01*\">/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}\"7/namespaces/{namespace}/nexus-operations/{operation_id}\x12\xcb\x02\n" + + "\x19DescribeActivityExecution\x12A.temporal.api.workflowservice.v1.DescribeActivityExecutionRequest\x1aB.temporal.api.workflowservice.v1.DescribeActivityExecutionResponse\"\xa6\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12\x16activity:{activity_id}\x82\xd3\xe4\x93\x02mZ9\x127/api/v1/namespaces/{namespace}/activities/{activity_id}\x120/namespaces/{namespace}/activities/{activity_id}\x12\xb8\x02\n" + + "\x1fDescribeNexusOperationExecution\x12G.temporal.api.workflowservice.v1.DescribeNexusOperationExecutionRequest\x1aH.temporal.api.workflowservice.v1.DescribeNexusOperationExecutionResponse\"\x81\x01\x82\xd3\xe4\x93\x02{Z@\x12>/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}\x127/namespaces/{namespace}/nexus-operations/{operation_id}\x12\xcf\x02\n" + + "\x15PollActivityExecution\x12=.temporal.api.workflowservice.v1.PollActivityExecutionRequest\x1a>.temporal.api.workflowservice.v1.PollActivityExecutionResponse\"\xb6\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12\x16activity:{activity_id}\x82\xd3\xe4\x93\x02}ZA\x12?/api/v1/namespaces/{namespace}/activities/{activity_id}/outcome\x128/namespaces/{namespace}/activities/{activity_id}/outcome\x12\xb7\x02\n" + + "\x1bPollNexusOperationExecution\x12C.temporal.api.workflowservice.v1.PollNexusOperationExecutionRequest\x1aD.temporal.api.workflowservice.v1.PollNexusOperationExecutionResponse\"\x8c\x01\x82\xd3\xe4\x93\x02\x85\x01ZE\x12C/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}/poll\x12.temporal.api.workflowservice.v1.ListActivityExecutionsRequest\x1a?.temporal.api.workflowservice.v1.ListActivityExecutionsResponse\"W\x82\xd3\xe4\x93\x02QZ+\x12)/api/v1/namespaces/{namespace}/activities\x12\"/namespaces/{namespace}/activities\x12\x90\x02\n" + + "\x1cListNexusOperationExecutions\x12D.temporal.api.workflowservice.v1.ListNexusOperationExecutionsRequest\x1aE.temporal.api.workflowservice.v1.ListNexusOperationExecutionsResponse\"c\x82\xd3\xe4\x93\x02]Z1\x12//api/v1/namespaces/{namespace}/nexus-operations\x12(/namespaces/{namespace}/nexus-operations\x12\xfd\x01\n" + + "\x17CountActivityExecutions\x12?.temporal.api.workflowservice.v1.CountActivityExecutionsRequest\x1a@.temporal.api.workflowservice.v1.CountActivityExecutionsResponse\"_\x82\xd3\xe4\x93\x02YZ/\x12-/api/v1/namespaces/{namespace}/activity-count\x12&/namespaces/{namespace}/activity-count\x12\x9d\x02\n" + + "\x1dCountNexusOperationExecutions\x12E.temporal.api.workflowservice.v1.CountNexusOperationExecutionsRequest\x1aF.temporal.api.workflowservice.v1.CountNexusOperationExecutionsResponse\"m\x82\xd3\xe4\x93\x02gZ6\x124/api/v1/namespaces/{namespace}/nexus-operation-count\x12-/namespaces/{namespace}/nexus-operation-count\x12\xef\x02\n" + + "\x1eRequestCancelActivityExecution\x12F.temporal.api.workflowservice.v1.RequestCancelActivityExecutionRequest\x1aG.temporal.api.workflowservice.v1.RequestCancelActivityExecutionResponse\"\xbb\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12\x16activity:{activity_id}\x82\xd3\xe4\x93\x02\x81\x01:\x01*ZC:\x01*\">/api/v1/namespaces/{namespace}/activities/{activity_id}/cancel\"7/namespaces/{namespace}/activities/{activity_id}/cancel\x12\xdc\x02\n" + + "$RequestCancelNexusOperationExecution\x12L.temporal.api.workflowservice.v1.RequestCancelNexusOperationExecutionRequest\x1aM.temporal.api.workflowservice.v1.RequestCancelNexusOperationExecutionResponse\"\x96\x01\x82\xd3\xe4\x93\x02\x8f\x01:\x01*ZJ:\x01*\"E/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}/cancel\">/namespaces/{namespace}/nexus-operations/{operation_id}/cancel\x12\xe9\x02\n" + + "\x1aTerminateActivityExecution\x12B.temporal.api.workflowservice.v1.TerminateActivityExecutionRequest\x1aC.temporal.api.workflowservice.v1.TerminateActivityExecutionResponse\"\xc1\x01\x8a\x9d\xcc\x1b.\n" + + "\x14temporal-resource-id\x12\x16activity:{activity_id}\x82\xd3\xe4\x93\x02\x87\x01:\x01*ZF:\x01*\"A/api/v1/namespaces/{namespace}/activities/{activity_id}/terminate\":/namespaces/{namespace}/activities/{activity_id}/terminate\x12\x9e\x01\n" + + "\x17DeleteActivityExecution\x12?.temporal.api.workflowservice.v1.DeleteActivityExecutionRequest\x1a@.temporal.api.workflowservice.v1.DeleteActivityExecutionResponse\"\x00\x12\xfd\x03\n" + + "\x16PauseActivityExecution\x12>.temporal.api.workflowservice.v1.PauseActivityExecutionRequest\x1a?.temporal.api.workflowservice.v1.PauseActivityExecutionResponse\"\xe1\x02\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02\xb0\x02:\x01*ZB:\x01*\"=/api/v1/namespaces/{namespace}/activities/{activity_id}/pauseZS:\x01*\"N/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/pauseZZ:\x01*\"U/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/pause\"6/namespaces/{namespace}/activities/{activity_id}/pause\x12\xfd\x03\n" + + "\x16ResetActivityExecution\x12>.temporal.api.workflowservice.v1.ResetActivityExecutionRequest\x1a?.temporal.api.workflowservice.v1.ResetActivityExecutionResponse\"\xe1\x02\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02\xb0\x02:\x01*ZB:\x01*\"=/api/v1/namespaces/{namespace}/activities/{activity_id}/resetZS:\x01*\"N/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/resetZZ:\x01*\"U/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/reset\"6/namespaces/{namespace}/activities/{activity_id}/reset\x12\x8b\x04\n" + + "\x18UnpauseActivityExecution\x12@.temporal.api.workflowservice.v1.UnpauseActivityExecutionRequest\x1aA.temporal.api.workflowservice.v1.UnpauseActivityExecutionResponse\"\xe9\x02\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02\xb8\x02:\x01*ZD:\x01*\"?/api/v1/namespaces/{namespace}/activities/{activity_id}/unpauseZU:\x01*\"P/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/unpauseZ\\:\x01*\"W/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/unpause\"8/namespaces/{namespace}/activities/{activity_id}/unpause\x12\xb9\x04\n" + + "\x1eUpdateActivityExecutionOptions\x12F.temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsRequest\x1aG.temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsResponse\"\x85\x03\x8a\x9d\xcc\x1b%\n" + + "\x14temporal-resource-id\x12\r{resource_id}\x82\xd3\xe4\x93\x02\xd4\x02:\x01*ZK:\x01*\"F/api/v1/namespaces/{namespace}/activities/{activity_id}/update-optionsZ\\:\x01*\"W/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/update-optionsZc:\x01*\"^/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/update-options\"?/namespaces/{namespace}/activities/{activity_id}/update-options\x12\xd6\x02\n" + + " TerminateNexusOperationExecution\x12H.temporal.api.workflowservice.v1.TerminateNexusOperationExecutionRequest\x1aI.temporal.api.workflowservice.v1.TerminateNexusOperationExecutionResponse\"\x9c\x01\x82\xd3\xe4\x93\x02\x95\x01:\x01*ZM:\x01*\"H/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}/terminate\"A/namespaces/{namespace}/nexus-operations/{operation_id}/terminate\x12\xb0\x01\n" + + "\x1dDeleteNexusOperationExecution\x12E.temporal.api.workflowservice.v1.DeleteNexusOperationExecutionRequest\x1aF.temporal.api.workflowservice.v1.DeleteNexusOperationExecutionResponse\"\x00B\xb6\x01\n" + + "\"io.temporal.api.workflowservice.v1B\fServiceProtoP\x01Z5go.temporal.io/api/workflowservice/v1;workflowservice\xaa\x02!Temporalio.Api.WorkflowService.V1\xea\x02$Temporalio::Api::WorkflowService::V1b\x06proto3" + +var file_temporal_api_workflowservice_v1_service_proto_goTypes = []any{ + (*RegisterNamespaceRequest)(nil), // 0: temporal.api.workflowservice.v1.RegisterNamespaceRequest + (*DescribeNamespaceRequest)(nil), // 1: temporal.api.workflowservice.v1.DescribeNamespaceRequest + (*ListNamespacesRequest)(nil), // 2: temporal.api.workflowservice.v1.ListNamespacesRequest + (*UpdateNamespaceRequest)(nil), // 3: temporal.api.workflowservice.v1.UpdateNamespaceRequest + (*DeprecateNamespaceRequest)(nil), // 4: temporal.api.workflowservice.v1.DeprecateNamespaceRequest + (*EchoRequest)(nil), // 5: temporal.api.workflowservice.v1.EchoRequest + (*StartWorkflowExecutionRequest)(nil), // 6: temporal.api.workflowservice.v1.StartWorkflowExecutionRequest + (*ExecuteMultiOperationRequest)(nil), // 7: temporal.api.workflowservice.v1.ExecuteMultiOperationRequest + (*GetWorkflowExecutionHistoryRequest)(nil), // 8: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest + (*GetWorkflowExecutionHistoryReverseRequest)(nil), // 9: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseRequest + (*PollWorkflowTaskQueueRequest)(nil), // 10: temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest + (*RespondWorkflowTaskCompletedRequest)(nil), // 11: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest + (*RespondWorkflowTaskFailedRequest)(nil), // 12: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest + (*PollActivityTaskQueueRequest)(nil), // 13: temporal.api.workflowservice.v1.PollActivityTaskQueueRequest + (*RecordActivityTaskHeartbeatRequest)(nil), // 14: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatRequest + (*RecordActivityTaskHeartbeatByIdRequest)(nil), // 15: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest + (*RespondActivityTaskCompletedRequest)(nil), // 16: temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest + (*RespondActivityTaskCompletedByIdRequest)(nil), // 17: temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest + (*RespondActivityTaskFailedRequest)(nil), // 18: temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest + (*RespondActivityTaskFailedByIdRequest)(nil), // 19: temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest + (*RespondActivityTaskCanceledRequest)(nil), // 20: temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest + (*RespondActivityTaskCanceledByIdRequest)(nil), // 21: temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest + (*RequestCancelWorkflowExecutionRequest)(nil), // 22: temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest + (*SignalWorkflowExecutionRequest)(nil), // 23: temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest + (*SignalWithStartWorkflowExecutionRequest)(nil), // 24: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest + (*ResetWorkflowExecutionRequest)(nil), // 25: temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest + (*TerminateWorkflowExecutionRequest)(nil), // 26: temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest + (*DeleteWorkflowExecutionRequest)(nil), // 27: temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest + (*ListOpenWorkflowExecutionsRequest)(nil), // 28: temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest + (*ListClosedWorkflowExecutionsRequest)(nil), // 29: temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest + (*ListWorkflowExecutionsRequest)(nil), // 30: temporal.api.workflowservice.v1.ListWorkflowExecutionsRequest + (*ListArchivedWorkflowExecutionsRequest)(nil), // 31: temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsRequest + (*ScanWorkflowExecutionsRequest)(nil), // 32: temporal.api.workflowservice.v1.ScanWorkflowExecutionsRequest + (*CountWorkflowExecutionsRequest)(nil), // 33: temporal.api.workflowservice.v1.CountWorkflowExecutionsRequest + (*GetSearchAttributesRequest)(nil), // 34: temporal.api.workflowservice.v1.GetSearchAttributesRequest + (*RespondQueryTaskCompletedRequest)(nil), // 35: temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest + (*ResetStickyTaskQueueRequest)(nil), // 36: temporal.api.workflowservice.v1.ResetStickyTaskQueueRequest + (*ShutdownWorkerRequest)(nil), // 37: temporal.api.workflowservice.v1.ShutdownWorkerRequest + (*QueryWorkflowRequest)(nil), // 38: temporal.api.workflowservice.v1.QueryWorkflowRequest + (*DescribeWorkflowExecutionRequest)(nil), // 39: temporal.api.workflowservice.v1.DescribeWorkflowExecutionRequest + (*DescribeTaskQueueRequest)(nil), // 40: temporal.api.workflowservice.v1.DescribeTaskQueueRequest + (*GetClusterInfoRequest)(nil), // 41: temporal.api.workflowservice.v1.GetClusterInfoRequest + (*GetSystemInfoRequest)(nil), // 42: temporal.api.workflowservice.v1.GetSystemInfoRequest + (*ListTaskQueuePartitionsRequest)(nil), // 43: temporal.api.workflowservice.v1.ListTaskQueuePartitionsRequest + (*CreateScheduleRequest)(nil), // 44: temporal.api.workflowservice.v1.CreateScheduleRequest + (*DescribeScheduleRequest)(nil), // 45: temporal.api.workflowservice.v1.DescribeScheduleRequest + (*UpdateScheduleRequest)(nil), // 46: temporal.api.workflowservice.v1.UpdateScheduleRequest + (*PatchScheduleRequest)(nil), // 47: temporal.api.workflowservice.v1.PatchScheduleRequest + (*ListScheduleMatchingTimesRequest)(nil), // 48: temporal.api.workflowservice.v1.ListScheduleMatchingTimesRequest + (*DeleteScheduleRequest)(nil), // 49: temporal.api.workflowservice.v1.DeleteScheduleRequest + (*ListSchedulesRequest)(nil), // 50: temporal.api.workflowservice.v1.ListSchedulesRequest + (*CountSchedulesRequest)(nil), // 51: temporal.api.workflowservice.v1.CountSchedulesRequest + (*UpdateWorkerBuildIdCompatibilityRequest)(nil), // 52: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest + (*GetWorkerBuildIdCompatibilityRequest)(nil), // 53: temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest + (*UpdateWorkerVersioningRulesRequest)(nil), // 54: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest + (*GetWorkerVersioningRulesRequest)(nil), // 55: temporal.api.workflowservice.v1.GetWorkerVersioningRulesRequest + (*GetWorkerTaskReachabilityRequest)(nil), // 56: temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest + (*DescribeDeploymentRequest)(nil), // 57: temporal.api.workflowservice.v1.DescribeDeploymentRequest + (*DescribeWorkerDeploymentVersionRequest)(nil), // 58: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionRequest + (*ListDeploymentsRequest)(nil), // 59: temporal.api.workflowservice.v1.ListDeploymentsRequest + (*GetDeploymentReachabilityRequest)(nil), // 60: temporal.api.workflowservice.v1.GetDeploymentReachabilityRequest + (*GetCurrentDeploymentRequest)(nil), // 61: temporal.api.workflowservice.v1.GetCurrentDeploymentRequest + (*SetCurrentDeploymentRequest)(nil), // 62: temporal.api.workflowservice.v1.SetCurrentDeploymentRequest + (*SetWorkerDeploymentCurrentVersionRequest)(nil), // 63: temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionRequest + (*DescribeWorkerDeploymentRequest)(nil), // 64: temporal.api.workflowservice.v1.DescribeWorkerDeploymentRequest + (*DeleteWorkerDeploymentRequest)(nil), // 65: temporal.api.workflowservice.v1.DeleteWorkerDeploymentRequest + (*DeleteWorkerDeploymentVersionRequest)(nil), // 66: temporal.api.workflowservice.v1.DeleteWorkerDeploymentVersionRequest + (*SetWorkerDeploymentRampingVersionRequest)(nil), // 67: temporal.api.workflowservice.v1.SetWorkerDeploymentRampingVersionRequest + (*ListWorkerDeploymentsRequest)(nil), // 68: temporal.api.workflowservice.v1.ListWorkerDeploymentsRequest + (*CreateWorkerDeploymentRequest)(nil), // 69: temporal.api.workflowservice.v1.CreateWorkerDeploymentRequest + (*CreateWorkerDeploymentVersionRequest)(nil), // 70: temporal.api.workflowservice.v1.CreateWorkerDeploymentVersionRequest + (*UpdateWorkerDeploymentVersionComputeConfigRequest)(nil), // 71: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigRequest + (*ValidateWorkerDeploymentVersionComputeConfigRequest)(nil), // 72: temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigRequest + (*UpdateWorkerDeploymentVersionMetadataRequest)(nil), // 73: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest + (*SetWorkerDeploymentManagerRequest)(nil), // 74: temporal.api.workflowservice.v1.SetWorkerDeploymentManagerRequest + (*UpdateWorkflowExecutionRequest)(nil), // 75: temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest + (*PollWorkflowExecutionUpdateRequest)(nil), // 76: temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest + (*StartBatchOperationRequest)(nil), // 77: temporal.api.workflowservice.v1.StartBatchOperationRequest + (*StopBatchOperationRequest)(nil), // 78: temporal.api.workflowservice.v1.StopBatchOperationRequest + (*DescribeBatchOperationRequest)(nil), // 79: temporal.api.workflowservice.v1.DescribeBatchOperationRequest + (*ListBatchOperationsRequest)(nil), // 80: temporal.api.workflowservice.v1.ListBatchOperationsRequest + (*PollNexusTaskQueueRequest)(nil), // 81: temporal.api.workflowservice.v1.PollNexusTaskQueueRequest + (*RespondNexusTaskCompletedRequest)(nil), // 82: temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest + (*RespondNexusTaskFailedRequest)(nil), // 83: temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest + (*UpdateActivityOptionsRequest)(nil), // 84: temporal.api.workflowservice.v1.UpdateActivityOptionsRequest + (*UpdateWorkflowExecutionOptionsRequest)(nil), // 85: temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest + (*PauseActivityRequest)(nil), // 86: temporal.api.workflowservice.v1.PauseActivityRequest + (*UnpauseActivityRequest)(nil), // 87: temporal.api.workflowservice.v1.UnpauseActivityRequest + (*ResetActivityRequest)(nil), // 88: temporal.api.workflowservice.v1.ResetActivityRequest + (*CreateWorkflowRuleRequest)(nil), // 89: temporal.api.workflowservice.v1.CreateWorkflowRuleRequest + (*DescribeWorkflowRuleRequest)(nil), // 90: temporal.api.workflowservice.v1.DescribeWorkflowRuleRequest + (*DeleteWorkflowRuleRequest)(nil), // 91: temporal.api.workflowservice.v1.DeleteWorkflowRuleRequest + (*ListWorkflowRulesRequest)(nil), // 92: temporal.api.workflowservice.v1.ListWorkflowRulesRequest + (*TriggerWorkflowRuleRequest)(nil), // 93: temporal.api.workflowservice.v1.TriggerWorkflowRuleRequest + (*RecordWorkerHeartbeatRequest)(nil), // 94: temporal.api.workflowservice.v1.RecordWorkerHeartbeatRequest + (*ListWorkersRequest)(nil), // 95: temporal.api.workflowservice.v1.ListWorkersRequest + (*UpdateTaskQueueConfigRequest)(nil), // 96: temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest + (*FetchWorkerConfigRequest)(nil), // 97: temporal.api.workflowservice.v1.FetchWorkerConfigRequest + (*UpdateWorkerConfigRequest)(nil), // 98: temporal.api.workflowservice.v1.UpdateWorkerConfigRequest + (*DescribeWorkerRequest)(nil), // 99: temporal.api.workflowservice.v1.DescribeWorkerRequest + (*PauseWorkflowExecutionRequest)(nil), // 100: temporal.api.workflowservice.v1.PauseWorkflowExecutionRequest + (*UnpauseWorkflowExecutionRequest)(nil), // 101: temporal.api.workflowservice.v1.UnpauseWorkflowExecutionRequest + (*StartActivityExecutionRequest)(nil), // 102: temporal.api.workflowservice.v1.StartActivityExecutionRequest + (*StartNexusOperationExecutionRequest)(nil), // 103: temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest + (*DescribeActivityExecutionRequest)(nil), // 104: temporal.api.workflowservice.v1.DescribeActivityExecutionRequest + (*DescribeNexusOperationExecutionRequest)(nil), // 105: temporal.api.workflowservice.v1.DescribeNexusOperationExecutionRequest + (*PollActivityExecutionRequest)(nil), // 106: temporal.api.workflowservice.v1.PollActivityExecutionRequest + (*PollNexusOperationExecutionRequest)(nil), // 107: temporal.api.workflowservice.v1.PollNexusOperationExecutionRequest + (*ListActivityExecutionsRequest)(nil), // 108: temporal.api.workflowservice.v1.ListActivityExecutionsRequest + (*ListNexusOperationExecutionsRequest)(nil), // 109: temporal.api.workflowservice.v1.ListNexusOperationExecutionsRequest + (*CountActivityExecutionsRequest)(nil), // 110: temporal.api.workflowservice.v1.CountActivityExecutionsRequest + (*CountNexusOperationExecutionsRequest)(nil), // 111: temporal.api.workflowservice.v1.CountNexusOperationExecutionsRequest + (*RequestCancelActivityExecutionRequest)(nil), // 112: temporal.api.workflowservice.v1.RequestCancelActivityExecutionRequest + (*RequestCancelNexusOperationExecutionRequest)(nil), // 113: temporal.api.workflowservice.v1.RequestCancelNexusOperationExecutionRequest + (*TerminateActivityExecutionRequest)(nil), // 114: temporal.api.workflowservice.v1.TerminateActivityExecutionRequest + (*DeleteActivityExecutionRequest)(nil), // 115: temporal.api.workflowservice.v1.DeleteActivityExecutionRequest + (*PauseActivityExecutionRequest)(nil), // 116: temporal.api.workflowservice.v1.PauseActivityExecutionRequest + (*ResetActivityExecutionRequest)(nil), // 117: temporal.api.workflowservice.v1.ResetActivityExecutionRequest + (*UnpauseActivityExecutionRequest)(nil), // 118: temporal.api.workflowservice.v1.UnpauseActivityExecutionRequest + (*UpdateActivityExecutionOptionsRequest)(nil), // 119: temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsRequest + (*TerminateNexusOperationExecutionRequest)(nil), // 120: temporal.api.workflowservice.v1.TerminateNexusOperationExecutionRequest + (*DeleteNexusOperationExecutionRequest)(nil), // 121: temporal.api.workflowservice.v1.DeleteNexusOperationExecutionRequest + (*RegisterNamespaceResponse)(nil), // 122: temporal.api.workflowservice.v1.RegisterNamespaceResponse + (*DescribeNamespaceResponse)(nil), // 123: temporal.api.workflowservice.v1.DescribeNamespaceResponse + (*ListNamespacesResponse)(nil), // 124: temporal.api.workflowservice.v1.ListNamespacesResponse + (*UpdateNamespaceResponse)(nil), // 125: temporal.api.workflowservice.v1.UpdateNamespaceResponse + (*DeprecateNamespaceResponse)(nil), // 126: temporal.api.workflowservice.v1.DeprecateNamespaceResponse + (*EchoResponse)(nil), // 127: temporal.api.workflowservice.v1.EchoResponse + (*StartWorkflowExecutionResponse)(nil), // 128: temporal.api.workflowservice.v1.StartWorkflowExecutionResponse + (*ExecuteMultiOperationResponse)(nil), // 129: temporal.api.workflowservice.v1.ExecuteMultiOperationResponse + (*GetWorkflowExecutionHistoryResponse)(nil), // 130: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse + (*GetWorkflowExecutionHistoryReverseResponse)(nil), // 131: temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseResponse + (*PollWorkflowTaskQueueResponse)(nil), // 132: temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse + (*RespondWorkflowTaskCompletedResponse)(nil), // 133: temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse + (*RespondWorkflowTaskFailedResponse)(nil), // 134: temporal.api.workflowservice.v1.RespondWorkflowTaskFailedResponse + (*PollActivityTaskQueueResponse)(nil), // 135: temporal.api.workflowservice.v1.PollActivityTaskQueueResponse + (*RecordActivityTaskHeartbeatResponse)(nil), // 136: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatResponse + (*RecordActivityTaskHeartbeatByIdResponse)(nil), // 137: temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdResponse + (*RespondActivityTaskCompletedResponse)(nil), // 138: temporal.api.workflowservice.v1.RespondActivityTaskCompletedResponse + (*RespondActivityTaskCompletedByIdResponse)(nil), // 139: temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdResponse + (*RespondActivityTaskFailedResponse)(nil), // 140: temporal.api.workflowservice.v1.RespondActivityTaskFailedResponse + (*RespondActivityTaskFailedByIdResponse)(nil), // 141: temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdResponse + (*RespondActivityTaskCanceledResponse)(nil), // 142: temporal.api.workflowservice.v1.RespondActivityTaskCanceledResponse + (*RespondActivityTaskCanceledByIdResponse)(nil), // 143: temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdResponse + (*RequestCancelWorkflowExecutionResponse)(nil), // 144: temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionResponse + (*SignalWorkflowExecutionResponse)(nil), // 145: temporal.api.workflowservice.v1.SignalWorkflowExecutionResponse + (*SignalWithStartWorkflowExecutionResponse)(nil), // 146: temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse + (*ResetWorkflowExecutionResponse)(nil), // 147: temporal.api.workflowservice.v1.ResetWorkflowExecutionResponse + (*TerminateWorkflowExecutionResponse)(nil), // 148: temporal.api.workflowservice.v1.TerminateWorkflowExecutionResponse + (*DeleteWorkflowExecutionResponse)(nil), // 149: temporal.api.workflowservice.v1.DeleteWorkflowExecutionResponse + (*ListOpenWorkflowExecutionsResponse)(nil), // 150: temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsResponse + (*ListClosedWorkflowExecutionsResponse)(nil), // 151: temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsResponse + (*ListWorkflowExecutionsResponse)(nil), // 152: temporal.api.workflowservice.v1.ListWorkflowExecutionsResponse + (*ListArchivedWorkflowExecutionsResponse)(nil), // 153: temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsResponse + (*ScanWorkflowExecutionsResponse)(nil), // 154: temporal.api.workflowservice.v1.ScanWorkflowExecutionsResponse + (*CountWorkflowExecutionsResponse)(nil), // 155: temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse + (*GetSearchAttributesResponse)(nil), // 156: temporal.api.workflowservice.v1.GetSearchAttributesResponse + (*RespondQueryTaskCompletedResponse)(nil), // 157: temporal.api.workflowservice.v1.RespondQueryTaskCompletedResponse + (*ResetStickyTaskQueueResponse)(nil), // 158: temporal.api.workflowservice.v1.ResetStickyTaskQueueResponse + (*ShutdownWorkerResponse)(nil), // 159: temporal.api.workflowservice.v1.ShutdownWorkerResponse + (*QueryWorkflowResponse)(nil), // 160: temporal.api.workflowservice.v1.QueryWorkflowResponse + (*DescribeWorkflowExecutionResponse)(nil), // 161: temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse + (*DescribeTaskQueueResponse)(nil), // 162: temporal.api.workflowservice.v1.DescribeTaskQueueResponse + (*GetClusterInfoResponse)(nil), // 163: temporal.api.workflowservice.v1.GetClusterInfoResponse + (*GetSystemInfoResponse)(nil), // 164: temporal.api.workflowservice.v1.GetSystemInfoResponse + (*ListTaskQueuePartitionsResponse)(nil), // 165: temporal.api.workflowservice.v1.ListTaskQueuePartitionsResponse + (*CreateScheduleResponse)(nil), // 166: temporal.api.workflowservice.v1.CreateScheduleResponse + (*DescribeScheduleResponse)(nil), // 167: temporal.api.workflowservice.v1.DescribeScheduleResponse + (*UpdateScheduleResponse)(nil), // 168: temporal.api.workflowservice.v1.UpdateScheduleResponse + (*PatchScheduleResponse)(nil), // 169: temporal.api.workflowservice.v1.PatchScheduleResponse + (*ListScheduleMatchingTimesResponse)(nil), // 170: temporal.api.workflowservice.v1.ListScheduleMatchingTimesResponse + (*DeleteScheduleResponse)(nil), // 171: temporal.api.workflowservice.v1.DeleteScheduleResponse + (*ListSchedulesResponse)(nil), // 172: temporal.api.workflowservice.v1.ListSchedulesResponse + (*CountSchedulesResponse)(nil), // 173: temporal.api.workflowservice.v1.CountSchedulesResponse + (*UpdateWorkerBuildIdCompatibilityResponse)(nil), // 174: temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityResponse + (*GetWorkerBuildIdCompatibilityResponse)(nil), // 175: temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse + (*UpdateWorkerVersioningRulesResponse)(nil), // 176: temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse + (*GetWorkerVersioningRulesResponse)(nil), // 177: temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse + (*GetWorkerTaskReachabilityResponse)(nil), // 178: temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse + (*DescribeDeploymentResponse)(nil), // 179: temporal.api.workflowservice.v1.DescribeDeploymentResponse + (*DescribeWorkerDeploymentVersionResponse)(nil), // 180: temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse + (*ListDeploymentsResponse)(nil), // 181: temporal.api.workflowservice.v1.ListDeploymentsResponse + (*GetDeploymentReachabilityResponse)(nil), // 182: temporal.api.workflowservice.v1.GetDeploymentReachabilityResponse + (*GetCurrentDeploymentResponse)(nil), // 183: temporal.api.workflowservice.v1.GetCurrentDeploymentResponse + (*SetCurrentDeploymentResponse)(nil), // 184: temporal.api.workflowservice.v1.SetCurrentDeploymentResponse + (*SetWorkerDeploymentCurrentVersionResponse)(nil), // 185: temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionResponse + (*DescribeWorkerDeploymentResponse)(nil), // 186: temporal.api.workflowservice.v1.DescribeWorkerDeploymentResponse + (*DeleteWorkerDeploymentResponse)(nil), // 187: temporal.api.workflowservice.v1.DeleteWorkerDeploymentResponse + (*DeleteWorkerDeploymentVersionResponse)(nil), // 188: temporal.api.workflowservice.v1.DeleteWorkerDeploymentVersionResponse + (*SetWorkerDeploymentRampingVersionResponse)(nil), // 189: temporal.api.workflowservice.v1.SetWorkerDeploymentRampingVersionResponse + (*ListWorkerDeploymentsResponse)(nil), // 190: temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse + (*CreateWorkerDeploymentResponse)(nil), // 191: temporal.api.workflowservice.v1.CreateWorkerDeploymentResponse + (*CreateWorkerDeploymentVersionResponse)(nil), // 192: temporal.api.workflowservice.v1.CreateWorkerDeploymentVersionResponse + (*UpdateWorkerDeploymentVersionComputeConfigResponse)(nil), // 193: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigResponse + (*ValidateWorkerDeploymentVersionComputeConfigResponse)(nil), // 194: temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigResponse + (*UpdateWorkerDeploymentVersionMetadataResponse)(nil), // 195: temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataResponse + (*SetWorkerDeploymentManagerResponse)(nil), // 196: temporal.api.workflowservice.v1.SetWorkerDeploymentManagerResponse + (*UpdateWorkflowExecutionResponse)(nil), // 197: temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse + (*PollWorkflowExecutionUpdateResponse)(nil), // 198: temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse + (*StartBatchOperationResponse)(nil), // 199: temporal.api.workflowservice.v1.StartBatchOperationResponse + (*StopBatchOperationResponse)(nil), // 200: temporal.api.workflowservice.v1.StopBatchOperationResponse + (*DescribeBatchOperationResponse)(nil), // 201: temporal.api.workflowservice.v1.DescribeBatchOperationResponse + (*ListBatchOperationsResponse)(nil), // 202: temporal.api.workflowservice.v1.ListBatchOperationsResponse + (*PollNexusTaskQueueResponse)(nil), // 203: temporal.api.workflowservice.v1.PollNexusTaskQueueResponse + (*RespondNexusTaskCompletedResponse)(nil), // 204: temporal.api.workflowservice.v1.RespondNexusTaskCompletedResponse + (*RespondNexusTaskFailedResponse)(nil), // 205: temporal.api.workflowservice.v1.RespondNexusTaskFailedResponse + (*UpdateActivityOptionsResponse)(nil), // 206: temporal.api.workflowservice.v1.UpdateActivityOptionsResponse + (*UpdateWorkflowExecutionOptionsResponse)(nil), // 207: temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsResponse + (*PauseActivityResponse)(nil), // 208: temporal.api.workflowservice.v1.PauseActivityResponse + (*UnpauseActivityResponse)(nil), // 209: temporal.api.workflowservice.v1.UnpauseActivityResponse + (*ResetActivityResponse)(nil), // 210: temporal.api.workflowservice.v1.ResetActivityResponse + (*CreateWorkflowRuleResponse)(nil), // 211: temporal.api.workflowservice.v1.CreateWorkflowRuleResponse + (*DescribeWorkflowRuleResponse)(nil), // 212: temporal.api.workflowservice.v1.DescribeWorkflowRuleResponse + (*DeleteWorkflowRuleResponse)(nil), // 213: temporal.api.workflowservice.v1.DeleteWorkflowRuleResponse + (*ListWorkflowRulesResponse)(nil), // 214: temporal.api.workflowservice.v1.ListWorkflowRulesResponse + (*TriggerWorkflowRuleResponse)(nil), // 215: temporal.api.workflowservice.v1.TriggerWorkflowRuleResponse + (*RecordWorkerHeartbeatResponse)(nil), // 216: temporal.api.workflowservice.v1.RecordWorkerHeartbeatResponse + (*ListWorkersResponse)(nil), // 217: temporal.api.workflowservice.v1.ListWorkersResponse + (*UpdateTaskQueueConfigResponse)(nil), // 218: temporal.api.workflowservice.v1.UpdateTaskQueueConfigResponse + (*FetchWorkerConfigResponse)(nil), // 219: temporal.api.workflowservice.v1.FetchWorkerConfigResponse + (*UpdateWorkerConfigResponse)(nil), // 220: temporal.api.workflowservice.v1.UpdateWorkerConfigResponse + (*DescribeWorkerResponse)(nil), // 221: temporal.api.workflowservice.v1.DescribeWorkerResponse + (*PauseWorkflowExecutionResponse)(nil), // 222: temporal.api.workflowservice.v1.PauseWorkflowExecutionResponse + (*UnpauseWorkflowExecutionResponse)(nil), // 223: temporal.api.workflowservice.v1.UnpauseWorkflowExecutionResponse + (*StartActivityExecutionResponse)(nil), // 224: temporal.api.workflowservice.v1.StartActivityExecutionResponse + (*StartNexusOperationExecutionResponse)(nil), // 225: temporal.api.workflowservice.v1.StartNexusOperationExecutionResponse + (*DescribeActivityExecutionResponse)(nil), // 226: temporal.api.workflowservice.v1.DescribeActivityExecutionResponse + (*DescribeNexusOperationExecutionResponse)(nil), // 227: temporal.api.workflowservice.v1.DescribeNexusOperationExecutionResponse + (*PollActivityExecutionResponse)(nil), // 228: temporal.api.workflowservice.v1.PollActivityExecutionResponse + (*PollNexusOperationExecutionResponse)(nil), // 229: temporal.api.workflowservice.v1.PollNexusOperationExecutionResponse + (*ListActivityExecutionsResponse)(nil), // 230: temporal.api.workflowservice.v1.ListActivityExecutionsResponse + (*ListNexusOperationExecutionsResponse)(nil), // 231: temporal.api.workflowservice.v1.ListNexusOperationExecutionsResponse + (*CountActivityExecutionsResponse)(nil), // 232: temporal.api.workflowservice.v1.CountActivityExecutionsResponse + (*CountNexusOperationExecutionsResponse)(nil), // 233: temporal.api.workflowservice.v1.CountNexusOperationExecutionsResponse + (*RequestCancelActivityExecutionResponse)(nil), // 234: temporal.api.workflowservice.v1.RequestCancelActivityExecutionResponse + (*RequestCancelNexusOperationExecutionResponse)(nil), // 235: temporal.api.workflowservice.v1.RequestCancelNexusOperationExecutionResponse + (*TerminateActivityExecutionResponse)(nil), // 236: temporal.api.workflowservice.v1.TerminateActivityExecutionResponse + (*DeleteActivityExecutionResponse)(nil), // 237: temporal.api.workflowservice.v1.DeleteActivityExecutionResponse + (*PauseActivityExecutionResponse)(nil), // 238: temporal.api.workflowservice.v1.PauseActivityExecutionResponse + (*ResetActivityExecutionResponse)(nil), // 239: temporal.api.workflowservice.v1.ResetActivityExecutionResponse + (*UnpauseActivityExecutionResponse)(nil), // 240: temporal.api.workflowservice.v1.UnpauseActivityExecutionResponse + (*UpdateActivityExecutionOptionsResponse)(nil), // 241: temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsResponse + (*TerminateNexusOperationExecutionResponse)(nil), // 242: temporal.api.workflowservice.v1.TerminateNexusOperationExecutionResponse + (*DeleteNexusOperationExecutionResponse)(nil), // 243: temporal.api.workflowservice.v1.DeleteNexusOperationExecutionResponse +} +var file_temporal_api_workflowservice_v1_service_proto_depIdxs = []int32{ + 0, // 0: temporal.api.workflowservice.v1.WorkflowService.RegisterNamespace:input_type -> temporal.api.workflowservice.v1.RegisterNamespaceRequest + 1, // 1: temporal.api.workflowservice.v1.WorkflowService.DescribeNamespace:input_type -> temporal.api.workflowservice.v1.DescribeNamespaceRequest + 2, // 2: temporal.api.workflowservice.v1.WorkflowService.ListNamespaces:input_type -> temporal.api.workflowservice.v1.ListNamespacesRequest + 3, // 3: temporal.api.workflowservice.v1.WorkflowService.UpdateNamespace:input_type -> temporal.api.workflowservice.v1.UpdateNamespaceRequest + 4, // 4: temporal.api.workflowservice.v1.WorkflowService.DeprecateNamespace:input_type -> temporal.api.workflowservice.v1.DeprecateNamespaceRequest + 5, // 5: temporal.api.workflowservice.v1.WorkflowService.Echo:input_type -> temporal.api.workflowservice.v1.EchoRequest + 6, // 6: temporal.api.workflowservice.v1.WorkflowService.StartWorkflowExecution:input_type -> temporal.api.workflowservice.v1.StartWorkflowExecutionRequest + 7, // 7: temporal.api.workflowservice.v1.WorkflowService.ExecuteMultiOperation:input_type -> temporal.api.workflowservice.v1.ExecuteMultiOperationRequest + 8, // 8: temporal.api.workflowservice.v1.WorkflowService.GetWorkflowExecutionHistory:input_type -> temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryRequest + 9, // 9: temporal.api.workflowservice.v1.WorkflowService.GetWorkflowExecutionHistoryReverse:input_type -> temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseRequest + 10, // 10: temporal.api.workflowservice.v1.WorkflowService.PollWorkflowTaskQueue:input_type -> temporal.api.workflowservice.v1.PollWorkflowTaskQueueRequest + 11, // 11: temporal.api.workflowservice.v1.WorkflowService.RespondWorkflowTaskCompleted:input_type -> temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedRequest + 12, // 12: temporal.api.workflowservice.v1.WorkflowService.RespondWorkflowTaskFailed:input_type -> temporal.api.workflowservice.v1.RespondWorkflowTaskFailedRequest + 13, // 13: temporal.api.workflowservice.v1.WorkflowService.PollActivityTaskQueue:input_type -> temporal.api.workflowservice.v1.PollActivityTaskQueueRequest + 14, // 14: temporal.api.workflowservice.v1.WorkflowService.RecordActivityTaskHeartbeat:input_type -> temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatRequest + 15, // 15: temporal.api.workflowservice.v1.WorkflowService.RecordActivityTaskHeartbeatById:input_type -> temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdRequest + 16, // 16: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskCompleted:input_type -> temporal.api.workflowservice.v1.RespondActivityTaskCompletedRequest + 17, // 17: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskCompletedById:input_type -> temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdRequest + 18, // 18: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskFailed:input_type -> temporal.api.workflowservice.v1.RespondActivityTaskFailedRequest + 19, // 19: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskFailedById:input_type -> temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdRequest + 20, // 20: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskCanceled:input_type -> temporal.api.workflowservice.v1.RespondActivityTaskCanceledRequest + 21, // 21: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskCanceledById:input_type -> temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdRequest + 22, // 22: temporal.api.workflowservice.v1.WorkflowService.RequestCancelWorkflowExecution:input_type -> temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionRequest + 23, // 23: temporal.api.workflowservice.v1.WorkflowService.SignalWorkflowExecution:input_type -> temporal.api.workflowservice.v1.SignalWorkflowExecutionRequest + 24, // 24: temporal.api.workflowservice.v1.WorkflowService.SignalWithStartWorkflowExecution:input_type -> temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionRequest + 25, // 25: temporal.api.workflowservice.v1.WorkflowService.ResetWorkflowExecution:input_type -> temporal.api.workflowservice.v1.ResetWorkflowExecutionRequest + 26, // 26: temporal.api.workflowservice.v1.WorkflowService.TerminateWorkflowExecution:input_type -> temporal.api.workflowservice.v1.TerminateWorkflowExecutionRequest + 27, // 27: temporal.api.workflowservice.v1.WorkflowService.DeleteWorkflowExecution:input_type -> temporal.api.workflowservice.v1.DeleteWorkflowExecutionRequest + 28, // 28: temporal.api.workflowservice.v1.WorkflowService.ListOpenWorkflowExecutions:input_type -> temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsRequest + 29, // 29: temporal.api.workflowservice.v1.WorkflowService.ListClosedWorkflowExecutions:input_type -> temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsRequest + 30, // 30: temporal.api.workflowservice.v1.WorkflowService.ListWorkflowExecutions:input_type -> temporal.api.workflowservice.v1.ListWorkflowExecutionsRequest + 31, // 31: temporal.api.workflowservice.v1.WorkflowService.ListArchivedWorkflowExecutions:input_type -> temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsRequest + 32, // 32: temporal.api.workflowservice.v1.WorkflowService.ScanWorkflowExecutions:input_type -> temporal.api.workflowservice.v1.ScanWorkflowExecutionsRequest + 33, // 33: temporal.api.workflowservice.v1.WorkflowService.CountWorkflowExecutions:input_type -> temporal.api.workflowservice.v1.CountWorkflowExecutionsRequest + 34, // 34: temporal.api.workflowservice.v1.WorkflowService.GetSearchAttributes:input_type -> temporal.api.workflowservice.v1.GetSearchAttributesRequest + 35, // 35: temporal.api.workflowservice.v1.WorkflowService.RespondQueryTaskCompleted:input_type -> temporal.api.workflowservice.v1.RespondQueryTaskCompletedRequest + 36, // 36: temporal.api.workflowservice.v1.WorkflowService.ResetStickyTaskQueue:input_type -> temporal.api.workflowservice.v1.ResetStickyTaskQueueRequest + 37, // 37: temporal.api.workflowservice.v1.WorkflowService.ShutdownWorker:input_type -> temporal.api.workflowservice.v1.ShutdownWorkerRequest + 38, // 38: temporal.api.workflowservice.v1.WorkflowService.QueryWorkflow:input_type -> temporal.api.workflowservice.v1.QueryWorkflowRequest + 39, // 39: temporal.api.workflowservice.v1.WorkflowService.DescribeWorkflowExecution:input_type -> temporal.api.workflowservice.v1.DescribeWorkflowExecutionRequest + 40, // 40: temporal.api.workflowservice.v1.WorkflowService.DescribeTaskQueue:input_type -> temporal.api.workflowservice.v1.DescribeTaskQueueRequest + 41, // 41: temporal.api.workflowservice.v1.WorkflowService.GetClusterInfo:input_type -> temporal.api.workflowservice.v1.GetClusterInfoRequest + 42, // 42: temporal.api.workflowservice.v1.WorkflowService.GetSystemInfo:input_type -> temporal.api.workflowservice.v1.GetSystemInfoRequest + 43, // 43: temporal.api.workflowservice.v1.WorkflowService.ListTaskQueuePartitions:input_type -> temporal.api.workflowservice.v1.ListTaskQueuePartitionsRequest + 44, // 44: temporal.api.workflowservice.v1.WorkflowService.CreateSchedule:input_type -> temporal.api.workflowservice.v1.CreateScheduleRequest + 45, // 45: temporal.api.workflowservice.v1.WorkflowService.DescribeSchedule:input_type -> temporal.api.workflowservice.v1.DescribeScheduleRequest + 46, // 46: temporal.api.workflowservice.v1.WorkflowService.UpdateSchedule:input_type -> temporal.api.workflowservice.v1.UpdateScheduleRequest + 47, // 47: temporal.api.workflowservice.v1.WorkflowService.PatchSchedule:input_type -> temporal.api.workflowservice.v1.PatchScheduleRequest + 48, // 48: temporal.api.workflowservice.v1.WorkflowService.ListScheduleMatchingTimes:input_type -> temporal.api.workflowservice.v1.ListScheduleMatchingTimesRequest + 49, // 49: temporal.api.workflowservice.v1.WorkflowService.DeleteSchedule:input_type -> temporal.api.workflowservice.v1.DeleteScheduleRequest + 50, // 50: temporal.api.workflowservice.v1.WorkflowService.ListSchedules:input_type -> temporal.api.workflowservice.v1.ListSchedulesRequest + 51, // 51: temporal.api.workflowservice.v1.WorkflowService.CountSchedules:input_type -> temporal.api.workflowservice.v1.CountSchedulesRequest + 52, // 52: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerBuildIdCompatibility:input_type -> temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityRequest + 53, // 53: temporal.api.workflowservice.v1.WorkflowService.GetWorkerBuildIdCompatibility:input_type -> temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityRequest + 54, // 54: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerVersioningRules:input_type -> temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesRequest + 55, // 55: temporal.api.workflowservice.v1.WorkflowService.GetWorkerVersioningRules:input_type -> temporal.api.workflowservice.v1.GetWorkerVersioningRulesRequest + 56, // 56: temporal.api.workflowservice.v1.WorkflowService.GetWorkerTaskReachability:input_type -> temporal.api.workflowservice.v1.GetWorkerTaskReachabilityRequest + 57, // 57: temporal.api.workflowservice.v1.WorkflowService.DescribeDeployment:input_type -> temporal.api.workflowservice.v1.DescribeDeploymentRequest + 58, // 58: temporal.api.workflowservice.v1.WorkflowService.DescribeWorkerDeploymentVersion:input_type -> temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionRequest + 59, // 59: temporal.api.workflowservice.v1.WorkflowService.ListDeployments:input_type -> temporal.api.workflowservice.v1.ListDeploymentsRequest + 60, // 60: temporal.api.workflowservice.v1.WorkflowService.GetDeploymentReachability:input_type -> temporal.api.workflowservice.v1.GetDeploymentReachabilityRequest + 61, // 61: temporal.api.workflowservice.v1.WorkflowService.GetCurrentDeployment:input_type -> temporal.api.workflowservice.v1.GetCurrentDeploymentRequest + 62, // 62: temporal.api.workflowservice.v1.WorkflowService.SetCurrentDeployment:input_type -> temporal.api.workflowservice.v1.SetCurrentDeploymentRequest + 63, // 63: temporal.api.workflowservice.v1.WorkflowService.SetWorkerDeploymentCurrentVersion:input_type -> temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionRequest + 64, // 64: temporal.api.workflowservice.v1.WorkflowService.DescribeWorkerDeployment:input_type -> temporal.api.workflowservice.v1.DescribeWorkerDeploymentRequest + 65, // 65: temporal.api.workflowservice.v1.WorkflowService.DeleteWorkerDeployment:input_type -> temporal.api.workflowservice.v1.DeleteWorkerDeploymentRequest + 66, // 66: temporal.api.workflowservice.v1.WorkflowService.DeleteWorkerDeploymentVersion:input_type -> temporal.api.workflowservice.v1.DeleteWorkerDeploymentVersionRequest + 67, // 67: temporal.api.workflowservice.v1.WorkflowService.SetWorkerDeploymentRampingVersion:input_type -> temporal.api.workflowservice.v1.SetWorkerDeploymentRampingVersionRequest + 68, // 68: temporal.api.workflowservice.v1.WorkflowService.ListWorkerDeployments:input_type -> temporal.api.workflowservice.v1.ListWorkerDeploymentsRequest + 69, // 69: temporal.api.workflowservice.v1.WorkflowService.CreateWorkerDeployment:input_type -> temporal.api.workflowservice.v1.CreateWorkerDeploymentRequest + 70, // 70: temporal.api.workflowservice.v1.WorkflowService.CreateWorkerDeploymentVersion:input_type -> temporal.api.workflowservice.v1.CreateWorkerDeploymentVersionRequest + 71, // 71: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerDeploymentVersionComputeConfig:input_type -> temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigRequest + 72, // 72: temporal.api.workflowservice.v1.WorkflowService.ValidateWorkerDeploymentVersionComputeConfig:input_type -> temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigRequest + 73, // 73: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerDeploymentVersionMetadata:input_type -> temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataRequest + 74, // 74: temporal.api.workflowservice.v1.WorkflowService.SetWorkerDeploymentManager:input_type -> temporal.api.workflowservice.v1.SetWorkerDeploymentManagerRequest + 75, // 75: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkflowExecution:input_type -> temporal.api.workflowservice.v1.UpdateWorkflowExecutionRequest + 76, // 76: temporal.api.workflowservice.v1.WorkflowService.PollWorkflowExecutionUpdate:input_type -> temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateRequest + 77, // 77: temporal.api.workflowservice.v1.WorkflowService.StartBatchOperation:input_type -> temporal.api.workflowservice.v1.StartBatchOperationRequest + 78, // 78: temporal.api.workflowservice.v1.WorkflowService.StopBatchOperation:input_type -> temporal.api.workflowservice.v1.StopBatchOperationRequest + 79, // 79: temporal.api.workflowservice.v1.WorkflowService.DescribeBatchOperation:input_type -> temporal.api.workflowservice.v1.DescribeBatchOperationRequest + 80, // 80: temporal.api.workflowservice.v1.WorkflowService.ListBatchOperations:input_type -> temporal.api.workflowservice.v1.ListBatchOperationsRequest + 81, // 81: temporal.api.workflowservice.v1.WorkflowService.PollNexusTaskQueue:input_type -> temporal.api.workflowservice.v1.PollNexusTaskQueueRequest + 82, // 82: temporal.api.workflowservice.v1.WorkflowService.RespondNexusTaskCompleted:input_type -> temporal.api.workflowservice.v1.RespondNexusTaskCompletedRequest + 83, // 83: temporal.api.workflowservice.v1.WorkflowService.RespondNexusTaskFailed:input_type -> temporal.api.workflowservice.v1.RespondNexusTaskFailedRequest + 84, // 84: temporal.api.workflowservice.v1.WorkflowService.UpdateActivityOptions:input_type -> temporal.api.workflowservice.v1.UpdateActivityOptionsRequest + 85, // 85: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkflowExecutionOptions:input_type -> temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsRequest + 86, // 86: temporal.api.workflowservice.v1.WorkflowService.PauseActivity:input_type -> temporal.api.workflowservice.v1.PauseActivityRequest + 87, // 87: temporal.api.workflowservice.v1.WorkflowService.UnpauseActivity:input_type -> temporal.api.workflowservice.v1.UnpauseActivityRequest + 88, // 88: temporal.api.workflowservice.v1.WorkflowService.ResetActivity:input_type -> temporal.api.workflowservice.v1.ResetActivityRequest + 89, // 89: temporal.api.workflowservice.v1.WorkflowService.CreateWorkflowRule:input_type -> temporal.api.workflowservice.v1.CreateWorkflowRuleRequest + 90, // 90: temporal.api.workflowservice.v1.WorkflowService.DescribeWorkflowRule:input_type -> temporal.api.workflowservice.v1.DescribeWorkflowRuleRequest + 91, // 91: temporal.api.workflowservice.v1.WorkflowService.DeleteWorkflowRule:input_type -> temporal.api.workflowservice.v1.DeleteWorkflowRuleRequest + 92, // 92: temporal.api.workflowservice.v1.WorkflowService.ListWorkflowRules:input_type -> temporal.api.workflowservice.v1.ListWorkflowRulesRequest + 93, // 93: temporal.api.workflowservice.v1.WorkflowService.TriggerWorkflowRule:input_type -> temporal.api.workflowservice.v1.TriggerWorkflowRuleRequest + 94, // 94: temporal.api.workflowservice.v1.WorkflowService.RecordWorkerHeartbeat:input_type -> temporal.api.workflowservice.v1.RecordWorkerHeartbeatRequest + 95, // 95: temporal.api.workflowservice.v1.WorkflowService.ListWorkers:input_type -> temporal.api.workflowservice.v1.ListWorkersRequest + 96, // 96: temporal.api.workflowservice.v1.WorkflowService.UpdateTaskQueueConfig:input_type -> temporal.api.workflowservice.v1.UpdateTaskQueueConfigRequest + 97, // 97: temporal.api.workflowservice.v1.WorkflowService.FetchWorkerConfig:input_type -> temporal.api.workflowservice.v1.FetchWorkerConfigRequest + 98, // 98: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerConfig:input_type -> temporal.api.workflowservice.v1.UpdateWorkerConfigRequest + 99, // 99: temporal.api.workflowservice.v1.WorkflowService.DescribeWorker:input_type -> temporal.api.workflowservice.v1.DescribeWorkerRequest + 100, // 100: temporal.api.workflowservice.v1.WorkflowService.PauseWorkflowExecution:input_type -> temporal.api.workflowservice.v1.PauseWorkflowExecutionRequest + 101, // 101: temporal.api.workflowservice.v1.WorkflowService.UnpauseWorkflowExecution:input_type -> temporal.api.workflowservice.v1.UnpauseWorkflowExecutionRequest + 102, // 102: temporal.api.workflowservice.v1.WorkflowService.StartActivityExecution:input_type -> temporal.api.workflowservice.v1.StartActivityExecutionRequest + 103, // 103: temporal.api.workflowservice.v1.WorkflowService.StartNexusOperationExecution:input_type -> temporal.api.workflowservice.v1.StartNexusOperationExecutionRequest + 104, // 104: temporal.api.workflowservice.v1.WorkflowService.DescribeActivityExecution:input_type -> temporal.api.workflowservice.v1.DescribeActivityExecutionRequest + 105, // 105: temporal.api.workflowservice.v1.WorkflowService.DescribeNexusOperationExecution:input_type -> temporal.api.workflowservice.v1.DescribeNexusOperationExecutionRequest + 106, // 106: temporal.api.workflowservice.v1.WorkflowService.PollActivityExecution:input_type -> temporal.api.workflowservice.v1.PollActivityExecutionRequest + 107, // 107: temporal.api.workflowservice.v1.WorkflowService.PollNexusOperationExecution:input_type -> temporal.api.workflowservice.v1.PollNexusOperationExecutionRequest + 108, // 108: temporal.api.workflowservice.v1.WorkflowService.ListActivityExecutions:input_type -> temporal.api.workflowservice.v1.ListActivityExecutionsRequest + 109, // 109: temporal.api.workflowservice.v1.WorkflowService.ListNexusOperationExecutions:input_type -> temporal.api.workflowservice.v1.ListNexusOperationExecutionsRequest + 110, // 110: temporal.api.workflowservice.v1.WorkflowService.CountActivityExecutions:input_type -> temporal.api.workflowservice.v1.CountActivityExecutionsRequest + 111, // 111: temporal.api.workflowservice.v1.WorkflowService.CountNexusOperationExecutions:input_type -> temporal.api.workflowservice.v1.CountNexusOperationExecutionsRequest + 112, // 112: temporal.api.workflowservice.v1.WorkflowService.RequestCancelActivityExecution:input_type -> temporal.api.workflowservice.v1.RequestCancelActivityExecutionRequest + 113, // 113: temporal.api.workflowservice.v1.WorkflowService.RequestCancelNexusOperationExecution:input_type -> temporal.api.workflowservice.v1.RequestCancelNexusOperationExecutionRequest + 114, // 114: temporal.api.workflowservice.v1.WorkflowService.TerminateActivityExecution:input_type -> temporal.api.workflowservice.v1.TerminateActivityExecutionRequest + 115, // 115: temporal.api.workflowservice.v1.WorkflowService.DeleteActivityExecution:input_type -> temporal.api.workflowservice.v1.DeleteActivityExecutionRequest + 116, // 116: temporal.api.workflowservice.v1.WorkflowService.PauseActivityExecution:input_type -> temporal.api.workflowservice.v1.PauseActivityExecutionRequest + 117, // 117: temporal.api.workflowservice.v1.WorkflowService.ResetActivityExecution:input_type -> temporal.api.workflowservice.v1.ResetActivityExecutionRequest + 118, // 118: temporal.api.workflowservice.v1.WorkflowService.UnpauseActivityExecution:input_type -> temporal.api.workflowservice.v1.UnpauseActivityExecutionRequest + 119, // 119: temporal.api.workflowservice.v1.WorkflowService.UpdateActivityExecutionOptions:input_type -> temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsRequest + 120, // 120: temporal.api.workflowservice.v1.WorkflowService.TerminateNexusOperationExecution:input_type -> temporal.api.workflowservice.v1.TerminateNexusOperationExecutionRequest + 121, // 121: temporal.api.workflowservice.v1.WorkflowService.DeleteNexusOperationExecution:input_type -> temporal.api.workflowservice.v1.DeleteNexusOperationExecutionRequest + 122, // 122: temporal.api.workflowservice.v1.WorkflowService.RegisterNamespace:output_type -> temporal.api.workflowservice.v1.RegisterNamespaceResponse + 123, // 123: temporal.api.workflowservice.v1.WorkflowService.DescribeNamespace:output_type -> temporal.api.workflowservice.v1.DescribeNamespaceResponse + 124, // 124: temporal.api.workflowservice.v1.WorkflowService.ListNamespaces:output_type -> temporal.api.workflowservice.v1.ListNamespacesResponse + 125, // 125: temporal.api.workflowservice.v1.WorkflowService.UpdateNamespace:output_type -> temporal.api.workflowservice.v1.UpdateNamespaceResponse + 126, // 126: temporal.api.workflowservice.v1.WorkflowService.DeprecateNamespace:output_type -> temporal.api.workflowservice.v1.DeprecateNamespaceResponse + 127, // 127: temporal.api.workflowservice.v1.WorkflowService.Echo:output_type -> temporal.api.workflowservice.v1.EchoResponse + 128, // 128: temporal.api.workflowservice.v1.WorkflowService.StartWorkflowExecution:output_type -> temporal.api.workflowservice.v1.StartWorkflowExecutionResponse + 129, // 129: temporal.api.workflowservice.v1.WorkflowService.ExecuteMultiOperation:output_type -> temporal.api.workflowservice.v1.ExecuteMultiOperationResponse + 130, // 130: temporal.api.workflowservice.v1.WorkflowService.GetWorkflowExecutionHistory:output_type -> temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryResponse + 131, // 131: temporal.api.workflowservice.v1.WorkflowService.GetWorkflowExecutionHistoryReverse:output_type -> temporal.api.workflowservice.v1.GetWorkflowExecutionHistoryReverseResponse + 132, // 132: temporal.api.workflowservice.v1.WorkflowService.PollWorkflowTaskQueue:output_type -> temporal.api.workflowservice.v1.PollWorkflowTaskQueueResponse + 133, // 133: temporal.api.workflowservice.v1.WorkflowService.RespondWorkflowTaskCompleted:output_type -> temporal.api.workflowservice.v1.RespondWorkflowTaskCompletedResponse + 134, // 134: temporal.api.workflowservice.v1.WorkflowService.RespondWorkflowTaskFailed:output_type -> temporal.api.workflowservice.v1.RespondWorkflowTaskFailedResponse + 135, // 135: temporal.api.workflowservice.v1.WorkflowService.PollActivityTaskQueue:output_type -> temporal.api.workflowservice.v1.PollActivityTaskQueueResponse + 136, // 136: temporal.api.workflowservice.v1.WorkflowService.RecordActivityTaskHeartbeat:output_type -> temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatResponse + 137, // 137: temporal.api.workflowservice.v1.WorkflowService.RecordActivityTaskHeartbeatById:output_type -> temporal.api.workflowservice.v1.RecordActivityTaskHeartbeatByIdResponse + 138, // 138: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskCompleted:output_type -> temporal.api.workflowservice.v1.RespondActivityTaskCompletedResponse + 139, // 139: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskCompletedById:output_type -> temporal.api.workflowservice.v1.RespondActivityTaskCompletedByIdResponse + 140, // 140: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskFailed:output_type -> temporal.api.workflowservice.v1.RespondActivityTaskFailedResponse + 141, // 141: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskFailedById:output_type -> temporal.api.workflowservice.v1.RespondActivityTaskFailedByIdResponse + 142, // 142: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskCanceled:output_type -> temporal.api.workflowservice.v1.RespondActivityTaskCanceledResponse + 143, // 143: temporal.api.workflowservice.v1.WorkflowService.RespondActivityTaskCanceledById:output_type -> temporal.api.workflowservice.v1.RespondActivityTaskCanceledByIdResponse + 144, // 144: temporal.api.workflowservice.v1.WorkflowService.RequestCancelWorkflowExecution:output_type -> temporal.api.workflowservice.v1.RequestCancelWorkflowExecutionResponse + 145, // 145: temporal.api.workflowservice.v1.WorkflowService.SignalWorkflowExecution:output_type -> temporal.api.workflowservice.v1.SignalWorkflowExecutionResponse + 146, // 146: temporal.api.workflowservice.v1.WorkflowService.SignalWithStartWorkflowExecution:output_type -> temporal.api.workflowservice.v1.SignalWithStartWorkflowExecutionResponse + 147, // 147: temporal.api.workflowservice.v1.WorkflowService.ResetWorkflowExecution:output_type -> temporal.api.workflowservice.v1.ResetWorkflowExecutionResponse + 148, // 148: temporal.api.workflowservice.v1.WorkflowService.TerminateWorkflowExecution:output_type -> temporal.api.workflowservice.v1.TerminateWorkflowExecutionResponse + 149, // 149: temporal.api.workflowservice.v1.WorkflowService.DeleteWorkflowExecution:output_type -> temporal.api.workflowservice.v1.DeleteWorkflowExecutionResponse + 150, // 150: temporal.api.workflowservice.v1.WorkflowService.ListOpenWorkflowExecutions:output_type -> temporal.api.workflowservice.v1.ListOpenWorkflowExecutionsResponse + 151, // 151: temporal.api.workflowservice.v1.WorkflowService.ListClosedWorkflowExecutions:output_type -> temporal.api.workflowservice.v1.ListClosedWorkflowExecutionsResponse + 152, // 152: temporal.api.workflowservice.v1.WorkflowService.ListWorkflowExecutions:output_type -> temporal.api.workflowservice.v1.ListWorkflowExecutionsResponse + 153, // 153: temporal.api.workflowservice.v1.WorkflowService.ListArchivedWorkflowExecutions:output_type -> temporal.api.workflowservice.v1.ListArchivedWorkflowExecutionsResponse + 154, // 154: temporal.api.workflowservice.v1.WorkflowService.ScanWorkflowExecutions:output_type -> temporal.api.workflowservice.v1.ScanWorkflowExecutionsResponse + 155, // 155: temporal.api.workflowservice.v1.WorkflowService.CountWorkflowExecutions:output_type -> temporal.api.workflowservice.v1.CountWorkflowExecutionsResponse + 156, // 156: temporal.api.workflowservice.v1.WorkflowService.GetSearchAttributes:output_type -> temporal.api.workflowservice.v1.GetSearchAttributesResponse + 157, // 157: temporal.api.workflowservice.v1.WorkflowService.RespondQueryTaskCompleted:output_type -> temporal.api.workflowservice.v1.RespondQueryTaskCompletedResponse + 158, // 158: temporal.api.workflowservice.v1.WorkflowService.ResetStickyTaskQueue:output_type -> temporal.api.workflowservice.v1.ResetStickyTaskQueueResponse + 159, // 159: temporal.api.workflowservice.v1.WorkflowService.ShutdownWorker:output_type -> temporal.api.workflowservice.v1.ShutdownWorkerResponse + 160, // 160: temporal.api.workflowservice.v1.WorkflowService.QueryWorkflow:output_type -> temporal.api.workflowservice.v1.QueryWorkflowResponse + 161, // 161: temporal.api.workflowservice.v1.WorkflowService.DescribeWorkflowExecution:output_type -> temporal.api.workflowservice.v1.DescribeWorkflowExecutionResponse + 162, // 162: temporal.api.workflowservice.v1.WorkflowService.DescribeTaskQueue:output_type -> temporal.api.workflowservice.v1.DescribeTaskQueueResponse + 163, // 163: temporal.api.workflowservice.v1.WorkflowService.GetClusterInfo:output_type -> temporal.api.workflowservice.v1.GetClusterInfoResponse + 164, // 164: temporal.api.workflowservice.v1.WorkflowService.GetSystemInfo:output_type -> temporal.api.workflowservice.v1.GetSystemInfoResponse + 165, // 165: temporal.api.workflowservice.v1.WorkflowService.ListTaskQueuePartitions:output_type -> temporal.api.workflowservice.v1.ListTaskQueuePartitionsResponse + 166, // 166: temporal.api.workflowservice.v1.WorkflowService.CreateSchedule:output_type -> temporal.api.workflowservice.v1.CreateScheduleResponse + 167, // 167: temporal.api.workflowservice.v1.WorkflowService.DescribeSchedule:output_type -> temporal.api.workflowservice.v1.DescribeScheduleResponse + 168, // 168: temporal.api.workflowservice.v1.WorkflowService.UpdateSchedule:output_type -> temporal.api.workflowservice.v1.UpdateScheduleResponse + 169, // 169: temporal.api.workflowservice.v1.WorkflowService.PatchSchedule:output_type -> temporal.api.workflowservice.v1.PatchScheduleResponse + 170, // 170: temporal.api.workflowservice.v1.WorkflowService.ListScheduleMatchingTimes:output_type -> temporal.api.workflowservice.v1.ListScheduleMatchingTimesResponse + 171, // 171: temporal.api.workflowservice.v1.WorkflowService.DeleteSchedule:output_type -> temporal.api.workflowservice.v1.DeleteScheduleResponse + 172, // 172: temporal.api.workflowservice.v1.WorkflowService.ListSchedules:output_type -> temporal.api.workflowservice.v1.ListSchedulesResponse + 173, // 173: temporal.api.workflowservice.v1.WorkflowService.CountSchedules:output_type -> temporal.api.workflowservice.v1.CountSchedulesResponse + 174, // 174: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerBuildIdCompatibility:output_type -> temporal.api.workflowservice.v1.UpdateWorkerBuildIdCompatibilityResponse + 175, // 175: temporal.api.workflowservice.v1.WorkflowService.GetWorkerBuildIdCompatibility:output_type -> temporal.api.workflowservice.v1.GetWorkerBuildIdCompatibilityResponse + 176, // 176: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerVersioningRules:output_type -> temporal.api.workflowservice.v1.UpdateWorkerVersioningRulesResponse + 177, // 177: temporal.api.workflowservice.v1.WorkflowService.GetWorkerVersioningRules:output_type -> temporal.api.workflowservice.v1.GetWorkerVersioningRulesResponse + 178, // 178: temporal.api.workflowservice.v1.WorkflowService.GetWorkerTaskReachability:output_type -> temporal.api.workflowservice.v1.GetWorkerTaskReachabilityResponse + 179, // 179: temporal.api.workflowservice.v1.WorkflowService.DescribeDeployment:output_type -> temporal.api.workflowservice.v1.DescribeDeploymentResponse + 180, // 180: temporal.api.workflowservice.v1.WorkflowService.DescribeWorkerDeploymentVersion:output_type -> temporal.api.workflowservice.v1.DescribeWorkerDeploymentVersionResponse + 181, // 181: temporal.api.workflowservice.v1.WorkflowService.ListDeployments:output_type -> temporal.api.workflowservice.v1.ListDeploymentsResponse + 182, // 182: temporal.api.workflowservice.v1.WorkflowService.GetDeploymentReachability:output_type -> temporal.api.workflowservice.v1.GetDeploymentReachabilityResponse + 183, // 183: temporal.api.workflowservice.v1.WorkflowService.GetCurrentDeployment:output_type -> temporal.api.workflowservice.v1.GetCurrentDeploymentResponse + 184, // 184: temporal.api.workflowservice.v1.WorkflowService.SetCurrentDeployment:output_type -> temporal.api.workflowservice.v1.SetCurrentDeploymentResponse + 185, // 185: temporal.api.workflowservice.v1.WorkflowService.SetWorkerDeploymentCurrentVersion:output_type -> temporal.api.workflowservice.v1.SetWorkerDeploymentCurrentVersionResponse + 186, // 186: temporal.api.workflowservice.v1.WorkflowService.DescribeWorkerDeployment:output_type -> temporal.api.workflowservice.v1.DescribeWorkerDeploymentResponse + 187, // 187: temporal.api.workflowservice.v1.WorkflowService.DeleteWorkerDeployment:output_type -> temporal.api.workflowservice.v1.DeleteWorkerDeploymentResponse + 188, // 188: temporal.api.workflowservice.v1.WorkflowService.DeleteWorkerDeploymentVersion:output_type -> temporal.api.workflowservice.v1.DeleteWorkerDeploymentVersionResponse + 189, // 189: temporal.api.workflowservice.v1.WorkflowService.SetWorkerDeploymentRampingVersion:output_type -> temporal.api.workflowservice.v1.SetWorkerDeploymentRampingVersionResponse + 190, // 190: temporal.api.workflowservice.v1.WorkflowService.ListWorkerDeployments:output_type -> temporal.api.workflowservice.v1.ListWorkerDeploymentsResponse + 191, // 191: temporal.api.workflowservice.v1.WorkflowService.CreateWorkerDeployment:output_type -> temporal.api.workflowservice.v1.CreateWorkerDeploymentResponse + 192, // 192: temporal.api.workflowservice.v1.WorkflowService.CreateWorkerDeploymentVersion:output_type -> temporal.api.workflowservice.v1.CreateWorkerDeploymentVersionResponse + 193, // 193: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerDeploymentVersionComputeConfig:output_type -> temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionComputeConfigResponse + 194, // 194: temporal.api.workflowservice.v1.WorkflowService.ValidateWorkerDeploymentVersionComputeConfig:output_type -> temporal.api.workflowservice.v1.ValidateWorkerDeploymentVersionComputeConfigResponse + 195, // 195: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerDeploymentVersionMetadata:output_type -> temporal.api.workflowservice.v1.UpdateWorkerDeploymentVersionMetadataResponse + 196, // 196: temporal.api.workflowservice.v1.WorkflowService.SetWorkerDeploymentManager:output_type -> temporal.api.workflowservice.v1.SetWorkerDeploymentManagerResponse + 197, // 197: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkflowExecution:output_type -> temporal.api.workflowservice.v1.UpdateWorkflowExecutionResponse + 198, // 198: temporal.api.workflowservice.v1.WorkflowService.PollWorkflowExecutionUpdate:output_type -> temporal.api.workflowservice.v1.PollWorkflowExecutionUpdateResponse + 199, // 199: temporal.api.workflowservice.v1.WorkflowService.StartBatchOperation:output_type -> temporal.api.workflowservice.v1.StartBatchOperationResponse + 200, // 200: temporal.api.workflowservice.v1.WorkflowService.StopBatchOperation:output_type -> temporal.api.workflowservice.v1.StopBatchOperationResponse + 201, // 201: temporal.api.workflowservice.v1.WorkflowService.DescribeBatchOperation:output_type -> temporal.api.workflowservice.v1.DescribeBatchOperationResponse + 202, // 202: temporal.api.workflowservice.v1.WorkflowService.ListBatchOperations:output_type -> temporal.api.workflowservice.v1.ListBatchOperationsResponse + 203, // 203: temporal.api.workflowservice.v1.WorkflowService.PollNexusTaskQueue:output_type -> temporal.api.workflowservice.v1.PollNexusTaskQueueResponse + 204, // 204: temporal.api.workflowservice.v1.WorkflowService.RespondNexusTaskCompleted:output_type -> temporal.api.workflowservice.v1.RespondNexusTaskCompletedResponse + 205, // 205: temporal.api.workflowservice.v1.WorkflowService.RespondNexusTaskFailed:output_type -> temporal.api.workflowservice.v1.RespondNexusTaskFailedResponse + 206, // 206: temporal.api.workflowservice.v1.WorkflowService.UpdateActivityOptions:output_type -> temporal.api.workflowservice.v1.UpdateActivityOptionsResponse + 207, // 207: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkflowExecutionOptions:output_type -> temporal.api.workflowservice.v1.UpdateWorkflowExecutionOptionsResponse + 208, // 208: temporal.api.workflowservice.v1.WorkflowService.PauseActivity:output_type -> temporal.api.workflowservice.v1.PauseActivityResponse + 209, // 209: temporal.api.workflowservice.v1.WorkflowService.UnpauseActivity:output_type -> temporal.api.workflowservice.v1.UnpauseActivityResponse + 210, // 210: temporal.api.workflowservice.v1.WorkflowService.ResetActivity:output_type -> temporal.api.workflowservice.v1.ResetActivityResponse + 211, // 211: temporal.api.workflowservice.v1.WorkflowService.CreateWorkflowRule:output_type -> temporal.api.workflowservice.v1.CreateWorkflowRuleResponse + 212, // 212: temporal.api.workflowservice.v1.WorkflowService.DescribeWorkflowRule:output_type -> temporal.api.workflowservice.v1.DescribeWorkflowRuleResponse + 213, // 213: temporal.api.workflowservice.v1.WorkflowService.DeleteWorkflowRule:output_type -> temporal.api.workflowservice.v1.DeleteWorkflowRuleResponse + 214, // 214: temporal.api.workflowservice.v1.WorkflowService.ListWorkflowRules:output_type -> temporal.api.workflowservice.v1.ListWorkflowRulesResponse + 215, // 215: temporal.api.workflowservice.v1.WorkflowService.TriggerWorkflowRule:output_type -> temporal.api.workflowservice.v1.TriggerWorkflowRuleResponse + 216, // 216: temporal.api.workflowservice.v1.WorkflowService.RecordWorkerHeartbeat:output_type -> temporal.api.workflowservice.v1.RecordWorkerHeartbeatResponse + 217, // 217: temporal.api.workflowservice.v1.WorkflowService.ListWorkers:output_type -> temporal.api.workflowservice.v1.ListWorkersResponse + 218, // 218: temporal.api.workflowservice.v1.WorkflowService.UpdateTaskQueueConfig:output_type -> temporal.api.workflowservice.v1.UpdateTaskQueueConfigResponse + 219, // 219: temporal.api.workflowservice.v1.WorkflowService.FetchWorkerConfig:output_type -> temporal.api.workflowservice.v1.FetchWorkerConfigResponse + 220, // 220: temporal.api.workflowservice.v1.WorkflowService.UpdateWorkerConfig:output_type -> temporal.api.workflowservice.v1.UpdateWorkerConfigResponse + 221, // 221: temporal.api.workflowservice.v1.WorkflowService.DescribeWorker:output_type -> temporal.api.workflowservice.v1.DescribeWorkerResponse + 222, // 222: temporal.api.workflowservice.v1.WorkflowService.PauseWorkflowExecution:output_type -> temporal.api.workflowservice.v1.PauseWorkflowExecutionResponse + 223, // 223: temporal.api.workflowservice.v1.WorkflowService.UnpauseWorkflowExecution:output_type -> temporal.api.workflowservice.v1.UnpauseWorkflowExecutionResponse + 224, // 224: temporal.api.workflowservice.v1.WorkflowService.StartActivityExecution:output_type -> temporal.api.workflowservice.v1.StartActivityExecutionResponse + 225, // 225: temporal.api.workflowservice.v1.WorkflowService.StartNexusOperationExecution:output_type -> temporal.api.workflowservice.v1.StartNexusOperationExecutionResponse + 226, // 226: temporal.api.workflowservice.v1.WorkflowService.DescribeActivityExecution:output_type -> temporal.api.workflowservice.v1.DescribeActivityExecutionResponse + 227, // 227: temporal.api.workflowservice.v1.WorkflowService.DescribeNexusOperationExecution:output_type -> temporal.api.workflowservice.v1.DescribeNexusOperationExecutionResponse + 228, // 228: temporal.api.workflowservice.v1.WorkflowService.PollActivityExecution:output_type -> temporal.api.workflowservice.v1.PollActivityExecutionResponse + 229, // 229: temporal.api.workflowservice.v1.WorkflowService.PollNexusOperationExecution:output_type -> temporal.api.workflowservice.v1.PollNexusOperationExecutionResponse + 230, // 230: temporal.api.workflowservice.v1.WorkflowService.ListActivityExecutions:output_type -> temporal.api.workflowservice.v1.ListActivityExecutionsResponse + 231, // 231: temporal.api.workflowservice.v1.WorkflowService.ListNexusOperationExecutions:output_type -> temporal.api.workflowservice.v1.ListNexusOperationExecutionsResponse + 232, // 232: temporal.api.workflowservice.v1.WorkflowService.CountActivityExecutions:output_type -> temporal.api.workflowservice.v1.CountActivityExecutionsResponse + 233, // 233: temporal.api.workflowservice.v1.WorkflowService.CountNexusOperationExecutions:output_type -> temporal.api.workflowservice.v1.CountNexusOperationExecutionsResponse + 234, // 234: temporal.api.workflowservice.v1.WorkflowService.RequestCancelActivityExecution:output_type -> temporal.api.workflowservice.v1.RequestCancelActivityExecutionResponse + 235, // 235: temporal.api.workflowservice.v1.WorkflowService.RequestCancelNexusOperationExecution:output_type -> temporal.api.workflowservice.v1.RequestCancelNexusOperationExecutionResponse + 236, // 236: temporal.api.workflowservice.v1.WorkflowService.TerminateActivityExecution:output_type -> temporal.api.workflowservice.v1.TerminateActivityExecutionResponse + 237, // 237: temporal.api.workflowservice.v1.WorkflowService.DeleteActivityExecution:output_type -> temporal.api.workflowservice.v1.DeleteActivityExecutionResponse + 238, // 238: temporal.api.workflowservice.v1.WorkflowService.PauseActivityExecution:output_type -> temporal.api.workflowservice.v1.PauseActivityExecutionResponse + 239, // 239: temporal.api.workflowservice.v1.WorkflowService.ResetActivityExecution:output_type -> temporal.api.workflowservice.v1.ResetActivityExecutionResponse + 240, // 240: temporal.api.workflowservice.v1.WorkflowService.UnpauseActivityExecution:output_type -> temporal.api.workflowservice.v1.UnpauseActivityExecutionResponse + 241, // 241: temporal.api.workflowservice.v1.WorkflowService.UpdateActivityExecutionOptions:output_type -> temporal.api.workflowservice.v1.UpdateActivityExecutionOptionsResponse + 242, // 242: temporal.api.workflowservice.v1.WorkflowService.TerminateNexusOperationExecution:output_type -> temporal.api.workflowservice.v1.TerminateNexusOperationExecutionResponse + 243, // 243: temporal.api.workflowservice.v1.WorkflowService.DeleteNexusOperationExecution:output_type -> temporal.api.workflowservice.v1.DeleteNexusOperationExecutionResponse + 122, // [122:244] is the sub-list for method output_type + 0, // [0:122] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_temporal_api_workflowservice_v1_service_proto_init() } +func file_temporal_api_workflowservice_v1_service_proto_init() { + if File_temporal_api_workflowservice_v1_service_proto != nil { + return + } + file_temporal_api_workflowservice_v1_request_response_proto_init() + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: unsafe.Slice(unsafe.StringData(file_temporal_api_workflowservice_v1_service_proto_rawDesc), len(file_temporal_api_workflowservice_v1_service_proto_rawDesc)), + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_temporal_api_workflowservice_v1_service_proto_goTypes, + DependencyIndexes: file_temporal_api_workflowservice_v1_service_proto_depIdxs, + }.Build() + File_temporal_api_workflowservice_v1_service_proto = out.File + file_temporal_api_workflowservice_v1_service_proto_goTypes = nil + file_temporal_api_workflowservice_v1_service_proto_depIdxs = nil +} diff --git a/api_next/workflowservice/v1/service.pb.gw.go b/api_next/workflowservice/v1/service.pb.gw.go new file mode 100644 index 00000000..1fb417c4 --- /dev/null +++ b/api_next/workflowservice/v1/service.pb.gw.go @@ -0,0 +1,21107 @@ +// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. +// source: temporal/api/workflowservice/v1/service.proto + +/* +Package workflowservice is a reverse proxy. + +It translates gRPC into RESTful JSON APIs. +*/ +package workflowservice + +import ( + "context" + "errors" + "io" + "net/http" + + "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" + "google.golang.org/grpc" + "google.golang.org/grpc/codes" + "google.golang.org/grpc/grpclog" + "google.golang.org/grpc/metadata" + "google.golang.org/grpc/status" + "google.golang.org/protobuf/proto" +) + +// Suppress "imported and not used" errors +var ( + _ codes.Code + _ io.Reader + _ status.Status + _ = errors.New + _ = runtime.String + _ = utilities.NewDoubleArray + _ = metadata.Join +) + +func request_WorkflowService_RegisterNamespace_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RegisterNamespaceRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + msg, err := client.RegisterNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RegisterNamespace_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RegisterNamespaceRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.RegisterNamespace(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RegisterNamespace_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RegisterNamespaceRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + msg, err := client.RegisterNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RegisterNamespace_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RegisterNamespaceRequest + metadata runtime.ServerMetadata + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.RegisterNamespace(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeNamespace_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_DescribeNamespace_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeNamespaceRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeNamespace_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeNamespace_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeNamespaceRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeNamespace_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeNamespace(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeNamespace_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_DescribeNamespace_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeNamespaceRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeNamespace_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeNamespace_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeNamespaceRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeNamespace_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeNamespace(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListNamespaces_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + +func request_WorkflowService_ListNamespaces_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNamespacesRequest + metadata runtime.ServerMetadata + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListNamespaces_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListNamespaces(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListNamespaces_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNamespacesRequest + metadata runtime.ServerMetadata + ) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListNamespaces_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListNamespaces(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListNamespaces_1 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)} + +func request_WorkflowService_ListNamespaces_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNamespacesRequest + metadata runtime.ServerMetadata + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListNamespaces_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListNamespaces(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListNamespaces_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNamespacesRequest + metadata runtime.ServerMetadata + ) + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListNamespaces_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListNamespaces(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateNamespace_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateNamespaceRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.UpdateNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateNamespace_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateNamespaceRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.UpdateNamespace(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateNamespace_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateNamespaceRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.UpdateNamespace(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateNamespace_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateNamespaceRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.UpdateNamespace(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StartWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := client.StartWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StartWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := server.StartWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StartWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := client.StartWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StartWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := server.StartWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetWorkflowExecutionHistory_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "execution": 1, "workflow_id": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 3, 2, 4}} + +func request_WorkflowService_GetWorkflowExecutionHistory_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkflowExecutionHistoryRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkflowExecutionHistory_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetWorkflowExecutionHistory(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkflowExecutionHistory_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkflowExecutionHistoryRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkflowExecutionHistory_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetWorkflowExecutionHistory(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetWorkflowExecutionHistory_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "execution": 1, "workflow_id": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 3, 2, 4}} + +func request_WorkflowService_GetWorkflowExecutionHistory_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkflowExecutionHistoryRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkflowExecutionHistory_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetWorkflowExecutionHistory(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkflowExecutionHistory_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkflowExecutionHistoryRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkflowExecutionHistory_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetWorkflowExecutionHistory(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetWorkflowExecutionHistoryReverse_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "execution": 1, "workflow_id": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 3, 2, 4}} + +func request_WorkflowService_GetWorkflowExecutionHistoryReverse_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkflowExecutionHistoryReverseRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkflowExecutionHistoryReverse_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetWorkflowExecutionHistoryReverse(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkflowExecutionHistoryReverse_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkflowExecutionHistoryReverseRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkflowExecutionHistoryReverse_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetWorkflowExecutionHistoryReverse(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetWorkflowExecutionHistoryReverse_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "execution": 1, "workflow_id": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 3, 2, 4}} + +func request_WorkflowService_GetWorkflowExecutionHistoryReverse_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkflowExecutionHistoryReverseRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkflowExecutionHistoryReverse_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetWorkflowExecutionHistoryReverse(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkflowExecutionHistoryReverse_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkflowExecutionHistoryReverseRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkflowExecutionHistoryReverse_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetWorkflowExecutionHistoryReverse(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RecordActivityTaskHeartbeat_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RecordActivityTaskHeartbeat(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RecordActivityTaskHeartbeat_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RecordActivityTaskHeartbeat(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RecordActivityTaskHeartbeat_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RecordActivityTaskHeartbeat(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RecordActivityTaskHeartbeat_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RecordActivityTaskHeartbeat(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RecordActivityTaskHeartbeatById_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RecordActivityTaskHeartbeatById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RecordActivityTaskHeartbeatById_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RecordActivityTaskHeartbeatById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RecordActivityTaskHeartbeatById_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RecordActivityTaskHeartbeatById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RecordActivityTaskHeartbeatById_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RecordActivityTaskHeartbeatById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RecordActivityTaskHeartbeatById_2(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RecordActivityTaskHeartbeatById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RecordActivityTaskHeartbeatById_2(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RecordActivityTaskHeartbeatById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RecordActivityTaskHeartbeatById_3(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RecordActivityTaskHeartbeatById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RecordActivityTaskHeartbeatById_3(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordActivityTaskHeartbeatByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RecordActivityTaskHeartbeatById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCompleted_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RespondActivityTaskCompleted(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCompleted_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RespondActivityTaskCompleted(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCompleted_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RespondActivityTaskCompleted(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCompleted_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RespondActivityTaskCompleted(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCompletedById_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskCompletedById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCompletedById_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskCompletedById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCompletedById_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskCompletedById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCompletedById_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskCompletedById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCompletedById_2(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskCompletedById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCompletedById_2(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskCompletedById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCompletedById_3(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskCompletedById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCompletedById_3(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCompletedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskCompletedById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskFailed_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RespondActivityTaskFailed(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskFailed_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RespondActivityTaskFailed(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskFailed_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RespondActivityTaskFailed(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskFailed_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RespondActivityTaskFailed(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskFailedById_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskFailedById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskFailedById_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskFailedById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskFailedById_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskFailedById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskFailedById_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskFailedById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskFailedById_2(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskFailedById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskFailedById_2(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskFailedById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskFailedById_3(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskFailedById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskFailedById_3(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskFailedByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskFailedById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCanceled_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RespondActivityTaskCanceled(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCanceled_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RespondActivityTaskCanceled(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCanceled_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RespondActivityTaskCanceled(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCanceled_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RespondActivityTaskCanceled(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCanceledById_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskCanceledById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCanceledById_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskCanceledById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCanceledById_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskCanceledById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCanceledById_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskCanceledById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCanceledById_2(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskCanceledById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCanceledById_2(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskCanceledById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RespondActivityTaskCanceledById_3(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RespondActivityTaskCanceledById(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RespondActivityTaskCanceledById_3(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RespondActivityTaskCanceledByIdRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RespondActivityTaskCanceledById(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RequestCancelWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := client.RequestCancelWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RequestCancelWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := server.RequestCancelWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RequestCancelWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := client.RequestCancelWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RequestCancelWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := server.RequestCancelWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SignalWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SignalWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + val, ok = pathParams["signal_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "signal_name") + } + protoReq.SignalName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "signal_name", err) + } + msg, err := client.SignalWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SignalWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SignalWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + val, ok = pathParams["signal_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "signal_name") + } + protoReq.SignalName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "signal_name", err) + } + msg, err := server.SignalWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SignalWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SignalWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + val, ok = pathParams["signal_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "signal_name") + } + protoReq.SignalName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "signal_name", err) + } + msg, err := client.SignalWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SignalWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SignalWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + val, ok = pathParams["signal_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "signal_name") + } + protoReq.SignalName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "signal_name", err) + } + msg, err := server.SignalWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SignalWithStartWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SignalWithStartWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["signal_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "signal_name") + } + protoReq.SignalName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "signal_name", err) + } + msg, err := client.SignalWithStartWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SignalWithStartWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SignalWithStartWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["signal_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "signal_name") + } + protoReq.SignalName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "signal_name", err) + } + msg, err := server.SignalWithStartWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SignalWithStartWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SignalWithStartWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["signal_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "signal_name") + } + protoReq.SignalName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "signal_name", err) + } + msg, err := client.SignalWithStartWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SignalWithStartWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SignalWithStartWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["signal_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "signal_name") + } + protoReq.SignalName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "signal_name", err) + } + msg, err := server.SignalWithStartWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ResetWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := client.ResetWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ResetWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := server.ResetWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ResetWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := client.ResetWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ResetWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := server.ResetWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_TerminateWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := client.TerminateWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_TerminateWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := server.TerminateWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_TerminateWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := client.TerminateWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_TerminateWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := server.TerminateWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListWorkflowExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListWorkflowExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkflowExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListWorkflowExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListWorkflowExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkflowExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListWorkflowExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListWorkflowExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListWorkflowExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkflowExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListWorkflowExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListWorkflowExecutions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkflowExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListWorkflowExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListArchivedWorkflowExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListArchivedWorkflowExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListArchivedWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListArchivedWorkflowExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListArchivedWorkflowExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListArchivedWorkflowExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListArchivedWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListArchivedWorkflowExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListArchivedWorkflowExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListArchivedWorkflowExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListArchivedWorkflowExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListArchivedWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListArchivedWorkflowExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListArchivedWorkflowExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListArchivedWorkflowExecutions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListArchivedWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListArchivedWorkflowExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListArchivedWorkflowExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_CountWorkflowExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_CountWorkflowExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountWorkflowExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.CountWorkflowExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CountWorkflowExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountWorkflowExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CountWorkflowExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_CountWorkflowExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_CountWorkflowExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountWorkflowExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.CountWorkflowExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CountWorkflowExecutions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountWorkflowExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountWorkflowExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CountWorkflowExecutions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_QueryWorkflow_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq QueryWorkflowRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + val, ok = pathParams["query.query_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.query_type") + } + err = runtime.PopulateFieldFromPath(&protoReq, "query.query_type", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.query_type", err) + } + msg, err := client.QueryWorkflow(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_QueryWorkflow_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq QueryWorkflowRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + val, ok = pathParams["query.query_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.query_type") + } + err = runtime.PopulateFieldFromPath(&protoReq, "query.query_type", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.query_type", err) + } + msg, err := server.QueryWorkflow(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_QueryWorkflow_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq QueryWorkflowRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + val, ok = pathParams["query.query_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.query_type") + } + err = runtime.PopulateFieldFromPath(&protoReq, "query.query_type", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.query_type", err) + } + msg, err := client.QueryWorkflow(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_QueryWorkflow_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq QueryWorkflowRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + val, ok = pathParams["query.query_type"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "query.query_type") + } + err = runtime.PopulateFieldFromPath(&protoReq, "query.query_type", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "query.query_type", err) + } + msg, err := server.QueryWorkflow(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeWorkflowExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "execution": 1, "workflow_id": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 3, 2, 4}} + +func request_WorkflowService_DescribeWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeWorkflowExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeWorkflowExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeWorkflowExecution_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "execution": 1, "workflow_id": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 3, 2, 4}} + +func request_WorkflowService_DescribeWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeWorkflowExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeWorkflowExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeTaskQueue_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "task_queue": 1, "name": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 3, 2, 4}} + +func request_WorkflowService_DescribeTaskQueue_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeTaskQueueRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue.name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "task_queue.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue.name", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeTaskQueue_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeTaskQueue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeTaskQueue_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeTaskQueueRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue.name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "task_queue.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue.name", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeTaskQueue_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeTaskQueue(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeTaskQueue_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "task_queue": 1, "name": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 3, 2, 4}} + +func request_WorkflowService_DescribeTaskQueue_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeTaskQueueRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue.name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "task_queue.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue.name", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeTaskQueue_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeTaskQueue(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeTaskQueue_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeTaskQueueRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue.name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "task_queue.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue.name", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeTaskQueue_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeTaskQueue(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_GetClusterInfo_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetClusterInfoRequest + metadata runtime.ServerMetadata + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + msg, err := client.GetClusterInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetClusterInfo_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetClusterInfoRequest + metadata runtime.ServerMetadata + ) + msg, err := server.GetClusterInfo(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_GetClusterInfo_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetClusterInfoRequest + metadata runtime.ServerMetadata + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + msg, err := client.GetClusterInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetClusterInfo_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetClusterInfoRequest + metadata runtime.ServerMetadata + ) + msg, err := server.GetClusterInfo(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_GetSystemInfo_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetSystemInfoRequest + metadata runtime.ServerMetadata + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + msg, err := client.GetSystemInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetSystemInfo_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetSystemInfoRequest + metadata runtime.ServerMetadata + ) + msg, err := server.GetSystemInfo(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_GetSystemInfo_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetSystemInfoRequest + metadata runtime.ServerMetadata + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + msg, err := client.GetSystemInfo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetSystemInfo_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetSystemInfoRequest + metadata runtime.ServerMetadata + ) + msg, err := server.GetSystemInfo(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_CreateSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := client.CreateSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CreateSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := server.CreateSchedule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_CreateSchedule_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := client.CreateSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CreateSchedule_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := server.CreateSchedule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := client.DescribeSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeScheduleRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := server.DescribeSchedule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeSchedule_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := client.DescribeSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeSchedule_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeScheduleRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := server.DescribeSchedule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := client.UpdateSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := server.UpdateSchedule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateSchedule_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := client.UpdateSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateSchedule_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := server.UpdateSchedule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PatchSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PatchScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := client.PatchSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PatchSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PatchScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := server.PatchSchedule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PatchSchedule_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PatchScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := client.PatchSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PatchSchedule_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PatchScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + msg, err := server.PatchSchedule(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListScheduleMatchingTimes_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "schedule_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_ListScheduleMatchingTimes_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListScheduleMatchingTimesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListScheduleMatchingTimes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListScheduleMatchingTimes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListScheduleMatchingTimes_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListScheduleMatchingTimesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListScheduleMatchingTimes_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListScheduleMatchingTimes(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListScheduleMatchingTimes_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "schedule_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_ListScheduleMatchingTimes_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListScheduleMatchingTimesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListScheduleMatchingTimes_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListScheduleMatchingTimes(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListScheduleMatchingTimes_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListScheduleMatchingTimesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListScheduleMatchingTimes_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListScheduleMatchingTimes(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DeleteSchedule_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "schedule_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_DeleteSchedule_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteSchedule_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DeleteSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DeleteSchedule_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteScheduleRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteSchedule_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DeleteSchedule(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DeleteSchedule_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "schedule_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_DeleteSchedule_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteScheduleRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteSchedule_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DeleteSchedule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DeleteSchedule_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteScheduleRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["schedule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "schedule_id") + } + protoReq.ScheduleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "schedule_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteSchedule_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DeleteSchedule(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListSchedules_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListSchedules_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListSchedulesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListSchedules_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListSchedules(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListSchedules_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListSchedulesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListSchedules_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListSchedules(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListSchedules_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListSchedules_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListSchedulesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListSchedules_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListSchedules(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListSchedules_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListSchedulesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListSchedules_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListSchedules(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_CountSchedules_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_CountSchedules_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountSchedulesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountSchedules_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.CountSchedules(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CountSchedules_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountSchedulesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountSchedules_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CountSchedules(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_CountSchedules_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_CountSchedules_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountSchedulesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountSchedules_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.CountSchedules(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CountSchedules_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountSchedulesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountSchedules_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CountSchedules(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetWorkerBuildIdCompatibility_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "task_queue": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_GetWorkerBuildIdCompatibility_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerBuildIdCompatibilityRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkerBuildIdCompatibility_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetWorkerBuildIdCompatibility(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkerBuildIdCompatibility_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerBuildIdCompatibilityRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkerBuildIdCompatibility_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetWorkerBuildIdCompatibility(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetWorkerBuildIdCompatibility_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "task_queue": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_GetWorkerBuildIdCompatibility_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerBuildIdCompatibilityRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkerBuildIdCompatibility_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetWorkerBuildIdCompatibility(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkerBuildIdCompatibility_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerBuildIdCompatibilityRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkerBuildIdCompatibility_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetWorkerBuildIdCompatibility(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_GetWorkerVersioningRules_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerVersioningRulesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + msg, err := client.GetWorkerVersioningRules(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkerVersioningRules_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerVersioningRulesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + msg, err := server.GetWorkerVersioningRules(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_GetWorkerVersioningRules_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerVersioningRulesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + msg, err := client.GetWorkerVersioningRules(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkerVersioningRules_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerVersioningRulesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + msg, err := server.GetWorkerVersioningRules(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetWorkerTaskReachability_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_GetWorkerTaskReachability_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerTaskReachabilityRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkerTaskReachability_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetWorkerTaskReachability(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkerTaskReachability_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerTaskReachabilityRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkerTaskReachability_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetWorkerTaskReachability(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetWorkerTaskReachability_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_GetWorkerTaskReachability_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerTaskReachabilityRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkerTaskReachability_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetWorkerTaskReachability(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetWorkerTaskReachability_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetWorkerTaskReachabilityRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetWorkerTaskReachability_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetWorkerTaskReachability(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeDeployment_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment": 1, "series_name": 2, "build_id": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} + +func request_WorkflowService_DescribeDeployment_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + val, ok = pathParams["deployment.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeDeployment_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeDeployment_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + val, ok = pathParams["deployment.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeDeployment_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeDeployment(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeDeployment_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment": 1, "series_name": 2, "build_id": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} + +func request_WorkflowService_DescribeDeployment_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + val, ok = pathParams["deployment.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeDeployment_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeDeployment_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + val, ok = pathParams["deployment.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeDeployment_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeDeployment(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeWorkerDeploymentVersion_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment_version": 1, "deployment_name": 2, "build_id": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} + +func request_WorkflowService_DescribeWorkerDeploymentVersion_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeWorkerDeploymentVersion_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeWorkerDeploymentVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorkerDeploymentVersion_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeWorkerDeploymentVersion_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeWorkerDeploymentVersion(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeWorkerDeploymentVersion_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment_version": 1, "deployment_name": 2, "build_id": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} + +func request_WorkflowService_DescribeWorkerDeploymentVersion_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeWorkerDeploymentVersion_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeWorkerDeploymentVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorkerDeploymentVersion_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeWorkerDeploymentVersion_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeWorkerDeploymentVersion(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListDeployments_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListDeployments_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListDeploymentsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListDeployments_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListDeployments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListDeployments_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListDeploymentsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListDeployments_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListDeployments(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListDeployments_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListDeployments_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListDeploymentsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListDeployments_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListDeployments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListDeployments_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListDeploymentsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListDeployments_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListDeployments(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetDeploymentReachability_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment": 1, "series_name": 2, "build_id": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} + +func request_WorkflowService_GetDeploymentReachability_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetDeploymentReachabilityRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + val, ok = pathParams["deployment.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetDeploymentReachability_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetDeploymentReachability(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetDeploymentReachability_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetDeploymentReachabilityRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + val, ok = pathParams["deployment.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetDeploymentReachability_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetDeploymentReachability(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_GetDeploymentReachability_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment": 1, "series_name": 2, "build_id": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} + +func request_WorkflowService_GetDeploymentReachability_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetDeploymentReachabilityRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + val, ok = pathParams["deployment.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetDeploymentReachability_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.GetDeploymentReachability(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetDeploymentReachability_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetDeploymentReachabilityRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + val, ok = pathParams["deployment.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_GetDeploymentReachability_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.GetDeploymentReachability(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_GetCurrentDeployment_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetCurrentDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "series_name") + } + protoReq.SeriesName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "series_name", err) + } + msg, err := client.GetCurrentDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetCurrentDeployment_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetCurrentDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "series_name") + } + protoReq.SeriesName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "series_name", err) + } + msg, err := server.GetCurrentDeployment(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_GetCurrentDeployment_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetCurrentDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "series_name") + } + protoReq.SeriesName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "series_name", err) + } + msg, err := client.GetCurrentDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_GetCurrentDeployment_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq GetCurrentDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "series_name") + } + protoReq.SeriesName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "series_name", err) + } + msg, err := server.GetCurrentDeployment(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SetCurrentDeployment_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetCurrentDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + msg, err := client.SetCurrentDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SetCurrentDeployment_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetCurrentDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + msg, err := server.SetCurrentDeployment(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SetCurrentDeployment_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetCurrentDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + msg, err := client.SetCurrentDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SetCurrentDeployment_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetCurrentDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment.series_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment.series_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment.series_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment.series_name", err) + } + msg, err := server.SetCurrentDeployment(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SetWorkerDeploymentCurrentVersion_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentCurrentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.SetWorkerDeploymentCurrentVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SetWorkerDeploymentCurrentVersion_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentCurrentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.SetWorkerDeploymentCurrentVersion(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SetWorkerDeploymentCurrentVersion_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentCurrentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.SetWorkerDeploymentCurrentVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SetWorkerDeploymentCurrentVersion_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentCurrentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.SetWorkerDeploymentCurrentVersion(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeWorkerDeployment_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.DescribeWorkerDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorkerDeployment_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.DescribeWorkerDeployment(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeWorkerDeployment_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.DescribeWorkerDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorkerDeployment_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.DescribeWorkerDeployment(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DeleteWorkerDeployment_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment_name": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_DeleteWorkerDeployment_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteWorkerDeployment_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DeleteWorkerDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DeleteWorkerDeployment_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteWorkerDeployment_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DeleteWorkerDeployment(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DeleteWorkerDeployment_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment_name": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_DeleteWorkerDeployment_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteWorkerDeployment_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DeleteWorkerDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DeleteWorkerDeployment_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteWorkerDeployment_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DeleteWorkerDeployment(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DeleteWorkerDeploymentVersion_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment_version": 1, "deployment_name": 2, "build_id": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} + +func request_WorkflowService_DeleteWorkerDeploymentVersion_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteWorkerDeploymentVersion_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DeleteWorkerDeploymentVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DeleteWorkerDeploymentVersion_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteWorkerDeploymentVersion_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DeleteWorkerDeploymentVersion(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DeleteWorkerDeploymentVersion_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "deployment_version": 1, "deployment_name": 2, "build_id": 3}, Base: []int{1, 1, 1, 2, 3, 0, 0, 0}, Check: []int{0, 1, 1, 3, 3, 2, 4, 5}} + +func request_WorkflowService_DeleteWorkerDeploymentVersion_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteWorkerDeploymentVersion_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DeleteWorkerDeploymentVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DeleteWorkerDeploymentVersion_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DeleteWorkerDeploymentVersion_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DeleteWorkerDeploymentVersion(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SetWorkerDeploymentRampingVersion_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentRampingVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.SetWorkerDeploymentRampingVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SetWorkerDeploymentRampingVersion_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentRampingVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.SetWorkerDeploymentRampingVersion(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SetWorkerDeploymentRampingVersion_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentRampingVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.SetWorkerDeploymentRampingVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SetWorkerDeploymentRampingVersion_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentRampingVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.SetWorkerDeploymentRampingVersion(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListWorkerDeployments_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListWorkerDeployments_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkerDeploymentsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkerDeployments_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListWorkerDeployments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListWorkerDeployments_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkerDeploymentsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkerDeployments_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListWorkerDeployments(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListWorkerDeployments_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListWorkerDeployments_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkerDeploymentsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkerDeployments_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListWorkerDeployments(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListWorkerDeployments_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkerDeploymentsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkerDeployments_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListWorkerDeployments(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_CreateWorkerDeployment_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.CreateWorkerDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CreateWorkerDeployment_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.CreateWorkerDeployment(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_CreateWorkerDeployment_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.CreateWorkerDeployment(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CreateWorkerDeployment_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkerDeploymentRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.CreateWorkerDeployment(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_CreateWorkerDeploymentVersion_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + msg, err := client.CreateWorkerDeploymentVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CreateWorkerDeploymentVersion_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + msg, err := server.CreateWorkerDeploymentVersion(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_CreateWorkerDeploymentVersion_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + msg, err := client.CreateWorkerDeploymentVersion(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CreateWorkerDeploymentVersion_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkerDeploymentVersionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + msg, err := server.CreateWorkerDeploymentVersion(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerDeploymentVersionComputeConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := client.UpdateWorkerDeploymentVersionComputeConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerDeploymentVersionComputeConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := server.UpdateWorkerDeploymentVersionComputeConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerDeploymentVersionComputeConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := client.UpdateWorkerDeploymentVersionComputeConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerDeploymentVersionComputeConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := server.UpdateWorkerDeploymentVersionComputeConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ValidateWorkerDeploymentVersionComputeConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := client.ValidateWorkerDeploymentVersionComputeConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ValidateWorkerDeploymentVersionComputeConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := server.ValidateWorkerDeploymentVersionComputeConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ValidateWorkerDeploymentVersionComputeConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := client.ValidateWorkerDeploymentVersionComputeConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ValidateWorkerDeploymentVersionComputeConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := server.ValidateWorkerDeploymentVersionComputeConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerDeploymentVersionMetadataRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := client.UpdateWorkerDeploymentVersionMetadata(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerDeploymentVersionMetadataRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := server.UpdateWorkerDeploymentVersionMetadata(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerDeploymentVersionMetadataRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := client.UpdateWorkerDeploymentVersionMetadata(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerDeploymentVersionMetadataRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_version.deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.deployment_name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.deployment_name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.deployment_name", err) + } + val, ok = pathParams["deployment_version.build_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_version.build_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "deployment_version.build_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_version.build_id", err) + } + msg, err := server.UpdateWorkerDeploymentVersionMetadata(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SetWorkerDeploymentManager_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentManagerRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.SetWorkerDeploymentManager(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SetWorkerDeploymentManager_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentManagerRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.SetWorkerDeploymentManager(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_SetWorkerDeploymentManager_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentManagerRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := client.SetWorkerDeploymentManager(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_SetWorkerDeploymentManager_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq SetWorkerDeploymentManagerRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["deployment_name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "deployment_name") + } + protoReq.DeploymentName, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "deployment_name", err) + } + msg, err := server.SetWorkerDeploymentManager(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + val, ok = pathParams["request.input.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "request.input.name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "request.input.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "request.input.name", err) + } + msg, err := client.UpdateWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + val, ok = pathParams["request.input.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "request.input.name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "request.input.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "request.input.name", err) + } + msg, err := server.UpdateWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + val, ok = pathParams["request.input.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "request.input.name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "request.input.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "request.input.name", err) + } + msg, err := client.UpdateWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + val, ok = pathParams["request.input.name"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "request.input.name") + } + err = runtime.PopulateFieldFromPath(&protoReq, "request.input.name", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "request.input.name", err) + } + msg, err := server.UpdateWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StartBatchOperation_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := client.StartBatchOperation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StartBatchOperation_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := server.StartBatchOperation(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StartBatchOperation_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := client.StartBatchOperation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StartBatchOperation_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := server.StartBatchOperation(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StopBatchOperation_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StopBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := client.StopBatchOperation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StopBatchOperation_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StopBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := server.StopBatchOperation(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StopBatchOperation_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StopBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := client.StopBatchOperation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StopBatchOperation_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StopBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := server.StopBatchOperation(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeBatchOperation_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := client.DescribeBatchOperation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeBatchOperation_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := server.DescribeBatchOperation(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeBatchOperation_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := client.DescribeBatchOperation(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeBatchOperation_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeBatchOperationRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["job_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "job_id") + } + protoReq.JobId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "job_id", err) + } + msg, err := server.DescribeBatchOperation(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListBatchOperations_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListBatchOperations_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListBatchOperationsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListBatchOperations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListBatchOperations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListBatchOperations_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListBatchOperationsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListBatchOperations_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListBatchOperations(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListBatchOperations_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListBatchOperations_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListBatchOperationsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListBatchOperations_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListBatchOperations(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListBatchOperations_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListBatchOperationsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListBatchOperations_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListBatchOperations(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateActivityOptions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.UpdateActivityOptions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateActivityOptions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.UpdateActivityOptions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateActivityOptions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.UpdateActivityOptions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateActivityOptions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.UpdateActivityOptions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkflowExecutionOptions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkflowExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := client.UpdateWorkflowExecutionOptions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkflowExecutionOptions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkflowExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := server.UpdateWorkflowExecutionOptions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkflowExecutionOptions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkflowExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := client.UpdateWorkflowExecutionOptions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkflowExecutionOptions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkflowExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "workflow_execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_execution.workflow_id", err) + } + msg, err := server.UpdateWorkflowExecutionOptions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PauseActivity_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.PauseActivity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PauseActivity_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.PauseActivity(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PauseActivity_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.PauseActivity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PauseActivity_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.PauseActivity(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UnpauseActivity_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.UnpauseActivity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UnpauseActivity_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.UnpauseActivity(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UnpauseActivity_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.UnpauseActivity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UnpauseActivity_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.UnpauseActivity(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ResetActivity_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.ResetActivity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ResetActivity_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.ResetActivity(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ResetActivity_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.ResetActivity(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ResetActivity_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.ResetActivity(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_CreateWorkflowRule_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.CreateWorkflowRule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CreateWorkflowRule_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.CreateWorkflowRule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_CreateWorkflowRule_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.CreateWorkflowRule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CreateWorkflowRule_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CreateWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.CreateWorkflowRule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeWorkflowRule_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["rule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "rule_id") + } + protoReq.RuleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "rule_id", err) + } + msg, err := client.DescribeWorkflowRule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorkflowRule_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["rule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "rule_id") + } + protoReq.RuleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "rule_id", err) + } + msg, err := server.DescribeWorkflowRule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeWorkflowRule_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["rule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "rule_id") + } + protoReq.RuleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "rule_id", err) + } + msg, err := client.DescribeWorkflowRule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorkflowRule_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["rule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "rule_id") + } + protoReq.RuleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "rule_id", err) + } + msg, err := server.DescribeWorkflowRule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DeleteWorkflowRule_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["rule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "rule_id") + } + protoReq.RuleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "rule_id", err) + } + msg, err := client.DeleteWorkflowRule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DeleteWorkflowRule_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["rule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "rule_id") + } + protoReq.RuleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "rule_id", err) + } + msg, err := server.DeleteWorkflowRule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DeleteWorkflowRule_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["rule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "rule_id") + } + protoReq.RuleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "rule_id", err) + } + msg, err := client.DeleteWorkflowRule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DeleteWorkflowRule_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DeleteWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["rule_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "rule_id") + } + protoReq.RuleId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "rule_id", err) + } + msg, err := server.DeleteWorkflowRule(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListWorkflowRules_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListWorkflowRules_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkflowRulesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkflowRules_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListWorkflowRules(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListWorkflowRules_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkflowRulesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkflowRules_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListWorkflowRules(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListWorkflowRules_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListWorkflowRules_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkflowRulesRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkflowRules_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListWorkflowRules(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListWorkflowRules_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkflowRulesRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkflowRules_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListWorkflowRules(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_TriggerWorkflowRule_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TriggerWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + msg, err := client.TriggerWorkflowRule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_TriggerWorkflowRule_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TriggerWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + msg, err := server.TriggerWorkflowRule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_TriggerWorkflowRule_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TriggerWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + msg, err := client.TriggerWorkflowRule(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_TriggerWorkflowRule_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TriggerWorkflowRuleRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["execution.workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "execution.workflow_id") + } + err = runtime.PopulateFieldFromPath(&protoReq, "execution.workflow_id", val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "execution.workflow_id", err) + } + msg, err := server.TriggerWorkflowRule(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RecordWorkerHeartbeat_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordWorkerHeartbeatRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RecordWorkerHeartbeat(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RecordWorkerHeartbeat_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordWorkerHeartbeatRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RecordWorkerHeartbeat(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RecordWorkerHeartbeat_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordWorkerHeartbeatRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.RecordWorkerHeartbeat(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RecordWorkerHeartbeat_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RecordWorkerHeartbeatRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.RecordWorkerHeartbeat(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListWorkers_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListWorkers_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkersRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkers_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListWorkers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListWorkers_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkersRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkers_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListWorkers(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListWorkers_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListWorkers_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkersRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkers_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListWorkers(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListWorkers_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListWorkersRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListWorkers_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListWorkers(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateTaskQueueConfig_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateTaskQueueConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + msg, err := client.UpdateTaskQueueConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateTaskQueueConfig_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateTaskQueueConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + msg, err := server.UpdateTaskQueueConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateTaskQueueConfig_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateTaskQueueConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + msg, err := client.UpdateTaskQueueConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateTaskQueueConfig_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateTaskQueueConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["task_queue"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "task_queue") + } + protoReq.TaskQueue, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "task_queue", err) + } + msg, err := server.UpdateTaskQueueConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_FetchWorkerConfig_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq FetchWorkerConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.FetchWorkerConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_FetchWorkerConfig_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq FetchWorkerConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.FetchWorkerConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_FetchWorkerConfig_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq FetchWorkerConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.FetchWorkerConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_FetchWorkerConfig_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq FetchWorkerConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.FetchWorkerConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkerConfig_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.UpdateWorkerConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkerConfig_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.UpdateWorkerConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateWorkerConfig_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := client.UpdateWorkerConfig(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateWorkerConfig_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateWorkerConfigRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + msg, err := server.UpdateWorkerConfig(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeWorker_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["worker_instance_key"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "worker_instance_key") + } + protoReq.WorkerInstanceKey, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "worker_instance_key", err) + } + msg, err := client.DescribeWorker(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorker_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["worker_instance_key"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "worker_instance_key") + } + protoReq.WorkerInstanceKey, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "worker_instance_key", err) + } + msg, err := server.DescribeWorker(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_DescribeWorker_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["worker_instance_key"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "worker_instance_key") + } + protoReq.WorkerInstanceKey, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "worker_instance_key", err) + } + msg, err := client.DescribeWorker(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeWorker_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeWorkerRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["worker_instance_key"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "worker_instance_key") + } + protoReq.WorkerInstanceKey, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "worker_instance_key", err) + } + msg, err := server.DescribeWorker(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PauseWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := client.PauseWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PauseWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := server.PauseWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PauseWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := client.PauseWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PauseWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := server.PauseWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UnpauseWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := client.UnpauseWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UnpauseWorkflowExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := server.UnpauseWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UnpauseWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := client.UnpauseWorkflowExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UnpauseWorkflowExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseWorkflowExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + msg, err := server.UnpauseWorkflowExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StartActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.StartActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StartActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.StartActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StartActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.StartActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StartActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.StartActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StartNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := client.StartNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StartNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := server.StartNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_StartNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := client.StartNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_StartNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq StartNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := server.StartNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeActivityExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "activity_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_DescribeActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeActivityExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeActivityExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeActivityExecution_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "activity_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_DescribeActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeActivityExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeActivityExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeNexusOperationExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "operation_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_DescribeNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeNexusOperationExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeNexusOperationExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_DescribeNexusOperationExecution_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "operation_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_DescribeNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeNexusOperationExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.DescribeNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_DescribeNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq DescribeNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_DescribeNexusOperationExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.DescribeNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_PollActivityExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "activity_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_PollActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PollActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_PollActivityExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.PollActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PollActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PollActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_PollActivityExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.PollActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_PollActivityExecution_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "activity_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_PollActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PollActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_PollActivityExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.PollActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PollActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PollActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_PollActivityExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.PollActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_PollNexusOperationExecution_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "operation_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_PollNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PollNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_PollNexusOperationExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.PollNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PollNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PollNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_PollNexusOperationExecution_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.PollNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_PollNexusOperationExecution_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0, "operation_id": 1}, Base: []int{1, 1, 2, 0, 0}, Check: []int{0, 1, 1, 2, 3}} + +func request_WorkflowService_PollNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PollNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_PollNexusOperationExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.PollNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PollNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PollNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_PollNexusOperationExecution_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.PollNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListActivityExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListActivityExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListActivityExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListActivityExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListActivityExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListActivityExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListActivityExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListActivityExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListActivityExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListActivityExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListActivityExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListActivityExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListActivityExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListActivityExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListActivityExecutions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListActivityExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListActivityExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListActivityExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListNexusOperationExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListNexusOperationExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNexusOperationExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListNexusOperationExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListNexusOperationExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListNexusOperationExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNexusOperationExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListNexusOperationExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListNexusOperationExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_ListNexusOperationExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_ListNexusOperationExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNexusOperationExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListNexusOperationExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.ListNexusOperationExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ListNexusOperationExecutions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ListNexusOperationExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_ListNexusOperationExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.ListNexusOperationExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_CountActivityExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_CountActivityExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountActivityExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountActivityExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.CountActivityExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CountActivityExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountActivityExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountActivityExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CountActivityExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_CountActivityExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_CountActivityExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountActivityExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountActivityExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.CountActivityExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CountActivityExecutions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountActivityExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountActivityExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CountActivityExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_CountNexusOperationExecutions_0 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_CountNexusOperationExecutions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountNexusOperationExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountNexusOperationExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.CountNexusOperationExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CountNexusOperationExecutions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountNexusOperationExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountNexusOperationExecutions_0); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CountNexusOperationExecutions(ctx, &protoReq) + return msg, metadata, err +} + +var filter_WorkflowService_CountNexusOperationExecutions_1 = &utilities.DoubleArray{Encoding: map[string]int{"namespace": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} + +func request_WorkflowService_CountNexusOperationExecutions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountNexusOperationExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountNexusOperationExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := client.CountNexusOperationExecutions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_CountNexusOperationExecutions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq CountNexusOperationExecutionsRequest + metadata runtime.ServerMetadata + err error + ) + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + if err := req.ParseForm(); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_WorkflowService_CountNexusOperationExecutions_1); err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + msg, err := server.CountNexusOperationExecutions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RequestCancelActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RequestCancelActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RequestCancelActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RequestCancelActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RequestCancelActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.RequestCancelActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RequestCancelActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.RequestCancelActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RequestCancelNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := client.RequestCancelNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RequestCancelNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := server.RequestCancelNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_RequestCancelNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := client.RequestCancelNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_RequestCancelNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq RequestCancelNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := server.RequestCancelNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_TerminateActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.TerminateActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_TerminateActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.TerminateActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_TerminateActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.TerminateActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_TerminateActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.TerminateActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PauseActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.PauseActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PauseActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.PauseActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PauseActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.PauseActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PauseActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.PauseActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PauseActivityExecution_2(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.PauseActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PauseActivityExecution_2(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.PauseActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_PauseActivityExecution_3(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.PauseActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_PauseActivityExecution_3(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq PauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.PauseActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ResetActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.ResetActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ResetActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.ResetActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ResetActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.ResetActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ResetActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.ResetActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ResetActivityExecution_2(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.ResetActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ResetActivityExecution_2(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.ResetActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_ResetActivityExecution_3(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.ResetActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_ResetActivityExecution_3(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq ResetActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.ResetActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UnpauseActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.UnpauseActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UnpauseActivityExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.UnpauseActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UnpauseActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.UnpauseActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UnpauseActivityExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.UnpauseActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UnpauseActivityExecution_2(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.UnpauseActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UnpauseActivityExecution_2(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.UnpauseActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UnpauseActivityExecution_3(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.UnpauseActivityExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UnpauseActivityExecution_3(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UnpauseActivityExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.UnpauseActivityExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateActivityExecutionOptions_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.UpdateActivityExecutionOptions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateActivityExecutionOptions_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.UpdateActivityExecutionOptions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateActivityExecutionOptions_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.UpdateActivityExecutionOptions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateActivityExecutionOptions_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.UpdateActivityExecutionOptions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateActivityExecutionOptions_2(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.UpdateActivityExecutionOptions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateActivityExecutionOptions_2(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.UpdateActivityExecutionOptions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_UpdateActivityExecutionOptions_3(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := client.UpdateActivityExecutionOptions(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_UpdateActivityExecutionOptions_3(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq UpdateActivityExecutionOptionsRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["workflow_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "workflow_id") + } + protoReq.WorkflowId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "workflow_id", err) + } + val, ok = pathParams["activity_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "activity_id") + } + protoReq.ActivityId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "activity_id", err) + } + msg, err := server.UpdateActivityExecutionOptions(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_TerminateNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := client.TerminateNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_TerminateNexusOperationExecution_0(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := server.TerminateNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +func request_WorkflowService_TerminateNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, client WorkflowServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + if req.Body != nil { + _, _ = io.Copy(io.Discard, req.Body) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := client.TerminateNexusOperationExecution(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) + return msg, metadata, err +} + +func local_request_WorkflowService_TerminateNexusOperationExecution_1(ctx context.Context, marshaler runtime.Marshaler, server WorkflowServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { + var ( + protoReq TerminateNexusOperationExecutionRequest + metadata runtime.ServerMetadata + err error + ) + if err := marshaler.NewDecoder(req.Body).Decode(&protoReq); err != nil && !errors.Is(err, io.EOF) { + return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) + } + val, ok := pathParams["namespace"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "namespace") + } + protoReq.Namespace, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "namespace", err) + } + val, ok = pathParams["operation_id"] + if !ok { + return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "operation_id") + } + protoReq.OperationId, err = runtime.String(val) + if err != nil { + return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "operation_id", err) + } + msg, err := server.TerminateNexusOperationExecution(ctx, &protoReq) + return msg, metadata, err +} + +// RegisterWorkflowServiceHandlerServer registers the http handlers for service WorkflowService to "mux". +// UnaryRPC :call WorkflowServiceServer directly. +// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. +// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterWorkflowServiceHandlerFromEndpoint instead. +// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call. +func RegisterWorkflowServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server WorkflowServiceServer) error { + mux.Handle(http.MethodPost, pattern_WorkflowService_RegisterNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RegisterNamespace", runtime.WithHTTPPathPattern("/cluster/namespaces")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RegisterNamespace_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RegisterNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RegisterNamespace_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RegisterNamespace", runtime.WithHTTPPathPattern("/api/v1/namespaces")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RegisterNamespace_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RegisterNamespace_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeNamespace", runtime.WithHTTPPathPattern("/cluster/namespaces/{namespace}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeNamespace_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeNamespace_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeNamespace", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeNamespace_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeNamespace_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListNamespaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListNamespaces", runtime.WithHTTPPathPattern("/cluster/namespaces")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListNamespaces_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListNamespaces_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListNamespaces_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListNamespaces", runtime.WithHTTPPathPattern("/api/v1/namespaces")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListNamespaces_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListNamespaces_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateNamespace", runtime.WithHTTPPathPattern("/cluster/namespaces/{namespace}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateNamespace_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateNamespace_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateNamespace", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateNamespace_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateNamespace_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StartWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StartWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkflowExecutionHistory_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistory", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}/history")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkflowExecutionHistory_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkflowExecutionHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkflowExecutionHistory_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistory", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkflowExecutionHistory_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkflowExecutionHistory_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkflowExecutionHistoryReverse_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistoryReverse", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkflowExecutionHistoryReverse_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkflowExecutionHistoryReverse_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkflowExecutionHistoryReverse_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistoryReverse", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkflowExecutionHistoryReverse_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkflowExecutionHistoryReverse_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeat", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RecordActivityTaskHeartbeat_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeat_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeat", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RecordActivityTaskHeartbeat_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeat_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeatById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeatById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RecordActivityTaskHeartbeatById_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeatById_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeatById_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeatById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RecordActivityTaskHeartbeatById_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeatById_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeatById_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeatById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RecordActivityTaskHeartbeatById_2(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeatById_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeatById_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeatById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RecordActivityTaskHeartbeatById_3(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeatById_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompleted_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompleted", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCompleted_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompleted_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompleted_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompleted", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCompleted_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompleted_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompletedById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompletedById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCompletedById_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompletedById_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompletedById_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompletedById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCompletedById_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompletedById_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompletedById_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompletedById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCompletedById_2(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompletedById_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompletedById_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompletedById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCompletedById_3(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompletedById_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailed_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailed", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskFailed_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailed_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailed_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailed", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskFailed_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailed_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailedById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailedById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskFailedById_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailedById_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailedById_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailedById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskFailedById_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailedById_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailedById_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailedById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskFailedById_2(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailedById_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailedById_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailedById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskFailedById_3(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailedById_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceled_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceled", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCanceled_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceled_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceled_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceled", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCanceled_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceled_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceledById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceledById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCanceledById_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceledById_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceledById_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceledById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCanceledById_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceledById_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceledById_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceledById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCanceledById_2(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceledById_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceledById_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceledById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RespondActivityTaskCanceledById_3(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceledById_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RequestCancelWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RequestCancelWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SignalWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SignalWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SignalWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SignalWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SignalWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SignalWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SignalWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SignalWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SignalWithStartWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SignalWithStartWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SignalWithStartWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SignalWithStartWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SignalWithStartWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SignalWithStartWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SignalWithStartWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SignalWithStartWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ResetWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ResetWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_TerminateWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_TerminateWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkflowExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListWorkflowExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkflowExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkflowExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListWorkflowExecutions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkflowExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListArchivedWorkflowExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListArchivedWorkflowExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/archived-workflows")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListArchivedWorkflowExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListArchivedWorkflowExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListArchivedWorkflowExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListArchivedWorkflowExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/archived-workflows")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListArchivedWorkflowExecutions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListArchivedWorkflowExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountWorkflowExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountWorkflowExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CountWorkflowExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountWorkflowExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountWorkflowExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountWorkflowExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CountWorkflowExecutions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountWorkflowExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_QueryWorkflow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/QueryWorkflow", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_QueryWorkflow_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_QueryWorkflow_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_QueryWorkflow_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/QueryWorkflow", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_QueryWorkflow_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_QueryWorkflow_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeTaskQueue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeTaskQueue", runtime.WithHTTPPathPattern("/namespaces/{namespace}/task-queues/{task_queue.name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeTaskQueue_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeTaskQueue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeTaskQueue_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeTaskQueue", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/task-queues/{task_queue.name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeTaskQueue_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeTaskQueue_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetClusterInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetClusterInfo", runtime.WithHTTPPathPattern("/cluster")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetClusterInfo_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetClusterInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetClusterInfo_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetClusterInfo", runtime.WithHTTPPathPattern("/api/v1/cluster-info")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetClusterInfo_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetClusterInfo_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetSystemInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetSystemInfo", runtime.WithHTTPPathPattern("/system-info")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetSystemInfo_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetSystemInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetSystemInfo_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetSystemInfo", runtime.WithHTTPPathPattern("/api/v1/system-info")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetSystemInfo_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetSystemInfo_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CreateSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CreateSchedule_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeSchedule_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateSchedule_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PatchSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PatchSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}/patch")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PatchSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PatchSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PatchSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PatchSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}/patch")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PatchSchedule_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PatchSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListScheduleMatchingTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListScheduleMatchingTimes", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}/matching-times")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListScheduleMatchingTimes_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListScheduleMatchingTimes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListScheduleMatchingTimes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListScheduleMatchingTimes", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}/matching-times")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListScheduleMatchingTimes_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListScheduleMatchingTimes_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DeleteSchedule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DeleteSchedule_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListSchedules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListSchedules", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListSchedules_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListSchedules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListSchedules_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListSchedules", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListSchedules_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListSchedules_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountSchedules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountSchedules", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedule-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CountSchedules_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountSchedules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountSchedules_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountSchedules", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedule-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CountSchedules_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountSchedules_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerBuildIdCompatibility_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerBuildIdCompatibility", runtime.WithHTTPPathPattern("/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkerBuildIdCompatibility_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerBuildIdCompatibility_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerBuildIdCompatibility_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerBuildIdCompatibility", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkerBuildIdCompatibility_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerBuildIdCompatibility_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerVersioningRules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerVersioningRules", runtime.WithHTTPPathPattern("/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkerVersioningRules_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerVersioningRules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerVersioningRules_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerVersioningRules", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkerVersioningRules_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerVersioningRules_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerTaskReachability_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerTaskReachability", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-task-reachability")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkerTaskReachability_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerTaskReachability_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerTaskReachability_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerTaskReachability", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-task-reachability")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetWorkerTaskReachability_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerTaskReachability_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeDeployment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeDeployment_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkerDeploymentVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorkerDeploymentVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkerDeploymentVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkerDeploymentVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorkerDeploymentVersion_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkerDeploymentVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListDeployments", runtime.WithHTTPPathPattern("/namespaces/{namespace}/deployments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListDeployments_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListDeployments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListDeployments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListDeployments", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/deployments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListDeployments_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListDeployments_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetDeploymentReachability_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetDeploymentReachability", runtime.WithHTTPPathPattern("/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetDeploymentReachability_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetDeploymentReachability_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetDeploymentReachability_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetDeploymentReachability", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetDeploymentReachability_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetDeploymentReachability_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetCurrentDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetCurrentDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/current-deployment/{series_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetCurrentDeployment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetCurrentDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetCurrentDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetCurrentDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/current-deployment/{series_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_GetCurrentDeployment_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetCurrentDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetCurrentDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetCurrentDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/current-deployment/{deployment.series_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SetCurrentDeployment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetCurrentDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetCurrentDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetCurrentDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/current-deployment/{deployment.series_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SetCurrentDeployment_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetCurrentDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentCurrentVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentCurrentVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}/set-current-version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SetWorkerDeploymentCurrentVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentCurrentVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentCurrentVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentCurrentVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}/set-current-version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SetWorkerDeploymentCurrentVersion_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentCurrentVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkerDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorkerDeployment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkerDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkerDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorkerDeployment_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkerDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkerDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DeleteWorkerDeployment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkerDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkerDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DeleteWorkerDeployment_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkerDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkerDeploymentVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DeleteWorkerDeploymentVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkerDeploymentVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkerDeploymentVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DeleteWorkerDeploymentVersion_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkerDeploymentVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentRampingVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentRampingVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}/set-ramping-version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SetWorkerDeploymentRampingVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentRampingVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentRampingVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentRampingVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}/set-ramping-version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SetWorkerDeploymentRampingVersion_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentRampingVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkerDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkerDeployments", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListWorkerDeployments_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkerDeployments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkerDeployments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkerDeployments", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListWorkerDeployments_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkerDeployments_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkerDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CreateWorkerDeployment_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkerDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkerDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CreateWorkerDeployment_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkerDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkerDeploymentVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CreateWorkerDeploymentVersion_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkerDeploymentVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkerDeploymentVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CreateWorkerDeploymentVersion_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkerDeploymentVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionComputeConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-compute-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionComputeConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-compute-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ValidateWorkerDeploymentVersionComputeConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/validate-compute-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ValidateWorkerDeploymentVersionComputeConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/validate-compute-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionMetadata", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-metadata")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionMetadata", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-metadata")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentManager_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentManager", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}/set-manager")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SetWorkerDeploymentManager_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentManager_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentManager_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentManager", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}/set-manager")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_SetWorkerDeploymentManager_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentManager_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartBatchOperation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartBatchOperation", runtime.WithHTTPPathPattern("/namespaces/{namespace}/batch-operations/{job_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StartBatchOperation_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartBatchOperation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartBatchOperation_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartBatchOperation", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/batch-operations/{job_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StartBatchOperation_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartBatchOperation_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StopBatchOperation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StopBatchOperation", runtime.WithHTTPPathPattern("/namespaces/{namespace}/batch-operations/{job_id}/stop")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StopBatchOperation_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StopBatchOperation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StopBatchOperation_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StopBatchOperation", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/batch-operations/{job_id}/stop")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StopBatchOperation_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StopBatchOperation_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeBatchOperation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeBatchOperation", runtime.WithHTTPPathPattern("/namespaces/{namespace}/batch-operations/{job_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeBatchOperation_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeBatchOperation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeBatchOperation_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeBatchOperation", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/batch-operations/{job_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeBatchOperation_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeBatchOperation_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListBatchOperations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListBatchOperations", runtime.WithHTTPPathPattern("/namespaces/{namespace}/batch-operations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListBatchOperations_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListBatchOperations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListBatchOperations_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListBatchOperations", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/batch-operations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListBatchOperations_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListBatchOperations_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityOptions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityOptions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities-deprecated/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateActivityOptions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityOptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityOptions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityOptions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities-deprecated/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateActivityOptions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityOptions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkflowExecutionOptions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecutionOptions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkflowExecutionOptions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkflowExecutionOptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkflowExecutionOptions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecutionOptions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkflowExecutionOptions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkflowExecutionOptions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivity", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities-deprecated/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PauseActivity_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivity_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivity", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities-deprecated/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PauseActivity_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivity_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivity", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities-deprecated/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UnpauseActivity_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivity_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivity", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities-deprecated/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UnpauseActivity_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivity_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivity", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities-deprecated/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ResetActivity_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivity_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivity", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities-deprecated/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ResetActivity_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivity_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkflowRule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkflowRule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CreateWorkflowRule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkflowRule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkflowRule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkflowRule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CreateWorkflowRule_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkflowRule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkflowRule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowRule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-rules/{rule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorkflowRule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkflowRule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkflowRule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowRule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-rules/{rule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorkflowRule_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkflowRule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkflowRule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkflowRule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-rules/{rule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DeleteWorkflowRule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkflowRule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkflowRule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkflowRule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-rules/{rule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DeleteWorkflowRule_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkflowRule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkflowRules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowRules", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListWorkflowRules_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkflowRules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkflowRules_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowRules", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListWorkflowRules_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkflowRules_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TriggerWorkflowRule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TriggerWorkflowRule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}/trigger-rule")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_TriggerWorkflowRule_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TriggerWorkflowRule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TriggerWorkflowRule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TriggerWorkflowRule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/trigger-rule")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_TriggerWorkflowRule_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TriggerWorkflowRule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordWorkerHeartbeat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordWorkerHeartbeat", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RecordWorkerHeartbeat_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordWorkerHeartbeat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordWorkerHeartbeat_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordWorkerHeartbeat", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RecordWorkerHeartbeat_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordWorkerHeartbeat_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkers", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListWorkers_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkers_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkers", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListWorkers_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkers_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateTaskQueueConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateTaskQueueConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/task-queues/{task_queue}/update-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateTaskQueueConfig_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateTaskQueueConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateTaskQueueConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateTaskQueueConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/task-queues/{task_queue}/update-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateTaskQueueConfig_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateTaskQueueConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_FetchWorkerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/FetchWorkerConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers/fetch-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_FetchWorkerConfig_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_FetchWorkerConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_FetchWorkerConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/FetchWorkerConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers/fetch-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_FetchWorkerConfig_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_FetchWorkerConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers/update-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkerConfig_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers/update-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateWorkerConfig_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorker_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorker", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers/describe/{worker_instance_key}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorker_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorker_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorker_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorker", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers/describe/{worker_instance_key}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeWorker_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorker_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PauseWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PauseWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UnpauseWorkflowExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UnpauseWorkflowExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StartActivityExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StartActivityExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StartNexusOperationExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_StartNexusOperationExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeActivityExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeActivityExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeNexusOperationExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_DescribeNexusOperationExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_PollActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PollActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/outcome")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PollActivityExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PollActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_PollActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PollActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/outcome")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PollActivityExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PollActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_PollNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PollNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}/poll")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PollNexusOperationExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PollNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_PollNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PollNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}/poll")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PollNexusOperationExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PollNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListActivityExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListActivityExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListActivityExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListActivityExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListActivityExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListActivityExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListActivityExecutions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListActivityExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListNexusOperationExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListNexusOperationExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListNexusOperationExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListNexusOperationExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListNexusOperationExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListNexusOperationExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ListNexusOperationExecutions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListNexusOperationExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountActivityExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountActivityExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CountActivityExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountActivityExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountActivityExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountActivityExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CountActivityExecutions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountActivityExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountNexusOperationExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountNexusOperationExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operation-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CountNexusOperationExecutions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountNexusOperationExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountNexusOperationExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountNexusOperationExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operation-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_CountNexusOperationExecutions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountNexusOperationExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RequestCancelActivityExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RequestCancelActivityExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RequestCancelNexusOperationExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_RequestCancelNexusOperationExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_TerminateActivityExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_TerminateActivityExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PauseActivityExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PauseActivityExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivityExecution_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PauseActivityExecution_2(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivityExecution_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivityExecution_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_PauseActivityExecution_3(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivityExecution_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ResetActivityExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ResetActivityExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivityExecution_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ResetActivityExecution_2(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivityExecution_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivityExecution_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_ResetActivityExecution_3(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivityExecution_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UnpauseActivityExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UnpauseActivityExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivityExecution_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UnpauseActivityExecution_2(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivityExecution_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivityExecution_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UnpauseActivityExecution_3(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivityExecution_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityExecutionOptions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityExecutionOptions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateActivityExecutionOptions_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityExecutionOptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityExecutionOptions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityExecutionOptions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateActivityExecutionOptions_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityExecutionOptions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityExecutionOptions_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityExecutionOptions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateActivityExecutionOptions_2(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityExecutionOptions_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityExecutionOptions_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityExecutionOptions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_UpdateActivityExecutionOptions_3(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityExecutionOptions_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_TerminateNexusOperationExecution_0(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + var stream runtime.ServerTransportStream + ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := local_request_WorkflowService_TerminateNexusOperationExecution_1(annotatedContext, inboundMarshaler, server, req, pathParams) + md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + + return nil +} + +// RegisterWorkflowServiceHandlerFromEndpoint is same as RegisterWorkflowServiceHandler but +// automatically dials to "endpoint" and closes the connection when "ctx" gets done. +func RegisterWorkflowServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { + conn, err := grpc.NewClient(endpoint, opts...) + if err != nil { + return err + } + defer func() { + if err != nil { + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + return + } + go func() { + <-ctx.Done() + if cerr := conn.Close(); cerr != nil { + grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr) + } + }() + }() + return RegisterWorkflowServiceHandler(ctx, mux, conn) +} + +// RegisterWorkflowServiceHandler registers the http handlers for service WorkflowService to "mux". +// The handlers forward requests to the grpc endpoint over "conn". +func RegisterWorkflowServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { + return RegisterWorkflowServiceHandlerClient(ctx, mux, NewWorkflowServiceClient(conn)) +} + +// RegisterWorkflowServiceHandlerClient registers the http handlers for service WorkflowService +// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "WorkflowServiceClient". +// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "WorkflowServiceClient" +// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in +// "WorkflowServiceClient" to call the correct interceptors. This client ignores the HTTP middlewares. +func RegisterWorkflowServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client WorkflowServiceClient) error { + mux.Handle(http.MethodPost, pattern_WorkflowService_RegisterNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RegisterNamespace", runtime.WithHTTPPathPattern("/cluster/namespaces")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RegisterNamespace_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RegisterNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RegisterNamespace_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RegisterNamespace", runtime.WithHTTPPathPattern("/api/v1/namespaces")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RegisterNamespace_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RegisterNamespace_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeNamespace", runtime.WithHTTPPathPattern("/cluster/namespaces/{namespace}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeNamespace_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeNamespace_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeNamespace", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeNamespace_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeNamespace_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListNamespaces_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListNamespaces", runtime.WithHTTPPathPattern("/cluster/namespaces")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListNamespaces_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListNamespaces_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListNamespaces_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListNamespaces", runtime.WithHTTPPathPattern("/api/v1/namespaces")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListNamespaces_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListNamespaces_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateNamespace_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateNamespace", runtime.WithHTTPPathPattern("/cluster/namespaces/{namespace}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateNamespace_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateNamespace_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateNamespace_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateNamespace", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateNamespace_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateNamespace_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StartWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StartWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkflowExecutionHistory_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistory", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}/history")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkflowExecutionHistory_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkflowExecutionHistory_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkflowExecutionHistory_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistory", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkflowExecutionHistory_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkflowExecutionHistory_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkflowExecutionHistoryReverse_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistoryReverse", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkflowExecutionHistoryReverse_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkflowExecutionHistoryReverse_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkflowExecutionHistoryReverse_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistoryReverse", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/history-reverse")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkflowExecutionHistoryReverse_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkflowExecutionHistoryReverse_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeat", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RecordActivityTaskHeartbeat_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeat_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeat", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RecordActivityTaskHeartbeat_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeat_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeatById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeatById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RecordActivityTaskHeartbeatById_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeatById_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeatById_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeatById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RecordActivityTaskHeartbeatById_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeatById_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeatById_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeatById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RecordActivityTaskHeartbeatById_2(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeatById_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordActivityTaskHeartbeatById_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeatById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RecordActivityTaskHeartbeatById_3(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordActivityTaskHeartbeatById_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompleted_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompleted", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCompleted_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompleted_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompleted_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompleted", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCompleted_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompleted_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompletedById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompletedById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCompletedById_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompletedById_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompletedById_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompletedById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCompletedById_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompletedById_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompletedById_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompletedById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCompletedById_2(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompletedById_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCompletedById_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompletedById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/complete")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCompletedById_3(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCompletedById_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailed_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailed", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskFailed_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailed_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailed_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailed", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskFailed_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailed_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailedById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailedById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskFailedById_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailedById_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailedById_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailedById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskFailedById_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailedById_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailedById_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailedById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskFailedById_2(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailedById_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskFailedById_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailedById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/fail")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskFailedById_3(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskFailedById_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceled_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceled", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCanceled_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceled_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceled_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceled", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCanceled_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceled_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceledById_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceledById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCanceledById_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceledById_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceledById_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceledById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCanceledById_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceledById_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceledById_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceledById", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCanceledById_2(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceledById_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RespondActivityTaskCanceledById_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceledById", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/resolve-as-canceled")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RespondActivityTaskCanceledById_3(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RespondActivityTaskCanceledById_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RequestCancelWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RequestCancelWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SignalWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SignalWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SignalWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SignalWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SignalWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SignalWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/signal/{signal_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SignalWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SignalWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SignalWithStartWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SignalWithStartWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SignalWithStartWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SignalWithStartWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SignalWithStartWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SignalWithStartWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/signal-with-start/{signal_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SignalWithStartWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SignalWithStartWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ResetWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ResetWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_TerminateWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_TerminateWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkflowExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListWorkflowExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkflowExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkflowExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListWorkflowExecutions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkflowExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListArchivedWorkflowExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListArchivedWorkflowExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/archived-workflows")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListArchivedWorkflowExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListArchivedWorkflowExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListArchivedWorkflowExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListArchivedWorkflowExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/archived-workflows")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListArchivedWorkflowExecutions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListArchivedWorkflowExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountWorkflowExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountWorkflowExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CountWorkflowExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountWorkflowExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountWorkflowExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountWorkflowExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CountWorkflowExecutions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountWorkflowExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_QueryWorkflow_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/QueryWorkflow", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_QueryWorkflow_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_QueryWorkflow_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_QueryWorkflow_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/QueryWorkflow", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/query/{query.query_type}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_QueryWorkflow_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_QueryWorkflow_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeTaskQueue_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeTaskQueue", runtime.WithHTTPPathPattern("/namespaces/{namespace}/task-queues/{task_queue.name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeTaskQueue_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeTaskQueue_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeTaskQueue_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeTaskQueue", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/task-queues/{task_queue.name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeTaskQueue_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeTaskQueue_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetClusterInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetClusterInfo", runtime.WithHTTPPathPattern("/cluster")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetClusterInfo_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetClusterInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetClusterInfo_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetClusterInfo", runtime.WithHTTPPathPattern("/api/v1/cluster-info")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetClusterInfo_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetClusterInfo_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetSystemInfo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetSystemInfo", runtime.WithHTTPPathPattern("/system-info")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetSystemInfo_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetSystemInfo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetSystemInfo_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetSystemInfo", runtime.WithHTTPPathPattern("/api/v1/system-info")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetSystemInfo_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetSystemInfo_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CreateSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CreateSchedule_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeSchedule_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}/update")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateSchedule_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PatchSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PatchSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}/patch")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PatchSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PatchSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PatchSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PatchSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}/patch")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PatchSchedule_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PatchSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListScheduleMatchingTimes_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListScheduleMatchingTimes", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}/matching-times")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListScheduleMatchingTimes_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListScheduleMatchingTimes_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListScheduleMatchingTimes_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListScheduleMatchingTimes", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}/matching-times")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListScheduleMatchingTimes_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListScheduleMatchingTimes_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteSchedule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteSchedule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DeleteSchedule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteSchedule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteSchedule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteSchedule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules/{schedule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DeleteSchedule_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteSchedule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListSchedules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListSchedules", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListSchedules_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListSchedules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListSchedules_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListSchedules", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListSchedules_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListSchedules_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountSchedules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountSchedules", runtime.WithHTTPPathPattern("/namespaces/{namespace}/schedule-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CountSchedules_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountSchedules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountSchedules_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountSchedules", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/schedule-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CountSchedules_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountSchedules_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerBuildIdCompatibility_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerBuildIdCompatibility", runtime.WithHTTPPathPattern("/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkerBuildIdCompatibility_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerBuildIdCompatibility_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerBuildIdCompatibility_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerBuildIdCompatibility", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-build-id-compatibility")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkerBuildIdCompatibility_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerBuildIdCompatibility_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerVersioningRules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerVersioningRules", runtime.WithHTTPPathPattern("/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkerVersioningRules_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerVersioningRules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerVersioningRules_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerVersioningRules", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/task-queues/{task_queue}/worker-versioning-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkerVersioningRules_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerVersioningRules_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerTaskReachability_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerTaskReachability", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-task-reachability")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkerTaskReachability_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerTaskReachability_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetWorkerTaskReachability_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerTaskReachability", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-task-reachability")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetWorkerTaskReachability_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetWorkerTaskReachability_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeDeployment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeDeployment_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkerDeploymentVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorkerDeploymentVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkerDeploymentVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkerDeploymentVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorkerDeploymentVersion_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkerDeploymentVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListDeployments", runtime.WithHTTPPathPattern("/namespaces/{namespace}/deployments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListDeployments_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListDeployments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListDeployments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListDeployments", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/deployments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListDeployments_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListDeployments_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetDeploymentReachability_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetDeploymentReachability", runtime.WithHTTPPathPattern("/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetDeploymentReachability_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetDeploymentReachability_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetDeploymentReachability_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetDeploymentReachability", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/deployments/{deployment.series_name}/{deployment.build_id}/reachability")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetDeploymentReachability_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetDeploymentReachability_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetCurrentDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetCurrentDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/current-deployment/{series_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetCurrentDeployment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetCurrentDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_GetCurrentDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/GetCurrentDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/current-deployment/{series_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_GetCurrentDeployment_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_GetCurrentDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetCurrentDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetCurrentDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/current-deployment/{deployment.series_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SetCurrentDeployment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetCurrentDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetCurrentDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetCurrentDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/current-deployment/{deployment.series_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SetCurrentDeployment_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetCurrentDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentCurrentVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentCurrentVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}/set-current-version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SetWorkerDeploymentCurrentVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentCurrentVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentCurrentVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentCurrentVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}/set-current-version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SetWorkerDeploymentCurrentVersion_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentCurrentVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkerDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorkerDeployment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkerDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkerDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorkerDeployment_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkerDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkerDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DeleteWorkerDeployment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkerDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkerDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DeleteWorkerDeployment_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkerDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkerDeploymentVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DeleteWorkerDeploymentVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkerDeploymentVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkerDeploymentVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DeleteWorkerDeploymentVersion_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkerDeploymentVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentRampingVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentRampingVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}/set-ramping-version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SetWorkerDeploymentRampingVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentRampingVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentRampingVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentRampingVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}/set-ramping-version")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SetWorkerDeploymentRampingVersion_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentRampingVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkerDeployments_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkerDeployments", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListWorkerDeployments_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkerDeployments_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkerDeployments_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkerDeployments", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListWorkerDeployments_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkerDeployments_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkerDeployment_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeployment", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CreateWorkerDeployment_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkerDeployment_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkerDeployment_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeployment", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CreateWorkerDeployment_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkerDeployment_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkerDeploymentVersion_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CreateWorkerDeploymentVersion_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkerDeploymentVersion_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkerDeploymentVersion_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeploymentVersion", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CreateWorkerDeploymentVersion_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkerDeploymentVersion_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionComputeConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-compute-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionComputeConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-compute-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ValidateWorkerDeploymentVersionComputeConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/validate-compute-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ValidateWorkerDeploymentVersionComputeConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/validate-compute-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionMetadata", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-metadata")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionMetadata", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployment-versions/{deployment_version.deployment_name}/{deployment_version.build_id}/update-metadata")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentManager_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentManager", runtime.WithHTTPPathPattern("/namespaces/{namespace}/worker-deployments/{deployment_name}/set-manager")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SetWorkerDeploymentManager_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentManager_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_SetWorkerDeploymentManager_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentManager", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/worker-deployments/{deployment_name}/set-manager")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_SetWorkerDeploymentManager_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_SetWorkerDeploymentManager_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update/{request.input.name}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartBatchOperation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartBatchOperation", runtime.WithHTTPPathPattern("/namespaces/{namespace}/batch-operations/{job_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StartBatchOperation_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartBatchOperation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartBatchOperation_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartBatchOperation", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/batch-operations/{job_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StartBatchOperation_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartBatchOperation_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StopBatchOperation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StopBatchOperation", runtime.WithHTTPPathPattern("/namespaces/{namespace}/batch-operations/{job_id}/stop")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StopBatchOperation_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StopBatchOperation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StopBatchOperation_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StopBatchOperation", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/batch-operations/{job_id}/stop")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StopBatchOperation_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StopBatchOperation_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeBatchOperation_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeBatchOperation", runtime.WithHTTPPathPattern("/namespaces/{namespace}/batch-operations/{job_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeBatchOperation_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeBatchOperation_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeBatchOperation_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeBatchOperation", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/batch-operations/{job_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeBatchOperation_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeBatchOperation_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListBatchOperations_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListBatchOperations", runtime.WithHTTPPathPattern("/namespaces/{namespace}/batch-operations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListBatchOperations_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListBatchOperations_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListBatchOperations_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListBatchOperations", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/batch-operations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListBatchOperations_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListBatchOperations_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityOptions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityOptions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities-deprecated/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateActivityOptions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityOptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityOptions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityOptions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities-deprecated/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateActivityOptions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityOptions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkflowExecutionOptions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecutionOptions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkflowExecutionOptions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkflowExecutionOptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkflowExecutionOptions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecutionOptions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_execution.workflow_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkflowExecutionOptions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkflowExecutionOptions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivity", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities-deprecated/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PauseActivity_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivity_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivity", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities-deprecated/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PauseActivity_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivity_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivity", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities-deprecated/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UnpauseActivity_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivity_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivity", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities-deprecated/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UnpauseActivity_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivity_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivity_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivity", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities-deprecated/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ResetActivity_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivity_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivity_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivity", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities-deprecated/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ResetActivity_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivity_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkflowRule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkflowRule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CreateWorkflowRule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkflowRule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_CreateWorkflowRule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkflowRule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CreateWorkflowRule_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CreateWorkflowRule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkflowRule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowRule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-rules/{rule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorkflowRule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkflowRule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorkflowRule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowRule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-rules/{rule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorkflowRule_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorkflowRule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkflowRule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkflowRule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-rules/{rule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DeleteWorkflowRule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkflowRule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodDelete, pattern_WorkflowService_DeleteWorkflowRule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkflowRule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-rules/{rule_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DeleteWorkflowRule_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DeleteWorkflowRule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkflowRules_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowRules", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflow-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListWorkflowRules_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkflowRules_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkflowRules_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowRules", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflow-rules")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListWorkflowRules_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkflowRules_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TriggerWorkflowRule_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TriggerWorkflowRule", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{execution.workflow_id}/trigger-rule")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_TriggerWorkflowRule_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TriggerWorkflowRule_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TriggerWorkflowRule_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TriggerWorkflowRule", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{execution.workflow_id}/trigger-rule")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_TriggerWorkflowRule_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TriggerWorkflowRule_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordWorkerHeartbeat_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordWorkerHeartbeat", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RecordWorkerHeartbeat_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordWorkerHeartbeat_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RecordWorkerHeartbeat_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RecordWorkerHeartbeat", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers/heartbeat")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RecordWorkerHeartbeat_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RecordWorkerHeartbeat_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkers_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkers", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListWorkers_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkers_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListWorkers_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListWorkers", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListWorkers_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListWorkers_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateTaskQueueConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateTaskQueueConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/task-queues/{task_queue}/update-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateTaskQueueConfig_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateTaskQueueConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateTaskQueueConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateTaskQueueConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/task-queues/{task_queue}/update-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateTaskQueueConfig_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateTaskQueueConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_FetchWorkerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/FetchWorkerConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers/fetch-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_FetchWorkerConfig_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_FetchWorkerConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_FetchWorkerConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/FetchWorkerConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers/fetch-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_FetchWorkerConfig_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_FetchWorkerConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerConfig_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerConfig", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers/update-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkerConfig_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerConfig_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateWorkerConfig_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerConfig", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers/update-config")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateWorkerConfig_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateWorkerConfig_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorker_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorker", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workers/describe/{worker_instance_key}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorker_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorker_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeWorker_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorker", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workers/describe/{worker_instance_key}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeWorker_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeWorker_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PauseWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PauseWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseWorkflowExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseWorkflowExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UnpauseWorkflowExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseWorkflowExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseWorkflowExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseWorkflowExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UnpauseWorkflowExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseWorkflowExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StartActivityExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StartActivityExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StartNexusOperationExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_StartNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/StartNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_StartNexusOperationExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_StartNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeActivityExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeActivityExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeNexusOperationExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_DescribeNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/DescribeNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_DescribeNexusOperationExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_DescribeNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_PollActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PollActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/outcome")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PollActivityExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PollActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_PollActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PollActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/outcome")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PollActivityExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PollActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_PollNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PollNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}/poll")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PollNexusOperationExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PollNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_PollNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PollNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}/poll")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PollNexusOperationExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PollNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListActivityExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListActivityExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListActivityExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListActivityExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListActivityExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListActivityExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListActivityExecutions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListActivityExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListNexusOperationExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListNexusOperationExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListNexusOperationExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListNexusOperationExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_ListNexusOperationExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ListNexusOperationExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ListNexusOperationExecutions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ListNexusOperationExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountActivityExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountActivityExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activity-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CountActivityExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountActivityExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountActivityExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountActivityExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activity-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CountActivityExecutions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountActivityExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountNexusOperationExecutions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountNexusOperationExecutions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operation-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CountNexusOperationExecutions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountNexusOperationExecutions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodGet, pattern_WorkflowService_CountNexusOperationExecutions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/CountNexusOperationExecutions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operation-count")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_CountNexusOperationExecutions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_CountNexusOperationExecutions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RequestCancelActivityExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RequestCancelActivityExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RequestCancelNexusOperationExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_RequestCancelNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}/cancel")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_RequestCancelNexusOperationExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_RequestCancelNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_TerminateActivityExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_TerminateActivityExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PauseActivityExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PauseActivityExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivityExecution_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PauseActivityExecution_2(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivityExecution_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_PauseActivityExecution_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/PauseActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/pause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_PauseActivityExecution_3(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_PauseActivityExecution_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ResetActivityExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ResetActivityExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivityExecution_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ResetActivityExecution_2(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivityExecution_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_ResetActivityExecution_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/ResetActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/reset")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_ResetActivityExecution_3(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_ResetActivityExecution_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivityExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UnpauseActivityExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivityExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivityExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UnpauseActivityExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivityExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivityExecution_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivityExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UnpauseActivityExecution_2(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivityExecution_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UnpauseActivityExecution_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivityExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/unpause")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UnpauseActivityExecution_3(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UnpauseActivityExecution_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityExecutionOptions_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityExecutionOptions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/activities/{activity_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateActivityExecutionOptions_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityExecutionOptions_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityExecutionOptions_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityExecutionOptions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/activities/{activity_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateActivityExecutionOptions_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityExecutionOptions_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityExecutionOptions_2, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityExecutionOptions", runtime.WithHTTPPathPattern("/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateActivityExecutionOptions_2(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityExecutionOptions_2(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_UpdateActivityExecutionOptions_3, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityExecutionOptions", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/workflows/{workflow_id}/activities/{activity_id}/update-options")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_UpdateActivityExecutionOptions_3(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_UpdateActivityExecutionOptions_3(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateNexusOperationExecution_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateNexusOperationExecution", runtime.WithHTTPPathPattern("/namespaces/{namespace}/nexus-operations/{operation_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_TerminateNexusOperationExecution_0(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateNexusOperationExecution_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + mux.Handle(http.MethodPost, pattern_WorkflowService_TerminateNexusOperationExecution_1, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { + ctx, cancel := context.WithCancel(req.Context()) + defer cancel() + inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) + annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/temporal.api.workflowservice.v1.WorkflowService/TerminateNexusOperationExecution", runtime.WithHTTPPathPattern("/api/v1/namespaces/{namespace}/nexus-operations/{operation_id}/terminate")) + if err != nil { + runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) + return + } + resp, md, err := request_WorkflowService_TerminateNexusOperationExecution_1(annotatedContext, inboundMarshaler, client, req, pathParams) + annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md) + if err != nil { + runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err) + return + } + forward_WorkflowService_TerminateNexusOperationExecution_1(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) + }) + return nil +} + +var ( + pattern_WorkflowService_RegisterNamespace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"cluster", "namespaces"}, "")) + pattern_WorkflowService_RegisterNamespace_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "namespaces"}, "")) + pattern_WorkflowService_DescribeNamespace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2}, []string{"cluster", "namespaces", "namespace"}, "")) + pattern_WorkflowService_DescribeNamespace_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"api", "v1", "namespaces", "namespace"}, "")) + pattern_WorkflowService_ListNamespaces_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1}, []string{"cluster", "namespaces"}, "")) + pattern_WorkflowService_ListNamespaces_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "namespaces"}, "")) + pattern_WorkflowService_UpdateNamespace_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 1, 0, 4, 1, 5, 2, 2, 3}, []string{"cluster", "namespaces", "namespace", "update"}, "")) + pattern_WorkflowService_UpdateNamespace_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "update"}, "")) + pattern_WorkflowService_StartWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "workflows", "workflow_id"}, "")) + pattern_WorkflowService_StartWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id"}, "")) + pattern_WorkflowService_GetWorkflowExecutionHistory_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "workflows", "execution.workflow_id", "history"}, "")) + pattern_WorkflowService_GetWorkflowExecutionHistory_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "execution.workflow_id", "history"}, "")) + pattern_WorkflowService_GetWorkflowExecutionHistoryReverse_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "workflows", "execution.workflow_id", "history-reverse"}, "")) + pattern_WorkflowService_GetWorkflowExecutionHistoryReverse_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "execution.workflow_id", "history-reverse"}, "")) + pattern_WorkflowService_RecordActivityTaskHeartbeat_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "activity-heartbeat"}, "")) + pattern_WorkflowService_RecordActivityTaskHeartbeat_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "activity-heartbeat"}, "")) + pattern_WorkflowService_RecordActivityTaskHeartbeatById_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "heartbeat"}, "")) + pattern_WorkflowService_RecordActivityTaskHeartbeatById_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "heartbeat"}, "")) + pattern_WorkflowService_RecordActivityTaskHeartbeatById_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "heartbeat"}, "")) + pattern_WorkflowService_RecordActivityTaskHeartbeatById_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7, 2, 8}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "heartbeat"}, "")) + pattern_WorkflowService_RespondActivityTaskCompleted_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "activity-complete"}, "")) + pattern_WorkflowService_RespondActivityTaskCompleted_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "activity-complete"}, "")) + pattern_WorkflowService_RespondActivityTaskCompletedById_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "complete"}, "")) + pattern_WorkflowService_RespondActivityTaskCompletedById_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "complete"}, "")) + pattern_WorkflowService_RespondActivityTaskCompletedById_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "complete"}, "")) + pattern_WorkflowService_RespondActivityTaskCompletedById_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7, 2, 8}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "complete"}, "")) + pattern_WorkflowService_RespondActivityTaskFailed_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "activity-fail"}, "")) + pattern_WorkflowService_RespondActivityTaskFailed_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "activity-fail"}, "")) + pattern_WorkflowService_RespondActivityTaskFailedById_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "fail"}, "")) + pattern_WorkflowService_RespondActivityTaskFailedById_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "fail"}, "")) + pattern_WorkflowService_RespondActivityTaskFailedById_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "fail"}, "")) + pattern_WorkflowService_RespondActivityTaskFailedById_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7, 2, 8}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "fail"}, "")) + pattern_WorkflowService_RespondActivityTaskCanceled_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "activity-resolve-as-canceled"}, "")) + pattern_WorkflowService_RespondActivityTaskCanceled_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "activity-resolve-as-canceled"}, "")) + pattern_WorkflowService_RespondActivityTaskCanceledById_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "resolve-as-canceled"}, "")) + pattern_WorkflowService_RespondActivityTaskCanceledById_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "resolve-as-canceled"}, "")) + pattern_WorkflowService_RespondActivityTaskCanceledById_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "resolve-as-canceled"}, "")) + pattern_WorkflowService_RespondActivityTaskCanceledById_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7, 2, 8}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "resolve-as-canceled"}, "")) + pattern_WorkflowService_RequestCancelWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "cancel"}, "")) + pattern_WorkflowService_RequestCancelWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "cancel"}, "")) + pattern_WorkflowService_SignalWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "signal", "signal_name"}, "")) + pattern_WorkflowService_SignalWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "signal", "signal_name"}, "")) + pattern_WorkflowService_SignalWithStartWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"namespaces", "namespace", "workflows", "workflow_id", "signal-with-start", "signal_name"}, "")) + pattern_WorkflowService_SignalWithStartWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "signal-with-start", "signal_name"}, "")) + pattern_WorkflowService_ResetWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "reset"}, "")) + pattern_WorkflowService_ResetWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "reset"}, "")) + pattern_WorkflowService_TerminateWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "terminate"}, "")) + pattern_WorkflowService_TerminateWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "terminate"}, "")) + pattern_WorkflowService_ListWorkflowExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "workflows"}, "")) + pattern_WorkflowService_ListWorkflowExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "workflows"}, "")) + pattern_WorkflowService_ListArchivedWorkflowExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "archived-workflows"}, "")) + pattern_WorkflowService_ListArchivedWorkflowExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "archived-workflows"}, "")) + pattern_WorkflowService_CountWorkflowExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "workflow-count"}, "")) + pattern_WorkflowService_CountWorkflowExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "workflow-count"}, "")) + pattern_WorkflowService_QueryWorkflow_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"namespaces", "namespace", "workflows", "execution.workflow_id", "query", "query.query_type"}, "")) + pattern_WorkflowService_QueryWorkflow_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "namespaces", "namespace", "workflows", "execution.workflow_id", "query", "query.query_type"}, "")) + pattern_WorkflowService_DescribeWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "workflows", "execution.workflow_id"}, "")) + pattern_WorkflowService_DescribeWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "workflows", "execution.workflow_id"}, "")) + pattern_WorkflowService_DescribeTaskQueue_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "task-queues", "task_queue.name"}, "")) + pattern_WorkflowService_DescribeTaskQueue_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "task-queues", "task_queue.name"}, "")) + pattern_WorkflowService_GetClusterInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"cluster"}, "")) + pattern_WorkflowService_GetClusterInfo_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "cluster-info"}, "")) + pattern_WorkflowService_GetSystemInfo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0}, []string{"system-info"}, "")) + pattern_WorkflowService_GetSystemInfo_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"api", "v1", "system-info"}, "")) + pattern_WorkflowService_CreateSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "schedules", "schedule_id"}, "")) + pattern_WorkflowService_CreateSchedule_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "schedules", "schedule_id"}, "")) + pattern_WorkflowService_DescribeSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "schedules", "schedule_id"}, "")) + pattern_WorkflowService_DescribeSchedule_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "schedules", "schedule_id"}, "")) + pattern_WorkflowService_UpdateSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "schedules", "schedule_id", "update"}, "")) + pattern_WorkflowService_UpdateSchedule_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "schedules", "schedule_id", "update"}, "")) + pattern_WorkflowService_PatchSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "schedules", "schedule_id", "patch"}, "")) + pattern_WorkflowService_PatchSchedule_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "schedules", "schedule_id", "patch"}, "")) + pattern_WorkflowService_ListScheduleMatchingTimes_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "schedules", "schedule_id", "matching-times"}, "")) + pattern_WorkflowService_ListScheduleMatchingTimes_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "schedules", "schedule_id", "matching-times"}, "")) + pattern_WorkflowService_DeleteSchedule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "schedules", "schedule_id"}, "")) + pattern_WorkflowService_DeleteSchedule_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "schedules", "schedule_id"}, "")) + pattern_WorkflowService_ListSchedules_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "schedules"}, "")) + pattern_WorkflowService_ListSchedules_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "schedules"}, "")) + pattern_WorkflowService_CountSchedules_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "schedule-count"}, "")) + pattern_WorkflowService_CountSchedules_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "schedule-count"}, "")) + pattern_WorkflowService_GetWorkerBuildIdCompatibility_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "task-queues", "task_queue", "worker-build-id-compatibility"}, "")) + pattern_WorkflowService_GetWorkerBuildIdCompatibility_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "task-queues", "task_queue", "worker-build-id-compatibility"}, "")) + pattern_WorkflowService_GetWorkerVersioningRules_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "task-queues", "task_queue", "worker-versioning-rules"}, "")) + pattern_WorkflowService_GetWorkerVersioningRules_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "task-queues", "task_queue", "worker-versioning-rules"}, "")) + pattern_WorkflowService_GetWorkerTaskReachability_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "worker-task-reachability"}, "")) + pattern_WorkflowService_GetWorkerTaskReachability_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "worker-task-reachability"}, "")) + pattern_WorkflowService_DescribeDeployment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"namespaces", "namespace", "deployments", "deployment.series_name", "deployment.build_id"}, "")) + pattern_WorkflowService_DescribeDeployment_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "namespaces", "namespace", "deployments", "deployment.series_name", "deployment.build_id"}, "")) + pattern_WorkflowService_DescribeWorkerDeploymentVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id"}, "")) + pattern_WorkflowService_DescribeWorkerDeploymentVersion_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id"}, "")) + pattern_WorkflowService_ListDeployments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "deployments"}, "")) + pattern_WorkflowService_ListDeployments_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "deployments"}, "")) + pattern_WorkflowService_GetDeploymentReachability_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"namespaces", "namespace", "deployments", "deployment.series_name", "deployment.build_id", "reachability"}, "")) + pattern_WorkflowService_GetDeploymentReachability_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 2, 7}, []string{"api", "v1", "namespaces", "namespace", "deployments", "deployment.series_name", "deployment.build_id", "reachability"}, "")) + pattern_WorkflowService_GetCurrentDeployment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "current-deployment", "series_name"}, "")) + pattern_WorkflowService_GetCurrentDeployment_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "current-deployment", "series_name"}, "")) + pattern_WorkflowService_SetCurrentDeployment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "current-deployment", "deployment.series_name"}, "")) + pattern_WorkflowService_SetCurrentDeployment_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "current-deployment", "deployment.series_name"}, "")) + pattern_WorkflowService_SetWorkerDeploymentCurrentVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "worker-deployments", "deployment_name", "set-current-version"}, "")) + pattern_WorkflowService_SetWorkerDeploymentCurrentVersion_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "worker-deployments", "deployment_name", "set-current-version"}, "")) + pattern_WorkflowService_DescribeWorkerDeployment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "worker-deployments", "deployment_name"}, "")) + pattern_WorkflowService_DescribeWorkerDeployment_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "worker-deployments", "deployment_name"}, "")) + pattern_WorkflowService_DeleteWorkerDeployment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "worker-deployments", "deployment_name"}, "")) + pattern_WorkflowService_DeleteWorkerDeployment_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "worker-deployments", "deployment_name"}, "")) + pattern_WorkflowService_DeleteWorkerDeploymentVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4}, []string{"namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id"}, "")) + pattern_WorkflowService_DeleteWorkerDeploymentVersion_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id"}, "")) + pattern_WorkflowService_SetWorkerDeploymentRampingVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "worker-deployments", "deployment_name", "set-ramping-version"}, "")) + pattern_WorkflowService_SetWorkerDeploymentRampingVersion_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "worker-deployments", "deployment_name", "set-ramping-version"}, "")) + pattern_WorkflowService_ListWorkerDeployments_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "worker-deployments"}, "")) + pattern_WorkflowService_ListWorkerDeployments_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "worker-deployments"}, "")) + pattern_WorkflowService_CreateWorkerDeployment_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "worker-deployments", "deployment_name"}, "")) + pattern_WorkflowService_CreateWorkerDeployment_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "worker-deployments", "deployment_name"}, "")) + pattern_WorkflowService_CreateWorkerDeploymentVersion_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name"}, "")) + pattern_WorkflowService_CreateWorkerDeploymentVersion_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name"}, "")) + pattern_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id", "update-compute-config"}, "")) + pattern_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 2, 7}, []string{"api", "v1", "namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id", "update-compute-config"}, "")) + pattern_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id", "validate-compute-config"}, "")) + pattern_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 2, 7}, []string{"api", "v1", "namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id", "validate-compute-config"}, "")) + pattern_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 1, 0, 4, 1, 5, 4, 2, 5}, []string{"namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id", "update-metadata"}, "")) + pattern_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 1, 0, 4, 1, 5, 6, 2, 7}, []string{"api", "v1", "namespaces", "namespace", "worker-deployment-versions", "deployment_version.deployment_name", "deployment_version.build_id", "update-metadata"}, "")) + pattern_WorkflowService_SetWorkerDeploymentManager_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "worker-deployments", "deployment_name", "set-manager"}, "")) + pattern_WorkflowService_SetWorkerDeploymentManager_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "worker-deployments", "deployment_name", "set-manager"}, "")) + pattern_WorkflowService_UpdateWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "update", "request.input.name"}, "")) + pattern_WorkflowService_UpdateWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "update", "request.input.name"}, "")) + pattern_WorkflowService_StartBatchOperation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "batch-operations", "job_id"}, "")) + pattern_WorkflowService_StartBatchOperation_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "batch-operations", "job_id"}, "")) + pattern_WorkflowService_StopBatchOperation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "batch-operations", "job_id", "stop"}, "")) + pattern_WorkflowService_StopBatchOperation_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "batch-operations", "job_id", "stop"}, "")) + pattern_WorkflowService_DescribeBatchOperation_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "batch-operations", "job_id"}, "")) + pattern_WorkflowService_DescribeBatchOperation_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "batch-operations", "job_id"}, "")) + pattern_WorkflowService_ListBatchOperations_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "batch-operations"}, "")) + pattern_WorkflowService_ListBatchOperations_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "batch-operations"}, "")) + pattern_WorkflowService_UpdateActivityOptions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"namespaces", "namespace", "activities-deprecated", "update-options"}, "")) + pattern_WorkflowService_UpdateActivityOptions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"api", "v1", "namespaces", "namespace", "activities-deprecated", "update-options"}, "")) + pattern_WorkflowService_UpdateWorkflowExecutionOptions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "update-options"}, "")) + pattern_WorkflowService_UpdateWorkflowExecutionOptions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_execution.workflow_id", "update-options"}, "")) + pattern_WorkflowService_PauseActivity_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"namespaces", "namespace", "activities-deprecated", "pause"}, "")) + pattern_WorkflowService_PauseActivity_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"api", "v1", "namespaces", "namespace", "activities-deprecated", "pause"}, "")) + pattern_WorkflowService_UnpauseActivity_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"namespaces", "namespace", "activities-deprecated", "unpause"}, "")) + pattern_WorkflowService_UnpauseActivity_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"api", "v1", "namespaces", "namespace", "activities-deprecated", "unpause"}, "")) + pattern_WorkflowService_ResetActivity_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"namespaces", "namespace", "activities-deprecated", "reset"}, "")) + pattern_WorkflowService_ResetActivity_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"api", "v1", "namespaces", "namespace", "activities-deprecated", "reset"}, "")) + pattern_WorkflowService_CreateWorkflowRule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "workflow-rules"}, "")) + pattern_WorkflowService_CreateWorkflowRule_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "workflow-rules"}, "")) + pattern_WorkflowService_DescribeWorkflowRule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "workflow-rules", "rule_id"}, "")) + pattern_WorkflowService_DescribeWorkflowRule_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "workflow-rules", "rule_id"}, "")) + pattern_WorkflowService_DeleteWorkflowRule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "workflow-rules", "rule_id"}, "")) + pattern_WorkflowService_DeleteWorkflowRule_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "workflow-rules", "rule_id"}, "")) + pattern_WorkflowService_ListWorkflowRules_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "workflow-rules"}, "")) + pattern_WorkflowService_ListWorkflowRules_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "workflow-rules"}, "")) + pattern_WorkflowService_TriggerWorkflowRule_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "workflows", "execution.workflow_id", "trigger-rule"}, "")) + pattern_WorkflowService_TriggerWorkflowRule_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "execution.workflow_id", "trigger-rule"}, "")) + pattern_WorkflowService_RecordWorkerHeartbeat_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"namespaces", "namespace", "workers", "heartbeat"}, "")) + pattern_WorkflowService_RecordWorkerHeartbeat_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"api", "v1", "namespaces", "namespace", "workers", "heartbeat"}, "")) + pattern_WorkflowService_ListWorkers_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "workers"}, "")) + pattern_WorkflowService_ListWorkers_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "workers"}, "")) + pattern_WorkflowService_UpdateTaskQueueConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "task-queues", "task_queue", "update-config"}, "")) + pattern_WorkflowService_UpdateTaskQueueConfig_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "task-queues", "task_queue", "update-config"}, "")) + pattern_WorkflowService_FetchWorkerConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"namespaces", "namespace", "workers", "fetch-config"}, "")) + pattern_WorkflowService_FetchWorkerConfig_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"api", "v1", "namespaces", "namespace", "workers", "fetch-config"}, "")) + pattern_WorkflowService_UpdateWorkerConfig_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3}, []string{"namespaces", "namespace", "workers", "update-config"}, "")) + pattern_WorkflowService_UpdateWorkerConfig_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5}, []string{"api", "v1", "namespaces", "namespace", "workers", "update-config"}, "")) + pattern_WorkflowService_DescribeWorker_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 2, 3, 1, 0, 4, 1, 5, 4}, []string{"namespaces", "namespace", "workers", "describe", "worker_instance_key"}, "")) + pattern_WorkflowService_DescribeWorker_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 2, 5, 1, 0, 4, 1, 5, 6}, []string{"api", "v1", "namespaces", "namespace", "workers", "describe", "worker_instance_key"}, "")) + pattern_WorkflowService_PauseWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "workflows", "workflow_id", "pause"}, "")) + pattern_WorkflowService_PauseWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "pause"}, "")) + pattern_WorkflowService_UnpauseWorkflowExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "workflows", "workflow_id", "unpause"}, "")) + pattern_WorkflowService_UnpauseWorkflowExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "unpause"}, "")) + pattern_WorkflowService_StartActivityExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "activities", "activity_id"}, "")) + pattern_WorkflowService_StartActivityExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id"}, "")) + pattern_WorkflowService_StartNexusOperationExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "nexus-operations", "operation_id"}, "")) + pattern_WorkflowService_StartNexusOperationExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "nexus-operations", "operation_id"}, "")) + pattern_WorkflowService_DescribeActivityExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "activities", "activity_id"}, "")) + pattern_WorkflowService_DescribeActivityExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id"}, "")) + pattern_WorkflowService_DescribeNexusOperationExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3}, []string{"namespaces", "namespace", "nexus-operations", "operation_id"}, "")) + pattern_WorkflowService_DescribeNexusOperationExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"api", "v1", "namespaces", "namespace", "nexus-operations", "operation_id"}, "")) + pattern_WorkflowService_PollActivityExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "outcome"}, "")) + pattern_WorkflowService_PollActivityExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "outcome"}, "")) + pattern_WorkflowService_PollNexusOperationExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "nexus-operations", "operation_id", "poll"}, "")) + pattern_WorkflowService_PollNexusOperationExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "nexus-operations", "operation_id", "poll"}, "")) + pattern_WorkflowService_ListActivityExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "activities"}, "")) + pattern_WorkflowService_ListActivityExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "activities"}, "")) + pattern_WorkflowService_ListNexusOperationExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "nexus-operations"}, "")) + pattern_WorkflowService_ListNexusOperationExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "nexus-operations"}, "")) + pattern_WorkflowService_CountActivityExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "activity-count"}, "")) + pattern_WorkflowService_CountActivityExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "activity-count"}, "")) + pattern_WorkflowService_CountNexusOperationExecutions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2}, []string{"namespaces", "namespace", "nexus-operation-count"}, "")) + pattern_WorkflowService_CountNexusOperationExecutions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"api", "v1", "namespaces", "namespace", "nexus-operation-count"}, "")) + pattern_WorkflowService_RequestCancelActivityExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "cancel"}, "")) + pattern_WorkflowService_RequestCancelActivityExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "cancel"}, "")) + pattern_WorkflowService_RequestCancelNexusOperationExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "nexus-operations", "operation_id", "cancel"}, "")) + pattern_WorkflowService_RequestCancelNexusOperationExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "nexus-operations", "operation_id", "cancel"}, "")) + pattern_WorkflowService_TerminateActivityExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "terminate"}, "")) + pattern_WorkflowService_TerminateActivityExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "terminate"}, "")) + pattern_WorkflowService_PauseActivityExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "pause"}, "")) + pattern_WorkflowService_PauseActivityExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "pause"}, "")) + pattern_WorkflowService_PauseActivityExecution_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "pause"}, "")) + pattern_WorkflowService_PauseActivityExecution_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7, 2, 8}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "pause"}, "")) + pattern_WorkflowService_ResetActivityExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "reset"}, "")) + pattern_WorkflowService_ResetActivityExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "reset"}, "")) + pattern_WorkflowService_ResetActivityExecution_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "reset"}, "")) + pattern_WorkflowService_ResetActivityExecution_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7, 2, 8}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "reset"}, "")) + pattern_WorkflowService_UnpauseActivityExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "unpause"}, "")) + pattern_WorkflowService_UnpauseActivityExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "unpause"}, "")) + pattern_WorkflowService_UnpauseActivityExecution_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "unpause"}, "")) + pattern_WorkflowService_UnpauseActivityExecution_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7, 2, 8}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "unpause"}, "")) + pattern_WorkflowService_UpdateActivityExecutionOptions_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "activities", "activity_id", "update-options"}, "")) + pattern_WorkflowService_UpdateActivityExecutionOptions_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "activities", "activity_id", "update-options"}, "")) + pattern_WorkflowService_UpdateActivityExecutionOptions_2 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "update-options"}, "")) + pattern_WorkflowService_UpdateActivityExecutionOptions_3 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6, 1, 0, 4, 1, 5, 7, 2, 8}, []string{"api", "v1", "namespaces", "namespace", "workflows", "workflow_id", "activities", "activity_id", "update-options"}, "")) + pattern_WorkflowService_TerminateNexusOperationExecution_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 1, 0, 4, 1, 5, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"namespaces", "namespace", "nexus-operations", "operation_id", "terminate"}, "")) + pattern_WorkflowService_TerminateNexusOperationExecution_1 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"api", "v1", "namespaces", "namespace", "nexus-operations", "operation_id", "terminate"}, "")) +) + +var ( + forward_WorkflowService_RegisterNamespace_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RegisterNamespace_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeNamespace_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeNamespace_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListNamespaces_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListNamespaces_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateNamespace_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateNamespace_1 = runtime.ForwardResponseMessage + forward_WorkflowService_StartWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_StartWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkflowExecutionHistory_0 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkflowExecutionHistory_1 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkflowExecutionHistoryReverse_0 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkflowExecutionHistoryReverse_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RecordActivityTaskHeartbeat_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RecordActivityTaskHeartbeat_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RecordActivityTaskHeartbeatById_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RecordActivityTaskHeartbeatById_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RecordActivityTaskHeartbeatById_2 = runtime.ForwardResponseMessage + forward_WorkflowService_RecordActivityTaskHeartbeatById_3 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCompleted_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCompleted_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCompletedById_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCompletedById_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCompletedById_2 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCompletedById_3 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskFailed_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskFailed_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskFailedById_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskFailedById_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskFailedById_2 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskFailedById_3 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCanceled_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCanceled_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCanceledById_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCanceledById_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCanceledById_2 = runtime.ForwardResponseMessage + forward_WorkflowService_RespondActivityTaskCanceledById_3 = runtime.ForwardResponseMessage + forward_WorkflowService_RequestCancelWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RequestCancelWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_SignalWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_SignalWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_SignalWithStartWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_SignalWithStartWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ResetWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ResetWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_TerminateWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_TerminateWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListWorkflowExecutions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListWorkflowExecutions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListArchivedWorkflowExecutions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListArchivedWorkflowExecutions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_CountWorkflowExecutions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_CountWorkflowExecutions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_QueryWorkflow_0 = runtime.ForwardResponseMessage + forward_WorkflowService_QueryWorkflow_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeTaskQueue_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeTaskQueue_1 = runtime.ForwardResponseMessage + forward_WorkflowService_GetClusterInfo_0 = runtime.ForwardResponseMessage + forward_WorkflowService_GetClusterInfo_1 = runtime.ForwardResponseMessage + forward_WorkflowService_GetSystemInfo_0 = runtime.ForwardResponseMessage + forward_WorkflowService_GetSystemInfo_1 = runtime.ForwardResponseMessage + forward_WorkflowService_CreateSchedule_0 = runtime.ForwardResponseMessage + forward_WorkflowService_CreateSchedule_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeSchedule_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeSchedule_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateSchedule_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateSchedule_1 = runtime.ForwardResponseMessage + forward_WorkflowService_PatchSchedule_0 = runtime.ForwardResponseMessage + forward_WorkflowService_PatchSchedule_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListScheduleMatchingTimes_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListScheduleMatchingTimes_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DeleteSchedule_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DeleteSchedule_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListSchedules_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListSchedules_1 = runtime.ForwardResponseMessage + forward_WorkflowService_CountSchedules_0 = runtime.ForwardResponseMessage + forward_WorkflowService_CountSchedules_1 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkerBuildIdCompatibility_0 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkerBuildIdCompatibility_1 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkerVersioningRules_0 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkerVersioningRules_1 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkerTaskReachability_0 = runtime.ForwardResponseMessage + forward_WorkflowService_GetWorkerTaskReachability_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeDeployment_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeDeployment_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorkerDeploymentVersion_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorkerDeploymentVersion_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListDeployments_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListDeployments_1 = runtime.ForwardResponseMessage + forward_WorkflowService_GetDeploymentReachability_0 = runtime.ForwardResponseMessage + forward_WorkflowService_GetDeploymentReachability_1 = runtime.ForwardResponseMessage + forward_WorkflowService_GetCurrentDeployment_0 = runtime.ForwardResponseMessage + forward_WorkflowService_GetCurrentDeployment_1 = runtime.ForwardResponseMessage + forward_WorkflowService_SetCurrentDeployment_0 = runtime.ForwardResponseMessage + forward_WorkflowService_SetCurrentDeployment_1 = runtime.ForwardResponseMessage + forward_WorkflowService_SetWorkerDeploymentCurrentVersion_0 = runtime.ForwardResponseMessage + forward_WorkflowService_SetWorkerDeploymentCurrentVersion_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorkerDeployment_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorkerDeployment_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DeleteWorkerDeployment_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DeleteWorkerDeployment_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DeleteWorkerDeploymentVersion_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DeleteWorkerDeploymentVersion_1 = runtime.ForwardResponseMessage + forward_WorkflowService_SetWorkerDeploymentRampingVersion_0 = runtime.ForwardResponseMessage + forward_WorkflowService_SetWorkerDeploymentRampingVersion_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListWorkerDeployments_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListWorkerDeployments_1 = runtime.ForwardResponseMessage + forward_WorkflowService_CreateWorkerDeployment_0 = runtime.ForwardResponseMessage + forward_WorkflowService_CreateWorkerDeployment_1 = runtime.ForwardResponseMessage + forward_WorkflowService_CreateWorkerDeploymentVersion_0 = runtime.ForwardResponseMessage + forward_WorkflowService_CreateWorkerDeploymentVersion_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkerDeploymentVersionMetadata_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkerDeploymentVersionMetadata_1 = runtime.ForwardResponseMessage + forward_WorkflowService_SetWorkerDeploymentManager_0 = runtime.ForwardResponseMessage + forward_WorkflowService_SetWorkerDeploymentManager_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_StartBatchOperation_0 = runtime.ForwardResponseMessage + forward_WorkflowService_StartBatchOperation_1 = runtime.ForwardResponseMessage + forward_WorkflowService_StopBatchOperation_0 = runtime.ForwardResponseMessage + forward_WorkflowService_StopBatchOperation_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeBatchOperation_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeBatchOperation_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListBatchOperations_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListBatchOperations_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateActivityOptions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateActivityOptions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkflowExecutionOptions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkflowExecutionOptions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_PauseActivity_0 = runtime.ForwardResponseMessage + forward_WorkflowService_PauseActivity_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UnpauseActivity_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UnpauseActivity_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ResetActivity_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ResetActivity_1 = runtime.ForwardResponseMessage + forward_WorkflowService_CreateWorkflowRule_0 = runtime.ForwardResponseMessage + forward_WorkflowService_CreateWorkflowRule_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorkflowRule_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorkflowRule_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DeleteWorkflowRule_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DeleteWorkflowRule_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListWorkflowRules_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListWorkflowRules_1 = runtime.ForwardResponseMessage + forward_WorkflowService_TriggerWorkflowRule_0 = runtime.ForwardResponseMessage + forward_WorkflowService_TriggerWorkflowRule_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RecordWorkerHeartbeat_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RecordWorkerHeartbeat_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListWorkers_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListWorkers_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateTaskQueueConfig_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateTaskQueueConfig_1 = runtime.ForwardResponseMessage + forward_WorkflowService_FetchWorkerConfig_0 = runtime.ForwardResponseMessage + forward_WorkflowService_FetchWorkerConfig_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkerConfig_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateWorkerConfig_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorker_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeWorker_1 = runtime.ForwardResponseMessage + forward_WorkflowService_PauseWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_PauseWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UnpauseWorkflowExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UnpauseWorkflowExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_StartActivityExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_StartActivityExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_StartNexusOperationExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_StartNexusOperationExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeActivityExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeActivityExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeNexusOperationExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_DescribeNexusOperationExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_PollActivityExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_PollActivityExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_PollNexusOperationExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_PollNexusOperationExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListActivityExecutions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListActivityExecutions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ListNexusOperationExecutions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ListNexusOperationExecutions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_CountActivityExecutions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_CountActivityExecutions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_CountNexusOperationExecutions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_CountNexusOperationExecutions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RequestCancelActivityExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RequestCancelActivityExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_RequestCancelNexusOperationExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_RequestCancelNexusOperationExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_TerminateActivityExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_TerminateActivityExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_PauseActivityExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_PauseActivityExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_PauseActivityExecution_2 = runtime.ForwardResponseMessage + forward_WorkflowService_PauseActivityExecution_3 = runtime.ForwardResponseMessage + forward_WorkflowService_ResetActivityExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_ResetActivityExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_ResetActivityExecution_2 = runtime.ForwardResponseMessage + forward_WorkflowService_ResetActivityExecution_3 = runtime.ForwardResponseMessage + forward_WorkflowService_UnpauseActivityExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UnpauseActivityExecution_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UnpauseActivityExecution_2 = runtime.ForwardResponseMessage + forward_WorkflowService_UnpauseActivityExecution_3 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateActivityExecutionOptions_0 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateActivityExecutionOptions_1 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateActivityExecutionOptions_2 = runtime.ForwardResponseMessage + forward_WorkflowService_UpdateActivityExecutionOptions_3 = runtime.ForwardResponseMessage + forward_WorkflowService_TerminateNexusOperationExecution_0 = runtime.ForwardResponseMessage + forward_WorkflowService_TerminateNexusOperationExecution_1 = runtime.ForwardResponseMessage +) diff --git a/api_next/workflowservice/v1/service_grpc.pb.go b/api_next/workflowservice/v1/service_grpc.pb.go new file mode 100644 index 00000000..6c43903e --- /dev/null +++ b/api_next/workflowservice/v1/service_grpc.pb.go @@ -0,0 +1,5959 @@ +// Code generated by protoc-gen-go-grpc. DO NOT EDIT. +// plugins: +// - protoc-gen-go-grpc +// - protoc +// source: temporal/api/workflowservice/v1/service.proto + +package workflowservice + +import ( + context "context" + grpc "google.golang.org/grpc" + codes "google.golang.org/grpc/codes" + status "google.golang.org/grpc/status" +) + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the grpc package it is being compiled against. +// Requires gRPC-Go v1.64.0 or later. +const _ = grpc.SupportPackageIsVersion9 + +const ( + WorkflowService_RegisterNamespace_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RegisterNamespace" + WorkflowService_DescribeNamespace_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeNamespace" + WorkflowService_ListNamespaces_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListNamespaces" + WorkflowService_UpdateNamespace_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateNamespace" + WorkflowService_DeprecateNamespace_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DeprecateNamespace" + WorkflowService_Echo_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/Echo" + WorkflowService_StartWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/StartWorkflowExecution" + WorkflowService_ExecuteMultiOperation_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ExecuteMultiOperation" + WorkflowService_GetWorkflowExecutionHistory_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistory" + WorkflowService_GetWorkflowExecutionHistoryReverse_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetWorkflowExecutionHistoryReverse" + WorkflowService_PollWorkflowTaskQueue_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PollWorkflowTaskQueue" + WorkflowService_RespondWorkflowTaskCompleted_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondWorkflowTaskCompleted" + WorkflowService_RespondWorkflowTaskFailed_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondWorkflowTaskFailed" + WorkflowService_PollActivityTaskQueue_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PollActivityTaskQueue" + WorkflowService_RecordActivityTaskHeartbeat_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeat" + WorkflowService_RecordActivityTaskHeartbeatById_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RecordActivityTaskHeartbeatById" + WorkflowService_RespondActivityTaskCompleted_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompleted" + WorkflowService_RespondActivityTaskCompletedById_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCompletedById" + WorkflowService_RespondActivityTaskFailed_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailed" + WorkflowService_RespondActivityTaskFailedById_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskFailedById" + WorkflowService_RespondActivityTaskCanceled_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceled" + WorkflowService_RespondActivityTaskCanceledById_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondActivityTaskCanceledById" + WorkflowService_RequestCancelWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelWorkflowExecution" + WorkflowService_SignalWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/SignalWorkflowExecution" + WorkflowService_SignalWithStartWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/SignalWithStartWorkflowExecution" + WorkflowService_ResetWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ResetWorkflowExecution" + WorkflowService_TerminateWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/TerminateWorkflowExecution" + WorkflowService_DeleteWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkflowExecution" + WorkflowService_ListOpenWorkflowExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListOpenWorkflowExecutions" + WorkflowService_ListClosedWorkflowExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListClosedWorkflowExecutions" + WorkflowService_ListWorkflowExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowExecutions" + WorkflowService_ListArchivedWorkflowExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListArchivedWorkflowExecutions" + WorkflowService_ScanWorkflowExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ScanWorkflowExecutions" + WorkflowService_CountWorkflowExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/CountWorkflowExecutions" + WorkflowService_GetSearchAttributes_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetSearchAttributes" + WorkflowService_RespondQueryTaskCompleted_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondQueryTaskCompleted" + WorkflowService_ResetStickyTaskQueue_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ResetStickyTaskQueue" + WorkflowService_ShutdownWorker_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ShutdownWorker" + WorkflowService_QueryWorkflow_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/QueryWorkflow" + WorkflowService_DescribeWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowExecution" + WorkflowService_DescribeTaskQueue_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeTaskQueue" + WorkflowService_GetClusterInfo_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetClusterInfo" + WorkflowService_GetSystemInfo_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetSystemInfo" + WorkflowService_ListTaskQueuePartitions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListTaskQueuePartitions" + WorkflowService_CreateSchedule_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/CreateSchedule" + WorkflowService_DescribeSchedule_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeSchedule" + WorkflowService_UpdateSchedule_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateSchedule" + WorkflowService_PatchSchedule_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PatchSchedule" + WorkflowService_ListScheduleMatchingTimes_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListScheduleMatchingTimes" + WorkflowService_DeleteSchedule_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DeleteSchedule" + WorkflowService_ListSchedules_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListSchedules" + WorkflowService_CountSchedules_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/CountSchedules" + WorkflowService_UpdateWorkerBuildIdCompatibility_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerBuildIdCompatibility" + WorkflowService_GetWorkerBuildIdCompatibility_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerBuildIdCompatibility" + WorkflowService_UpdateWorkerVersioningRules_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerVersioningRules" + WorkflowService_GetWorkerVersioningRules_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerVersioningRules" + WorkflowService_GetWorkerTaskReachability_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetWorkerTaskReachability" + WorkflowService_DescribeDeployment_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeDeployment" + WorkflowService_DescribeWorkerDeploymentVersion_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeploymentVersion" + WorkflowService_ListDeployments_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListDeployments" + WorkflowService_GetDeploymentReachability_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetDeploymentReachability" + WorkflowService_GetCurrentDeployment_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/GetCurrentDeployment" + WorkflowService_SetCurrentDeployment_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/SetCurrentDeployment" + WorkflowService_SetWorkerDeploymentCurrentVersion_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentCurrentVersion" + WorkflowService_DescribeWorkerDeployment_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkerDeployment" + WorkflowService_DeleteWorkerDeployment_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeployment" + WorkflowService_DeleteWorkerDeploymentVersion_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkerDeploymentVersion" + WorkflowService_SetWorkerDeploymentRampingVersion_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentRampingVersion" + WorkflowService_ListWorkerDeployments_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListWorkerDeployments" + WorkflowService_CreateWorkerDeployment_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeployment" + WorkflowService_CreateWorkerDeploymentVersion_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkerDeploymentVersion" + WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionComputeConfig" + WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ValidateWorkerDeploymentVersionComputeConfig" + WorkflowService_UpdateWorkerDeploymentVersionMetadata_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerDeploymentVersionMetadata" + WorkflowService_SetWorkerDeploymentManager_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/SetWorkerDeploymentManager" + WorkflowService_UpdateWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecution" + WorkflowService_PollWorkflowExecutionUpdate_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PollWorkflowExecutionUpdate" + WorkflowService_StartBatchOperation_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/StartBatchOperation" + WorkflowService_StopBatchOperation_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/StopBatchOperation" + WorkflowService_DescribeBatchOperation_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeBatchOperation" + WorkflowService_ListBatchOperations_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListBatchOperations" + WorkflowService_PollNexusTaskQueue_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PollNexusTaskQueue" + WorkflowService_RespondNexusTaskCompleted_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondNexusTaskCompleted" + WorkflowService_RespondNexusTaskFailed_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RespondNexusTaskFailed" + WorkflowService_UpdateActivityOptions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityOptions" + WorkflowService_UpdateWorkflowExecutionOptions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkflowExecutionOptions" + WorkflowService_PauseActivity_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PauseActivity" + WorkflowService_UnpauseActivity_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivity" + WorkflowService_ResetActivity_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ResetActivity" + WorkflowService_CreateWorkflowRule_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/CreateWorkflowRule" + WorkflowService_DescribeWorkflowRule_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorkflowRule" + WorkflowService_DeleteWorkflowRule_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DeleteWorkflowRule" + WorkflowService_ListWorkflowRules_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListWorkflowRules" + WorkflowService_TriggerWorkflowRule_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/TriggerWorkflowRule" + WorkflowService_RecordWorkerHeartbeat_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RecordWorkerHeartbeat" + WorkflowService_ListWorkers_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListWorkers" + WorkflowService_UpdateTaskQueueConfig_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateTaskQueueConfig" + WorkflowService_FetchWorkerConfig_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/FetchWorkerConfig" + WorkflowService_UpdateWorkerConfig_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateWorkerConfig" + WorkflowService_DescribeWorker_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeWorker" + WorkflowService_PauseWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PauseWorkflowExecution" + WorkflowService_UnpauseWorkflowExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UnpauseWorkflowExecution" + WorkflowService_StartActivityExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/StartActivityExecution" + WorkflowService_StartNexusOperationExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/StartNexusOperationExecution" + WorkflowService_DescribeActivityExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeActivityExecution" + WorkflowService_DescribeNexusOperationExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DescribeNexusOperationExecution" + WorkflowService_PollActivityExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PollActivityExecution" + WorkflowService_PollNexusOperationExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PollNexusOperationExecution" + WorkflowService_ListActivityExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListActivityExecutions" + WorkflowService_ListNexusOperationExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ListNexusOperationExecutions" + WorkflowService_CountActivityExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/CountActivityExecutions" + WorkflowService_CountNexusOperationExecutions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/CountNexusOperationExecutions" + WorkflowService_RequestCancelActivityExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelActivityExecution" + WorkflowService_RequestCancelNexusOperationExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/RequestCancelNexusOperationExecution" + WorkflowService_TerminateActivityExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/TerminateActivityExecution" + WorkflowService_DeleteActivityExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DeleteActivityExecution" + WorkflowService_PauseActivityExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/PauseActivityExecution" + WorkflowService_ResetActivityExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/ResetActivityExecution" + WorkflowService_UnpauseActivityExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UnpauseActivityExecution" + WorkflowService_UpdateActivityExecutionOptions_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/UpdateActivityExecutionOptions" + WorkflowService_TerminateNexusOperationExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/TerminateNexusOperationExecution" + WorkflowService_DeleteNexusOperationExecution_FullMethodName = "/temporal.api.workflowservice.v1.WorkflowService/DeleteNexusOperationExecution" +) + +// WorkflowServiceClient is the client API for WorkflowService service. +// +// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. +// +// WorkflowService API defines how Temporal SDKs and other clients interact with the Temporal server +// to create and interact with workflows and activities. +// +// Users are expected to call `StartWorkflowExecution` to create a new workflow execution. +// +// To drive workflows, a worker using a Temporal SDK must exist which regularly polls for workflow +// and activity tasks from the service. For each workflow task, the sdk must process the +// (incremental or complete) event history and respond back with any newly generated commands. +// +// For each activity task, the worker is expected to execute the user's code which implements that +// activity, responding with completion or failure. +type WorkflowServiceClient interface { + // RegisterNamespace creates a new namespace which can be used as a container for all resources. + // + // A Namespace is a top level entity within Temporal, and is used as a container for resources + // like workflow executions, task queues, etc. A Namespace acts as a sandbox and provides + // isolation for all resources within the namespace. All resources belongs to exactly one + // namespace. + RegisterNamespace(ctx context.Context, in *RegisterNamespaceRequest, opts ...grpc.CallOption) (*RegisterNamespaceResponse, error) + // DescribeNamespace returns the information and configuration for a registered namespace. + DescribeNamespace(ctx context.Context, in *DescribeNamespaceRequest, opts ...grpc.CallOption) (*DescribeNamespaceResponse, error) + // ListNamespaces returns the information and configuration for all namespaces. + ListNamespaces(ctx context.Context, in *ListNamespacesRequest, opts ...grpc.CallOption) (*ListNamespacesResponse, error) + // UpdateNamespace is used to update the information and configuration of a registered + // namespace. + UpdateNamespace(ctx context.Context, in *UpdateNamespaceRequest, opts ...grpc.CallOption) (*UpdateNamespaceResponse, error) + // DeprecateNamespace is used to update the state of a registered namespace to DEPRECATED. + // + // Once the namespace is deprecated it cannot be used to start new workflow executions. Existing + // workflow executions will continue to run on deprecated namespaces. + // Deprecated. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Deprecated --) + DeprecateNamespace(ctx context.Context, in *DeprecateNamespaceRequest, opts ...grpc.CallOption) (*DeprecateNamespaceResponse, error) + // Echo returns the payload unchanged. Experimental: example feature only. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Echo is an experimental RPC not exposed over HTTP. --) + Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) + // StartWorkflowExecution starts a new workflow execution. + // + // It will create the execution with a `WORKFLOW_EXECUTION_STARTED` event in its history and + // also schedule the first workflow task. Returns `WorkflowExecutionAlreadyStarted`, if an + // instance already exists with same workflow id. + StartWorkflowExecution(ctx context.Context, in *StartWorkflowExecutionRequest, opts ...grpc.CallOption) (*StartWorkflowExecutionResponse, error) + // ExecuteMultiOperation executes multiple operations within a single workflow. + // + // Operations are started atomically, meaning if *any* operation fails to be started, none are, + // and the request fails. Upon start, the API returns only when *all* operations have a response. + // + // Upon failure, it returns `MultiOperationExecutionFailure` where the status code + // equals the status code of the *first* operation that failed to be started. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: To be exposed over HTTP in the future. --) + ExecuteMultiOperation(ctx context.Context, in *ExecuteMultiOperationRequest, opts ...grpc.CallOption) (*ExecuteMultiOperationResponse, error) + // GetWorkflowExecutionHistory returns the history of specified workflow execution. Fails with + // `NotFound` if the specified workflow execution is unknown to the service. + GetWorkflowExecutionHistory(ctx context.Context, in *GetWorkflowExecutionHistoryRequest, opts ...grpc.CallOption) (*GetWorkflowExecutionHistoryResponse, error) + // GetWorkflowExecutionHistoryReverse returns the history of specified workflow execution in reverse + // order (starting from last event). Fails with`NotFound` if the specified workflow execution is + // unknown to the service. + GetWorkflowExecutionHistoryReverse(ctx context.Context, in *GetWorkflowExecutionHistoryReverseRequest, opts ...grpc.CallOption) (*GetWorkflowExecutionHistoryReverseResponse, error) + // PollWorkflowTaskQueue is called by workers to make progress on workflows. + // + // A WorkflowTask is dispatched to callers for active workflow executions with pending workflow + // tasks. The worker is expected to call `RespondWorkflowTaskCompleted` when it is done + // processing the task. The service will create a `WorkflowTaskStarted` event in the history for + // this task before handing it to the worker. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + PollWorkflowTaskQueue(ctx context.Context, in *PollWorkflowTaskQueueRequest, opts ...grpc.CallOption) (*PollWorkflowTaskQueueResponse, error) + // RespondWorkflowTaskCompleted is called by workers to successfully complete workflow tasks + // they received from `PollWorkflowTaskQueue`. + // + // Completing a WorkflowTask will write a `WORKFLOW_TASK_COMPLETED` event to the workflow's + // history, along with events corresponding to whatever commands the SDK generated while + // executing the task (ex timer started, activity task scheduled, etc). + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondWorkflowTaskCompleted(ctx context.Context, in *RespondWorkflowTaskCompletedRequest, opts ...grpc.CallOption) (*RespondWorkflowTaskCompletedResponse, error) + // RespondWorkflowTaskFailed is called by workers to indicate the processing of a workflow task + // failed. + // + // This results in a `WORKFLOW_TASK_FAILED` event written to the history, and a new workflow + // task will be scheduled. This API can be used to report unhandled failures resulting from + // applying the workflow task. + // + // Temporal will only append first WorkflowTaskFailed event to the history of workflow execution + // for consecutive failures. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondWorkflowTaskFailed(ctx context.Context, in *RespondWorkflowTaskFailedRequest, opts ...grpc.CallOption) (*RespondWorkflowTaskFailedResponse, error) + // PollActivityTaskQueue is called by workers to process activity tasks from a specific task + // queue. + // + // The worker is expected to call one of the `RespondActivityTaskXXX` methods when it is done + // processing the task. + // + // An activity task is dispatched whenever a `SCHEDULE_ACTIVITY_TASK` command is produced during + // workflow execution. An in memory `ACTIVITY_TASK_STARTED` event is written to mutable state + // before the task is dispatched to the worker. The started event, and the final event + // (`ACTIVITY_TASK_COMPLETED` / `ACTIVITY_TASK_FAILED` / `ACTIVITY_TASK_TIMED_OUT`) will both be + // written permanently to Workflow execution history when Activity is finished. This is done to + // avoid writing many events in the case of a failure/retry loop. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + PollActivityTaskQueue(ctx context.Context, in *PollActivityTaskQueueRequest, opts ...grpc.CallOption) (*PollActivityTaskQueueResponse, error) + // RecordActivityTaskHeartbeat is optionally called by workers while they execute activities. + // + // If a worker fails to heartbeat within the `heartbeat_timeout` interval for the activity task, + // then the current attempt times out. Depending on RetryPolicy, this may trigger a retry or + // time out the activity. + // + // For workflow activities, an `ACTIVITY_TASK_TIMED_OUT` event will be written to the workflow + // history. Calling `RecordActivityTaskHeartbeat` will fail with `NotFound` in such situations, + // in that event, the SDK should request cancellation of the activity. + // + // The request may contain response `details` which will be persisted by the server and may be + // used by the activity to checkpoint progress. The `cancel_requested` field in the response + // indicates whether cancellation has been requested for the activity. + RecordActivityTaskHeartbeat(ctx context.Context, in *RecordActivityTaskHeartbeatRequest, opts ...grpc.CallOption) (*RecordActivityTaskHeartbeatResponse, error) + // See `RecordActivityTaskHeartbeat`. This version allows clients to record heartbeats by + // namespace/workflow id/activity id instead of task token. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "By" is used to indicate request type. --) + RecordActivityTaskHeartbeatById(ctx context.Context, in *RecordActivityTaskHeartbeatByIdRequest, opts ...grpc.CallOption) (*RecordActivityTaskHeartbeatByIdResponse, error) + // RespondActivityTaskCompleted is called by workers when they successfully complete an activity + // task. + // + // For workflow activities, this results in a new `ACTIVITY_TASK_COMPLETED` event being written to the workflow history + // and a new workflow task created for the workflow. Fails with `NotFound` if the task token is + // no longer valid due to activity timeout, already being completed, or never having existed. + RespondActivityTaskCompleted(ctx context.Context, in *RespondActivityTaskCompletedRequest, opts ...grpc.CallOption) (*RespondActivityTaskCompletedResponse, error) + // See `RespondActivityTaskCompleted`. This version allows clients to record completions by + // namespace/workflow id/activity id instead of task token. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "By" is used to indicate request type. --) + RespondActivityTaskCompletedById(ctx context.Context, in *RespondActivityTaskCompletedByIdRequest, opts ...grpc.CallOption) (*RespondActivityTaskCompletedByIdResponse, error) + // RespondActivityTaskFailed is called by workers when processing an activity task fails. + // + // This results in a new `ACTIVITY_TASK_FAILED` event being written to the workflow history and + // a new workflow task created for the workflow. Fails with `NotFound` if the task token is no + // longer valid due to activity timeout, already being completed, or never having existed. + RespondActivityTaskFailed(ctx context.Context, in *RespondActivityTaskFailedRequest, opts ...grpc.CallOption) (*RespondActivityTaskFailedResponse, error) + // See `RecordActivityTaskFailed`. This version allows clients to record failures by + // namespace/workflow id/activity id instead of task token. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "By" is used to indicate request type. --) + RespondActivityTaskFailedById(ctx context.Context, in *RespondActivityTaskFailedByIdRequest, opts ...grpc.CallOption) (*RespondActivityTaskFailedByIdResponse, error) + // RespondActivityTaskFailed is called by workers when processing an activity task fails. + // + // For workflow activities, this results in a new `ACTIVITY_TASK_CANCELED` event being written to the workflow history + // and a new workflow task created for the workflow. Fails with `NotFound` if the task token is + // no longer valid due to activity timeout, already being completed, or never having existed. + RespondActivityTaskCanceled(ctx context.Context, in *RespondActivityTaskCanceledRequest, opts ...grpc.CallOption) (*RespondActivityTaskCanceledResponse, error) + // See `RespondActivityTaskCanceled`. This version allows clients to record failures by + // namespace/workflow id/activity id instead of task token. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "By" is used to indicate request type. --) + RespondActivityTaskCanceledById(ctx context.Context, in *RespondActivityTaskCanceledByIdRequest, opts ...grpc.CallOption) (*RespondActivityTaskCanceledByIdResponse, error) + // RequestCancelWorkflowExecution is called by workers when they want to request cancellation of + // a workflow execution. + // + // This results in a new `WORKFLOW_EXECUTION_CANCEL_REQUESTED` event being written to the + // workflow history and a new workflow task created for the workflow. It returns success if the requested + // workflow is already closed. It fails with 'NotFound' if the requested workflow doesn't exist. + RequestCancelWorkflowExecution(ctx context.Context, in *RequestCancelWorkflowExecutionRequest, opts ...grpc.CallOption) (*RequestCancelWorkflowExecutionResponse, error) + // SignalWorkflowExecution is used to send a signal to a running workflow execution. + // + // This results in a `WORKFLOW_EXECUTION_SIGNALED` event recorded in the history and a workflow + // task being created for the execution. + SignalWorkflowExecution(ctx context.Context, in *SignalWorkflowExecutionRequest, opts ...grpc.CallOption) (*SignalWorkflowExecutionResponse, error) + // SignalWithStartWorkflowExecution is used to ensure a signal is sent to a workflow, even if + // it isn't yet started. + // + // If the workflow is running, a `WORKFLOW_EXECUTION_SIGNALED` event is recorded in the history + // and a workflow task is generated. + // + // If the workflow is not running or not found, then the workflow is created with + // `WORKFLOW_EXECUTION_STARTED` and `WORKFLOW_EXECUTION_SIGNALED` events in its history, and a + // workflow task is generated. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "With" is used to indicate combined operation. --) + SignalWithStartWorkflowExecution(ctx context.Context, in *SignalWithStartWorkflowExecutionRequest, opts ...grpc.CallOption) (*SignalWithStartWorkflowExecutionResponse, error) + // ResetWorkflowExecution will reset an existing workflow execution to a specified + // `WORKFLOW_TASK_COMPLETED` event (exclusive). It will immediately terminate the current + // execution instance. "Exclusive" means the identified completed event itself is not replayed + // in the reset history; the preceding `WORKFLOW_TASK_STARTED` event remains and will be marked as failed + // immediately, and a new workflow task will be scheduled to retry it. + ResetWorkflowExecution(ctx context.Context, in *ResetWorkflowExecutionRequest, opts ...grpc.CallOption) (*ResetWorkflowExecutionResponse, error) + // TerminateWorkflowExecution terminates an existing workflow execution by recording a + // `WORKFLOW_EXECUTION_TERMINATED` event in the history and immediately terminating the + // execution instance. + TerminateWorkflowExecution(ctx context.Context, in *TerminateWorkflowExecutionRequest, opts ...grpc.CallOption) (*TerminateWorkflowExecutionResponse, error) + // DeleteWorkflowExecution asynchronously deletes a specific Workflow Execution (when + // WorkflowExecution.run_id is provided) or the latest Workflow Execution (when + // WorkflowExecution.run_id is not provided). If the Workflow Execution is Running, it will be + // terminated before deletion. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Workflow deletion not exposed to HTTP, users should use cancel or terminate. --) + DeleteWorkflowExecution(ctx context.Context, in *DeleteWorkflowExecutionRequest, opts ...grpc.CallOption) (*DeleteWorkflowExecutionResponse, error) + // ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --) + ListOpenWorkflowExecutions(ctx context.Context, in *ListOpenWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ListOpenWorkflowExecutionsResponse, error) + // ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --) + ListClosedWorkflowExecutions(ctx context.Context, in *ListClosedWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ListClosedWorkflowExecutionsResponse, error) + // ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace. + ListWorkflowExecutions(ctx context.Context, in *ListWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ListWorkflowExecutionsResponse, error) + // ListArchivedWorkflowExecutions is a visibility API to list archived workflow executions in a specific namespace. + ListArchivedWorkflowExecutions(ctx context.Context, in *ListArchivedWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ListArchivedWorkflowExecutionsResponse, error) + // ScanWorkflowExecutions _was_ a visibility API to list large amount of workflow executions in a specific namespace without order. + // It has since been deprecated in favor of `ListWorkflowExecutions` and rewritten to use `ListWorkflowExecutions` internally. + // + // Deprecated: Replaced with `ListWorkflowExecutions`. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --) + ScanWorkflowExecutions(ctx context.Context, in *ScanWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ScanWorkflowExecutionsResponse, error) + // CountWorkflowExecutions is a visibility API to count of workflow executions in a specific namespace. + CountWorkflowExecutions(ctx context.Context, in *CountWorkflowExecutionsRequest, opts ...grpc.CallOption) (*CountWorkflowExecutionsResponse, error) + // GetSearchAttributes is a visibility API to get all legal keys that could be used in list APIs + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose this search attribute API to HTTP (but may expose on OperatorService). --) + GetSearchAttributes(ctx context.Context, in *GetSearchAttributesRequest, opts ...grpc.CallOption) (*GetSearchAttributesResponse, error) + // RespondQueryTaskCompleted is called by workers to complete queries which were delivered on + // the `query` (not `queries`) field of a `PollWorkflowTaskQueueResponse`. + // + // Completing the query will unblock the corresponding client call to `QueryWorkflow` and return + // the query result a response. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondQueryTaskCompleted(ctx context.Context, in *RespondQueryTaskCompletedRequest, opts ...grpc.CallOption) (*RespondQueryTaskCompletedResponse, error) + // ResetStickyTaskQueue resets the sticky task queue related information in the mutable state of + // a given workflow. This is prudent for workers to perform if a workflow has been paged out of + // their cache. + // + // Things cleared are: + // 1. StickyTaskQueue + // 2. StickyScheduleToStartTimeout + // + // When possible, ShutdownWorker should be preferred over + // ResetStickyTaskQueue (particularly when a worker is shutting down or + // cycling). + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + ResetStickyTaskQueue(ctx context.Context, in *ResetStickyTaskQueueRequest, opts ...grpc.CallOption) (*ResetStickyTaskQueueResponse, error) + // ShutdownWorker is used to indicate that the given sticky task + // queue is no longer being polled by its worker. Following the completion of + // ShutdownWorker, newly-added workflow tasks will instead be placed + // in the normal task queue, eligible for any worker to pick up. + // + // ShutdownWorker should be called by workers while shutting down, + // after they've shut down their pollers. If another sticky poll + // request is issued, the sticky task queue will be revived. + // + // As of Temporal Server v1.25.0, ShutdownWorker hasn't yet been implemented. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + ShutdownWorker(ctx context.Context, in *ShutdownWorkerRequest, opts ...grpc.CallOption) (*ShutdownWorkerResponse, error) + // QueryWorkflow requests a query be executed for a specified workflow execution. + QueryWorkflow(ctx context.Context, in *QueryWorkflowRequest, opts ...grpc.CallOption) (*QueryWorkflowResponse, error) + // DescribeWorkflowExecution returns information about the specified workflow execution. + DescribeWorkflowExecution(ctx context.Context, in *DescribeWorkflowExecutionRequest, opts ...grpc.CallOption) (*DescribeWorkflowExecutionResponse, error) + // DescribeTaskQueue returns the following information about the target task queue, broken down by Build ID: + // - List of pollers + // - Workflow Reachability status + // - Backlog info for Workflow and/or Activity tasks + DescribeTaskQueue(ctx context.Context, in *DescribeTaskQueueRequest, opts ...grpc.CallOption) (*DescribeTaskQueueResponse, error) + // GetClusterInfo returns information about temporal cluster + GetClusterInfo(ctx context.Context, in *GetClusterInfoRequest, opts ...grpc.CallOption) (*GetClusterInfoResponse, error) + // GetSystemInfo returns information about the system. + GetSystemInfo(ctx context.Context, in *GetSystemInfoRequest, opts ...grpc.CallOption) (*GetSystemInfoResponse, error) + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose this low-level API to HTTP. --) + ListTaskQueuePartitions(ctx context.Context, in *ListTaskQueuePartitionsRequest, opts ...grpc.CallOption) (*ListTaskQueuePartitionsResponse, error) + // Creates a new schedule. + CreateSchedule(ctx context.Context, in *CreateScheduleRequest, opts ...grpc.CallOption) (*CreateScheduleResponse, error) + // Returns the schedule description and current state of an existing schedule. + DescribeSchedule(ctx context.Context, in *DescribeScheduleRequest, opts ...grpc.CallOption) (*DescribeScheduleResponse, error) + // Changes the configuration or state of an existing schedule. + UpdateSchedule(ctx context.Context, in *UpdateScheduleRequest, opts ...grpc.CallOption) (*UpdateScheduleResponse, error) + // Makes a specific change to a schedule or triggers an immediate action. + PatchSchedule(ctx context.Context, in *PatchScheduleRequest, opts ...grpc.CallOption) (*PatchScheduleResponse, error) + // Lists matching times within a range. + ListScheduleMatchingTimes(ctx context.Context, in *ListScheduleMatchingTimesRequest, opts ...grpc.CallOption) (*ListScheduleMatchingTimesResponse, error) + // Deletes a schedule, removing it from the system. + DeleteSchedule(ctx context.Context, in *DeleteScheduleRequest, opts ...grpc.CallOption) (*DeleteScheduleResponse, error) + // List all schedules in a namespace. + ListSchedules(ctx context.Context, in *ListSchedulesRequest, opts ...grpc.CallOption) (*ListSchedulesResponse, error) + // CountSchedules is a visibility API to count schedules in a specific namespace. + CountSchedules(ctx context.Context, in *CountSchedulesRequest, opts ...grpc.CallOption) (*CountSchedulesResponse, error) + // Deprecated. Use `UpdateWorkerVersioningRules`. + // + // Allows users to specify sets of worker build id versions on a per task queue basis. Versions + // are ordered, and may be either compatible with some extant version, or a new incompatible + // version, forming sets of ids which are incompatible with each other, but whose contained + // members are compatible with one another. + // + // A single build id may be mapped to multiple task queues using this API for cases where a single process hosts + // multiple workers. + // + // To query which workers can be retired, use the `GetWorkerTaskReachability` API. + // + // NOTE: The number of task queues mapped to a single build id is limited by the `limit.taskQueuesPerBuildId` + // (default is 20), if this limit is exceeded this API will error with a FailedPrecondition. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do yet expose versioning API to HTTP. --) + UpdateWorkerBuildIdCompatibility(ctx context.Context, in *UpdateWorkerBuildIdCompatibilityRequest, opts ...grpc.CallOption) (*UpdateWorkerBuildIdCompatibilityResponse, error) + // Deprecated. Use `GetWorkerVersioningRules`. + // Fetches the worker build id versioning sets for a task queue. + GetWorkerBuildIdCompatibility(ctx context.Context, in *GetWorkerBuildIdCompatibilityRequest, opts ...grpc.CallOption) (*GetWorkerBuildIdCompatibilityResponse, error) + // Use this API to manage Worker Versioning Rules for a given Task Queue. There are two types of + // rules: Build ID Assignment rules and Compatible Build ID Redirect rules. + // + // Assignment rules determine how to assign new executions to a Build IDs. Their primary + // use case is to specify the latest Build ID but they have powerful features for gradual rollout + // of a new Build ID. + // + // Once a workflow execution is assigned to a Build ID and it completes its first Workflow Task, + // the workflow stays on the assigned Build ID regardless of changes in assignment rules. This + // eliminates the need for compatibility between versions when you only care about using the new + // version for new workflows and let existing workflows finish in their own version. + // + // Activities, Child Workflows and Continue-as-New executions have the option to inherit the + // Build ID of their parent/previous workflow or use the latest assignment rules to independently + // select a Build ID. + // + // Redirect rules should only be used when you want to move workflows and activities assigned to + // one Build ID (source) to another compatible Build ID (target). You are responsible to make sure + // the target Build ID of a redirect rule is able to process event histories made by the source + // Build ID by using [Patching](https://docs.temporal.io/workflows#patching) or other means. + // + // WARNING: Worker Versioning is not yet stable and the API and behavior may change incompatibly. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do yet expose versioning API to HTTP. --) + UpdateWorkerVersioningRules(ctx context.Context, in *UpdateWorkerVersioningRulesRequest, opts ...grpc.CallOption) (*UpdateWorkerVersioningRulesResponse, error) + // Fetches the Build ID assignment and redirect rules for a Task Queue. + // WARNING: Worker Versioning is not yet stable and the API and behavior may change incompatibly. + GetWorkerVersioningRules(ctx context.Context, in *GetWorkerVersioningRulesRequest, opts ...grpc.CallOption) (*GetWorkerVersioningRulesResponse, error) + // Deprecated. Use `DescribeTaskQueue`. + // + // Fetches task reachability to determine whether a worker may be retired. + // The request may specify task queues to query for or let the server fetch all task queues mapped to the given + // build IDs. + // + // When requesting a large number of task queues or all task queues associated with the given build ids in a + // namespace, all task queues will be listed in the response but some of them may not contain reachability + // information due to a server enforced limit. When reaching the limit, task queues that reachability information + // could not be retrieved for will be marked with a single TASK_REACHABILITY_UNSPECIFIED entry. The caller may issue + // another call to get the reachability for those task queues. + // + // Open source users can adjust this limit by setting the server's dynamic config value for + // `limit.reachabilityTaskQueueScan` with the caveat that this call can strain the visibility store. + GetWorkerTaskReachability(ctx context.Context, in *GetWorkerTaskReachabilityRequest, opts ...grpc.CallOption) (*GetWorkerTaskReachabilityResponse, error) + // Describes a worker deployment. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced with `DescribeWorkerDeploymentVersion`. + DescribeDeployment(ctx context.Context, in *DescribeDeploymentRequest, opts ...grpc.CallOption) (*DescribeDeploymentResponse, error) + // Describes a worker deployment version. + // Experimental. This API might significantly change or be removed in a future release. + DescribeWorkerDeploymentVersion(ctx context.Context, in *DescribeWorkerDeploymentVersionRequest, opts ...grpc.CallOption) (*DescribeWorkerDeploymentVersionResponse, error) + // Lists worker deployments in the namespace. Optionally can filter based on deployment series + // name. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced with `ListWorkerDeployments`. + ListDeployments(ctx context.Context, in *ListDeploymentsRequest, opts ...grpc.CallOption) (*ListDeploymentsResponse, error) + // Returns the reachability level of a worker deployment to help users decide when it is time + // to decommission a deployment. Reachability level is calculated based on the deployment's + // `status` and existing workflows that depend on the given deployment for their execution. + // Calculating reachability is relatively expensive. Therefore, server might return a recently + // cached value. In such a case, the `last_update_time` will inform you about the actual + // reachability calculation time. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced with `DrainageInfo` returned by `DescribeWorkerDeploymentVersion`. + GetDeploymentReachability(ctx context.Context, in *GetDeploymentReachabilityRequest, opts ...grpc.CallOption) (*GetDeploymentReachabilityResponse, error) + // Returns the current deployment (and its info) for a given deployment series. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced by `current_version` returned by `DescribeWorkerDeployment`. + GetCurrentDeployment(ctx context.Context, in *GetCurrentDeploymentRequest, opts ...grpc.CallOption) (*GetCurrentDeploymentResponse, error) + // Sets a deployment as the current deployment for its deployment series. Can optionally update + // the metadata of the deployment as well. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced by `SetWorkerDeploymentCurrentVersion`. + SetCurrentDeployment(ctx context.Context, in *SetCurrentDeploymentRequest, opts ...grpc.CallOption) (*SetCurrentDeploymentResponse, error) + // Set/unset the Current Version of a Worker Deployment. Automatically unsets the Ramping + // Version if it is the Version being set as Current. + // Experimental. This API might significantly change or be removed in a future release. + SetWorkerDeploymentCurrentVersion(ctx context.Context, in *SetWorkerDeploymentCurrentVersionRequest, opts ...grpc.CallOption) (*SetWorkerDeploymentCurrentVersionResponse, error) + // Describes a Worker Deployment. + // Experimental. This API might significantly change or be removed in a future release. + DescribeWorkerDeployment(ctx context.Context, in *DescribeWorkerDeploymentRequest, opts ...grpc.CallOption) (*DescribeWorkerDeploymentResponse, error) + // Deletes records of (an old) Deployment. A deployment can only be deleted if + // it has no Version in it. + // Experimental. This API might significantly change or be removed in a future release. + DeleteWorkerDeployment(ctx context.Context, in *DeleteWorkerDeploymentRequest, opts ...grpc.CallOption) (*DeleteWorkerDeploymentResponse, error) + // Used for manual deletion of Versions. User can delete a Version only when all the + // following conditions are met: + // - It is not the Current or Ramping Version of its Deployment. + // - It has no active pollers (none of the task queues in the Version have pollers) + // - It is not draining (see WorkerDeploymentVersionInfo.drainage_info). This condition + // can be skipped by passing `skip-drainage=true`. + // + // Experimental. This API might significantly change or be removed in a future release. + DeleteWorkerDeploymentVersion(ctx context.Context, in *DeleteWorkerDeploymentVersionRequest, opts ...grpc.CallOption) (*DeleteWorkerDeploymentVersionResponse, error) + // Set/unset the Ramping Version of a Worker Deployment and its ramp percentage. Can be used for + // gradual ramp to unversioned workers too. + // Experimental. This API might significantly change or be removed in a future release. + SetWorkerDeploymentRampingVersion(ctx context.Context, in *SetWorkerDeploymentRampingVersionRequest, opts ...grpc.CallOption) (*SetWorkerDeploymentRampingVersionResponse, error) + // Lists all Worker Deployments that are tracked in the Namespace. + // Experimental. This API might significantly change or be removed in a future release. + ListWorkerDeployments(ctx context.Context, in *ListWorkerDeploymentsRequest, opts ...grpc.CallOption) (*ListWorkerDeploymentsResponse, error) + // Creates a new Worker Deployment. + // + // Experimental. This API might significantly change or be removed in a + // future release. + CreateWorkerDeployment(ctx context.Context, in *CreateWorkerDeploymentRequest, opts ...grpc.CallOption) (*CreateWorkerDeploymentResponse, error) + // Creates a new Worker Deployment Version. + // + // Experimental. This API might significantly change or be removed in a + // future release. + CreateWorkerDeploymentVersion(ctx context.Context, in *CreateWorkerDeploymentVersionRequest, opts ...grpc.CallOption) (*CreateWorkerDeploymentVersionResponse, error) + // Updates the compute config attached to a Worker Deployment Version. + // Experimental. This API might significantly change or be removed in a future release. + UpdateWorkerDeploymentVersionComputeConfig(ctx context.Context, in *UpdateWorkerDeploymentVersionComputeConfigRequest, opts ...grpc.CallOption) (*UpdateWorkerDeploymentVersionComputeConfigResponse, error) + // Validates the compute config without attaching it to a Worker Deployment Version. + // Experimental. This API might significantly change or be removed in a future release. + ValidateWorkerDeploymentVersionComputeConfig(ctx context.Context, in *ValidateWorkerDeploymentVersionComputeConfigRequest, opts ...grpc.CallOption) (*ValidateWorkerDeploymentVersionComputeConfigResponse, error) + // Updates the user-given metadata attached to a Worker Deployment Version. + // Experimental. This API might significantly change or be removed in a future release. + UpdateWorkerDeploymentVersionMetadata(ctx context.Context, in *UpdateWorkerDeploymentVersionMetadataRequest, opts ...grpc.CallOption) (*UpdateWorkerDeploymentVersionMetadataResponse, error) + // Set/unset the ManagerIdentity of a Worker Deployment. + // Experimental. This API might significantly change or be removed in a future release. + SetWorkerDeploymentManager(ctx context.Context, in *SetWorkerDeploymentManagerRequest, opts ...grpc.CallOption) (*SetWorkerDeploymentManagerResponse, error) + // Invokes the specified Update function on user Workflow code. + UpdateWorkflowExecution(ctx context.Context, in *UpdateWorkflowExecutionRequest, opts ...grpc.CallOption) (*UpdateWorkflowExecutionResponse, error) + // Polls a Workflow Execution for the outcome of a Workflow Update + // previously issued through the UpdateWorkflowExecution RPC. The effective + // timeout on this call will be shorter of the the caller-supplied gRPC + // timeout and the server's configured long-poll timeout. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We don't expose update polling API to HTTP in favor of a potential future non-blocking form. --) + PollWorkflowExecutionUpdate(ctx context.Context, in *PollWorkflowExecutionUpdateRequest, opts ...grpc.CallOption) (*PollWorkflowExecutionUpdateResponse, error) + // StartBatchOperation starts a new batch operation + StartBatchOperation(ctx context.Context, in *StartBatchOperationRequest, opts ...grpc.CallOption) (*StartBatchOperationResponse, error) + // StopBatchOperation stops a batch operation + StopBatchOperation(ctx context.Context, in *StopBatchOperationRequest, opts ...grpc.CallOption) (*StopBatchOperationResponse, error) + // DescribeBatchOperation returns the information about a batch operation + DescribeBatchOperation(ctx context.Context, in *DescribeBatchOperationRequest, opts ...grpc.CallOption) (*DescribeBatchOperationResponse, error) + // ListBatchOperations returns a list of batch operations + ListBatchOperations(ctx context.Context, in *ListBatchOperationsRequest, opts ...grpc.CallOption) (*ListBatchOperationsResponse, error) + // PollNexusTaskQueue is a long poll call used by workers to receive Nexus tasks. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + PollNexusTaskQueue(ctx context.Context, in *PollNexusTaskQueueRequest, opts ...grpc.CallOption) (*PollNexusTaskQueueResponse, error) + // RespondNexusTaskCompleted is called by workers to respond to Nexus tasks received via PollNexusTaskQueue. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondNexusTaskCompleted(ctx context.Context, in *RespondNexusTaskCompletedRequest, opts ...grpc.CallOption) (*RespondNexusTaskCompletedResponse, error) + // RespondNexusTaskFailed is called by workers to fail Nexus tasks received via PollNexusTaskQueue. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondNexusTaskFailed(ctx context.Context, in *RespondNexusTaskFailedRequest, opts ...grpc.CallOption) (*RespondNexusTaskFailedResponse, error) + // UpdateActivityOptions is called by the client to update the options of an activity by its ID or type. + // If there are multiple pending activities of the provided type - all of them will be updated. + // This API will be deprecated soon and replaced with a newer UpdateActivityExecutionOptions that is better named and + // structured to work well for standalone activities. + UpdateActivityOptions(ctx context.Context, in *UpdateActivityOptionsRequest, opts ...grpc.CallOption) (*UpdateActivityOptionsResponse, error) + // UpdateWorkflowExecutionOptions partially updates the WorkflowExecutionOptions of an existing workflow execution. + UpdateWorkflowExecutionOptions(ctx context.Context, in *UpdateWorkflowExecutionOptionsRequest, opts ...grpc.CallOption) (*UpdateWorkflowExecutionOptionsResponse, error) + // PauseActivity pauses the execution of an activity specified by its ID or type. + // If there are multiple pending activities of the provided type - all of them will be paused + // + // Pausing an activity means: + // - If the activity is currently waiting for a retry or is running and subsequently fails, + // it will not be rescheduled until it is unpaused. + // - If the activity is already paused, calling this method will have no effect. + // - If the activity is running and finishes successfully, the activity will be completed. + // - If the activity is running and finishes with failure: + // - if there is no retry left - the activity will be completed. + // - if there are more retries left - the activity will be paused. + // + // For long-running activities: + // - activities in paused state will send a cancellation with "activity_paused" set to 'true' in response to 'RecordActivityTaskHeartbeat'. + // - The activity should respond to the cancellation accordingly. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID or type + // This API will be deprecated soon and replaced with a newer PauseActivityExecution that is better named and + // structured to work well for standalone activities. + PauseActivity(ctx context.Context, in *PauseActivityRequest, opts ...grpc.CallOption) (*PauseActivityResponse, error) + // UnpauseActivity unpauses the execution of an activity specified by its ID or type. + // If there are multiple pending activities of the provided type - all of them will be unpaused. + // + // If activity is not paused, this call will have no effect. + // If the activity was paused while waiting for retry, it will be scheduled immediately (* see 'jitter' flag). + // Once the activity is unpaused, all timeout timers will be regenerated. + // + // Flags: + // 'jitter': the activity will be scheduled at a random time within the jitter duration. + // 'reset_attempts': the number of attempts will be reset. + // 'reset_heartbeat': the activity heartbeat timer and heartbeats will be reset. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID or type + // This API will be deprecated soon and replaced with a newer UnpauseActivityExecution that is better named and + // structured to work well for standalone activities. + UnpauseActivity(ctx context.Context, in *UnpauseActivityRequest, opts ...grpc.CallOption) (*UnpauseActivityResponse, error) + // ResetActivity resets the execution of an activity specified by its ID or type. + // If there are multiple pending activities of the provided type - all of them will be reset. + // + // Resetting an activity means: + // - number of attempts will be reset to 0. + // - activity timeouts will be reset. + // - if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided: + // it will be scheduled immediately (* see 'jitter' flag), + // + // Flags: + // + // 'jitter': the activity will be scheduled at a random time within the jitter duration. + // If the activity currently paused it will be unpaused, unless 'keep_paused' flag is provided. + // 'reset_heartbeats': the activity heartbeat timer and heartbeats will be reset. + // 'keep_paused': if the activity is paused, it will remain paused. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID or type. + // This API will be deprecated soon and replaced with a newer ResetActivityExecution that is better named and + // structured to work well for standalone activities. + ResetActivity(ctx context.Context, in *ResetActivityRequest, opts ...grpc.CallOption) (*ResetActivityResponse, error) + // Create a new workflow rule. The rules are used to control the workflow execution. + // The rule will be applied to all running and new workflows in the namespace. + // If the rule with such ID already exist this call will fail + // Note: the rules are part of namespace configuration and will be stored in the namespace config. + // Namespace config is eventually consistent. + CreateWorkflowRule(ctx context.Context, in *CreateWorkflowRuleRequest, opts ...grpc.CallOption) (*CreateWorkflowRuleResponse, error) + // DescribeWorkflowRule return the rule specification for existing rule id. + // If there is no rule with such id - NOT FOUND error will be returned. + DescribeWorkflowRule(ctx context.Context, in *DescribeWorkflowRuleRequest, opts ...grpc.CallOption) (*DescribeWorkflowRuleResponse, error) + // Delete rule by rule id + DeleteWorkflowRule(ctx context.Context, in *DeleteWorkflowRuleRequest, opts ...grpc.CallOption) (*DeleteWorkflowRuleResponse, error) + // Return all namespace workflow rules + ListWorkflowRules(ctx context.Context, in *ListWorkflowRulesRequest, opts ...grpc.CallOption) (*ListWorkflowRulesResponse, error) + // TriggerWorkflowRule allows to: + // - trigger existing rule for a specific workflow execution; + // - trigger rule for a specific workflow execution without creating a rule; + // + // This is useful for one-off operations. + TriggerWorkflowRule(ctx context.Context, in *TriggerWorkflowRuleRequest, opts ...grpc.CallOption) (*TriggerWorkflowRuleResponse, error) + // WorkerHeartbeat receive heartbeat request from the worker. + RecordWorkerHeartbeat(ctx context.Context, in *RecordWorkerHeartbeatRequest, opts ...grpc.CallOption) (*RecordWorkerHeartbeatResponse, error) + // ListWorkers is a visibility API to list worker status information in a specific namespace. + ListWorkers(ctx context.Context, in *ListWorkersRequest, opts ...grpc.CallOption) (*ListWorkersResponse, error) + // Updates task queue configuration. + // For the overall queue rate limit: the rate limit set by this api overrides the worker-set rate limit, + // which uncouples the rate limit from the worker lifecycle. + // If the overall queue rate limit is unset, the worker-set rate limit takes effect. + UpdateTaskQueueConfig(ctx context.Context, in *UpdateTaskQueueConfigRequest, opts ...grpc.CallOption) (*UpdateTaskQueueConfigResponse, error) + // FetchWorkerConfig returns the worker configuration for a specific worker. + FetchWorkerConfig(ctx context.Context, in *FetchWorkerConfigRequest, opts ...grpc.CallOption) (*FetchWorkerConfigResponse, error) + // UpdateWorkerConfig updates the worker configuration of one or more workers. + // Can be used to partially update the worker configuration. + // Can be used to update the configuration of multiple workers. + UpdateWorkerConfig(ctx context.Context, in *UpdateWorkerConfigRequest, opts ...grpc.CallOption) (*UpdateWorkerConfigResponse, error) + // DescribeWorker returns information about the specified worker. + DescribeWorker(ctx context.Context, in *DescribeWorkerRequest, opts ...grpc.CallOption) (*DescribeWorkerResponse, error) + // Note: This is an experimental API and the behavior may change in a future release. + // PauseWorkflowExecution pauses the workflow execution specified in the request. Pausing a workflow execution results in + // - The workflow execution status changes to `PAUSED` and a new WORKFLOW_EXECUTION_PAUSED event is added to the history + // - No new workflow tasks or activity tasks are dispatched. + // - Any workflow task currently executing on the worker will be allowed to complete. + // - Any activity task currently executing will be paused. + // + // - All server-side events will continue to be processed by the server. + // - Queries & Updates on a paused workflow will be rejected. + PauseWorkflowExecution(ctx context.Context, in *PauseWorkflowExecutionRequest, opts ...grpc.CallOption) (*PauseWorkflowExecutionResponse, error) + // Note: This is an experimental API and the behavior may change in a future release. + // UnpauseWorkflowExecution unpauses a previously paused workflow execution specified in the request. + // Unpausing a workflow execution results in + // - The workflow execution status changes to `RUNNING` and a new WORKFLOW_EXECUTION_UNPAUSED event is added to the history + // - Workflow tasks and activity tasks are resumed. + UnpauseWorkflowExecution(ctx context.Context, in *UnpauseWorkflowExecutionRequest, opts ...grpc.CallOption) (*UnpauseWorkflowExecutionResponse, error) + // StartActivityExecution starts a new activity execution. + // + // Returns an `ActivityExecutionAlreadyStarted` error if an instance already exists with same activity ID in this namespace + // unless permitted by the specified ID conflict policy. + StartActivityExecution(ctx context.Context, in *StartActivityExecutionRequest, opts ...grpc.CallOption) (*StartActivityExecutionResponse, error) + // StartNexusOperationExecution starts a new Nexus operation. + // + // Returns a `NexusOperationExecutionAlreadyStarted` error if an instance already exists with same operation ID in this + // namespace unless permitted by the specified ID conflict policy. + StartNexusOperationExecution(ctx context.Context, in *StartNexusOperationExecutionRequest, opts ...grpc.CallOption) (*StartNexusOperationExecutionResponse, error) + // DescribeActivityExecution returns information about an activity execution. + // It can be used to: + // - Get current activity info without waiting + // - Long-poll for next state change and return new activity info + // Response can optionally include activity input or outcome (if the activity has completed). + DescribeActivityExecution(ctx context.Context, in *DescribeActivityExecutionRequest, opts ...grpc.CallOption) (*DescribeActivityExecutionResponse, error) + // DescribeNexusOperationExecution returns information about a Nexus operation. + // Supported use cases include: + // - Get current operation info without waiting + // - Long-poll for next state change and return new operation info + // Response can optionally include operation input or outcome (if the operation has completed). + DescribeNexusOperationExecution(ctx context.Context, in *DescribeNexusOperationExecutionRequest, opts ...grpc.CallOption) (*DescribeNexusOperationExecutionResponse, error) + // PollActivityExecution long-polls for an activity execution to complete and returns the + // outcome (result or failure). + PollActivityExecution(ctx context.Context, in *PollActivityExecutionRequest, opts ...grpc.CallOption) (*PollActivityExecutionResponse, error) + // PollNexusOperationExecution long-polls for a Nexus operation for a given wait stage to complete and returns + // the outcome (result or failure). + PollNexusOperationExecution(ctx context.Context, in *PollNexusOperationExecutionRequest, opts ...grpc.CallOption) (*PollNexusOperationExecutionResponse, error) + // ListActivityExecutions is a visibility API to list activity executions in a specific namespace. + ListActivityExecutions(ctx context.Context, in *ListActivityExecutionsRequest, opts ...grpc.CallOption) (*ListActivityExecutionsResponse, error) + // ListNexusOperationExecutions is a visibility API to list Nexus operations in a specific namespace. + ListNexusOperationExecutions(ctx context.Context, in *ListNexusOperationExecutionsRequest, opts ...grpc.CallOption) (*ListNexusOperationExecutionsResponse, error) + // CountActivityExecutions is a visibility API to count activity executions in a specific namespace. + CountActivityExecutions(ctx context.Context, in *CountActivityExecutionsRequest, opts ...grpc.CallOption) (*CountActivityExecutionsResponse, error) + // CountNexusOperationExecutions is a visibility API to count Nexus operations in a specific namespace. + CountNexusOperationExecutions(ctx context.Context, in *CountNexusOperationExecutionsRequest, opts ...grpc.CallOption) (*CountNexusOperationExecutionsResponse, error) + // RequestCancelActivityExecution requests cancellation of an activity execution. + // + // Cancellation is cooperative: this call records the request, but the activity must detect and + // acknowledge it for the activity to reach CANCELED status. The cancellation signal is + // delivered via `cancel_requested` in the heartbeat response; SDKs surface this via + // language-idiomatic mechanisms (context cancellation, exceptions, abort signals). + RequestCancelActivityExecution(ctx context.Context, in *RequestCancelActivityExecutionRequest, opts ...grpc.CallOption) (*RequestCancelActivityExecutionResponse, error) + // RequestCancelNexusOperationExecution requests cancellation of a Nexus operation. + // + // Requesting to cancel an operation does not automatically transition the operation to canceled status. + // The operation will only transition to canceled status if it supports cancellation and the handler + // processes the cancellation request. + RequestCancelNexusOperationExecution(ctx context.Context, in *RequestCancelNexusOperationExecutionRequest, opts ...grpc.CallOption) (*RequestCancelNexusOperationExecutionResponse, error) + // TerminateActivityExecution terminates an existing activity execution immediately. + // + // Termination does not reach the worker and the activity code cannot react to it. A terminated activity may have a + // running attempt. + TerminateActivityExecution(ctx context.Context, in *TerminateActivityExecutionRequest, opts ...grpc.CallOption) (*TerminateActivityExecutionResponse, error) + // DeleteActivityExecution asynchronously deletes a specific activity execution (when + // ActivityExecution.run_id is provided) or the latest activity execution (when + // ActivityExecution.run_id is not provided). If the activity Execution is running, it will be + // terminated before deletion. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Activity deletion not exposed to HTTP, users should use cancel or terminate. --) + DeleteActivityExecution(ctx context.Context, in *DeleteActivityExecutionRequest, opts ...grpc.CallOption) (*DeleteActivityExecutionResponse, error) + // PauseActivityExecution pauses the execution of an activity specified by its ID. + // This API can be used to target a workflow activity or a standalone activity + // + // Pausing an activity means: + // - If the activity is currently waiting for a retry or is running and subsequently fails, + // it will not be rescheduled until it is unpaused. + // - If the activity is already paused, calling this method will have no effect. + // - If the activity is running and finishes successfully, the activity will be completed. + // - If the activity is running and finishes with failure: + // - if there is no retry left - the activity will be completed. + // - if there are more retries left - the activity will be paused. + // + // For long-running activities: + // - activities in paused state will send a cancellation with "activity_paused" set to 'true' in response to 'RecordActivityTaskHeartbeat'. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID + PauseActivityExecution(ctx context.Context, in *PauseActivityExecutionRequest, opts ...grpc.CallOption) (*PauseActivityExecutionResponse, error) + // ResetActivityExecution resets the execution of an activity specified by its ID. + // This API can be used to target a workflow activity or a standalone activity. + // + // Resetting an activity means: + // - number of attempts will be reset to 0. + // - activity timeouts will be reset. + // - if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided: + // it will be scheduled immediately (* see 'jitter' flag) + // + // Returns a `NotFound` error if there is no pending activity with the provided ID or type. + ResetActivityExecution(ctx context.Context, in *ResetActivityExecutionRequest, opts ...grpc.CallOption) (*ResetActivityExecutionResponse, error) + // UnpauseActivityExecution unpauses the execution of an activity specified by its ID. + // This API can be used to target a workflow activity or a standalone activity. + // + // If activity is not paused, this call will have no effect. + // If the activity was paused while waiting for retry, it will be scheduled immediately (* see 'jitter' flag). + // Once the activity is unpaused, all timeout timers will be regenerated. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID + UnpauseActivityExecution(ctx context.Context, in *UnpauseActivityExecutionRequest, opts ...grpc.CallOption) (*UnpauseActivityExecutionResponse, error) + // UpdateActivityExecutionOptions is called by the client to update the options of an activity by its ID. + // This API can be used to target a workflow activity or a standalone activity. + UpdateActivityExecutionOptions(ctx context.Context, in *UpdateActivityExecutionOptionsRequest, opts ...grpc.CallOption) (*UpdateActivityExecutionOptionsResponse, error) + // TerminateNexusOperationExecution terminates an existing Nexus operation immediately. + // + // Termination happens immediately and the operation handler cannot react to it. A terminated operation will have + // its outcome set to a failure with a termination reason. + TerminateNexusOperationExecution(ctx context.Context, in *TerminateNexusOperationExecutionRequest, opts ...grpc.CallOption) (*TerminateNexusOperationExecutionResponse, error) + // DeleteNexusOperationExecution asynchronously deletes a specific Nexus operation run (when + // run_id is provided) or the latest run (when run_id is not provided). If the operation + // is running, it will be terminated before deletion. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Nexus operation deletion not exposed to HTTP, users should use cancel or terminate. --) + DeleteNexusOperationExecution(ctx context.Context, in *DeleteNexusOperationExecutionRequest, opts ...grpc.CallOption) (*DeleteNexusOperationExecutionResponse, error) +} + +type workflowServiceClient struct { + cc grpc.ClientConnInterface +} + +func NewWorkflowServiceClient(cc grpc.ClientConnInterface) WorkflowServiceClient { + return &workflowServiceClient{cc} +} + +func (c *workflowServiceClient) RegisterNamespace(ctx context.Context, in *RegisterNamespaceRequest, opts ...grpc.CallOption) (*RegisterNamespaceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RegisterNamespaceResponse) + err := c.cc.Invoke(ctx, WorkflowService_RegisterNamespace_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeNamespace(ctx context.Context, in *DescribeNamespaceRequest, opts ...grpc.CallOption) (*DescribeNamespaceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeNamespaceResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeNamespace_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListNamespaces(ctx context.Context, in *ListNamespacesRequest, opts ...grpc.CallOption) (*ListNamespacesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListNamespacesResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListNamespaces_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateNamespace(ctx context.Context, in *UpdateNamespaceRequest, opts ...grpc.CallOption) (*UpdateNamespaceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateNamespaceResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateNamespace_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DeprecateNamespace(ctx context.Context, in *DeprecateNamespaceRequest, opts ...grpc.CallOption) (*DeprecateNamespaceResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeprecateNamespaceResponse) + err := c.cc.Invoke(ctx, WorkflowService_DeprecateNamespace_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) Echo(ctx context.Context, in *EchoRequest, opts ...grpc.CallOption) (*EchoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(EchoResponse) + err := c.cc.Invoke(ctx, WorkflowService_Echo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) StartWorkflowExecution(ctx context.Context, in *StartWorkflowExecutionRequest, opts ...grpc.CallOption) (*StartWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StartWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_StartWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ExecuteMultiOperation(ctx context.Context, in *ExecuteMultiOperationRequest, opts ...grpc.CallOption) (*ExecuteMultiOperationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ExecuteMultiOperationResponse) + err := c.cc.Invoke(ctx, WorkflowService_ExecuteMultiOperation_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetWorkflowExecutionHistory(ctx context.Context, in *GetWorkflowExecutionHistoryRequest, opts ...grpc.CallOption) (*GetWorkflowExecutionHistoryResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetWorkflowExecutionHistoryResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetWorkflowExecutionHistory_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetWorkflowExecutionHistoryReverse(ctx context.Context, in *GetWorkflowExecutionHistoryReverseRequest, opts ...grpc.CallOption) (*GetWorkflowExecutionHistoryReverseResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetWorkflowExecutionHistoryReverseResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetWorkflowExecutionHistoryReverse_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PollWorkflowTaskQueue(ctx context.Context, in *PollWorkflowTaskQueueRequest, opts ...grpc.CallOption) (*PollWorkflowTaskQueueResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PollWorkflowTaskQueueResponse) + err := c.cc.Invoke(ctx, WorkflowService_PollWorkflowTaskQueue_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondWorkflowTaskCompleted(ctx context.Context, in *RespondWorkflowTaskCompletedRequest, opts ...grpc.CallOption) (*RespondWorkflowTaskCompletedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondWorkflowTaskCompletedResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondWorkflowTaskCompleted_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondWorkflowTaskFailed(ctx context.Context, in *RespondWorkflowTaskFailedRequest, opts ...grpc.CallOption) (*RespondWorkflowTaskFailedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondWorkflowTaskFailedResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondWorkflowTaskFailed_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PollActivityTaskQueue(ctx context.Context, in *PollActivityTaskQueueRequest, opts ...grpc.CallOption) (*PollActivityTaskQueueResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PollActivityTaskQueueResponse) + err := c.cc.Invoke(ctx, WorkflowService_PollActivityTaskQueue_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RecordActivityTaskHeartbeat(ctx context.Context, in *RecordActivityTaskHeartbeatRequest, opts ...grpc.CallOption) (*RecordActivityTaskHeartbeatResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RecordActivityTaskHeartbeatResponse) + err := c.cc.Invoke(ctx, WorkflowService_RecordActivityTaskHeartbeat_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RecordActivityTaskHeartbeatById(ctx context.Context, in *RecordActivityTaskHeartbeatByIdRequest, opts ...grpc.CallOption) (*RecordActivityTaskHeartbeatByIdResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RecordActivityTaskHeartbeatByIdResponse) + err := c.cc.Invoke(ctx, WorkflowService_RecordActivityTaskHeartbeatById_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondActivityTaskCompleted(ctx context.Context, in *RespondActivityTaskCompletedRequest, opts ...grpc.CallOption) (*RespondActivityTaskCompletedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondActivityTaskCompletedResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondActivityTaskCompleted_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondActivityTaskCompletedById(ctx context.Context, in *RespondActivityTaskCompletedByIdRequest, opts ...grpc.CallOption) (*RespondActivityTaskCompletedByIdResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondActivityTaskCompletedByIdResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondActivityTaskCompletedById_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondActivityTaskFailed(ctx context.Context, in *RespondActivityTaskFailedRequest, opts ...grpc.CallOption) (*RespondActivityTaskFailedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondActivityTaskFailedResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondActivityTaskFailed_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondActivityTaskFailedById(ctx context.Context, in *RespondActivityTaskFailedByIdRequest, opts ...grpc.CallOption) (*RespondActivityTaskFailedByIdResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondActivityTaskFailedByIdResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondActivityTaskFailedById_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondActivityTaskCanceled(ctx context.Context, in *RespondActivityTaskCanceledRequest, opts ...grpc.CallOption) (*RespondActivityTaskCanceledResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondActivityTaskCanceledResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondActivityTaskCanceled_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondActivityTaskCanceledById(ctx context.Context, in *RespondActivityTaskCanceledByIdRequest, opts ...grpc.CallOption) (*RespondActivityTaskCanceledByIdResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondActivityTaskCanceledByIdResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondActivityTaskCanceledById_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RequestCancelWorkflowExecution(ctx context.Context, in *RequestCancelWorkflowExecutionRequest, opts ...grpc.CallOption) (*RequestCancelWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RequestCancelWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_RequestCancelWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) SignalWorkflowExecution(ctx context.Context, in *SignalWorkflowExecutionRequest, opts ...grpc.CallOption) (*SignalWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SignalWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_SignalWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) SignalWithStartWorkflowExecution(ctx context.Context, in *SignalWithStartWorkflowExecutionRequest, opts ...grpc.CallOption) (*SignalWithStartWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SignalWithStartWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_SignalWithStartWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ResetWorkflowExecution(ctx context.Context, in *ResetWorkflowExecutionRequest, opts ...grpc.CallOption) (*ResetWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResetWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_ResetWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) TerminateWorkflowExecution(ctx context.Context, in *TerminateWorkflowExecutionRequest, opts ...grpc.CallOption) (*TerminateWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(TerminateWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_TerminateWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DeleteWorkflowExecution(ctx context.Context, in *DeleteWorkflowExecutionRequest, opts ...grpc.CallOption) (*DeleteWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_DeleteWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListOpenWorkflowExecutions(ctx context.Context, in *ListOpenWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ListOpenWorkflowExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListOpenWorkflowExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListOpenWorkflowExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListClosedWorkflowExecutions(ctx context.Context, in *ListClosedWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ListClosedWorkflowExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListClosedWorkflowExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListClosedWorkflowExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListWorkflowExecutions(ctx context.Context, in *ListWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ListWorkflowExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListWorkflowExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListWorkflowExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListArchivedWorkflowExecutions(ctx context.Context, in *ListArchivedWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ListArchivedWorkflowExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListArchivedWorkflowExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListArchivedWorkflowExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ScanWorkflowExecutions(ctx context.Context, in *ScanWorkflowExecutionsRequest, opts ...grpc.CallOption) (*ScanWorkflowExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ScanWorkflowExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ScanWorkflowExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) CountWorkflowExecutions(ctx context.Context, in *CountWorkflowExecutionsRequest, opts ...grpc.CallOption) (*CountWorkflowExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CountWorkflowExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_CountWorkflowExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetSearchAttributes(ctx context.Context, in *GetSearchAttributesRequest, opts ...grpc.CallOption) (*GetSearchAttributesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetSearchAttributesResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetSearchAttributes_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondQueryTaskCompleted(ctx context.Context, in *RespondQueryTaskCompletedRequest, opts ...grpc.CallOption) (*RespondQueryTaskCompletedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondQueryTaskCompletedResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondQueryTaskCompleted_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ResetStickyTaskQueue(ctx context.Context, in *ResetStickyTaskQueueRequest, opts ...grpc.CallOption) (*ResetStickyTaskQueueResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResetStickyTaskQueueResponse) + err := c.cc.Invoke(ctx, WorkflowService_ResetStickyTaskQueue_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ShutdownWorker(ctx context.Context, in *ShutdownWorkerRequest, opts ...grpc.CallOption) (*ShutdownWorkerResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ShutdownWorkerResponse) + err := c.cc.Invoke(ctx, WorkflowService_ShutdownWorker_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) QueryWorkflow(ctx context.Context, in *QueryWorkflowRequest, opts ...grpc.CallOption) (*QueryWorkflowResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(QueryWorkflowResponse) + err := c.cc.Invoke(ctx, WorkflowService_QueryWorkflow_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeWorkflowExecution(ctx context.Context, in *DescribeWorkflowExecutionRequest, opts ...grpc.CallOption) (*DescribeWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeTaskQueue(ctx context.Context, in *DescribeTaskQueueRequest, opts ...grpc.CallOption) (*DescribeTaskQueueResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeTaskQueueResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeTaskQueue_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetClusterInfo(ctx context.Context, in *GetClusterInfoRequest, opts ...grpc.CallOption) (*GetClusterInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetClusterInfoResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetClusterInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetSystemInfo(ctx context.Context, in *GetSystemInfoRequest, opts ...grpc.CallOption) (*GetSystemInfoResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetSystemInfoResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetSystemInfo_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListTaskQueuePartitions(ctx context.Context, in *ListTaskQueuePartitionsRequest, opts ...grpc.CallOption) (*ListTaskQueuePartitionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListTaskQueuePartitionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListTaskQueuePartitions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) CreateSchedule(ctx context.Context, in *CreateScheduleRequest, opts ...grpc.CallOption) (*CreateScheduleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CreateScheduleResponse) + err := c.cc.Invoke(ctx, WorkflowService_CreateSchedule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeSchedule(ctx context.Context, in *DescribeScheduleRequest, opts ...grpc.CallOption) (*DescribeScheduleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeScheduleResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeSchedule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateSchedule(ctx context.Context, in *UpdateScheduleRequest, opts ...grpc.CallOption) (*UpdateScheduleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateScheduleResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateSchedule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PatchSchedule(ctx context.Context, in *PatchScheduleRequest, opts ...grpc.CallOption) (*PatchScheduleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PatchScheduleResponse) + err := c.cc.Invoke(ctx, WorkflowService_PatchSchedule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListScheduleMatchingTimes(ctx context.Context, in *ListScheduleMatchingTimesRequest, opts ...grpc.CallOption) (*ListScheduleMatchingTimesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListScheduleMatchingTimesResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListScheduleMatchingTimes_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DeleteSchedule(ctx context.Context, in *DeleteScheduleRequest, opts ...grpc.CallOption) (*DeleteScheduleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteScheduleResponse) + err := c.cc.Invoke(ctx, WorkflowService_DeleteSchedule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListSchedules(ctx context.Context, in *ListSchedulesRequest, opts ...grpc.CallOption) (*ListSchedulesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListSchedulesResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListSchedules_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) CountSchedules(ctx context.Context, in *CountSchedulesRequest, opts ...grpc.CallOption) (*CountSchedulesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CountSchedulesResponse) + err := c.cc.Invoke(ctx, WorkflowService_CountSchedules_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateWorkerBuildIdCompatibility(ctx context.Context, in *UpdateWorkerBuildIdCompatibilityRequest, opts ...grpc.CallOption) (*UpdateWorkerBuildIdCompatibilityResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateWorkerBuildIdCompatibilityResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateWorkerBuildIdCompatibility_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetWorkerBuildIdCompatibility(ctx context.Context, in *GetWorkerBuildIdCompatibilityRequest, opts ...grpc.CallOption) (*GetWorkerBuildIdCompatibilityResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetWorkerBuildIdCompatibilityResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetWorkerBuildIdCompatibility_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateWorkerVersioningRules(ctx context.Context, in *UpdateWorkerVersioningRulesRequest, opts ...grpc.CallOption) (*UpdateWorkerVersioningRulesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateWorkerVersioningRulesResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateWorkerVersioningRules_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetWorkerVersioningRules(ctx context.Context, in *GetWorkerVersioningRulesRequest, opts ...grpc.CallOption) (*GetWorkerVersioningRulesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetWorkerVersioningRulesResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetWorkerVersioningRules_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetWorkerTaskReachability(ctx context.Context, in *GetWorkerTaskReachabilityRequest, opts ...grpc.CallOption) (*GetWorkerTaskReachabilityResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetWorkerTaskReachabilityResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetWorkerTaskReachability_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeDeployment(ctx context.Context, in *DescribeDeploymentRequest, opts ...grpc.CallOption) (*DescribeDeploymentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeDeploymentResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeDeployment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeWorkerDeploymentVersion(ctx context.Context, in *DescribeWorkerDeploymentVersionRequest, opts ...grpc.CallOption) (*DescribeWorkerDeploymentVersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeWorkerDeploymentVersionResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeWorkerDeploymentVersion_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListDeployments(ctx context.Context, in *ListDeploymentsRequest, opts ...grpc.CallOption) (*ListDeploymentsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListDeploymentsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListDeployments_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetDeploymentReachability(ctx context.Context, in *GetDeploymentReachabilityRequest, opts ...grpc.CallOption) (*GetDeploymentReachabilityResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetDeploymentReachabilityResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetDeploymentReachability_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) GetCurrentDeployment(ctx context.Context, in *GetCurrentDeploymentRequest, opts ...grpc.CallOption) (*GetCurrentDeploymentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(GetCurrentDeploymentResponse) + err := c.cc.Invoke(ctx, WorkflowService_GetCurrentDeployment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) SetCurrentDeployment(ctx context.Context, in *SetCurrentDeploymentRequest, opts ...grpc.CallOption) (*SetCurrentDeploymentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SetCurrentDeploymentResponse) + err := c.cc.Invoke(ctx, WorkflowService_SetCurrentDeployment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) SetWorkerDeploymentCurrentVersion(ctx context.Context, in *SetWorkerDeploymentCurrentVersionRequest, opts ...grpc.CallOption) (*SetWorkerDeploymentCurrentVersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SetWorkerDeploymentCurrentVersionResponse) + err := c.cc.Invoke(ctx, WorkflowService_SetWorkerDeploymentCurrentVersion_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeWorkerDeployment(ctx context.Context, in *DescribeWorkerDeploymentRequest, opts ...grpc.CallOption) (*DescribeWorkerDeploymentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeWorkerDeploymentResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeWorkerDeployment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DeleteWorkerDeployment(ctx context.Context, in *DeleteWorkerDeploymentRequest, opts ...grpc.CallOption) (*DeleteWorkerDeploymentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteWorkerDeploymentResponse) + err := c.cc.Invoke(ctx, WorkflowService_DeleteWorkerDeployment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DeleteWorkerDeploymentVersion(ctx context.Context, in *DeleteWorkerDeploymentVersionRequest, opts ...grpc.CallOption) (*DeleteWorkerDeploymentVersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteWorkerDeploymentVersionResponse) + err := c.cc.Invoke(ctx, WorkflowService_DeleteWorkerDeploymentVersion_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) SetWorkerDeploymentRampingVersion(ctx context.Context, in *SetWorkerDeploymentRampingVersionRequest, opts ...grpc.CallOption) (*SetWorkerDeploymentRampingVersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SetWorkerDeploymentRampingVersionResponse) + err := c.cc.Invoke(ctx, WorkflowService_SetWorkerDeploymentRampingVersion_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListWorkerDeployments(ctx context.Context, in *ListWorkerDeploymentsRequest, opts ...grpc.CallOption) (*ListWorkerDeploymentsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListWorkerDeploymentsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListWorkerDeployments_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) CreateWorkerDeployment(ctx context.Context, in *CreateWorkerDeploymentRequest, opts ...grpc.CallOption) (*CreateWorkerDeploymentResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CreateWorkerDeploymentResponse) + err := c.cc.Invoke(ctx, WorkflowService_CreateWorkerDeployment_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) CreateWorkerDeploymentVersion(ctx context.Context, in *CreateWorkerDeploymentVersionRequest, opts ...grpc.CallOption) (*CreateWorkerDeploymentVersionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CreateWorkerDeploymentVersionResponse) + err := c.cc.Invoke(ctx, WorkflowService_CreateWorkerDeploymentVersion_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateWorkerDeploymentVersionComputeConfig(ctx context.Context, in *UpdateWorkerDeploymentVersionComputeConfigRequest, opts ...grpc.CallOption) (*UpdateWorkerDeploymentVersionComputeConfigResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateWorkerDeploymentVersionComputeConfigResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ValidateWorkerDeploymentVersionComputeConfig(ctx context.Context, in *ValidateWorkerDeploymentVersionComputeConfigRequest, opts ...grpc.CallOption) (*ValidateWorkerDeploymentVersionComputeConfigResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ValidateWorkerDeploymentVersionComputeConfigResponse) + err := c.cc.Invoke(ctx, WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateWorkerDeploymentVersionMetadata(ctx context.Context, in *UpdateWorkerDeploymentVersionMetadataRequest, opts ...grpc.CallOption) (*UpdateWorkerDeploymentVersionMetadataResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateWorkerDeploymentVersionMetadataResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateWorkerDeploymentVersionMetadata_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) SetWorkerDeploymentManager(ctx context.Context, in *SetWorkerDeploymentManagerRequest, opts ...grpc.CallOption) (*SetWorkerDeploymentManagerResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(SetWorkerDeploymentManagerResponse) + err := c.cc.Invoke(ctx, WorkflowService_SetWorkerDeploymentManager_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateWorkflowExecution(ctx context.Context, in *UpdateWorkflowExecutionRequest, opts ...grpc.CallOption) (*UpdateWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PollWorkflowExecutionUpdate(ctx context.Context, in *PollWorkflowExecutionUpdateRequest, opts ...grpc.CallOption) (*PollWorkflowExecutionUpdateResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PollWorkflowExecutionUpdateResponse) + err := c.cc.Invoke(ctx, WorkflowService_PollWorkflowExecutionUpdate_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) StartBatchOperation(ctx context.Context, in *StartBatchOperationRequest, opts ...grpc.CallOption) (*StartBatchOperationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StartBatchOperationResponse) + err := c.cc.Invoke(ctx, WorkflowService_StartBatchOperation_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) StopBatchOperation(ctx context.Context, in *StopBatchOperationRequest, opts ...grpc.CallOption) (*StopBatchOperationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StopBatchOperationResponse) + err := c.cc.Invoke(ctx, WorkflowService_StopBatchOperation_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeBatchOperation(ctx context.Context, in *DescribeBatchOperationRequest, opts ...grpc.CallOption) (*DescribeBatchOperationResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeBatchOperationResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeBatchOperation_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListBatchOperations(ctx context.Context, in *ListBatchOperationsRequest, opts ...grpc.CallOption) (*ListBatchOperationsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListBatchOperationsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListBatchOperations_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PollNexusTaskQueue(ctx context.Context, in *PollNexusTaskQueueRequest, opts ...grpc.CallOption) (*PollNexusTaskQueueResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PollNexusTaskQueueResponse) + err := c.cc.Invoke(ctx, WorkflowService_PollNexusTaskQueue_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondNexusTaskCompleted(ctx context.Context, in *RespondNexusTaskCompletedRequest, opts ...grpc.CallOption) (*RespondNexusTaskCompletedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondNexusTaskCompletedResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondNexusTaskCompleted_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RespondNexusTaskFailed(ctx context.Context, in *RespondNexusTaskFailedRequest, opts ...grpc.CallOption) (*RespondNexusTaskFailedResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RespondNexusTaskFailedResponse) + err := c.cc.Invoke(ctx, WorkflowService_RespondNexusTaskFailed_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateActivityOptions(ctx context.Context, in *UpdateActivityOptionsRequest, opts ...grpc.CallOption) (*UpdateActivityOptionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateActivityOptionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateActivityOptions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateWorkflowExecutionOptions(ctx context.Context, in *UpdateWorkflowExecutionOptionsRequest, opts ...grpc.CallOption) (*UpdateWorkflowExecutionOptionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateWorkflowExecutionOptionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateWorkflowExecutionOptions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PauseActivity(ctx context.Context, in *PauseActivityRequest, opts ...grpc.CallOption) (*PauseActivityResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PauseActivityResponse) + err := c.cc.Invoke(ctx, WorkflowService_PauseActivity_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UnpauseActivity(ctx context.Context, in *UnpauseActivityRequest, opts ...grpc.CallOption) (*UnpauseActivityResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UnpauseActivityResponse) + err := c.cc.Invoke(ctx, WorkflowService_UnpauseActivity_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ResetActivity(ctx context.Context, in *ResetActivityRequest, opts ...grpc.CallOption) (*ResetActivityResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResetActivityResponse) + err := c.cc.Invoke(ctx, WorkflowService_ResetActivity_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) CreateWorkflowRule(ctx context.Context, in *CreateWorkflowRuleRequest, opts ...grpc.CallOption) (*CreateWorkflowRuleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CreateWorkflowRuleResponse) + err := c.cc.Invoke(ctx, WorkflowService_CreateWorkflowRule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeWorkflowRule(ctx context.Context, in *DescribeWorkflowRuleRequest, opts ...grpc.CallOption) (*DescribeWorkflowRuleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeWorkflowRuleResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeWorkflowRule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DeleteWorkflowRule(ctx context.Context, in *DeleteWorkflowRuleRequest, opts ...grpc.CallOption) (*DeleteWorkflowRuleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteWorkflowRuleResponse) + err := c.cc.Invoke(ctx, WorkflowService_DeleteWorkflowRule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListWorkflowRules(ctx context.Context, in *ListWorkflowRulesRequest, opts ...grpc.CallOption) (*ListWorkflowRulesResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListWorkflowRulesResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListWorkflowRules_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) TriggerWorkflowRule(ctx context.Context, in *TriggerWorkflowRuleRequest, opts ...grpc.CallOption) (*TriggerWorkflowRuleResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(TriggerWorkflowRuleResponse) + err := c.cc.Invoke(ctx, WorkflowService_TriggerWorkflowRule_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RecordWorkerHeartbeat(ctx context.Context, in *RecordWorkerHeartbeatRequest, opts ...grpc.CallOption) (*RecordWorkerHeartbeatResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RecordWorkerHeartbeatResponse) + err := c.cc.Invoke(ctx, WorkflowService_RecordWorkerHeartbeat_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListWorkers(ctx context.Context, in *ListWorkersRequest, opts ...grpc.CallOption) (*ListWorkersResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListWorkersResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListWorkers_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateTaskQueueConfig(ctx context.Context, in *UpdateTaskQueueConfigRequest, opts ...grpc.CallOption) (*UpdateTaskQueueConfigResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateTaskQueueConfigResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateTaskQueueConfig_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) FetchWorkerConfig(ctx context.Context, in *FetchWorkerConfigRequest, opts ...grpc.CallOption) (*FetchWorkerConfigResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(FetchWorkerConfigResponse) + err := c.cc.Invoke(ctx, WorkflowService_FetchWorkerConfig_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateWorkerConfig(ctx context.Context, in *UpdateWorkerConfigRequest, opts ...grpc.CallOption) (*UpdateWorkerConfigResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateWorkerConfigResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateWorkerConfig_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeWorker(ctx context.Context, in *DescribeWorkerRequest, opts ...grpc.CallOption) (*DescribeWorkerResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeWorkerResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeWorker_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PauseWorkflowExecution(ctx context.Context, in *PauseWorkflowExecutionRequest, opts ...grpc.CallOption) (*PauseWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PauseWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_PauseWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UnpauseWorkflowExecution(ctx context.Context, in *UnpauseWorkflowExecutionRequest, opts ...grpc.CallOption) (*UnpauseWorkflowExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UnpauseWorkflowExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_UnpauseWorkflowExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) StartActivityExecution(ctx context.Context, in *StartActivityExecutionRequest, opts ...grpc.CallOption) (*StartActivityExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StartActivityExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_StartActivityExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) StartNexusOperationExecution(ctx context.Context, in *StartNexusOperationExecutionRequest, opts ...grpc.CallOption) (*StartNexusOperationExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(StartNexusOperationExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_StartNexusOperationExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeActivityExecution(ctx context.Context, in *DescribeActivityExecutionRequest, opts ...grpc.CallOption) (*DescribeActivityExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeActivityExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeActivityExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DescribeNexusOperationExecution(ctx context.Context, in *DescribeNexusOperationExecutionRequest, opts ...grpc.CallOption) (*DescribeNexusOperationExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DescribeNexusOperationExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_DescribeNexusOperationExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PollActivityExecution(ctx context.Context, in *PollActivityExecutionRequest, opts ...grpc.CallOption) (*PollActivityExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PollActivityExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_PollActivityExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PollNexusOperationExecution(ctx context.Context, in *PollNexusOperationExecutionRequest, opts ...grpc.CallOption) (*PollNexusOperationExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PollNexusOperationExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_PollNexusOperationExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListActivityExecutions(ctx context.Context, in *ListActivityExecutionsRequest, opts ...grpc.CallOption) (*ListActivityExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListActivityExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListActivityExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ListNexusOperationExecutions(ctx context.Context, in *ListNexusOperationExecutionsRequest, opts ...grpc.CallOption) (*ListNexusOperationExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ListNexusOperationExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_ListNexusOperationExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) CountActivityExecutions(ctx context.Context, in *CountActivityExecutionsRequest, opts ...grpc.CallOption) (*CountActivityExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CountActivityExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_CountActivityExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) CountNexusOperationExecutions(ctx context.Context, in *CountNexusOperationExecutionsRequest, opts ...grpc.CallOption) (*CountNexusOperationExecutionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(CountNexusOperationExecutionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_CountNexusOperationExecutions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RequestCancelActivityExecution(ctx context.Context, in *RequestCancelActivityExecutionRequest, opts ...grpc.CallOption) (*RequestCancelActivityExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RequestCancelActivityExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_RequestCancelActivityExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) RequestCancelNexusOperationExecution(ctx context.Context, in *RequestCancelNexusOperationExecutionRequest, opts ...grpc.CallOption) (*RequestCancelNexusOperationExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(RequestCancelNexusOperationExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_RequestCancelNexusOperationExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) TerminateActivityExecution(ctx context.Context, in *TerminateActivityExecutionRequest, opts ...grpc.CallOption) (*TerminateActivityExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(TerminateActivityExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_TerminateActivityExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DeleteActivityExecution(ctx context.Context, in *DeleteActivityExecutionRequest, opts ...grpc.CallOption) (*DeleteActivityExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteActivityExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_DeleteActivityExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) PauseActivityExecution(ctx context.Context, in *PauseActivityExecutionRequest, opts ...grpc.CallOption) (*PauseActivityExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(PauseActivityExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_PauseActivityExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) ResetActivityExecution(ctx context.Context, in *ResetActivityExecutionRequest, opts ...grpc.CallOption) (*ResetActivityExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(ResetActivityExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_ResetActivityExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UnpauseActivityExecution(ctx context.Context, in *UnpauseActivityExecutionRequest, opts ...grpc.CallOption) (*UnpauseActivityExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UnpauseActivityExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_UnpauseActivityExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) UpdateActivityExecutionOptions(ctx context.Context, in *UpdateActivityExecutionOptionsRequest, opts ...grpc.CallOption) (*UpdateActivityExecutionOptionsResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(UpdateActivityExecutionOptionsResponse) + err := c.cc.Invoke(ctx, WorkflowService_UpdateActivityExecutionOptions_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) TerminateNexusOperationExecution(ctx context.Context, in *TerminateNexusOperationExecutionRequest, opts ...grpc.CallOption) (*TerminateNexusOperationExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(TerminateNexusOperationExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_TerminateNexusOperationExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +func (c *workflowServiceClient) DeleteNexusOperationExecution(ctx context.Context, in *DeleteNexusOperationExecutionRequest, opts ...grpc.CallOption) (*DeleteNexusOperationExecutionResponse, error) { + cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...) + out := new(DeleteNexusOperationExecutionResponse) + err := c.cc.Invoke(ctx, WorkflowService_DeleteNexusOperationExecution_FullMethodName, in, out, cOpts...) + if err != nil { + return nil, err + } + return out, nil +} + +// WorkflowServiceServer is the server API for WorkflowService service. +// All implementations must embed UnimplementedWorkflowServiceServer +// for forward compatibility. +// +// WorkflowService API defines how Temporal SDKs and other clients interact with the Temporal server +// to create and interact with workflows and activities. +// +// Users are expected to call `StartWorkflowExecution` to create a new workflow execution. +// +// To drive workflows, a worker using a Temporal SDK must exist which regularly polls for workflow +// and activity tasks from the service. For each workflow task, the sdk must process the +// (incremental or complete) event history and respond back with any newly generated commands. +// +// For each activity task, the worker is expected to execute the user's code which implements that +// activity, responding with completion or failure. +type WorkflowServiceServer interface { + // RegisterNamespace creates a new namespace which can be used as a container for all resources. + // + // A Namespace is a top level entity within Temporal, and is used as a container for resources + // like workflow executions, task queues, etc. A Namespace acts as a sandbox and provides + // isolation for all resources within the namespace. All resources belongs to exactly one + // namespace. + RegisterNamespace(context.Context, *RegisterNamespaceRequest) (*RegisterNamespaceResponse, error) + // DescribeNamespace returns the information and configuration for a registered namespace. + DescribeNamespace(context.Context, *DescribeNamespaceRequest) (*DescribeNamespaceResponse, error) + // ListNamespaces returns the information and configuration for all namespaces. + ListNamespaces(context.Context, *ListNamespacesRequest) (*ListNamespacesResponse, error) + // UpdateNamespace is used to update the information and configuration of a registered + // namespace. + UpdateNamespace(context.Context, *UpdateNamespaceRequest) (*UpdateNamespaceResponse, error) + // DeprecateNamespace is used to update the state of a registered namespace to DEPRECATED. + // + // Once the namespace is deprecated it cannot be used to start new workflow executions. Existing + // workflow executions will continue to run on deprecated namespaces. + // Deprecated. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Deprecated --) + DeprecateNamespace(context.Context, *DeprecateNamespaceRequest) (*DeprecateNamespaceResponse, error) + // Echo returns the payload unchanged. Experimental: example feature only. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Echo is an experimental RPC not exposed over HTTP. --) + Echo(context.Context, *EchoRequest) (*EchoResponse, error) + // StartWorkflowExecution starts a new workflow execution. + // + // It will create the execution with a `WORKFLOW_EXECUTION_STARTED` event in its history and + // also schedule the first workflow task. Returns `WorkflowExecutionAlreadyStarted`, if an + // instance already exists with same workflow id. + StartWorkflowExecution(context.Context, *StartWorkflowExecutionRequest) (*StartWorkflowExecutionResponse, error) + // ExecuteMultiOperation executes multiple operations within a single workflow. + // + // Operations are started atomically, meaning if *any* operation fails to be started, none are, + // and the request fails. Upon start, the API returns only when *all* operations have a response. + // + // Upon failure, it returns `MultiOperationExecutionFailure` where the status code + // equals the status code of the *first* operation that failed to be started. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: To be exposed over HTTP in the future. --) + ExecuteMultiOperation(context.Context, *ExecuteMultiOperationRequest) (*ExecuteMultiOperationResponse, error) + // GetWorkflowExecutionHistory returns the history of specified workflow execution. Fails with + // `NotFound` if the specified workflow execution is unknown to the service. + GetWorkflowExecutionHistory(context.Context, *GetWorkflowExecutionHistoryRequest) (*GetWorkflowExecutionHistoryResponse, error) + // GetWorkflowExecutionHistoryReverse returns the history of specified workflow execution in reverse + // order (starting from last event). Fails with`NotFound` if the specified workflow execution is + // unknown to the service. + GetWorkflowExecutionHistoryReverse(context.Context, *GetWorkflowExecutionHistoryReverseRequest) (*GetWorkflowExecutionHistoryReverseResponse, error) + // PollWorkflowTaskQueue is called by workers to make progress on workflows. + // + // A WorkflowTask is dispatched to callers for active workflow executions with pending workflow + // tasks. The worker is expected to call `RespondWorkflowTaskCompleted` when it is done + // processing the task. The service will create a `WorkflowTaskStarted` event in the history for + // this task before handing it to the worker. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + PollWorkflowTaskQueue(context.Context, *PollWorkflowTaskQueueRequest) (*PollWorkflowTaskQueueResponse, error) + // RespondWorkflowTaskCompleted is called by workers to successfully complete workflow tasks + // they received from `PollWorkflowTaskQueue`. + // + // Completing a WorkflowTask will write a `WORKFLOW_TASK_COMPLETED` event to the workflow's + // history, along with events corresponding to whatever commands the SDK generated while + // executing the task (ex timer started, activity task scheduled, etc). + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondWorkflowTaskCompleted(context.Context, *RespondWorkflowTaskCompletedRequest) (*RespondWorkflowTaskCompletedResponse, error) + // RespondWorkflowTaskFailed is called by workers to indicate the processing of a workflow task + // failed. + // + // This results in a `WORKFLOW_TASK_FAILED` event written to the history, and a new workflow + // task will be scheduled. This API can be used to report unhandled failures resulting from + // applying the workflow task. + // + // Temporal will only append first WorkflowTaskFailed event to the history of workflow execution + // for consecutive failures. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondWorkflowTaskFailed(context.Context, *RespondWorkflowTaskFailedRequest) (*RespondWorkflowTaskFailedResponse, error) + // PollActivityTaskQueue is called by workers to process activity tasks from a specific task + // queue. + // + // The worker is expected to call one of the `RespondActivityTaskXXX` methods when it is done + // processing the task. + // + // An activity task is dispatched whenever a `SCHEDULE_ACTIVITY_TASK` command is produced during + // workflow execution. An in memory `ACTIVITY_TASK_STARTED` event is written to mutable state + // before the task is dispatched to the worker. The started event, and the final event + // (`ACTIVITY_TASK_COMPLETED` / `ACTIVITY_TASK_FAILED` / `ACTIVITY_TASK_TIMED_OUT`) will both be + // written permanently to Workflow execution history when Activity is finished. This is done to + // avoid writing many events in the case of a failure/retry loop. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + PollActivityTaskQueue(context.Context, *PollActivityTaskQueueRequest) (*PollActivityTaskQueueResponse, error) + // RecordActivityTaskHeartbeat is optionally called by workers while they execute activities. + // + // If a worker fails to heartbeat within the `heartbeat_timeout` interval for the activity task, + // then the current attempt times out. Depending on RetryPolicy, this may trigger a retry or + // time out the activity. + // + // For workflow activities, an `ACTIVITY_TASK_TIMED_OUT` event will be written to the workflow + // history. Calling `RecordActivityTaskHeartbeat` will fail with `NotFound` in such situations, + // in that event, the SDK should request cancellation of the activity. + // + // The request may contain response `details` which will be persisted by the server and may be + // used by the activity to checkpoint progress. The `cancel_requested` field in the response + // indicates whether cancellation has been requested for the activity. + RecordActivityTaskHeartbeat(context.Context, *RecordActivityTaskHeartbeatRequest) (*RecordActivityTaskHeartbeatResponse, error) + // See `RecordActivityTaskHeartbeat`. This version allows clients to record heartbeats by + // namespace/workflow id/activity id instead of task token. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "By" is used to indicate request type. --) + RecordActivityTaskHeartbeatById(context.Context, *RecordActivityTaskHeartbeatByIdRequest) (*RecordActivityTaskHeartbeatByIdResponse, error) + // RespondActivityTaskCompleted is called by workers when they successfully complete an activity + // task. + // + // For workflow activities, this results in a new `ACTIVITY_TASK_COMPLETED` event being written to the workflow history + // and a new workflow task created for the workflow. Fails with `NotFound` if the task token is + // no longer valid due to activity timeout, already being completed, or never having existed. + RespondActivityTaskCompleted(context.Context, *RespondActivityTaskCompletedRequest) (*RespondActivityTaskCompletedResponse, error) + // See `RespondActivityTaskCompleted`. This version allows clients to record completions by + // namespace/workflow id/activity id instead of task token. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "By" is used to indicate request type. --) + RespondActivityTaskCompletedById(context.Context, *RespondActivityTaskCompletedByIdRequest) (*RespondActivityTaskCompletedByIdResponse, error) + // RespondActivityTaskFailed is called by workers when processing an activity task fails. + // + // This results in a new `ACTIVITY_TASK_FAILED` event being written to the workflow history and + // a new workflow task created for the workflow. Fails with `NotFound` if the task token is no + // longer valid due to activity timeout, already being completed, or never having existed. + RespondActivityTaskFailed(context.Context, *RespondActivityTaskFailedRequest) (*RespondActivityTaskFailedResponse, error) + // See `RecordActivityTaskFailed`. This version allows clients to record failures by + // namespace/workflow id/activity id instead of task token. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "By" is used to indicate request type. --) + RespondActivityTaskFailedById(context.Context, *RespondActivityTaskFailedByIdRequest) (*RespondActivityTaskFailedByIdResponse, error) + // RespondActivityTaskFailed is called by workers when processing an activity task fails. + // + // For workflow activities, this results in a new `ACTIVITY_TASK_CANCELED` event being written to the workflow history + // and a new workflow task created for the workflow. Fails with `NotFound` if the task token is + // no longer valid due to activity timeout, already being completed, or never having existed. + RespondActivityTaskCanceled(context.Context, *RespondActivityTaskCanceledRequest) (*RespondActivityTaskCanceledResponse, error) + // See `RespondActivityTaskCanceled`. This version allows clients to record failures by + // namespace/workflow id/activity id instead of task token. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "By" is used to indicate request type. --) + RespondActivityTaskCanceledById(context.Context, *RespondActivityTaskCanceledByIdRequest) (*RespondActivityTaskCanceledByIdResponse, error) + // RequestCancelWorkflowExecution is called by workers when they want to request cancellation of + // a workflow execution. + // + // This results in a new `WORKFLOW_EXECUTION_CANCEL_REQUESTED` event being written to the + // workflow history and a new workflow task created for the workflow. It returns success if the requested + // workflow is already closed. It fails with 'NotFound' if the requested workflow doesn't exist. + RequestCancelWorkflowExecution(context.Context, *RequestCancelWorkflowExecutionRequest) (*RequestCancelWorkflowExecutionResponse, error) + // SignalWorkflowExecution is used to send a signal to a running workflow execution. + // + // This results in a `WORKFLOW_EXECUTION_SIGNALED` event recorded in the history and a workflow + // task being created for the execution. + SignalWorkflowExecution(context.Context, *SignalWorkflowExecutionRequest) (*SignalWorkflowExecutionResponse, error) + // SignalWithStartWorkflowExecution is used to ensure a signal is sent to a workflow, even if + // it isn't yet started. + // + // If the workflow is running, a `WORKFLOW_EXECUTION_SIGNALED` event is recorded in the history + // and a workflow task is generated. + // + // If the workflow is not running or not found, then the workflow is created with + // `WORKFLOW_EXECUTION_STARTED` and `WORKFLOW_EXECUTION_SIGNALED` events in its history, and a + // workflow task is generated. + // + // (-- api-linter: core::0136::prepositions=disabled + // + // aip.dev/not-precedent: "With" is used to indicate combined operation. --) + SignalWithStartWorkflowExecution(context.Context, *SignalWithStartWorkflowExecutionRequest) (*SignalWithStartWorkflowExecutionResponse, error) + // ResetWorkflowExecution will reset an existing workflow execution to a specified + // `WORKFLOW_TASK_COMPLETED` event (exclusive). It will immediately terminate the current + // execution instance. "Exclusive" means the identified completed event itself is not replayed + // in the reset history; the preceding `WORKFLOW_TASK_STARTED` event remains and will be marked as failed + // immediately, and a new workflow task will be scheduled to retry it. + ResetWorkflowExecution(context.Context, *ResetWorkflowExecutionRequest) (*ResetWorkflowExecutionResponse, error) + // TerminateWorkflowExecution terminates an existing workflow execution by recording a + // `WORKFLOW_EXECUTION_TERMINATED` event in the history and immediately terminating the + // execution instance. + TerminateWorkflowExecution(context.Context, *TerminateWorkflowExecutionRequest) (*TerminateWorkflowExecutionResponse, error) + // DeleteWorkflowExecution asynchronously deletes a specific Workflow Execution (when + // WorkflowExecution.run_id is provided) or the latest Workflow Execution (when + // WorkflowExecution.run_id is not provided). If the Workflow Execution is Running, it will be + // terminated before deletion. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Workflow deletion not exposed to HTTP, users should use cancel or terminate. --) + DeleteWorkflowExecution(context.Context, *DeleteWorkflowExecutionRequest) (*DeleteWorkflowExecutionResponse, error) + // ListOpenWorkflowExecutions is a visibility API to list the open executions in a specific namespace. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --) + ListOpenWorkflowExecutions(context.Context, *ListOpenWorkflowExecutionsRequest) (*ListOpenWorkflowExecutionsResponse, error) + // ListClosedWorkflowExecutions is a visibility API to list the closed executions in a specific namespace. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --) + ListClosedWorkflowExecutions(context.Context, *ListClosedWorkflowExecutionsRequest) (*ListClosedWorkflowExecutionsResponse, error) + // ListWorkflowExecutions is a visibility API to list workflow executions in a specific namespace. + ListWorkflowExecutions(context.Context, *ListWorkflowExecutionsRequest) (*ListWorkflowExecutionsResponse, error) + // ListArchivedWorkflowExecutions is a visibility API to list archived workflow executions in a specific namespace. + ListArchivedWorkflowExecutions(context.Context, *ListArchivedWorkflowExecutionsRequest) (*ListArchivedWorkflowExecutionsResponse, error) + // ScanWorkflowExecutions _was_ a visibility API to list large amount of workflow executions in a specific namespace without order. + // It has since been deprecated in favor of `ListWorkflowExecutions` and rewritten to use `ListWorkflowExecutions` internally. + // + // Deprecated: Replaced with `ListWorkflowExecutions`. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: HTTP users should use ListWorkflowExecutions instead. --) + ScanWorkflowExecutions(context.Context, *ScanWorkflowExecutionsRequest) (*ScanWorkflowExecutionsResponse, error) + // CountWorkflowExecutions is a visibility API to count of workflow executions in a specific namespace. + CountWorkflowExecutions(context.Context, *CountWorkflowExecutionsRequest) (*CountWorkflowExecutionsResponse, error) + // GetSearchAttributes is a visibility API to get all legal keys that could be used in list APIs + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose this search attribute API to HTTP (but may expose on OperatorService). --) + GetSearchAttributes(context.Context, *GetSearchAttributesRequest) (*GetSearchAttributesResponse, error) + // RespondQueryTaskCompleted is called by workers to complete queries which were delivered on + // the `query` (not `queries`) field of a `PollWorkflowTaskQueueResponse`. + // + // Completing the query will unblock the corresponding client call to `QueryWorkflow` and return + // the query result a response. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondQueryTaskCompleted(context.Context, *RespondQueryTaskCompletedRequest) (*RespondQueryTaskCompletedResponse, error) + // ResetStickyTaskQueue resets the sticky task queue related information in the mutable state of + // a given workflow. This is prudent for workers to perform if a workflow has been paged out of + // their cache. + // + // Things cleared are: + // 1. StickyTaskQueue + // 2. StickyScheduleToStartTimeout + // + // When possible, ShutdownWorker should be preferred over + // ResetStickyTaskQueue (particularly when a worker is shutting down or + // cycling). + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + ResetStickyTaskQueue(context.Context, *ResetStickyTaskQueueRequest) (*ResetStickyTaskQueueResponse, error) + // ShutdownWorker is used to indicate that the given sticky task + // queue is no longer being polled by its worker. Following the completion of + // ShutdownWorker, newly-added workflow tasks will instead be placed + // in the normal task queue, eligible for any worker to pick up. + // + // ShutdownWorker should be called by workers while shutting down, + // after they've shut down their pollers. If another sticky poll + // request is issued, the sticky task queue will be revived. + // + // As of Temporal Server v1.25.0, ShutdownWorker hasn't yet been implemented. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + ShutdownWorker(context.Context, *ShutdownWorkerRequest) (*ShutdownWorkerResponse, error) + // QueryWorkflow requests a query be executed for a specified workflow execution. + QueryWorkflow(context.Context, *QueryWorkflowRequest) (*QueryWorkflowResponse, error) + // DescribeWorkflowExecution returns information about the specified workflow execution. + DescribeWorkflowExecution(context.Context, *DescribeWorkflowExecutionRequest) (*DescribeWorkflowExecutionResponse, error) + // DescribeTaskQueue returns the following information about the target task queue, broken down by Build ID: + // - List of pollers + // - Workflow Reachability status + // - Backlog info for Workflow and/or Activity tasks + DescribeTaskQueue(context.Context, *DescribeTaskQueueRequest) (*DescribeTaskQueueResponse, error) + // GetClusterInfo returns information about temporal cluster + GetClusterInfo(context.Context, *GetClusterInfoRequest) (*GetClusterInfoResponse, error) + // GetSystemInfo returns information about the system. + GetSystemInfo(context.Context, *GetSystemInfoRequest) (*GetSystemInfoResponse, error) + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose this low-level API to HTTP. --) + ListTaskQueuePartitions(context.Context, *ListTaskQueuePartitionsRequest) (*ListTaskQueuePartitionsResponse, error) + // Creates a new schedule. + CreateSchedule(context.Context, *CreateScheduleRequest) (*CreateScheduleResponse, error) + // Returns the schedule description and current state of an existing schedule. + DescribeSchedule(context.Context, *DescribeScheduleRequest) (*DescribeScheduleResponse, error) + // Changes the configuration or state of an existing schedule. + UpdateSchedule(context.Context, *UpdateScheduleRequest) (*UpdateScheduleResponse, error) + // Makes a specific change to a schedule or triggers an immediate action. + PatchSchedule(context.Context, *PatchScheduleRequest) (*PatchScheduleResponse, error) + // Lists matching times within a range. + ListScheduleMatchingTimes(context.Context, *ListScheduleMatchingTimesRequest) (*ListScheduleMatchingTimesResponse, error) + // Deletes a schedule, removing it from the system. + DeleteSchedule(context.Context, *DeleteScheduleRequest) (*DeleteScheduleResponse, error) + // List all schedules in a namespace. + ListSchedules(context.Context, *ListSchedulesRequest) (*ListSchedulesResponse, error) + // CountSchedules is a visibility API to count schedules in a specific namespace. + CountSchedules(context.Context, *CountSchedulesRequest) (*CountSchedulesResponse, error) + // Deprecated. Use `UpdateWorkerVersioningRules`. + // + // Allows users to specify sets of worker build id versions on a per task queue basis. Versions + // are ordered, and may be either compatible with some extant version, or a new incompatible + // version, forming sets of ids which are incompatible with each other, but whose contained + // members are compatible with one another. + // + // A single build id may be mapped to multiple task queues using this API for cases where a single process hosts + // multiple workers. + // + // To query which workers can be retired, use the `GetWorkerTaskReachability` API. + // + // NOTE: The number of task queues mapped to a single build id is limited by the `limit.taskQueuesPerBuildId` + // (default is 20), if this limit is exceeded this API will error with a FailedPrecondition. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do yet expose versioning API to HTTP. --) + UpdateWorkerBuildIdCompatibility(context.Context, *UpdateWorkerBuildIdCompatibilityRequest) (*UpdateWorkerBuildIdCompatibilityResponse, error) + // Deprecated. Use `GetWorkerVersioningRules`. + // Fetches the worker build id versioning sets for a task queue. + GetWorkerBuildIdCompatibility(context.Context, *GetWorkerBuildIdCompatibilityRequest) (*GetWorkerBuildIdCompatibilityResponse, error) + // Use this API to manage Worker Versioning Rules for a given Task Queue. There are two types of + // rules: Build ID Assignment rules and Compatible Build ID Redirect rules. + // + // Assignment rules determine how to assign new executions to a Build IDs. Their primary + // use case is to specify the latest Build ID but they have powerful features for gradual rollout + // of a new Build ID. + // + // Once a workflow execution is assigned to a Build ID and it completes its first Workflow Task, + // the workflow stays on the assigned Build ID regardless of changes in assignment rules. This + // eliminates the need for compatibility between versions when you only care about using the new + // version for new workflows and let existing workflows finish in their own version. + // + // Activities, Child Workflows and Continue-as-New executions have the option to inherit the + // Build ID of their parent/previous workflow or use the latest assignment rules to independently + // select a Build ID. + // + // Redirect rules should only be used when you want to move workflows and activities assigned to + // one Build ID (source) to another compatible Build ID (target). You are responsible to make sure + // the target Build ID of a redirect rule is able to process event histories made by the source + // Build ID by using [Patching](https://docs.temporal.io/workflows#patching) or other means. + // + // WARNING: Worker Versioning is not yet stable and the API and behavior may change incompatibly. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do yet expose versioning API to HTTP. --) + UpdateWorkerVersioningRules(context.Context, *UpdateWorkerVersioningRulesRequest) (*UpdateWorkerVersioningRulesResponse, error) + // Fetches the Build ID assignment and redirect rules for a Task Queue. + // WARNING: Worker Versioning is not yet stable and the API and behavior may change incompatibly. + GetWorkerVersioningRules(context.Context, *GetWorkerVersioningRulesRequest) (*GetWorkerVersioningRulesResponse, error) + // Deprecated. Use `DescribeTaskQueue`. + // + // Fetches task reachability to determine whether a worker may be retired. + // The request may specify task queues to query for or let the server fetch all task queues mapped to the given + // build IDs. + // + // When requesting a large number of task queues or all task queues associated with the given build ids in a + // namespace, all task queues will be listed in the response but some of them may not contain reachability + // information due to a server enforced limit. When reaching the limit, task queues that reachability information + // could not be retrieved for will be marked with a single TASK_REACHABILITY_UNSPECIFIED entry. The caller may issue + // another call to get the reachability for those task queues. + // + // Open source users can adjust this limit by setting the server's dynamic config value for + // `limit.reachabilityTaskQueueScan` with the caveat that this call can strain the visibility store. + GetWorkerTaskReachability(context.Context, *GetWorkerTaskReachabilityRequest) (*GetWorkerTaskReachabilityResponse, error) + // Describes a worker deployment. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced with `DescribeWorkerDeploymentVersion`. + DescribeDeployment(context.Context, *DescribeDeploymentRequest) (*DescribeDeploymentResponse, error) + // Describes a worker deployment version. + // Experimental. This API might significantly change or be removed in a future release. + DescribeWorkerDeploymentVersion(context.Context, *DescribeWorkerDeploymentVersionRequest) (*DescribeWorkerDeploymentVersionResponse, error) + // Lists worker deployments in the namespace. Optionally can filter based on deployment series + // name. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced with `ListWorkerDeployments`. + ListDeployments(context.Context, *ListDeploymentsRequest) (*ListDeploymentsResponse, error) + // Returns the reachability level of a worker deployment to help users decide when it is time + // to decommission a deployment. Reachability level is calculated based on the deployment's + // `status` and existing workflows that depend on the given deployment for their execution. + // Calculating reachability is relatively expensive. Therefore, server might return a recently + // cached value. In such a case, the `last_update_time` will inform you about the actual + // reachability calculation time. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced with `DrainageInfo` returned by `DescribeWorkerDeploymentVersion`. + GetDeploymentReachability(context.Context, *GetDeploymentReachabilityRequest) (*GetDeploymentReachabilityResponse, error) + // Returns the current deployment (and its info) for a given deployment series. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced by `current_version` returned by `DescribeWorkerDeployment`. + GetCurrentDeployment(context.Context, *GetCurrentDeploymentRequest) (*GetCurrentDeploymentResponse, error) + // Sets a deployment as the current deployment for its deployment series. Can optionally update + // the metadata of the deployment as well. + // Experimental. This API might significantly change or be removed in a future release. + // Deprecated. Replaced by `SetWorkerDeploymentCurrentVersion`. + SetCurrentDeployment(context.Context, *SetCurrentDeploymentRequest) (*SetCurrentDeploymentResponse, error) + // Set/unset the Current Version of a Worker Deployment. Automatically unsets the Ramping + // Version if it is the Version being set as Current. + // Experimental. This API might significantly change or be removed in a future release. + SetWorkerDeploymentCurrentVersion(context.Context, *SetWorkerDeploymentCurrentVersionRequest) (*SetWorkerDeploymentCurrentVersionResponse, error) + // Describes a Worker Deployment. + // Experimental. This API might significantly change or be removed in a future release. + DescribeWorkerDeployment(context.Context, *DescribeWorkerDeploymentRequest) (*DescribeWorkerDeploymentResponse, error) + // Deletes records of (an old) Deployment. A deployment can only be deleted if + // it has no Version in it. + // Experimental. This API might significantly change or be removed in a future release. + DeleteWorkerDeployment(context.Context, *DeleteWorkerDeploymentRequest) (*DeleteWorkerDeploymentResponse, error) + // Used for manual deletion of Versions. User can delete a Version only when all the + // following conditions are met: + // - It is not the Current or Ramping Version of its Deployment. + // - It has no active pollers (none of the task queues in the Version have pollers) + // - It is not draining (see WorkerDeploymentVersionInfo.drainage_info). This condition + // can be skipped by passing `skip-drainage=true`. + // + // Experimental. This API might significantly change or be removed in a future release. + DeleteWorkerDeploymentVersion(context.Context, *DeleteWorkerDeploymentVersionRequest) (*DeleteWorkerDeploymentVersionResponse, error) + // Set/unset the Ramping Version of a Worker Deployment and its ramp percentage. Can be used for + // gradual ramp to unversioned workers too. + // Experimental. This API might significantly change or be removed in a future release. + SetWorkerDeploymentRampingVersion(context.Context, *SetWorkerDeploymentRampingVersionRequest) (*SetWorkerDeploymentRampingVersionResponse, error) + // Lists all Worker Deployments that are tracked in the Namespace. + // Experimental. This API might significantly change or be removed in a future release. + ListWorkerDeployments(context.Context, *ListWorkerDeploymentsRequest) (*ListWorkerDeploymentsResponse, error) + // Creates a new Worker Deployment. + // + // Experimental. This API might significantly change or be removed in a + // future release. + CreateWorkerDeployment(context.Context, *CreateWorkerDeploymentRequest) (*CreateWorkerDeploymentResponse, error) + // Creates a new Worker Deployment Version. + // + // Experimental. This API might significantly change or be removed in a + // future release. + CreateWorkerDeploymentVersion(context.Context, *CreateWorkerDeploymentVersionRequest) (*CreateWorkerDeploymentVersionResponse, error) + // Updates the compute config attached to a Worker Deployment Version. + // Experimental. This API might significantly change or be removed in a future release. + UpdateWorkerDeploymentVersionComputeConfig(context.Context, *UpdateWorkerDeploymentVersionComputeConfigRequest) (*UpdateWorkerDeploymentVersionComputeConfigResponse, error) + // Validates the compute config without attaching it to a Worker Deployment Version. + // Experimental. This API might significantly change or be removed in a future release. + ValidateWorkerDeploymentVersionComputeConfig(context.Context, *ValidateWorkerDeploymentVersionComputeConfigRequest) (*ValidateWorkerDeploymentVersionComputeConfigResponse, error) + // Updates the user-given metadata attached to a Worker Deployment Version. + // Experimental. This API might significantly change or be removed in a future release. + UpdateWorkerDeploymentVersionMetadata(context.Context, *UpdateWorkerDeploymentVersionMetadataRequest) (*UpdateWorkerDeploymentVersionMetadataResponse, error) + // Set/unset the ManagerIdentity of a Worker Deployment. + // Experimental. This API might significantly change or be removed in a future release. + SetWorkerDeploymentManager(context.Context, *SetWorkerDeploymentManagerRequest) (*SetWorkerDeploymentManagerResponse, error) + // Invokes the specified Update function on user Workflow code. + UpdateWorkflowExecution(context.Context, *UpdateWorkflowExecutionRequest) (*UpdateWorkflowExecutionResponse, error) + // Polls a Workflow Execution for the outcome of a Workflow Update + // previously issued through the UpdateWorkflowExecution RPC. The effective + // timeout on this call will be shorter of the the caller-supplied gRPC + // timeout and the server's configured long-poll timeout. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We don't expose update polling API to HTTP in favor of a potential future non-blocking form. --) + PollWorkflowExecutionUpdate(context.Context, *PollWorkflowExecutionUpdateRequest) (*PollWorkflowExecutionUpdateResponse, error) + // StartBatchOperation starts a new batch operation + StartBatchOperation(context.Context, *StartBatchOperationRequest) (*StartBatchOperationResponse, error) + // StopBatchOperation stops a batch operation + StopBatchOperation(context.Context, *StopBatchOperationRequest) (*StopBatchOperationResponse, error) + // DescribeBatchOperation returns the information about a batch operation + DescribeBatchOperation(context.Context, *DescribeBatchOperationRequest) (*DescribeBatchOperationResponse, error) + // ListBatchOperations returns a list of batch operations + ListBatchOperations(context.Context, *ListBatchOperationsRequest) (*ListBatchOperationsResponse, error) + // PollNexusTaskQueue is a long poll call used by workers to receive Nexus tasks. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + PollNexusTaskQueue(context.Context, *PollNexusTaskQueueRequest) (*PollNexusTaskQueueResponse, error) + // RespondNexusTaskCompleted is called by workers to respond to Nexus tasks received via PollNexusTaskQueue. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondNexusTaskCompleted(context.Context, *RespondNexusTaskCompletedRequest) (*RespondNexusTaskCompletedResponse, error) + // RespondNexusTaskFailed is called by workers to fail Nexus tasks received via PollNexusTaskQueue. + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: We do not expose worker API to HTTP. --) + RespondNexusTaskFailed(context.Context, *RespondNexusTaskFailedRequest) (*RespondNexusTaskFailedResponse, error) + // UpdateActivityOptions is called by the client to update the options of an activity by its ID or type. + // If there are multiple pending activities of the provided type - all of them will be updated. + // This API will be deprecated soon and replaced with a newer UpdateActivityExecutionOptions that is better named and + // structured to work well for standalone activities. + UpdateActivityOptions(context.Context, *UpdateActivityOptionsRequest) (*UpdateActivityOptionsResponse, error) + // UpdateWorkflowExecutionOptions partially updates the WorkflowExecutionOptions of an existing workflow execution. + UpdateWorkflowExecutionOptions(context.Context, *UpdateWorkflowExecutionOptionsRequest) (*UpdateWorkflowExecutionOptionsResponse, error) + // PauseActivity pauses the execution of an activity specified by its ID or type. + // If there are multiple pending activities of the provided type - all of them will be paused + // + // Pausing an activity means: + // - If the activity is currently waiting for a retry or is running and subsequently fails, + // it will not be rescheduled until it is unpaused. + // - If the activity is already paused, calling this method will have no effect. + // - If the activity is running and finishes successfully, the activity will be completed. + // - If the activity is running and finishes with failure: + // - if there is no retry left - the activity will be completed. + // - if there are more retries left - the activity will be paused. + // + // For long-running activities: + // - activities in paused state will send a cancellation with "activity_paused" set to 'true' in response to 'RecordActivityTaskHeartbeat'. + // - The activity should respond to the cancellation accordingly. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID or type + // This API will be deprecated soon and replaced with a newer PauseActivityExecution that is better named and + // structured to work well for standalone activities. + PauseActivity(context.Context, *PauseActivityRequest) (*PauseActivityResponse, error) + // UnpauseActivity unpauses the execution of an activity specified by its ID or type. + // If there are multiple pending activities of the provided type - all of them will be unpaused. + // + // If activity is not paused, this call will have no effect. + // If the activity was paused while waiting for retry, it will be scheduled immediately (* see 'jitter' flag). + // Once the activity is unpaused, all timeout timers will be regenerated. + // + // Flags: + // 'jitter': the activity will be scheduled at a random time within the jitter duration. + // 'reset_attempts': the number of attempts will be reset. + // 'reset_heartbeat': the activity heartbeat timer and heartbeats will be reset. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID or type + // This API will be deprecated soon and replaced with a newer UnpauseActivityExecution that is better named and + // structured to work well for standalone activities. + UnpauseActivity(context.Context, *UnpauseActivityRequest) (*UnpauseActivityResponse, error) + // ResetActivity resets the execution of an activity specified by its ID or type. + // If there are multiple pending activities of the provided type - all of them will be reset. + // + // Resetting an activity means: + // - number of attempts will be reset to 0. + // - activity timeouts will be reset. + // - if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided: + // it will be scheduled immediately (* see 'jitter' flag), + // + // Flags: + // + // 'jitter': the activity will be scheduled at a random time within the jitter duration. + // If the activity currently paused it will be unpaused, unless 'keep_paused' flag is provided. + // 'reset_heartbeats': the activity heartbeat timer and heartbeats will be reset. + // 'keep_paused': if the activity is paused, it will remain paused. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID or type. + // This API will be deprecated soon and replaced with a newer ResetActivityExecution that is better named and + // structured to work well for standalone activities. + ResetActivity(context.Context, *ResetActivityRequest) (*ResetActivityResponse, error) + // Create a new workflow rule. The rules are used to control the workflow execution. + // The rule will be applied to all running and new workflows in the namespace. + // If the rule with such ID already exist this call will fail + // Note: the rules are part of namespace configuration and will be stored in the namespace config. + // Namespace config is eventually consistent. + CreateWorkflowRule(context.Context, *CreateWorkflowRuleRequest) (*CreateWorkflowRuleResponse, error) + // DescribeWorkflowRule return the rule specification for existing rule id. + // If there is no rule with such id - NOT FOUND error will be returned. + DescribeWorkflowRule(context.Context, *DescribeWorkflowRuleRequest) (*DescribeWorkflowRuleResponse, error) + // Delete rule by rule id + DeleteWorkflowRule(context.Context, *DeleteWorkflowRuleRequest) (*DeleteWorkflowRuleResponse, error) + // Return all namespace workflow rules + ListWorkflowRules(context.Context, *ListWorkflowRulesRequest) (*ListWorkflowRulesResponse, error) + // TriggerWorkflowRule allows to: + // - trigger existing rule for a specific workflow execution; + // - trigger rule for a specific workflow execution without creating a rule; + // + // This is useful for one-off operations. + TriggerWorkflowRule(context.Context, *TriggerWorkflowRuleRequest) (*TriggerWorkflowRuleResponse, error) + // WorkerHeartbeat receive heartbeat request from the worker. + RecordWorkerHeartbeat(context.Context, *RecordWorkerHeartbeatRequest) (*RecordWorkerHeartbeatResponse, error) + // ListWorkers is a visibility API to list worker status information in a specific namespace. + ListWorkers(context.Context, *ListWorkersRequest) (*ListWorkersResponse, error) + // Updates task queue configuration. + // For the overall queue rate limit: the rate limit set by this api overrides the worker-set rate limit, + // which uncouples the rate limit from the worker lifecycle. + // If the overall queue rate limit is unset, the worker-set rate limit takes effect. + UpdateTaskQueueConfig(context.Context, *UpdateTaskQueueConfigRequest) (*UpdateTaskQueueConfigResponse, error) + // FetchWorkerConfig returns the worker configuration for a specific worker. + FetchWorkerConfig(context.Context, *FetchWorkerConfigRequest) (*FetchWorkerConfigResponse, error) + // UpdateWorkerConfig updates the worker configuration of one or more workers. + // Can be used to partially update the worker configuration. + // Can be used to update the configuration of multiple workers. + UpdateWorkerConfig(context.Context, *UpdateWorkerConfigRequest) (*UpdateWorkerConfigResponse, error) + // DescribeWorker returns information about the specified worker. + DescribeWorker(context.Context, *DescribeWorkerRequest) (*DescribeWorkerResponse, error) + // Note: This is an experimental API and the behavior may change in a future release. + // PauseWorkflowExecution pauses the workflow execution specified in the request. Pausing a workflow execution results in + // - The workflow execution status changes to `PAUSED` and a new WORKFLOW_EXECUTION_PAUSED event is added to the history + // - No new workflow tasks or activity tasks are dispatched. + // - Any workflow task currently executing on the worker will be allowed to complete. + // - Any activity task currently executing will be paused. + // + // - All server-side events will continue to be processed by the server. + // - Queries & Updates on a paused workflow will be rejected. + PauseWorkflowExecution(context.Context, *PauseWorkflowExecutionRequest) (*PauseWorkflowExecutionResponse, error) + // Note: This is an experimental API and the behavior may change in a future release. + // UnpauseWorkflowExecution unpauses a previously paused workflow execution specified in the request. + // Unpausing a workflow execution results in + // - The workflow execution status changes to `RUNNING` and a new WORKFLOW_EXECUTION_UNPAUSED event is added to the history + // - Workflow tasks and activity tasks are resumed. + UnpauseWorkflowExecution(context.Context, *UnpauseWorkflowExecutionRequest) (*UnpauseWorkflowExecutionResponse, error) + // StartActivityExecution starts a new activity execution. + // + // Returns an `ActivityExecutionAlreadyStarted` error if an instance already exists with same activity ID in this namespace + // unless permitted by the specified ID conflict policy. + StartActivityExecution(context.Context, *StartActivityExecutionRequest) (*StartActivityExecutionResponse, error) + // StartNexusOperationExecution starts a new Nexus operation. + // + // Returns a `NexusOperationExecutionAlreadyStarted` error if an instance already exists with same operation ID in this + // namespace unless permitted by the specified ID conflict policy. + StartNexusOperationExecution(context.Context, *StartNexusOperationExecutionRequest) (*StartNexusOperationExecutionResponse, error) + // DescribeActivityExecution returns information about an activity execution. + // It can be used to: + // - Get current activity info without waiting + // - Long-poll for next state change and return new activity info + // Response can optionally include activity input or outcome (if the activity has completed). + DescribeActivityExecution(context.Context, *DescribeActivityExecutionRequest) (*DescribeActivityExecutionResponse, error) + // DescribeNexusOperationExecution returns information about a Nexus operation. + // Supported use cases include: + // - Get current operation info without waiting + // - Long-poll for next state change and return new operation info + // Response can optionally include operation input or outcome (if the operation has completed). + DescribeNexusOperationExecution(context.Context, *DescribeNexusOperationExecutionRequest) (*DescribeNexusOperationExecutionResponse, error) + // PollActivityExecution long-polls for an activity execution to complete and returns the + // outcome (result or failure). + PollActivityExecution(context.Context, *PollActivityExecutionRequest) (*PollActivityExecutionResponse, error) + // PollNexusOperationExecution long-polls for a Nexus operation for a given wait stage to complete and returns + // the outcome (result or failure). + PollNexusOperationExecution(context.Context, *PollNexusOperationExecutionRequest) (*PollNexusOperationExecutionResponse, error) + // ListActivityExecutions is a visibility API to list activity executions in a specific namespace. + ListActivityExecutions(context.Context, *ListActivityExecutionsRequest) (*ListActivityExecutionsResponse, error) + // ListNexusOperationExecutions is a visibility API to list Nexus operations in a specific namespace. + ListNexusOperationExecutions(context.Context, *ListNexusOperationExecutionsRequest) (*ListNexusOperationExecutionsResponse, error) + // CountActivityExecutions is a visibility API to count activity executions in a specific namespace. + CountActivityExecutions(context.Context, *CountActivityExecutionsRequest) (*CountActivityExecutionsResponse, error) + // CountNexusOperationExecutions is a visibility API to count Nexus operations in a specific namespace. + CountNexusOperationExecutions(context.Context, *CountNexusOperationExecutionsRequest) (*CountNexusOperationExecutionsResponse, error) + // RequestCancelActivityExecution requests cancellation of an activity execution. + // + // Cancellation is cooperative: this call records the request, but the activity must detect and + // acknowledge it for the activity to reach CANCELED status. The cancellation signal is + // delivered via `cancel_requested` in the heartbeat response; SDKs surface this via + // language-idiomatic mechanisms (context cancellation, exceptions, abort signals). + RequestCancelActivityExecution(context.Context, *RequestCancelActivityExecutionRequest) (*RequestCancelActivityExecutionResponse, error) + // RequestCancelNexusOperationExecution requests cancellation of a Nexus operation. + // + // Requesting to cancel an operation does not automatically transition the operation to canceled status. + // The operation will only transition to canceled status if it supports cancellation and the handler + // processes the cancellation request. + RequestCancelNexusOperationExecution(context.Context, *RequestCancelNexusOperationExecutionRequest) (*RequestCancelNexusOperationExecutionResponse, error) + // TerminateActivityExecution terminates an existing activity execution immediately. + // + // Termination does not reach the worker and the activity code cannot react to it. A terminated activity may have a + // running attempt. + TerminateActivityExecution(context.Context, *TerminateActivityExecutionRequest) (*TerminateActivityExecutionResponse, error) + // DeleteActivityExecution asynchronously deletes a specific activity execution (when + // ActivityExecution.run_id is provided) or the latest activity execution (when + // ActivityExecution.run_id is not provided). If the activity Execution is running, it will be + // terminated before deletion. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Activity deletion not exposed to HTTP, users should use cancel or terminate. --) + DeleteActivityExecution(context.Context, *DeleteActivityExecutionRequest) (*DeleteActivityExecutionResponse, error) + // PauseActivityExecution pauses the execution of an activity specified by its ID. + // This API can be used to target a workflow activity or a standalone activity + // + // Pausing an activity means: + // - If the activity is currently waiting for a retry or is running and subsequently fails, + // it will not be rescheduled until it is unpaused. + // - If the activity is already paused, calling this method will have no effect. + // - If the activity is running and finishes successfully, the activity will be completed. + // - If the activity is running and finishes with failure: + // - if there is no retry left - the activity will be completed. + // - if there are more retries left - the activity will be paused. + // + // For long-running activities: + // - activities in paused state will send a cancellation with "activity_paused" set to 'true' in response to 'RecordActivityTaskHeartbeat'. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID + PauseActivityExecution(context.Context, *PauseActivityExecutionRequest) (*PauseActivityExecutionResponse, error) + // ResetActivityExecution resets the execution of an activity specified by its ID. + // This API can be used to target a workflow activity or a standalone activity. + // + // Resetting an activity means: + // - number of attempts will be reset to 0. + // - activity timeouts will be reset. + // - if the activity is waiting for retry, and it is not paused or 'keep_paused' is not provided: + // it will be scheduled immediately (* see 'jitter' flag) + // + // Returns a `NotFound` error if there is no pending activity with the provided ID or type. + ResetActivityExecution(context.Context, *ResetActivityExecutionRequest) (*ResetActivityExecutionResponse, error) + // UnpauseActivityExecution unpauses the execution of an activity specified by its ID. + // This API can be used to target a workflow activity or a standalone activity. + // + // If activity is not paused, this call will have no effect. + // If the activity was paused while waiting for retry, it will be scheduled immediately (* see 'jitter' flag). + // Once the activity is unpaused, all timeout timers will be regenerated. + // + // Returns a `NotFound` error if there is no pending activity with the provided ID + UnpauseActivityExecution(context.Context, *UnpauseActivityExecutionRequest) (*UnpauseActivityExecutionResponse, error) + // UpdateActivityExecutionOptions is called by the client to update the options of an activity by its ID. + // This API can be used to target a workflow activity or a standalone activity. + UpdateActivityExecutionOptions(context.Context, *UpdateActivityExecutionOptionsRequest) (*UpdateActivityExecutionOptionsResponse, error) + // TerminateNexusOperationExecution terminates an existing Nexus operation immediately. + // + // Termination happens immediately and the operation handler cannot react to it. A terminated operation will have + // its outcome set to a failure with a termination reason. + TerminateNexusOperationExecution(context.Context, *TerminateNexusOperationExecutionRequest) (*TerminateNexusOperationExecutionResponse, error) + // DeleteNexusOperationExecution asynchronously deletes a specific Nexus operation run (when + // run_id is provided) or the latest run (when run_id is not provided). If the operation + // is running, it will be terminated before deletion. + // + // (-- api-linter: core::0127::http-annotation=disabled + // + // aip.dev/not-precedent: Nexus operation deletion not exposed to HTTP, users should use cancel or terminate. --) + DeleteNexusOperationExecution(context.Context, *DeleteNexusOperationExecutionRequest) (*DeleteNexusOperationExecutionResponse, error) + mustEmbedUnimplementedWorkflowServiceServer() +} + +// UnimplementedWorkflowServiceServer must be embedded to have +// forward compatible implementations. +// +// NOTE: this should be embedded by value instead of pointer to avoid a nil +// pointer dereference when methods are called. +type UnimplementedWorkflowServiceServer struct{} + +func (UnimplementedWorkflowServiceServer) RegisterNamespace(context.Context, *RegisterNamespaceRequest) (*RegisterNamespaceResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RegisterNamespace not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeNamespace(context.Context, *DescribeNamespaceRequest) (*DescribeNamespaceResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeNamespace not implemented") +} +func (UnimplementedWorkflowServiceServer) ListNamespaces(context.Context, *ListNamespacesRequest) (*ListNamespacesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListNamespaces not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateNamespace(context.Context, *UpdateNamespaceRequest) (*UpdateNamespaceResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateNamespace not implemented") +} +func (UnimplementedWorkflowServiceServer) DeprecateNamespace(context.Context, *DeprecateNamespaceRequest) (*DeprecateNamespaceResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeprecateNamespace not implemented") +} +func (UnimplementedWorkflowServiceServer) Echo(context.Context, *EchoRequest) (*EchoResponse, error) { + return nil, status.Error(codes.Unimplemented, "method Echo not implemented") +} +func (UnimplementedWorkflowServiceServer) StartWorkflowExecution(context.Context, *StartWorkflowExecutionRequest) (*StartWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method StartWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) ExecuteMultiOperation(context.Context, *ExecuteMultiOperationRequest) (*ExecuteMultiOperationResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ExecuteMultiOperation not implemented") +} +func (UnimplementedWorkflowServiceServer) GetWorkflowExecutionHistory(context.Context, *GetWorkflowExecutionHistoryRequest) (*GetWorkflowExecutionHistoryResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetWorkflowExecutionHistory not implemented") +} +func (UnimplementedWorkflowServiceServer) GetWorkflowExecutionHistoryReverse(context.Context, *GetWorkflowExecutionHistoryReverseRequest) (*GetWorkflowExecutionHistoryReverseResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetWorkflowExecutionHistoryReverse not implemented") +} +func (UnimplementedWorkflowServiceServer) PollWorkflowTaskQueue(context.Context, *PollWorkflowTaskQueueRequest) (*PollWorkflowTaskQueueResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PollWorkflowTaskQueue not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondWorkflowTaskCompleted(context.Context, *RespondWorkflowTaskCompletedRequest) (*RespondWorkflowTaskCompletedResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondWorkflowTaskCompleted not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondWorkflowTaskFailed(context.Context, *RespondWorkflowTaskFailedRequest) (*RespondWorkflowTaskFailedResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondWorkflowTaskFailed not implemented") +} +func (UnimplementedWorkflowServiceServer) PollActivityTaskQueue(context.Context, *PollActivityTaskQueueRequest) (*PollActivityTaskQueueResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PollActivityTaskQueue not implemented") +} +func (UnimplementedWorkflowServiceServer) RecordActivityTaskHeartbeat(context.Context, *RecordActivityTaskHeartbeatRequest) (*RecordActivityTaskHeartbeatResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RecordActivityTaskHeartbeat not implemented") +} +func (UnimplementedWorkflowServiceServer) RecordActivityTaskHeartbeatById(context.Context, *RecordActivityTaskHeartbeatByIdRequest) (*RecordActivityTaskHeartbeatByIdResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RecordActivityTaskHeartbeatById not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondActivityTaskCompleted(context.Context, *RespondActivityTaskCompletedRequest) (*RespondActivityTaskCompletedResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondActivityTaskCompleted not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondActivityTaskCompletedById(context.Context, *RespondActivityTaskCompletedByIdRequest) (*RespondActivityTaskCompletedByIdResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondActivityTaskCompletedById not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondActivityTaskFailed(context.Context, *RespondActivityTaskFailedRequest) (*RespondActivityTaskFailedResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondActivityTaskFailed not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondActivityTaskFailedById(context.Context, *RespondActivityTaskFailedByIdRequest) (*RespondActivityTaskFailedByIdResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondActivityTaskFailedById not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondActivityTaskCanceled(context.Context, *RespondActivityTaskCanceledRequest) (*RespondActivityTaskCanceledResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondActivityTaskCanceled not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondActivityTaskCanceledById(context.Context, *RespondActivityTaskCanceledByIdRequest) (*RespondActivityTaskCanceledByIdResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondActivityTaskCanceledById not implemented") +} +func (UnimplementedWorkflowServiceServer) RequestCancelWorkflowExecution(context.Context, *RequestCancelWorkflowExecutionRequest) (*RequestCancelWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RequestCancelWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) SignalWorkflowExecution(context.Context, *SignalWorkflowExecutionRequest) (*SignalWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method SignalWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) SignalWithStartWorkflowExecution(context.Context, *SignalWithStartWorkflowExecutionRequest) (*SignalWithStartWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method SignalWithStartWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) ResetWorkflowExecution(context.Context, *ResetWorkflowExecutionRequest) (*ResetWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ResetWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) TerminateWorkflowExecution(context.Context, *TerminateWorkflowExecutionRequest) (*TerminateWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method TerminateWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) DeleteWorkflowExecution(context.Context, *DeleteWorkflowExecutionRequest) (*DeleteWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) ListOpenWorkflowExecutions(context.Context, *ListOpenWorkflowExecutionsRequest) (*ListOpenWorkflowExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListOpenWorkflowExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) ListClosedWorkflowExecutions(context.Context, *ListClosedWorkflowExecutionsRequest) (*ListClosedWorkflowExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListClosedWorkflowExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) ListWorkflowExecutions(context.Context, *ListWorkflowExecutionsRequest) (*ListWorkflowExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListWorkflowExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) ListArchivedWorkflowExecutions(context.Context, *ListArchivedWorkflowExecutionsRequest) (*ListArchivedWorkflowExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListArchivedWorkflowExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) ScanWorkflowExecutions(context.Context, *ScanWorkflowExecutionsRequest) (*ScanWorkflowExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ScanWorkflowExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) CountWorkflowExecutions(context.Context, *CountWorkflowExecutionsRequest) (*CountWorkflowExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CountWorkflowExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) GetSearchAttributes(context.Context, *GetSearchAttributesRequest) (*GetSearchAttributesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetSearchAttributes not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondQueryTaskCompleted(context.Context, *RespondQueryTaskCompletedRequest) (*RespondQueryTaskCompletedResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondQueryTaskCompleted not implemented") +} +func (UnimplementedWorkflowServiceServer) ResetStickyTaskQueue(context.Context, *ResetStickyTaskQueueRequest) (*ResetStickyTaskQueueResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ResetStickyTaskQueue not implemented") +} +func (UnimplementedWorkflowServiceServer) ShutdownWorker(context.Context, *ShutdownWorkerRequest) (*ShutdownWorkerResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ShutdownWorker not implemented") +} +func (UnimplementedWorkflowServiceServer) QueryWorkflow(context.Context, *QueryWorkflowRequest) (*QueryWorkflowResponse, error) { + return nil, status.Error(codes.Unimplemented, "method QueryWorkflow not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeWorkflowExecution(context.Context, *DescribeWorkflowExecutionRequest) (*DescribeWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeTaskQueue(context.Context, *DescribeTaskQueueRequest) (*DescribeTaskQueueResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeTaskQueue not implemented") +} +func (UnimplementedWorkflowServiceServer) GetClusterInfo(context.Context, *GetClusterInfoRequest) (*GetClusterInfoResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetClusterInfo not implemented") +} +func (UnimplementedWorkflowServiceServer) GetSystemInfo(context.Context, *GetSystemInfoRequest) (*GetSystemInfoResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetSystemInfo not implemented") +} +func (UnimplementedWorkflowServiceServer) ListTaskQueuePartitions(context.Context, *ListTaskQueuePartitionsRequest) (*ListTaskQueuePartitionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListTaskQueuePartitions not implemented") +} +func (UnimplementedWorkflowServiceServer) CreateSchedule(context.Context, *CreateScheduleRequest) (*CreateScheduleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CreateSchedule not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeSchedule(context.Context, *DescribeScheduleRequest) (*DescribeScheduleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeSchedule not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateSchedule(context.Context, *UpdateScheduleRequest) (*UpdateScheduleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateSchedule not implemented") +} +func (UnimplementedWorkflowServiceServer) PatchSchedule(context.Context, *PatchScheduleRequest) (*PatchScheduleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PatchSchedule not implemented") +} +func (UnimplementedWorkflowServiceServer) ListScheduleMatchingTimes(context.Context, *ListScheduleMatchingTimesRequest) (*ListScheduleMatchingTimesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListScheduleMatchingTimes not implemented") +} +func (UnimplementedWorkflowServiceServer) DeleteSchedule(context.Context, *DeleteScheduleRequest) (*DeleteScheduleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteSchedule not implemented") +} +func (UnimplementedWorkflowServiceServer) ListSchedules(context.Context, *ListSchedulesRequest) (*ListSchedulesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListSchedules not implemented") +} +func (UnimplementedWorkflowServiceServer) CountSchedules(context.Context, *CountSchedulesRequest) (*CountSchedulesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CountSchedules not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateWorkerBuildIdCompatibility(context.Context, *UpdateWorkerBuildIdCompatibilityRequest) (*UpdateWorkerBuildIdCompatibilityResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateWorkerBuildIdCompatibility not implemented") +} +func (UnimplementedWorkflowServiceServer) GetWorkerBuildIdCompatibility(context.Context, *GetWorkerBuildIdCompatibilityRequest) (*GetWorkerBuildIdCompatibilityResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetWorkerBuildIdCompatibility not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateWorkerVersioningRules(context.Context, *UpdateWorkerVersioningRulesRequest) (*UpdateWorkerVersioningRulesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateWorkerVersioningRules not implemented") +} +func (UnimplementedWorkflowServiceServer) GetWorkerVersioningRules(context.Context, *GetWorkerVersioningRulesRequest) (*GetWorkerVersioningRulesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetWorkerVersioningRules not implemented") +} +func (UnimplementedWorkflowServiceServer) GetWorkerTaskReachability(context.Context, *GetWorkerTaskReachabilityRequest) (*GetWorkerTaskReachabilityResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetWorkerTaskReachability not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeDeployment(context.Context, *DescribeDeploymentRequest) (*DescribeDeploymentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeDeployment not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeWorkerDeploymentVersion(context.Context, *DescribeWorkerDeploymentVersionRequest) (*DescribeWorkerDeploymentVersionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeWorkerDeploymentVersion not implemented") +} +func (UnimplementedWorkflowServiceServer) ListDeployments(context.Context, *ListDeploymentsRequest) (*ListDeploymentsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListDeployments not implemented") +} +func (UnimplementedWorkflowServiceServer) GetDeploymentReachability(context.Context, *GetDeploymentReachabilityRequest) (*GetDeploymentReachabilityResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetDeploymentReachability not implemented") +} +func (UnimplementedWorkflowServiceServer) GetCurrentDeployment(context.Context, *GetCurrentDeploymentRequest) (*GetCurrentDeploymentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method GetCurrentDeployment not implemented") +} +func (UnimplementedWorkflowServiceServer) SetCurrentDeployment(context.Context, *SetCurrentDeploymentRequest) (*SetCurrentDeploymentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method SetCurrentDeployment not implemented") +} +func (UnimplementedWorkflowServiceServer) SetWorkerDeploymentCurrentVersion(context.Context, *SetWorkerDeploymentCurrentVersionRequest) (*SetWorkerDeploymentCurrentVersionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method SetWorkerDeploymentCurrentVersion not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeWorkerDeployment(context.Context, *DescribeWorkerDeploymentRequest) (*DescribeWorkerDeploymentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeWorkerDeployment not implemented") +} +func (UnimplementedWorkflowServiceServer) DeleteWorkerDeployment(context.Context, *DeleteWorkerDeploymentRequest) (*DeleteWorkerDeploymentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteWorkerDeployment not implemented") +} +func (UnimplementedWorkflowServiceServer) DeleteWorkerDeploymentVersion(context.Context, *DeleteWorkerDeploymentVersionRequest) (*DeleteWorkerDeploymentVersionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteWorkerDeploymentVersion not implemented") +} +func (UnimplementedWorkflowServiceServer) SetWorkerDeploymentRampingVersion(context.Context, *SetWorkerDeploymentRampingVersionRequest) (*SetWorkerDeploymentRampingVersionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method SetWorkerDeploymentRampingVersion not implemented") +} +func (UnimplementedWorkflowServiceServer) ListWorkerDeployments(context.Context, *ListWorkerDeploymentsRequest) (*ListWorkerDeploymentsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListWorkerDeployments not implemented") +} +func (UnimplementedWorkflowServiceServer) CreateWorkerDeployment(context.Context, *CreateWorkerDeploymentRequest) (*CreateWorkerDeploymentResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CreateWorkerDeployment not implemented") +} +func (UnimplementedWorkflowServiceServer) CreateWorkerDeploymentVersion(context.Context, *CreateWorkerDeploymentVersionRequest) (*CreateWorkerDeploymentVersionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CreateWorkerDeploymentVersion not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateWorkerDeploymentVersionComputeConfig(context.Context, *UpdateWorkerDeploymentVersionComputeConfigRequest) (*UpdateWorkerDeploymentVersionComputeConfigResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateWorkerDeploymentVersionComputeConfig not implemented") +} +func (UnimplementedWorkflowServiceServer) ValidateWorkerDeploymentVersionComputeConfig(context.Context, *ValidateWorkerDeploymentVersionComputeConfigRequest) (*ValidateWorkerDeploymentVersionComputeConfigResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ValidateWorkerDeploymentVersionComputeConfig not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateWorkerDeploymentVersionMetadata(context.Context, *UpdateWorkerDeploymentVersionMetadataRequest) (*UpdateWorkerDeploymentVersionMetadataResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateWorkerDeploymentVersionMetadata not implemented") +} +func (UnimplementedWorkflowServiceServer) SetWorkerDeploymentManager(context.Context, *SetWorkerDeploymentManagerRequest) (*SetWorkerDeploymentManagerResponse, error) { + return nil, status.Error(codes.Unimplemented, "method SetWorkerDeploymentManager not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateWorkflowExecution(context.Context, *UpdateWorkflowExecutionRequest) (*UpdateWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) PollWorkflowExecutionUpdate(context.Context, *PollWorkflowExecutionUpdateRequest) (*PollWorkflowExecutionUpdateResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PollWorkflowExecutionUpdate not implemented") +} +func (UnimplementedWorkflowServiceServer) StartBatchOperation(context.Context, *StartBatchOperationRequest) (*StartBatchOperationResponse, error) { + return nil, status.Error(codes.Unimplemented, "method StartBatchOperation not implemented") +} +func (UnimplementedWorkflowServiceServer) StopBatchOperation(context.Context, *StopBatchOperationRequest) (*StopBatchOperationResponse, error) { + return nil, status.Error(codes.Unimplemented, "method StopBatchOperation not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeBatchOperation(context.Context, *DescribeBatchOperationRequest) (*DescribeBatchOperationResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeBatchOperation not implemented") +} +func (UnimplementedWorkflowServiceServer) ListBatchOperations(context.Context, *ListBatchOperationsRequest) (*ListBatchOperationsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListBatchOperations not implemented") +} +func (UnimplementedWorkflowServiceServer) PollNexusTaskQueue(context.Context, *PollNexusTaskQueueRequest) (*PollNexusTaskQueueResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PollNexusTaskQueue not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondNexusTaskCompleted(context.Context, *RespondNexusTaskCompletedRequest) (*RespondNexusTaskCompletedResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondNexusTaskCompleted not implemented") +} +func (UnimplementedWorkflowServiceServer) RespondNexusTaskFailed(context.Context, *RespondNexusTaskFailedRequest) (*RespondNexusTaskFailedResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RespondNexusTaskFailed not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateActivityOptions(context.Context, *UpdateActivityOptionsRequest) (*UpdateActivityOptionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateActivityOptions not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateWorkflowExecutionOptions(context.Context, *UpdateWorkflowExecutionOptionsRequest) (*UpdateWorkflowExecutionOptionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateWorkflowExecutionOptions not implemented") +} +func (UnimplementedWorkflowServiceServer) PauseActivity(context.Context, *PauseActivityRequest) (*PauseActivityResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PauseActivity not implemented") +} +func (UnimplementedWorkflowServiceServer) UnpauseActivity(context.Context, *UnpauseActivityRequest) (*UnpauseActivityResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UnpauseActivity not implemented") +} +func (UnimplementedWorkflowServiceServer) ResetActivity(context.Context, *ResetActivityRequest) (*ResetActivityResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ResetActivity not implemented") +} +func (UnimplementedWorkflowServiceServer) CreateWorkflowRule(context.Context, *CreateWorkflowRuleRequest) (*CreateWorkflowRuleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CreateWorkflowRule not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeWorkflowRule(context.Context, *DescribeWorkflowRuleRequest) (*DescribeWorkflowRuleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeWorkflowRule not implemented") +} +func (UnimplementedWorkflowServiceServer) DeleteWorkflowRule(context.Context, *DeleteWorkflowRuleRequest) (*DeleteWorkflowRuleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteWorkflowRule not implemented") +} +func (UnimplementedWorkflowServiceServer) ListWorkflowRules(context.Context, *ListWorkflowRulesRequest) (*ListWorkflowRulesResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListWorkflowRules not implemented") +} +func (UnimplementedWorkflowServiceServer) TriggerWorkflowRule(context.Context, *TriggerWorkflowRuleRequest) (*TriggerWorkflowRuleResponse, error) { + return nil, status.Error(codes.Unimplemented, "method TriggerWorkflowRule not implemented") +} +func (UnimplementedWorkflowServiceServer) RecordWorkerHeartbeat(context.Context, *RecordWorkerHeartbeatRequest) (*RecordWorkerHeartbeatResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RecordWorkerHeartbeat not implemented") +} +func (UnimplementedWorkflowServiceServer) ListWorkers(context.Context, *ListWorkersRequest) (*ListWorkersResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListWorkers not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateTaskQueueConfig(context.Context, *UpdateTaskQueueConfigRequest) (*UpdateTaskQueueConfigResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateTaskQueueConfig not implemented") +} +func (UnimplementedWorkflowServiceServer) FetchWorkerConfig(context.Context, *FetchWorkerConfigRequest) (*FetchWorkerConfigResponse, error) { + return nil, status.Error(codes.Unimplemented, "method FetchWorkerConfig not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateWorkerConfig(context.Context, *UpdateWorkerConfigRequest) (*UpdateWorkerConfigResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateWorkerConfig not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeWorker(context.Context, *DescribeWorkerRequest) (*DescribeWorkerResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeWorker not implemented") +} +func (UnimplementedWorkflowServiceServer) PauseWorkflowExecution(context.Context, *PauseWorkflowExecutionRequest) (*PauseWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PauseWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) UnpauseWorkflowExecution(context.Context, *UnpauseWorkflowExecutionRequest) (*UnpauseWorkflowExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UnpauseWorkflowExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) StartActivityExecution(context.Context, *StartActivityExecutionRequest) (*StartActivityExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method StartActivityExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) StartNexusOperationExecution(context.Context, *StartNexusOperationExecutionRequest) (*StartNexusOperationExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method StartNexusOperationExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeActivityExecution(context.Context, *DescribeActivityExecutionRequest) (*DescribeActivityExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeActivityExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) DescribeNexusOperationExecution(context.Context, *DescribeNexusOperationExecutionRequest) (*DescribeNexusOperationExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DescribeNexusOperationExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) PollActivityExecution(context.Context, *PollActivityExecutionRequest) (*PollActivityExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PollActivityExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) PollNexusOperationExecution(context.Context, *PollNexusOperationExecutionRequest) (*PollNexusOperationExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PollNexusOperationExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) ListActivityExecutions(context.Context, *ListActivityExecutionsRequest) (*ListActivityExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListActivityExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) ListNexusOperationExecutions(context.Context, *ListNexusOperationExecutionsRequest) (*ListNexusOperationExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ListNexusOperationExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) CountActivityExecutions(context.Context, *CountActivityExecutionsRequest) (*CountActivityExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CountActivityExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) CountNexusOperationExecutions(context.Context, *CountNexusOperationExecutionsRequest) (*CountNexusOperationExecutionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method CountNexusOperationExecutions not implemented") +} +func (UnimplementedWorkflowServiceServer) RequestCancelActivityExecution(context.Context, *RequestCancelActivityExecutionRequest) (*RequestCancelActivityExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RequestCancelActivityExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) RequestCancelNexusOperationExecution(context.Context, *RequestCancelNexusOperationExecutionRequest) (*RequestCancelNexusOperationExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method RequestCancelNexusOperationExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) TerminateActivityExecution(context.Context, *TerminateActivityExecutionRequest) (*TerminateActivityExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method TerminateActivityExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) DeleteActivityExecution(context.Context, *DeleteActivityExecutionRequest) (*DeleteActivityExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteActivityExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) PauseActivityExecution(context.Context, *PauseActivityExecutionRequest) (*PauseActivityExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method PauseActivityExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) ResetActivityExecution(context.Context, *ResetActivityExecutionRequest) (*ResetActivityExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method ResetActivityExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) UnpauseActivityExecution(context.Context, *UnpauseActivityExecutionRequest) (*UnpauseActivityExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UnpauseActivityExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) UpdateActivityExecutionOptions(context.Context, *UpdateActivityExecutionOptionsRequest) (*UpdateActivityExecutionOptionsResponse, error) { + return nil, status.Error(codes.Unimplemented, "method UpdateActivityExecutionOptions not implemented") +} +func (UnimplementedWorkflowServiceServer) TerminateNexusOperationExecution(context.Context, *TerminateNexusOperationExecutionRequest) (*TerminateNexusOperationExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method TerminateNexusOperationExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) DeleteNexusOperationExecution(context.Context, *DeleteNexusOperationExecutionRequest) (*DeleteNexusOperationExecutionResponse, error) { + return nil, status.Error(codes.Unimplemented, "method DeleteNexusOperationExecution not implemented") +} +func (UnimplementedWorkflowServiceServer) mustEmbedUnimplementedWorkflowServiceServer() {} +func (UnimplementedWorkflowServiceServer) testEmbeddedByValue() {} + +// UnsafeWorkflowServiceServer may be embedded to opt out of forward compatibility for this service. +// Use of this interface is not recommended, as added methods to WorkflowServiceServer will +// result in compilation errors. +type UnsafeWorkflowServiceServer interface { + mustEmbedUnimplementedWorkflowServiceServer() +} + +func RegisterWorkflowServiceServer(s grpc.ServiceRegistrar, srv WorkflowServiceServer) { + // If the following call panics, it indicates UnimplementedWorkflowServiceServer was + // embedded by pointer and is nil. This will cause panics if an + // unimplemented method is ever invoked, so we test this at initialization + // time to prevent it from happening at runtime later due to I/O. + if t, ok := srv.(interface{ testEmbeddedByValue() }); ok { + t.testEmbeddedByValue() + } + s.RegisterService(&WorkflowService_ServiceDesc, srv) +} + +func _WorkflowService_RegisterNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RegisterNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RegisterNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RegisterNamespace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RegisterNamespace(ctx, req.(*RegisterNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeNamespace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeNamespace(ctx, req.(*DescribeNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListNamespaces_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNamespacesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListNamespaces(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListNamespaces_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListNamespaces(ctx, req.(*ListNamespacesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateNamespace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateNamespace(ctx, req.(*UpdateNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DeprecateNamespace_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeprecateNamespaceRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DeprecateNamespace(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DeprecateNamespace_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DeprecateNamespace(ctx, req.(*DeprecateNamespaceRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_Echo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(EchoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).Echo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_Echo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).Echo(ctx, req.(*EchoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_StartWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StartWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).StartWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_StartWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).StartWorkflowExecution(ctx, req.(*StartWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ExecuteMultiOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ExecuteMultiOperationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ExecuteMultiOperation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ExecuteMultiOperation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ExecuteMultiOperation(ctx, req.(*ExecuteMultiOperationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetWorkflowExecutionHistory_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkflowExecutionHistoryRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetWorkflowExecutionHistory(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetWorkflowExecutionHistory_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetWorkflowExecutionHistory(ctx, req.(*GetWorkflowExecutionHistoryRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetWorkflowExecutionHistoryReverse_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkflowExecutionHistoryReverseRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetWorkflowExecutionHistoryReverse(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetWorkflowExecutionHistoryReverse_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetWorkflowExecutionHistoryReverse(ctx, req.(*GetWorkflowExecutionHistoryReverseRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PollWorkflowTaskQueue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PollWorkflowTaskQueueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PollWorkflowTaskQueue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PollWorkflowTaskQueue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PollWorkflowTaskQueue(ctx, req.(*PollWorkflowTaskQueueRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondWorkflowTaskCompleted_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondWorkflowTaskCompletedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondWorkflowTaskCompleted(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondWorkflowTaskCompleted_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondWorkflowTaskCompleted(ctx, req.(*RespondWorkflowTaskCompletedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondWorkflowTaskFailed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondWorkflowTaskFailedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondWorkflowTaskFailed(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondWorkflowTaskFailed_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondWorkflowTaskFailed(ctx, req.(*RespondWorkflowTaskFailedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PollActivityTaskQueue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PollActivityTaskQueueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PollActivityTaskQueue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PollActivityTaskQueue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PollActivityTaskQueue(ctx, req.(*PollActivityTaskQueueRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RecordActivityTaskHeartbeat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RecordActivityTaskHeartbeatRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RecordActivityTaskHeartbeat(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RecordActivityTaskHeartbeat_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RecordActivityTaskHeartbeat(ctx, req.(*RecordActivityTaskHeartbeatRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RecordActivityTaskHeartbeatById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RecordActivityTaskHeartbeatByIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RecordActivityTaskHeartbeatById(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RecordActivityTaskHeartbeatById_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RecordActivityTaskHeartbeatById(ctx, req.(*RecordActivityTaskHeartbeatByIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondActivityTaskCompleted_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondActivityTaskCompletedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondActivityTaskCompleted(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondActivityTaskCompleted_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondActivityTaskCompleted(ctx, req.(*RespondActivityTaskCompletedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondActivityTaskCompletedById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondActivityTaskCompletedByIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondActivityTaskCompletedById(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondActivityTaskCompletedById_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondActivityTaskCompletedById(ctx, req.(*RespondActivityTaskCompletedByIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondActivityTaskFailed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondActivityTaskFailedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondActivityTaskFailed(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondActivityTaskFailed_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondActivityTaskFailed(ctx, req.(*RespondActivityTaskFailedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondActivityTaskFailedById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondActivityTaskFailedByIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondActivityTaskFailedById(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondActivityTaskFailedById_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondActivityTaskFailedById(ctx, req.(*RespondActivityTaskFailedByIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondActivityTaskCanceled_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondActivityTaskCanceledRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondActivityTaskCanceled(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondActivityTaskCanceled_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondActivityTaskCanceled(ctx, req.(*RespondActivityTaskCanceledRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondActivityTaskCanceledById_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondActivityTaskCanceledByIdRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondActivityTaskCanceledById(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondActivityTaskCanceledById_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondActivityTaskCanceledById(ctx, req.(*RespondActivityTaskCanceledByIdRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RequestCancelWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestCancelWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RequestCancelWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RequestCancelWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RequestCancelWorkflowExecution(ctx, req.(*RequestCancelWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_SignalWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SignalWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).SignalWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_SignalWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).SignalWorkflowExecution(ctx, req.(*SignalWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_SignalWithStartWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SignalWithStartWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).SignalWithStartWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_SignalWithStartWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).SignalWithStartWorkflowExecution(ctx, req.(*SignalWithStartWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ResetWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ResetWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ResetWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ResetWorkflowExecution(ctx, req.(*ResetWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_TerminateWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TerminateWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).TerminateWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_TerminateWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).TerminateWorkflowExecution(ctx, req.(*TerminateWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DeleteWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DeleteWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DeleteWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DeleteWorkflowExecution(ctx, req.(*DeleteWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListOpenWorkflowExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListOpenWorkflowExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListOpenWorkflowExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListOpenWorkflowExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListOpenWorkflowExecutions(ctx, req.(*ListOpenWorkflowExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListClosedWorkflowExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListClosedWorkflowExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListClosedWorkflowExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListClosedWorkflowExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListClosedWorkflowExecutions(ctx, req.(*ListClosedWorkflowExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListWorkflowExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListWorkflowExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListWorkflowExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListWorkflowExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListWorkflowExecutions(ctx, req.(*ListWorkflowExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListArchivedWorkflowExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListArchivedWorkflowExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListArchivedWorkflowExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListArchivedWorkflowExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListArchivedWorkflowExecutions(ctx, req.(*ListArchivedWorkflowExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ScanWorkflowExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ScanWorkflowExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ScanWorkflowExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ScanWorkflowExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ScanWorkflowExecutions(ctx, req.(*ScanWorkflowExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_CountWorkflowExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountWorkflowExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).CountWorkflowExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_CountWorkflowExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).CountWorkflowExecutions(ctx, req.(*CountWorkflowExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetSearchAttributes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSearchAttributesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetSearchAttributes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetSearchAttributes_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetSearchAttributes(ctx, req.(*GetSearchAttributesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondQueryTaskCompleted_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondQueryTaskCompletedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondQueryTaskCompleted(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondQueryTaskCompleted_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondQueryTaskCompleted(ctx, req.(*RespondQueryTaskCompletedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ResetStickyTaskQueue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetStickyTaskQueueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ResetStickyTaskQueue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ResetStickyTaskQueue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ResetStickyTaskQueue(ctx, req.(*ResetStickyTaskQueueRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ShutdownWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ShutdownWorkerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ShutdownWorker(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ShutdownWorker_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ShutdownWorker(ctx, req.(*ShutdownWorkerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_QueryWorkflow_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(QueryWorkflowRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).QueryWorkflow(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_QueryWorkflow_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).QueryWorkflow(ctx, req.(*QueryWorkflowRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeWorkflowExecution(ctx, req.(*DescribeWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeTaskQueue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeTaskQueueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeTaskQueue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeTaskQueue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeTaskQueue(ctx, req.(*DescribeTaskQueueRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetClusterInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetClusterInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetClusterInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetClusterInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetClusterInfo(ctx, req.(*GetClusterInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetSystemInfo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetSystemInfoRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetSystemInfo(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetSystemInfo_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetSystemInfo(ctx, req.(*GetSystemInfoRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListTaskQueuePartitions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListTaskQueuePartitionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListTaskQueuePartitions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListTaskQueuePartitions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListTaskQueuePartitions(ctx, req.(*ListTaskQueuePartitionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_CreateSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).CreateSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_CreateSchedule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).CreateSchedule(ctx, req.(*CreateScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeSchedule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeSchedule(ctx, req.(*DescribeScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateSchedule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateSchedule(ctx, req.(*UpdateScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PatchSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PatchScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PatchSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PatchSchedule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PatchSchedule(ctx, req.(*PatchScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListScheduleMatchingTimes_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListScheduleMatchingTimesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListScheduleMatchingTimes(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListScheduleMatchingTimes_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListScheduleMatchingTimes(ctx, req.(*ListScheduleMatchingTimesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DeleteSchedule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteScheduleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DeleteSchedule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DeleteSchedule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DeleteSchedule(ctx, req.(*DeleteScheduleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListSchedules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListSchedulesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListSchedules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListSchedules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListSchedules(ctx, req.(*ListSchedulesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_CountSchedules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountSchedulesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).CountSchedules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_CountSchedules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).CountSchedules(ctx, req.(*CountSchedulesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateWorkerBuildIdCompatibility_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkerBuildIdCompatibilityRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateWorkerBuildIdCompatibility(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateWorkerBuildIdCompatibility_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateWorkerBuildIdCompatibility(ctx, req.(*UpdateWorkerBuildIdCompatibilityRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetWorkerBuildIdCompatibility_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkerBuildIdCompatibilityRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetWorkerBuildIdCompatibility(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetWorkerBuildIdCompatibility_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetWorkerBuildIdCompatibility(ctx, req.(*GetWorkerBuildIdCompatibilityRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateWorkerVersioningRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkerVersioningRulesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateWorkerVersioningRules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateWorkerVersioningRules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateWorkerVersioningRules(ctx, req.(*UpdateWorkerVersioningRulesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetWorkerVersioningRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkerVersioningRulesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetWorkerVersioningRules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetWorkerVersioningRules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetWorkerVersioningRules(ctx, req.(*GetWorkerVersioningRulesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetWorkerTaskReachability_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetWorkerTaskReachabilityRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetWorkerTaskReachability(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetWorkerTaskReachability_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetWorkerTaskReachability(ctx, req.(*GetWorkerTaskReachabilityRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeDeployment(ctx, req.(*DescribeDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeWorkerDeploymentVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeWorkerDeploymentVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeWorkerDeploymentVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeWorkerDeploymentVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeWorkerDeploymentVersion(ctx, req.(*DescribeWorkerDeploymentVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListDeploymentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListDeployments(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListDeployments_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListDeployments(ctx, req.(*ListDeploymentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetDeploymentReachability_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetDeploymentReachabilityRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetDeploymentReachability(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetDeploymentReachability_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetDeploymentReachability(ctx, req.(*GetDeploymentReachabilityRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_GetCurrentDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(GetCurrentDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).GetCurrentDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_GetCurrentDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).GetCurrentDeployment(ctx, req.(*GetCurrentDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_SetCurrentDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetCurrentDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).SetCurrentDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_SetCurrentDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).SetCurrentDeployment(ctx, req.(*SetCurrentDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_SetWorkerDeploymentCurrentVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetWorkerDeploymentCurrentVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).SetWorkerDeploymentCurrentVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_SetWorkerDeploymentCurrentVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).SetWorkerDeploymentCurrentVersion(ctx, req.(*SetWorkerDeploymentCurrentVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeWorkerDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeWorkerDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeWorkerDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeWorkerDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeWorkerDeployment(ctx, req.(*DescribeWorkerDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DeleteWorkerDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteWorkerDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DeleteWorkerDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DeleteWorkerDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DeleteWorkerDeployment(ctx, req.(*DeleteWorkerDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DeleteWorkerDeploymentVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteWorkerDeploymentVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DeleteWorkerDeploymentVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DeleteWorkerDeploymentVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DeleteWorkerDeploymentVersion(ctx, req.(*DeleteWorkerDeploymentVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_SetWorkerDeploymentRampingVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetWorkerDeploymentRampingVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).SetWorkerDeploymentRampingVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_SetWorkerDeploymentRampingVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).SetWorkerDeploymentRampingVersion(ctx, req.(*SetWorkerDeploymentRampingVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListWorkerDeployments_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListWorkerDeploymentsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListWorkerDeployments(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListWorkerDeployments_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListWorkerDeployments(ctx, req.(*ListWorkerDeploymentsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_CreateWorkerDeployment_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateWorkerDeploymentRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).CreateWorkerDeployment(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_CreateWorkerDeployment_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).CreateWorkerDeployment(ctx, req.(*CreateWorkerDeploymentRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_CreateWorkerDeploymentVersion_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateWorkerDeploymentVersionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).CreateWorkerDeploymentVersion(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_CreateWorkerDeploymentVersion_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).CreateWorkerDeploymentVersion(ctx, req.(*CreateWorkerDeploymentVersionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkerDeploymentVersionComputeConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateWorkerDeploymentVersionComputeConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateWorkerDeploymentVersionComputeConfig(ctx, req.(*UpdateWorkerDeploymentVersionComputeConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ValidateWorkerDeploymentVersionComputeConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ValidateWorkerDeploymentVersionComputeConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ValidateWorkerDeploymentVersionComputeConfig(ctx, req.(*ValidateWorkerDeploymentVersionComputeConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateWorkerDeploymentVersionMetadata_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkerDeploymentVersionMetadataRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateWorkerDeploymentVersionMetadata(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateWorkerDeploymentVersionMetadata_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateWorkerDeploymentVersionMetadata(ctx, req.(*UpdateWorkerDeploymentVersionMetadataRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_SetWorkerDeploymentManager_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(SetWorkerDeploymentManagerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).SetWorkerDeploymentManager(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_SetWorkerDeploymentManager_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).SetWorkerDeploymentManager(ctx, req.(*SetWorkerDeploymentManagerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateWorkflowExecution(ctx, req.(*UpdateWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PollWorkflowExecutionUpdate_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PollWorkflowExecutionUpdateRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PollWorkflowExecutionUpdate(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PollWorkflowExecutionUpdate_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PollWorkflowExecutionUpdate(ctx, req.(*PollWorkflowExecutionUpdateRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_StartBatchOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StartBatchOperationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).StartBatchOperation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_StartBatchOperation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).StartBatchOperation(ctx, req.(*StartBatchOperationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_StopBatchOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StopBatchOperationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).StopBatchOperation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_StopBatchOperation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).StopBatchOperation(ctx, req.(*StopBatchOperationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeBatchOperation_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeBatchOperationRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeBatchOperation(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeBatchOperation_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeBatchOperation(ctx, req.(*DescribeBatchOperationRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListBatchOperations_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListBatchOperationsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListBatchOperations(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListBatchOperations_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListBatchOperations(ctx, req.(*ListBatchOperationsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PollNexusTaskQueue_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PollNexusTaskQueueRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PollNexusTaskQueue(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PollNexusTaskQueue_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PollNexusTaskQueue(ctx, req.(*PollNexusTaskQueueRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondNexusTaskCompleted_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondNexusTaskCompletedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondNexusTaskCompleted(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondNexusTaskCompleted_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondNexusTaskCompleted(ctx, req.(*RespondNexusTaskCompletedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RespondNexusTaskFailed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RespondNexusTaskFailedRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RespondNexusTaskFailed(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RespondNexusTaskFailed_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RespondNexusTaskFailed(ctx, req.(*RespondNexusTaskFailedRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateActivityOptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateActivityOptionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateActivityOptions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateActivityOptions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateActivityOptions(ctx, req.(*UpdateActivityOptionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateWorkflowExecutionOptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkflowExecutionOptionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateWorkflowExecutionOptions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateWorkflowExecutionOptions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateWorkflowExecutionOptions(ctx, req.(*UpdateWorkflowExecutionOptionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PauseActivity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PauseActivityRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PauseActivity(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PauseActivity_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PauseActivity(ctx, req.(*PauseActivityRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UnpauseActivity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnpauseActivityRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UnpauseActivity(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UnpauseActivity_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UnpauseActivity(ctx, req.(*UnpauseActivityRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ResetActivity_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetActivityRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ResetActivity(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ResetActivity_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ResetActivity(ctx, req.(*ResetActivityRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_CreateWorkflowRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CreateWorkflowRuleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).CreateWorkflowRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_CreateWorkflowRule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).CreateWorkflowRule(ctx, req.(*CreateWorkflowRuleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeWorkflowRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeWorkflowRuleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeWorkflowRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeWorkflowRule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeWorkflowRule(ctx, req.(*DescribeWorkflowRuleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DeleteWorkflowRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteWorkflowRuleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DeleteWorkflowRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DeleteWorkflowRule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DeleteWorkflowRule(ctx, req.(*DeleteWorkflowRuleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListWorkflowRules_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListWorkflowRulesRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListWorkflowRules(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListWorkflowRules_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListWorkflowRules(ctx, req.(*ListWorkflowRulesRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_TriggerWorkflowRule_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TriggerWorkflowRuleRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).TriggerWorkflowRule(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_TriggerWorkflowRule_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).TriggerWorkflowRule(ctx, req.(*TriggerWorkflowRuleRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RecordWorkerHeartbeat_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RecordWorkerHeartbeatRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RecordWorkerHeartbeat(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RecordWorkerHeartbeat_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RecordWorkerHeartbeat(ctx, req.(*RecordWorkerHeartbeatRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListWorkers_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListWorkersRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListWorkers(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListWorkers_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListWorkers(ctx, req.(*ListWorkersRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateTaskQueueConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateTaskQueueConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateTaskQueueConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateTaskQueueConfig_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateTaskQueueConfig(ctx, req.(*UpdateTaskQueueConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_FetchWorkerConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(FetchWorkerConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).FetchWorkerConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_FetchWorkerConfig_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).FetchWorkerConfig(ctx, req.(*FetchWorkerConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateWorkerConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateWorkerConfigRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateWorkerConfig(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateWorkerConfig_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateWorkerConfig(ctx, req.(*UpdateWorkerConfigRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeWorker_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeWorkerRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeWorker(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeWorker_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeWorker(ctx, req.(*DescribeWorkerRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PauseWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PauseWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PauseWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PauseWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PauseWorkflowExecution(ctx, req.(*PauseWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UnpauseWorkflowExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnpauseWorkflowExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UnpauseWorkflowExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UnpauseWorkflowExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UnpauseWorkflowExecution(ctx, req.(*UnpauseWorkflowExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_StartActivityExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StartActivityExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).StartActivityExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_StartActivityExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).StartActivityExecution(ctx, req.(*StartActivityExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_StartNexusOperationExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(StartNexusOperationExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).StartNexusOperationExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_StartNexusOperationExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).StartNexusOperationExecution(ctx, req.(*StartNexusOperationExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeActivityExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeActivityExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeActivityExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeActivityExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeActivityExecution(ctx, req.(*DescribeActivityExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DescribeNexusOperationExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DescribeNexusOperationExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DescribeNexusOperationExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DescribeNexusOperationExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DescribeNexusOperationExecution(ctx, req.(*DescribeNexusOperationExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PollActivityExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PollActivityExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PollActivityExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PollActivityExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PollActivityExecution(ctx, req.(*PollActivityExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PollNexusOperationExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PollNexusOperationExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PollNexusOperationExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PollNexusOperationExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PollNexusOperationExecution(ctx, req.(*PollNexusOperationExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListActivityExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListActivityExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListActivityExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListActivityExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListActivityExecutions(ctx, req.(*ListActivityExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ListNexusOperationExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ListNexusOperationExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ListNexusOperationExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ListNexusOperationExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ListNexusOperationExecutions(ctx, req.(*ListNexusOperationExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_CountActivityExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountActivityExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).CountActivityExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_CountActivityExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).CountActivityExecutions(ctx, req.(*CountActivityExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_CountNexusOperationExecutions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(CountNexusOperationExecutionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).CountNexusOperationExecutions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_CountNexusOperationExecutions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).CountNexusOperationExecutions(ctx, req.(*CountNexusOperationExecutionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RequestCancelActivityExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestCancelActivityExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RequestCancelActivityExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RequestCancelActivityExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RequestCancelActivityExecution(ctx, req.(*RequestCancelActivityExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_RequestCancelNexusOperationExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(RequestCancelNexusOperationExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).RequestCancelNexusOperationExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_RequestCancelNexusOperationExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).RequestCancelNexusOperationExecution(ctx, req.(*RequestCancelNexusOperationExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_TerminateActivityExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TerminateActivityExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).TerminateActivityExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_TerminateActivityExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).TerminateActivityExecution(ctx, req.(*TerminateActivityExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DeleteActivityExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteActivityExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DeleteActivityExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DeleteActivityExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DeleteActivityExecution(ctx, req.(*DeleteActivityExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_PauseActivityExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(PauseActivityExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).PauseActivityExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_PauseActivityExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).PauseActivityExecution(ctx, req.(*PauseActivityExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_ResetActivityExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(ResetActivityExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).ResetActivityExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_ResetActivityExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).ResetActivityExecution(ctx, req.(*ResetActivityExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UnpauseActivityExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UnpauseActivityExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UnpauseActivityExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UnpauseActivityExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UnpauseActivityExecution(ctx, req.(*UnpauseActivityExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_UpdateActivityExecutionOptions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(UpdateActivityExecutionOptionsRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).UpdateActivityExecutionOptions(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_UpdateActivityExecutionOptions_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).UpdateActivityExecutionOptions(ctx, req.(*UpdateActivityExecutionOptionsRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_TerminateNexusOperationExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(TerminateNexusOperationExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).TerminateNexusOperationExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_TerminateNexusOperationExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).TerminateNexusOperationExecution(ctx, req.(*TerminateNexusOperationExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +func _WorkflowService_DeleteNexusOperationExecution_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(DeleteNexusOperationExecutionRequest) + if err := dec(in); err != nil { + return nil, err + } + if interceptor == nil { + return srv.(WorkflowServiceServer).DeleteNexusOperationExecution(ctx, in) + } + info := &grpc.UnaryServerInfo{ + Server: srv, + FullMethod: WorkflowService_DeleteNexusOperationExecution_FullMethodName, + } + handler := func(ctx context.Context, req interface{}) (interface{}, error) { + return srv.(WorkflowServiceServer).DeleteNexusOperationExecution(ctx, req.(*DeleteNexusOperationExecutionRequest)) + } + return interceptor(ctx, in, info, handler) +} + +// WorkflowService_ServiceDesc is the grpc.ServiceDesc for WorkflowService service. +// It's only intended for direct use with grpc.RegisterService, +// and not to be introspected or modified (even as a copy) +var WorkflowService_ServiceDesc = grpc.ServiceDesc{ + ServiceName: "temporal.api.workflowservice.v1.WorkflowService", + HandlerType: (*WorkflowServiceServer)(nil), + Methods: []grpc.MethodDesc{ + { + MethodName: "RegisterNamespace", + Handler: _WorkflowService_RegisterNamespace_Handler, + }, + { + MethodName: "DescribeNamespace", + Handler: _WorkflowService_DescribeNamespace_Handler, + }, + { + MethodName: "ListNamespaces", + Handler: _WorkflowService_ListNamespaces_Handler, + }, + { + MethodName: "UpdateNamespace", + Handler: _WorkflowService_UpdateNamespace_Handler, + }, + { + MethodName: "DeprecateNamespace", + Handler: _WorkflowService_DeprecateNamespace_Handler, + }, + { + MethodName: "Echo", + Handler: _WorkflowService_Echo_Handler, + }, + { + MethodName: "StartWorkflowExecution", + Handler: _WorkflowService_StartWorkflowExecution_Handler, + }, + { + MethodName: "ExecuteMultiOperation", + Handler: _WorkflowService_ExecuteMultiOperation_Handler, + }, + { + MethodName: "GetWorkflowExecutionHistory", + Handler: _WorkflowService_GetWorkflowExecutionHistory_Handler, + }, + { + MethodName: "GetWorkflowExecutionHistoryReverse", + Handler: _WorkflowService_GetWorkflowExecutionHistoryReverse_Handler, + }, + { + MethodName: "PollWorkflowTaskQueue", + Handler: _WorkflowService_PollWorkflowTaskQueue_Handler, + }, + { + MethodName: "RespondWorkflowTaskCompleted", + Handler: _WorkflowService_RespondWorkflowTaskCompleted_Handler, + }, + { + MethodName: "RespondWorkflowTaskFailed", + Handler: _WorkflowService_RespondWorkflowTaskFailed_Handler, + }, + { + MethodName: "PollActivityTaskQueue", + Handler: _WorkflowService_PollActivityTaskQueue_Handler, + }, + { + MethodName: "RecordActivityTaskHeartbeat", + Handler: _WorkflowService_RecordActivityTaskHeartbeat_Handler, + }, + { + MethodName: "RecordActivityTaskHeartbeatById", + Handler: _WorkflowService_RecordActivityTaskHeartbeatById_Handler, + }, + { + MethodName: "RespondActivityTaskCompleted", + Handler: _WorkflowService_RespondActivityTaskCompleted_Handler, + }, + { + MethodName: "RespondActivityTaskCompletedById", + Handler: _WorkflowService_RespondActivityTaskCompletedById_Handler, + }, + { + MethodName: "RespondActivityTaskFailed", + Handler: _WorkflowService_RespondActivityTaskFailed_Handler, + }, + { + MethodName: "RespondActivityTaskFailedById", + Handler: _WorkflowService_RespondActivityTaskFailedById_Handler, + }, + { + MethodName: "RespondActivityTaskCanceled", + Handler: _WorkflowService_RespondActivityTaskCanceled_Handler, + }, + { + MethodName: "RespondActivityTaskCanceledById", + Handler: _WorkflowService_RespondActivityTaskCanceledById_Handler, + }, + { + MethodName: "RequestCancelWorkflowExecution", + Handler: _WorkflowService_RequestCancelWorkflowExecution_Handler, + }, + { + MethodName: "SignalWorkflowExecution", + Handler: _WorkflowService_SignalWorkflowExecution_Handler, + }, + { + MethodName: "SignalWithStartWorkflowExecution", + Handler: _WorkflowService_SignalWithStartWorkflowExecution_Handler, + }, + { + MethodName: "ResetWorkflowExecution", + Handler: _WorkflowService_ResetWorkflowExecution_Handler, + }, + { + MethodName: "TerminateWorkflowExecution", + Handler: _WorkflowService_TerminateWorkflowExecution_Handler, + }, + { + MethodName: "DeleteWorkflowExecution", + Handler: _WorkflowService_DeleteWorkflowExecution_Handler, + }, + { + MethodName: "ListOpenWorkflowExecutions", + Handler: _WorkflowService_ListOpenWorkflowExecutions_Handler, + }, + { + MethodName: "ListClosedWorkflowExecutions", + Handler: _WorkflowService_ListClosedWorkflowExecutions_Handler, + }, + { + MethodName: "ListWorkflowExecutions", + Handler: _WorkflowService_ListWorkflowExecutions_Handler, + }, + { + MethodName: "ListArchivedWorkflowExecutions", + Handler: _WorkflowService_ListArchivedWorkflowExecutions_Handler, + }, + { + MethodName: "ScanWorkflowExecutions", + Handler: _WorkflowService_ScanWorkflowExecutions_Handler, + }, + { + MethodName: "CountWorkflowExecutions", + Handler: _WorkflowService_CountWorkflowExecutions_Handler, + }, + { + MethodName: "GetSearchAttributes", + Handler: _WorkflowService_GetSearchAttributes_Handler, + }, + { + MethodName: "RespondQueryTaskCompleted", + Handler: _WorkflowService_RespondQueryTaskCompleted_Handler, + }, + { + MethodName: "ResetStickyTaskQueue", + Handler: _WorkflowService_ResetStickyTaskQueue_Handler, + }, + { + MethodName: "ShutdownWorker", + Handler: _WorkflowService_ShutdownWorker_Handler, + }, + { + MethodName: "QueryWorkflow", + Handler: _WorkflowService_QueryWorkflow_Handler, + }, + { + MethodName: "DescribeWorkflowExecution", + Handler: _WorkflowService_DescribeWorkflowExecution_Handler, + }, + { + MethodName: "DescribeTaskQueue", + Handler: _WorkflowService_DescribeTaskQueue_Handler, + }, + { + MethodName: "GetClusterInfo", + Handler: _WorkflowService_GetClusterInfo_Handler, + }, + { + MethodName: "GetSystemInfo", + Handler: _WorkflowService_GetSystemInfo_Handler, + }, + { + MethodName: "ListTaskQueuePartitions", + Handler: _WorkflowService_ListTaskQueuePartitions_Handler, + }, + { + MethodName: "CreateSchedule", + Handler: _WorkflowService_CreateSchedule_Handler, + }, + { + MethodName: "DescribeSchedule", + Handler: _WorkflowService_DescribeSchedule_Handler, + }, + { + MethodName: "UpdateSchedule", + Handler: _WorkflowService_UpdateSchedule_Handler, + }, + { + MethodName: "PatchSchedule", + Handler: _WorkflowService_PatchSchedule_Handler, + }, + { + MethodName: "ListScheduleMatchingTimes", + Handler: _WorkflowService_ListScheduleMatchingTimes_Handler, + }, + { + MethodName: "DeleteSchedule", + Handler: _WorkflowService_DeleteSchedule_Handler, + }, + { + MethodName: "ListSchedules", + Handler: _WorkflowService_ListSchedules_Handler, + }, + { + MethodName: "CountSchedules", + Handler: _WorkflowService_CountSchedules_Handler, + }, + { + MethodName: "UpdateWorkerBuildIdCompatibility", + Handler: _WorkflowService_UpdateWorkerBuildIdCompatibility_Handler, + }, + { + MethodName: "GetWorkerBuildIdCompatibility", + Handler: _WorkflowService_GetWorkerBuildIdCompatibility_Handler, + }, + { + MethodName: "UpdateWorkerVersioningRules", + Handler: _WorkflowService_UpdateWorkerVersioningRules_Handler, + }, + { + MethodName: "GetWorkerVersioningRules", + Handler: _WorkflowService_GetWorkerVersioningRules_Handler, + }, + { + MethodName: "GetWorkerTaskReachability", + Handler: _WorkflowService_GetWorkerTaskReachability_Handler, + }, + { + MethodName: "DescribeDeployment", + Handler: _WorkflowService_DescribeDeployment_Handler, + }, + { + MethodName: "DescribeWorkerDeploymentVersion", + Handler: _WorkflowService_DescribeWorkerDeploymentVersion_Handler, + }, + { + MethodName: "ListDeployments", + Handler: _WorkflowService_ListDeployments_Handler, + }, + { + MethodName: "GetDeploymentReachability", + Handler: _WorkflowService_GetDeploymentReachability_Handler, + }, + { + MethodName: "GetCurrentDeployment", + Handler: _WorkflowService_GetCurrentDeployment_Handler, + }, + { + MethodName: "SetCurrentDeployment", + Handler: _WorkflowService_SetCurrentDeployment_Handler, + }, + { + MethodName: "SetWorkerDeploymentCurrentVersion", + Handler: _WorkflowService_SetWorkerDeploymentCurrentVersion_Handler, + }, + { + MethodName: "DescribeWorkerDeployment", + Handler: _WorkflowService_DescribeWorkerDeployment_Handler, + }, + { + MethodName: "DeleteWorkerDeployment", + Handler: _WorkflowService_DeleteWorkerDeployment_Handler, + }, + { + MethodName: "DeleteWorkerDeploymentVersion", + Handler: _WorkflowService_DeleteWorkerDeploymentVersion_Handler, + }, + { + MethodName: "SetWorkerDeploymentRampingVersion", + Handler: _WorkflowService_SetWorkerDeploymentRampingVersion_Handler, + }, + { + MethodName: "ListWorkerDeployments", + Handler: _WorkflowService_ListWorkerDeployments_Handler, + }, + { + MethodName: "CreateWorkerDeployment", + Handler: _WorkflowService_CreateWorkerDeployment_Handler, + }, + { + MethodName: "CreateWorkerDeploymentVersion", + Handler: _WorkflowService_CreateWorkerDeploymentVersion_Handler, + }, + { + MethodName: "UpdateWorkerDeploymentVersionComputeConfig", + Handler: _WorkflowService_UpdateWorkerDeploymentVersionComputeConfig_Handler, + }, + { + MethodName: "ValidateWorkerDeploymentVersionComputeConfig", + Handler: _WorkflowService_ValidateWorkerDeploymentVersionComputeConfig_Handler, + }, + { + MethodName: "UpdateWorkerDeploymentVersionMetadata", + Handler: _WorkflowService_UpdateWorkerDeploymentVersionMetadata_Handler, + }, + { + MethodName: "SetWorkerDeploymentManager", + Handler: _WorkflowService_SetWorkerDeploymentManager_Handler, + }, + { + MethodName: "UpdateWorkflowExecution", + Handler: _WorkflowService_UpdateWorkflowExecution_Handler, + }, + { + MethodName: "PollWorkflowExecutionUpdate", + Handler: _WorkflowService_PollWorkflowExecutionUpdate_Handler, + }, + { + MethodName: "StartBatchOperation", + Handler: _WorkflowService_StartBatchOperation_Handler, + }, + { + MethodName: "StopBatchOperation", + Handler: _WorkflowService_StopBatchOperation_Handler, + }, + { + MethodName: "DescribeBatchOperation", + Handler: _WorkflowService_DescribeBatchOperation_Handler, + }, + { + MethodName: "ListBatchOperations", + Handler: _WorkflowService_ListBatchOperations_Handler, + }, + { + MethodName: "PollNexusTaskQueue", + Handler: _WorkflowService_PollNexusTaskQueue_Handler, + }, + { + MethodName: "RespondNexusTaskCompleted", + Handler: _WorkflowService_RespondNexusTaskCompleted_Handler, + }, + { + MethodName: "RespondNexusTaskFailed", + Handler: _WorkflowService_RespondNexusTaskFailed_Handler, + }, + { + MethodName: "UpdateActivityOptions", + Handler: _WorkflowService_UpdateActivityOptions_Handler, + }, + { + MethodName: "UpdateWorkflowExecutionOptions", + Handler: _WorkflowService_UpdateWorkflowExecutionOptions_Handler, + }, + { + MethodName: "PauseActivity", + Handler: _WorkflowService_PauseActivity_Handler, + }, + { + MethodName: "UnpauseActivity", + Handler: _WorkflowService_UnpauseActivity_Handler, + }, + { + MethodName: "ResetActivity", + Handler: _WorkflowService_ResetActivity_Handler, + }, + { + MethodName: "CreateWorkflowRule", + Handler: _WorkflowService_CreateWorkflowRule_Handler, + }, + { + MethodName: "DescribeWorkflowRule", + Handler: _WorkflowService_DescribeWorkflowRule_Handler, + }, + { + MethodName: "DeleteWorkflowRule", + Handler: _WorkflowService_DeleteWorkflowRule_Handler, + }, + { + MethodName: "ListWorkflowRules", + Handler: _WorkflowService_ListWorkflowRules_Handler, + }, + { + MethodName: "TriggerWorkflowRule", + Handler: _WorkflowService_TriggerWorkflowRule_Handler, + }, + { + MethodName: "RecordWorkerHeartbeat", + Handler: _WorkflowService_RecordWorkerHeartbeat_Handler, + }, + { + MethodName: "ListWorkers", + Handler: _WorkflowService_ListWorkers_Handler, + }, + { + MethodName: "UpdateTaskQueueConfig", + Handler: _WorkflowService_UpdateTaskQueueConfig_Handler, + }, + { + MethodName: "FetchWorkerConfig", + Handler: _WorkflowService_FetchWorkerConfig_Handler, + }, + { + MethodName: "UpdateWorkerConfig", + Handler: _WorkflowService_UpdateWorkerConfig_Handler, + }, + { + MethodName: "DescribeWorker", + Handler: _WorkflowService_DescribeWorker_Handler, + }, + { + MethodName: "PauseWorkflowExecution", + Handler: _WorkflowService_PauseWorkflowExecution_Handler, + }, + { + MethodName: "UnpauseWorkflowExecution", + Handler: _WorkflowService_UnpauseWorkflowExecution_Handler, + }, + { + MethodName: "StartActivityExecution", + Handler: _WorkflowService_StartActivityExecution_Handler, + }, + { + MethodName: "StartNexusOperationExecution", + Handler: _WorkflowService_StartNexusOperationExecution_Handler, + }, + { + MethodName: "DescribeActivityExecution", + Handler: _WorkflowService_DescribeActivityExecution_Handler, + }, + { + MethodName: "DescribeNexusOperationExecution", + Handler: _WorkflowService_DescribeNexusOperationExecution_Handler, + }, + { + MethodName: "PollActivityExecution", + Handler: _WorkflowService_PollActivityExecution_Handler, + }, + { + MethodName: "PollNexusOperationExecution", + Handler: _WorkflowService_PollNexusOperationExecution_Handler, + }, + { + MethodName: "ListActivityExecutions", + Handler: _WorkflowService_ListActivityExecutions_Handler, + }, + { + MethodName: "ListNexusOperationExecutions", + Handler: _WorkflowService_ListNexusOperationExecutions_Handler, + }, + { + MethodName: "CountActivityExecutions", + Handler: _WorkflowService_CountActivityExecutions_Handler, + }, + { + MethodName: "CountNexusOperationExecutions", + Handler: _WorkflowService_CountNexusOperationExecutions_Handler, + }, + { + MethodName: "RequestCancelActivityExecution", + Handler: _WorkflowService_RequestCancelActivityExecution_Handler, + }, + { + MethodName: "RequestCancelNexusOperationExecution", + Handler: _WorkflowService_RequestCancelNexusOperationExecution_Handler, + }, + { + MethodName: "TerminateActivityExecution", + Handler: _WorkflowService_TerminateActivityExecution_Handler, + }, + { + MethodName: "DeleteActivityExecution", + Handler: _WorkflowService_DeleteActivityExecution_Handler, + }, + { + MethodName: "PauseActivityExecution", + Handler: _WorkflowService_PauseActivityExecution_Handler, + }, + { + MethodName: "ResetActivityExecution", + Handler: _WorkflowService_ResetActivityExecution_Handler, + }, + { + MethodName: "UnpauseActivityExecution", + Handler: _WorkflowService_UnpauseActivityExecution_Handler, + }, + { + MethodName: "UpdateActivityExecutionOptions", + Handler: _WorkflowService_UpdateActivityExecutionOptions_Handler, + }, + { + MethodName: "TerminateNexusOperationExecution", + Handler: _WorkflowService_TerminateNexusOperationExecution_Handler, + }, + { + MethodName: "DeleteNexusOperationExecution", + Handler: _WorkflowService_DeleteNexusOperationExecution_Handler, + }, + }, + Streams: []grpc.StreamDesc{}, + Metadata: "temporal/api/workflowservice/v1/service.proto", +} diff --git a/api_next/workflowservicemock/v1/service_grpc.pb.mock.go b/api_next/workflowservicemock/v1/service_grpc.pb.mock.go new file mode 100644 index 00000000..c491194f --- /dev/null +++ b/api_next/workflowservicemock/v1/service_grpc.pb.mock.go @@ -0,0 +1,4380 @@ +// Code generated by MockGen. DO NOT EDIT. +// Source: workflowservice/v1/service_grpc.pb.go + +// Package workflowservicemock is a generated GoMock package. +package workflowservicemock + +import ( + context "context" + reflect "reflect" + + gomock "github.com/golang/mock/gomock" + workflowservice "go.temporal.io/api/workflowservice/v1" + grpc "google.golang.org/grpc" +) + +// MockWorkflowServiceClient is a mock of WorkflowServiceClient interface. +type MockWorkflowServiceClient struct { + ctrl *gomock.Controller + recorder *MockWorkflowServiceClientMockRecorder +} + +// MockWorkflowServiceClientMockRecorder is the mock recorder for MockWorkflowServiceClient. +type MockWorkflowServiceClientMockRecorder struct { + mock *MockWorkflowServiceClient +} + +// NewMockWorkflowServiceClient creates a new mock instance. +func NewMockWorkflowServiceClient(ctrl *gomock.Controller) *MockWorkflowServiceClient { + mock := &MockWorkflowServiceClient{ctrl: ctrl} + mock.recorder = &MockWorkflowServiceClientMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkflowServiceClient) EXPECT() *MockWorkflowServiceClientMockRecorder { + return m.recorder +} + +// CountActivityExecutions mocks base method. +func (m *MockWorkflowServiceClient) CountActivityExecutions(ctx context.Context, in *workflowservice.CountActivityExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.CountActivityExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CountActivityExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.CountActivityExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CountActivityExecutions indicates an expected call of CountActivityExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) CountActivityExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountActivityExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).CountActivityExecutions), varargs...) +} + +// CountNexusOperationExecutions mocks base method. +func (m *MockWorkflowServiceClient) CountNexusOperationExecutions(ctx context.Context, in *workflowservice.CountNexusOperationExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.CountNexusOperationExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CountNexusOperationExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.CountNexusOperationExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CountNexusOperationExecutions indicates an expected call of CountNexusOperationExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) CountNexusOperationExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountNexusOperationExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).CountNexusOperationExecutions), varargs...) +} + +// CountSchedules mocks base method. +func (m *MockWorkflowServiceClient) CountSchedules(ctx context.Context, in *workflowservice.CountSchedulesRequest, opts ...grpc.CallOption) (*workflowservice.CountSchedulesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CountSchedules", varargs...) + ret0, _ := ret[0].(*workflowservice.CountSchedulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CountSchedules indicates an expected call of CountSchedules. +func (mr *MockWorkflowServiceClientMockRecorder) CountSchedules(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountSchedules", reflect.TypeOf((*MockWorkflowServiceClient)(nil).CountSchedules), varargs...) +} + +// CountWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceClient) CountWorkflowExecutions(ctx context.Context, in *workflowservice.CountWorkflowExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.CountWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CountWorkflowExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.CountWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CountWorkflowExecutions indicates an expected call of CountWorkflowExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) CountWorkflowExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).CountWorkflowExecutions), varargs...) +} + +// CreateSchedule mocks base method. +func (m *MockWorkflowServiceClient) CreateSchedule(ctx context.Context, in *workflowservice.CreateScheduleRequest, opts ...grpc.CallOption) (*workflowservice.CreateScheduleResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateSchedule", varargs...) + ret0, _ := ret[0].(*workflowservice.CreateScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateSchedule indicates an expected call of CreateSchedule. +func (mr *MockWorkflowServiceClientMockRecorder) CreateSchedule(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSchedule", reflect.TypeOf((*MockWorkflowServiceClient)(nil).CreateSchedule), varargs...) +} + +// CreateWorkerDeployment mocks base method. +func (m *MockWorkflowServiceClient) CreateWorkerDeployment(ctx context.Context, in *workflowservice.CreateWorkerDeploymentRequest, opts ...grpc.CallOption) (*workflowservice.CreateWorkerDeploymentResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWorkerDeployment", varargs...) + ret0, _ := ret[0].(*workflowservice.CreateWorkerDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateWorkerDeployment indicates an expected call of CreateWorkerDeployment. +func (mr *MockWorkflowServiceClientMockRecorder) CreateWorkerDeployment(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkerDeployment", reflect.TypeOf((*MockWorkflowServiceClient)(nil).CreateWorkerDeployment), varargs...) +} + +// CreateWorkerDeploymentVersion mocks base method. +func (m *MockWorkflowServiceClient) CreateWorkerDeploymentVersion(ctx context.Context, in *workflowservice.CreateWorkerDeploymentVersionRequest, opts ...grpc.CallOption) (*workflowservice.CreateWorkerDeploymentVersionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWorkerDeploymentVersion", varargs...) + ret0, _ := ret[0].(*workflowservice.CreateWorkerDeploymentVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateWorkerDeploymentVersion indicates an expected call of CreateWorkerDeploymentVersion. +func (mr *MockWorkflowServiceClientMockRecorder) CreateWorkerDeploymentVersion(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkerDeploymentVersion", reflect.TypeOf((*MockWorkflowServiceClient)(nil).CreateWorkerDeploymentVersion), varargs...) +} + +// CreateWorkflowRule mocks base method. +func (m *MockWorkflowServiceClient) CreateWorkflowRule(ctx context.Context, in *workflowservice.CreateWorkflowRuleRequest, opts ...grpc.CallOption) (*workflowservice.CreateWorkflowRuleResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "CreateWorkflowRule", varargs...) + ret0, _ := ret[0].(*workflowservice.CreateWorkflowRuleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateWorkflowRule indicates an expected call of CreateWorkflowRule. +func (mr *MockWorkflowServiceClientMockRecorder) CreateWorkflowRule(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkflowRule", reflect.TypeOf((*MockWorkflowServiceClient)(nil).CreateWorkflowRule), varargs...) +} + +// DeleteActivityExecution mocks base method. +func (m *MockWorkflowServiceClient) DeleteActivityExecution(ctx context.Context, in *workflowservice.DeleteActivityExecutionRequest, opts ...grpc.CallOption) (*workflowservice.DeleteActivityExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteActivityExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.DeleteActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteActivityExecution indicates an expected call of DeleteActivityExecution. +func (mr *MockWorkflowServiceClientMockRecorder) DeleteActivityExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteActivityExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DeleteActivityExecution), varargs...) +} + +// DeleteNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceClient) DeleteNexusOperationExecution(ctx context.Context, in *workflowservice.DeleteNexusOperationExecutionRequest, opts ...grpc.CallOption) (*workflowservice.DeleteNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteNexusOperationExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.DeleteNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteNexusOperationExecution indicates an expected call of DeleteNexusOperationExecution. +func (mr *MockWorkflowServiceClientMockRecorder) DeleteNexusOperationExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DeleteNexusOperationExecution), varargs...) +} + +// DeleteSchedule mocks base method. +func (m *MockWorkflowServiceClient) DeleteSchedule(ctx context.Context, in *workflowservice.DeleteScheduleRequest, opts ...grpc.CallOption) (*workflowservice.DeleteScheduleResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteSchedule", varargs...) + ret0, _ := ret[0].(*workflowservice.DeleteScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteSchedule indicates an expected call of DeleteSchedule. +func (mr *MockWorkflowServiceClientMockRecorder) DeleteSchedule(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSchedule", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DeleteSchedule), varargs...) +} + +// DeleteWorkerDeployment mocks base method. +func (m *MockWorkflowServiceClient) DeleteWorkerDeployment(ctx context.Context, in *workflowservice.DeleteWorkerDeploymentRequest, opts ...grpc.CallOption) (*workflowservice.DeleteWorkerDeploymentResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWorkerDeployment", varargs...) + ret0, _ := ret[0].(*workflowservice.DeleteWorkerDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteWorkerDeployment indicates an expected call of DeleteWorkerDeployment. +func (mr *MockWorkflowServiceClientMockRecorder) DeleteWorkerDeployment(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkerDeployment", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DeleteWorkerDeployment), varargs...) +} + +// DeleteWorkerDeploymentVersion mocks base method. +func (m *MockWorkflowServiceClient) DeleteWorkerDeploymentVersion(ctx context.Context, in *workflowservice.DeleteWorkerDeploymentVersionRequest, opts ...grpc.CallOption) (*workflowservice.DeleteWorkerDeploymentVersionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWorkerDeploymentVersion", varargs...) + ret0, _ := ret[0].(*workflowservice.DeleteWorkerDeploymentVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteWorkerDeploymentVersion indicates an expected call of DeleteWorkerDeploymentVersion. +func (mr *MockWorkflowServiceClientMockRecorder) DeleteWorkerDeploymentVersion(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkerDeploymentVersion", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DeleteWorkerDeploymentVersion), varargs...) +} + +// DeleteWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) DeleteWorkflowExecution(ctx context.Context, in *workflowservice.DeleteWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.DeleteWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.DeleteWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteWorkflowExecution indicates an expected call of DeleteWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) DeleteWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DeleteWorkflowExecution), varargs...) +} + +// DeleteWorkflowRule mocks base method. +func (m *MockWorkflowServiceClient) DeleteWorkflowRule(ctx context.Context, in *workflowservice.DeleteWorkflowRuleRequest, opts ...grpc.CallOption) (*workflowservice.DeleteWorkflowRuleResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeleteWorkflowRule", varargs...) + ret0, _ := ret[0].(*workflowservice.DeleteWorkflowRuleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteWorkflowRule indicates an expected call of DeleteWorkflowRule. +func (mr *MockWorkflowServiceClientMockRecorder) DeleteWorkflowRule(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkflowRule", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DeleteWorkflowRule), varargs...) +} + +// DeprecateNamespace mocks base method. +func (m *MockWorkflowServiceClient) DeprecateNamespace(ctx context.Context, in *workflowservice.DeprecateNamespaceRequest, opts ...grpc.CallOption) (*workflowservice.DeprecateNamespaceResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DeprecateNamespace", varargs...) + ret0, _ := ret[0].(*workflowservice.DeprecateNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeprecateNamespace indicates an expected call of DeprecateNamespace. +func (mr *MockWorkflowServiceClientMockRecorder) DeprecateNamespace(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeprecateNamespace", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DeprecateNamespace), varargs...) +} + +// DescribeActivityExecution mocks base method. +func (m *MockWorkflowServiceClient) DescribeActivityExecution(ctx context.Context, in *workflowservice.DescribeActivityExecutionRequest, opts ...grpc.CallOption) (*workflowservice.DescribeActivityExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeActivityExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeActivityExecution indicates an expected call of DescribeActivityExecution. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeActivityExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeActivityExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeActivityExecution), varargs...) +} + +// DescribeBatchOperation mocks base method. +func (m *MockWorkflowServiceClient) DescribeBatchOperation(ctx context.Context, in *workflowservice.DescribeBatchOperationRequest, opts ...grpc.CallOption) (*workflowservice.DescribeBatchOperationResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeBatchOperation", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeBatchOperationResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeBatchOperation indicates an expected call of DescribeBatchOperation. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeBatchOperation(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeBatchOperation", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeBatchOperation), varargs...) +} + +// DescribeDeployment mocks base method. +func (m *MockWorkflowServiceClient) DescribeDeployment(ctx context.Context, in *workflowservice.DescribeDeploymentRequest, opts ...grpc.CallOption) (*workflowservice.DescribeDeploymentResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeDeployment", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeDeployment indicates an expected call of DescribeDeployment. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeDeployment(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeDeployment", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeDeployment), varargs...) +} + +// DescribeNamespace mocks base method. +func (m *MockWorkflowServiceClient) DescribeNamespace(ctx context.Context, in *workflowservice.DescribeNamespaceRequest, opts ...grpc.CallOption) (*workflowservice.DescribeNamespaceResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeNamespace", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeNamespace indicates an expected call of DescribeNamespace. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeNamespace(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeNamespace", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeNamespace), varargs...) +} + +// DescribeNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceClient) DescribeNexusOperationExecution(ctx context.Context, in *workflowservice.DescribeNexusOperationExecutionRequest, opts ...grpc.CallOption) (*workflowservice.DescribeNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeNexusOperationExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeNexusOperationExecution indicates an expected call of DescribeNexusOperationExecution. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeNexusOperationExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeNexusOperationExecution), varargs...) +} + +// DescribeSchedule mocks base method. +func (m *MockWorkflowServiceClient) DescribeSchedule(ctx context.Context, in *workflowservice.DescribeScheduleRequest, opts ...grpc.CallOption) (*workflowservice.DescribeScheduleResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeSchedule", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeSchedule indicates an expected call of DescribeSchedule. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeSchedule(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeSchedule", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeSchedule), varargs...) +} + +// DescribeTaskQueue mocks base method. +func (m *MockWorkflowServiceClient) DescribeTaskQueue(ctx context.Context, in *workflowservice.DescribeTaskQueueRequest, opts ...grpc.CallOption) (*workflowservice.DescribeTaskQueueResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeTaskQueue", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeTaskQueue indicates an expected call of DescribeTaskQueue. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeTaskQueue(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeTaskQueue", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeTaskQueue), varargs...) +} + +// DescribeWorker mocks base method. +func (m *MockWorkflowServiceClient) DescribeWorker(ctx context.Context, in *workflowservice.DescribeWorkerRequest, opts ...grpc.CallOption) (*workflowservice.DescribeWorkerResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeWorker", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeWorkerResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorker indicates an expected call of DescribeWorker. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeWorker(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorker", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeWorker), varargs...) +} + +// DescribeWorkerDeployment mocks base method. +func (m *MockWorkflowServiceClient) DescribeWorkerDeployment(ctx context.Context, in *workflowservice.DescribeWorkerDeploymentRequest, opts ...grpc.CallOption) (*workflowservice.DescribeWorkerDeploymentResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeWorkerDeployment", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeWorkerDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorkerDeployment indicates an expected call of DescribeWorkerDeployment. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeWorkerDeployment(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorkerDeployment", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeWorkerDeployment), varargs...) +} + +// DescribeWorkerDeploymentVersion mocks base method. +func (m *MockWorkflowServiceClient) DescribeWorkerDeploymentVersion(ctx context.Context, in *workflowservice.DescribeWorkerDeploymentVersionRequest, opts ...grpc.CallOption) (*workflowservice.DescribeWorkerDeploymentVersionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeWorkerDeploymentVersion", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeWorkerDeploymentVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorkerDeploymentVersion indicates an expected call of DescribeWorkerDeploymentVersion. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeWorkerDeploymentVersion(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorkerDeploymentVersion", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeWorkerDeploymentVersion), varargs...) +} + +// DescribeWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) DescribeWorkflowExecution(ctx context.Context, in *workflowservice.DescribeWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.DescribeWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorkflowExecution indicates an expected call of DescribeWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeWorkflowExecution), varargs...) +} + +// DescribeWorkflowRule mocks base method. +func (m *MockWorkflowServiceClient) DescribeWorkflowRule(ctx context.Context, in *workflowservice.DescribeWorkflowRuleRequest, opts ...grpc.CallOption) (*workflowservice.DescribeWorkflowRuleResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "DescribeWorkflowRule", varargs...) + ret0, _ := ret[0].(*workflowservice.DescribeWorkflowRuleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorkflowRule indicates an expected call of DescribeWorkflowRule. +func (mr *MockWorkflowServiceClientMockRecorder) DescribeWorkflowRule(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorkflowRule", reflect.TypeOf((*MockWorkflowServiceClient)(nil).DescribeWorkflowRule), varargs...) +} + +// Echo mocks base method. +func (m *MockWorkflowServiceClient) Echo(ctx context.Context, in *workflowservice.EchoRequest, opts ...grpc.CallOption) (*workflowservice.EchoResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "Echo", varargs...) + ret0, _ := ret[0].(*workflowservice.EchoResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Echo indicates an expected call of Echo. +func (mr *MockWorkflowServiceClientMockRecorder) Echo(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Echo", reflect.TypeOf((*MockWorkflowServiceClient)(nil).Echo), varargs...) +} + +// ExecuteMultiOperation mocks base method. +func (m *MockWorkflowServiceClient) ExecuteMultiOperation(ctx context.Context, in *workflowservice.ExecuteMultiOperationRequest, opts ...grpc.CallOption) (*workflowservice.ExecuteMultiOperationResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ExecuteMultiOperation", varargs...) + ret0, _ := ret[0].(*workflowservice.ExecuteMultiOperationResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ExecuteMultiOperation indicates an expected call of ExecuteMultiOperation. +func (mr *MockWorkflowServiceClientMockRecorder) ExecuteMultiOperation(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExecuteMultiOperation", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ExecuteMultiOperation), varargs...) +} + +// FetchWorkerConfig mocks base method. +func (m *MockWorkflowServiceClient) FetchWorkerConfig(ctx context.Context, in *workflowservice.FetchWorkerConfigRequest, opts ...grpc.CallOption) (*workflowservice.FetchWorkerConfigResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "FetchWorkerConfig", varargs...) + ret0, _ := ret[0].(*workflowservice.FetchWorkerConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// FetchWorkerConfig indicates an expected call of FetchWorkerConfig. +func (mr *MockWorkflowServiceClientMockRecorder) FetchWorkerConfig(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchWorkerConfig", reflect.TypeOf((*MockWorkflowServiceClient)(nil).FetchWorkerConfig), varargs...) +} + +// GetClusterInfo mocks base method. +func (m *MockWorkflowServiceClient) GetClusterInfo(ctx context.Context, in *workflowservice.GetClusterInfoRequest, opts ...grpc.CallOption) (*workflowservice.GetClusterInfoResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetClusterInfo", varargs...) + ret0, _ := ret[0].(*workflowservice.GetClusterInfoResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetClusterInfo indicates an expected call of GetClusterInfo. +func (mr *MockWorkflowServiceClientMockRecorder) GetClusterInfo(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClusterInfo", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetClusterInfo), varargs...) +} + +// GetCurrentDeployment mocks base method. +func (m *MockWorkflowServiceClient) GetCurrentDeployment(ctx context.Context, in *workflowservice.GetCurrentDeploymentRequest, opts ...grpc.CallOption) (*workflowservice.GetCurrentDeploymentResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetCurrentDeployment", varargs...) + ret0, _ := ret[0].(*workflowservice.GetCurrentDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCurrentDeployment indicates an expected call of GetCurrentDeployment. +func (mr *MockWorkflowServiceClientMockRecorder) GetCurrentDeployment(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCurrentDeployment", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetCurrentDeployment), varargs...) +} + +// GetDeploymentReachability mocks base method. +func (m *MockWorkflowServiceClient) GetDeploymentReachability(ctx context.Context, in *workflowservice.GetDeploymentReachabilityRequest, opts ...grpc.CallOption) (*workflowservice.GetDeploymentReachabilityResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetDeploymentReachability", varargs...) + ret0, _ := ret[0].(*workflowservice.GetDeploymentReachabilityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDeploymentReachability indicates an expected call of GetDeploymentReachability. +func (mr *MockWorkflowServiceClientMockRecorder) GetDeploymentReachability(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDeploymentReachability", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetDeploymentReachability), varargs...) +} + +// GetSearchAttributes mocks base method. +func (m *MockWorkflowServiceClient) GetSearchAttributes(ctx context.Context, in *workflowservice.GetSearchAttributesRequest, opts ...grpc.CallOption) (*workflowservice.GetSearchAttributesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetSearchAttributes", varargs...) + ret0, _ := ret[0].(*workflowservice.GetSearchAttributesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetSearchAttributes indicates an expected call of GetSearchAttributes. +func (mr *MockWorkflowServiceClientMockRecorder) GetSearchAttributes(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSearchAttributes", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetSearchAttributes), varargs...) +} + +// GetSystemInfo mocks base method. +func (m *MockWorkflowServiceClient) GetSystemInfo(ctx context.Context, in *workflowservice.GetSystemInfoRequest, opts ...grpc.CallOption) (*workflowservice.GetSystemInfoResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetSystemInfo", varargs...) + ret0, _ := ret[0].(*workflowservice.GetSystemInfoResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetSystemInfo indicates an expected call of GetSystemInfo. +func (mr *MockWorkflowServiceClientMockRecorder) GetSystemInfo(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSystemInfo", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetSystemInfo), varargs...) +} + +// GetWorkerBuildIdCompatibility mocks base method. +func (m *MockWorkflowServiceClient) GetWorkerBuildIdCompatibility(ctx context.Context, in *workflowservice.GetWorkerBuildIdCompatibilityRequest, opts ...grpc.CallOption) (*workflowservice.GetWorkerBuildIdCompatibilityResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetWorkerBuildIdCompatibility", varargs...) + ret0, _ := ret[0].(*workflowservice.GetWorkerBuildIdCompatibilityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkerBuildIdCompatibility indicates an expected call of GetWorkerBuildIdCompatibility. +func (mr *MockWorkflowServiceClientMockRecorder) GetWorkerBuildIdCompatibility(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkerBuildIdCompatibility", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetWorkerBuildIdCompatibility), varargs...) +} + +// GetWorkerTaskReachability mocks base method. +func (m *MockWorkflowServiceClient) GetWorkerTaskReachability(ctx context.Context, in *workflowservice.GetWorkerTaskReachabilityRequest, opts ...grpc.CallOption) (*workflowservice.GetWorkerTaskReachabilityResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetWorkerTaskReachability", varargs...) + ret0, _ := ret[0].(*workflowservice.GetWorkerTaskReachabilityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkerTaskReachability indicates an expected call of GetWorkerTaskReachability. +func (mr *MockWorkflowServiceClientMockRecorder) GetWorkerTaskReachability(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkerTaskReachability", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetWorkerTaskReachability), varargs...) +} + +// GetWorkerVersioningRules mocks base method. +func (m *MockWorkflowServiceClient) GetWorkerVersioningRules(ctx context.Context, in *workflowservice.GetWorkerVersioningRulesRequest, opts ...grpc.CallOption) (*workflowservice.GetWorkerVersioningRulesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetWorkerVersioningRules", varargs...) + ret0, _ := ret[0].(*workflowservice.GetWorkerVersioningRulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkerVersioningRules indicates an expected call of GetWorkerVersioningRules. +func (mr *MockWorkflowServiceClientMockRecorder) GetWorkerVersioningRules(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkerVersioningRules", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetWorkerVersioningRules), varargs...) +} + +// GetWorkflowExecutionHistory mocks base method. +func (m *MockWorkflowServiceClient) GetWorkflowExecutionHistory(ctx context.Context, in *workflowservice.GetWorkflowExecutionHistoryRequest, opts ...grpc.CallOption) (*workflowservice.GetWorkflowExecutionHistoryResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetWorkflowExecutionHistory", varargs...) + ret0, _ := ret[0].(*workflowservice.GetWorkflowExecutionHistoryResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkflowExecutionHistory indicates an expected call of GetWorkflowExecutionHistory. +func (mr *MockWorkflowServiceClientMockRecorder) GetWorkflowExecutionHistory(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkflowExecutionHistory", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetWorkflowExecutionHistory), varargs...) +} + +// GetWorkflowExecutionHistoryReverse mocks base method. +func (m *MockWorkflowServiceClient) GetWorkflowExecutionHistoryReverse(ctx context.Context, in *workflowservice.GetWorkflowExecutionHistoryReverseRequest, opts ...grpc.CallOption) (*workflowservice.GetWorkflowExecutionHistoryReverseResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "GetWorkflowExecutionHistoryReverse", varargs...) + ret0, _ := ret[0].(*workflowservice.GetWorkflowExecutionHistoryReverseResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkflowExecutionHistoryReverse indicates an expected call of GetWorkflowExecutionHistoryReverse. +func (mr *MockWorkflowServiceClientMockRecorder) GetWorkflowExecutionHistoryReverse(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkflowExecutionHistoryReverse", reflect.TypeOf((*MockWorkflowServiceClient)(nil).GetWorkflowExecutionHistoryReverse), varargs...) +} + +// ListActivityExecutions mocks base method. +func (m *MockWorkflowServiceClient) ListActivityExecutions(ctx context.Context, in *workflowservice.ListActivityExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.ListActivityExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListActivityExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.ListActivityExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListActivityExecutions indicates an expected call of ListActivityExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) ListActivityExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListActivityExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListActivityExecutions), varargs...) +} + +// ListArchivedWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceClient) ListArchivedWorkflowExecutions(ctx context.Context, in *workflowservice.ListArchivedWorkflowExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.ListArchivedWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListArchivedWorkflowExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.ListArchivedWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListArchivedWorkflowExecutions indicates an expected call of ListArchivedWorkflowExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) ListArchivedWorkflowExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListArchivedWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListArchivedWorkflowExecutions), varargs...) +} + +// ListBatchOperations mocks base method. +func (m *MockWorkflowServiceClient) ListBatchOperations(ctx context.Context, in *workflowservice.ListBatchOperationsRequest, opts ...grpc.CallOption) (*workflowservice.ListBatchOperationsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListBatchOperations", varargs...) + ret0, _ := ret[0].(*workflowservice.ListBatchOperationsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListBatchOperations indicates an expected call of ListBatchOperations. +func (mr *MockWorkflowServiceClientMockRecorder) ListBatchOperations(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListBatchOperations", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListBatchOperations), varargs...) +} + +// ListClosedWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceClient) ListClosedWorkflowExecutions(ctx context.Context, in *workflowservice.ListClosedWorkflowExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.ListClosedWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListClosedWorkflowExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.ListClosedWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListClosedWorkflowExecutions indicates an expected call of ListClosedWorkflowExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) ListClosedWorkflowExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListClosedWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListClosedWorkflowExecutions), varargs...) +} + +// ListDeployments mocks base method. +func (m *MockWorkflowServiceClient) ListDeployments(ctx context.Context, in *workflowservice.ListDeploymentsRequest, opts ...grpc.CallOption) (*workflowservice.ListDeploymentsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListDeployments", varargs...) + ret0, _ := ret[0].(*workflowservice.ListDeploymentsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDeployments indicates an expected call of ListDeployments. +func (mr *MockWorkflowServiceClientMockRecorder) ListDeployments(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDeployments", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListDeployments), varargs...) +} + +// ListNamespaces mocks base method. +func (m *MockWorkflowServiceClient) ListNamespaces(ctx context.Context, in *workflowservice.ListNamespacesRequest, opts ...grpc.CallOption) (*workflowservice.ListNamespacesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListNamespaces", varargs...) + ret0, _ := ret[0].(*workflowservice.ListNamespacesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListNamespaces indicates an expected call of ListNamespaces. +func (mr *MockWorkflowServiceClientMockRecorder) ListNamespaces(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNamespaces", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListNamespaces), varargs...) +} + +// ListNexusOperationExecutions mocks base method. +func (m *MockWorkflowServiceClient) ListNexusOperationExecutions(ctx context.Context, in *workflowservice.ListNexusOperationExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.ListNexusOperationExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListNexusOperationExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.ListNexusOperationExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListNexusOperationExecutions indicates an expected call of ListNexusOperationExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) ListNexusOperationExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNexusOperationExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListNexusOperationExecutions), varargs...) +} + +// ListOpenWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceClient) ListOpenWorkflowExecutions(ctx context.Context, in *workflowservice.ListOpenWorkflowExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.ListOpenWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListOpenWorkflowExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.ListOpenWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListOpenWorkflowExecutions indicates an expected call of ListOpenWorkflowExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) ListOpenWorkflowExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListOpenWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListOpenWorkflowExecutions), varargs...) +} + +// ListScheduleMatchingTimes mocks base method. +func (m *MockWorkflowServiceClient) ListScheduleMatchingTimes(ctx context.Context, in *workflowservice.ListScheduleMatchingTimesRequest, opts ...grpc.CallOption) (*workflowservice.ListScheduleMatchingTimesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListScheduleMatchingTimes", varargs...) + ret0, _ := ret[0].(*workflowservice.ListScheduleMatchingTimesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListScheduleMatchingTimes indicates an expected call of ListScheduleMatchingTimes. +func (mr *MockWorkflowServiceClientMockRecorder) ListScheduleMatchingTimes(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListScheduleMatchingTimes", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListScheduleMatchingTimes), varargs...) +} + +// ListSchedules mocks base method. +func (m *MockWorkflowServiceClient) ListSchedules(ctx context.Context, in *workflowservice.ListSchedulesRequest, opts ...grpc.CallOption) (*workflowservice.ListSchedulesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListSchedules", varargs...) + ret0, _ := ret[0].(*workflowservice.ListSchedulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListSchedules indicates an expected call of ListSchedules. +func (mr *MockWorkflowServiceClientMockRecorder) ListSchedules(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSchedules", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListSchedules), varargs...) +} + +// ListTaskQueuePartitions mocks base method. +func (m *MockWorkflowServiceClient) ListTaskQueuePartitions(ctx context.Context, in *workflowservice.ListTaskQueuePartitionsRequest, opts ...grpc.CallOption) (*workflowservice.ListTaskQueuePartitionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListTaskQueuePartitions", varargs...) + ret0, _ := ret[0].(*workflowservice.ListTaskQueuePartitionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListTaskQueuePartitions indicates an expected call of ListTaskQueuePartitions. +func (mr *MockWorkflowServiceClientMockRecorder) ListTaskQueuePartitions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTaskQueuePartitions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListTaskQueuePartitions), varargs...) +} + +// ListWorkerDeployments mocks base method. +func (m *MockWorkflowServiceClient) ListWorkerDeployments(ctx context.Context, in *workflowservice.ListWorkerDeploymentsRequest, opts ...grpc.CallOption) (*workflowservice.ListWorkerDeploymentsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWorkerDeployments", varargs...) + ret0, _ := ret[0].(*workflowservice.ListWorkerDeploymentsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkerDeployments indicates an expected call of ListWorkerDeployments. +func (mr *MockWorkflowServiceClientMockRecorder) ListWorkerDeployments(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkerDeployments", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListWorkerDeployments), varargs...) +} + +// ListWorkers mocks base method. +func (m *MockWorkflowServiceClient) ListWorkers(ctx context.Context, in *workflowservice.ListWorkersRequest, opts ...grpc.CallOption) (*workflowservice.ListWorkersResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWorkers", varargs...) + ret0, _ := ret[0].(*workflowservice.ListWorkersResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkers indicates an expected call of ListWorkers. +func (mr *MockWorkflowServiceClientMockRecorder) ListWorkers(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkers", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListWorkers), varargs...) +} + +// ListWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceClient) ListWorkflowExecutions(ctx context.Context, in *workflowservice.ListWorkflowExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.ListWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWorkflowExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.ListWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkflowExecutions indicates an expected call of ListWorkflowExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) ListWorkflowExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListWorkflowExecutions), varargs...) +} + +// ListWorkflowRules mocks base method. +func (m *MockWorkflowServiceClient) ListWorkflowRules(ctx context.Context, in *workflowservice.ListWorkflowRulesRequest, opts ...grpc.CallOption) (*workflowservice.ListWorkflowRulesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ListWorkflowRules", varargs...) + ret0, _ := ret[0].(*workflowservice.ListWorkflowRulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkflowRules indicates an expected call of ListWorkflowRules. +func (mr *MockWorkflowServiceClientMockRecorder) ListWorkflowRules(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkflowRules", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ListWorkflowRules), varargs...) +} + +// PatchSchedule mocks base method. +func (m *MockWorkflowServiceClient) PatchSchedule(ctx context.Context, in *workflowservice.PatchScheduleRequest, opts ...grpc.CallOption) (*workflowservice.PatchScheduleResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PatchSchedule", varargs...) + ret0, _ := ret[0].(*workflowservice.PatchScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PatchSchedule indicates an expected call of PatchSchedule. +func (mr *MockWorkflowServiceClientMockRecorder) PatchSchedule(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchSchedule", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PatchSchedule), varargs...) +} + +// PauseActivity mocks base method. +func (m *MockWorkflowServiceClient) PauseActivity(ctx context.Context, in *workflowservice.PauseActivityRequest, opts ...grpc.CallOption) (*workflowservice.PauseActivityResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PauseActivity", varargs...) + ret0, _ := ret[0].(*workflowservice.PauseActivityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PauseActivity indicates an expected call of PauseActivity. +func (mr *MockWorkflowServiceClientMockRecorder) PauseActivity(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PauseActivity", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PauseActivity), varargs...) +} + +// PauseActivityExecution mocks base method. +func (m *MockWorkflowServiceClient) PauseActivityExecution(ctx context.Context, in *workflowservice.PauseActivityExecutionRequest, opts ...grpc.CallOption) (*workflowservice.PauseActivityExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PauseActivityExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.PauseActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PauseActivityExecution indicates an expected call of PauseActivityExecution. +func (mr *MockWorkflowServiceClientMockRecorder) PauseActivityExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PauseActivityExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PauseActivityExecution), varargs...) +} + +// PauseWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) PauseWorkflowExecution(ctx context.Context, in *workflowservice.PauseWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.PauseWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PauseWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.PauseWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PauseWorkflowExecution indicates an expected call of PauseWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) PauseWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PauseWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PauseWorkflowExecution), varargs...) +} + +// PollActivityExecution mocks base method. +func (m *MockWorkflowServiceClient) PollActivityExecution(ctx context.Context, in *workflowservice.PollActivityExecutionRequest, opts ...grpc.CallOption) (*workflowservice.PollActivityExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PollActivityExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.PollActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollActivityExecution indicates an expected call of PollActivityExecution. +func (mr *MockWorkflowServiceClientMockRecorder) PollActivityExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollActivityExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PollActivityExecution), varargs...) +} + +// PollActivityTaskQueue mocks base method. +func (m *MockWorkflowServiceClient) PollActivityTaskQueue(ctx context.Context, in *workflowservice.PollActivityTaskQueueRequest, opts ...grpc.CallOption) (*workflowservice.PollActivityTaskQueueResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PollActivityTaskQueue", varargs...) + ret0, _ := ret[0].(*workflowservice.PollActivityTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollActivityTaskQueue indicates an expected call of PollActivityTaskQueue. +func (mr *MockWorkflowServiceClientMockRecorder) PollActivityTaskQueue(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollActivityTaskQueue", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PollActivityTaskQueue), varargs...) +} + +// PollNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceClient) PollNexusOperationExecution(ctx context.Context, in *workflowservice.PollNexusOperationExecutionRequest, opts ...grpc.CallOption) (*workflowservice.PollNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PollNexusOperationExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.PollNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollNexusOperationExecution indicates an expected call of PollNexusOperationExecution. +func (mr *MockWorkflowServiceClientMockRecorder) PollNexusOperationExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PollNexusOperationExecution), varargs...) +} + +// PollNexusTaskQueue mocks base method. +func (m *MockWorkflowServiceClient) PollNexusTaskQueue(ctx context.Context, in *workflowservice.PollNexusTaskQueueRequest, opts ...grpc.CallOption) (*workflowservice.PollNexusTaskQueueResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PollNexusTaskQueue", varargs...) + ret0, _ := ret[0].(*workflowservice.PollNexusTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollNexusTaskQueue indicates an expected call of PollNexusTaskQueue. +func (mr *MockWorkflowServiceClientMockRecorder) PollNexusTaskQueue(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollNexusTaskQueue", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PollNexusTaskQueue), varargs...) +} + +// PollWorkflowExecutionUpdate mocks base method. +func (m *MockWorkflowServiceClient) PollWorkflowExecutionUpdate(ctx context.Context, in *workflowservice.PollWorkflowExecutionUpdateRequest, opts ...grpc.CallOption) (*workflowservice.PollWorkflowExecutionUpdateResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PollWorkflowExecutionUpdate", varargs...) + ret0, _ := ret[0].(*workflowservice.PollWorkflowExecutionUpdateResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollWorkflowExecutionUpdate indicates an expected call of PollWorkflowExecutionUpdate. +func (mr *MockWorkflowServiceClientMockRecorder) PollWorkflowExecutionUpdate(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollWorkflowExecutionUpdate", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PollWorkflowExecutionUpdate), varargs...) +} + +// PollWorkflowTaskQueue mocks base method. +func (m *MockWorkflowServiceClient) PollWorkflowTaskQueue(ctx context.Context, in *workflowservice.PollWorkflowTaskQueueRequest, opts ...grpc.CallOption) (*workflowservice.PollWorkflowTaskQueueResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "PollWorkflowTaskQueue", varargs...) + ret0, _ := ret[0].(*workflowservice.PollWorkflowTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollWorkflowTaskQueue indicates an expected call of PollWorkflowTaskQueue. +func (mr *MockWorkflowServiceClientMockRecorder) PollWorkflowTaskQueue(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollWorkflowTaskQueue", reflect.TypeOf((*MockWorkflowServiceClient)(nil).PollWorkflowTaskQueue), varargs...) +} + +// QueryWorkflow mocks base method. +func (m *MockWorkflowServiceClient) QueryWorkflow(ctx context.Context, in *workflowservice.QueryWorkflowRequest, opts ...grpc.CallOption) (*workflowservice.QueryWorkflowResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "QueryWorkflow", varargs...) + ret0, _ := ret[0].(*workflowservice.QueryWorkflowResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryWorkflow indicates an expected call of QueryWorkflow. +func (mr *MockWorkflowServiceClientMockRecorder) QueryWorkflow(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryWorkflow", reflect.TypeOf((*MockWorkflowServiceClient)(nil).QueryWorkflow), varargs...) +} + +// RecordActivityTaskHeartbeat mocks base method. +func (m *MockWorkflowServiceClient) RecordActivityTaskHeartbeat(ctx context.Context, in *workflowservice.RecordActivityTaskHeartbeatRequest, opts ...grpc.CallOption) (*workflowservice.RecordActivityTaskHeartbeatResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RecordActivityTaskHeartbeat", varargs...) + ret0, _ := ret[0].(*workflowservice.RecordActivityTaskHeartbeatResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RecordActivityTaskHeartbeat indicates an expected call of RecordActivityTaskHeartbeat. +func (mr *MockWorkflowServiceClientMockRecorder) RecordActivityTaskHeartbeat(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecordActivityTaskHeartbeat", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RecordActivityTaskHeartbeat), varargs...) +} + +// RecordActivityTaskHeartbeatById mocks base method. +func (m *MockWorkflowServiceClient) RecordActivityTaskHeartbeatById(ctx context.Context, in *workflowservice.RecordActivityTaskHeartbeatByIdRequest, opts ...grpc.CallOption) (*workflowservice.RecordActivityTaskHeartbeatByIdResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RecordActivityTaskHeartbeatById", varargs...) + ret0, _ := ret[0].(*workflowservice.RecordActivityTaskHeartbeatByIdResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RecordActivityTaskHeartbeatById indicates an expected call of RecordActivityTaskHeartbeatById. +func (mr *MockWorkflowServiceClientMockRecorder) RecordActivityTaskHeartbeatById(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecordActivityTaskHeartbeatById", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RecordActivityTaskHeartbeatById), varargs...) +} + +// RecordWorkerHeartbeat mocks base method. +func (m *MockWorkflowServiceClient) RecordWorkerHeartbeat(ctx context.Context, in *workflowservice.RecordWorkerHeartbeatRequest, opts ...grpc.CallOption) (*workflowservice.RecordWorkerHeartbeatResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RecordWorkerHeartbeat", varargs...) + ret0, _ := ret[0].(*workflowservice.RecordWorkerHeartbeatResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RecordWorkerHeartbeat indicates an expected call of RecordWorkerHeartbeat. +func (mr *MockWorkflowServiceClientMockRecorder) RecordWorkerHeartbeat(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecordWorkerHeartbeat", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RecordWorkerHeartbeat), varargs...) +} + +// RegisterNamespace mocks base method. +func (m *MockWorkflowServiceClient) RegisterNamespace(ctx context.Context, in *workflowservice.RegisterNamespaceRequest, opts ...grpc.CallOption) (*workflowservice.RegisterNamespaceResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RegisterNamespace", varargs...) + ret0, _ := ret[0].(*workflowservice.RegisterNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RegisterNamespace indicates an expected call of RegisterNamespace. +func (mr *MockWorkflowServiceClientMockRecorder) RegisterNamespace(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterNamespace", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RegisterNamespace), varargs...) +} + +// RequestCancelActivityExecution mocks base method. +func (m *MockWorkflowServiceClient) RequestCancelActivityExecution(ctx context.Context, in *workflowservice.RequestCancelActivityExecutionRequest, opts ...grpc.CallOption) (*workflowservice.RequestCancelActivityExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RequestCancelActivityExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.RequestCancelActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RequestCancelActivityExecution indicates an expected call of RequestCancelActivityExecution. +func (mr *MockWorkflowServiceClientMockRecorder) RequestCancelActivityExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestCancelActivityExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RequestCancelActivityExecution), varargs...) +} + +// RequestCancelNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceClient) RequestCancelNexusOperationExecution(ctx context.Context, in *workflowservice.RequestCancelNexusOperationExecutionRequest, opts ...grpc.CallOption) (*workflowservice.RequestCancelNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RequestCancelNexusOperationExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.RequestCancelNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RequestCancelNexusOperationExecution indicates an expected call of RequestCancelNexusOperationExecution. +func (mr *MockWorkflowServiceClientMockRecorder) RequestCancelNexusOperationExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestCancelNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RequestCancelNexusOperationExecution), varargs...) +} + +// RequestCancelWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) RequestCancelWorkflowExecution(ctx context.Context, in *workflowservice.RequestCancelWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.RequestCancelWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RequestCancelWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.RequestCancelWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RequestCancelWorkflowExecution indicates an expected call of RequestCancelWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) RequestCancelWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestCancelWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RequestCancelWorkflowExecution), varargs...) +} + +// ResetActivity mocks base method. +func (m *MockWorkflowServiceClient) ResetActivity(ctx context.Context, in *workflowservice.ResetActivityRequest, opts ...grpc.CallOption) (*workflowservice.ResetActivityResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ResetActivity", varargs...) + ret0, _ := ret[0].(*workflowservice.ResetActivityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResetActivity indicates an expected call of ResetActivity. +func (mr *MockWorkflowServiceClientMockRecorder) ResetActivity(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResetActivity", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ResetActivity), varargs...) +} + +// ResetActivityExecution mocks base method. +func (m *MockWorkflowServiceClient) ResetActivityExecution(ctx context.Context, in *workflowservice.ResetActivityExecutionRequest, opts ...grpc.CallOption) (*workflowservice.ResetActivityExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ResetActivityExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.ResetActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResetActivityExecution indicates an expected call of ResetActivityExecution. +func (mr *MockWorkflowServiceClientMockRecorder) ResetActivityExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResetActivityExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ResetActivityExecution), varargs...) +} + +// ResetStickyTaskQueue mocks base method. +func (m *MockWorkflowServiceClient) ResetStickyTaskQueue(ctx context.Context, in *workflowservice.ResetStickyTaskQueueRequest, opts ...grpc.CallOption) (*workflowservice.ResetStickyTaskQueueResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ResetStickyTaskQueue", varargs...) + ret0, _ := ret[0].(*workflowservice.ResetStickyTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResetStickyTaskQueue indicates an expected call of ResetStickyTaskQueue. +func (mr *MockWorkflowServiceClientMockRecorder) ResetStickyTaskQueue(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResetStickyTaskQueue", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ResetStickyTaskQueue), varargs...) +} + +// ResetWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) ResetWorkflowExecution(ctx context.Context, in *workflowservice.ResetWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.ResetWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ResetWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.ResetWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResetWorkflowExecution indicates an expected call of ResetWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) ResetWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResetWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ResetWorkflowExecution), varargs...) +} + +// RespondActivityTaskCanceled mocks base method. +func (m *MockWorkflowServiceClient) RespondActivityTaskCanceled(ctx context.Context, in *workflowservice.RespondActivityTaskCanceledRequest, opts ...grpc.CallOption) (*workflowservice.RespondActivityTaskCanceledResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondActivityTaskCanceled", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskCanceledResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskCanceled indicates an expected call of RespondActivityTaskCanceled. +func (mr *MockWorkflowServiceClientMockRecorder) RespondActivityTaskCanceled(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskCanceled", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondActivityTaskCanceled), varargs...) +} + +// RespondActivityTaskCanceledById mocks base method. +func (m *MockWorkflowServiceClient) RespondActivityTaskCanceledById(ctx context.Context, in *workflowservice.RespondActivityTaskCanceledByIdRequest, opts ...grpc.CallOption) (*workflowservice.RespondActivityTaskCanceledByIdResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondActivityTaskCanceledById", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskCanceledByIdResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskCanceledById indicates an expected call of RespondActivityTaskCanceledById. +func (mr *MockWorkflowServiceClientMockRecorder) RespondActivityTaskCanceledById(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskCanceledById", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondActivityTaskCanceledById), varargs...) +} + +// RespondActivityTaskCompleted mocks base method. +func (m *MockWorkflowServiceClient) RespondActivityTaskCompleted(ctx context.Context, in *workflowservice.RespondActivityTaskCompletedRequest, opts ...grpc.CallOption) (*workflowservice.RespondActivityTaskCompletedResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondActivityTaskCompleted", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskCompletedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskCompleted indicates an expected call of RespondActivityTaskCompleted. +func (mr *MockWorkflowServiceClientMockRecorder) RespondActivityTaskCompleted(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskCompleted", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondActivityTaskCompleted), varargs...) +} + +// RespondActivityTaskCompletedById mocks base method. +func (m *MockWorkflowServiceClient) RespondActivityTaskCompletedById(ctx context.Context, in *workflowservice.RespondActivityTaskCompletedByIdRequest, opts ...grpc.CallOption) (*workflowservice.RespondActivityTaskCompletedByIdResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondActivityTaskCompletedById", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskCompletedByIdResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskCompletedById indicates an expected call of RespondActivityTaskCompletedById. +func (mr *MockWorkflowServiceClientMockRecorder) RespondActivityTaskCompletedById(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskCompletedById", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondActivityTaskCompletedById), varargs...) +} + +// RespondActivityTaskFailed mocks base method. +func (m *MockWorkflowServiceClient) RespondActivityTaskFailed(ctx context.Context, in *workflowservice.RespondActivityTaskFailedRequest, opts ...grpc.CallOption) (*workflowservice.RespondActivityTaskFailedResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondActivityTaskFailed", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskFailedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskFailed indicates an expected call of RespondActivityTaskFailed. +func (mr *MockWorkflowServiceClientMockRecorder) RespondActivityTaskFailed(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskFailed", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondActivityTaskFailed), varargs...) +} + +// RespondActivityTaskFailedById mocks base method. +func (m *MockWorkflowServiceClient) RespondActivityTaskFailedById(ctx context.Context, in *workflowservice.RespondActivityTaskFailedByIdRequest, opts ...grpc.CallOption) (*workflowservice.RespondActivityTaskFailedByIdResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondActivityTaskFailedById", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskFailedByIdResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskFailedById indicates an expected call of RespondActivityTaskFailedById. +func (mr *MockWorkflowServiceClientMockRecorder) RespondActivityTaskFailedById(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskFailedById", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondActivityTaskFailedById), varargs...) +} + +// RespondNexusTaskCompleted mocks base method. +func (m *MockWorkflowServiceClient) RespondNexusTaskCompleted(ctx context.Context, in *workflowservice.RespondNexusTaskCompletedRequest, opts ...grpc.CallOption) (*workflowservice.RespondNexusTaskCompletedResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondNexusTaskCompleted", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondNexusTaskCompletedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondNexusTaskCompleted indicates an expected call of RespondNexusTaskCompleted. +func (mr *MockWorkflowServiceClientMockRecorder) RespondNexusTaskCompleted(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondNexusTaskCompleted", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondNexusTaskCompleted), varargs...) +} + +// RespondNexusTaskFailed mocks base method. +func (m *MockWorkflowServiceClient) RespondNexusTaskFailed(ctx context.Context, in *workflowservice.RespondNexusTaskFailedRequest, opts ...grpc.CallOption) (*workflowservice.RespondNexusTaskFailedResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondNexusTaskFailed", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondNexusTaskFailedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondNexusTaskFailed indicates an expected call of RespondNexusTaskFailed. +func (mr *MockWorkflowServiceClientMockRecorder) RespondNexusTaskFailed(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondNexusTaskFailed", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondNexusTaskFailed), varargs...) +} + +// RespondQueryTaskCompleted mocks base method. +func (m *MockWorkflowServiceClient) RespondQueryTaskCompleted(ctx context.Context, in *workflowservice.RespondQueryTaskCompletedRequest, opts ...grpc.CallOption) (*workflowservice.RespondQueryTaskCompletedResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondQueryTaskCompleted", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondQueryTaskCompletedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondQueryTaskCompleted indicates an expected call of RespondQueryTaskCompleted. +func (mr *MockWorkflowServiceClientMockRecorder) RespondQueryTaskCompleted(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondQueryTaskCompleted", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondQueryTaskCompleted), varargs...) +} + +// RespondWorkflowTaskCompleted mocks base method. +func (m *MockWorkflowServiceClient) RespondWorkflowTaskCompleted(ctx context.Context, in *workflowservice.RespondWorkflowTaskCompletedRequest, opts ...grpc.CallOption) (*workflowservice.RespondWorkflowTaskCompletedResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondWorkflowTaskCompleted", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondWorkflowTaskCompletedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondWorkflowTaskCompleted indicates an expected call of RespondWorkflowTaskCompleted. +func (mr *MockWorkflowServiceClientMockRecorder) RespondWorkflowTaskCompleted(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondWorkflowTaskCompleted", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondWorkflowTaskCompleted), varargs...) +} + +// RespondWorkflowTaskFailed mocks base method. +func (m *MockWorkflowServiceClient) RespondWorkflowTaskFailed(ctx context.Context, in *workflowservice.RespondWorkflowTaskFailedRequest, opts ...grpc.CallOption) (*workflowservice.RespondWorkflowTaskFailedResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "RespondWorkflowTaskFailed", varargs...) + ret0, _ := ret[0].(*workflowservice.RespondWorkflowTaskFailedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondWorkflowTaskFailed indicates an expected call of RespondWorkflowTaskFailed. +func (mr *MockWorkflowServiceClientMockRecorder) RespondWorkflowTaskFailed(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondWorkflowTaskFailed", reflect.TypeOf((*MockWorkflowServiceClient)(nil).RespondWorkflowTaskFailed), varargs...) +} + +// ScanWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceClient) ScanWorkflowExecutions(ctx context.Context, in *workflowservice.ScanWorkflowExecutionsRequest, opts ...grpc.CallOption) (*workflowservice.ScanWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ScanWorkflowExecutions", varargs...) + ret0, _ := ret[0].(*workflowservice.ScanWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ScanWorkflowExecutions indicates an expected call of ScanWorkflowExecutions. +func (mr *MockWorkflowServiceClientMockRecorder) ScanWorkflowExecutions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScanWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ScanWorkflowExecutions), varargs...) +} + +// SetCurrentDeployment mocks base method. +func (m *MockWorkflowServiceClient) SetCurrentDeployment(ctx context.Context, in *workflowservice.SetCurrentDeploymentRequest, opts ...grpc.CallOption) (*workflowservice.SetCurrentDeploymentResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SetCurrentDeployment", varargs...) + ret0, _ := ret[0].(*workflowservice.SetCurrentDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetCurrentDeployment indicates an expected call of SetCurrentDeployment. +func (mr *MockWorkflowServiceClientMockRecorder) SetCurrentDeployment(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetCurrentDeployment", reflect.TypeOf((*MockWorkflowServiceClient)(nil).SetCurrentDeployment), varargs...) +} + +// SetWorkerDeploymentCurrentVersion mocks base method. +func (m *MockWorkflowServiceClient) SetWorkerDeploymentCurrentVersion(ctx context.Context, in *workflowservice.SetWorkerDeploymentCurrentVersionRequest, opts ...grpc.CallOption) (*workflowservice.SetWorkerDeploymentCurrentVersionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SetWorkerDeploymentCurrentVersion", varargs...) + ret0, _ := ret[0].(*workflowservice.SetWorkerDeploymentCurrentVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetWorkerDeploymentCurrentVersion indicates an expected call of SetWorkerDeploymentCurrentVersion. +func (mr *MockWorkflowServiceClientMockRecorder) SetWorkerDeploymentCurrentVersion(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetWorkerDeploymentCurrentVersion", reflect.TypeOf((*MockWorkflowServiceClient)(nil).SetWorkerDeploymentCurrentVersion), varargs...) +} + +// SetWorkerDeploymentManager mocks base method. +func (m *MockWorkflowServiceClient) SetWorkerDeploymentManager(ctx context.Context, in *workflowservice.SetWorkerDeploymentManagerRequest, opts ...grpc.CallOption) (*workflowservice.SetWorkerDeploymentManagerResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SetWorkerDeploymentManager", varargs...) + ret0, _ := ret[0].(*workflowservice.SetWorkerDeploymentManagerResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetWorkerDeploymentManager indicates an expected call of SetWorkerDeploymentManager. +func (mr *MockWorkflowServiceClientMockRecorder) SetWorkerDeploymentManager(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetWorkerDeploymentManager", reflect.TypeOf((*MockWorkflowServiceClient)(nil).SetWorkerDeploymentManager), varargs...) +} + +// SetWorkerDeploymentRampingVersion mocks base method. +func (m *MockWorkflowServiceClient) SetWorkerDeploymentRampingVersion(ctx context.Context, in *workflowservice.SetWorkerDeploymentRampingVersionRequest, opts ...grpc.CallOption) (*workflowservice.SetWorkerDeploymentRampingVersionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SetWorkerDeploymentRampingVersion", varargs...) + ret0, _ := ret[0].(*workflowservice.SetWorkerDeploymentRampingVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetWorkerDeploymentRampingVersion indicates an expected call of SetWorkerDeploymentRampingVersion. +func (mr *MockWorkflowServiceClientMockRecorder) SetWorkerDeploymentRampingVersion(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetWorkerDeploymentRampingVersion", reflect.TypeOf((*MockWorkflowServiceClient)(nil).SetWorkerDeploymentRampingVersion), varargs...) +} + +// ShutdownWorker mocks base method. +func (m *MockWorkflowServiceClient) ShutdownWorker(ctx context.Context, in *workflowservice.ShutdownWorkerRequest, opts ...grpc.CallOption) (*workflowservice.ShutdownWorkerResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ShutdownWorker", varargs...) + ret0, _ := ret[0].(*workflowservice.ShutdownWorkerResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ShutdownWorker indicates an expected call of ShutdownWorker. +func (mr *MockWorkflowServiceClientMockRecorder) ShutdownWorker(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShutdownWorker", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ShutdownWorker), varargs...) +} + +// SignalWithStartWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) SignalWithStartWorkflowExecution(ctx context.Context, in *workflowservice.SignalWithStartWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.SignalWithStartWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SignalWithStartWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.SignalWithStartWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SignalWithStartWorkflowExecution indicates an expected call of SignalWithStartWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) SignalWithStartWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SignalWithStartWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).SignalWithStartWorkflowExecution), varargs...) +} + +// SignalWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) SignalWorkflowExecution(ctx context.Context, in *workflowservice.SignalWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.SignalWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "SignalWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.SignalWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SignalWorkflowExecution indicates an expected call of SignalWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) SignalWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SignalWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).SignalWorkflowExecution), varargs...) +} + +// StartActivityExecution mocks base method. +func (m *MockWorkflowServiceClient) StartActivityExecution(ctx context.Context, in *workflowservice.StartActivityExecutionRequest, opts ...grpc.CallOption) (*workflowservice.StartActivityExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "StartActivityExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.StartActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartActivityExecution indicates an expected call of StartActivityExecution. +func (mr *MockWorkflowServiceClientMockRecorder) StartActivityExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartActivityExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).StartActivityExecution), varargs...) +} + +// StartBatchOperation mocks base method. +func (m *MockWorkflowServiceClient) StartBatchOperation(ctx context.Context, in *workflowservice.StartBatchOperationRequest, opts ...grpc.CallOption) (*workflowservice.StartBatchOperationResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "StartBatchOperation", varargs...) + ret0, _ := ret[0].(*workflowservice.StartBatchOperationResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartBatchOperation indicates an expected call of StartBatchOperation. +func (mr *MockWorkflowServiceClientMockRecorder) StartBatchOperation(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartBatchOperation", reflect.TypeOf((*MockWorkflowServiceClient)(nil).StartBatchOperation), varargs...) +} + +// StartNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceClient) StartNexusOperationExecution(ctx context.Context, in *workflowservice.StartNexusOperationExecutionRequest, opts ...grpc.CallOption) (*workflowservice.StartNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "StartNexusOperationExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.StartNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartNexusOperationExecution indicates an expected call of StartNexusOperationExecution. +func (mr *MockWorkflowServiceClientMockRecorder) StartNexusOperationExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).StartNexusOperationExecution), varargs...) +} + +// StartWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) StartWorkflowExecution(ctx context.Context, in *workflowservice.StartWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.StartWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "StartWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.StartWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartWorkflowExecution indicates an expected call of StartWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) StartWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).StartWorkflowExecution), varargs...) +} + +// StopBatchOperation mocks base method. +func (m *MockWorkflowServiceClient) StopBatchOperation(ctx context.Context, in *workflowservice.StopBatchOperationRequest, opts ...grpc.CallOption) (*workflowservice.StopBatchOperationResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "StopBatchOperation", varargs...) + ret0, _ := ret[0].(*workflowservice.StopBatchOperationResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StopBatchOperation indicates an expected call of StopBatchOperation. +func (mr *MockWorkflowServiceClientMockRecorder) StopBatchOperation(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StopBatchOperation", reflect.TypeOf((*MockWorkflowServiceClient)(nil).StopBatchOperation), varargs...) +} + +// TerminateActivityExecution mocks base method. +func (m *MockWorkflowServiceClient) TerminateActivityExecution(ctx context.Context, in *workflowservice.TerminateActivityExecutionRequest, opts ...grpc.CallOption) (*workflowservice.TerminateActivityExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "TerminateActivityExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.TerminateActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// TerminateActivityExecution indicates an expected call of TerminateActivityExecution. +func (mr *MockWorkflowServiceClientMockRecorder) TerminateActivityExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TerminateActivityExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).TerminateActivityExecution), varargs...) +} + +// TerminateNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceClient) TerminateNexusOperationExecution(ctx context.Context, in *workflowservice.TerminateNexusOperationExecutionRequest, opts ...grpc.CallOption) (*workflowservice.TerminateNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "TerminateNexusOperationExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.TerminateNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// TerminateNexusOperationExecution indicates an expected call of TerminateNexusOperationExecution. +func (mr *MockWorkflowServiceClientMockRecorder) TerminateNexusOperationExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TerminateNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).TerminateNexusOperationExecution), varargs...) +} + +// TerminateWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) TerminateWorkflowExecution(ctx context.Context, in *workflowservice.TerminateWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.TerminateWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "TerminateWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.TerminateWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// TerminateWorkflowExecution indicates an expected call of TerminateWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) TerminateWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TerminateWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).TerminateWorkflowExecution), varargs...) +} + +// TriggerWorkflowRule mocks base method. +func (m *MockWorkflowServiceClient) TriggerWorkflowRule(ctx context.Context, in *workflowservice.TriggerWorkflowRuleRequest, opts ...grpc.CallOption) (*workflowservice.TriggerWorkflowRuleResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "TriggerWorkflowRule", varargs...) + ret0, _ := ret[0].(*workflowservice.TriggerWorkflowRuleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// TriggerWorkflowRule indicates an expected call of TriggerWorkflowRule. +func (mr *MockWorkflowServiceClientMockRecorder) TriggerWorkflowRule(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TriggerWorkflowRule", reflect.TypeOf((*MockWorkflowServiceClient)(nil).TriggerWorkflowRule), varargs...) +} + +// UnpauseActivity mocks base method. +func (m *MockWorkflowServiceClient) UnpauseActivity(ctx context.Context, in *workflowservice.UnpauseActivityRequest, opts ...grpc.CallOption) (*workflowservice.UnpauseActivityResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnpauseActivity", varargs...) + ret0, _ := ret[0].(*workflowservice.UnpauseActivityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UnpauseActivity indicates an expected call of UnpauseActivity. +func (mr *MockWorkflowServiceClientMockRecorder) UnpauseActivity(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnpauseActivity", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UnpauseActivity), varargs...) +} + +// UnpauseActivityExecution mocks base method. +func (m *MockWorkflowServiceClient) UnpauseActivityExecution(ctx context.Context, in *workflowservice.UnpauseActivityExecutionRequest, opts ...grpc.CallOption) (*workflowservice.UnpauseActivityExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnpauseActivityExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.UnpauseActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UnpauseActivityExecution indicates an expected call of UnpauseActivityExecution. +func (mr *MockWorkflowServiceClientMockRecorder) UnpauseActivityExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnpauseActivityExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UnpauseActivityExecution), varargs...) +} + +// UnpauseWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) UnpauseWorkflowExecution(ctx context.Context, in *workflowservice.UnpauseWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.UnpauseWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UnpauseWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.UnpauseWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UnpauseWorkflowExecution indicates an expected call of UnpauseWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) UnpauseWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnpauseWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UnpauseWorkflowExecution), varargs...) +} + +// UpdateActivityExecutionOptions mocks base method. +func (m *MockWorkflowServiceClient) UpdateActivityExecutionOptions(ctx context.Context, in *workflowservice.UpdateActivityExecutionOptionsRequest, opts ...grpc.CallOption) (*workflowservice.UpdateActivityExecutionOptionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateActivityExecutionOptions", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateActivityExecutionOptionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateActivityExecutionOptions indicates an expected call of UpdateActivityExecutionOptions. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateActivityExecutionOptions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateActivityExecutionOptions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateActivityExecutionOptions), varargs...) +} + +// UpdateActivityOptions mocks base method. +func (m *MockWorkflowServiceClient) UpdateActivityOptions(ctx context.Context, in *workflowservice.UpdateActivityOptionsRequest, opts ...grpc.CallOption) (*workflowservice.UpdateActivityOptionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateActivityOptions", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateActivityOptionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateActivityOptions indicates an expected call of UpdateActivityOptions. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateActivityOptions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateActivityOptions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateActivityOptions), varargs...) +} + +// UpdateNamespace mocks base method. +func (m *MockWorkflowServiceClient) UpdateNamespace(ctx context.Context, in *workflowservice.UpdateNamespaceRequest, opts ...grpc.CallOption) (*workflowservice.UpdateNamespaceResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateNamespace", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateNamespace indicates an expected call of UpdateNamespace. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateNamespace(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateNamespace", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateNamespace), varargs...) +} + +// UpdateSchedule mocks base method. +func (m *MockWorkflowServiceClient) UpdateSchedule(ctx context.Context, in *workflowservice.UpdateScheduleRequest, opts ...grpc.CallOption) (*workflowservice.UpdateScheduleResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateSchedule", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateSchedule indicates an expected call of UpdateSchedule. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateSchedule(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSchedule", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateSchedule), varargs...) +} + +// UpdateTaskQueueConfig mocks base method. +func (m *MockWorkflowServiceClient) UpdateTaskQueueConfig(ctx context.Context, in *workflowservice.UpdateTaskQueueConfigRequest, opts ...grpc.CallOption) (*workflowservice.UpdateTaskQueueConfigResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateTaskQueueConfig", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateTaskQueueConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateTaskQueueConfig indicates an expected call of UpdateTaskQueueConfig. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateTaskQueueConfig(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTaskQueueConfig", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateTaskQueueConfig), varargs...) +} + +// UpdateWorkerBuildIdCompatibility mocks base method. +func (m *MockWorkflowServiceClient) UpdateWorkerBuildIdCompatibility(ctx context.Context, in *workflowservice.UpdateWorkerBuildIdCompatibilityRequest, opts ...grpc.CallOption) (*workflowservice.UpdateWorkerBuildIdCompatibilityResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkerBuildIdCompatibility", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerBuildIdCompatibilityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerBuildIdCompatibility indicates an expected call of UpdateWorkerBuildIdCompatibility. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateWorkerBuildIdCompatibility(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerBuildIdCompatibility", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateWorkerBuildIdCompatibility), varargs...) +} + +// UpdateWorkerConfig mocks base method. +func (m *MockWorkflowServiceClient) UpdateWorkerConfig(ctx context.Context, in *workflowservice.UpdateWorkerConfigRequest, opts ...grpc.CallOption) (*workflowservice.UpdateWorkerConfigResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkerConfig", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerConfig indicates an expected call of UpdateWorkerConfig. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateWorkerConfig(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerConfig", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateWorkerConfig), varargs...) +} + +// UpdateWorkerDeploymentVersionComputeConfig mocks base method. +func (m *MockWorkflowServiceClient) UpdateWorkerDeploymentVersionComputeConfig(ctx context.Context, in *workflowservice.UpdateWorkerDeploymentVersionComputeConfigRequest, opts ...grpc.CallOption) (*workflowservice.UpdateWorkerDeploymentVersionComputeConfigResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkerDeploymentVersionComputeConfig", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerDeploymentVersionComputeConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerDeploymentVersionComputeConfig indicates an expected call of UpdateWorkerDeploymentVersionComputeConfig. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateWorkerDeploymentVersionComputeConfig(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerDeploymentVersionComputeConfig", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateWorkerDeploymentVersionComputeConfig), varargs...) +} + +// UpdateWorkerDeploymentVersionMetadata mocks base method. +func (m *MockWorkflowServiceClient) UpdateWorkerDeploymentVersionMetadata(ctx context.Context, in *workflowservice.UpdateWorkerDeploymentVersionMetadataRequest, opts ...grpc.CallOption) (*workflowservice.UpdateWorkerDeploymentVersionMetadataResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkerDeploymentVersionMetadata", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerDeploymentVersionMetadataResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerDeploymentVersionMetadata indicates an expected call of UpdateWorkerDeploymentVersionMetadata. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateWorkerDeploymentVersionMetadata(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerDeploymentVersionMetadata", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateWorkerDeploymentVersionMetadata), varargs...) +} + +// UpdateWorkerVersioningRules mocks base method. +func (m *MockWorkflowServiceClient) UpdateWorkerVersioningRules(ctx context.Context, in *workflowservice.UpdateWorkerVersioningRulesRequest, opts ...grpc.CallOption) (*workflowservice.UpdateWorkerVersioningRulesResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkerVersioningRules", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerVersioningRulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerVersioningRules indicates an expected call of UpdateWorkerVersioningRules. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateWorkerVersioningRules(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerVersioningRules", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateWorkerVersioningRules), varargs...) +} + +// UpdateWorkflowExecution mocks base method. +func (m *MockWorkflowServiceClient) UpdateWorkflowExecution(ctx context.Context, in *workflowservice.UpdateWorkflowExecutionRequest, opts ...grpc.CallOption) (*workflowservice.UpdateWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkflowExecution", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkflowExecution indicates an expected call of UpdateWorkflowExecution. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateWorkflowExecution(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateWorkflowExecution), varargs...) +} + +// UpdateWorkflowExecutionOptions mocks base method. +func (m *MockWorkflowServiceClient) UpdateWorkflowExecutionOptions(ctx context.Context, in *workflowservice.UpdateWorkflowExecutionOptionsRequest, opts ...grpc.CallOption) (*workflowservice.UpdateWorkflowExecutionOptionsResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "UpdateWorkflowExecutionOptions", varargs...) + ret0, _ := ret[0].(*workflowservice.UpdateWorkflowExecutionOptionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkflowExecutionOptions indicates an expected call of UpdateWorkflowExecutionOptions. +func (mr *MockWorkflowServiceClientMockRecorder) UpdateWorkflowExecutionOptions(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkflowExecutionOptions", reflect.TypeOf((*MockWorkflowServiceClient)(nil).UpdateWorkflowExecutionOptions), varargs...) +} + +// ValidateWorkerDeploymentVersionComputeConfig mocks base method. +func (m *MockWorkflowServiceClient) ValidateWorkerDeploymentVersionComputeConfig(ctx context.Context, in *workflowservice.ValidateWorkerDeploymentVersionComputeConfigRequest, opts ...grpc.CallOption) (*workflowservice.ValidateWorkerDeploymentVersionComputeConfigResponse, error) { + m.ctrl.T.Helper() + varargs := []interface{}{ctx, in} + for _, a := range opts { + varargs = append(varargs, a) + } + ret := m.ctrl.Call(m, "ValidateWorkerDeploymentVersionComputeConfig", varargs...) + ret0, _ := ret[0].(*workflowservice.ValidateWorkerDeploymentVersionComputeConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ValidateWorkerDeploymentVersionComputeConfig indicates an expected call of ValidateWorkerDeploymentVersionComputeConfig. +func (mr *MockWorkflowServiceClientMockRecorder) ValidateWorkerDeploymentVersionComputeConfig(ctx, in interface{}, opts ...interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + varargs := append([]interface{}{ctx, in}, opts...) + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateWorkerDeploymentVersionComputeConfig", reflect.TypeOf((*MockWorkflowServiceClient)(nil).ValidateWorkerDeploymentVersionComputeConfig), varargs...) +} + +// MockWorkflowServiceServer is a mock of WorkflowServiceServer interface. +type MockWorkflowServiceServer struct { + workflowservice.UnimplementedWorkflowServiceServer + ctrl *gomock.Controller + recorder *MockWorkflowServiceServerMockRecorder +} + +var _ workflowservice.WorkflowServiceServer = (*MockWorkflowServiceServer)(nil) + +// MockWorkflowServiceServerMockRecorder is the mock recorder for MockWorkflowServiceServer. +type MockWorkflowServiceServerMockRecorder struct { + mock *MockWorkflowServiceServer +} + +// NewMockWorkflowServiceServer creates a new mock instance. +func NewMockWorkflowServiceServer(ctrl *gomock.Controller) *MockWorkflowServiceServer { + mock := &MockWorkflowServiceServer{ctrl: ctrl} + mock.recorder = &MockWorkflowServiceServerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockWorkflowServiceServer) EXPECT() *MockWorkflowServiceServerMockRecorder { + return m.recorder +} + +// CountActivityExecutions mocks base method. +func (m *MockWorkflowServiceServer) CountActivityExecutions(arg0 context.Context, arg1 *workflowservice.CountActivityExecutionsRequest) (*workflowservice.CountActivityExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CountActivityExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.CountActivityExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CountActivityExecutions indicates an expected call of CountActivityExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) CountActivityExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountActivityExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).CountActivityExecutions), arg0, arg1) +} + +// CountNexusOperationExecutions mocks base method. +func (m *MockWorkflowServiceServer) CountNexusOperationExecutions(arg0 context.Context, arg1 *workflowservice.CountNexusOperationExecutionsRequest) (*workflowservice.CountNexusOperationExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CountNexusOperationExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.CountNexusOperationExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CountNexusOperationExecutions indicates an expected call of CountNexusOperationExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) CountNexusOperationExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountNexusOperationExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).CountNexusOperationExecutions), arg0, arg1) +} + +// CountSchedules mocks base method. +func (m *MockWorkflowServiceServer) CountSchedules(arg0 context.Context, arg1 *workflowservice.CountSchedulesRequest) (*workflowservice.CountSchedulesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CountSchedules", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.CountSchedulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CountSchedules indicates an expected call of CountSchedules. +func (mr *MockWorkflowServiceServerMockRecorder) CountSchedules(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountSchedules", reflect.TypeOf((*MockWorkflowServiceServer)(nil).CountSchedules), arg0, arg1) +} + +// CountWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceServer) CountWorkflowExecutions(arg0 context.Context, arg1 *workflowservice.CountWorkflowExecutionsRequest) (*workflowservice.CountWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CountWorkflowExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.CountWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CountWorkflowExecutions indicates an expected call of CountWorkflowExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) CountWorkflowExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CountWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).CountWorkflowExecutions), arg0, arg1) +} + +// CreateSchedule mocks base method. +func (m *MockWorkflowServiceServer) CreateSchedule(arg0 context.Context, arg1 *workflowservice.CreateScheduleRequest) (*workflowservice.CreateScheduleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateSchedule", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.CreateScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateSchedule indicates an expected call of CreateSchedule. +func (mr *MockWorkflowServiceServerMockRecorder) CreateSchedule(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateSchedule", reflect.TypeOf((*MockWorkflowServiceServer)(nil).CreateSchedule), arg0, arg1) +} + +// CreateWorkerDeployment mocks base method. +func (m *MockWorkflowServiceServer) CreateWorkerDeployment(arg0 context.Context, arg1 *workflowservice.CreateWorkerDeploymentRequest) (*workflowservice.CreateWorkerDeploymentResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateWorkerDeployment", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.CreateWorkerDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateWorkerDeployment indicates an expected call of CreateWorkerDeployment. +func (mr *MockWorkflowServiceServerMockRecorder) CreateWorkerDeployment(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkerDeployment", reflect.TypeOf((*MockWorkflowServiceServer)(nil).CreateWorkerDeployment), arg0, arg1) +} + +// CreateWorkerDeploymentVersion mocks base method. +func (m *MockWorkflowServiceServer) CreateWorkerDeploymentVersion(arg0 context.Context, arg1 *workflowservice.CreateWorkerDeploymentVersionRequest) (*workflowservice.CreateWorkerDeploymentVersionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateWorkerDeploymentVersion", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.CreateWorkerDeploymentVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateWorkerDeploymentVersion indicates an expected call of CreateWorkerDeploymentVersion. +func (mr *MockWorkflowServiceServerMockRecorder) CreateWorkerDeploymentVersion(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkerDeploymentVersion", reflect.TypeOf((*MockWorkflowServiceServer)(nil).CreateWorkerDeploymentVersion), arg0, arg1) +} + +// CreateWorkflowRule mocks base method. +func (m *MockWorkflowServiceServer) CreateWorkflowRule(arg0 context.Context, arg1 *workflowservice.CreateWorkflowRuleRequest) (*workflowservice.CreateWorkflowRuleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CreateWorkflowRule", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.CreateWorkflowRuleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CreateWorkflowRule indicates an expected call of CreateWorkflowRule. +func (mr *MockWorkflowServiceServerMockRecorder) CreateWorkflowRule(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CreateWorkflowRule", reflect.TypeOf((*MockWorkflowServiceServer)(nil).CreateWorkflowRule), arg0, arg1) +} + +// DeleteActivityExecution mocks base method. +func (m *MockWorkflowServiceServer) DeleteActivityExecution(arg0 context.Context, arg1 *workflowservice.DeleteActivityExecutionRequest) (*workflowservice.DeleteActivityExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteActivityExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DeleteActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteActivityExecution indicates an expected call of DeleteActivityExecution. +func (mr *MockWorkflowServiceServerMockRecorder) DeleteActivityExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteActivityExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DeleteActivityExecution), arg0, arg1) +} + +// DeleteNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceServer) DeleteNexusOperationExecution(arg0 context.Context, arg1 *workflowservice.DeleteNexusOperationExecutionRequest) (*workflowservice.DeleteNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteNexusOperationExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DeleteNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteNexusOperationExecution indicates an expected call of DeleteNexusOperationExecution. +func (mr *MockWorkflowServiceServerMockRecorder) DeleteNexusOperationExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DeleteNexusOperationExecution), arg0, arg1) +} + +// DeleteSchedule mocks base method. +func (m *MockWorkflowServiceServer) DeleteSchedule(arg0 context.Context, arg1 *workflowservice.DeleteScheduleRequest) (*workflowservice.DeleteScheduleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteSchedule", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DeleteScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteSchedule indicates an expected call of DeleteSchedule. +func (mr *MockWorkflowServiceServerMockRecorder) DeleteSchedule(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteSchedule", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DeleteSchedule), arg0, arg1) +} + +// DeleteWorkerDeployment mocks base method. +func (m *MockWorkflowServiceServer) DeleteWorkerDeployment(arg0 context.Context, arg1 *workflowservice.DeleteWorkerDeploymentRequest) (*workflowservice.DeleteWorkerDeploymentResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteWorkerDeployment", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DeleteWorkerDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteWorkerDeployment indicates an expected call of DeleteWorkerDeployment. +func (mr *MockWorkflowServiceServerMockRecorder) DeleteWorkerDeployment(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkerDeployment", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DeleteWorkerDeployment), arg0, arg1) +} + +// DeleteWorkerDeploymentVersion mocks base method. +func (m *MockWorkflowServiceServer) DeleteWorkerDeploymentVersion(arg0 context.Context, arg1 *workflowservice.DeleteWorkerDeploymentVersionRequest) (*workflowservice.DeleteWorkerDeploymentVersionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteWorkerDeploymentVersion", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DeleteWorkerDeploymentVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteWorkerDeploymentVersion indicates an expected call of DeleteWorkerDeploymentVersion. +func (mr *MockWorkflowServiceServerMockRecorder) DeleteWorkerDeploymentVersion(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkerDeploymentVersion", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DeleteWorkerDeploymentVersion), arg0, arg1) +} + +// DeleteWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) DeleteWorkflowExecution(arg0 context.Context, arg1 *workflowservice.DeleteWorkflowExecutionRequest) (*workflowservice.DeleteWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DeleteWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteWorkflowExecution indicates an expected call of DeleteWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) DeleteWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DeleteWorkflowExecution), arg0, arg1) +} + +// DeleteWorkflowRule mocks base method. +func (m *MockWorkflowServiceServer) DeleteWorkflowRule(arg0 context.Context, arg1 *workflowservice.DeleteWorkflowRuleRequest) (*workflowservice.DeleteWorkflowRuleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeleteWorkflowRule", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DeleteWorkflowRuleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeleteWorkflowRule indicates an expected call of DeleteWorkflowRule. +func (mr *MockWorkflowServiceServerMockRecorder) DeleteWorkflowRule(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeleteWorkflowRule", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DeleteWorkflowRule), arg0, arg1) +} + +// DeprecateNamespace mocks base method. +func (m *MockWorkflowServiceServer) DeprecateNamespace(arg0 context.Context, arg1 *workflowservice.DeprecateNamespaceRequest) (*workflowservice.DeprecateNamespaceResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DeprecateNamespace", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DeprecateNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DeprecateNamespace indicates an expected call of DeprecateNamespace. +func (mr *MockWorkflowServiceServerMockRecorder) DeprecateNamespace(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DeprecateNamespace", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DeprecateNamespace), arg0, arg1) +} + +// DescribeActivityExecution mocks base method. +func (m *MockWorkflowServiceServer) DescribeActivityExecution(arg0 context.Context, arg1 *workflowservice.DescribeActivityExecutionRequest) (*workflowservice.DescribeActivityExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeActivityExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeActivityExecution indicates an expected call of DescribeActivityExecution. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeActivityExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeActivityExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeActivityExecution), arg0, arg1) +} + +// DescribeBatchOperation mocks base method. +func (m *MockWorkflowServiceServer) DescribeBatchOperation(arg0 context.Context, arg1 *workflowservice.DescribeBatchOperationRequest) (*workflowservice.DescribeBatchOperationResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeBatchOperation", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeBatchOperationResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeBatchOperation indicates an expected call of DescribeBatchOperation. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeBatchOperation(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeBatchOperation", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeBatchOperation), arg0, arg1) +} + +// DescribeDeployment mocks base method. +func (m *MockWorkflowServiceServer) DescribeDeployment(arg0 context.Context, arg1 *workflowservice.DescribeDeploymentRequest) (*workflowservice.DescribeDeploymentResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeDeployment", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeDeployment indicates an expected call of DescribeDeployment. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeDeployment(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeDeployment", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeDeployment), arg0, arg1) +} + +// DescribeNamespace mocks base method. +func (m *MockWorkflowServiceServer) DescribeNamespace(arg0 context.Context, arg1 *workflowservice.DescribeNamespaceRequest) (*workflowservice.DescribeNamespaceResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeNamespace", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeNamespace indicates an expected call of DescribeNamespace. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeNamespace(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeNamespace", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeNamespace), arg0, arg1) +} + +// DescribeNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceServer) DescribeNexusOperationExecution(arg0 context.Context, arg1 *workflowservice.DescribeNexusOperationExecutionRequest) (*workflowservice.DescribeNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeNexusOperationExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeNexusOperationExecution indicates an expected call of DescribeNexusOperationExecution. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeNexusOperationExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeNexusOperationExecution), arg0, arg1) +} + +// DescribeSchedule mocks base method. +func (m *MockWorkflowServiceServer) DescribeSchedule(arg0 context.Context, arg1 *workflowservice.DescribeScheduleRequest) (*workflowservice.DescribeScheduleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeSchedule", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeSchedule indicates an expected call of DescribeSchedule. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeSchedule(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeSchedule", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeSchedule), arg0, arg1) +} + +// DescribeTaskQueue mocks base method. +func (m *MockWorkflowServiceServer) DescribeTaskQueue(arg0 context.Context, arg1 *workflowservice.DescribeTaskQueueRequest) (*workflowservice.DescribeTaskQueueResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeTaskQueue", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeTaskQueue indicates an expected call of DescribeTaskQueue. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeTaskQueue(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeTaskQueue", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeTaskQueue), arg0, arg1) +} + +// DescribeWorker mocks base method. +func (m *MockWorkflowServiceServer) DescribeWorker(arg0 context.Context, arg1 *workflowservice.DescribeWorkerRequest) (*workflowservice.DescribeWorkerResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeWorker", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeWorkerResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorker indicates an expected call of DescribeWorker. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeWorker(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorker", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeWorker), arg0, arg1) +} + +// DescribeWorkerDeployment mocks base method. +func (m *MockWorkflowServiceServer) DescribeWorkerDeployment(arg0 context.Context, arg1 *workflowservice.DescribeWorkerDeploymentRequest) (*workflowservice.DescribeWorkerDeploymentResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeWorkerDeployment", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeWorkerDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorkerDeployment indicates an expected call of DescribeWorkerDeployment. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeWorkerDeployment(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorkerDeployment", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeWorkerDeployment), arg0, arg1) +} + +// DescribeWorkerDeploymentVersion mocks base method. +func (m *MockWorkflowServiceServer) DescribeWorkerDeploymentVersion(arg0 context.Context, arg1 *workflowservice.DescribeWorkerDeploymentVersionRequest) (*workflowservice.DescribeWorkerDeploymentVersionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeWorkerDeploymentVersion", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeWorkerDeploymentVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorkerDeploymentVersion indicates an expected call of DescribeWorkerDeploymentVersion. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeWorkerDeploymentVersion(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorkerDeploymentVersion", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeWorkerDeploymentVersion), arg0, arg1) +} + +// DescribeWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) DescribeWorkflowExecution(arg0 context.Context, arg1 *workflowservice.DescribeWorkflowExecutionRequest) (*workflowservice.DescribeWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorkflowExecution indicates an expected call of DescribeWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeWorkflowExecution), arg0, arg1) +} + +// DescribeWorkflowRule mocks base method. +func (m *MockWorkflowServiceServer) DescribeWorkflowRule(arg0 context.Context, arg1 *workflowservice.DescribeWorkflowRuleRequest) (*workflowservice.DescribeWorkflowRuleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "DescribeWorkflowRule", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.DescribeWorkflowRuleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// DescribeWorkflowRule indicates an expected call of DescribeWorkflowRule. +func (mr *MockWorkflowServiceServerMockRecorder) DescribeWorkflowRule(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DescribeWorkflowRule", reflect.TypeOf((*MockWorkflowServiceServer)(nil).DescribeWorkflowRule), arg0, arg1) +} + +// Echo mocks base method. +func (m *MockWorkflowServiceServer) Echo(arg0 context.Context, arg1 *workflowservice.EchoRequest) (*workflowservice.EchoResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "Echo", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.EchoResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// Echo indicates an expected call of Echo. +func (mr *MockWorkflowServiceServerMockRecorder) Echo(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Echo", reflect.TypeOf((*MockWorkflowServiceServer)(nil).Echo), arg0, arg1) +} + +// ExecuteMultiOperation mocks base method. +func (m *MockWorkflowServiceServer) ExecuteMultiOperation(arg0 context.Context, arg1 *workflowservice.ExecuteMultiOperationRequest) (*workflowservice.ExecuteMultiOperationResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ExecuteMultiOperation", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ExecuteMultiOperationResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ExecuteMultiOperation indicates an expected call of ExecuteMultiOperation. +func (mr *MockWorkflowServiceServerMockRecorder) ExecuteMultiOperation(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ExecuteMultiOperation", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ExecuteMultiOperation), arg0, arg1) +} + +// FetchWorkerConfig mocks base method. +func (m *MockWorkflowServiceServer) FetchWorkerConfig(arg0 context.Context, arg1 *workflowservice.FetchWorkerConfigRequest) (*workflowservice.FetchWorkerConfigResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "FetchWorkerConfig", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.FetchWorkerConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// FetchWorkerConfig indicates an expected call of FetchWorkerConfig. +func (mr *MockWorkflowServiceServerMockRecorder) FetchWorkerConfig(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FetchWorkerConfig", reflect.TypeOf((*MockWorkflowServiceServer)(nil).FetchWorkerConfig), arg0, arg1) +} + +// GetClusterInfo mocks base method. +func (m *MockWorkflowServiceServer) GetClusterInfo(arg0 context.Context, arg1 *workflowservice.GetClusterInfoRequest) (*workflowservice.GetClusterInfoResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetClusterInfo", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetClusterInfoResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetClusterInfo indicates an expected call of GetClusterInfo. +func (mr *MockWorkflowServiceServerMockRecorder) GetClusterInfo(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetClusterInfo", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetClusterInfo), arg0, arg1) +} + +// GetCurrentDeployment mocks base method. +func (m *MockWorkflowServiceServer) GetCurrentDeployment(arg0 context.Context, arg1 *workflowservice.GetCurrentDeploymentRequest) (*workflowservice.GetCurrentDeploymentResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetCurrentDeployment", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetCurrentDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetCurrentDeployment indicates an expected call of GetCurrentDeployment. +func (mr *MockWorkflowServiceServerMockRecorder) GetCurrentDeployment(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetCurrentDeployment", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetCurrentDeployment), arg0, arg1) +} + +// GetDeploymentReachability mocks base method. +func (m *MockWorkflowServiceServer) GetDeploymentReachability(arg0 context.Context, arg1 *workflowservice.GetDeploymentReachabilityRequest) (*workflowservice.GetDeploymentReachabilityResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetDeploymentReachability", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetDeploymentReachabilityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetDeploymentReachability indicates an expected call of GetDeploymentReachability. +func (mr *MockWorkflowServiceServerMockRecorder) GetDeploymentReachability(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetDeploymentReachability", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetDeploymentReachability), arg0, arg1) +} + +// GetSearchAttributes mocks base method. +func (m *MockWorkflowServiceServer) GetSearchAttributes(arg0 context.Context, arg1 *workflowservice.GetSearchAttributesRequest) (*workflowservice.GetSearchAttributesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetSearchAttributes", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetSearchAttributesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetSearchAttributes indicates an expected call of GetSearchAttributes. +func (mr *MockWorkflowServiceServerMockRecorder) GetSearchAttributes(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSearchAttributes", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetSearchAttributes), arg0, arg1) +} + +// GetSystemInfo mocks base method. +func (m *MockWorkflowServiceServer) GetSystemInfo(arg0 context.Context, arg1 *workflowservice.GetSystemInfoRequest) (*workflowservice.GetSystemInfoResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetSystemInfo", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetSystemInfoResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetSystemInfo indicates an expected call of GetSystemInfo. +func (mr *MockWorkflowServiceServerMockRecorder) GetSystemInfo(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetSystemInfo", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetSystemInfo), arg0, arg1) +} + +// GetWorkerBuildIdCompatibility mocks base method. +func (m *MockWorkflowServiceServer) GetWorkerBuildIdCompatibility(arg0 context.Context, arg1 *workflowservice.GetWorkerBuildIdCompatibilityRequest) (*workflowservice.GetWorkerBuildIdCompatibilityResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWorkerBuildIdCompatibility", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetWorkerBuildIdCompatibilityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkerBuildIdCompatibility indicates an expected call of GetWorkerBuildIdCompatibility. +func (mr *MockWorkflowServiceServerMockRecorder) GetWorkerBuildIdCompatibility(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkerBuildIdCompatibility", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetWorkerBuildIdCompatibility), arg0, arg1) +} + +// GetWorkerTaskReachability mocks base method. +func (m *MockWorkflowServiceServer) GetWorkerTaskReachability(arg0 context.Context, arg1 *workflowservice.GetWorkerTaskReachabilityRequest) (*workflowservice.GetWorkerTaskReachabilityResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWorkerTaskReachability", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetWorkerTaskReachabilityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkerTaskReachability indicates an expected call of GetWorkerTaskReachability. +func (mr *MockWorkflowServiceServerMockRecorder) GetWorkerTaskReachability(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkerTaskReachability", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetWorkerTaskReachability), arg0, arg1) +} + +// GetWorkerVersioningRules mocks base method. +func (m *MockWorkflowServiceServer) GetWorkerVersioningRules(arg0 context.Context, arg1 *workflowservice.GetWorkerVersioningRulesRequest) (*workflowservice.GetWorkerVersioningRulesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWorkerVersioningRules", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetWorkerVersioningRulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkerVersioningRules indicates an expected call of GetWorkerVersioningRules. +func (mr *MockWorkflowServiceServerMockRecorder) GetWorkerVersioningRules(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkerVersioningRules", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetWorkerVersioningRules), arg0, arg1) +} + +// GetWorkflowExecutionHistory mocks base method. +func (m *MockWorkflowServiceServer) GetWorkflowExecutionHistory(arg0 context.Context, arg1 *workflowservice.GetWorkflowExecutionHistoryRequest) (*workflowservice.GetWorkflowExecutionHistoryResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWorkflowExecutionHistory", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetWorkflowExecutionHistoryResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkflowExecutionHistory indicates an expected call of GetWorkflowExecutionHistory. +func (mr *MockWorkflowServiceServerMockRecorder) GetWorkflowExecutionHistory(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkflowExecutionHistory", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetWorkflowExecutionHistory), arg0, arg1) +} + +// GetWorkflowExecutionHistoryReverse mocks base method. +func (m *MockWorkflowServiceServer) GetWorkflowExecutionHistoryReverse(arg0 context.Context, arg1 *workflowservice.GetWorkflowExecutionHistoryReverseRequest) (*workflowservice.GetWorkflowExecutionHistoryReverseResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "GetWorkflowExecutionHistoryReverse", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.GetWorkflowExecutionHistoryReverseResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// GetWorkflowExecutionHistoryReverse indicates an expected call of GetWorkflowExecutionHistoryReverse. +func (mr *MockWorkflowServiceServerMockRecorder) GetWorkflowExecutionHistoryReverse(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "GetWorkflowExecutionHistoryReverse", reflect.TypeOf((*MockWorkflowServiceServer)(nil).GetWorkflowExecutionHistoryReverse), arg0, arg1) +} + +// ListActivityExecutions mocks base method. +func (m *MockWorkflowServiceServer) ListActivityExecutions(arg0 context.Context, arg1 *workflowservice.ListActivityExecutionsRequest) (*workflowservice.ListActivityExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListActivityExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListActivityExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListActivityExecutions indicates an expected call of ListActivityExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) ListActivityExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListActivityExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListActivityExecutions), arg0, arg1) +} + +// ListArchivedWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceServer) ListArchivedWorkflowExecutions(arg0 context.Context, arg1 *workflowservice.ListArchivedWorkflowExecutionsRequest) (*workflowservice.ListArchivedWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListArchivedWorkflowExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListArchivedWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListArchivedWorkflowExecutions indicates an expected call of ListArchivedWorkflowExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) ListArchivedWorkflowExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListArchivedWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListArchivedWorkflowExecutions), arg0, arg1) +} + +// ListBatchOperations mocks base method. +func (m *MockWorkflowServiceServer) ListBatchOperations(arg0 context.Context, arg1 *workflowservice.ListBatchOperationsRequest) (*workflowservice.ListBatchOperationsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListBatchOperations", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListBatchOperationsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListBatchOperations indicates an expected call of ListBatchOperations. +func (mr *MockWorkflowServiceServerMockRecorder) ListBatchOperations(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListBatchOperations", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListBatchOperations), arg0, arg1) +} + +// ListClosedWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceServer) ListClosedWorkflowExecutions(arg0 context.Context, arg1 *workflowservice.ListClosedWorkflowExecutionsRequest) (*workflowservice.ListClosedWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListClosedWorkflowExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListClosedWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListClosedWorkflowExecutions indicates an expected call of ListClosedWorkflowExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) ListClosedWorkflowExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListClosedWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListClosedWorkflowExecutions), arg0, arg1) +} + +// ListDeployments mocks base method. +func (m *MockWorkflowServiceServer) ListDeployments(arg0 context.Context, arg1 *workflowservice.ListDeploymentsRequest) (*workflowservice.ListDeploymentsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListDeployments", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListDeploymentsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListDeployments indicates an expected call of ListDeployments. +func (mr *MockWorkflowServiceServerMockRecorder) ListDeployments(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListDeployments", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListDeployments), arg0, arg1) +} + +// ListNamespaces mocks base method. +func (m *MockWorkflowServiceServer) ListNamespaces(arg0 context.Context, arg1 *workflowservice.ListNamespacesRequest) (*workflowservice.ListNamespacesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListNamespaces", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListNamespacesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListNamespaces indicates an expected call of ListNamespaces. +func (mr *MockWorkflowServiceServerMockRecorder) ListNamespaces(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNamespaces", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListNamespaces), arg0, arg1) +} + +// ListNexusOperationExecutions mocks base method. +func (m *MockWorkflowServiceServer) ListNexusOperationExecutions(arg0 context.Context, arg1 *workflowservice.ListNexusOperationExecutionsRequest) (*workflowservice.ListNexusOperationExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListNexusOperationExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListNexusOperationExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListNexusOperationExecutions indicates an expected call of ListNexusOperationExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) ListNexusOperationExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListNexusOperationExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListNexusOperationExecutions), arg0, arg1) +} + +// ListOpenWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceServer) ListOpenWorkflowExecutions(arg0 context.Context, arg1 *workflowservice.ListOpenWorkflowExecutionsRequest) (*workflowservice.ListOpenWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListOpenWorkflowExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListOpenWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListOpenWorkflowExecutions indicates an expected call of ListOpenWorkflowExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) ListOpenWorkflowExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListOpenWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListOpenWorkflowExecutions), arg0, arg1) +} + +// ListScheduleMatchingTimes mocks base method. +func (m *MockWorkflowServiceServer) ListScheduleMatchingTimes(arg0 context.Context, arg1 *workflowservice.ListScheduleMatchingTimesRequest) (*workflowservice.ListScheduleMatchingTimesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListScheduleMatchingTimes", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListScheduleMatchingTimesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListScheduleMatchingTimes indicates an expected call of ListScheduleMatchingTimes. +func (mr *MockWorkflowServiceServerMockRecorder) ListScheduleMatchingTimes(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListScheduleMatchingTimes", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListScheduleMatchingTimes), arg0, arg1) +} + +// ListSchedules mocks base method. +func (m *MockWorkflowServiceServer) ListSchedules(arg0 context.Context, arg1 *workflowservice.ListSchedulesRequest) (*workflowservice.ListSchedulesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListSchedules", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListSchedulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListSchedules indicates an expected call of ListSchedules. +func (mr *MockWorkflowServiceServerMockRecorder) ListSchedules(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListSchedules", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListSchedules), arg0, arg1) +} + +// ListTaskQueuePartitions mocks base method. +func (m *MockWorkflowServiceServer) ListTaskQueuePartitions(arg0 context.Context, arg1 *workflowservice.ListTaskQueuePartitionsRequest) (*workflowservice.ListTaskQueuePartitionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListTaskQueuePartitions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListTaskQueuePartitionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListTaskQueuePartitions indicates an expected call of ListTaskQueuePartitions. +func (mr *MockWorkflowServiceServerMockRecorder) ListTaskQueuePartitions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListTaskQueuePartitions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListTaskQueuePartitions), arg0, arg1) +} + +// ListWorkerDeployments mocks base method. +func (m *MockWorkflowServiceServer) ListWorkerDeployments(arg0 context.Context, arg1 *workflowservice.ListWorkerDeploymentsRequest) (*workflowservice.ListWorkerDeploymentsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListWorkerDeployments", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListWorkerDeploymentsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkerDeployments indicates an expected call of ListWorkerDeployments. +func (mr *MockWorkflowServiceServerMockRecorder) ListWorkerDeployments(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkerDeployments", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListWorkerDeployments), arg0, arg1) +} + +// ListWorkers mocks base method. +func (m *MockWorkflowServiceServer) ListWorkers(arg0 context.Context, arg1 *workflowservice.ListWorkersRequest) (*workflowservice.ListWorkersResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListWorkers", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListWorkersResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkers indicates an expected call of ListWorkers. +func (mr *MockWorkflowServiceServerMockRecorder) ListWorkers(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkers", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListWorkers), arg0, arg1) +} + +// ListWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceServer) ListWorkflowExecutions(arg0 context.Context, arg1 *workflowservice.ListWorkflowExecutionsRequest) (*workflowservice.ListWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListWorkflowExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkflowExecutions indicates an expected call of ListWorkflowExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) ListWorkflowExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListWorkflowExecutions), arg0, arg1) +} + +// ListWorkflowRules mocks base method. +func (m *MockWorkflowServiceServer) ListWorkflowRules(arg0 context.Context, arg1 *workflowservice.ListWorkflowRulesRequest) (*workflowservice.ListWorkflowRulesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ListWorkflowRules", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ListWorkflowRulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ListWorkflowRules indicates an expected call of ListWorkflowRules. +func (mr *MockWorkflowServiceServerMockRecorder) ListWorkflowRules(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ListWorkflowRules", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ListWorkflowRules), arg0, arg1) +} + +// PatchSchedule mocks base method. +func (m *MockWorkflowServiceServer) PatchSchedule(arg0 context.Context, arg1 *workflowservice.PatchScheduleRequest) (*workflowservice.PatchScheduleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PatchSchedule", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PatchScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PatchSchedule indicates an expected call of PatchSchedule. +func (mr *MockWorkflowServiceServerMockRecorder) PatchSchedule(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PatchSchedule", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PatchSchedule), arg0, arg1) +} + +// PauseActivity mocks base method. +func (m *MockWorkflowServiceServer) PauseActivity(arg0 context.Context, arg1 *workflowservice.PauseActivityRequest) (*workflowservice.PauseActivityResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PauseActivity", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PauseActivityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PauseActivity indicates an expected call of PauseActivity. +func (mr *MockWorkflowServiceServerMockRecorder) PauseActivity(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PauseActivity", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PauseActivity), arg0, arg1) +} + +// PauseActivityExecution mocks base method. +func (m *MockWorkflowServiceServer) PauseActivityExecution(arg0 context.Context, arg1 *workflowservice.PauseActivityExecutionRequest) (*workflowservice.PauseActivityExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PauseActivityExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PauseActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PauseActivityExecution indicates an expected call of PauseActivityExecution. +func (mr *MockWorkflowServiceServerMockRecorder) PauseActivityExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PauseActivityExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PauseActivityExecution), arg0, arg1) +} + +// PauseWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) PauseWorkflowExecution(arg0 context.Context, arg1 *workflowservice.PauseWorkflowExecutionRequest) (*workflowservice.PauseWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PauseWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PauseWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PauseWorkflowExecution indicates an expected call of PauseWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) PauseWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PauseWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PauseWorkflowExecution), arg0, arg1) +} + +// PollActivityExecution mocks base method. +func (m *MockWorkflowServiceServer) PollActivityExecution(arg0 context.Context, arg1 *workflowservice.PollActivityExecutionRequest) (*workflowservice.PollActivityExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PollActivityExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PollActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollActivityExecution indicates an expected call of PollActivityExecution. +func (mr *MockWorkflowServiceServerMockRecorder) PollActivityExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollActivityExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PollActivityExecution), arg0, arg1) +} + +// PollActivityTaskQueue mocks base method. +func (m *MockWorkflowServiceServer) PollActivityTaskQueue(arg0 context.Context, arg1 *workflowservice.PollActivityTaskQueueRequest) (*workflowservice.PollActivityTaskQueueResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PollActivityTaskQueue", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PollActivityTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollActivityTaskQueue indicates an expected call of PollActivityTaskQueue. +func (mr *MockWorkflowServiceServerMockRecorder) PollActivityTaskQueue(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollActivityTaskQueue", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PollActivityTaskQueue), arg0, arg1) +} + +// PollNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceServer) PollNexusOperationExecution(arg0 context.Context, arg1 *workflowservice.PollNexusOperationExecutionRequest) (*workflowservice.PollNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PollNexusOperationExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PollNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollNexusOperationExecution indicates an expected call of PollNexusOperationExecution. +func (mr *MockWorkflowServiceServerMockRecorder) PollNexusOperationExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PollNexusOperationExecution), arg0, arg1) +} + +// PollNexusTaskQueue mocks base method. +func (m *MockWorkflowServiceServer) PollNexusTaskQueue(arg0 context.Context, arg1 *workflowservice.PollNexusTaskQueueRequest) (*workflowservice.PollNexusTaskQueueResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PollNexusTaskQueue", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PollNexusTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollNexusTaskQueue indicates an expected call of PollNexusTaskQueue. +func (mr *MockWorkflowServiceServerMockRecorder) PollNexusTaskQueue(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollNexusTaskQueue", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PollNexusTaskQueue), arg0, arg1) +} + +// PollWorkflowExecutionUpdate mocks base method. +func (m *MockWorkflowServiceServer) PollWorkflowExecutionUpdate(arg0 context.Context, arg1 *workflowservice.PollWorkflowExecutionUpdateRequest) (*workflowservice.PollWorkflowExecutionUpdateResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PollWorkflowExecutionUpdate", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PollWorkflowExecutionUpdateResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollWorkflowExecutionUpdate indicates an expected call of PollWorkflowExecutionUpdate. +func (mr *MockWorkflowServiceServerMockRecorder) PollWorkflowExecutionUpdate(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollWorkflowExecutionUpdate", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PollWorkflowExecutionUpdate), arg0, arg1) +} + +// PollWorkflowTaskQueue mocks base method. +func (m *MockWorkflowServiceServer) PollWorkflowTaskQueue(arg0 context.Context, arg1 *workflowservice.PollWorkflowTaskQueueRequest) (*workflowservice.PollWorkflowTaskQueueResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "PollWorkflowTaskQueue", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.PollWorkflowTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// PollWorkflowTaskQueue indicates an expected call of PollWorkflowTaskQueue. +func (mr *MockWorkflowServiceServerMockRecorder) PollWorkflowTaskQueue(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "PollWorkflowTaskQueue", reflect.TypeOf((*MockWorkflowServiceServer)(nil).PollWorkflowTaskQueue), arg0, arg1) +} + +// QueryWorkflow mocks base method. +func (m *MockWorkflowServiceServer) QueryWorkflow(arg0 context.Context, arg1 *workflowservice.QueryWorkflowRequest) (*workflowservice.QueryWorkflowResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "QueryWorkflow", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.QueryWorkflowResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// QueryWorkflow indicates an expected call of QueryWorkflow. +func (mr *MockWorkflowServiceServerMockRecorder) QueryWorkflow(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "QueryWorkflow", reflect.TypeOf((*MockWorkflowServiceServer)(nil).QueryWorkflow), arg0, arg1) +} + +// RecordActivityTaskHeartbeat mocks base method. +func (m *MockWorkflowServiceServer) RecordActivityTaskHeartbeat(arg0 context.Context, arg1 *workflowservice.RecordActivityTaskHeartbeatRequest) (*workflowservice.RecordActivityTaskHeartbeatResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RecordActivityTaskHeartbeat", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RecordActivityTaskHeartbeatResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RecordActivityTaskHeartbeat indicates an expected call of RecordActivityTaskHeartbeat. +func (mr *MockWorkflowServiceServerMockRecorder) RecordActivityTaskHeartbeat(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecordActivityTaskHeartbeat", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RecordActivityTaskHeartbeat), arg0, arg1) +} + +// RecordActivityTaskHeartbeatById mocks base method. +func (m *MockWorkflowServiceServer) RecordActivityTaskHeartbeatById(arg0 context.Context, arg1 *workflowservice.RecordActivityTaskHeartbeatByIdRequest) (*workflowservice.RecordActivityTaskHeartbeatByIdResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RecordActivityTaskHeartbeatById", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RecordActivityTaskHeartbeatByIdResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RecordActivityTaskHeartbeatById indicates an expected call of RecordActivityTaskHeartbeatById. +func (mr *MockWorkflowServiceServerMockRecorder) RecordActivityTaskHeartbeatById(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecordActivityTaskHeartbeatById", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RecordActivityTaskHeartbeatById), arg0, arg1) +} + +// RecordWorkerHeartbeat mocks base method. +func (m *MockWorkflowServiceServer) RecordWorkerHeartbeat(arg0 context.Context, arg1 *workflowservice.RecordWorkerHeartbeatRequest) (*workflowservice.RecordWorkerHeartbeatResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RecordWorkerHeartbeat", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RecordWorkerHeartbeatResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RecordWorkerHeartbeat indicates an expected call of RecordWorkerHeartbeat. +func (mr *MockWorkflowServiceServerMockRecorder) RecordWorkerHeartbeat(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RecordWorkerHeartbeat", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RecordWorkerHeartbeat), arg0, arg1) +} + +// RegisterNamespace mocks base method. +func (m *MockWorkflowServiceServer) RegisterNamespace(arg0 context.Context, arg1 *workflowservice.RegisterNamespaceRequest) (*workflowservice.RegisterNamespaceResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RegisterNamespace", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RegisterNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RegisterNamespace indicates an expected call of RegisterNamespace. +func (mr *MockWorkflowServiceServerMockRecorder) RegisterNamespace(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RegisterNamespace", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RegisterNamespace), arg0, arg1) +} + +// RequestCancelActivityExecution mocks base method. +func (m *MockWorkflowServiceServer) RequestCancelActivityExecution(arg0 context.Context, arg1 *workflowservice.RequestCancelActivityExecutionRequest) (*workflowservice.RequestCancelActivityExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RequestCancelActivityExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RequestCancelActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RequestCancelActivityExecution indicates an expected call of RequestCancelActivityExecution. +func (mr *MockWorkflowServiceServerMockRecorder) RequestCancelActivityExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestCancelActivityExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RequestCancelActivityExecution), arg0, arg1) +} + +// RequestCancelNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceServer) RequestCancelNexusOperationExecution(arg0 context.Context, arg1 *workflowservice.RequestCancelNexusOperationExecutionRequest) (*workflowservice.RequestCancelNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RequestCancelNexusOperationExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RequestCancelNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RequestCancelNexusOperationExecution indicates an expected call of RequestCancelNexusOperationExecution. +func (mr *MockWorkflowServiceServerMockRecorder) RequestCancelNexusOperationExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestCancelNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RequestCancelNexusOperationExecution), arg0, arg1) +} + +// RequestCancelWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) RequestCancelWorkflowExecution(arg0 context.Context, arg1 *workflowservice.RequestCancelWorkflowExecutionRequest) (*workflowservice.RequestCancelWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RequestCancelWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RequestCancelWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RequestCancelWorkflowExecution indicates an expected call of RequestCancelWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) RequestCancelWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RequestCancelWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RequestCancelWorkflowExecution), arg0, arg1) +} + +// ResetActivity mocks base method. +func (m *MockWorkflowServiceServer) ResetActivity(arg0 context.Context, arg1 *workflowservice.ResetActivityRequest) (*workflowservice.ResetActivityResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ResetActivity", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ResetActivityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResetActivity indicates an expected call of ResetActivity. +func (mr *MockWorkflowServiceServerMockRecorder) ResetActivity(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResetActivity", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ResetActivity), arg0, arg1) +} + +// ResetActivityExecution mocks base method. +func (m *MockWorkflowServiceServer) ResetActivityExecution(arg0 context.Context, arg1 *workflowservice.ResetActivityExecutionRequest) (*workflowservice.ResetActivityExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ResetActivityExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ResetActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResetActivityExecution indicates an expected call of ResetActivityExecution. +func (mr *MockWorkflowServiceServerMockRecorder) ResetActivityExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResetActivityExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ResetActivityExecution), arg0, arg1) +} + +// ResetStickyTaskQueue mocks base method. +func (m *MockWorkflowServiceServer) ResetStickyTaskQueue(arg0 context.Context, arg1 *workflowservice.ResetStickyTaskQueueRequest) (*workflowservice.ResetStickyTaskQueueResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ResetStickyTaskQueue", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ResetStickyTaskQueueResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResetStickyTaskQueue indicates an expected call of ResetStickyTaskQueue. +func (mr *MockWorkflowServiceServerMockRecorder) ResetStickyTaskQueue(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResetStickyTaskQueue", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ResetStickyTaskQueue), arg0, arg1) +} + +// ResetWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) ResetWorkflowExecution(arg0 context.Context, arg1 *workflowservice.ResetWorkflowExecutionRequest) (*workflowservice.ResetWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ResetWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ResetWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ResetWorkflowExecution indicates an expected call of ResetWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) ResetWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ResetWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ResetWorkflowExecution), arg0, arg1) +} + +// RespondActivityTaskCanceled mocks base method. +func (m *MockWorkflowServiceServer) RespondActivityTaskCanceled(arg0 context.Context, arg1 *workflowservice.RespondActivityTaskCanceledRequest) (*workflowservice.RespondActivityTaskCanceledResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondActivityTaskCanceled", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskCanceledResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskCanceled indicates an expected call of RespondActivityTaskCanceled. +func (mr *MockWorkflowServiceServerMockRecorder) RespondActivityTaskCanceled(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskCanceled", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondActivityTaskCanceled), arg0, arg1) +} + +// RespondActivityTaskCanceledById mocks base method. +func (m *MockWorkflowServiceServer) RespondActivityTaskCanceledById(arg0 context.Context, arg1 *workflowservice.RespondActivityTaskCanceledByIdRequest) (*workflowservice.RespondActivityTaskCanceledByIdResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondActivityTaskCanceledById", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskCanceledByIdResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskCanceledById indicates an expected call of RespondActivityTaskCanceledById. +func (mr *MockWorkflowServiceServerMockRecorder) RespondActivityTaskCanceledById(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskCanceledById", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondActivityTaskCanceledById), arg0, arg1) +} + +// RespondActivityTaskCompleted mocks base method. +func (m *MockWorkflowServiceServer) RespondActivityTaskCompleted(arg0 context.Context, arg1 *workflowservice.RespondActivityTaskCompletedRequest) (*workflowservice.RespondActivityTaskCompletedResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondActivityTaskCompleted", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskCompletedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskCompleted indicates an expected call of RespondActivityTaskCompleted. +func (mr *MockWorkflowServiceServerMockRecorder) RespondActivityTaskCompleted(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskCompleted", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondActivityTaskCompleted), arg0, arg1) +} + +// RespondActivityTaskCompletedById mocks base method. +func (m *MockWorkflowServiceServer) RespondActivityTaskCompletedById(arg0 context.Context, arg1 *workflowservice.RespondActivityTaskCompletedByIdRequest) (*workflowservice.RespondActivityTaskCompletedByIdResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondActivityTaskCompletedById", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskCompletedByIdResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskCompletedById indicates an expected call of RespondActivityTaskCompletedById. +func (mr *MockWorkflowServiceServerMockRecorder) RespondActivityTaskCompletedById(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskCompletedById", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondActivityTaskCompletedById), arg0, arg1) +} + +// RespondActivityTaskFailed mocks base method. +func (m *MockWorkflowServiceServer) RespondActivityTaskFailed(arg0 context.Context, arg1 *workflowservice.RespondActivityTaskFailedRequest) (*workflowservice.RespondActivityTaskFailedResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondActivityTaskFailed", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskFailedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskFailed indicates an expected call of RespondActivityTaskFailed. +func (mr *MockWorkflowServiceServerMockRecorder) RespondActivityTaskFailed(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskFailed", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondActivityTaskFailed), arg0, arg1) +} + +// RespondActivityTaskFailedById mocks base method. +func (m *MockWorkflowServiceServer) RespondActivityTaskFailedById(arg0 context.Context, arg1 *workflowservice.RespondActivityTaskFailedByIdRequest) (*workflowservice.RespondActivityTaskFailedByIdResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondActivityTaskFailedById", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondActivityTaskFailedByIdResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondActivityTaskFailedById indicates an expected call of RespondActivityTaskFailedById. +func (mr *MockWorkflowServiceServerMockRecorder) RespondActivityTaskFailedById(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondActivityTaskFailedById", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondActivityTaskFailedById), arg0, arg1) +} + +// RespondNexusTaskCompleted mocks base method. +func (m *MockWorkflowServiceServer) RespondNexusTaskCompleted(arg0 context.Context, arg1 *workflowservice.RespondNexusTaskCompletedRequest) (*workflowservice.RespondNexusTaskCompletedResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondNexusTaskCompleted", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondNexusTaskCompletedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondNexusTaskCompleted indicates an expected call of RespondNexusTaskCompleted. +func (mr *MockWorkflowServiceServerMockRecorder) RespondNexusTaskCompleted(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondNexusTaskCompleted", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondNexusTaskCompleted), arg0, arg1) +} + +// RespondNexusTaskFailed mocks base method. +func (m *MockWorkflowServiceServer) RespondNexusTaskFailed(arg0 context.Context, arg1 *workflowservice.RespondNexusTaskFailedRequest) (*workflowservice.RespondNexusTaskFailedResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondNexusTaskFailed", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondNexusTaskFailedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondNexusTaskFailed indicates an expected call of RespondNexusTaskFailed. +func (mr *MockWorkflowServiceServerMockRecorder) RespondNexusTaskFailed(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondNexusTaskFailed", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondNexusTaskFailed), arg0, arg1) +} + +// RespondQueryTaskCompleted mocks base method. +func (m *MockWorkflowServiceServer) RespondQueryTaskCompleted(arg0 context.Context, arg1 *workflowservice.RespondQueryTaskCompletedRequest) (*workflowservice.RespondQueryTaskCompletedResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondQueryTaskCompleted", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondQueryTaskCompletedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondQueryTaskCompleted indicates an expected call of RespondQueryTaskCompleted. +func (mr *MockWorkflowServiceServerMockRecorder) RespondQueryTaskCompleted(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondQueryTaskCompleted", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondQueryTaskCompleted), arg0, arg1) +} + +// RespondWorkflowTaskCompleted mocks base method. +func (m *MockWorkflowServiceServer) RespondWorkflowTaskCompleted(arg0 context.Context, arg1 *workflowservice.RespondWorkflowTaskCompletedRequest) (*workflowservice.RespondWorkflowTaskCompletedResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondWorkflowTaskCompleted", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondWorkflowTaskCompletedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondWorkflowTaskCompleted indicates an expected call of RespondWorkflowTaskCompleted. +func (mr *MockWorkflowServiceServerMockRecorder) RespondWorkflowTaskCompleted(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondWorkflowTaskCompleted", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondWorkflowTaskCompleted), arg0, arg1) +} + +// RespondWorkflowTaskFailed mocks base method. +func (m *MockWorkflowServiceServer) RespondWorkflowTaskFailed(arg0 context.Context, arg1 *workflowservice.RespondWorkflowTaskFailedRequest) (*workflowservice.RespondWorkflowTaskFailedResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "RespondWorkflowTaskFailed", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.RespondWorkflowTaskFailedResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// RespondWorkflowTaskFailed indicates an expected call of RespondWorkflowTaskFailed. +func (mr *MockWorkflowServiceServerMockRecorder) RespondWorkflowTaskFailed(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "RespondWorkflowTaskFailed", reflect.TypeOf((*MockWorkflowServiceServer)(nil).RespondWorkflowTaskFailed), arg0, arg1) +} + +// ScanWorkflowExecutions mocks base method. +func (m *MockWorkflowServiceServer) ScanWorkflowExecutions(arg0 context.Context, arg1 *workflowservice.ScanWorkflowExecutionsRequest) (*workflowservice.ScanWorkflowExecutionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ScanWorkflowExecutions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ScanWorkflowExecutionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ScanWorkflowExecutions indicates an expected call of ScanWorkflowExecutions. +func (mr *MockWorkflowServiceServerMockRecorder) ScanWorkflowExecutions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ScanWorkflowExecutions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ScanWorkflowExecutions), arg0, arg1) +} + +// SetCurrentDeployment mocks base method. +func (m *MockWorkflowServiceServer) SetCurrentDeployment(arg0 context.Context, arg1 *workflowservice.SetCurrentDeploymentRequest) (*workflowservice.SetCurrentDeploymentResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SetCurrentDeployment", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.SetCurrentDeploymentResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetCurrentDeployment indicates an expected call of SetCurrentDeployment. +func (mr *MockWorkflowServiceServerMockRecorder) SetCurrentDeployment(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetCurrentDeployment", reflect.TypeOf((*MockWorkflowServiceServer)(nil).SetCurrentDeployment), arg0, arg1) +} + +// SetWorkerDeploymentCurrentVersion mocks base method. +func (m *MockWorkflowServiceServer) SetWorkerDeploymentCurrentVersion(arg0 context.Context, arg1 *workflowservice.SetWorkerDeploymentCurrentVersionRequest) (*workflowservice.SetWorkerDeploymentCurrentVersionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SetWorkerDeploymentCurrentVersion", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.SetWorkerDeploymentCurrentVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetWorkerDeploymentCurrentVersion indicates an expected call of SetWorkerDeploymentCurrentVersion. +func (mr *MockWorkflowServiceServerMockRecorder) SetWorkerDeploymentCurrentVersion(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetWorkerDeploymentCurrentVersion", reflect.TypeOf((*MockWorkflowServiceServer)(nil).SetWorkerDeploymentCurrentVersion), arg0, arg1) +} + +// SetWorkerDeploymentManager mocks base method. +func (m *MockWorkflowServiceServer) SetWorkerDeploymentManager(arg0 context.Context, arg1 *workflowservice.SetWorkerDeploymentManagerRequest) (*workflowservice.SetWorkerDeploymentManagerResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SetWorkerDeploymentManager", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.SetWorkerDeploymentManagerResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetWorkerDeploymentManager indicates an expected call of SetWorkerDeploymentManager. +func (mr *MockWorkflowServiceServerMockRecorder) SetWorkerDeploymentManager(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetWorkerDeploymentManager", reflect.TypeOf((*MockWorkflowServiceServer)(nil).SetWorkerDeploymentManager), arg0, arg1) +} + +// SetWorkerDeploymentRampingVersion mocks base method. +func (m *MockWorkflowServiceServer) SetWorkerDeploymentRampingVersion(arg0 context.Context, arg1 *workflowservice.SetWorkerDeploymentRampingVersionRequest) (*workflowservice.SetWorkerDeploymentRampingVersionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SetWorkerDeploymentRampingVersion", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.SetWorkerDeploymentRampingVersionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SetWorkerDeploymentRampingVersion indicates an expected call of SetWorkerDeploymentRampingVersion. +func (mr *MockWorkflowServiceServerMockRecorder) SetWorkerDeploymentRampingVersion(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SetWorkerDeploymentRampingVersion", reflect.TypeOf((*MockWorkflowServiceServer)(nil).SetWorkerDeploymentRampingVersion), arg0, arg1) +} + +// ShutdownWorker mocks base method. +func (m *MockWorkflowServiceServer) ShutdownWorker(arg0 context.Context, arg1 *workflowservice.ShutdownWorkerRequest) (*workflowservice.ShutdownWorkerResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ShutdownWorker", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ShutdownWorkerResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ShutdownWorker indicates an expected call of ShutdownWorker. +func (mr *MockWorkflowServiceServerMockRecorder) ShutdownWorker(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ShutdownWorker", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ShutdownWorker), arg0, arg1) +} + +// SignalWithStartWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) SignalWithStartWorkflowExecution(arg0 context.Context, arg1 *workflowservice.SignalWithStartWorkflowExecutionRequest) (*workflowservice.SignalWithStartWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SignalWithStartWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.SignalWithStartWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SignalWithStartWorkflowExecution indicates an expected call of SignalWithStartWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) SignalWithStartWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SignalWithStartWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).SignalWithStartWorkflowExecution), arg0, arg1) +} + +// SignalWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) SignalWorkflowExecution(arg0 context.Context, arg1 *workflowservice.SignalWorkflowExecutionRequest) (*workflowservice.SignalWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "SignalWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.SignalWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// SignalWorkflowExecution indicates an expected call of SignalWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) SignalWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "SignalWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).SignalWorkflowExecution), arg0, arg1) +} + +// StartActivityExecution mocks base method. +func (m *MockWorkflowServiceServer) StartActivityExecution(arg0 context.Context, arg1 *workflowservice.StartActivityExecutionRequest) (*workflowservice.StartActivityExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "StartActivityExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.StartActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartActivityExecution indicates an expected call of StartActivityExecution. +func (mr *MockWorkflowServiceServerMockRecorder) StartActivityExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartActivityExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).StartActivityExecution), arg0, arg1) +} + +// StartBatchOperation mocks base method. +func (m *MockWorkflowServiceServer) StartBatchOperation(arg0 context.Context, arg1 *workflowservice.StartBatchOperationRequest) (*workflowservice.StartBatchOperationResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "StartBatchOperation", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.StartBatchOperationResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartBatchOperation indicates an expected call of StartBatchOperation. +func (mr *MockWorkflowServiceServerMockRecorder) StartBatchOperation(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartBatchOperation", reflect.TypeOf((*MockWorkflowServiceServer)(nil).StartBatchOperation), arg0, arg1) +} + +// StartNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceServer) StartNexusOperationExecution(arg0 context.Context, arg1 *workflowservice.StartNexusOperationExecutionRequest) (*workflowservice.StartNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "StartNexusOperationExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.StartNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartNexusOperationExecution indicates an expected call of StartNexusOperationExecution. +func (mr *MockWorkflowServiceServerMockRecorder) StartNexusOperationExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).StartNexusOperationExecution), arg0, arg1) +} + +// StartWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) StartWorkflowExecution(arg0 context.Context, arg1 *workflowservice.StartWorkflowExecutionRequest) (*workflowservice.StartWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "StartWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.StartWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StartWorkflowExecution indicates an expected call of StartWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) StartWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StartWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).StartWorkflowExecution), arg0, arg1) +} + +// StopBatchOperation mocks base method. +func (m *MockWorkflowServiceServer) StopBatchOperation(arg0 context.Context, arg1 *workflowservice.StopBatchOperationRequest) (*workflowservice.StopBatchOperationResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "StopBatchOperation", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.StopBatchOperationResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// StopBatchOperation indicates an expected call of StopBatchOperation. +func (mr *MockWorkflowServiceServerMockRecorder) StopBatchOperation(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StopBatchOperation", reflect.TypeOf((*MockWorkflowServiceServer)(nil).StopBatchOperation), arg0, arg1) +} + +// TerminateActivityExecution mocks base method. +func (m *MockWorkflowServiceServer) TerminateActivityExecution(arg0 context.Context, arg1 *workflowservice.TerminateActivityExecutionRequest) (*workflowservice.TerminateActivityExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TerminateActivityExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.TerminateActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// TerminateActivityExecution indicates an expected call of TerminateActivityExecution. +func (mr *MockWorkflowServiceServerMockRecorder) TerminateActivityExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TerminateActivityExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).TerminateActivityExecution), arg0, arg1) +} + +// TerminateNexusOperationExecution mocks base method. +func (m *MockWorkflowServiceServer) TerminateNexusOperationExecution(arg0 context.Context, arg1 *workflowservice.TerminateNexusOperationExecutionRequest) (*workflowservice.TerminateNexusOperationExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TerminateNexusOperationExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.TerminateNexusOperationExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// TerminateNexusOperationExecution indicates an expected call of TerminateNexusOperationExecution. +func (mr *MockWorkflowServiceServerMockRecorder) TerminateNexusOperationExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TerminateNexusOperationExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).TerminateNexusOperationExecution), arg0, arg1) +} + +// TerminateWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) TerminateWorkflowExecution(arg0 context.Context, arg1 *workflowservice.TerminateWorkflowExecutionRequest) (*workflowservice.TerminateWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TerminateWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.TerminateWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// TerminateWorkflowExecution indicates an expected call of TerminateWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) TerminateWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TerminateWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).TerminateWorkflowExecution), arg0, arg1) +} + +// TriggerWorkflowRule mocks base method. +func (m *MockWorkflowServiceServer) TriggerWorkflowRule(arg0 context.Context, arg1 *workflowservice.TriggerWorkflowRuleRequest) (*workflowservice.TriggerWorkflowRuleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "TriggerWorkflowRule", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.TriggerWorkflowRuleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// TriggerWorkflowRule indicates an expected call of TriggerWorkflowRule. +func (mr *MockWorkflowServiceServerMockRecorder) TriggerWorkflowRule(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "TriggerWorkflowRule", reflect.TypeOf((*MockWorkflowServiceServer)(nil).TriggerWorkflowRule), arg0, arg1) +} + +// UnpauseActivity mocks base method. +func (m *MockWorkflowServiceServer) UnpauseActivity(arg0 context.Context, arg1 *workflowservice.UnpauseActivityRequest) (*workflowservice.UnpauseActivityResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UnpauseActivity", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UnpauseActivityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UnpauseActivity indicates an expected call of UnpauseActivity. +func (mr *MockWorkflowServiceServerMockRecorder) UnpauseActivity(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnpauseActivity", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UnpauseActivity), arg0, arg1) +} + +// UnpauseActivityExecution mocks base method. +func (m *MockWorkflowServiceServer) UnpauseActivityExecution(arg0 context.Context, arg1 *workflowservice.UnpauseActivityExecutionRequest) (*workflowservice.UnpauseActivityExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UnpauseActivityExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UnpauseActivityExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UnpauseActivityExecution indicates an expected call of UnpauseActivityExecution. +func (mr *MockWorkflowServiceServerMockRecorder) UnpauseActivityExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnpauseActivityExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UnpauseActivityExecution), arg0, arg1) +} + +// UnpauseWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) UnpauseWorkflowExecution(arg0 context.Context, arg1 *workflowservice.UnpauseWorkflowExecutionRequest) (*workflowservice.UnpauseWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UnpauseWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UnpauseWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UnpauseWorkflowExecution indicates an expected call of UnpauseWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) UnpauseWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnpauseWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UnpauseWorkflowExecution), arg0, arg1) +} + +// UpdateActivityExecutionOptions mocks base method. +func (m *MockWorkflowServiceServer) UpdateActivityExecutionOptions(arg0 context.Context, arg1 *workflowservice.UpdateActivityExecutionOptionsRequest) (*workflowservice.UpdateActivityExecutionOptionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateActivityExecutionOptions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateActivityExecutionOptionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateActivityExecutionOptions indicates an expected call of UpdateActivityExecutionOptions. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateActivityExecutionOptions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateActivityExecutionOptions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateActivityExecutionOptions), arg0, arg1) +} + +// UpdateActivityOptions mocks base method. +func (m *MockWorkflowServiceServer) UpdateActivityOptions(arg0 context.Context, arg1 *workflowservice.UpdateActivityOptionsRequest) (*workflowservice.UpdateActivityOptionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateActivityOptions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateActivityOptionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateActivityOptions indicates an expected call of UpdateActivityOptions. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateActivityOptions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateActivityOptions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateActivityOptions), arg0, arg1) +} + +// UpdateNamespace mocks base method. +func (m *MockWorkflowServiceServer) UpdateNamespace(arg0 context.Context, arg1 *workflowservice.UpdateNamespaceRequest) (*workflowservice.UpdateNamespaceResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateNamespace", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateNamespaceResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateNamespace indicates an expected call of UpdateNamespace. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateNamespace(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateNamespace", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateNamespace), arg0, arg1) +} + +// UpdateSchedule mocks base method. +func (m *MockWorkflowServiceServer) UpdateSchedule(arg0 context.Context, arg1 *workflowservice.UpdateScheduleRequest) (*workflowservice.UpdateScheduleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateSchedule", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateScheduleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateSchedule indicates an expected call of UpdateSchedule. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateSchedule(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateSchedule", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateSchedule), arg0, arg1) +} + +// UpdateTaskQueueConfig mocks base method. +func (m *MockWorkflowServiceServer) UpdateTaskQueueConfig(arg0 context.Context, arg1 *workflowservice.UpdateTaskQueueConfigRequest) (*workflowservice.UpdateTaskQueueConfigResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateTaskQueueConfig", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateTaskQueueConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateTaskQueueConfig indicates an expected call of UpdateTaskQueueConfig. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateTaskQueueConfig(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateTaskQueueConfig", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateTaskQueueConfig), arg0, arg1) +} + +// UpdateWorkerBuildIdCompatibility mocks base method. +func (m *MockWorkflowServiceServer) UpdateWorkerBuildIdCompatibility(arg0 context.Context, arg1 *workflowservice.UpdateWorkerBuildIdCompatibilityRequest) (*workflowservice.UpdateWorkerBuildIdCompatibilityResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWorkerBuildIdCompatibility", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerBuildIdCompatibilityResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerBuildIdCompatibility indicates an expected call of UpdateWorkerBuildIdCompatibility. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateWorkerBuildIdCompatibility(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerBuildIdCompatibility", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateWorkerBuildIdCompatibility), arg0, arg1) +} + +// UpdateWorkerConfig mocks base method. +func (m *MockWorkflowServiceServer) UpdateWorkerConfig(arg0 context.Context, arg1 *workflowservice.UpdateWorkerConfigRequest) (*workflowservice.UpdateWorkerConfigResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWorkerConfig", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerConfig indicates an expected call of UpdateWorkerConfig. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateWorkerConfig(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerConfig", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateWorkerConfig), arg0, arg1) +} + +// UpdateWorkerDeploymentVersionComputeConfig mocks base method. +func (m *MockWorkflowServiceServer) UpdateWorkerDeploymentVersionComputeConfig(arg0 context.Context, arg1 *workflowservice.UpdateWorkerDeploymentVersionComputeConfigRequest) (*workflowservice.UpdateWorkerDeploymentVersionComputeConfigResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWorkerDeploymentVersionComputeConfig", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerDeploymentVersionComputeConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerDeploymentVersionComputeConfig indicates an expected call of UpdateWorkerDeploymentVersionComputeConfig. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateWorkerDeploymentVersionComputeConfig(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerDeploymentVersionComputeConfig", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateWorkerDeploymentVersionComputeConfig), arg0, arg1) +} + +// UpdateWorkerDeploymentVersionMetadata mocks base method. +func (m *MockWorkflowServiceServer) UpdateWorkerDeploymentVersionMetadata(arg0 context.Context, arg1 *workflowservice.UpdateWorkerDeploymentVersionMetadataRequest) (*workflowservice.UpdateWorkerDeploymentVersionMetadataResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWorkerDeploymentVersionMetadata", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerDeploymentVersionMetadataResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerDeploymentVersionMetadata indicates an expected call of UpdateWorkerDeploymentVersionMetadata. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateWorkerDeploymentVersionMetadata(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerDeploymentVersionMetadata", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateWorkerDeploymentVersionMetadata), arg0, arg1) +} + +// UpdateWorkerVersioningRules mocks base method. +func (m *MockWorkflowServiceServer) UpdateWorkerVersioningRules(arg0 context.Context, arg1 *workflowservice.UpdateWorkerVersioningRulesRequest) (*workflowservice.UpdateWorkerVersioningRulesResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWorkerVersioningRules", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateWorkerVersioningRulesResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkerVersioningRules indicates an expected call of UpdateWorkerVersioningRules. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateWorkerVersioningRules(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkerVersioningRules", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateWorkerVersioningRules), arg0, arg1) +} + +// UpdateWorkflowExecution mocks base method. +func (m *MockWorkflowServiceServer) UpdateWorkflowExecution(arg0 context.Context, arg1 *workflowservice.UpdateWorkflowExecutionRequest) (*workflowservice.UpdateWorkflowExecutionResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWorkflowExecution", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateWorkflowExecutionResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkflowExecution indicates an expected call of UpdateWorkflowExecution. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateWorkflowExecution(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkflowExecution", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateWorkflowExecution), arg0, arg1) +} + +// UpdateWorkflowExecutionOptions mocks base method. +func (m *MockWorkflowServiceServer) UpdateWorkflowExecutionOptions(arg0 context.Context, arg1 *workflowservice.UpdateWorkflowExecutionOptionsRequest) (*workflowservice.UpdateWorkflowExecutionOptionsResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UpdateWorkflowExecutionOptions", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.UpdateWorkflowExecutionOptionsResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UpdateWorkflowExecutionOptions indicates an expected call of UpdateWorkflowExecutionOptions. +func (mr *MockWorkflowServiceServerMockRecorder) UpdateWorkflowExecutionOptions(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UpdateWorkflowExecutionOptions", reflect.TypeOf((*MockWorkflowServiceServer)(nil).UpdateWorkflowExecutionOptions), arg0, arg1) +} + +// ValidateWorkerDeploymentVersionComputeConfig mocks base method. +func (m *MockWorkflowServiceServer) ValidateWorkerDeploymentVersionComputeConfig(arg0 context.Context, arg1 *workflowservice.ValidateWorkerDeploymentVersionComputeConfigRequest) (*workflowservice.ValidateWorkerDeploymentVersionComputeConfigResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "ValidateWorkerDeploymentVersionComputeConfig", arg0, arg1) + ret0, _ := ret[0].(*workflowservice.ValidateWorkerDeploymentVersionComputeConfigResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// ValidateWorkerDeploymentVersionComputeConfig indicates an expected call of ValidateWorkerDeploymentVersionComputeConfig. +func (mr *MockWorkflowServiceServerMockRecorder) ValidateWorkerDeploymentVersionComputeConfig(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "ValidateWorkerDeploymentVersionComputeConfig", reflect.TypeOf((*MockWorkflowServiceServer)(nil).ValidateWorkerDeploymentVersionComputeConfig), arg0, arg1) +} + +// mustEmbedUnimplementedWorkflowServiceServer mocks base method. +func (m *MockWorkflowServiceServer) mustEmbedUnimplementedWorkflowServiceServer() { + m.ctrl.T.Helper() + m.ctrl.Call(m, "mustEmbedUnimplementedWorkflowServiceServer") +} + +// mustEmbedUnimplementedWorkflowServiceServer indicates an expected call of mustEmbedUnimplementedWorkflowServiceServer. +func (mr *MockWorkflowServiceServerMockRecorder) mustEmbedUnimplementedWorkflowServiceServer() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedWorkflowServiceServer", reflect.TypeOf((*MockWorkflowServiceServer)(nil).mustEmbedUnimplementedWorkflowServiceServer)) +} + +// MockUnsafeWorkflowServiceServer is a mock of UnsafeWorkflowServiceServer interface. +type MockUnsafeWorkflowServiceServer struct { + ctrl *gomock.Controller + recorder *MockUnsafeWorkflowServiceServerMockRecorder +} + +// MockUnsafeWorkflowServiceServerMockRecorder is the mock recorder for MockUnsafeWorkflowServiceServer. +type MockUnsafeWorkflowServiceServerMockRecorder struct { + mock *MockUnsafeWorkflowServiceServer +} + +// NewMockUnsafeWorkflowServiceServer creates a new mock instance. +func NewMockUnsafeWorkflowServiceServer(ctrl *gomock.Controller) *MockUnsafeWorkflowServiceServer { + mock := &MockUnsafeWorkflowServiceServer{ctrl: ctrl} + mock.recorder = &MockUnsafeWorkflowServiceServerMockRecorder{mock} + return mock +} + +// EXPECT returns an object that allows the caller to indicate expected use. +func (m *MockUnsafeWorkflowServiceServer) EXPECT() *MockUnsafeWorkflowServiceServerMockRecorder { + return m.recorder +} + +// mustEmbedUnimplementedWorkflowServiceServer mocks base method. +func (m *MockUnsafeWorkflowServiceServer) mustEmbedUnimplementedWorkflowServiceServer() { + m.ctrl.T.Helper() + m.ctrl.Call(m, "mustEmbedUnimplementedWorkflowServiceServer") +} + +// mustEmbedUnimplementedWorkflowServiceServer indicates an expected call of mustEmbedUnimplementedWorkflowServiceServer. +func (mr *MockUnsafeWorkflowServiceServerMockRecorder) mustEmbedUnimplementedWorkflowServiceServer() *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedWorkflowServiceServer", reflect.TypeOf((*MockUnsafeWorkflowServiceServer)(nil).mustEmbedUnimplementedWorkflowServiceServer)) +} diff --git a/cmd/README.md b/cmd/README.md index 398f5bb5..dfc7183c 100644 --- a/cmd/README.md +++ b/cmd/README.md @@ -20,3 +20,21 @@ For structs we generate implementations of: For enumerated types we generate a `FromString` method that instantiates the enum from either the old `PascalCase` string we have always supported or the `SCREAMING_SNAKE` string generated by protojson. + +### experimentgen + +This tool generates the small experimental `api-go` side modules used to expose either additive +service RPCs or wrappers for new fields on existing stable messages under `experimental/`. + +Example: + +`go run ./cmd/experimentgen -variant example -api-sha ` + +The command writes to `experimental/` and clears that target before regenerating it. + +Generated modules can contain: +- `register.go` and `client.go` for additive RPCs such as `Echo` +- `wrapper.go` for accessors that read and write experimental fields on stable messages via + protobuf unknown fields, such as `StartWorkflowExecutionRequest.foo` +- `enum.go` for additive values on existing stable enums, such as + `WORKFLOW_ID_CONFLICT_POLICY_FOO` diff --git a/proto/api b/proto/api index 8e0453c3..42fafcb8 160000 --- a/proto/api +++ b/proto/api @@ -1 +1 @@ -Subproject commit 8e0453c3a17693d7abb78853c3ccccf0c632e782 +Subproject commit 42fafcb8f592ebee588389f3fb235ce3f76ab4d6